
Съдържание:
2025 Автор: John Day | [email protected]. Последно модифициран: 2025-01-23 14:36

Имайки стара система за модели на влакове с мащаб TT, имах идея как да контролирам локовете поотделно.
Имайки това предвид, аз отидох още по -далеч и разбрах какво е необходимо не само за управление на влаковете, но и за да имам допълнителна информация за цялото оформление и да контролирам нещо друго (лампи, железопътни стрелки …)
Така се ражда моделната влакова система с контролиран WiFi.
Стъпка 1: Принципи на работа

Основният принцип е да се управлява всеки елемент поотделно, или от един контролер, или от множество източници на управление. Това по своята същност се нуждае от общ физически слой - най -очевидно WiFi - и общ комуникационен протокол, MQTT.
Централният елемент е брокерът MQTT. Всяко свързано устройство (влак, сензор, изход …) има право да комуникира само чрез Брокера и може да получава данни само от Брокера.
Сърцето на устройствата е базиран на ESP8266 WiFi контролер, докато брокерът MQTT работи на Raspberry pi.
Първоначално Wi -Fi покритието се осигурява от WiFi рутер и всичко се свързва чрез безжична връзка.
Има 4 вида устройства:
- Контролер на влака: има 2 цифрови входа, 1 цифров изход, 2 PWM изхода (за управление на 2 отделни DC двигателя), - Сензорен контролер: има 7 цифрови входа (за входни превключватели, оптосензори …), - Изходен контролер: има 8 цифрови изхода (за железопътни превключватели …), - WiFi дистанционно: има 1 инкрементен енкодер вход, 1 цифров вход (за дистанционно управление на влаковете).
Системата може да работи и от Node-Red (от таблет, компютър или смартфон …).
Стъпка 2: Обмен и конфигуриране на MQTT данни

Въз основа на протокола MQTT, първо всяко устройство се абонира за дадена тема и може да публикува в друга тема. Това е основата на комуникацията на мрежата за контрол на влаковете.
Тези комуникационни приказки се поставят чрез JSON форматирани съобщения, за да бъдат кратки и читави за хората.
Гледайки от по -далечна гледна точка: Мрежата има WiFi рутер със собствен SSID (име на мрежата) и парола. Всяко устройство трябва да знае тези 2 за достъп до WiFi мрежата. Брокерът MQTT също е част от тази мрежа, така че за да се използва протокол MQTT, всяко устройство трябва да знае IP адреса на брокера. И накрая, всяко устройство има своя собствена тема за абониране и публикуване на съобщения.
На практика дадено дистанционно управление използва същата тема за публикуване на съобщения, за които е даден абонамент.
Стъпка 3: Контролер на влака

За да управляваме влакче за играчки, основно се нуждаем от 3 неща: захранване, контролер с WiFi и електроника на водача на двигателя.
Захранването зависи от действителния план за използване: в случай на LEGO, това е кутията за батерии Power Functions, в случай на "oldschool" TT или H0 мащаб влак, това е 12V захранване на пистата.
Контролерът с WiFi е контролер Wemos D1 mini (базиран на ESP8266).
Електрониката на драйвера на двигателя е модул, базиран на TB6612.
Влаковият контролер има 2 индивидуално контролирани ШИМ изхода. Акутално единият се използва за управление на двигателя, а другият се използва за светлинна сигнализация. Разполага с 2 входа за сензори на базата на тръстиков контакт и един цифров изход.
Контролерът приема JSON съобщения чрез WiFi и MQTT протокол.
SPD1 управлява двигателя, например: Съобщението {"SPD1": -204} се използва за преместване на двигателя назад при 80% мощност (максималната стойност на скоростта е -255).
SPD2 контролира интензивността на LED светлината, чувствителна към посоката: {"SPD2": -255} съобщението кара (назад) LED да свети с пълната си мощност.
OUT1 контролира състоянието на цифровия изход: {"OUT1": 1} включва изхода.
Ако състоянието на даден вход се промени, контролерът изпраща съобщение според него: {"IN1": 1}
Ако контролерът получи валидно съобщение, той го изпълнява и предоставя обратна връзка на брокера. Обратната връзка е действително изпълнената команда. Например: ако брокерът изпрати {"SPD1": 280}, тогава двигателят работи с пълна мощност, но съобщението за обратна връзка ще бъде: {"SPD1": 255}
Стъпка 4: LEGO Train Control

