Драйвер двигателя L298N с Nodemcu/ESP32

Я видел много руководств по драйверу двигателя L298N с nodemcu и ESP 32, которые представляют собой логические платы 3,3 В, где драйвер двигателя представляет собой логическую плату 5 В, теперь в Arduino при управлении скоростью 255 означает 5 В или даже высокий уровень означает 5 В. но в nodemcu/ESP32 это означает 3,3 В, поэтому мой вопрос в том, как это будет работать?

, 👍1


1 ответ


Лучший ответ:

0

Дело не в напряжении. Вы делаете базовое неверное предположение:

в Arduino при управлении скоростью 255 означает 5 В

Нет, это не так. 255 означает «Все время подавать логический ВЫСОКИЙ сигнал».

128 означает "Подавать логический ВЫСОКИЙ сигнал в 50 % случаев".

255 (или любое другое число) – это "рабочий цикл". сигнала ШИМ. Это цифровой сигнал, который может быть НИЗКИМ или ВЫСОКИМ, который быстро включается или выключается. Рабочий цикл определяет отношение времени включения ко времени выключения.

Вы не подаете напряжение — вы подаете сигнал ВКЛ/ВЫКЛ.

Пока ВЫСОКОЕ напряжение этого сигнала выше порога принимающего устройства (в данном случае L298N), оно будет воспринимать его как сигнал ВКЛ/ВЫКЛ.

Согласно таблице данных для L298, ВЫСОКИЙ логический порог (VIH ) составляет 2,3 В. Это означает, что все, что выше 2,3 В, рассматривается как ВКЛ, а все, что ниже, — как ВЫКЛ (на самом деле существует гистерезис, поэтому для переключения в ВЫКЛ напряжение должно упасть ниже 1,5 В).

Таким образом, ваши 3,3 В от NodeMCU выше этого порога включения, поэтому сигнал ВКЛ/ВЫКЛ PWM принимается должным образом как таковой.

Кстати, именно из-за этого ШИМ-сигнала двигатели издают скулящий звук при медленном запуске. Из-за этого наиболее подходящие драйверы двигателей запускают ШИМ на частоте выше 25 кГц вместо 500 Гц Arduino, так что гул находится выше порога человеческого слуха.

,

Объяснил с изюминкой! :, @arnab ghosh