Контроллер с драйвером на 4 двигателя (серва)

Контроллеры, драйверы, датчики, управляющие устройства.
RoboTok
Новичок
Сообщения: 19
Зарегистрирован: 27 янв 2009, 11:42
Репутация: 0
Контактная информация:

Контроллер с драйвером на 4 двигателя (серва)

Сообщение RoboTok »

Всем привет.

Вот начало:
ссылка на начало

Что в итоге я имею.
Плата 100х150мм.
Вход питания 12В, 3.3В, питание двиг. от 15 до 60В.
Интерфейсы UART, I2C.
4 выхода на коллекторные двигатели.
4 входа для энкодеров квадратурных.

Стоит МК на плате LPC2134 128кБ флеш 16кБ ОЗУ.
Опторазвязки нет.
Нет аппаратной защиты по току.
Теоретически плату делал до 60В питания двигателей и ток ключей 48А.
Практически крутил 2 двигателя нагруженных с потреблением 5А и 24В.
Всё крутится отлично и ключи холодные.
На 10А нагруженный мост был слегка тёплый.

Думаю, что плата сможет работать с двигателями рассчитанными на рабочий ток 7А с пиками до 30А.

Теперь программа.
Прошивка уже есть готовая с управлением через терминал ПК.
Рабочие команды прямая запись ШИМ с направлением и запись ШИМ с плавной регулировкой.
Работа с энкодерами в процессе.
spike
Почётный участник
Почётный участник
Сообщения: 358
Зарегистрирован: 08 фев 2010, 01:03
Репутация: 5
Контактная информация:

Re: Контроллер с драйвером на 4 двигателя (серва)

Сообщение spike »

А про систему команд расскажи?
RoboTok
Новичок
Сообщения: 19
Зарегистрирован: 27 янв 2009, 11:42
Репутация: 0
Контактная информация:

Re: Контроллер с драйвером на 4 двигателя (серва)

Сообщение RoboTok »

Управление моторами.
MX,YYY
X - номер мотора
YYY - ШИМ 7 бит задаёт направление.

Например:
M0,95 - на 1-ый двигатель подать ШИМ 95%
M1, 150 - на 2-ой двигатель подать ШИМ 22% и включить реверс.

Другие команды задают настройки.
Переключение режимов SWX, где Х режим регулирования 0 - прямая запись, 1 - плавное изменение ШИМ до указанного значения.
Например:
SW0 - переключить на режим 0.
Команда TPXX, где XX задаёт паузу между изменением ШИМ для режима 1.

Вот основные команды.
kentawrik
Опытный
Сообщения: 158
Зарегистрирован: 25 авг 2008, 00:46
Репутация: 14
Контактная информация:

Re: Контроллер с драйвером на 4 двигателя (серва)

Сообщение kentawrik »

А нельзя ли поточнее ссылку на схемку, проанализировать.
spike
Почётный участник
Почётный участник
Сообщения: 358
Зарегистрирован: 08 фев 2010, 01:03
Репутация: 5
Контактная информация:

Re: Контроллер с драйвером на 4 двигателя (серва)

Сообщение spike »

хм... насколько я понимаю обратной связи по положению пока еще нет?
Для ЧПУ надо реализовывать пространственно-временное управление.
т.е. самое интересное еще впереди!
RoboTok
Новичок
Сообщения: 19
Зарегистрирован: 27 янв 2009, 11:42
Репутация: 0
Контактная информация:

Re: Контроллер с драйвером на 4 двигателя (серва)

Сообщение RoboTok »

Схема:
Вложения
drv1.gif (3846 просмотров) <a class='original' href='./download/file.php?id=2524&sid=256e5ad42e6e7038521ead767fb0fc3e&mode=view' target=_blank>Загрузить оригинал (81.51 КБ)</a>
RoboTok
Новичок
Сообщения: 19
Зарегистрирован: 27 янв 2009, 11:42
Репутация: 0
Контактная информация:

Re: Контроллер с драйвером на 4 двигателя (серва)

Сообщение RoboTok »

