Драйвер для бесколлекторного двигателя

Наше хобби — конструировать и программировать.
Демонстрация готовых роботов и устройств построенных своими руками.

Драйвер для бесколлекторного двигателя

Сообщение lorry » 20 янв 2018, 06:58

Доброго времени суток, всем! :D
Наша лаборатория (КИС), разработала прототип драйвера для управления бесколлекторными моторами. Драйвер предназначен для работы с мощным BLDC мотором, к примеру колесо гироскутера или электровелосипеда. Главное преимущество устройства это возможность управления вращением колеса подачей команд управления по протоколу I2C. Это позволяет более точно регулировать и контролировать вращение мотора, по сравнению с управлением аналоговым сигналом, как это осуществляется на подобных драйверах других производителей. В состав драйвера входят транзисторные ключи для коммутации обмоток, контроллер для управления переключением обмоток, стабилизатор напряжения для питания схемы драйвера. Питание драйвера от 12 до 24 В. Драйвер умеет вращать в обе стороны бесколлекторный двигатель (например колесо от гироскутера). Управление драйвером осуществляется по протоколу I2C, можно, например, подключить к драйверу какой либо контроллер (к примеру Arduino) и закрутить колесо с любой скоростью подавая на контроллер некоторые команды управления. Команды управления подаются на контроллер по I2C и предоставляют для пользователя четыре режима управления:
1. Прямой ШИМ. Вы передаете значение ШИМ (-255...+255 при 8-ми битном ШИМ-е, или -1024...+1024 при 10-ти битном) на драйвер и колесо начинает вращаться со скоростью соответствующей этому ШИМ-у.
2. Прямой ШИМ с автоматическим поддержанием скорости вращения. Этот режим отличен от первого тем что в управление вращением включается обратная связь от датчиков мотора и в случае механического притормаживания двигателя, контроллер будет пытаться разогнать мотор до заданного ШИМ-а, а в случае ускорения вращения, наоборот притормаживать.
3. Управления путем задания скорости метров в секунду. В этом режиме вы передаете на драйвер нужную скорость с которой должно крутиться колесо.
4. Управление скоростью с автоматическим поддержанием заданной скорости. Как и во втором режиме драйвер будет пытаться поддержать заданную скорость вращения автоматически.
Драйвер может быть как одиночный так и сдвоенный.
Если кому интересно подобное устройство и его подробные ТХ, готовы предложить его на продажу. Стоимость драйвера около 2000 руб.
Аватара пользователя
lorry
 
Сообщения: 448
Зарегистрирован: 04 фев 2014, 13:53
Откуда: Комсомольск-на-Амуре
прог. языки: машинные коды
ФИО: Иван Иваныч

Re: Драйвер для бесколлекторного двигателя

Сообщение Madf » 20 янв 2018, 11:47

Ну так приложите сразу: картинки, габариты, нормальные хар-ки.

На счет 3 пункта непонятно, для его выполнение нужно иметь настройку радиус колеса, где их задавать?
Madf
 
Сообщения: 3298
Зарегистрирован: 03 янв 2012, 12:55
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...

Re: Драйвер для бесколлекторного двигателя

Сообщение Myp » 20 янв 2018, 13:51

всего 24 вольта, это явно не для гироскутерных колёс, чё так мало?
и почему не сказано про рекуперацию, её нет?
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: Драйвер для бесколлекторного двигателя

Сообщение lorry » 21 янв 2018, 03:21

Madf писал(а):Ну так приложите сразу: картинки, габариты, нормальные хар-ки.

На счет 3 пункта непонятно, для его выполнение нужно иметь настройку радиус колеса, где их задавать?


Разумеется, все нужные параметры задаются при инициализации.

Добавлено спустя 48 секунд:
Myp писал(а):всего 24 вольта, это явно не для гироскутерных колёс, чё так мало?
и почему не сказано про рекуперацию, её нет?

На самом деле можно и больше.

Добавлено спустя 15 минут 54 секунды:
Madf писал(а):Ну так приложите сразу: картинки, габариты, нормальные хар-ки.

Это пока прототип, т.е. экспериментальная плата, конечный вариант будет готов после полного тестирования и доработки с учетом пожеланий. Собственно для того и спрашиваю, чтобы услышать от вас пожелания о функционале драйвера.
Вот одно предложение уже появилось - рекуперация. У нас пока не реализовано, но теперь уже будем делать.
Аватара пользователя
lorry
 
