Ультрабюджетные проводные датчики/исполнительные устройства

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

RusikOk
Сообщения: 91
Зарегистрирован: Чт июл 24, 2014 1:48 am
Откуда: Украина, Сумы
Благодарил (а): 43 раза
Поблагодарили: 6 раз

Re: Ультрабюджетные проводные датчики/исполнительные устройс

Сообщение RusikOk » Пт авг 07, 2015 3:53 am

я тут че подумал. а если на этих STM8 сделать эмуляторы DS2408. получается реально на много дешевле и датчики типа DS18B20 на ту же шину можно вешать.
вопрос к автору. Вы таких исходников для STM8 не встречали?
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: Ультрабюджетные проводные датчики/исполнительные устройс

Сообщение Ivan » Пт авг 07, 2015 9:33 am

Я написал библиотеку для эмуляции 1Wire на Ардуино https://github.com/Shagrat2/OneWireHub/
Там много устройств в законченном состоянии.
НО позже отказался от этого по причине внесения ошибок в работу линии. Скорей всего не достаточная частота работы процессора
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
RusikOk
Сообщения: 91
Зарегистрирован: Чт июл 24, 2014 1:48 am
Откуда: Украина, Сумы
Благодарил (а): 43 раза
Поблагодарили: 6 раз

Re: Ультрабюджетные проводные датчики/исполнительные устройс

Сообщение RusikOk » Пт авг 07, 2015 9:40 am

Ivan писал(а):Скорей всего не достаточная частота работы процессора
чет я сомневаюсь, что дело в производительности кристалла. 16 mips это много. а писали Вы на чем? в той гавеной среде от ардуино?
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: Ультрабюджетные проводные датчики/исполнительные устройс

Сообщение Ivan » Пт авг 07, 2015 12:10 pm

Зря вы так сразу предосудительно настроены
Проект был рассчитан на ту категорию пользователей которые смогли хотя бы разобраться с Artduino IDE. А если бы вы посмотрели исходники увидели бы что там реализована работа с портами через регистры. И введён алгоритм подготовки поиска адреса чтобы во время поиска ID тратить меньше тактов. И явно было видно что если вставить хоть одну дополнительную проверку во время цикла поиска 1Wire шина получала искажённые данные.

Я не отрицаю что нужно было это делать не на Arduio IDE но тогда проектом бы могли пользоваться единицы.

Если вам помогут мои наработки и вы переведёте все STM8, то вам только РЕСПЕКТ

В библиотеке не реализовано осталось. alarm поиск и Eprom

Чем могу помогу. Самому интересно что выйдет.
А в заключении скажу своё мнение: 1wire выминающий продукт и на него ориентироваться не стоит
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
artko
Сообщения: 51
Зарегистрирован: Пн дек 10, 2012 12:17 am
Благодарил (а): 2 раза
Поблагодарили: 4 раза

Re: Ультрабюджетные проводные датчики/исполнительные устройс

Сообщение artko » Пт авг 07, 2015 1:44 pm

RusikOk писал(а):я тут че подумал. а если на этих STM8 сделать эмуляторы DS2408. получается реально на много дешевле и датчики типа DS18B20 на ту же шину можно вешать.
вопрос к автору. Вы таких исходников для STM8 не встречали?
неа, не видел вроде. тоже думал сначала сделать совместимый протокол, потом забил, хотелось уйти от мастер-слейв системы.
akouz
Сообщения: 254
Зарегистрирован: Ср июл 09, 2014 3:48 pm
Благодарил (а): 6 раз
Поблагодарили: 41 раз

Re: Ультрабюджетные проводные датчики/исполнительные устройс

Сообщение akouz » Пт авг 07, 2015 5:13 pm