Сделать прошивку с управлением по позиции просто, но нужны энкодеры, которые я сейчас делаю.
RoboTok
Новичок
Сообщения: 19
Зарегистрирован: 27 янв 2009, 11:42
Репутация: 0
Контактная информация:

Re: Контроллер с драйвером на 4 двигателя (серва)

Сообщение RoboTok »

Например, написать команду переместится на 30 тиков энкодера.

Допустим команда выглядит так:
PZX,YYY - где Х, номер мотора, YYY - количество тиков энкодера и бит 7 направление.
spike
Почётный участник
Почётный участник
Сообщения: 358
Зарегистрирован: 08 фев 2010, 01:03
Репутация: 5
Контактная информация:

Re: Контроллер с драйвером на 4 двигателя (серва)

Сообщение spike »

RoboTok писал(а):...переместится на 30 тиков энкодера.
Да вот еще надо чтоб за конкретное время
RoboTok
Новичок
Сообщения: 19
Зарегистрирован: 27 янв 2009, 11:42
Репутация: 0
Контактная информация:

Re: Контроллер с драйвером на 4 двигателя (серва)

Сообщение RoboTok »

Это уже и будет ПИД с параметрами время и расстояние.
Сделать хорошо не просто такой алгоритм.

И вообще надо начать с чего то.
Какие обязательные команды нужны у контроллера, чтоб можно было управлять приводом ?
spike
Почётный участник
Почётный участник
Сообщения: 358
Зарегистрирован: 08 фев 2010, 01:03
Репутация: 5
Контактная информация:

Re: Контроллер с драйвером на 4 двигателя (серва)

Сообщение spike »

RoboTok писал(а):Это уже и будет ПИД с параметрами время и расстояние.
Вот, посмотри: ПИД
можт что пригодится...
RoboTok писал(а):Какие обязательные команды нужны у контроллера, чтоб можно было управлять приводом ?
Если чисто для привода - наверное достаточно команды на перемещение на заданное расстояние за заданное время...
RoboTok
Новичок
Сообщения: 19
Зарегистрирован: 27 янв 2009, 11:42
Репутация: 0
Контактная информация:

Re: Контроллер с драйвером на 4 двигателя (серва)

Сообщение RoboTok »

Ну вот, можно, для начала, сделать перемещение на расстояние за время.
Команда вот такая.
PTX,N,YYY,ZZZ - где X мотор, N направление, YYY кол-во тиков, ZZZ время в мс.

Команды посылать в COM порт.
Скорость порта 19200 бод.
Если настроить COM порт на нестандартную скорость, то можно и выше.

Вот только как это всё на пальцах делать непонятно.

Как мне кажется, минимум - это когда есть станок готовый под который можно и делать.

П.С.
Про ПИДы я уже начитался.
spike
Почётный участник
Почётный участник
Сообщения: 358
Зарегистрирован: 08 фев 2010, 01:03
Репутация: 5
Контактная информация:

Re: Контроллер с драйвером на 4 двигателя (серва)

Сообщение spike »

RoboTok писал(а): Вот только как это всё на пальцах делать непонятно.
Как мне кажется, минимум - это когда есть станок готовый под который можно и делать.
А что не понятного, вот тут все правильно написано:
RoboTok писал(а):Ну вот, можно, для начала, сделать перемещение на расстояние за время.
Команда вот такая.
PTX,N,YYY,ZZZ - где X мотор, N направление, YYY кол-во тиков, ZZZ время в мс.
Под такой формат управляющая программа может быть легко настроена.
VShaclein
Опытный
Сообщения: 183
Зарегистрирован: 25 авг 2008, 11:36
Репутация: -47
Контактная информация:

Re: Контроллер с драйвером на 4 двигателя (серва)

Сообщение VShaclein »

