roboforum.ru

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

Как вам такая унификация "строительных блоков"?

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

Сообщение avr123.nm.ru » 21 сен 2006, 22:22

вот это может пригодится - ADuM1250 ADuM1251 i2c изоляторы analog.com
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение =DeaD= » 22 сен 2006, 15:44

avr123.nm.ru писал(а):вот это может пригодится - ADuM1250 ADuM1251 i2c изоляторы analog.com

А чего они полезного делают? От статики защищают?
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Сообщение -= Александр =- » 22 сен 2006, 15:53

В общем от всего. Индуктивные гальванические развязки. Довольно неплохая штука, я похожие по работе в девайсы ставлю, когда надо ставить раздельное питание без общей земли.
Аватара пользователя
-= Александр =-
Мастер Самоделкин
 
Сообщения: 3678
Зарегистрирован: 11 окт 2004, 19:20
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич

Сообщение =DeaD= » 22 сен 2006, 16:12

И что мне теперь тогда питание отдельно подводить? Тогда через него шибанет :) ну нафиг, еще защиту от грозы поставить :)
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Сообщение avr123.nm.ru » 22 сен 2006, 20:30

дак не везде а в некоторых модулях можно поставить - наиболее шумных или "напряженных"
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение -= Александр =- » 22 сен 2006, 20:39

Я такие штуки юзаю чтобы полностью отвязать моторные цепи от управляющих. Иногда по общей земле помеха проходит...
Аватара пользователя
-= Александр =-
Мастер Самоделкин
 
Сообщения: 3678
Зарегистрирован: 11 окт 2004, 19:20
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич

Сообщение =DeaD= » 22 сен 2006, 21:32

-= Александр =- писал(а):Я такие штуки юзаю чтобы полностью отвязать моторные цепи от управляющих. Иногда по общей земле помеха проходит...

Мысль понята, спасибо за полезную инфу, буду делать драйвер двигателей попробую применить, хотя конкретно эти микры оказались недоступны в моем регионе (ПромЭлектроника здесь основной поставщик).
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Сообщение avr123.nm.ru » 22 сен 2006, 22:13

напрямую бесплатно закажите.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение =DeaD= » 24 сен 2006, 23:32

Бесплатно заказывать - ну может быть, буду смотреть ближе к делу.

Скорее всего протокол для RS232<=>I2C буду делать на базе объявленного здесь: http://www.emicros.com/i2c232.htm
Чтоб не изобретать велосипед и не вставать на уже истоптанные грабли :).
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Сообщение =DeaD= » 25 сен 2006, 00:25

Обозначения:
{nl} - возврат каретки "\n";
Все числа hh в 16-ричном формате по 2 символа на байт - 00..FF;
()*(a,b) - то что в первых скобках может повторяться от a до b раз;
jj - адрес в 16-ричном формате;

Список команд:

Njj - передать "START"-метку в шину с флагом "W"-запись и на адрес jj;
отбивка о выполнении - Njj{nl}

Mjj - передать "START"-метку в шину с флагом "R"-чтение и на адрес jj;
отбивка о выполнении - Mjj{nl}

P - передать "STOP"-метку в шину;
отбивка о выполнении - P

Wjjhh(hh)*(0,63) - передать в шину сообщение для устройства jj длиной от 1 до 64 байт с включением START и STOP условий;
отбивка о выполнении - Wjjhh(hh)*(0,63){nl}

Rjjhh - запросить с устройства jj последовательность байт длиной от 1 до 64 с включением START и STOP условий;
отбивка о выполнении - Rjjhh(hh)*(0,63){nl}

Thh(hh)*(0,63) - послать в шину последовательность от 1 до 64 байт без включения START и STOP условий, но с получением подтверждения каждого байта ACK-сигналом;
отбивка о выполнении - Thh(hh)*(0,63){nl}

