Технический форум по робототехнике.
avr123.nm.ru » 05 окт 2011, 22:49
Dmitry__ писал(а):если программно успею обработать i2c на 100 кгц. то остановлюсь на i2c.
ИМХО лучше аппаратный использовать и ATmega168
Dmitry__ » 05 окт 2011, 23:01
да, я в курсе про OR-Servo, у меня немного другие задачи, например для пулеподатчика мне нужно определенное усилие и не устраивает входной диапазон напряжений сервы.
т.к. в серву все равно надо лезть, то попробую сделать что-то универсальное...
сейчас я перепишу прогу сервы в стандартном применении, но подниму частоту шим, посмотрю как себя будет вести моя серва по сравнению со стандартной.
Добавлено спустя 3 минуты 23 секунды:avr123.nm.ru писал(а):Dmitry__ писал(а):если программно успею обработать i2c на 100 кгц. то остановлюсь на i2c.
ИМХО лучше аппаратный использовать и ATmega168
у меня нет серв с ATmega168, нам setar отвалил серв с пикинами...
аппаратный i2c есть в PIC16F1823 пин в пин совместимый с пикиной из сервы, если что перейду на нее
Dmitry__ » 07 окт 2011, 18:24
почти дописал стандартную прошивку серы, pwm получился 15 кгц, двигатель еле свистит. Разрешение по ppm получилось около 10 бит. Получается, что резистор обратной связи надо обрабатывать с такой же точностью, при этом мой сервотестер дает около 250 градаций PPM

В стандартной HXT12K ПИДа не нашел, качалка доползает до установленной точки как ПИ регулятор. Угол отработки сервы какой-то очень маленький. Вот думаю как правильно сделать калибровку конечных точек отработки сервы.
Или делать перемычку, типа если при вкл. питания установлена перемычка, то ползти в крайние точки, и константы - Х% записывать в еепром, или при вкл. питания, если нет PPM, то начать калибровку, или хз как? На какой интерфейс менять PPM?
Duhas » 07 окт 2011, 18:34
какой ПИ? я ковырял серву, правда другую - там тупо П... разница между заданием и реальностью пропорциональна ШИМ на движек.. правда может быть не линейна, а со ступеньками...
=DeaD= » 07 окт 2011, 18:38
1-проводной уарт возможен в обе стороны, на той же ноге, куда PPM заходит?
Калибровку делать по отдельной команде.
У нас следующий протокол сейчас (все сервы имеют общий сигнальный провод, по умолчанию передаёт вышестоящий контроллер или ПК, а сервы слушают, если какую-то конкретную серву попросили ответить - только тогда и только она отвечает, далее опять все слушают вышестоящий контроллер):
Общение идёт байтами - каждый байт это либо команда, либо байт данных.
Для определенности мы сделали, чтобы байты данных и команд за редкими исключениями не пересекались.
Исключения - ответы о положениях серв и задание адреса сервы.
0...47 - Определение адреса сервы, к которой обращаемся. Если после первой команды будет еще одна - значит обращаемся к следующей по номеру сервы, чтобы не передавать по 5 раз адреса, когда обращаемся к 5 подряд стоящим сервам.
48 - широковещательный адрес
49 - установка адреса (в этом режиме должна быть подключена к шине всего одна серва, после этой команды будет передан адрес, который ставим)
50..250 - установить положение сервы (шим от 500мкс до 2500мкс)
254 - прочитать положение сервы
255 - отключить серву
Добавлено спустя 1 минуту 51 секунду:
Re: Переделка сервы HXT12K (T-Pro MG945) под постоянное вращение
Например:
49,0 - задать всем сервам на шине адрес 0.
48,255 - перевести все сервы на шине в пассивный режим.
0,150,150,150,150 - задать сервам 0..3 шим 1500мкс.
2,254 - запросить у сервы 2 её положение.
Dmitry__ » 07 окт 2011, 18:50
Duhas писал(а):какой ПИ? я ковырял серву, правда другую - там тупо П... разница между заданием и реальностью пропорциональна ШИМ на движек.. правда может быть не линейна, а со ступеньками...
Ну, это что-то совсем дешевая серва, при попытке сместить качалку, она не возвращается обратно?
Добавлено спустя 2 минуты 49 секунд:Re: Переделка сервы HXT12K (T-Pro MG945) под постоянное вращение=DeaD=
это припарка к стандартной серве или свой контроллер?
=DeaD= » 07 окт 2011, 18:51
Будет конечно, но только вроде пропорционально, т.е. не увеличивая мощность по интегральной компоненте
Добавлено спустя 1 минуту 8 секунд:Re: Переделка сервы HXT12K (T-Pro MG945) под постоянное вращениеЭто припарка к любой стандартной серве:
post213506.html#p213506
Dmitry__ » 07 окт 2011, 19:01
если там только П , то при увеличении нагрузки на серву, она будет отходить от точки удержания , обратно вернется только после снятия нагрузки
Добавлено спустя 7 минут 44 секунды:=DeaD= писал(а):Это припарка к любой стандартной серве
Пугает меня уровень программы стандартной HXT12K, и как тогда решить проблему маленького угла отработки сервы?
=DeaD= » 07 окт 2011, 19:07
Проще пареной репы - пару резисторов к переменнику напаять

Dmitry__ » 07 окт 2011, 19:12
вот ты хитрый
а это по пацански?
я не мешаю тут со своей сервой? может в отдельную тему?
=DeaD= » 07 окт 2011, 19:19
Ну тут двоякое ощущение - с одной стороны конечно хочется красоты и перепрошивки PIC встроенной в HXT12k, с другой - я PIC'и программить не умею, да и подход с внешней платой подходит к любой серве. Думаю оба варианта имеют право на жизнь.
PS: Позже отделю хвост темы.
Dmitry__ » 07 окт 2011, 19:30
прошивку я выложу здесь или кооператив с вашим магазином для популизации сервы.
Мне главное гарантированность покупки этих серв в будущем...
Duhas » 07 окт 2011, 21:00
Dmitry__ писал(а):Ну, это что-то совсем дешевая серва, при попытке сместить качалку, она не возвращается обратно?
у вас странное понятие о П регуляторе..
Dmitry__ » 07 окт 2011, 21:20
просвети
Duhas » 07 окт 2011, 21:31
у П регулятора хоть и есть обычно некоторая ошибка статичная, но он таки регулятор и стремится минимизировать невязку.. только перестает делать это при подходе на 90-95-97% к цели..