Форум ModelldepO  

Вернуться   Форум ModelldepO > Моделизм > Электрика и DCC > Arduino
Ответ
 
Опции темы Опции просмотра
Старый 26.04.2021, 12:42   #26
Alexmit
Местный
 
Регистрация: 29.06.2010
Адрес: Москва
Сообщений: 2,837
Сказал(а) 'не согласен(а)'!: 6
Сказали 'не согласен'! 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 972
Поблагодарили 2,652 раз(а) в 1,569 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
1 Всего
Репутация: репутация неоспорима (2678)
По умолчанию

Цитата:
Сообщение от osmanpasha Посмотреть сообщение
Бонусом еще есть возможность управлять сервами, но их на макете пока нет.
Уже пробовали, на одном драйвере получается очень плохо.
А вот если на одном драйвере светодиоды, а на другом сервы - тогда получится.
(Проблема в том, что режимы работы драйвера отличаются.)

Цитата:
Сообщение от osmanpasha Посмотреть сообщение
Под новый декодер разрабатывается новая плата.
Вот эту темку почитайте: Проект Loconet серво- и свето- декодера
Alexmit вне форума  
Вверх
Пользователь сказал cпасибо:
Старый 27.04.2021, 08:34   #27
osmanpasha
Заглянувший
 
Регистрация: 16.07.2019
Адрес: -
Сообщений: 80
Сказал(а) 'не согласен(а)'!: 2
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 50
Поблагодарили 125 раз(а) в 46 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: скоро придёт к известности (125)
По умолчанию

Цитата:
Сообщение от Alexmit Посмотреть сообщение
Уже пробовали, на одном драйвере получается очень плохо.
А вот если на одном драйвере светодиоды, а на другом сервы - тогда получится.
(Проблема в том, что режимы работы драйвера отличаются.)
Ну да, для серв нужна фиксированная частота ШИМ - около 50 Гц, а для светодиодов выше, а то мерцать будет.


Цитата:
Сообщение от Alexmit Посмотреть сообщение
Вот эту темку почитайте: Проект Loconet серво- и свето- декодера
Оо, я ее вдоль и поперек перечитал уже. Задумывается в целом то же самое по функциональности, но компоненты другие, форм-фактор другой.
osmanpasha вне форума  
Вверх
Пользователь сказал cпасибо:
Старый 02.07.2021, 11:46   #28
osmanpasha
Заглянувший
 
Регистрация: 16.07.2019
Адрес: -
Сообщений: 80
Сказал(а) 'не согласен(а)'!: 2
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 50
Поблагодарили 125 раз(а) в 46 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: скоро придёт к известности (125)
По умолчанию Светофорный декодер на базе PCA9685

Новости про новый светодиодный декодер

Со времени последнего обновления я дорисовал платы для нового светодиодного декодера; заказал их в Китае, получил, спаял и прошил. Представляю текущую версию.



Прошивка позволяет связать светодиоды в светофор и управлять каждым светофором по отдельности. Т.е. в нормальном режиме работы адресуются не отдельные светодиоды, а цельные светофоры.
Сейчас реализованы 1-, 2- и 3-ламповые светофоры. Таблица аспектов (вариантов свечения ламп) вдохновлена декодером светофоров от ModellDepo.

Таблица аспектов:







Прошивка позволяет задавать яркость каждого светодиода отдельно. Это сделано потому, что яркость светодиодов разных цветов существенно отличается при подаче одного и того же напряжения через один и тот же резистор. Менять каждый раз резисторы на плате pca9685 не хочется, поэтому управление выполняется из прошивки ШИМом. Собственно, это - основная причина, по которой новый декодер и был разработан (предыдущий содержал источник тока для светодиодов и не позволял нормально независимо управлять яркостью в широких пределах). 12-битный ШИМ чипа PCA9685 позволяет варьировать яркость от 0 до 4095 попугаев; практика показывает, что для зеленых светодиодов достаточно 128 попугаев, для остальных - 512. Среднее потребление включенного так светодиода по расчетам выходит меньше 1 мА.

Основной способ управления светофорами - путем отправки LocoNet-пакета OPC_IMM_PACKET, содержащего расширенный DCC-пакет для аксессуарного декодера. Пакет позволяет обратиться к 11-битному светофору (примерно 2048 светофоров) и задать ему 5-ти битный аспект (до 32 вариантов свечения). Такие пакеты умеет отправлять JMRI для светофоров типа DCC Signal Mast Decoder:



Поскольку такие пакеты в моем случае может посылать только JMRI, то для ручного управления со смартфона еще предусмотрено управления обычными LocoNet-командами для стрелок. Для установки аспекта А на светофоре с адресом S нужно переключить стрелку с номером A+S.

Третий, отладочный, вариант управления - по UART (см ниже).

