-
- Так нельзя полноценно управлять двигателем. Торможение
обеспечиваться не будет. - Yurasvs(08.02.2024 21:23)
- Для торможения просто коротим нафиг… Не? - Eddy_Em(08.02.2024 21:55)
- Вот чтобы закоротить, и надо обе стойки в одинаковое положение
поставить, либо вверх, либо вниз. Отпускать мотор нельзя, обратные
диоды моста проводят ток только ограниченное время, а далее выбег и
никакой управляемости (режим разрывного тока, очень нелинейный, и
внешняя характеристика мотора теряет жесткость ). - Yurasvs(08.02.2024 23:02)
- Так вырубаем таймер, перенастраиваем ноги в GPIO - и вперде! - Eddy_Em(09.02.2024 00:10)
- Не нужно этого. Просто 2 регистра сравнения на одном таймере,
каждый управляет своей стойкой с помощью двух противофазных выходов
с аппаратным дедтаймом. Этого достаточно, чтобы управлять выходами
в любой комбинации. - Yurasvs(09.02.2024 07:37)
- Ниже еще вчера написал. - my504(09.02.2024 09:54)
- Да, я тут просто с позиции управления обычным двиглом постоянного тока.. Двигателями переменного никогда не занимался, вот и туплю... - Eddy_Em(09.02.2024 08:58)
- Не нужно этого. Просто 2 регистра сравнения на одном таймере,
каждый управляет своей стойкой с помощью двух противофазных выходов
с аппаратным дедтаймом. Этого достаточно, чтобы управлять выходами
в любой комбинации. - Yurasvs(09.02.2024 07:37)
- Так вырубаем таймер, перенастраиваем ноги в GPIO - и вперде! - Eddy_Em(09.02.2024 00:10)
- Вот чтобы закоротить, и надо обе стойки в одинаковое положение
поставить, либо вверх, либо вниз. Отпускать мотор нельзя, обратные
диоды моста проводят ток только ограниченное время, а далее выбег и
никакой управляемости (режим разрывного тока, очень нелинейный, и
внешняя характеристика мотора теряет жесткость ). - Yurasvs(08.02.2024 23:02)
- Для торможения просто коротим нафиг… Не? - Eddy_Em(08.02.2024 21:55)
- Вы не поняли или я чето не понял. Я до компа доберусь картинку
нарисую. У st не даже намека на это, только hrtim или combine mode
у доработанных tim в свежих сериях мк. У меня старый мк 405. - klen(08.02.2024 13:54)
- Нашел картинку.. тут понятнее, три состояния канала шим а не два
как обычно , ток гонится вперед, потом самотеком потом взад, потом
самотеком, ..... st предлагает перемножать два таймера... klen(1 знак., 08.02.2024 14:09, картинка)
- Три дня возюкаюсь... сделать на одной частоте получилось...а с
управлением частотой и скважностью одновременно нечерезжопно
нет.... всеравно код в прерывпнии нужен для пересчета фазы. Гамно а
не таймеры. - klen(15.02.2024 10:45)
- Если нужно в более-менее широких пределах управлять частотой,
рекомендую связать два таймера (по возможности, господином сделать
32-битный можно, а уж рабом - 16-битный). Тогда можно будет у
главного таймера и ARR, и PSC при необходимости изменять, а у
рабского придется лишь CCx менять для изменения заполнения. И тогда
можно будет DMA второго дергать для генерирования синусоиды по
одному-единственному заранее вычисленному массиву данных, а DMA
первого плавно менять Eddy_Em(24 знак., 15.02.2024 10:53)
- вы не поверите! я так и сдедлал - только у этой идеивылезли еще
косяки - в итоге 5!!! КАРЛ !! АЖНОШ ПЯТЬ!!! таймеров. первый только
лишь для синхронного запуска двух ведущих. оба ведущих после
запуска выдают триггер на два ведомых в которые работают в режиме
одного импульса и от них запускаются на каждом периоде шима. во
втором ведомом триггер задержан на 180 градусов.... много букв в
прерываниях. осталось еще dma вкрутить... и выкинуть на помойку
взяв нормальный мк. klen(72 знак., 15.02.2024 13:22)
- Вы явно что-то делаете не так. Или, действительно, нужно посмотреть
в сторону "automotive" МК. Скажем, STM32G. - Eddy_Em(15.02.2024 14:44)
- я всегда все делаю не так - "так" и без меня куча народу сделает.
на stm32g это конечно изящно - так как там есть режим кобайна в
таймерах... а у меня задача на ch32v307 или на крайняк stm32f405. я
еще не сдался - c dma может и проканает. отпишусь чем чем эта
попоболь закончится. - klen(15.02.2024 15:13)
- "Не так" - значит неправильно. Я если честно не углублялся в детали реализации твоей задачи. На это надо время. Но мне кажется не должно быть никаких трудностей с изменением параметров сигнала (частота, скважность). Есть же в конце концов теневые регистры, которые и придуманы для того чтобы не было сбоев в выходных сигналах. Но не буду спорить - не готов углубляться в тему. - il-2(15.02.2024 15:23)
- я всегда все делаю не так - "так" и без меня куча народу сделает.
на stm32g это конечно изящно - так как там есть режим кобайна в
таймерах... а у меня задача на ch32v307 или на крайняк stm32f405. я
еще не сдался - c dma может и проканает. отпишусь чем чем эта
попоболь закончится. - klen(15.02.2024 15:13)
- Вы явно что-то делаете не так. Или, действительно, нужно посмотреть
в сторону "automotive" МК. Скажем, STM32G. - Eddy_Em(15.02.2024 14:44)
- вы не поверите! я так и сдедлал - только у этой идеивылезли еще
косяки - в итоге 5!!! КАРЛ !! АЖНОШ ПЯТЬ!!! таймеров. первый только
лишь для синхронного запуска двух ведущих. оба ведущих после
запуска выдают триггер на два ведомых в которые работают в режиме
одного импульса и от них запускаются на каждом периоде шима. во
втором ведомом триггер задержан на 180 градусов.... много букв в
прерываниях. осталось еще dma вкрутить... и выкинуть на помойку
взяв нормальный мк. klen(72 знак., 15.02.2024 13:22)
- Если нужно в более-менее широких пределах управлять частотой,
рекомендую связать два таймера (по возможности, господином сделать
32-битный можно, а уж рабом - 16-битный). Тогда можно будет у
главного таймера и ARR, и PSC при необходимости изменять, а у
рабского придется лишь CCx менять для изменения заполнения. И тогда
можно будет DMA второго дергать для генерирования синусоиды по
одному-единственному заранее вычисленному массиву данных, а DMA
первого плавно менять Eddy_Em(24 знак., 15.02.2024 10:53)
- Ну и где здесь 3-е состояние у СИГНАЛА управления??? Там обычные
ШИМы с мертвым временем. - il-2(08.02.2024 14:26)
- Нееееее..... есть третье когда оба транзистора в полумосте или
отключены как в мертвое время или два нижних или даа верхних в
обоих включены чтоб ток через диоды транзистров не ходил. - klen(08.02.2024 14:31)
- А что управление с МК прямо-прямо идет на затворы транзисторов? Или, всё таки, есть драйвер? - =L.A.=(11.02.2024 23:12)
- Это и делается пушпулом. Не нужно там третье состояние, иначе затвор будет в неустойчивом состоянии. - Eddy_Em(08.02.2024 14:53)
- И что, таймером такое никак? Не верю!!! На таймерах STM можно
выдать сигнал для вызова дьявола, и все аппаратно. Нарисуй
диаграммы, будет думать всей шоблой :-) - il-2(08.02.2024 14:39)
- Прикинул на бумажке - получается надо взять 2 классических
полумоста с мертвыми временами, которые делаются без проблем на
симметричном ШИМ - и как-то их синхронизировать. il-2(407 знак., 08.02.2024 15:05)
- таки да! ST и пишет - упс!мы забыли про это - используемый два
синхронизированных таймера в режиме выровнных по центру. но мы
осознали косяг и в новых версиях TIM1/TIM8 - combine mode - он
решает проблему без процессора. в старых - нужен или процессор или
DMA - klen(08.02.2024 15:29)
- Я так понимаю, что все это требуется только для управления машинами постоянного тока в режимах с реверсом, а для моста в управлении асинхронными машинами (векторное управление) противофазность полумостов задается в модуляции... И тогда все просто. - my504(08.02.2024 15:56)
- Не буду настаивать, т.к. надо погружаться в даташиты - но по моему ни процессора, ни ДМА не надо. А надо выход CC3 (нумерация условная - CC1,СС2 на генерацию ШИМ, CC3 с нужным сдвигом - на запуск 2-го таймера). Все должно работать без понуканий. - il-2(08.02.2024 15:46)
- таки да! ST и пишет - упс!мы забыли про это - используемый два
синхронизированных таймера в режиме выровнных по центру. но мы
осознали косяг и в новых версиях TIM1/TIM8 - combine mode - он
решает проблему без процессора. в старых - нужен или процессор или
DMA - klen(08.02.2024 15:29)
- Прикинул на бумажке - получается надо взять 2 классических
полумоста с мертвыми временами, которые делаются без проблем на
симметричном ШИМ - и как-то их синхронизировать. il-2(407 знак., 08.02.2024 15:05)
- Нееееее..... есть третье когда оба транзистора в полумосте или
отключены как в мертвое время или два нижних или даа верхних в
обоих включены чтоб ток через диоды транзистров не ходил. - klen(08.02.2024 14:31)
- Три дня возюкаюсь... сделать на одной частоте получилось...а с
управлением частотой и скважностью одновременно нечерезжопно
нет.... всеравно код в прерывпнии нужен для пересчета фазы. Гамно а
не таймеры. - klen(15.02.2024 10:45)
- Нашел картинку.. тут понятнее, три состояния канала шим а не два
как обычно , ток гонится вперед, потом самотеком потом взад, потом
самотеком, ..... st предлагает перемножать два таймера... klen(1 знак., 08.02.2024 14:09, картинка)
- Так нельзя полноценно управлять двигателем. Торможение
обеспечиваться не будет. - Yurasvs(08.02.2024 21:23)