В случай на влак LEGO, схемите са малко по -различни.
Захранването идва директно от кутията за батерии.
Има нужда от мини понижаващ преобразувател, който да осигурява 3.5V за ESP8266 базирана платка Lolin.
Връзките се осъществяват с удължителен проводник LEGO 8886, разрязан наполовина.
Стъпка 5: Дистанционно управление

Контролерът публикува само съобщения до влака (дефиниран от превключвателя BCD).
Чрез завъртане на енкодера дистанционното изпраща или {"SPD1": "+"}, или {"SPD1": "-"} съобщения.
Когато влакът получи това съобщение „нарастващ тип“, той променя своята изходна стойност на ШИМ с 51 или -51.
По този начин дистанционното може да променя скоростта на влака в 5 стъпки (всяка посока).
Натискането на инкременталния енкодер ще изпрати {"SPD1": 0}.
Стъпка 6: Контролер на сензора

Така нареченият сензорен контролер измерва състоянията на своите входове и ако някой от тях се промени, публикува тази стойност.
Например: {"IN1": 0, "IN6": 1} в този пример 2 входа са променили състоянието едновременно.
Стъпка 7: Изходен контролер

Изходният контролер има 8 цифрови изхода, които са свързани към ULN2803 базиран модул.
Той получава съобщения чрез абонираната си тема.
Например съобщението {"OUT4": 1, "OUT7": 1} включва 4. и 7. цифровия изход.
Стъпка 8: Raspberry Pi и WiFi рутер
Имах използван Wi-Fi рутер TP-Link, затова го използвах като точка за достъп.
Брокерът MQTT е Raspberry Pi с инсталиран Mosquitto.
Използвам стандартната Raspbian OS с MQTT с:
sudo apt-get инсталирайте mosquitto mosquitto-клиенти python-mosquitto
Рутерът TP-Link трябва да бъде конфигуриран да има резервация на адрес за Raspberry, така че след всяко рестартиране Pi има същия IP адрес и всяко устройство може да се свърже с него.
И това е!
Стъпка 9: Готови контролери


Ето готовите контролери.
TK скалата loko има толкова малък размер, че една дъска Lolin трябваше да бъде стеснена (изрязана), за да бъде достатъчно малка, за да се побере във влака.
Компилираните двоични файлове могат да бъдат изтеглени. От съображения за сигурност разширението на кошчето беше заменено на txt.
Препоръчано:
RC автомобил с Bluetooth контрол с контрол на скоростта и измерване на разстоянието: 8 стъпки

RC автомобил с Bluetooth контрол с контрол на скоростта и измерване на разстоянието: Като дете винаги съм бил очарован от RC колите. В днешно време можете да намерите много уроци, за да направите сами евтини RC автомобили с Bluetooth, с помощта на Arduino. Нека направим още една крачка напред и използваме нашите практически познания по кинематика, за да изчислим
Контролирайте оформлението на своя модел влак с клавиатурата си: 12 стъпки

Контролирайте оформлението на модела си с клавиатурата !: В една от предишните ми инструкции ви показах как можете да управлявате модела на влака си с дистанционното за телевизора. Можете да проверите надстроената версия също тук. В тази инструкция ще ви покажа как да управлявате оформлението на модела на влака с клавиатура чрез
Контролирайте оформлението на своя модел влак с мобилния си телефон!: 11 стъпки (със снимки)

Контролирайте оформлението на модела на влака с мобилния си телефон !: Контролирането на оформлението на модела на влака с дротови дросели и регулатори на избирателната активност може да бъде добро начало за начинаещи, но те създават проблем с непоносимостта. Също така безжичните контролери, които се предлагат на пазара, могат или да контролират само някои локоми
Контрол на яркостта ШИМ базиран LED контрол с помощта на бутони, Raspberry Pi и надраскване: 8 стъпки (със снимки)

Контрол на яркостта PWM управление на LED управление с помощта на бутони, Raspberry Pi и Scratch: Опитвах се да намеря начин да обясня как PWM работи на моите ученици, затова си поставих задачата да се опитам да контролирам яркостта на светодиода с помощта на 2 бутона - единият бутон увеличава яркостта на светодиода, а другият го затъмнява. Към програмата
Управляван от клавиатурата модел влак V2.0 - PS/2 интерфейс: 13 стъпки (със снимки)

Управляван от клавиатурата модел влак V2.0 | PS/2 интерфейс: В един от предишните ми Instructable ви показах как да контролирате модела на железопътното оформление с помощта на клавиатура. Той се справи чудесно, но имаше недостатък да изисква работа на компютър. В тази инструкция нека да видим как да управляваме моделен влак с помощта на клавиатура