roboforum.ru

Технический форум по робототехнике.

Программное управление ДПТ

Раздел создан специально для людей которым интересна робототехника, но в силу разных причин они не знают с чего начать.
Задавайте ваши вопросы, какими бы простыми они не казались, постоянные посетители форума постараются ответить на них по мере своих сил.
Робот своими руками. Самодельный робот.

Программное управление ДПТ

Сообщение Xenos » 15 ноя 2005, 17:43

Здравствуйте, уважаемые!
Имеется: ПК, ДПТ (двигатель постоянного тока - не какой нибудь конкретный, а примерно <100Вт), счетчик числа оборотов.
Задача: реализовать программное управление числом оборотов ДПТ с обратной связью.

Возможно ли построить управление ДПТ по такой схеме:
1. предварительно рассчитывается цифровая программа управления ДПТ (имеются ввиду напряжения в каждый дискрет времени);
2. программа реализуется в аналоговый сигнал посредством ЦАП, который через некий (не знаю какой, вопрос собственно в этом) усилитель управляет ключом соответствующей мощности;
3. датчик оборотов следит за оборотами и передает информацию в ПК для расчета коррекции программы (как некой функции отклонения реальных оборотов от заранее рассчитанных, ПИД-подобный регулятор);
4. цифровая программа корректируется в соответствии с отклонениями и подается на ЦАП, далее к п.3, пока не будет выполнена вся программа?

Итак: что я могу сделать, так это прочитать число оборотов и рассчитать воздействие (какое оно должно быть? напряжение?)
Что я не знаю как сделать: как вот это воздействие в виде цифры с ПК приложить к ДПТ.

С уважением Xenos.
Последний раз редактировалось Xenos 18 ноя 2005, 16:57, всего редактировалось 1 раз.
Xenos
 
Сообщения: 6
Зарегистрирован: 15 ноя 2005, 17:27
Откуда: Протвино МО

Сообщение Kanoka » 15 ноя 2005, 19:39

Все делается легко, нужен драйвер двигателей, пара энкодеров и контроллер.
Эта связка работает без участия компьютера.
Скорость двигателя регулируется ШИМ, менять напряжение не нужно.

Соответственно определитесь с мощностью двигателя и подберите драйвер, контроллер подойдет любой с 8 портами (6 на два двигателя и 2 на энкодеры).

Вариант два в одном http://www.roboclub.ru/shop/electronics ... rs_89.html
Отдельно драйвер http://www.gotoco.ru/products/26013/26013.html
Kanoka
Модератор
 
Сообщения: 1274
Зарегистрирован: 11 ноя 2004, 03:18
Откуда: Москва

Сообщение Xenos » 16 ноя 2005, 15:11

Эта связка работает без участия компьютера.

В том и дело, что участие компьютера необходимо, т.к. алгоритм управления (довольно сложный и не одним двигателем) реализован именно программно.
Xenos
 
Сообщения: 6
Зарегистрирован: 15 ноя 2005, 17:27
Откуда: Протвино МО

Сообщение Kanoka » 16 ноя 2005, 23:06

Дык, не вопрос, если памяти или скорости контроллера не будет хватать ? используйте компьютер, компоненты остаются те же. Может даже получится драйвер двигателей напрямую к ЛПТ подключить, но это нужно у писишников спрашивать.
Kanoka
Модератор
 
Сообщения: 1274
Зарегистрирован: 11 ноя 2004, 03:18
Откуда: Москва

Сообщение Xenos » 17 ноя 2005, 01:22

Дык, не вопрос ... ? используйте компьютер, компоненты остаются те же

Как? ну не врубаюсь я!..
Скорость двигателя регулируется ШИМ, менять напряжение не нужно.
, кто генерит сигнал ШИМ? - контроллер? И, на сколько я знаю скорость ДПТ есть функция напряжения (при постоянной нагрузке). Ну если надо сильно (в смысле необходимо это) то и ШИМ-сигнал я на ЦАПе сделаю.
Может даже получится драйвер двигателей напрямую к ЛПТ подключить, но это нужно у писишников спрашивать.

где их найти? как у них спросить?

С уважением, Xenos.
Xenos
 
Сообщения: 6
Зарегистрирован: 15 ноя 2005, 17:27
Откуда: Протвино МО

Сообщение Kanoka » 17 ноя 2005, 02:07

Как? ну не врубаюсь я!..

Программа управления двигателями, в зависимости от внешних факторов или просто по уже известной последовательности, выполняется в контроллере.

Да, если понять что именно нужно, объяснять будет легче. Конкретизируйте задачу.

кто генерит сигнал ШИМ? - контроллер?

Контроллер генерит, напряжением менять скорость вращения двигателей в цифровой технике, мягко говоря лишнее. ШИМ-мом получаем то-же эффект.

где их найти?

Где писишников найти? :) 99 процентов на этом форуме на писюках сидят
Kanoka
Модератор
 
Сообщения: 1274
Зарегистрирован: 11 ноя 2004, 03:18
Откуда: Москва

Сообщение ASin » 17 ноя 2005, 05:41

Дык тут две соседние ветки на ту же тему: про шим и про серву  :wink:

А про LPT, повторюсь, видел где-то в недрах телесиса пост человека, пытавшегося управлять из-под винды шаговиками фрезерного станка. Он писал, что ни о каком равномерном движении речи не шло -- многозадачная ОС в принципе не может выдать нормальный периодический сигнал. Поэтому придётся либо ставить RTOS, либо приделывать внешний контроллер.

А вот про ПИД-подобный регулятор можно поподробнее? Интересуюсь в последнее время  :)
ASin
 
Сообщения: 155
Зарегистрирован: 18 дек 2004, 03:14
Откуда: Москва

Сообщение Kanoka » 17 ноя 2005, 16:09

А что такое ПИД-подобный регулятор?
Kanoka
Модератор
 
Сообщения: 1274
Зарегистрирован: 11 ноя 2004, 03:18
Откуда: Москва

Сообщение Xenos » 18 ноя 2005, 20:00

Ребят, ну не электронщик я, а программист, и далеко не системный, так что контроллеры для меня вообще лес темный.
Программа управления двигателями, в зависимости от внешних факторов или просто по уже известной последовательности, выполняется в контроллере

Так, понятно, но мне нужно чтобы программа управления выполнялась в компьютере, а уж потом управляющее воздействие (которое опять же рассчитано в компьютере) подавалось на двигатель через ... (может быть контроллер). Вот нужно мне например изменить алгоритм пересчета управляющего воздействия - контроллер перепрошивать?

Да, если понять что именно нужно, объяснять будет легче. Конкретизируйте задачу.

Давайте конкретизировать:
Имеется последовательность (читай программа, с любой, в пределах машинной точности дискретностью) чисел - оборотов двигателя в определенный момент времени. Необходимо выполнить эту программу как можно точнее. Для этого есть ПК, датчик числа оборотов (это мышь, подключенная к USB), есть "черный ящик" (некое устройство, собственно управляющее двигателем), ну и сам двигатель (в чистом виде - только двигатель).

"Черный ящик"
Что из себя представляет "черный ящик": это устройство одним (входным) концом подключенное к ПК, другим (выходным) к ДПТ. Что у него внутри я не знаю, в этом собственно вопрос.

Выход "черного ящика" - два контакта, непосредственно подключенные к ДПТ. Количество оборотв двигателя - есть функция напряжения на выходе "черного ящика".
Входом "черного ящика" может быть практически любой внешний интерфейс ПК, предпочтительнее это выглядело бы так: к разъему ISA, PCI подключено устройство, являющееся частью "черного ящика", лучше всего чтобы это устройство было бы заводским, с комплектом драйверов и руководством по программированию. Такое решение решило бы проблему
Он писал, что ни о каком равномерном движении речи не шло -- многозадачная ОС в принципе не может выдать нормальный периодический сигнал
Еще лучше чтобы это была звуковая карта, которая собственно представляет собой ЦАП (про характеристики выходного сигнала я правда пока мало чего знаю), применение звуковой карты позволило бы применить для управления DirectSound.

А вот про ПИД-подобный регулятор можно поподробнее? Интересуюсь в последнее время


Целью всего этого проекта является исследование качества регулирования в зависимости от применяемого алгоритма расчета управляющих воздействий. Так что об этом несколько позже.

С уважением Xenos.
Xenos
 
Сообщения: 6
Зарегистрирован: 15 ноя 2005, 17:27
Откуда: Протвино МО

Сообщение Kanoka » 18 ноя 2005, 20:07

Ну может тогда действительно промышленный контроллер с PCI взять, и получится то что хотели. Денег конечно он стоит немеренно, но если очень хочется...
Kanoka
Модератор
 
Сообщения: 1274
Зарегистрирован: 11 ноя 2004, 03:18
Откуда: Москва

Сообщение Xenos » 22 ноя 2005, 20:01

Ну может тогда действительно промышленный контроллер с PCI взять

Чего нибудь например имеется?
А как насчет варианта с ЦАПом звуковой карты?
Xenos
 
Сообщения: 6
Зарегистрирован: 15 ноя 2005, 17:27
Откуда: Протвино МО

Сообщение Kanoka » 22 ноя 2005, 21:00

Чего нибудь например имеется?

http://shop.elektrostyle.ru/m310se/isps ... ctid=24477

Все же я непойму, зачем преобразовывать цифру в аналог?
Kanoka
Модератор
 
Сообщения: 1274
Зарегистрирован: 11 ноя 2004, 03:18
Откуда: Москва

Сообщение Xenos » 23 ноя 2005, 13:04

Все же я непойму, зачем преобразовывать цифру в аналог?

Kanoka, давай пока забудем про ЦАП. Ты мне можешь объяснить из чего состоит "черный ящик" :?: :!:
Xenos
 
Сообщения: 6
Зарегистрирован: 15 ноя 2005, 17:27
Откуда: Протвино МО

Сообщение Kanoka » 23 ноя 2005, 17:28

"Черный ящик"? Ладно пусть будет так.

Это:
1. Контроллер который подключается к компьютеру через COM или LPT порт (во я слов набрался :) тут я не силен, никогда с ними не сталкивался), немного сложнее через USB.

2. Драйверы двигателей которые подключаются к контроллеру. Для вращения двигателя в обе стороны нужно 2 порта контроллера (две ноги микросхемы), для вращения с переменной скоростью ? 3.

Все. Соответственно теперь понимаем сколько у нас двигателей, сколько Ампер нужно на каждый, и подбираем нужные детали.
Kanoka
Модератор
 
Сообщения: 1274
Зарегистрирован: 11 ноя 2004, 03:18
Откуда: Москва

Сообщение phenyx » 24 ноя 2005, 11:48

Товарщи. Я может и не к месту, но мне нужна помощь! Дайте пожалутся схему какого нибудь lpt устройства для управления ДПТ на основе микросхемы...
phenyx
 


Вернуться в Новичкам или основы основ роботостроения.

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

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