Новости отладки регулятора скорости

Жизнь не перестает удивлять. Помимо всяких рабочих моментов в регуляторе вылезли вещи которые сложновато вообразить:

  • Симистор иногда сам открывается на весь полупериод. Хотя он понтовый 3Q snubberless (bta16-cwrg).
  • Прерывания ADC (после каждой выборки из 4 каналов), несмотря на передачу данных через DMA, съедают подозрительно много ресурсов. На остальное уже не хватает.

Это немного неожиданно, но не фатально. Будем лечить.

  • К симистору временно привернули снаббер (и он сразу заработал как надо). Дальше будем заменять управляющую опторазвязку MOC3023 на MOC3052. Натыкался в интернетах на такой странный рецепт.
  • Логику выборки из АЦП переделаем. Будем выгребать по DMA в цикле сразу 16х4 отсчетов, с прерыванием на середине и конце. А вместо таймера - поллинг внутри main (кривовато конечно, но в данных обстоятельствах приемлимо).

Победа всё ближе 😃

  • 612
Comments
SergejK

Как мне кажется, именно из-за обилия таких вот мелочей с высокоуровневым абстрагированием для микроконтроллеров дела по прежнему так себе. Контроллер то чаще всего ставят для решения весьма различных и критичных ко времени выполнения задач, а абстракция очень часто означает ограничение как по функционалу так и по скорости выполнения.