Проблему мигания светодиодов при подаче питания получилось решить, но есть нюанс. Решение состояло в том, чтобы поставить на плату коммутирующий транзистор, который будет отключать плюс питания от светодиодов, и включать транзистор, только когда чип PCA9685 будет настроен нужным образом и выключит светодиоды. (Это же решение также должно помочь и для сервомоторов, которые дергаются при подаче на них питания до того, как сигнал начнет приходить. Но я не проверял).
Нюанс же заключается в том, что на модуле PCA9685 стоит конденсатор на 1000мкФ, которого хватает, чтобы светодиоды посветили некоторое время (до 5 секунд, если подключен всего один светодиод), даже если питание к самому модулю не подводится. Поэтому, когда декодер включается после длительного простоя, конденсатор разряжен и светодиоды не мигают, а когда плата перезагружается без отключения питания - мигают за счет заряда конденсатора.

Настройка

Как сделать удобную настройку кнопкой и диагностическим светодиодом, или с помощью пульта, я не придумал (может кто-нибудь что-то посоветует?), так что настройка осуществляется по UART. К декодеру подключается USB-UART-преобразователь (Arduino Pro Mini не имеет USB), тот подключается в ПК и с помощью текстового протокола можно запросить состояние декодера или поменять настройки.

По UART доступны команды типа "addmast 3 10" (добавить трехламповый светофор с адресом 10), "delmast" (удалить последний светофор), "clearmasts" (удалить все светофоры), "listmasts" (напечатать список светофоров), "br 5 255" (установить яркость канала 5 на максимум), "reset" (сброс настроек), "save" (сохранить настройки). Для управления светофорами есть команда "mast N" - выбор текущего светофора. Послание просто цифры включает необходимый аспект на текущем светофоре.

Как я уже писал, плата декодера сделана модульной - часть LocoNet с питанием разведена отдельно, её можно отпилить от декодера (или заказать отдельно) и проводами или пайкой прикрепить к другому проекту. На фото - тестовая плата для еще одного декодера, в нее просто вставляется Arduino Pro Mini и выведены все ёё пины. На ее основе можно делать другие экспериментальные декодеры.



Прошивка и плата открытые.
Прошивка: https://github.com/positron96/LocoNe.../LND-L-PCA9685
Плата с ардуиной: https://oshwlab.com/positron96/locon...copy_copy_copy
Плата LocoNet: https://oshwlab.com/positron96/test-pcb-pattern_copy

Всем спасибо, на подходе видео с демонстрацией работы декодера)
osmanpasha вне форума  
Вверх
11 пользователя(ей) сказали cпасибо:
Старый 06.07.2021, 09:35   #29
osmanpasha
Заглянувший
 
Регистрация: 16.07.2019
Адрес: -
Сообщений: 80
Сказал(а) 'не согласен(а)'!: 2
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 50
Поблагодарили 125 раз(а) в 46 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: скоро придёт к известности (125)
По умолчанию

Видео с демонстрацией работы

osmanpasha вне форума  
Вверх
5 пользователя(ей) сказали cпасибо:
Старый 07.07.2021, 14:22   #30
osmanpasha
Заглянувший
 
Регистрация: 16.07.2019
Адрес: -
Сообщений: 80
Сказал(а) 'не согласен(а)'!: 2
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 50
Поблагодарили 125 раз(а) в 46 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: скоро придёт к известности (125)
По умолчанию

За полгода цена модуля pca9685, кстати, поднялась в 2 раза и теперь составляет примерно 230р. За эту же цену нашел на али модуль TLC5947 - целых 24 канала, управляется по SPI, не нужны токоограничивающие резисторы. Не знаю, сколько он стоил до подорожания микросхем, но теперь можно попробовать и его - выгоднее в 2 раза.
osmanpasha вне форума  
Вверх
Старый 07.11.2021, 19:19   #31
osmanpasha
Заглянувший
 
Регистрация: 16.07.2019
Адрес: -
Сообщений: 80
Сказал(а) 'не согласен(а)'!: 2
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 50
Поблагодарили 125 раз(а) в 46 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: скоро придёт к известности (125)
По умолчанию

Всем привет!

Наконец-то дошли руки до того, чтобы собрать демонстрационный макет и проверить, будет ли вся схема с оптическими датчиками занятости путей нормально работать на реальной задаче. Иии... она работает! Что и представлено на видео.

В видео используется:
  • один путь из 3 блок-участков
  • 2 спаренных оптических датчика
  • декодер для светофоров и сенсоров на Arduino Pro Mini
  • командная станция на ESP32
  • самодельные светофоры из 3мм светодиодов
  • JMRI
  • скрипт для преобразования показаний датчиков в занятость блоков
  • скрипт для изменения аправления движения локомотива (из примеров JMRI)

На видео автоматизировано переключение светофоров (самое простое: занятый блок - красный, перед ним желтый,
перед ним зеленый) и движение локомотива от одного блока до другого.

osmanpasha вне форума  
Вверх
4 пользователя(ей) сказали cпасибо:
Старый 07.11.2021, 22:14   #32
Qvan22
оффтопик
Qvan22 вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
Старый 08.11.2021, 08:13   #33
Saddam
Местный
 
Аватар для Saddam
 
