Микроконтроллер, установленный на плате Arduino, не способен отдавать большой ток через свои пины. Что же делать, если необходимо управлять относительно мощными двигателями, например, для перемещения робота?
В таких случаях вместе с Arduino используют драйвер – силовую часть, управляемую платой и способную коммутировать большой ток. Самый известный такой драйвер для коллекторных двигателей – L298N!
3 комментария. Оставить новый
Отличная статья. Небольшое дополнение.
>>В некоторых случаях может получиться так, что при реверсе транзистор успеет открыться, но ему комплементарный ещё не закроется и возникнет короткое замыкание.
Лучше всего это смотреть на схеме моста. Из этой схемы видно, что первоначальная озвученная причина в статье не верна.
Предполагаю, что описанная компенсация нужна из-за наличия инертности тока в моторе (мотор по сути катушка индуктивности) и при резком изменении полярности подключенного тока мы заставляем ток, отдаваемый мотором\катушкой работать против ЭДС\питания. Из-за этого очень сильно просаживается питание и может привести к нестабильности\перезагрузке контроллера.
При этом рекомендация по исправлению дана верно:
>>Чтобы этого избежать, можно прижимать пины к одному напряжению на несколько миллисекунд и только потом выполнять реверс.
Открыв оба нижних или оба верхних транзистора одновременно мы, таким образом, замкнем мотор\катушку на саму себя и если дать немного времени (обождать несколько мс.) то побочный ток в результате короткого замыкания исчезнет и просадки не будет.
Здравствуйте! Благодарим вас за добавление ценной информации!
даа есть там сквозняки тока программно бороться…