RE: Universal-WLAN-Dekoder/Melder fuer Z21 - Entwicklung

#1 von PetrOs , 16.03.2020 13:03

Hallo,

Da ich fuer meine "Parkettbahn" mit Bahnhofsmodulen (viewtopic.php?f=168&t=178152) komplett Wireless sein will (nur 1 Stromkabel pro Bahnhof) habe ich angefangen, selber ein Digitalgeraet zu entwickeln, der auf Aliexpress-Komponenten basiert maximal 5 Euro kosten darf, und trotzdem Servos und LEDs steuern, und Eigenbau-GBMs (eigentlich jeden Typ der 1/0 mit 1 Leitung pro Gleis) an Rocrail/Z21 zurueckmelden soll. Dabei soll es sehr flexibel ueber Web-Oberflaeche konfigurierbar, und mit I2C Port Extenders auf sehr viele Ports erweiterbar sein.

Normalerweise sind meine Bastelprojekte auf Arduino-Basis, aber hier kann ein VIEL schnelleres Teil vom nutzen sein. Daher habe ich gedacht dass ich einen 1.5 Euro STM32 Board nehme, der einen 72Mhz ARM Cortex A3 Kern hat, und auf einem Brett mit VIELEN Ausgängen drauf ist. Sowas nennt sich STM32 Blue Pill Die STM32 Architektur kenne ich noch aus meinen Quadcopter-Experimenten.

Normalerweise braucht man fuer STM32 spezielle Tools zum programmieren, aber es gibt den Stm32Duino - Bootloader und Libs, die die Nutzung von Arduino-Umgebung und Sprache erlauben. Das ist natuerlich sehr gut. Allerdings muss das Board dafuer vorbereitet sein, und aus der Tuete ist es nicht.

Vorerst, es muss der STM32Duino Bootloader drauf. Normalerweise macht man den mit STLink V2 Programmer drauf (1.5 Euro, ebenso China-Klon). Allerdings, der wollte bei mir nicht, egal was ich versucht habe. Weder mit STLink Tool, noch mit STM32Cube konnte ich die Verbindung herstellen. Daher habe ich einen Ersatz-Weg gefunden - mit FlashLoader und einem FTDI. Nur - ich konnte meinen FTDI nicht finden, keine Ahnung wo der steckt! Da kam mir eine Idee - einen Arduino Nano als FTDI einstellen, wie hier (https://create.arduino.cc/projecthub/Pat...onverter-475533). Das hat tatsächlich funktioniert, nachdem ich dann TX und RX richtig verbunden habe.

Dann, wenn der Bootloader drauf ist, muss man ja nur den Bluepill mit USB verbinden. Und da kam ein Problem - viele der "Pillen" haben falschen Widerstand R10 drauf, 10k statt 1.5k. Das ist DOOF, da ich kein passendes 1.5k 0603 SMD Widerstand hatte. Allerdings kann man dann einen Widerstand mit 1.8k parallel, zwischen Pin und 3.3V einlöten, dem ich aus einer Kette aus normalen 1.3k und 470 erstellt habe. So kann ich jetzt endlich STMs aus Arduino-Umgebung flashen


Folgende Technische Lösung ist bei mir anvisiert:
STM32. An den Pins hängen Servos, LEDs der Signale, Eingänge der Gleisbesetztmelder.... Dazu ein ESP-01a WLAN-Modul. Die Verbindung mit Z21 wird über WLAN laufen, und zwar nach Roco Z21 Protokoll. Da kann man die ganzen Signale der Z21 (X-Bus, R-Bus, Loconet...) ueber LAN/UDP abonnieren und absenden. Eine Library dazu gibt es für Arduino und ESP8266 Prozessoren, sollte aber einfach an die STM anzupassen sein. Als Informatiker sollte ich es wenigstens können


PetrOs  
PetrOs
InterRegio (IR)
Beiträge: 167
Registriert am: 25.02.2020
Gleise Tillig TT, Peco 55 N
Spurweite TT, N
Steuerung Z21, DR5000 mit Rocrail, RasPi
Stromart Digital


   


  • Ähnliche Themen
    Antworten
    Zugriffe
    Letzter Beitrag
Xobor Einfach ein eigenes Forum erstellen
Datenschutz