Регистрация: 06.09.2013
Адрес: Багдад
Сообщений: 7,453
Сказал(а) 'не согласен(а)'!: 41
Сказали 'не согласен'! 75 раз(а) в 60 сообщениях
Сказал(а) спасибо: 4,790
Поблагодарили 6,654 раз(а) в 2,922 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (6651)
По умолчанию

Цитата:
Сообщение от osmanpasha Посмотреть сообщение
схема с оптическими датчиками занятости
Сколько циклов отработало, по времени сколько, с вагонами лок ходил, пропуски были, тесты в дневное и ночное время были?
Saddam на форуме  
Вверх
Старый 08.11.2021, 11:19   #34
shalex
Местный
 
Регистрация: 08.07.2015
Адрес: МО
Сообщений: 2,858
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 3 раз(а) в 2 сообщениях
Сказал(а) спасибо: 4,649
Поблагодарили 3,274 раз(а) в 1,172 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
1 Всего
Репутация: репутация неоспорима (3285)
По умолчанию

Есть еще нюанс - как это работает в статике, например, когда макет только включили? Или, например, движение было остановлено после какой-то критической ошибки.
shalex вне форума  
Вверх
Старый 09.11.2021, 10:01   #35
osmanpasha
Заглянувший
 
Регистрация: 16.07.2019
Адрес: -
Сообщений: 80
Сказал(а) 'не согласен(а)'!: 2
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 50
Поблагодарили 125 раз(а) в 46 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: скоро придёт к известности (125)
По умолчанию

Цитата:
Сообщение от Saddam Посмотреть сообщение
Сколько циклов отработало, по времени сколько, с вагонами лок ходил, пропуски были, тесты в дневное и ночное время были?
Минут 10 без перерыва я его гонял, суммарно с час, наверное. С вагонами надо проверить, да. Проверял без вагона, потому что блоки короткие. Тесты были вечером с выключением половины ламп в процессе (на видео в какой-то момент меняется освещение, но камера быстро подстраивается). По идее, весь смысл разработки своего оптического датчика в том, чтобы он не был чувствителен к внешнему освещению, так-то можно было бы и готовый ардуиновский датчик взять.

Вообще опасения по поводу оптических датчиков в целом обоснованы. Например, оказалось, что часть днища моего локомотива проявляет свойства идеально черного тела и не отражает почти никаких лучей в датчик, что поначалу приводило к прерывистым срабатываниям датчика. Тем не менее, имея доступ к прошивке датчика, кажется, что с помощью фильтрации данных, гистерезиса на пороговое значение срабатывания и задержки включения/выключения (это всё реализовано в видео) можно получить стабильно работающую систему.

Цитата:
Сообщение от shalex Посмотреть сообщение
Есть еще нюанс - как это работает в статике, например, когда макет только включили? Или, например, движение было остановлено после какой-то критической ошибки.
Здесь, конечно, есть недостаток. Если на старте поезд не перекрывает какой-нибудь датчик, а находится на середине участка, то датчики не будут знать, что занято. Тут придется либо вручную активировать ближайший датчик, либо в ПО указывать начальное расположение поезда. Но, как я понимаю, для автоматизации даже с токовыми датчиками все равно надо указывать в ПО расположение поездов т.к. ПО должно знать не только чтО занято, но и кем оно занято.

Последний раз редактировалось osmanpasha; 09.11.2021 в 11:15.
osmanpasha вне форума  
Вверх
Пользователь сказал cпасибо:
Старый 09.11.2021, 15:54   #36
shalex
Местный
 
Регистрация: 08.07.2015
Адрес: МО
Сообщений: 2,858
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 3 раз(а) в 2 сообщениях
Сказал(а) спасибо: 4,649
Поблагодарили 3,274 раз(а) в 1,172 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
1 Всего
Репутация: репутация неоспорима (3285)
По умолчанию

Цитата:
Сообщение от osmanpasha Посмотреть сообщение
Здесь, конечно, есть недостаток. Если на старте поезд не перекрывает какой-нибудь датчик, а находится на середине участка, то датчики не будут знать, что занято. Тут придется либо вручную активировать ближайший датчик, либо в ПО указывать начальное расположение поезда. Но, как я понимаю, для автоматизации даже с токовыми датчиками все равно надо указывать в ПО расположение поездов т.к. ПО должно знать не только чтО занято, но и кем оно занято.
Подсвечу риск столкновения, т.к. при развитой путевой системе можно забыть/не заметить одинокий вагон или локомотив в "слепой" для опто-датчиков зоне.
shalex вне форума  
Вверх
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Loconet-I2C модуль BR95009 Arduino 68 17.12.2023 21:25
Проект Loconet серво- и свето- декодера shalex Arduino 106 20.03.2020 09:59
Loconet детектор занятости с бустером и автореверсером shalex Arduino 460 10.09.2019 15:01
Табло с расписанием под управлением Arduino + Loconet shalex Arduino 59 10.02.2019 22:34
XpressNet и LocoNet AleksSF Arduino 134 11.02.2018 10:34


Текущее время: 15:23. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
Copyright © ModelldepO.ru 2006 -