Khh - считать с шины последовательность байт длиной от 1 до 64 без включения START и STOP условий, но с подтверждением каждого байта ACK-сигналом;
отбивка о выполнении - Khh(hh)*(0,63){nl}

L - считать с шины 1 байт без включения START и STOP условий и без подтверждением ACK-сигналом;
отбивка о выполнении - Nhh{nl}

Команды посылаемые через RS-232 складываются в буфер и выполняются при получении символа {nl}.

Ничего не забыл?
Последний раз редактировалось =DeaD= 25 сен 2006, 19:32, всего редактировалось 3 раз(а).
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Сообщение =DeaD= » 25 сен 2006, 00:37

Далее собственно сам интерфейс общения с модулем через i2c:

Типовой формат команды:

NjjTFFLP{nl}, - запросить тип и версию устройства с адресом jj (4 байта - первые два = производитель, затем тип устройства, затем версия);
пример - N01TLP{nl} - Запросить тип устройства с адресом 01;
пример ответа - N01TFFL00P{nl}


NjjTxxyyP{nl}, где xx=20..38 (32+0..24 в 16-чном виде) - установить тип вывода xx в yy (00 - цифровой вход, 01 - цифровой выход, 02 - ШИМ-выход для сервы) для устройства с адресом jj;
пример - N01T2501{nl} - 5-й вывод устройства 01 сделать цифровым выходом (тип=01);
пример ответа - N01T2501{nl}


NjjTxxyyP{nl}, где xx=00..18 (0..24 в 16-чном виде) - установить значение вывода xx в yy для устройства с адресом jj;
пример: N01T0501{nl} - установить 5-й вывод устройства 01 в 1;
пример ответа - N01T0501{nl}


NjjTxxLP{nl}, где xx=80..98 (128+0..24 в 16-чном виде) - считать значение входа xx для устройства с адресом jj;
пример: N01T85LP{nl} - считать 5-й вывод устройства с адресом 01;
пример ответа - N01T85L01P{nl}


NjjTxxLP{nl}, где xx=A0..B8 (160+0..24 в 16-чном виде) - считать тип вывода xx для устройства с адресом jj;
пример: N01T85LP{nl} - считать тип 5-го вывода устройства с адресом 01;
пример ответа - N01T85L01P{nl}


Соответственно базовое устройство должно перехватывать все запросы к себе и не выкидывать их в шину i2c, а просто выполнять "на себе". Для этого считаем, что базовое устройство имеет адрес FF, благо нормальные устройства на шине i2c имеют адреса 00..7F.
Последний раз редактировалось =DeaD= 25 сен 2006, 19:22, всего редактировалось 2 раз(а).
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Сообщение =DeaD= » 25 сен 2006, 08:49

Kanoka писал(а):Я решил использовать RJ11, подключается и отключается легко, имеет ключ и замок и сам кабель довольно тонкий, да и выглядит цивильненько.

Я вот не понял - RJ-11 это TP6P4 или TP4P4? :)
Потому как я выбрал TP4P4 - он меньше :)
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Сообщение avr123.nm.ru » 25 сен 2006, 11:38

внизу 1-й страницы курса есть каталоги с картинками - посмотрите.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение =DeaD= » 25 сен 2006, 11:45

avr123.nm.ru писал(а):внизу 1-й страницы курса есть каталоги с картинками - посмотрите.

да я в целом то понимаю что по хорошему это TP6P4, только некоторые называют TP4P4 как RJ-11 вместо RJ-22 правильного, вот и спрашиваю у Каноки - у него то какой вариант? Правда на самом деле пофиг какой, потому как вилка от TP4P4 спокойно входит в TP6P4 :)

2Kanoka: у вас какая разводка по контактам? или у вас не i2c?
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Сообщение avr123.nm.ru » 25 сен 2006, 12:46

советую посмотреть в аналогичных системах - чтоб совместимость была.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Пред.След.

Вернуться в Электроника, электротехника

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18