Согласование логического уровня
- Войдите на сайт для отправки комментариев
Втр, 27/08/2019 - 19:18
Доброго времени суток!
Я новичок в платформе ардуино и вообще радиотехники.
Для своего проекта использую ESP32 (по ряду причин).
Столкнулся с проблемой при управлении шаговым двигателем (частный случай).
На просторах интернета нашел несколько схем, позволяющих конвертировать логику из 3.3 в 5 Вольт и наоборот.
Поизучав статьи дорисовал схему.
Но все равно не уверен, насколько она верна. Помогите в ликбезе пожалуйста!
Земли контроллера и драйвера, объединить. Уровни конвертировать не обязательно. И так работать будет.
В нормальных драйверах моторов просто оптопары ставят.
У вас общий блок питания, так что земля и так общая (у всех STEP-UP, STEP-DOWN преобразуев IN- и OUT- это одно и тоже)
Логические уровни... драйверу, в основном, пофиг 3,3 или 5 вольт.
У вас общий блок питания, так что земля и так общая (у всех STEP-UP, STEP-DOWN преобразуев IN- и OUT- это одно и тоже)
Логические уровни... драйверу, в основном, пофиг 3,3 или 5 вольт.
Не у всех. Бывают изолированные преобразователи. Более того я даже крайне советую использовать такой для питания низковольтной части во избежание проблем. Иначе следующая тема будет "Помогите у меня контроллер все время перезагружается".
По теме - какие проблемы запитать логику драйвера от тех же 3.3В? В 99% случаев будет работать. В 1% случаев надо будет подправить сопротивления оптопар драйвера (это если вы будете использовать боле-менее профессиональные драйвера уровня DM542 и лучше). Но у меня например китайский 542 заработал от апельсины с 3.3В уровнем.
В качестве драйвера попробую TB67S109 а там логика напряжения от 4.75В до 5.25В (т.к. у меня три важных критерия: компактность, мощность и напряжение). Мотор 57 24-48V 3A 2.8 ньютонметра предполагается многократная кратковременная работах.
Нашел свой косяк на второй схеме: граунд преобразователя повесил на STEP-UP мотора, а надо было на STEP-DOWN драйвера.
Но кажется я нашел интересное решение: Диодный преобразователь на четыре каналя с обвязками https://voltiq.ru/shop/5v-3v-i2c-uart-spi-level-converter/ .
Все дело в том, что мотор, это не единственный элемент в моем проекте, еще много всего нужно подцепить, а у ESP32 ограничение на пин 20-40 миливольт, а суммарное 220 вроде. Так-что мне в любом случае не хватит для управления логикой. Поэтому и заморачивался.
А у найденого диодного преобразователя на каждую линию до 150 миливольт!!!
Сейчас нарисую цепь и выложу, проверьте пожалуйста если не сложно!
Все дело в том, что мотор, это не единственный элемент в моем проекте, еще много всего нужно подцепить, а у ESP32 ограничение на пин 20-40 миливольт, а суммарное 220 вроде.
вы явно путаете токи и напряжения - и если это не случайная описка - никаких шансов у вас собрать работающую схему НЕТ
У вас общий блок питания, так что земля и так общая (у всех STEP-UP, STEP-DOWN преобразуев IN- и OUT- это одно и тоже)
Логические уровни... драйверу, в основном, пофиг 3,3 или 5 вольт.
Даже если StepUP и StepDOWN преобразователи оборудованы различными защитами от перегрузки, перегрева и прочего. Я не знал, что они получается уже подключены с микрухой к GND.
Все дело в том, что мотор, это не единственный элемент в моем проекте, еще много всего нужно подцепить, а у ESP32 ограничение на пин 20-40 миливольт, а суммарное 220 вроде.
вы явно путаете токи и напряжения - и если это не случайная описка - никаких шансов у вас собрать работающую схему НЕТ
опечатался :-) Сила тока
DC Current on I/O Pins
40 mA
Напряжение толкает силу тока через сопротивление
Исправил
Уверены что БП потянет? Лучше было наверное на 36В взять. Скорости логического преобразователя хватит для проекта? А то может надо максимальную скорость ШД развить при делителе 32.
Насчет драйвера советую еще раз подумать. Они есть у меня, поменял при первом удобном случае на китайские 542 ибо эти весьма нестабильны стали и очень быстро.
Залез в даташит. Входной лог.уровень. 1 = 2.0 - 5.5 В, 0 = 0 - 0.8В. Смысл париться с преобразователем если воспринимает от 2В логическую "1"?
По току тоже советую, да и вообще прочесть сначала даташит на микросхему. Входные лог. цепи потребляют целых 33 мкА максимум если я ничего не попутал.
В качестве драйвера попробую TB67S109 а там логика напряжения от 4.75В до 5.25В
Вы даташит на драйвер смотрели?
Напряжение логического 0 -- 0-0,8V, логической 1 -- 2.0-5.5V
Зачем там преобразователь?
Мотор будет работать 10-20 раз в час по 6 секунд. А с размером блока напряженка. Пока планирую такой использовать, но если что, нашел помощнее, ну и в 2 раза дороже.
Мотор будет раскручиваться до 600-800 оборотов в минуту, ему предстоит толкать 50 кг груз на роликах по горизонтальли, а деление шага в проекте не нужно, так-что думаю что пока драйвера хватит. Меня только шум волнует, нужен тихий и компактный драйвер для такого мощного мотора.
Убедили :) Но тогда у меня возникает другой вопрос:
По проекту будет организовано бесперебойное питание с переключением через реле и с использованием BMS контроллера заряда - разряда 4-х аккумуляторов 18650. Мне нужно анализировать на микроконтроллере наличие сети и уровень разряда аккумуляторов для алгоритма действий (в том числе мотора) в отсутствии электричества.
Я решил использовать два вольтметра от 0 до 25 Вольт. Одним буду замерять напряжение после общего блока питания, а вторым на выходе платы BMS. И как-только напряжение пропадет и реле переключатся я задействую специальный алгоритм действий. А когда напряжение на 4-х батарейках просядит до 2.8х4 то выполню другой алгоритм, пока MBS не вырубил аккумуляторы.
Так вот мой вопрос: нак мерить напряжение с вольтметра (которое от 0 до 5 вольт), когда у меня пин ESP32 может принять только 3.3 Вольта?
через резисторный делитель, последовательное соединение резисторов в школе проходили надеюсь
берём два резистора, например, 51к +100к, и в точке соединения будет как раз 3.3в при 5 на входе
берём два резистора, например, 51к +100к, и в точке соединения будет как раз 3.3в при 5 на входе
берём обычный подстроечный прецизионный резистор килоом на 5-10 и устанавливаем в средней точке нужное нам напряжение )))
Нарисовал пару вариантов, но т.к. нет опыта, не знаю какой лучше. Видимо надо учитывать мощьность рассеивания и прочее, но в моем случае наверное это не актуально, если только на будущее.
Какая схема лучше?
или
И как узнать какая сила тока будет на пине ESP32? Блок питания 24V до 5А при постоянной нагрузке.
Электронный мультиметр в симуляторе говорит что будет 5 микроампер в 1-й схеме и
106 микроампер во 2-й схеме
Ссылка на программу эмулятор эл цепи https://electrohobby.ru/progr-elektr-konstruktor-bdf.html
Достаточно просто делителя и из средней точки желательно емкость в 0.1uF на землю повесить для избежания помех/наводок каких нибудь. Силой тока в ноге АЦП не забивайте себе голову - это уктуально для цепей с сопротивлениями в мегаомы.
А можно схематично, еси не сложно, просто хочется упорядочить знания в голове (получится RC цепочка), чтобы избежать в будущем недорозумений в виде сгоревшего микроконтроллера и прочих элементов цепи. Спасибо!
У вас красным обведено - этого в принципе достаточно, можно подключать к ноге мк напрямую, но с ноги на землю повесьте емкость 0.1мкФ (можно и больше, но керамику). У ноги в режиме входа сопротивление очень велико, туда большой ток не потечет пока напряжение не превысит напряжения питания (а вот если превысит.. ну можете резистор добавать как в вашем первом варианте если страшно, только поменьше - 50-100к можно, но напряжение будет выше если только верхний резистор отвалится)