Сообщения: 448
Зарегистрирован: 04 фев 2014, 13:53
Откуда: Комсомольск-на-Амуре
прог. языки: машинные коды
ФИО: Иван Иваныч

Re: Драйвер для бесколлекторного двигателя

Сообщение Myp » 21 янв 2018, 21:26

lorry писал(а):можно и больше.

37? 48?
ато 24 вольта и мощные моторы понятия не особо совместимые
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: Драйвер для бесколлекторного двигателя

Сообщение lorry » 23 янв 2018, 01:13

Myp писал(а):
lorry писал(а):можно и больше.

37? 48?
ато 24 вольта и мощные моторы понятия не особо совместимые

И 37 и 48, и 100. Все зависит от применяемых в ключах транзисторах.
Аватара пользователя
lorry
 
Сообщения: 448
Зарегистрирован: 04 фев 2014, 13:53
Откуда: Комсомольск-на-Амуре
прог. языки: машинные коды
ФИО: Иван Иваныч

Re: Драйвер для бесколлекторного двигателя

Сообщение sned » 24 янв 2018, 10:13

Все перечисленные режимы возможно не так актуальны как способность пары контроллеров поддерживать одинаковые скорости на колёсах в стандартной двухколёсной схеме с третьим подруливающим колесом.Применяю на роботе мотор колёса с стандартными контроллерами.И основная проблема это добиться одинакового старта колёс и начало движения без рыскания.Дальнейшее прямолинейное движение проблем не составляет.Прямой старт усложняет низкое разрешение встроенных в колесо энкодеров(в моих колёсах это 60 значений на оборот)
sned
 
Сообщения: 303
Зарегистрирован: 08 апр 2013, 08:09
Откуда: Екатеринбург
ФИО: Сергей

Re: Драйвер для бесколлекторного двигателя

Сообщение lorry » 25 янв 2018, 01:19

В нашем драйвере это легко решается программным путем. Уже реализовано.
Аватара пользователя
lorry
 
Сообщения: 448
Зарегистрирован: 04 фев 2014, 13:53
Откуда: Комсомольск-на-Амуре
прог. языки: машинные коды
ФИО: Иван Иваныч

Re: Драйвер для бесколлекторного двигателя

Сообщение sned » 01 фев 2018, 18:30

lorry писал(а):В нашем драйвере это легко решается программным путем. Уже реализовано.

блин завидно даже,я тут мучаюсь а другие легко решают всё программным путем. :D
А в действии можно посмотреть, а то может мы о разном говорим?
sned
 
Сообщения: 303
Зарегистрирован: 08 апр 2013, 08:09
Откуда: Екатеринбург
ФИО: Сергей

Re: Драйвер для бесколлекторного двигателя

Сообщение lorry » 02 фев 2018, 00:49

sned писал(а):
lorry писал(а):В нашем драйвере это легко решается программным путем. Уже реализовано.

блин завидно даже,я тут мучаюсь а другие легко решают всё программным путем. :D
А в действии можно посмотреть, а то может мы о разном говорим?

Все просто на самом деле, мы имеем импульсы от энкодеров левого и правого колеса, с легкостью можно измерить длительность каждого импульса, сравнить их и подтягивать/уменьшать ШИМ на колесе которое отстает/торопится.
Аватара пользователя
lorry
 
Сообщения: 448
Зарегистрирован: 04 фев 2014, 13:53
Откуда: Комсомольск-на-Амуре
прог. языки: машинные коды
ФИО: Иван Иваныч

Re: Драйвер для бесколлекторного двигателя

Сообщение Dmitry__ » 02 фев 2018, 01:08

А какой смысл в своих драйверах при цене хоббийных на 30 ампер по 180 - 300р?
Берем любой контроллер simonk или BLHeli, идем на соотв. github, скачиваем исходники, допиливаем под себя. Я уже давно забил на свои самоделки, только кЕтай, только хардкор.
вот, вот и вот. Мелкие квадрокоптерные BLHeli на 12 ампер вообще стОят муку :)
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Драйвер для бесколлекторного двигателя

Сообщение lorry » 02 фев 2018, 01:47

И что? Вы этими драйверами заводите колеса от гироскутеров, моторы электровелосипедов и сигвеев? Что то слабо верится. А как датчики холла подключаете?
Аватара пользователя
lorry
 
