MULTICOPTER.RU
http://multicopter.ru/forum/

Протокол по шине I2C. Раскопки.
http://multicopter.ru/forum/viewtopic.php?f=7&t=634
Страница 1 из 1

Автор:  Dominikanez [ 05 янв 2011, 11:23 ]
Заголовок сообщения:  Протокол по шине I2C. Раскопки.

Привет.
Сразу дисклеймер - я новичек тут, ни одного квадрокоптера не построил, винтов не ломал, двигатели не терял, пороху не нюхал. Но очень хочу построить свой квадрокоптер, со своей основной платформой, со своими исполнительными механизмами, со своими датчиками и софтом, причем в открытом виде, т.к. это для меня хобби, сиречь отдохновение.
Назрел один вопрос при проектировании контроллера бесколлекторных двигателей - какой протокол обмена между контроллером двигателя и приемником (или основной платой)? Там, в отличие от PPM, насколько я понял, еще есть и телеметрия (токи, температуры, отказы/ошибки). Кто знает где копать адресные пространства в i2c для контроллера и прочие вещи? Хочется сделать контроллер совместимый с любыми платформами, даже S-Bus. Но инфы не хватает.

Автор:  Andrey-multicopter [ 05 янв 2011, 14:03 ]
Заголовок сообщения:  Re: Протокол по шине I2C. Раскопки.

Dominikanez писал(а):
Привет.
Сразу дисклеймер - я новичек тут, ни одного квадрокоптера не построил, винтов не ломал, двигатели не терял, пороху не нюхал. Но очень хочу построить свой квадрокоптер, со своей основной платформой, со своими исполнительными механизмами, со своими датчиками и софтом, причем в открытом виде, т.к. это для меня хобби, сиречь отдохновение.
Назрел один вопрос при проектировании контроллера бесколлекторных двигателей - какой протокол обмена между контроллером двигателя и приемником (или основной платой)? Там, в отличие от PPM, насколько я понял, еще есть и телеметрия (токи, температуры, отказы/ошибки). Кто знает где копать адресные пространства в i2c для контроллера и прочие вещи? Хочется сделать контроллер совместимый с любыми платформами, даже S-Bus. Но инфы не хватает.


Я думаю, что лучший путь - открыть исходники немецкого кода для контроллеров 0,42 и посмотреть там все. Телеметрия есть в версии 2.0 - там код закрытый. Но нужна ли эта телеметрия? Важно чтобы контроллер работал и все. Какая у него температура оператор знать не должен - она должна быть нормальной в любом случае, если коптер ррассчитывался под правильную нагрузку и с ней летает.

Автор:  Dominikanez [ 05 янв 2011, 14:43 ]
Заголовок сообщения:  Re: Протокол по шине I2C. Раскопки.

andrkolom писал(а):
Я думаю, что лучший путь - открыть исходники немецкого кода для контроллеров 0,42 и посмотреть там все. Телеметрия есть в версии 2.0 - там код закрытый. Но нужна ли эта телеметрия? Важно чтобы контроллер работал и все. Какая у него температура оператор знать не должен - она должна быть нормальной в любом случае, если коптер ррассчитывался под правильную нагрузку и с ней летает.

Про телеметрию верно. Если и делать свой контроллер, но совместимый с PPM/PWM/I2C/SBus, то телеметрию можно откинуть, т.к. по PPM/PWM и SBus её передать невозможно.
А по поводу исходников, если уж других вариантов нет, спасибо за наводку, покопаю.

UPD1: Посмотрел у немцев V0.42_addr9-12_fix_ligi. Может кому и полезно будет.
Получается протокол очень простой. У каждого устройства (контроллера двигателя) на шине i2c есть адрес, один байт, первый бит которого не используется. База для адреса - 0x50. Далее для каждого прибавляем к базе 0x02. Для классической квадры адреса такие: 0x52 - передний, 0x54 - задний, 0x56 - правый, 0x58 - левый.

Плата управления посылает запрос в шину двумя байтами: 1й - адрес, 2й - значение газа (0-255).
Контроллер двигателя с совпавшим адресом отвечает двумя байтами: 1й - значение газа на данным момент (0-255), 2й - максимально допустимое для контроллера значение (как правило, 255).

Автор:  Dan_ex [ 06 янв 2011, 00:47 ]
Заголовок сообщения:  Re: Протокол по шине I2C. Раскопки.

Правльный подход, продолжайте в том же духе. :)
это я к тому что начанать разработку АСУ нужно от управляемого устройства, а я начал с середины! :)

Автор:  SpLoiT [ 02 май 2011, 19:40 ]
Заголовок сообщения:  Re: Протокол по шине I2C. Раскопки.

Так вот сразу без теории сложновато копать код чтобы протокол понять....
Поэтому:

http://easyelectronics.ru/interface-bus-iic-i2c.html

Автор:  vis [ 03 май 2011, 02:02 ]
Заголовок сообщения:  Re: Протокол по шине I2C. Раскопки.

у 2.0 сложнее протокол однако.
там шлётся доп байт уточнения (два младших бита)
и телеметрия снимается в 3 байта (ток, что-то с pwm, температура)
ну и их можно конфигурить
протокол конфигуратора и значение бит тоже разобрал тут на досуге :)
+ еще какая-то недокументрированная хрень снимается при желании, т.к. если считывать из него много байт, то приходят не только FF :)
хз что они означают...

Автор:  Dominikanez [ 16 сен 2011, 11:22 ]
Заголовок сообщения:  Re: Протокол по шине I2C. Раскопки.

vis писал(а):
разобрал тут на досуге :)

vis, поделись пожалуйста раскопками. Приобрел BL_Ctrl_v2, с радостью перениму опыт, чтобы самому время на дампы не тратить.

Автор:  kroenen [ 16 сен 2011, 14:46 ]
Заголовок сообщения:  Re: Протокол по шине I2C. Раскопки.

Последнее посещение этого пользователя: 22 июл 2011, 14:18

Автор:  Dominikanez [ 28 сен 2011, 16:21 ]
Заголовок сообщения:  Re: Протокол по шине I2C. Раскопки.

Жалко конечно. Ни у кого нет дальнейших исследований по телеметрии немецких регулей по i2c?

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/