Компьютер управляет сервоприводом   

Продолжение темы управления для теннисного автомата  см начало.   

Из кинофильма «Формула любви»

— Селянка, а селянка! Хочешь большой, но чистой любви?
— А кто ж ее не хочет?
— Приходи вечером на сеновал. Придешь?
— Приду, отчего ж не прийти? Только уж и Вы приходите. А то вот они тоже обещали и не пришли.
— А она с кузнецом придет.
— Зачем нам кузнец? Что я лошадь, что ли?

Для управления сервоприводами зачем “лошадь”?  

 

Адрес документа:

http:// 90.189.213.191:4422/temp/tenis_bam_v4/tenis_bam_v4.doc    инд.2-63-4

Адрес программы: 

http://90.189.213.191:4422/temp//temp/test_monsys.zip

 Содержание

Назначение

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

Схема подключения

Пояснения к схеме и формированию ШИМ

Для понимания процесса, рассмотрим осциллограммы в основных точках схемы. Период значительно больше рассматриваемых сигналов и повторная   серия сигналов, следовательно, остается за кадром. Масштаб сигналов виден на панели. В клетке по вертикали 0,3 вольта, в клетке по горизонтали 1 мкс.

Ниже на рисунке осциллограмма  сигнала одного кода x00 ( 0000-0000 в битовом отображении) на выводе D-. Указано место  линии траектории  заряда-разряда интегрирующей цепочки R1C1.

Форма сигналов последующих кодов x00 аналогична. Ниже на рисунке серия из 4-х периодов. Цветом  выделены линии заряда-разряда и видно,  что только первый импульс искажен, а последующие почти без изменений. Это указывает на заряд С1 и последующее сохранение заряда.

На цепи C1R1 и входах 1-2  элемента 2И-НЕ  получается суммарный сигнал. Ниже на рисунке, серия сигналов xFF. Выделено цветом уровень логического нуля  0,5в и уровень логической единицы 2,5в. Масштаб, в одной клетке по вертикали 0,3 вольта и в одной клетке по горизонтали 1-а мс. Виден период в серии.

Таким образом, входной сигнал интегрирован. На выходе 1-го элемента выводы 3-4-5, компаратора 2И-НЕ ИМС-1 получается «огибающая» сигнала. Показано ниже на рисунке.  Видно пологое восстановление сигнала, вызванное разрядом цепи C1R1.

На втором элементе 2И-НЕ, вывод 6, получается идеальный прямоугольный сигнал, для управления сервоприводом.

Ниже на рисунке показана серия для управления импульс в 2,2мс и период в 20 мс.

Программа для тестирования сервопривода

 Это все один и тот же файл  test_monsys.exe , содержит в своем теле исполнение, текст, компилятор и возможности для дальнейшего развития.

Требуется выполнить программу,  ключами настройки в командной строке. Для получения cmd-файла с настройками, вначале выполняется переход к нашему режиму ШИМ-управления  сервопривода, а именно:

Далее, нажимать или на клавиатуре или мышкой на окне и перейти на режим ШИМ.

Для автоматического перехода и выполнения используется сформированный файл test_tenis_rs-485-1_servoprivod.cmd   Он открывается и редактируется текстовым редактором. Например, БЛОКНОТом.  Файл содержит наименование исполняемого файла, и всю последовательность командной строки, необходимую для задания режима управления сервоприводом. 

test_monsys.exe s 3 m  3 x z  3 v 2400000  8  1 5     где, после наименования файла идут опции:

Sрежим работы с консолью. Если поставить К- то будет выполнение без консоли.

3 – порт, задаваемый при работе с другими режимами. В нашем режиме можно указать любое число от 1..255 Т.к. порты режима ШИМ указываются далее;

mрежим выполнения с музыкальным сопровождением. Данную букву опции допускается убрать при необходимости. Другие опции убирать нельзя, т.к. не будет перехода к заданному режиму;

