Контроллер с драйвером на 4 двигателя (серва)
-
- Новичок
- Сообщения: 19
- Зарегистрирован: 27 янв 2009, 11:42
- Репутация: 0
- Контактная информация:
Контроллер с драйвером на 4 двигателя (серва)
Всем привет.
Вот начало:
ссылка на начало
Что в итоге я имею.
Плата 100х150мм.
Вход питания 12В, 3.3В, питание двиг. от 15 до 60В.
Интерфейсы UART, I2C.
4 выхода на коллекторные двигатели.
4 входа для энкодеров квадратурных.
Стоит МК на плате LPC2134 128кБ флеш 16кБ ОЗУ.
Опторазвязки нет.
Нет аппаратной защиты по току.
Теоретически плату делал до 60В питания двигателей и ток ключей 48А.
Практически крутил 2 двигателя нагруженных с потреблением 5А и 24В.
Всё крутится отлично и ключи холодные.
На 10А нагруженный мост был слегка тёплый.
Думаю, что плата сможет работать с двигателями рассчитанными на рабочий ток 7А с пиками до 30А.
Теперь программа.
Прошивка уже есть готовая с управлением через терминал ПК.
Рабочие команды прямая запись ШИМ с направлением и запись ШИМ с плавной регулировкой.
Работа с энкодерами в процессе.
Вот начало:
ссылка на начало
Что в итоге я имею.
Плата 100х150мм.
Вход питания 12В, 3.3В, питание двиг. от 15 до 60В.
Интерфейсы UART, I2C.
4 выхода на коллекторные двигатели.
4 входа для энкодеров квадратурных.
Стоит МК на плате LPC2134 128кБ флеш 16кБ ОЗУ.
Опторазвязки нет.
Нет аппаратной защиты по току.
Теоретически плату делал до 60В питания двигателей и ток ключей 48А.
Практически крутил 2 двигателя нагруженных с потреблением 5А и 24В.
Всё крутится отлично и ключи холодные.
На 10А нагруженный мост был слегка тёплый.
Думаю, что плата сможет работать с двигателями рассчитанными на рабочий ток 7А с пиками до 30А.
Теперь программа.
Прошивка уже есть готовая с управлением через терминал ПК.
Рабочие команды прямая запись ШИМ с направлением и запись ШИМ с плавной регулировкой.
Работа с энкодерами в процессе.
-
- Почётный участник
- Сообщения: 358
- Зарегистрирован: 08 фев 2010, 01:03
- Репутация: 5
- Контактная информация:
Re: Контроллер с драйвером на 4 двигателя (серва)
А про систему команд расскажи?
-
- Новичок
- Сообщения: 19
- Зарегистрирован: 27 янв 2009, 11:42
- Репутация: 0
- Контактная информация:
Re: Контроллер с драйвером на 4 двигателя (серва)
Управление моторами.
MX,YYY
X - номер мотора
YYY - ШИМ 7 бит задаёт направление.
Например:
M0,95 - на 1-ый двигатель подать ШИМ 95%
M1, 150 - на 2-ой двигатель подать ШИМ 22% и включить реверс.
Другие команды задают настройки.
Переключение режимов SWX, где Х режим регулирования 0 - прямая запись, 1 - плавное изменение ШИМ до указанного значения.
Например:
SW0 - переключить на режим 0.
Команда TPXX, где XX задаёт паузу между изменением ШИМ для режима 1.
Вот основные команды.
MX,YYY
X - номер мотора
YYY - ШИМ 7 бит задаёт направление.
Например:
M0,95 - на 1-ый двигатель подать ШИМ 95%
M1, 150 - на 2-ой двигатель подать ШИМ 22% и включить реверс.
Другие команды задают настройки.
Переключение режимов SWX, где Х режим регулирования 0 - прямая запись, 1 - плавное изменение ШИМ до указанного значения.
Например:
SW0 - переключить на режим 0.
Команда TPXX, где XX задаёт паузу между изменением ШИМ для режима 1.
Вот основные команды.
-
- Опытный
- Сообщения: 158
- Зарегистрирован: 25 авг 2008, 00:46
- Репутация: 14
- Контактная информация:
Re: Контроллер с драйвером на 4 двигателя (серва)
А нельзя ли поточнее ссылку на схемку, проанализировать.
-
- Почётный участник
- Сообщения: 358
- Зарегистрирован: 08 фев 2010, 01:03
- Репутация: 5
- Контактная информация:
Re: Контроллер с драйвером на 4 двигателя (серва)
хм... насколько я понимаю обратной связи по положению пока еще нет?
Для ЧПУ надо реализовывать пространственно-временное управление.
т.е. самое интересное еще впереди!
Для ЧПУ надо реализовывать пространственно-временное управление.
т.е. самое интересное еще впереди!
-
- Новичок
- Сообщения: 19
- Зарегистрирован: 27 янв 2009, 11:42
- Репутация: 0
- Контактная информация:
Re: Контроллер с драйвером на 4 двигателя (серва)
Сделать прошивку с управлением по позиции просто, но нужны энкодеры, которые я сейчас делаю.
-
- Новичок
- Сообщения: 19
- Зарегистрирован: 27 янв 2009, 11:42
- Репутация: 0
- Контактная информация:
Re: Контроллер с драйвером на 4 двигателя (серва)
Например, написать команду переместится на 30 тиков энкодера.
Допустим команда выглядит так:
PZX,YYY - где Х, номер мотора, YYY - количество тиков энкодера и бит 7 направление.
Допустим команда выглядит так:
PZX,YYY - где Х, номер мотора, YYY - количество тиков энкодера и бит 7 направление.
-
- Почётный участник
- Сообщения: 358
- Зарегистрирован: 08 фев 2010, 01:03
- Репутация: 5
- Контактная информация:
Re: Контроллер с драйвером на 4 двигателя (серва)
Да вот еще надо чтоб за конкретное времяRoboTok писал(а):...переместится на 30 тиков энкодера.
-
- Новичок
- Сообщения: 19
- Зарегистрирован: 27 янв 2009, 11:42
- Репутация: 0
- Контактная информация:
Re: Контроллер с драйвером на 4 двигателя (серва)
Это уже и будет ПИД с параметрами время и расстояние.
Сделать хорошо не просто такой алгоритм.
И вообще надо начать с чего то.
Какие обязательные команды нужны у контроллера, чтоб можно было управлять приводом ?
Сделать хорошо не просто такой алгоритм.
И вообще надо начать с чего то.
Какие обязательные команды нужны у контроллера, чтоб можно было управлять приводом ?
-
- Почётный участник
- Сообщения: 358
- Зарегистрирован: 08 фев 2010, 01:03
- Репутация: 5
- Контактная информация:
Re: Контроллер с драйвером на 4 двигателя (серва)
Вот, посмотри: ПИДRoboTok писал(а):Это уже и будет ПИД с параметрами время и расстояние.
можт что пригодится...
Если чисто для привода - наверное достаточно команды на перемещение на заданное расстояние за заданное время...RoboTok писал(а):Какие обязательные команды нужны у контроллера, чтоб можно было управлять приводом ?
-
- Новичок
- Сообщения: 19
- Зарегистрирован: 27 янв 2009, 11:42
- Репутация: 0
- Контактная информация:
Re: Контроллер с драйвером на 4 двигателя (серва)
Ну вот, можно, для начала, сделать перемещение на расстояние за время.
Команда вот такая.
PTX,N,YYY,ZZZ - где X мотор, N направление, YYY кол-во тиков, ZZZ время в мс.
Команды посылать в COM порт.
Скорость порта 19200 бод.
Если настроить COM порт на нестандартную скорость, то можно и выше.
Вот только как это всё на пальцах делать непонятно.
Как мне кажется, минимум - это когда есть станок готовый под который можно и делать.
П.С.
Про ПИДы я уже начитался.
Команда вот такая.
PTX,N,YYY,ZZZ - где X мотор, N направление, YYY кол-во тиков, ZZZ время в мс.
Команды посылать в COM порт.
Скорость порта 19200 бод.
Если настроить COM порт на нестандартную скорость, то можно и выше.
Вот только как это всё на пальцах делать непонятно.
Как мне кажется, минимум - это когда есть станок готовый под который можно и делать.
П.С.
Про ПИДы я уже начитался.
-
- Почётный участник
- Сообщения: 358
- Зарегистрирован: 08 фев 2010, 01:03
- Репутация: 5
- Контактная информация:
Re: Контроллер с драйвером на 4 двигателя (серва)
А что не понятного, вот тут все правильно написано:RoboTok писал(а): Вот только как это всё на пальцах делать непонятно.
Как мне кажется, минимум - это когда есть станок готовый под который можно и делать.
Под такой формат управляющая программа может быть легко настроена.RoboTok писал(а):Ну вот, можно, для начала, сделать перемещение на расстояние за время.
Команда вот такая.
PTX,N,YYY,ZZZ - где X мотор, N направление, YYY кол-во тиков, ZZZ время в мс.
-
- Опытный
- Сообщения: 183
- Зарегистрирован: 25 авг 2008, 11:36
- Репутация: -47
- Контактная информация:
Re: Контроллер с драйвером на 4 двигателя (серва)
Контроллер понравился, драйвер - нет. Похож на мой первый. А после него было еще десять версий, и похоже, еще будут )bm( Если кратко, то у вас, из того что я понял, реализован медленный спад тока. Со всеми вытекающими.RoboTok писал(а):Вот начало
-
- Новичок
- Сообщения: 19
- Зарегистрирован: 27 янв 2009, 11:42
- Репутация: 0
- Контактная информация:
Re: Контроллер с драйвером на 4 двигателя (серва)
А можно по конкретнее.
Весь контроллер состоит из одной МК LPC2134.
Если уж делать контроллер хороший, то поставить какой нить покруче чип и загружать весь G-код в него.
Я лучше не мог поставить из за изготовления платы лутом дома.
А что вы имеете ввиду под драйвером с медленным спадом?
Там обычный мост стоит, других вариантов изготовления не встречал...
Весь контроллер состоит из одной МК LPC2134.
Если уж делать контроллер хороший, то поставить какой нить покруче чип и загружать весь G-код в него.
Я лучше не мог поставить из за изготовления платы лутом дома.
А что вы имеете ввиду под драйвером с медленным спадом?
Там обычный мост стоит, других вариантов изготовления не встречал...
-
- Опытный
- Сообщения: 183
- Зарегистрирован: 25 авг 2008, 11:36
- Репутация: -47
- Контактная информация:
Re: Контроллер с драйвером на 4 двигателя (серва)
Тем и понравился, что довольно мощный, хоть для крутых задач может и слабоват.
Медленный спад тока в обмотке - про это уже писано-переписано. Для коллекторника и привода тележки может и не так важно, но для сервы и для шаговиков важно, т.к. без этого они становятся тормозными в управлении - сигнал уже снят, а ток все продолжает течь.
Медленный спад тока в обмотке - про это уже писано-переписано. Для коллекторника и привода тележки может и не так важно, но для сервы и для шаговиков важно, т.к. без этого они становятся тормозными в управлении - сигнал уже снят, а ток все продолжает течь.
-
- Почётный участник
- Сообщения: 358
- Зарегистрирован: 08 фев 2010, 01:03
- Репутация: 5
- Контактная информация:
Re: Контроллер с драйвером на 4 двигателя (серва)
Вить, на "избранное" кинь ссылку - ознакомиться с явлением и методами борьбы...VShaclein писал(а):..Медленный спад тока в обмотке - про это уже писано-переписано...
Мысль кстати пришла: очевидно что энергию в индуктивности двигателя надо куда-то девать, так можт ее в конденсатор? а потом использовать? вроде как "рекуперация"?
-
- Опытный
- Сообщения: 183
- Зарегистрирован: 25 авг 2008, 11:36
- Репутация: -47
- Контактная информация:
Re: Контроллер с драйвером на 4 двигателя (серва)
Это хде ? Вот дока от алегры - все расписано, что должно быть:
This new IC incorporates several unique design
features, including automatic mixed-mode current decay
control, PWM current control, synchronous rectification,
low rDS(on) power DMOS outputs, full-, half-, quarter-, and
eighth-step operation, HOME output, sleep mode, and an
easy-to-implement step and direction interface
This new IC incorporates several unique design
features, including automatic mixed-mode current decay
control, PWM current control, synchronous rectification,
low rDS(on) power DMOS outputs, full-, half-, quarter-, and
eighth-step operation, HOME output, sleep mode, and an
easy-to-implement step and direction interface
- Вложения
-
- stp01-2.pdf
- (179.43 КБ) 1215 скачиваний
-
- Новичок
- Сообщения: 19
- Зарегистрирован: 27 янв 2009, 11:42
- Репутация: 0
- Контактная информация:
Re: Контроллер с драйвером на 4 двигателя (серва)
Хитрые у вас выражения "Медленный спад тока в обмотке".
Довольно трудно понять о чём речь, но я попробую.
Наверно вы хотели спросить, есть ли торможение двигателем в моём драйвере ? )bj(
И скажу я вам, что да есть торможение двигателем и если что, то можно быстро остановить его.
А в моей тележке - это вообще вред.
Железо разбивает в лёт.
Сделал плавное изменение ШИМ и двигатель разгоняется с 0 до максимума за 1с.
Уже работает нормально, хоть и реакция плохая.
Довольно трудно понять о чём речь, но я попробую.
Наверно вы хотели спросить, есть ли торможение двигателем в моём драйвере ? )bj(
И скажу я вам, что да есть торможение двигателем и если что, то можно быстро остановить его.
А в моей тележке - это вообще вред.
Железо разбивает в лёт.
Сделал плавное изменение ШИМ и двигатель разгоняется с 0 до максимума за 1с.
Уже работает нормально, хоть и реакция плохая.
-
- Опытный
- Сообщения: 158
- Зарегистрирован: 25 авг 2008, 00:46
- Репутация: 14
- Контактная информация:
Re: Контроллер с драйвером на 4 двигателя (серва)
Со схемой понятно.
Но сразу говорю что 4мя сервами на одном контроллере с приемлимой скоростью и разрешением, для станка, управлять невозможно!
Проще тогда ставить драйвер сервы на дуокоре сделанный...
Сила в схеме - важная вещь - но не первостепенная, как я понял работа энкодера - важнее. Необходимо не только обеспечить достаточную точность считывания на больших скоростях, но и еще ПИД-регулирование обсчитать. А вот это задачка не слабая.
Я пока кроме как на ПЛИС это сделать вариантов не вижу.
представьте если с помощью энкодера необходимо обсчитать ПИД для одного двигателя с разрешением 200 импульсов на 1 мм (сразу переведу),
для скорости хотя бы 1 м/c. Какая для этого должна быть производительность контроллера?
Но сразу говорю что 4мя сервами на одном контроллере с приемлимой скоростью и разрешением, для станка, управлять невозможно!
Проще тогда ставить драйвер сервы на дуокоре сделанный...
Сила в схеме - важная вещь - но не первостепенная, как я понял работа энкодера - важнее. Необходимо не только обеспечить достаточную точность считывания на больших скоростях, но и еще ПИД-регулирование обсчитать. А вот это задачка не слабая.
Я пока кроме как на ПЛИС это сделать вариантов не вижу.
представьте если с помощью энкодера необходимо обсчитать ПИД для одного двигателя с разрешением 200 импульсов на 1 мм (сразу переведу),
для скорости хотя бы 1 м/c. Какая для этого должна быть производительность контроллера?