ksgroup писал(а):
artko писал(а):Идея очень примитивная, в общем.
Есть уровень на шине доминантный(для моего случая это прижатие к земле линии) и рецессивный (никто не трогает). Собственно, обычный открытый коллектор с подтяжкой к питанию.
Идея понятна, но в RS-485 ее к сожалению не реализовать.
Неверно. Эквивалент "открытого коллектора" элементарно реализуется при помощи приемопередатчиков RS-485. Для этого вход данных передатчика RS-485 наглухо соединяется с землей, а сигнал на выходе формируется включением/выключением передатчика. Включили передатчик - получили доминантный уровень на выходах. Выключили - получили рецессивный (формируемый резисторами подтяжки).

Не говоря уж о том, что никто не запрещает использовать приемопередатчики CAN, которые ненамного дороже, чем приемопередатчики RS-485.
akouz
Сообщения: 254
Зарегистрирован: Ср июл 09, 2014 3:48 pm
Благодарил (а): 6 раз
Поблагодарили: 41 раз

Re: Ультрабюджетные проводные датчики/исполнительные устройс

Сообщение akouz » Сб авг 08, 2015 7:42 am

artko писал(а): Есть уровень на шине доминантный(для моего случая это прижатие к земле линии) и рецессивный (никто не трогает). Собственно, обычный открытый коллектор с подтяжкой к питанию.

Рецессивный считаю нулем, низшим приоритетом.
Предположим, две сразу станции начинают передачу. Пока у них одинаковые биты - никакой коллизии нет, все нормально будет считано другими. Но как только у одной очередной бит станет единицей(доминантой) - вторая передающая при проверке линии после начала передачи бита(линия должна встать в ожидаемый уровень) увидит, что состояние не соответствует ожидаемому - коллизия. Для станции это однозначно прекращение передачи и переход в состояние ожидания простоя канала.
Вторая, у которой приоритет передачи выше (именно для этого в начале пакета ставлю адрес, 0x00 - минимальный приоритет получателя, 0xFF максимальный) - продолжит работу.
В чем фокус такого подхода - пакет, передача которого уже начата - дойдет до конца без искажения и необходимости перепосылки.
Такой арбитраж (обнаружение столкновений избегая коллизий, CSMA/CA) реализован не только в CAN, но и в коммерческих системах автоматизации зданий C-Bus и EIB. C-Bus работает на скорости 5 кбит/сек, EIB - на скорости 10 кбит/сек. И C-Bus, и EIB передают по одной витой паре и сигнал, и питание для узлов. В обоих случаях для того, чтобы избежать коллизий на суб-битовых уровнях, в сети всегда есть "маяк", по сигналам которого все узлы синхронизируются на уровне байтовых и битовых интервалов.
RusikOk
Сообщения: 91
Зарегистрирован: Чт июл 24, 2014 1:48 am
Откуда: Украина, Сумы
Благодарил (а): 43 раза
Поблагодарили: 6 раз

Re: Ультрабюджетные проводные датчики/исполнительные устройс

Сообщение RusikOk » Сб авг 08, 2015 9:18 am

Ivan писал(а):Зря вы так сразу предосудительно настроены...
ничего не хочу утверждать но тут написано, что все работает отлично http://bascom.at.ua/publ/1-1-0-1 bascom AVR

нашел еще пару примеров под AVR на С:
http://www.fhemwiki.de/wiki/1-Wire_Emulation_per_ATTiny
http://www.tm3d.de/index.php/1-wire-device-mit-avr
интересно получится портировать код из AVR с наименьшими усилиями или нет)
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: Ультрабюджетные проводные датчики/исполнительные устройс

Сообщение Ivan » Сб авг 08, 2015 12:20 pm

А ктото проверял на больших сетях с большим количеством устройств. На столе и у меея все ок
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
RusikOk
Сообщения: 91
Зарегистрирован: Чт июл 24, 2014 1:48 am
Откуда: Украина, Сумы
Благодарил (а): 43 раза
Поблагодарили: 6 раз

Re: Ультрабюджетные проводные датчики/исполнительные устройс

Сообщение RusikOk » Вс авг 09, 2015 2:26 am

я на форуме встречал описание. говорят с другими стандартными устройствами на шине работает норм. но проверить не мешало бы. тут Вы правы. но мне бы С а не бейсик. терпеть его не могу
Ответить