DCC "по-воздуху"
Решил написать в отдельную тему, т.к. другие темы по радиоуправлению, вроде как не имеют отношения к DCC.
Я давал уже ссылку на этот проект, в теме со ссылками по проектам на базе Arduino. Т.к. я планирую, также, как и Андрей, использовать на макете состав для чистки рельсов и чтобы не быть завязанным на плохой токосъём, в процессе чистки, мне было интересно попробовать, как это вообще работает и можно ли это использовать. Собрал из подручных средств два устройства и попробовал по-управлять. Для себя решил добавить, в схему передатчика, опторазвязку на базе 6N137, ну и питание сделал отдельное, а не от DCC. Для управления, приёмник обрабатывает только команды, отправленные на конкретный, прописанный в скетче, локомотивный адрес. Изменить его можно, только перепрошив заново ардуино, прошивкой с новым значением адреса. Надо будет подумать, как это можно изменить. В ходе тестирования, также обнаружился один неприятный момент. Приёмник никак не реагирует на выключение DCC или питания передатчика, либо потерю связи с ним. Это не очень приятный момент, т.к. при этом мы полностью теряем контроль над локомотивом. Он в это время будет выполнять последнюю, полученную им команду и хорошо, если это будет команда остановки. А если нет? Решил исправить ситуацию и немного подправить код. Управление драйвером двигателя осуществляется цифровыми выходами D5 и D6, состояние которых изменяется прерыванием по таймеру2. Немного почесав тыковку, пришёл к такому решению...... При отсутствии входящих сообщений по радиоканалу, необходимо запретить работу прерываний и установить на портах D5 и D6 низкий уровень, что приведёт к снятию питания на выходе драйвера. При появлении сообщений, требуется всего лишь снова разрешить прерывания. Для этого в скетче приёмника, в цикле loop, добавляем пару строчек(выделены слешами//): Скрытый текст
Теперь при нажатии кнопки Стоп на мультимаусе, отключении питания передатчика или потери сигнала, питание с декодера сразу снимается и лок останавливается, а после восстановления соединения продолжает выполнять поступающие команды. Буду это воплощать в "железе", на нормальных платах, т.к. радиомодули очень чувствительны к потерям контакта и качеству питающего напряжения. |
Цитата:
|
Цитата:
Цитата:
|
Цитата:
Скрытый текст
|
Цитата:
|
Лучше использовать есп8266, там и контроль подключения можно настроить (именно потерю соединения покажет), да и модуль интереснее, компактнее. Короче масса плюсов.
|
Вложений: 2
Затеялся сделать апгрейд своему чистящему составу, соответственно данная тема очень понравилась.
Собрал. :) Вложение 212520Вложение 212521 Реализация, мягко скажем грубоватая, но работает и лезет по габаритам. Пока скетчи использовал от автора. Добавления от Алексея и Владимира пока не пробовал. Реализовал включение моторов пылесоса и шлифовалки от функциональных выходов декодера при помощи приблуд Есть программный глюк. Функциональные выходы включаются, но не выключаются. :) Чтобы их выключить нужно вкл/выкл свет. Попробую поразобраться в скетче, но если не получится, то и так сойдет! :) |
надеюсь мы на пути к отрытой реализации HM7000
|
Цитата:
|
Цитата:
тут, думаю, тоже на BLE можно сделать, останется только протокол совместимый с HM7000... (в теории возможно что у HM7000 в блютусе вовсе не дцц завернут, но имхо странно и затратно с их стороны имея дцц декодер туда еще один протокол навешивать, хотя и такое возможно) |
Цитата:
Если я правильно помню, то вроде у китайцев декодеры по сериал порту настраиваются. |
|
Текущее время: 15:06. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
Copyright © ModelldepO.ru 2006 -