RoboTok писал(а):Вот начало
Контроллер понравился, драйвер - нет. Похож на мой первый. А после него было еще десять версий, и похоже, еще будут )bm( Если кратко, то у вас, из того что я понял, реализован медленный спад тока. Со всеми вытекающими.
RoboTok
Новичок
Сообщения: 19
Зарегистрирован: 27 янв 2009, 11:42
Репутация: 0
Контактная информация:

Re: Контроллер с драйвером на 4 двигателя (серва)

Сообщение RoboTok »

А можно по конкретнее.
Весь контроллер состоит из одной МК LPC2134.
Если уж делать контроллер хороший, то поставить какой нить покруче чип и загружать весь G-код в него.
Я лучше не мог поставить из за изготовления платы лутом дома.

А что вы имеете ввиду под драйвером с медленным спадом?

Там обычный мост стоит, других вариантов изготовления не встречал...
VShaclein
Опытный
Сообщения: 183
Зарегистрирован: 25 авг 2008, 11:36
Репутация: -47
Контактная информация:

Re: Контроллер с драйвером на 4 двигателя (серва)

Сообщение VShaclein »

Тем и понравился, что довольно мощный, хоть для крутых задач может и слабоват.
Медленный спад тока в обмотке - про это уже писано-переписано. Для коллекторника и привода тележки может и не так важно, но для сервы и для шаговиков важно, т.к. без этого они становятся тормозными в управлении - сигнал уже снят, а ток все продолжает течь.
spike
Почётный участник
Почётный участник
Сообщения: 358
Зарегистрирован: 08 фев 2010, 01:03
Репутация: 5
Контактная информация:

Re: Контроллер с драйвером на 4 двигателя (серва)

Сообщение spike »

VShaclein писал(а):..Медленный спад тока в обмотке - про это уже писано-переписано...
Вить, на "избранное" кинь ссылку - ознакомиться с явлением и методами борьбы...
Мысль кстати пришла: очевидно что энергию в индуктивности двигателя надо куда-то девать, так можт ее в конденсатор? а потом использовать? вроде как "рекуперация"?
VShaclein
Опытный
Сообщения: 183
Зарегистрирован: 25 авг 2008, 11:36
Репутация: -47
Контактная информация:

Re: Контроллер с драйвером на 4 двигателя (серва)

Сообщение VShaclein »

Это хде ? Вот дока от алегры - все расписано, что должно быть:

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 скачиваний
RoboTok
Новичок
Сообщения: 19
Зарегистрирован: 27 янв 2009, 11:42
Репутация: 0
Контактная информация:

Re: Контроллер с драйвером на 4 двигателя (серва)

Сообщение RoboTok »

Хитрые у вас выражения "Медленный спад тока в обмотке".
Довольно трудно понять о чём речь, но я попробую.

Наверно вы хотели спросить, есть ли торможение двигателем в моём драйвере ? )bj(

И скажу я вам, что да есть торможение двигателем и если что, то можно быстро остановить его.

А в моей тележке - это вообще вред.
Железо разбивает в лёт.
Сделал плавное изменение ШИМ и двигатель разгоняется с 0 до максимума за 1с.
Уже работает нормально, хоть и реакция плохая.
kentawrik
Опытный
Сообщения: 158
Зарегистрирован: 25 авг 2008, 00:46
Репутация: 14
Контактная информация:

Re: Контроллер с драйвером на 4 двигателя (серва)

Сообщение kentawrik »

Со схемой понятно.
Но сразу говорю что 4мя сервами на одном контроллере с приемлимой скоростью и разрешением, для станка, управлять невозможно!
Проще тогда ставить драйвер сервы на дуокоре сделанный...
Сила в схеме - важная вещь - но не первостепенная, как я понял работа энкодера - важнее. Необходимо не только обеспечить достаточную точность считывания на больших скоростях, но и еще ПИД-регулирование обсчитать. А вот это задачка не слабая.
Я пока кроме как на ПЛИС это сделать вариантов не вижу.
представьте если с помощью энкодера необходимо обсчитать ПИД для одного двигателя с разрешением 200 импульсов на 1 мм (сразу переведу),
для скорости хотя бы 1 м/c. Какая для этого должна быть производительность контроллера?
Ответить

Вернуться в «Электроника»