3 – режим тесты общие;

x – тесты rs-485;

z - управление двигателем теннисного автомата;

3 -  режим теста сервопривода;

и теперь, наиболее  важное,  для именно Вашего Компьютера и Ваших портов.

v 2400000 8 1 5  – это скорость для портов 2400000 бит в секунду, порт 8   и далее перейти к режиму 1  – тест  cервопривода и исполнить вариант 5 – постоянное плавное движение 0-90-180 градусов.

Вероятнее всего, на Вашем компьютере будут другие порты. Чтобы узнать подключенные порты, по клавише 1 вызовите диспетчер устройств. Посмотрите, что у Вас используется. Ниже на рисунке выделено два порта 22 и 26.  Запишите тот, который подключен к схеме сервопривода. Допускается «выдергивать» usb-rs-485 конвертор и при этом в диспетчере устройств «исчезнет» «выдернутый» порт. А после «втыкания», он вновь появится.

Помните, что если повторно Вы включаете в разные USB-порты преобразователи USB-rs-485, то будут и разные usb-serial.

Желательно, USB-порты использовать постоянные и не менять настройки.  Исправив под свой порт опции, выполните вновь файл test_tenis_rs-485-1_servoprivod.cmd   Выполниться программа, последовательно пройдет по всем окнам, настроит указанные порты и откроет режим 5 тестов сервопривода – плавное движение 0-90-180. Как показано ниже на рисунке. Цветным овалом выделено сообщение о правильном открытии порта. На Вашем компьютер сом-порт может быть другой, но от должен быть открыт правильно с сообщением =ок=.

Для скорости 115200 бит в секунду, длительность одной посылки кода x00  равна одному тактовому интервалу  8,6 мкс умноженному на 9. Итого 77,4 мкс.  Две посылки кода x0 сформируют интегрированный импульс примерно в 160 мкс, три посылки 240 мкс  и так далее.  

Точность позиционирования определяется как разница между максимальной и минимальной длительностью импульса,  деленная на длительность одного передаваемого кода.  Для  более широких условий и разных моделей сервоприводов установим Тмин=300 мкс, Тмакс=2500 мкс.   Получаем (2500-300)/77,4= 28  шагов итераций.   Это означает, что сектор в 180 градусов мы можем установить в 28 позиций. 

Вывод: скорости в 115200 бит в секунду достаточно, но мало для формирования сигнала ШИМ и качественного и точного управления сервоприводом.

Однако, современные USB-rs-485 адаптеры работают на скоростях  до 3 мбит в секунду. Это и позволяет их использовать для формирования сигналов управления ШИМ  сервоприводов.

Например, для скорости 2 400 000 бит в секунду  тактовый интервал равен 416 нс. Длительность интегрированного импульса для одного кода x00 равна 416*9= 3,7 мкс.  Получаем (2500-300)/3,7= 594  шага итераций.  Это  означает, что сектор в 180 градусов мы можем установить в 594 позиции, т.е. менее 1-го градуса, что подходит для многих задач сервоприводов.

Константа Ni  - это количество передаваемых посылок в серии. Период корректируется в зависимости от количества посылок и примерно равен 20 мс.

По тесту клавиши «5» - постоянное плавное движение вала от точки 0-градусов до 180 градусов, а затем быстрый возврат в точку 0-градусов.

По тесту клавиши  «t» – постоянное движение вала с установкой в 3-и точки: 0-90-180-90-0 . Интервал между точками одна секунда. Ниже показано, как это выглядит на столе у автора. Видео c хорошим качеством

Прототипом  тестов  взят пример  серво-тестера  фирмы Towardpro, ниже на фото.

             

 

Выводы

11-3-2015  г. Новосибирск 

Автор    Шабронов Андрей Анатольевич тс. +7  913-905-8839 shabronov@ngs.ru

    Успехов и здоровья!

Ред2. 19-09-2016  Ред.2021-3-10(тсп)