iiv 29 30 июля Опубликовано 30 июля · Жалоба Добрый день, хочу управлять сразу четырмя быстрыми сервомоторами с одного контроллера (квадрокоптер). Для перехода через среднюю точку надо мониторить напряжение на свободной обмотке. Фактически одновременно у меня будет 4 канала, на каждом из которых мне надо измерять напряжение и выполнять прерывание, если это значение превысило, или наоборот пренизило значение (я знаю заранее вверх или вниз идет это напряжение на каждом канале). Хочется в это время делать другую работу и не дергать по одному измерению каждый канал, полностью забивая процессор. Компараторов там только 3, вроде через них не сделать, тем более, что только компаратором идеально не сделать, надо компаратор + DAC, а DAC там вообще только один. 4 контроллера ставить совсем не хотелось бы. Вдруг можно как-то мониторить проход напряжения сразу на 4-х каналах, посоветуйте, пожалуйста! Спасибо! ИИВ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 243 30 июля Опубликовано 30 июля · Жалоба Это в той же задаче про 40-60 каналов? И эти 4 канала - одни из них? Если да, то почему тогда просто не анализировать программно моменты перехода? Раз АЦП-потоки всё равно считываются в МК. И зачем ЦАП? Для задания гистерезиса? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 54 30 июля Опубликовано 30 июля · Жалоба 3 часа назад, iiv сказал: Для перехода через среднюю точку надо мониторить напряжение на свободной обмотке. Тут телепатию включать, с какой скоростью надо измерять? Длительность за которую должно пройти измерение? АЦП в данном МК 2 шт, которые работают в параллель, нужно 4 измерения, значит на каждый АЦП нужно по 2 измерения, если требуется фильтровать, то еще умножаем на N измерений для фильтрации... 3 часа назад, iiv сказал: 4 контроллера ставить совсем не хотелось бы А что поставьте, этот контроллер даже на али 2000р стоит, 8тыр на 1 квадрик - не бюджетно как-то))) 2 часа назад, jcxz сказал: Это в той же задаче про 40-60 каналов? Это еще что за ужОс?))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iiv 29 30 июля Опубликовано 30 июля · Жалоба 9 hours ago, jcxz said: Это в той же задаче про 40-60 каналов? И эти 4 канала - одни из них? не-не-не!!! Просто контроллер понравился, аналоговой перефирии много, и сразу на него захотелось перевести свое управление сервами квадрокоптера, которое еще на стародавней Atmega4808 с каждой на свой канал сделано. 9 hours ago, jcxz said: Раз АЦП-потоки всё равно считываются в МК. И зачем ЦАП? Для задания гистерезиса? либо ЦАПом гистерезис, либо в АЦП свои уровни по переключению в зависимости от режима тяги. У меня квадрокоптер довольно тяжелый (3кг) и на 10 дюймовых вентиляторах, при резком маневрировании надо очень точно соблюдать все гистерезисы на каждом моторе, иначе все греется адски. На атмеге я не успевал, хотя там компаратор с DACом есть. Моторы нужно синхронизовать по несущей частоте ШИМа, чтобы решать ту задачу, в которой 40-60 каналов, поэтому хочется на одном контроллере, а не на 4-х. На 4-х конечно можно, но вылезает проблема синхронизации, которую не сильно хотелось бы иметь. 7 hours ago, mantech said: Тут телепатию включать, с какой скоростью надо измерять? Длительность за которую должно пройти измерение? вроде по времени хватает, если 4 измерения попарно разбросать на два канала, то есть как раз 2МГц один комплект измерения. Но, к сожалению, сам контроллер довольно слабый и не потянет дальнейшие вычисления, если измерять и сразу принимать решение. Если бы можно было бы заслать в регистр когда трегернуть прерывание, то да, процессор бы был бы свободным и на нем много можно было бы сделать то, что я хочу. Мне надо успевать обслуживать винты при их 10 000 rpm, что примерно составляет 8*150*6 = 7200 переключений в секунду. В каждое такое переключение будет происходить примерно 280 измерений на каждом канале. Контроллер должен в реальном времени принимать решение когда переключаться, причем переключиться сразу как только значение на входе ADC добежало до искомого и успеть пересчитать куда с каким гистерезисом переключаться дальше. 7 hours ago, mantech said: А что поставьте, этот контроллер даже на али 2000р стоит, 8тыр на 1 квадрик - не бюджетно как-то))) не в деньгах дело, а в том, что надо все моторы синхронизовать по частоте их ШИМа, хотя скорость вращения и тяга на разных винтах могут сильно отличаться, но это уже для другой задачи, которая, кстати тут недавно тоже обсуждалась. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 54 30 июля Опубликовано 30 июля (изменено) · Жалоба 1 час назад, iiv сказал: а в том, что надо все моторы синхронизовать по частоте их ШИМа Я конечно не "летчик", но в чем проблема сделать каждому мотору свой контроллер,не такой навороченный, а по проще, с АЦП и шимами на каждую фазу движка (там 3 или 6 уже не помню) и управлять уже ими регулируя тягу? Изменено 30 июля пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iiv 29 30 июля Опубликовано 30 июля · Жалоба 3 hours ago, mantech said: Я конечно не "летчик", но в чем проблема сделать каждому мотору свой контроллер,не такой навороченный, а по проще, с АЦП и шимами на каждую фазу движка (там 3 или 6 уже не помню) и управлять уже ими регулируя тягу? на данный момент у меня именно так, но есть куча причин, по которым меня это не устраивает, часть из них я выше уже упоминал. Спасибо большое, mantech, что советуете, но, мы очень далеко ушли от исходной темы. Мне нужна только одна фича в техасовском mspm0g1507, про которую я вопрошаю, что у меня в заголовке этой темы. Если такой возможности в этом контроллере нет, я лучше воспользуюсь советами уважаемого jcxz, когда он с месяц назад мне советовал довольно жирные инфенионы, и на них решу эту задачу. Просто техасовский mspm0g1507 я уже развел, спаял и попробовал и на нем многое уже получилось, а XMC4502 и SPC58NH, которые советовал jcxz я еще даже до конца даташиты не прочитал и не факт, что с первого раза у меня там все гладко поедет, а время у меня поджимает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iiv 29 30 июля Опубликовано 30 июля · Жалоба Эх, не знал правильное слово, это оказывается называется window comparator, но мне это, к сожалению, не помогло. Quote The window comparator low and high threshold values are global for all channels and the window comparison feature can be enabled for each channel as needed using the WINCOMP bit in the MEMCTL register. Всем участвовавшим и сочувствовавшим огромное спасибо!!! Пошел читать инфенионовскую документацию. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 63 30 июля Опубликовано 30 июля · Жалоба On 7/30/2024 at 7:33 PM, iiv said: Пошел читать инфенионовскую документацию. Если вы из РФ, то лучше сначала посмотреть доступность оных. Они раньше то в РФ не сильно популярны были, а потому и особо не возил их никто. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 54 30 июля Опубликовано 30 июля · Жалоба 22 минуты назад, dimka76 сказал: Если вы из РФ, то лучше сначала посмотреть доступность оных. Да вроде есть, но цены конечно веселые))) https://zener.ru/shop/product/XMC4502F100K768ACXQMA1/ https://eicom.ru/product/XMC4502F100F768ACXQMA1 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться