30.04.2013, 21:56 | #1 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Управление шаговым двигателем 28BYJ-48
Управление шаговым двигателем 28BYJ-48
Попался мне в руки Шаговый двигатель 28BYJ-48 решил его использовать для управления жалюзи на кухне. Шаговый двигатель 28BYJ-48, использует в кондиционерах, термовентиляторах и т.п. Он как правило продается с простейшим драйвером собранном на микросхеме ULN2003 На плате есть 4 светодиода отображающие на какой из обмоток есть напряжение Характеристики: номинальное напряжение питания: 5В или 12В число фаз: 4 сопротивление фазы: 200 Ом ±7% угловой шаг: 5,625° соотношение: 1:64 частота: 100 Гц крутящий момент: 450 г*см сопротивление изоляции: >10 МОм (500В) диаметр: 25 мм высота 18мм. плата управления: 27 х 17 мм. общий вес: до 80 гр. Схема Со встроенной библиотекой Stepper Library, моторчик отказался работать Написал тестовый скетч для ардуино, что бы заставить его вращаться В полношаговом режиме PHP код:
PHP код:
Соответственно в полношаговом режиме скорость вращения будет в 2 раза выше В будущем планирую написать для этого ШД библиотеку |
08.05.2013, 12:59 | #2 |
Junior Member
Регистрация: 08.04.2013
Сообщений: 9
Вес репутации: 0 |
Тоже эксперементировал с таким шаговиком для управления оконными жалюзями. Хотелось чтобы подходили к 2-м жалюзям 4 провода (2 витых пары, а не 9 = 1 земля питания + 4 фазы + 4 фазы для управления всеми обмотками), поэтому сделал управление на ATTINY2313 и ULN2003, макетка влезла внутрь корпуса жалюзи. ATTINY2313 управляется по UART, т.е. требуется 4 провда "+","-","rx","tx". Реализованы 4 команды полное открытие, полное закрытие, открытие на определенный угол, закрытие на определенный угол. Открытие-закрытие делал поворотом пластин, поднятие/опускание не делал. Шаговик соединял с осью вращения через обрезок корпуса ручки, на ось и шаговик наматывал изоленту, чтобы и плотно было и могло немного проскользнуть. Небольшое проскальзывание нужно чтобы не использовать датчики конечных положений. При инициализации просто поворачивается на угол чуть больше максимального поворота, за счет проскальзывание выставляетс в "0". Потом уже от этого нуля высталяется угол.
PHP код:
|
08.05.2013, 13:19 | #3 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Спасибо.
Мне понравилась реализации шага методом сдвига. Таким образом можно просто реализовать хранение последнего местоположения и сам процесс шага Из недостатков такой реализации, управление мотором нужно подключать к одному GPIO |
12.07.2017, 08:52 | #4 |
Junior Member
Регистрация: 11.07.2017
Сообщений: 13
Вес репутации: 0 |
Тоже инитересует тема управления скоростью вращения ШД, но не совсем пока разбираюсь в чужих скетчах.
Какие способы управления скоростью ШД существуют (кроме задержки) для изменения частоты управляющих импульсов? Нужно менять скорость такого ШД в соответствии с определенной мат. зависимостью. |
13.07.2017, 10:19 | #5 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Можно математически изменять задержку между импульсами
|
14.07.2017, 15:19 | #6 |
Junior Member
Регистрация: 11.07.2017
Сообщений: 13
Вес репутации: 0 |
Математически задержку и предполагалось менять. Вопрос был в том. Есть ли способы управления скоростью без использования функции задержки между импульсами
|
16.07.2017, 11:34 | #7 |
Junior Member
Регистрация: 11.07.2017
Сообщений: 13
Вес репутации: 0 |
Еще одна проблема нарисовалась.
Моя Ардуинка не допускает операций с плавающей точкой, но в программе появляются числа (и операции с плавающей тчк.). Необходимо так же использовать тригонометрические ф-ции в которых как раз в качестве аргумента не целые радианы используются. Получается с моей платой вообще тригонометрия не предусмотрена? Возможно ли использование целочисленного аргумента в градусах? Понимаю, что немного не по теме. Может в другой отдел перенести? |
16.07.2017, 23:19 | #8 | |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Цитата:
Добавьте соответствующую библиотеку |
|
17.07.2017, 10:22 | #9 |
Junior Member
Регистрация: 11.07.2017
Сообщений: 13
Вес репутации: 0 |
Подозреваю, что при этом скорость вычислений и соответственно скорость вращения ШД измениться так как вычислять функцию с плавающими переменными придется в бесконечном цикле.
Какие то способы избежать операций с плавающей тчк. существуют? |
17.07.2017, 11:19 | #10 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Что бы из числа с запятой получить простое число , нужно его умножить на 1000 или на 1000000, в зависимости от числа знаков после запятой
|
Здесь присутствуют: 2 (пользователей: 0 , гостей: 2) | |
|
|