roboforum.ru

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

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

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

Xenos » 15 ноя 2005, 17:43

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

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

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

С уважением Xenos.
Последний раз редактировалось Xenos 18 ноя 2005, 16:57, всего редактировалось 1 раз.

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

Xenos » 16 ноя 2005, 15:11

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

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

Kanoka » 16 ноя 2005, 23:06

Дык, не вопрос, если памяти или скорости контроллера не будет хватать ? используйте компьютер, компоненты остаются те же. Может даже получится драйвер двигателей напрямую к ЛПТ подключить, но это нужно у писишников спрашивать.

Xenos » 17 ноя 2005, 01:22

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

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

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

С уважением, Xenos.

Kanoka » 17 ноя 2005, 02:07

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

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

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

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

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

где их найти?

Где писишников найти? :) 99 процентов на этом форуме на писюках сидят

ASin » 17 ноя 2005, 05:41

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

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

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

Kanoka » 17 ноя 2005, 16:09

А что такое ПИД-подобный регулятор?

Xenos » 18 ноя 2005, 20:00

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

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

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

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

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

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

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


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

С уважением Xenos.

Kanoka » 18 ноя 2005, 20:07

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

Xenos » 22 ноя 2005, 20:01

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

Чего нибудь например имеется?
А как насчет варианта с ЦАПом звуковой карты?

Kanoka » 22 ноя 2005, 21:00

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

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

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

Xenos » 23 ноя 2005, 13:04

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

Kanoka, давай пока забудем про ЦАП. Ты мне можешь объяснить из чего состоит "черный ящик" :?: :!:

Kanoka » 23 ноя 2005, 17:28

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

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

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

Все. Соответственно теперь понимаем сколько у нас двигателей, сколько Ампер нужно на каждый, и подбираем нужные детали.

phenyx » 24 ноя 2005, 11:48

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


Rambler\'s Top100 Mail.ru counter