да, я в курсе про OR-Servo, у меня немного другие задачи, например для пулеподатчика мне нужно определенное усилие и не устраивает входной диапазон напряжений сервы. т.к. в серву все равно надо лезть, то попробую сделать что-то универсальное... сейчас я перепишу прогу сервы в стандартном применении, но подниму частоту шим, посмотрю как себя будет вести моя серва по сравнению со стандартной.
Добавлено спустя 3 минуты 23 секунды:
avr123.nm.ru писал(а):
Dmitry__ писал(а):если программно успею обработать i2c на 100 кгц. то остановлюсь на i2c.
ИМХО лучше аппаратный использовать и ATmega168
у меня нет серв с ATmega168, нам setar отвалил серв с пикинами... аппаратный i2c есть в PIC16F1823 пин в пин совместимый с пикиной из сервы, если что перейду на нее
почти дописал стандартную прошивку серы, pwm получился 15 кгц, двигатель еле свистит. Разрешение по ppm получилось около 10 бит. Получается, что резистор обратной связи надо обрабатывать с такой же точностью, при этом мой сервотестер дает около 250 градаций PPM В стандартной HXT12K ПИДа не нашел, качалка доползает до установленной точки как ПИ регулятор. Угол отработки сервы какой-то очень маленький. Вот думаю как правильно сделать калибровку конечных точек отработки сервы. Или делать перемычку, типа если при вкл. питания установлена перемычка, то ползти в крайние точки, и константы - Х% записывать в еепром, или при вкл. питания, если нет PPM, то начать калибровку, или хз как? На какой интерфейс менять PPM?
какой ПИ? я ковырял серву, правда другую - там тупо П... разница между заданием и реальностью пропорциональна ШИМ на движек.. правда может быть не линейна, а со ступеньками...
«Как сердцу выразить себя? … Мысль изреченная есть ложь!» В этом мире меня подводит доброта и порядочность... "двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
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 - перевести все сервы на шине в пассивный режим.
Duhas писал(а):какой ПИ? я ковырял серву, правда другую - там тупо П... разница между заданием и реальностью пропорциональна ШИМ на движек.. правда может быть не линейна, а со ступеньками...
Ну, это что-то совсем дешевая серва, при попытке сместить качалку, она не возвращается обратно?
Добавлено спустя 2 минуты 49 секунд: Re: Переделка сервы HXT12K (T-Pro MG945) под постоянное вращение =DeaD= это припарка к стандартной серве или свой контроллер?
Будет конечно, но только вроде пропорционально, т.е. не увеличивая мощность по интегральной компоненте
Добавлено спустя 1 минуту 8 секунд: Re: Переделка сервы HXT12K (T-Pro MG945) под постоянное вращение Это припарка к любой стандартной серве: post213506.html#p213506
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Ну тут двоякое ощущение - с одной стороны конечно хочется красоты и перепрошивки PIC встроенной в HXT12k, с другой - я PIC'и программить не умею, да и подход с внешней платой подходит к любой серве. Думаю оба варианта имеют право на жизнь.
PS: Позже отделю хвост темы.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Dmitry__ писал(а):Ну, это что-то совсем дешевая серва, при попытке сместить качалку, она не возвращается обратно?
у вас странное понятие о П регуляторе..
«Как сердцу выразить себя? … Мысль изреченная есть ложь!» В этом мире меня подводит доброта и порядочность... "двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
у П регулятора хоть и есть обычно некоторая ошибка статичная, но он таки регулятор и стремится минимизировать невязку.. только перестает делать это при подходе на 90-95-97% к цели..
«Как сердцу выразить себя? … Мысль изреченная есть ложь!» В этом мире меня подводит доброта и порядочность... "двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"