Сообщения: 448
Зарегистрирован: 04 фев 2014, 13:53
Откуда: Комсомольск-на-Амуре
прог. языки: машинные коды
ФИО: Иван Иваныч

Re: Драйвер для бесколлекторного двигателя

Сообщение Dmitry__ » 02 фев 2018, 02:02

lorry писал(а):И что? Вы этими драйверами заводите колеса от гироскутеров, моторы электровелосипедов и сигвеев?

Вот прямо сейчас simonk-ом кручу колесо моноколеса, вот такая тавтология :)

lorry писал(а):А как датчики холла подключаете?


А не подключаю, надобности нет, в таких случаях я беру контроллеры от моноколес, они до 80 вольт, stm32, 3д-гироскоп/аксель, и.т.д. За старт взять это, проект нерабочий, но информации - тонны.
А если очень надо датчики Холла на хоббийном драйвере, то можно подключить их вместо сигналов BMF, эти точки легко находятся по матрице smd резисторов. :pardon:

Добавлено спустя 3 минуты 21 секунду:
Контроллеры моноколес:

https://github.com/EGG-electric-unicycle/documentation/wiki/Controllers
https://github.com/EGG-electric-unicycle/documentation/wiki/MicroWorks-30B4-30kmh-controller-board-with-bluetooth
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Драйвер для бесколлекторного двигателя

Сообщение sned » 02 фев 2018, 20:14

lorry писал(а):Все просто на самом деле, мы имеем импульсы от энкодеров левого и правого колеса, с легкостью можно измерить длительность каждого импульса, сравнить их и подтягивать/уменьшать ШИМ на колесе которое отстает/торопится.

В теории то это понятно, что просто а вот в практике совсем не так.Приходится настраивать ПИД регуляторы колёс которые зависят например от индивидуальных характеристик колёс ,массы робота,базы колёс и т.д.И соответственно универсальность и простота применения вашего драйвера конкретно для робота ставится под сомнение. Точность энкодеров от 8 до 15мм для 6-10 дюймовых колёс соответственно и поэтому при начальных неизвестных скоростях старта и точного позиционирования каждого из колёс предсказать правильную реакцию драйвера не простое дело.Важно ещё и научиться тормозить высокоинертные моторколёса для точного позиционирования робота.Я например не имея на своих драйверах функцию полноценного торможения применяю подачу обратного напряжения на колёса при подъезде к цели.
Понятно конечно, что если применять мотор колёса на радиоупровляемых тележках то все эти проблемы не столь существенны, сейчас на выбор есть очень много готовых решений.
sned
 
Сообщения: 303
Зарегистрирован: 08 апр 2013, 08:09
Откуда: Екатеринбург
ФИО: Сергей

Re: Драйвер для бесколлекторного двигателя

Сообщение lorry » 03 фев 2018, 03:04

sned писал(а):
lorry писал(а):Все просто на самом деле, мы имеем импульсы от энкодеров левого и правого колеса, с легкостью можно измерить длительность каждого импульса, сравнить их и подтягивать/уменьшать ШИМ на колесе которое отстает/торопится.

В теории то это понятно, что просто а вот в практике совсем не так.Приходится настраивать ПИД регуляторы колёс которые зависят например от индивидуальных характеристик колёс ,массы робота,базы колёс и т.д.И соответственно универсальность и простота применения вашего драйвера конкретно для робота ставится под сомнение. Точность энкодеров от 8 до 15мм для 6-10 дюймовых колёс соответственно и поэтому при начальных неизвестных скоростях старта и точного позиционирования каждого из колёс предсказать правильную реакцию драйвера не простое дело.Важно ещё и научиться тормозить высокоинертные моторколёса для точного позиционирования робота.Я например не имея на своих драйверах функцию полноценного торможения применяю подачу обратного напряжения на колёса при подъезде к цели.
Понятно конечно, что если применять мотор колёса на радиоупровляемых тележках то все эти проблемы не столь существенны, сейчас на выбор есть очень много готовых решений.

Ничего подобного, как раз это и не теория, а практика, прототип колесной платформы уже катается у нас на телеуправлении под ROS-ом и минимальная скорость 1 см. в секунду. Никаких описанных вами проблем нет.
Аватара пользователя
lorry
 
Сообщения: 448
Зарегистрирован: 04 фев 2014, 13:53
Откуда: Комсомольск-на-Амуре
прог. языки: машинные коды
ФИО: Иван Иваныч

След.

Вернуться в Наши проекты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13