Приветствую на канале! Сегодня я хочу рассказать об одной полезной функции обычного BLDC двигателя от сидирома.
Итак, многие BLDC двигатели имеют на борту три датчика Холла. Датчики
в природе бывают разные, но как правило, а может быть всегда, в BLDC двигателях используются пассивные датчики Холла. Пассивный датчик на выходе даёт изменение напряжения и смену полярности. Но в принципе для нас это не особо важно. Важно то что датчики сдвинуты друг от друга на некоторое расстояние.
Теперь если подумать логически, можно понять, что сигналы с датчиков могут повторять сигналы обычного инкрементального энкодера. Для тех кто не в курсе, что такое энкодер, лучше обратитесь к Википедии. Я скажу лишь, что благодаря ему вы регулируете громкость у автомагнитолы, музыкального центра, домашнего кинотеатра. Также они используются в микроволновках, стиральных машинах, компьютерных мышках. Да его суют практически в любую технику. И вращается он бесконечно.
Есть два варианта снимать импульсы с такого мотора. Первый, брать сигналы с обмоток статора. Второй, брать сигналы с датчиков Холла. Первый вариант не столь хорош и стабилен, он может давать ошибки, и от них трудно будет избавиться. Второй же вариант отлично подходит для создания энкодера. Информацию по Распиновке двигателей нужно искать в интернете, либо мультиметром вычислять самому. У разных двигателей будет разная распиновка.
Питание датчиков Холла 5 вольт, но обязательно через резистор 1 ком! Ток не должен превышать пяти миллиампер. Сигналы с датчиков Холла подключены к операционному усилителю LM358 который в данном случае работает в режиме компаратора. Он и формирует логические сигналы на своих выходах, напряжением близким к напряжению питания, а это 5 вольт. Напряжения же с выходов датчиков Холла едва достигают 0,07 вольт. Ни один микроконтроллер на цифровых входах не воспримет такой сигнал, поэтому и применен операционный усилитель. Выходы микросхемы это выводы 1 и 7, в данном случае они подключены к светодиодам для визуализации процесса. В реальной схеме они будут подключаться к ногам микроконтроллера. На всякий случай упомяну, что микросхема создаёт подтяжку на минус питания, так что резистора подтяжки не потребуется.
Вообще меня натолкнула на мысль, попробовать такой мотор в роли энкодера, микросхема драйвера BLDC двигателя.
Обратите внимание как подключены датчики Холла. В моей схеме ровно такое же подключение.
В чем будут основные преимущества такого энкодера? Это полное отсутствие механических контактов, а значит и дребезга контактов. Вам не понадобится в прошивке писать код для обработки дребезга контактов. Полное отсутствие люфта, Думаю замечали, что регуляторы на музыкальных центрах, магнитолах и прочей технике болтаются, так вот, с мотором такое исключено, если конечно подшипник не раздолбан. Но это крайне редкий случай. Также можно подать питание на катушки статора и тем самым тормозить ротор, в этом случае ротор будет вращаться шагами. Напряжение достаточно до одного вольта.
Я попробовал использовать такие энкодеры в лабораторном блоке питания, и хочу сказать, что показали они себя отлично! Теперь я уверен что всегда будет регулироваться четко, чего не скажешь про механический энкодер, и уж тем более про переменный резистор.
Сигналы с двигателей усиливаются четырехканальным операционным усилителем LM324, далее обрабатываются контроллерами Attiny13 которые формируют опорные напряжения. Далее опорные напряжения подаются на операционный усилитель LM358 который все согласует с понижающим преобразователем XL4016.
По большому счету получается вечный энкодер за копейки. CD-ROM сейчас ничего не стоит, можно и даром найти, или на барахолке купить рублей за 100. Но в более новых сидюках использовали движки без датчиков Холла, так что желательно брать постарее.
И ещё, ближайший заводской аналог такого энкодера, стоит более 1000 росийских. Единственное, он оптический, а не магнитный.
Увидеть как это работает можно в этом видео.
На этом думаю всё, ссылочки на такие моторчики будут под видео на ютубе. Всем успехов! Пока!