roboforum.ru

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

Модификация сервы под 1-wire-UART

Re: Модификация сервы под 1-wire-UART

Aseris » 10 ноя 2010, 18:33

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

А 1-Wire использует принцип подсчета импульсов за отрезок времени, менее требовательное к тактированию ИМХО, а проц оно грузить будет только при приеме, если начало приема вылавливать прерыванием, у нас ведь в серве слейв стоит.

Re: Модификация сервы под 1-wire-UART

Michael_K » 10 ноя 2010, 19:28

Проблемы надуманы.

Софтовый уарт даже полнодуплексный вполне себе работает - вешается на тайиер...
по скоростям уарт допускает разбег в 5% (ну это крайний случай - обычно говорят про 2.5 - 3). Такой точности на АВРках легко можно добиться даже без кварцев, особенно если смотреть на последние тиньки-межки (у стареньких встроенный генер был гораздо менее стабильным).

Я делал неоднократно и конфигурации один мастер - много слейвов, и с многими мастерами на шине - это проблема арбитража, а не скоростей. Другое дело, что на высоких скоростяк в куче проводов фронты ведут себя мерзко... но это уже чисто электрические проблемы.

Re: Модификация сервы под 1-wire-UART

boez » 10 ноя 2010, 19:37

Вообще конечно приятнее был бы протокол с битовой синхронизацией, он надежнее при отсутствии кварцев. А в частности 1-wire хорош тем, что кроме побитовой синхронизации в нем сразу заложена возможность ответа нескольких устройств одновременно и основанная на этом модель автодетекта адресов устройств. И уникальные адреса. Если делать свой протокол - то адреса наверное тоже желательны уникальные, хотя можно и какой-нить протокол раздачи адресов намутить. Или просто сделать команду "записать в еепром сетевой адрес", тогда перед началом работы каждую серву подключаем к контроллеру по одной штуке и задаем ей адрес, который затем пишем гвоздиком фломастером на боку сервы.

Re: Модификация сервы под 1-wire-UART

Michael_K » 10 ноя 2010, 20:27

Фичи-то у 1-wire хорошие, но реализация уж очень специфичная...

Re: Модификация сервы под 1-wire-UART

Vooon » 11 ноя 2010, 01:09

DeaD, для этого проекта я бы попробовал STM8S105K4 (LQFP32 7x7 mm, 16 K Flash, 2 K RAM, 1 K EEPROM) ~50 руб.
Жаль пока еще нет бесплатных компилеров, но можно купить STM8S-Discovery ~330 руб. с ним идет отладчик и софт.

Главное - LIN Slave и комплиментарные выходы ШИМа.

Вообще сначала хотел 103 с SSOP20, но там только LIN Master.

И я пожалуй бы реализовал бы стандарт LIN полностью, не хочу велосипедировать :)

Добавлено спустя 1 минуту 44 секунды:
Вообще периферия STM8 почти такая же, как в STM32.
А у него она мне весьма нравится, еще бы качество доков повыше... :)

Re: Модификация сервы под 1-wire-UART

=DeaD= » 11 ноя 2010, 08:48

LQFP32 - это аут. Пока 8 ног будет для начала и родной AVR :pardon: .

Re: Модификация сервы под 1-wire-UART

=DeaD= » 13 ноя 2010, 15:43

Закупил 100шт ATTiny45 в SO8Wide, отрезаю пути к отступлению :crazy:

А то как обычно - всё доделаю, а МК пропали :pardon:

Re: Модификация сервы под 1-wire-UART

avr123.nm.ru » 13 ноя 2010, 21:32

почем ?

Re: Модификация сервы под 1-wire-UART

=DeaD= » 13 ноя 2010, 21:33

Так и знал :) ладно, напишу здесь, а то замучают :) по 43.65

Re: Модификация сервы под 1-wire-UART

Zeus » 16 ноя 2010, 10:02

Какая скорость передачи планируется?
Если каждый байт синхронизируется, то между ними нада вроде задержки делать?
Проверку CRC-16 планируете делать?
Интересно сколько времени займет опрос/установка 32 серв?

Re: Модификация сервы под 1-wire-UART

=DeaD= » 16 ноя 2010, 10:11

Сколько вопросов :) Задержку между байтами конечно надо. Скорость пока планирую 28800. Если по 16 бит на байт (включая задержку) - это 1800 байт в секунду будет.

Опрос-установка 32 серв - а зачем каждый раз опрос?

Реальная задача - шестиног, у него 18 серв. Это надо передать 36 байт. Можно с частотой 50Гц вещать. А чаще и не надо - серва всё равно на входе имеет сигнал с частотой 50Гц.

Re: Модификация сервы под 1-wire-UART

=DeaD= » 23 ноя 2010, 16:58

Информация о состоянии:
* К проекту подключился тов. Nikitoz

Re: Модификация сервы под 1-wire-UART

HarryStar » 19 фев 2015, 12:39

Немножко некропостинга :)
Чем закончился проект? Сейчас пытаюсь найти нормальную реализацию 1wire slave на Си на авр с целью подключить 1-8 серв (по возможности) и другую свою периферию. Компактностью и ценой я правда не ограничен.

Очень был бы интересен ваш опыт, т.к. задачи близкие. Заранее спасибо.

Re: Модификация сервы под 1-wire-UART

Madf » 19 фев 2015, 17:27

HarryStar писал(а):Компактностью и ценой я правда не ограничен.

Если так, то вас этот проект не должен волновать. :D Проще использовать Dynamixel.

Re: Модификация сервы под 1-wire-UART

HarryStar » 25 фев 2015, 22:39

:) Не настолько не ограничен по цене. Я имел в виду что терзания ТС 40 руб или 60 мне без разницы, хоть 100, хоть 200, даже больше.

В принципе сейчас пишу свою реализацию Slave 1-wire на Си, существующие в инете не понравились совсем...


Rambler\'s Top100 Mail.ru counter