💡🚂🚃🚃 Drehscheibensteuerung auf Arduinobasis - leicht gemacht!

#1 von fbstr , 04.12.2021 21:35

Am 6.12.2020 startete @Hardi die Entwicklung seiner genialen Drehscheiben-Steuerung mit mir. Die ganze Aktion ging bis ca. Januar 2021, dann war das Ganze schonmal einsatzbereit. Im November 2021 wurde wieder eine Sammelbestellng der frei verfügbaren Platine gemacht, so dass einige Kandidaten dazukommen werden.

Hier ist der Versuch einen Überblick zu geben, was zu beachten ist und wie man das ganze zm Laufen bringt.

Inhalt:

- Vorüberlegungen

- Platine löten

- Einstellungen Steppertreiber

- Soundmodul JQ6500 vorbereiten

- Steuerpanel vorbereiten

- Arduino-Bibliotheken laden

- Software

- Turntable_Config.h


Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen


DeMorpheus, EP2Bernie, gerald bock, Claus60 und Moba_Nicki haben sich bedankt!
 
fbstr
Metropolitan (MET)
Beiträge: 2.521
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital

zuletzt bearbeitet 06.02.2022 | Top

RE: 💡🚂🚃🚃 Turntable Control by Hardi

#2 von fbstr , 04.12.2021 21:35

Vorüberlegungen

Vor dem Löten der Platine sollte man sich ein paar Gedanken machen.
- Wie soll die Anordnung sein: Steuerpanel ----- Drehscheiben-Platine ------Drehscheibe
- Versorgung über externe Quelle (20-24V DC empfohlen) oder via DCC-Gleis (ca. 100-150mA Last)? Falls via DCC-Gleis -> kein Sockel und OK1, stattdessen 1N4148
- DCC-Versorgng via 14pol Flachbandkabel? -> 2x leiterbahn trennen, kein Stecker X1, X2
- 2-pol. Schleifring -> kein schaltbares Licht und Flash -> kein OK3, OK4, D3, D4, R9, R10
- S88 Rückmeldung geplant? Falls nicht -> Kein OK2, R4, LED1
- Abhängig von der Positionierung LED's evtl. nicht auf Platine löten. -> Verwendung von Buchsenleisten
- je nach LED Farbwahl kann Widerstand angepasst werden. Weiße LED im Gehäuse für Flash -> R11=1k5
- bei 3L kein Relais -> Jumper „NO_POL1“ und „NO_POL2“ schließen, Kein Q1, R16, D5, LED7, Relais notwendig
- JQ6500 Sound gewünscht? Momentan nur Hupe sinnvoll.
- Position Hallsensor (Magnet in der Bühne sollte möglichst regelmäßig vorbeifahren)
- Jumper auf Platine setzen gemäß verwendeten Treiber und Stepper
- Wenn genügend Schleifringe verfügbar: Flash- und Bühnenlicht für 5V auslegen
- Störungen beim Hallsensor?
- Störungen bei der OLED-Anzeige?
- LED's direkt auf die Platine löten? Oder Buchsenleisten nehmen, damit man die LED's flexibel positionieren kann?


Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen


EP2Bernie, gerald bock, Claus60 und Moba_Nicki haben sich bedankt!
 
fbstr
Metropolitan (MET)
Beiträge: 2.521
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital

zuletzt bearbeitet 06.12.2021 | Top

RE: 💡🚂🚃🚃 Turntable Control by Hardi

#3 von fbstr , 04.12.2021 21:35

Platine löten

Nach der positiven Erfahrung mit der Fleischmann 6050 Handdrehscheibe, möchte ich bei der 2L-Thingiverse-Drehscheibe und der geplanten 3L-Thingiverse-Drehscheibe das Steuerpanel und Platine ebenfalls in ein Gehäuse packen und nur per Flachbandkabel mit der Drehscheibe verbinden.


Achtung: Thema Strombelastung!
Durch diesen Umbau muß das AWG28-Flachbandkabel die Drehscheiben-Elektronik (ca. 100mA) und das Bühnengleis mit Lok versorgen. Das Flachbandkabel liegt offen auf dem Tisch, so dass es normal Wärme abführen kann. Dadurch traue ich dem Kabel eine Strombelastung von 1A zu.
Keinesfalls darf diese Verkabelung auch die Gleisabgänge versorgen! Sonst wird das Flachbandkabel oder die Platine durchbrennen!

Also alles auf eigene Gefahr!


Dementsprechend habe ich die Platinen für 2L und 3L vorbereitet.

Da ich die Stromversorgung über das 14polige Flachbandkabel haben möchte, müssen 2 Leiterbahnen unterbrochen werden, bevor man die 2 Wannenstecker einlötet!




Ein Klick auf das Bild öffnet eine hochauflösende Variante.

Die 2L-Variante








Die 3L-Variante






Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen


EP2Bernie, gerald bock, Claus60 und Moba_Nicki haben sich bedankt!
 
fbstr
Metropolitan (MET)
Beiträge: 2.521
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital

zuletzt bearbeitet 06.12.2021 | Top

RE: 💡🚂🚃🚃 Turntable Control by Hardi

#4 von fbstr , 04.12.2021 21:36

Steppertreiber

Hardi's Steuerung arbeitet mit bipolaren Steppern. Möchte man den "Spielzeugstepper 28BYJ-48" einsetzen, so muß dieser unipolare Stepper noch umgebaut werden.
Das geht sehr einfach indem man eine Leiterbahn (am besten mit einem Bohrer) unterbricht:


Dann ist noch die Kombination Steppertreiber und der Steppermotor wichtig. Der Steppertreiber nd die Jumper auf der Platine müssen eingestellt sein bevor das ganze in Betrieb genommen wird.
Dominik hat hier für die gängigsten Kombinationen schon die notwendigen Spannungen gelistet:
https://wiki.mobaledlib.de/anleitungen/b...ibe_einrichtung
Und wer es ganz genau wissen will wie die optimale Spannung berechnet wird:
https://wiki.mobaledlib.de/hilfestellungen/stepper


Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen


EP2Bernie, gerald bock, Claus60 und Moba_Nicki haben sich bedankt!
 
fbstr
Metropolitan (MET)
Beiträge: 2.521
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital

zuletzt bearbeitet 28.12.2021 | Top

RE: 💡🚂🚃🚃 Turntable Control by Hardi

#5 von fbstr , 04.12.2021 21:36

Platzhalter

Soundmodul


Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen


Moba_Nicki hat sich bedankt!
 
fbstr
Metropolitan (MET)
Beiträge: 2.521
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital


RE: 💡🚂🚃🚃 Turntable Control by Hardi

#6 von fbstr , 04.12.2021 21:36

Steuerpanel

Wenn das Steuerpanel abgesetzt von der Platine sein soll, dann kann man als Verbindung einen 10 poligen Wannenstecker nutzen:



Bei den Thingiverse-Drehscheiben soll das gleiche Prinzip wie bei der Fleischmann 6050 Drehscheibe zur Anwendng kommen.

OLED-Display, Drehencoder und Poti (mit Mittelstellung) werden zusammen mit der Platine in ein Gehäuse kommen:




Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen


EP2Bernie, gerald bock und Moba_Nicki haben sich bedankt!
 
fbstr
Metropolitan (MET)
Beiträge: 2.521
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital

zuletzt bearbeitet 04.12.2021 | Top

RE: 💡🚂🚃🚃 Turntable Control by Hardi

#7 von fbstr , 04.12.2021 21:36

Arduino Bibliotheken

Stand 4.12.2021
- FastLED by Daniel Garcia Version 3.3.2
http://fastled.io/docs/3.1/index.html

- Encoder by Paul Stoffregen Version 1.4.1

- U8g2 by oliver Version 2.27.6

- avdweb_AnalogReadFast by Albert van Dalen Version 1.0.0

- JQ6500:
https://github.com/sleemanj/JQ6500_Serial


Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen


EP2Bernie, gerald bock und Moba_Nicki haben sich bedankt!
 
fbstr
Metropolitan (MET)
Beiträge: 2.521
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital

zuletzt bearbeitet 04.12.2021 | Top

RE: 💡🚂🚃🚃 Turntable Control by Hardi

#8 von fbstr , 04.12.2021 21:37


Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen


Moba_Nicki hat sich bedankt!
 
fbstr
Metropolitan (MET)
Beiträge: 2.521
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital

zuletzt bearbeitet 28.12.2021 | Top

RE: 💡🚂🚃🚃 Turntable Control by Hardi

#9 von fbstr , 04.12.2021 21:37

Turntable_Config.h

Jede Drehscheibe wird individuelle Einstellungen benötigen. Drehrichtung der Bühne, des Poti, unterschiedliche Steppertreiber, DCC-Adressen, usw.

Damit bei einer aktualisierten INO-Datei diese Einstellungen nicht überschrieben werden, verwendet man die Turntable_Config.h Datei, um dort alle Werte zu definieren, die vom Standard abweichen.
Und wer gleich mehrere Drehscheiben im Einsatz hat kann damit auch den Überblick behalten...

// Configuration for the stepper program

#define _2L_Thingiverse 1
#define _3L_Thingiverse 2
#define TimeWaster 3 // TMC2100
#define Fleischmann_6652_2208 4 // TMC2208 Bernds Drehscheibe mit Relais
#define TimeWasterA 5 // A4988
#define BPA_Nord 6
#define BPA_Sued 7
#define FLM6050 8 // A4988

#define WHICH_TURNTABLE Fleischmann_6652_2208

#if WHICH_TURNTABLE == _2L_Thingiverse // 2L_Thingiverse

#define ALLWAYS_CHECK_STEPS_ONE_TURN 0 // Always check the steps for one turn at power on
#define PORT_CNT 24 // Number of ports
#define CIRCUMFERENCE 942.5 // 300 mm * Pi = circumference of the turntable [mm]
#define ROTATIONSWITCH_DIRECTION -1 // Set from 1 to -1 to change the direction of the rotation switch
#define ROTATIONSWITCH_MENU_DIR -1 // Set from 1 to -1 to change the direction of the rotation switch in the menu
#define STEPPER_RAMP_LENGTH 130 // Steps to speed up the stepper to prevent loosing steps
// Set to 50 if 1/16 steps are used (MS1 - MS3 connected do +5V)
#define POLARISATION_RELAIS_PIN A1 // Polarisation Relais for dual rail system (Set to -1 if not used)
#define POLARISATION_CHANGE_PORT 12 // is > the given value (1..PORT_CNT)
#define POLARISATION_RELAIS_INVERS 0 // 1: Pin is set to low
#define OLED_TYP 91 // Tested with the following displays
#define MOVING_FLASH_INVERS 1 // Normal: 0 = LED connected to GND
#define MOVING_FLASH_MODE 2 // 1 = Blink, 2 double flash
#define ENABLE_DPRINTF 1 //Debug Ausgaben ein
#define SPEED_POTI_MID_RANGE 50 // Range of the speed poti which is 0 (Old 50)
#define SPEED_POTI_CENTER 512 // Center position of the speed poti (Normaly 512)
#define ANALOG_SPEED_DIVISOR 7 // Divisor used to calculate the analog speed with the poti (std 8)
#define STEP_PIN 4 // New Pin 9
#endif

#if WHICH_TURNTABLE == _3L_Thingiverse // 3L_Thingiverse

#define ALLWAYS_CHECK_STEPS_ONE_TURN 0 // Always check the steps for one turn at power on
#define PORT_CNT 24 // Number of ports
#define CIRCUMFERENCE 942.5 // 300 mm * Pi = circumference of the turntable [mm]
#define ROTATIONSWITCH_DIRECTION -1 // Set from 1 to -1 to change the direction of the rotation switch
#define ROTATIONSWITCH_MENU_DIR -1 // Set from 1 to -1 to change the direction of the rotation switch in the menu
#define STEPPER_RAMP_LENGTH 130 // Steps to speed up the stepper to prevent loosing steps
// Set to 50 if 1/16 steps are used (MS1 - MS3 connected do +5V)
#define POLARISATION_RELAIS_PIN A1 // Polarisation Relais for dual rail system (Set to -1 if not used)
#define POLARISATION_CHANGE_PORT 12 // is > the given value (1..PORT_CNT)
#define POLARISATION_RELAIS_INVERS 0 // 1: Pin is set to low
#define OLED_TYP 91 // Tested with the following displays
#define MOVING_FLASH_INVERS 1 // Normal: 0 = LED connected to GND
#define MOVING_FLASH_MODE 2 // 1 = Blink, 2 double flash
#define ENABLE_DPRINTF 1 //Debug Ausgaben ein

#endif

#if WHICH_TURNTABLE == TimeWaster // TimeWaster mit TMC2100

#define ALLWAYS_CHECK_STEPS_ONE_TURN 0 // Always check the steps for one turn at power on
#define PORT_CNT 4 // Number of ports
#define CIRCUMFERENCE 826.24 // 263 mm * Pi = circumference of the turntable [mm]
#define ROTATIONSWITCH_DIRECTION -1 // Set from 1 to -1 to change the direction of the rotation switch
#define ROTATIONSWITCH_MENU_DIR -1 // Set from 1 to -1 to change the direction of the rotation switch in the menu
#define TURNTABLE_DIRECTION 1 // Set to -1 to change the rotation / port number direction
#define TURNBACK_SPEED 5000 // Speed used for TurnBackAndSetZero
#define NOT_ENABLE_PIN -1 // Set to -1 if the stepper driver has an automatic power mode like the TMC2100
// The pin of the module must be left open (std 6)
#define STEPPER_RAMP_LENGTH 100 // Steps to speed up the stepper to prevent loosing steps
// Set to 50 if 1/16 steps are used (MS1 - MS3 connected do +5V)
#define MOVE_SPEED1 5000 // Default speed and activated when DCC_SET_SPEED1_ADDR is received
#define MOVE_SPEED2 4000 // Speed activated when DCC_SET_SPEED2_ADDR is received
#define MOVE_SPEED3 3000 // Speed activated when DCC_SET_SPEED3_ADDR is received
#define MOVE_SPEED4 2000 // Speed activated when DCC_SET_SPEED4_ADDR is received
#define POLARISATION_RELAIS_PIN A1 // Polarisation Relais for dual rail system (Set to -1 if not used)
#define POLARISATION_CHANGE_PORT 12 // is > the given value (1..PORT_CNT)
#define POLARISATION_RELAIS_INVERS 0 // 1: Pin is set to low
#define OLED_TYP 91 // Tested with the following displays
#define MOVING_FLASH_INVERS 1 // Normal: 0 = LED connected to GND
#define MOVING_FLASH_MODE 2 // 1 = Blink, 2 double flash
#define ENABLE_DPRINTF 1 //Debug Ausgaben ein
#define SPEED_POTI_DIRECTION 1 // Set to -1 to change the direction of the speed poti
#define SPEED_POTI_MID_RANGE 50 // Range of the speed poti which is 0 (Old 50)
#define SPEED_POTI_CENTER 512 // Center position of the speed poti (Normaly 512)
#define ANALOG_SPEED_DIVISOR 30 // Divisor used to calculate the analog speed with the poti (std 8, 50)
#define CLEARENCE_TEST_SPEED 5000 // Speed used in the clearance test
#define CALIBRATE_SPEED 5000 // Speed used for the zero point and total number of stepps detection

#define STEP_PIN 9 // New Pin 9, Testboard 4
#define DCC_PORT_ADDR_LIST DCC_PORT_ADDR(1, 229, RED), \
DCC_PORT_ADDR(2, 229, GRN), \
DCC_PORT_ADDR(3, 230, RED), \
DCC_PORT_ADDR(4, 230, GRN)
#define POLARISATION_RELAIS_LIST 0, 0, 1, 1
#endif

#if WHICH_TURNTABLE == Fleischmann_6652_2208 // Bernds Fleischmann 6652 mit TMC2208

#define ALLWAYS_CHECK_STEPS_ONE_TURN 0 // Always check the steps for one turn at power on
#define PORT_CNT 48 // Number of ports
#define CIRCUMFERENCE 1039.34 // 263 mm * Pi = circumference of the turntable [mm]
#define ROTATIONSWITCH_DIRECTION -1 // Set from 1 to -1 to change the direction of the rotation switch
#define ROTATIONSWITCH_MENU_DIR -1 // Set from 1 to -1 to change the direction of the rotation switch in the menu
#define TURNTABLE_DIRECTION 1 // Set 1 to -1 to change the rotation / port number direction
#define TURNBACK_SPEED 4000 // Speed used for TurnBackAndSetZero
#define NOT_ENABLE_PIN 6 // Set to -1 if the stepper driver has an automatic power mode like the TMC2100
// The pin of the module must be left open (std 6)
#define STEPPER_RAMP_LENGTH 50 // Steps to speed up the stepper to prevent loosing steps
// Set to 50 if 1/16 steps are used (MS1 - MS3 connected do +5V)
#define MOVE_SPEED1 4000 // Default speed and activated when DCC_SET_SPEED1_ADDR is received
#define MOVE_SPEED2 3000 // Speed activated when DCC_SET_SPEED2_ADDR is received
#define MOVE_SPEED3 2000 // Speed activated when DCC_SET_SPEED3_ADDR is received
#define MOVE_SPEED4 1000 // Speed activated when DCC_SET_SPEED4_ADDR is received
#define POLARISATION_RELAIS_PIN A1 // Polarisation Relais for dual rail system (Set to -1 if not used)
#define POLARISATION_CHANGE_PORT 23 // is > the given value (1..PORT_CNT)
#define POLARISATION_RELAIS_LIST 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
#define POLARISATION_RELAIS_INVERS 0 // 1: Pin is set to low
#define OLED_TYP 91 // Tested with the following displays 87, 91, 96, 130
#define USE_u8x8 1 // 1 bei 91,
#define MOVING_FLASH_INVERS 0 // Normal: 0 = LED connected to GND
#define MOVING_FLASH_MODE 2 // 1 = Blink, 2 double flash
#define ENABLE_DPRINTF 1 //Debug Ausgaben ein
#define SPEED_POTI_DIRECTION 1 // Set 1 to -1 to change the direction of the speed poti
#define SPEED_POTI_MID_RANGE 50 // Range of the speed poti which is 0 (Old 50)
#define SPEED_POTI_CENTER 512 // Center position of the speed poti (Normaly 512)
#define ANALOG_SPEED_DIVISOR 80 // Divisor used to calculate the analog speed with the poti (std 8, 50)
#define CLEARENCE_TEST_SPEED 4000 // Speed used in the clearance test
#define CALIBRATE_SPEED 4000 // Speed used for the zero point and total number of stepps detection

#define JQ6500_VOLUME 25 // Range: 0..30 (-1 = Don't change the volume)

#define STEP_PIN 9 // New Pin 9,
#define DCC_PORT_ADDR_LIST DCC_PORT_ADDR(1, 229, RED), \
DCC_PORT_ADDR(2, 229, GRN), \
DCC_PORT_ADDR(3, 230, RED), \
DCC_PORT_ADDR(4, 230, GRN), \
DCC_PORT_ADDR(5, 231, RED), \
DCC_PORT_ADDR(6, 231, GRN), \
DCC_PORT_ADDR(7, 232, RED), \
DCC_PORT_ADDR(8, 232, GRN), \
DCC_PORT_ADDR(9, 233, RED), \
DCC_PORT_ADDR(10, 233, GRN), \
DCC_PORT_ADDR(11, 234, RED), \
DCC_PORT_ADDR(12, 234, GRN), \
DCC_PORT_ADDR(13, 235, RED), \
DCC_PORT_ADDR(14, 235, GRN), \
DCC_PORT_ADDR(15, 236, RED), \
DCC_PORT_ADDR(16, 236, GRN), \
DCC_PORT_ADDR(17, 237, RED), \
DCC_PORT_ADDR(18, 237, GRN), \
DCC_PORT_ADDR(19, 238, RED), \
DCC_PORT_ADDR(20, 238, GRN), \
DCC_PORT_ADDR(21, 239, RED), \
DCC_PORT_ADDR(22, 239, GRN), \
DCC_PORT_ADDR(23, 240, RED), \
DCC_PORT_ADDR(24, 240, GRN), \
DCC_PORT_ADDR(25, 241, RED), \
DCC_PORT_ADDR(26, 241, GRN), \
DCC_PORT_ADDR(27, 242, RED), \
DCC_PORT_ADDR(28, 242, GRN), \
DCC_PORT_ADDR(29, 243, RED), \
DCC_PORT_ADDR(30, 243, GRN), \
DCC_PORT_ADDR(31, 244, RED), \
DCC_PORT_ADDR(32, 244, GRN), \
DCC_PORT_ADDR(33, 245, RED), \
DCC_PORT_ADDR(34, 245, GRN), \
DCC_PORT_ADDR(35, 246, RED), \
DCC_PORT_ADDR(36, 246, GRN), \
DCC_PORT_ADDR(37, 247, RED), \
DCC_PORT_ADDR(38, 247, GRN), \
DCC_PORT_ADDR(39, 248, RED), \
DCC_PORT_ADDR(40, 248, GRN), \
DCC_PORT_ADDR(41, 249, RED), \
DCC_PORT_ADDR(42, 249, GRN), \
DCC_PORT_ADDR(43, 250, RED), \
DCC_PORT_ADDR(44, 250, GRN), \
DCC_PORT_ADDR(45, 251, RED), \
DCC_PORT_ADDR(46, 251, GRN), \
DCC_PORT_ADDR(47, 252, RED), \
DCC_PORT_ADDR(48, 252, GRN)
#define LAST_USED_DCC_ADDR DCC_CHKADDR(252, GRN) // If wrong limits are used an "warning: division by zero" will be generated

#endif


#if WHICH_TURNTABLE == TimeWasterA // TimeWaster mit A4998

#define ALLWAYS_CHECK_STEPS_ONE_TURN 0 // Always check the steps for one turn at power on
#define PORT_CNT 4 // Number of ports
#define CIRCUMFERENCE 826.24 // 263 mm * Pi = circumference of the turntable [mm]
#define ROTATIONSWITCH_DIRECTION 1 // Set from 1 to -1 to change the direction of the rotation switch
#define ROTATIONSWITCH_MENU_DIR 1 // Set from 1 to -1 to change the direction of the rotation switch in the menu
#define TURNTABLE_DIRECTION -1 // Set 1 to -1 to change the rotation / port number direction
#define TURNBACK_SPEED 2000 // Speed used for TurnBackAndSetZero
#define NOT_ENABLE_PIN 6 // Set to -1 if the stepper driver has an automatic power mode like the TMC2100
// The pin of the module must be left open (std 6)
#define STEPPER_RAMP_LENGTH 100 // Steps to speed up the stepper to prevent loosing steps
// Set to 50 if 1/16 steps are used (MS1 - MS3 connected do +5V)
#define MOVE_SPEED1 2000 // Default speed and activated when DCC_SET_SPEED1_ADDR is received
#define MOVE_SPEED2 1000 // Speed activated when DCC_SET_SPEED2_ADDR is received
#define MOVE_SPEED3 500 // Speed activated when DCC_SET_SPEED3_ADDR is received
#define MOVE_SPEED4 200 // Speed activated when DCC_SET_SPEED4_ADDR is received
#define POLARISATION_RELAIS_PIN A1 // Polarisation Relais for dual rail system (Set to -1 if not used)
#define POLARISATION_CHANGE_PORT 12 // is > the given value (1..PORT_CNT)
#define POLARISATION_RELAIS_INVERS 0 // 1: Pin is set to low
#define OLED_TYP 91 // Tested with the following displays
#define MOVING_FLASH_INVERS 0 // Normal: 0 = LED connected to GND
#define MOVING_FLASH_MODE 2 // 1 = Blink, 2 double flash
#define ENABLE_DPRINTF 1 //Debug Ausgaben ein
#define SPEED_POTI_DIRECTION 1 // Set 1 to -1 to change the direction of the speed poti
#define SPEED_POTI_MID_RANGE 50 // Range of the speed poti which is 0 (Old 50)
#define SPEED_POTI_CENTER 512 // Center position of the speed poti (Normaly 512)
#define ANALOG_SPEED_DIVISOR 100 // Divisor used to calculate the analog speed with the poti (std 8, 50)
#define CLEARENCE_TEST_SPEED 2000 // Speed used in the clearance test
#define CALIBRATE_SPEED 2000 // Speed used for the zero point and total number of stepps detection

#define STEP_PIN 9 // New Pin 9, Testboard 4
#define DCC_PORT_ADDR_LIST DCC_PORT_ADDR(1, 229, RED), \
DCC_PORT_ADDR(2, 229, GRN), \
DCC_PORT_ADDR(3, 230, RED), \
DCC_PORT_ADDR(4, 230, GRN)
#define POLARISATION_RELAIS_LIST 0, 0, 1, 1
#endif


#if WHICH_TURNTABLE == BPA_Nord // BPA_Nord

#define ALLWAYS_CHECK_STEPS_ONE_TURN 0 // Always check the steps for one turn at power on
#define PORT_CNT 24 // Number of ports
#define CIRCUMFERENCE 826.24 // 263 mm * Pi = circumference of the turntable [mm]
#define ROTATIONSWITCH_DIRECTION -1 // Set from 1 to -1 to change the direction of the rotation switch
#define ROTATIONSWITCH_MENU_DIR -1 // Set from 1 to -1 to change the direction of the rotation switch in the menu
#define STEPPER_RAMP_LENGTH 130 // Steps to speed up the stepper to prevent loosing steps
// Set to 50 if 1/16 steps are used (MS1 - MS3 connected do +5V)
#define POLARISATION_RELAIS_PIN A1 // Polarisation Relais for dual rail system (Set to -1 if not used)
#define POLARISATION_CHANGE_PORT 12 // is > the given value (1..PORT_CNT)
#define POLARISATION_RELAIS_INVERS 0 // 1: Pin is set to low
#define OLED_TYP 91 // Tested with the following displays
#define MOVING_FLASH_INVERS 1 // Normal: 0 = LED connected to GND
#define MOVING_FLASH_MODE 2 // 1 = Blink, 2 double flash
#define ENABLE_DPRINTF 1 //Debug Ausgaben ein

#endif

#if WHICH_TURNTABLE == BPA_Sued // BPA_Sued

#define ALLWAYS_CHECK_STEPS_ONE_TURN 0 // Always check the steps for one turn at power on
#define PORT_CNT 24 // Number of ports
#define CIRCUMFERENCE 826.24 // 263 mm * Pi = circumference of the turntable [mm]
#define ROTATIONSWITCH_DIRECTION -1 // Set from 1 to -1 to change the direction of the rotation switch
#define ROTATIONSWITCH_MENU_DIR -1 // Set from 1 to -1 to change the direction of the rotation switch in the menu
#define STEPPER_RAMP_LENGTH 130 // Steps to speed up the stepper to prevent loosing steps
// Set to 50 if 1/16 steps are used (MS1 - MS3 connected do +5V)
#define POLARISATION_RELAIS_PIN A1 // Polarisation Relais for dual rail system (Set to -1 if not used)
#define POLARISATION_CHANGE_PORT 12 // is > the given value (1..PORT_CNT)
#define POLARISATION_RELAIS_INVERS 0 // 1: Pin is set to low
#define OLED_TYP 91 // Tested with the following displays
#define MOVING_FLASH_INVERS 1 // Normal: 0 = LED connected to GND
#define MOVING_FLASH_MODE 2 // 1 = Blink, 2 double flash
#define ENABLE_DPRINTF 1 //Debug Ausgaben ein

#endif

#if WHICH_TURNTABLE == FLM6050 // Fleischmann 6050 Handdrehscheibe mit A4998

#define ALLWAYS_CHECK_STEPS_ONE_TURN 0 // Always check the steps for one turn at power on
#define PORT_CNT 24 // Number of ports
#define CIRCUMFERENCE 521.50 // 166 mm * Pi = circumference of the turntable [mm]
#define ROTATIONSWITCH_DIRECTION -1 // Set from 1 to -1 to change the direction of the rotation switch
#define ROTATIONSWITCH_MENU_DIR -1 // Set from 1 to -1 to change the direction of the rotation switch in the menu
#define TURNTABLE_DIRECTION -1 // Set 1 to -1 to change the rotation / port number direction
#define TURNBACK_SPEED 25000 // Speed used for TurnBackAndSetZero
#define NOT_ENABLE_PIN 6 // Set to -1 if the stepper driver has an automatic power mode like the TMC2100
// The pin of the module must be left open (std 6)
#define STEPPER_RAMP_LENGTH 50 // Steps to speed up the stepper to prevent loosing steps
// Set to 50 if 1/16 steps are used (MS1 - MS3 connected to +5V)
#define MOVE_SPEED1 25000 // Default speed and activated when DCC_SET_SPEED1_ADDR is received
#define MOVE_SPEED2 15000 // Speed activated when DCC_SET_SPEED2_ADDR is received
#define MOVE_SPEED3 5500 // Speed activated when DCC_SET_SPEED3_ADDR is received
#define MOVE_SPEED4 2500 // Speed activated when DCC_SET_SPEED4_ADDR is received
#define POLARISATION_RELAIS_PIN A1 // Polarisation Relais for dual rail system (Set to -1 if not used)
#define POLARISATION_RELAIS_LIST 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
// #define POLARISATION_CHANGE_PORT 12 // is > the given value (1..PORT_CNT)
#define POLARISATION_RELAIS_INVERS 0 // 1: Pin is set to low
#define OLED_TYP 91 // Tested with the following displays
#define MOVING_FLASH_INVERS 0 // Normal: 0 = LED connected to GND
#define MOVING_FLASH_MODE 2 // 1 = Blink, 2 double flash
#define ENABLE_DPRINTF 1 //Debug Ausgaben ein
#define SPEED_POTI_DIRECTION 1 // Set 1 to -1 to change the direction of the speed poti
#define SPEED_POTI_MID_RANGE 50 // Range of the speed poti which is 0 (Old 50)
#define SPEED_POTI_CENTER 512 // Center position of the speed poti (Normaly 512)
#define ANALOG_SPEED_DIVISOR 8 // Divisor used to calculate the analog speed with the poti (std 8, 50)
#define CLEARENCE_TEST_SPEED 25000 // Speed used in the clearance test
#define CALIBRATE_SPEED 25000 // Speed used for the zero point and total number of stepps detection
#define JQ6500_VOLUME 20 // Range: 0..30 (-1 = Don't change the volume)
#define STEP_PIN 9 // New Pin 9, Testboard 4

#endif


Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen


EP2Bernie, gerald bock und Moba_Nicki haben sich bedankt!
 
fbstr
Metropolitan (MET)
Beiträge: 2.521
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital

zuletzt bearbeitet 01.02.2022 | Top

RE: 💡🚂🚃🚃 Turntable Control by Hardi

#10 von fbstr , 04.12.2021 21:37

DCC

Standardmäßig werden die DCC-Adressen 214 aufwärts belegt. Bei einer 24-Port-Drehscheibe geht es dann bis 240.
Natürlich kann die Adresse angepasst werden.

Disable the automatic generated sound if the turntable starts/stops moving 214 0
Enable the automatic generated sound if the turntable starts/stops moving 214 1
decrease the volume 215 0
increase the volume 215 1
Set the sound volume to SOUND_VOLUME1 (10 by default) 216 0
Set the sound volume to SOUND_VOLUME2 (20 by default) 216 1
Play sound 1 217 0
Play sound 2 217 1
Play sound 3 218 0
Play sound 4 218 1
Play sound 5 219 0
Play sound 6 219 1
Play sound 7 220 0
Play sound 8 220 1
Thingiverse Licht 221 0
Thingiverse Licht 221 1
Thingiverse Speed1 222 0
Thingiverse Speed2 222 1
Thingiverse Speed3 223 0
Thingiverse Speed4 223 1
Turn to the next port in positive direction 224 0
Turn to the next port in negative direction 224 1
Thingiverse Rotate positive (CW) 225 0
Thingiverse Rotate negative (CCW) 225 1
Thingiverse Stop 226 0
Thingiverse Calibrate 226 1
Thingiverse Set the polarisation to 0 and disable the automatic 227 0
Thingiverse Set the polarisation to 1 and disable the automatic 227 1
Thingiverse Enable the automatic polarisation mode 228 0
Thingiverse Reverse 228 1
Thingiverse Port 1 229 0
Thingiverse Port 2 229 1
Thingiverse Port 3 230 0
Thingiverse Port 4 230 1
Thingiverse Port 5 231 0
Thingiverse Port 6 231 1
Thingiverse Port 7 232 0
Thingiverse Port 8 232 1
Thingiverse Port 9 233 0
Thingiverse Port 10 233 1
Thingiverse Port 11 234 0
Thingiverse Port 12 234 1
Thingiverse Port 13 235 0
Thingiverse Port 14 235 1
Thingiverse Port 15 236 0
Thingiverse Port 16 236 1
Thingiverse Port 17 237 0
Thingiverse Port 18 237 1
Thingiverse Port 19 238 0
Thingiverse Port 20 238 1
Thingiverse Port 21 239 0
Thingiverse Port 22 239 1
Thingiverse Port 23 240 0
Thingiverse Port 24 240 1


Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen


4fangnix, gerald bock und Moba_Nicki haben sich bedankt!
 
fbstr
Metropolitan (MET)
Beiträge: 2.521
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital

zuletzt bearbeitet 27.12.2021 | Top

RE: 💡🚂🚃🚃 Turntable Control by Hardi

#11 von fbstr , 27.12.2021 15:03

Platzhalter


Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen


Moba_Nicki hat sich bedankt!
 
fbstr
Metropolitan (MET)
Beiträge: 2.521
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital


💡🚂🚃🚃 Turntable Control by Hardi

#12 von fbstr , 20.01.2022 09:21

Zitat von fbstr im Beitrag #10
DCC

Standardmäßig werden die DCC-Adressen 214 aufwärts belegt. Bei einer 24-Port-Drehscheibe geht es dann bis 240.
Natürlich kann die Adresse angepasst werden.
.
.
.
.
.



Momentan bastel ich ja an der 3L-Thingiverse Drehscheibe. Zum Testen habe ich eine MS2 mit Gleisbox. Dort diese ganzen DCC-Adressen auszuwählen wäre mir viel zu mühselig.
Interessant fände ich z.B. nur:
- Drehung 180 Grad
- Stopp
- Bühnenlicht (was im Steuerungskasten nur drin ist) an und aus

Also habe ich mal die Turntable_Config.h angepasst.
Die DCC Adresse 1 verwende ich für die einzige 3L-C-Weiche, die seit vorgestern in meinem Besitz ist.
DCC 2 schaltet die Beleuchtung der Weichenlaterne ein und aus. Das ganze wird über einen WeichEi-Dekoder gesteuert.

Also hätte ich gerne bei der MS2:
3 Rot - Drehscheibe STOPP
3 Grün - Drehung 180 Grad
4 Rot - "Bühnenlicht" aus
4 Grün - "Bühnenlicht" ein
Alle anderen DCC-Kommandos werden nicht benötigt und mit Minus "-" werden die Adressen deaktiviert, bzw. nicht verwendet.

Ausprobiert und mit dieser Einstellung hat es geklappt:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
 

#if WHICH_TURNTABLE == _3L_Thingiverse
// 3L_Thingiverse mit A4988
 
#define ALLWAYS_CHECK_STEPS_ONE_TURN 0 //Always check the steps for one turn at power on
#define PORT_CNT 24 //Number of ports
#define CIRCUMFERENCE 942.5 //300 mm * Pi = circumference of the turntable [mm]
#define ROTATIONSWITCH_DIRECTION -1 //Set from 1 to -1 to change the direction of the rotation switch
#define ROTATIONSWITCH_MENU_DIR -1 //Set from 1 to -1 to change the direction of the rotation switch in the menu
#define TURNTABLE_DIRECTION 1 //Set to -1/1 to change the rotation / port number direction
#define STEPPER_RAMP_LENGTH 130 //Steps to speed up the stepper to prevent loosing steps
//Set to 50 if 1/16 steps are used (MS1 - MS3 connected do +5V)
#define POLARISATION_RELAIS_PIN -1 //Polarisation Relais for dual rail system (Set to -1 if not used)
#define OLED_TYP 96 //Tested with the following displays
#define ROTATE_DISPLAY_180_DEG 1 //Rotate the display by 180 degree
#define MOVING_FLASH_INVERS 0 //Normal: 0 = LED connected to GND
#define MOVING_FLASH_MODE 2 // 1= Blink, 2 double flash
#define ENABLE_DPRINTF // 1 //Debug Ausgaben ein
#define JQ6500_VOLUME 20 //Range: 0..30 (-1 = Don't change the volume)
#define SPEED_POTI_DIRECTION -1 //Set to -1 to change the direction of the speed poti
#define SPEED_POTI_MID_RANGE 50 //Range of the speed poti which is 0 (Old 50)
#define SPEED_POTI_CENTER 512 //Center position of the speed poti (Normaly 512)
#define ANALOG_SPEED_DIVISOR 7 // Divisor used to calculate the analog speed with the poti (std 8)
#define STEP_PIN 9 //New Pin 9, Testboard used 4
#define FIRST_USED_DCC_ADDR DCC_CHKADDR(3,RED) // Used to speed up the program. Must be set to the first used address
#define DCC_DISABLE_SOUND_ADDR DCC_ADD_DIR(-214,RED) // Disable the automatic generated sound if the turntable starts/stops moving
#define DCC_ENABLE_SOUND_ADDR DCC_ADD_DIR(-214,GRN) // Enable the automatic generated sound if the turntable starts/stops moving
#define DCC_VOLUME_DN_ADDR DCC_ADD_DIR(-215,RED) // decrease the volume
#define DCC_VOLUME_UP_ADDR DCC_ADD_DIR(-215,GRN) // increase the volume
#define DCC_VOLUME_1_ADDR DCC_ADD_DIR(-216,RED) // Set the sound volume to SOUND_VOLUME1 (10 by default)
#define DCC_VOLUME_2_ADDR DCC_ADD_DIR(-216,GRN) // Set the sound volume to SOUND_VOLUME2 (20 by default)
#define DCC_PLAY_SOUND1_ADDR DCC_ADD_DIR(-217,RED) // Play sound 1
#define DCC_PLAY_SOUND2_ADDR DCC_ADD_DIR(-217,GRN) // Play sound 2
#define DCC_PLAY_SOUND3_ADDR DCC_ADD_DIR(-218,RED) // Play sound 3
#define DCC_PLAY_SOUND4_ADDR DCC_ADD_DIR(-218,GRN) // Play sound 4
#define DCC_PLAY_SOUND5_ADDR DCC_ADD_DIR(-219,RED) // Play sound 5
#define DCC_PLAY_SOUND6_ADDR DCC_ADD_DIR(-219,GRN) // Play sound 6
#define DCC_PLAY_SOUND7_ADDR DCC_ADD_DIR(-220,RED) // Play sound 7
#define DCC_PLAY_SOUND8_ADDR DCC_ADD_DIR(-220,GRN) // Play sound 8
#define DCC_DISABLE_LIGHT_ADDR DCC_ADD_DIR(4,RED) // Disable the light in the machine house on the turntable
#define DCC_ENABLE_LIGHT_ADDR DCC_ADD_DIR(4,GRN) // Enable the light
#define DCC_SET_SPEED1_ADDR DCC_ADD_DIR(-222,RED) // Set the moving speed to MOVE_SPEED1
#define DCC_SET_SPEED2_ADDR DCC_ADD_DIR(-222,GRN) // Set the moving speed to MOVE_SPEED2
#define DCC_SET_SPEED3_ADDR DCC_ADD_DIR(-223,RED) // Set the moving speed to MOVE_SPEED3
#define DCC_SET_SPEED4_ADDR DCC_ADD_DIR(-223,GRN) // Set the moving speed to MOVE_SPEED4
#define DCC_STEP_POS_DIR_ADDR DCC_ADD_DIR(-224,RED) // Turn to the next port in positive direction
#define DCC_STEP_NEG_DIR_ADDR DCC_ADD_DIR(-224,GRN) // Turn to the next port in negative direction
#define DCC_ROTATE_POS_DIR_ADDR DCC_ADD_DIR(-225,RED) // Continiously rotate in the positive direction
#define DCC_ROTATE_NEG_DIR_ADDR DCC_ADD_DIR(-225,GRN) // Continiously rotate in the negative direction
#define DCC_STOPP_ADDR DCC_ADD_DIR(3,RED) // Stop the turntable
#define DCC_CALIBRATE_ADDR DCC_ADD_DIR(-226,GRN) // Calibrate the zero position (During the calibration no other commands are accepted)
#define DCC_SET_POL_REL0_ADDR DCC_ADD_DIR(-227,RED) // Set the polarisation to RED and disable the automatic
#define DCC_SET_POL_REL1_ADDR DCC_ADD_DIR(-227,GRN) // Set the polarisation to GRN and disable the automatic
#define DCC_AUTO_POL_REL_ADDR DCC_ADD_DIR(-228,RED) // Enable the automatic polarisation mode. The relais will be set after the next move
#define DCC_REVERSE_TABLE_ADDR DCC_ADD_DIR(3,GRN) // Reverse the turntabel
#define DCC_PORT_ADDR_LIST DCC_PORT_ADDR(1,-229, RED), \
DCC_PORT_ADDR(2, -229,GRN), \
DCC_PORT_ADDR(3,-230, RED), \
DCC_PORT_ADDR(4, -230,GRN), \
DCC_PORT_ADDR(5,-231, RED), \
DCC_PORT_ADDR(6,-231, GRN), \
DCC_PORT_ADDR(7,-232, RED), \
DCC_PORT_ADDR(8, -232,GRN), \
DCC_PORT_ADDR(9,-233, RED), \
DCC_PORT_ADDR(10, -233,GRN), \
DCC_PORT_ADDR(11,-234, RED), \
DCC_PORT_ADDR(12, -234, GRN),\
DCC_PORT_ADDR(13,-235, RED), \
DCC_PORT_ADDR(14, -235,GRN), \
DCC_PORT_ADDR(15,-236, RED), \
DCC_PORT_ADDR(16, -236,GRN), \
DCC_PORT_ADDR(17,-237, RED), \
DCC_PORT_ADDR(18, -237, GRN),\
DCC_PORT_ADDR(19,-238, RED), \
DCC_PORT_ADDR(20, -238,GRN), \
DCC_PORT_ADDR(21,-239, RED), \
DCC_PORT_ADDR(22, -239,GRN), \
DCC_PORT_ADDR(23,-240, RED), \
DCC_PORT_ADDR(24, -240, GRN)
#define LAST_USED_DCC_ADDR DCC_CHKADDR(240,GRN) // If wrong limits are used an "warning: division by zero" will be generated
 
#endif
 
 


Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen


4fangnix und Moba_Nicki haben sich bedankt!
 
fbstr
Metropolitan (MET)
Beiträge: 2.521
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital

zuletzt bearbeitet 20.01.2022 | Top

💡🚂🚃🚃 Turntable Control by Hardi

#13 von fbstr , 23.01.2022 19:07


Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen


Moba_Nicki hat sich bedankt!
 
fbstr
Metropolitan (MET)
Beiträge: 2.521
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital

zuletzt bearbeitet 23.01.2022 | Top

💡🚂🚃🚃 Wie steigt man am besten in die Drehscheibensteuerung ein ?

#14 von Domapi , 05.02.2022 12:40

So, mich hat nun auch das Drehscheibenfieber gepackt, darum werde ich in lockerer Folge meine Erfahrungen berichten.

Ich will meine Fleischmann Drehscheibe 6152C damit betreiben, möchte aber erst ein wenig herumexperimentieren.

Was will ich eigentlich alles machen?
1. Langsamer Anlauf und softes Abbremsen der Bühne --> Ist implementiert
2. Ansteuerung von bis zu 4 Signalen auf der Bühne mit Überblenden --> Das kann z.B. über eine kleine Bühnenplatine oder die MobaLedLib gemacht werden
3. Beleuchtung Maschinenhaus plus Blinklicht auf dem Dach --> Ist implementiert, ggf. über Bühnenplatine oder MobaLedLib
4. Abspielen von Sounds, passend zur Bewegung --> aktuell kann über ein JQ6500 Modul z.B. ein Sound bei Bewegung und ein Hupen abgespielt werden
5. Polarisierung der Drehbühnengleise --> Ist implementiert und die Polarisierung ist pro DS-Abgang einstellbar
6. Ich will das ganze über Traincontroller mir DCC-Befehlen steuern, alternativ zu Beginn manuell --> Ist implementiert
7. Anschluss eines Gleisbelegtmelders (Stromfühler) für die Bühne (ECOS Detektor) --> ist möglich

Hier meine typischen Anfänger-Fragen und die Antworten:

Was brauche ich zum Einstieg in das Drehscheibenprojekt?
Platine, Arduino Nano, Stepper-Treiber, am besten einen TMC2208, OLED-Display, z.B. 0,96", Drehschalter (Encoder mit Taster), Poti mit Mittelrastung (rastet in der Mitte-Stellung ein) und natürlich einen Stepper-Motor.

Wo finde ich den Sketch? Den Schaltplan?
Hier: https://github.com/Hardi-St/MobaLedLib_Turntable

Wo bekomme ich eine Platine her?
Aktuell sind die Platinen vergriffen. Ich habe noch eine über dunkle Kanäle ergattert.
Evtl. designe ich mir noch eine eigene. Also Geduld!

Wo finde ich eine Liste der benötigten Bauteile?
Derzeit gibt es einen Schaltplan auf GitHub und eine Bauteilliste hier https://wiki.mobaledlib.de/anleitungen/b...scheibe_minimum

Welchen Stepper-Motor soll ich verwenden?
Zum ersten Testen eignet sich ein einfacher, günstiger Motor, z.B. https://www.reichelt.de/schrittmotor-nem...1x-p260760.html
Etwas teurer: https://www.reichelt.de/trinamic-schritt...26-p62652.html?
Oder ein Trinamic QSH4218-41-10-035
Der hier geht auch Wantai Stepper 42BYGHM809, der hat auch doppelt so viele Schritte (400 Schritte => 0.9°, 0.48Nm).
Bernd hat hier Erfahrungen mit einem Umbausatz für die FLM-DS berichtet: Meine Erfahrungen beim Umbau meiner Drehscheibe mit Steppermotor und Steuerung mit der MobaLedLib
Weitere Halterungen gibt es z.B. hier https://thomas.kortschack.de/?p=34

Nachdem die Stummis gerne Bilder sehen, so ist mein aktueller Stand mit Yoghurt-Deckel:

Bild entfernt (keine Rechte)

Da ich mich vorher noch nie mit Stepper-Motoren beschäftigt hatte, hier ein bisschen Einstiegsliteratur. Der Typ ist immer sehr gut unterwegs, hat auch einen gut gemachten YouTube-Videokanal:

https://dronebotworkshop.com/stepper-motors-with-arduino/

Oft sprechen die Super-Gescheiten von NEMA17 Steppern o.ä. Das sagt erst einmal nichts über die technischen Motor-Eigenschaften aus! NEMA17 ist nur eine Angabe, wie groß der Motor ist. Näheres findet ihr im Link oben.

Wichtig ist bei Steppermotoren die Anzahl Steps pro Umdrehung. Für die Drehscheibe sollten es 200 oder auch 400 Steps pro Umdrehung sein. Außerdem sollte man auf den Strombedarf des Motors achten. Der muss zur verwendeten Ansteuerung durch den Treiber passen. Sonst gibt es Rauchzeichen.

Neben Steps gibt es noch sogenannte Microsteps. Diese interpolieren bestimmte Motorpositionen, so dass letztlich eine exakte Position eingenommen werden kann.

Und so hat es mal angefangen:

Bild entfernt (keine Rechte)


Das PDF im Anhang unten war meine erste Schaltskizze, die gelben Schaltungsteile wollte ich erst einmal nicht verwenden.


Viele Grüße
Martin

- Mein Trennungsbahnhof: viewtopic.php?f=64&t=152275
- Drehscheibensteuerung auf Arduinobasis "LocoTurn": https://wiki.mobaledlib.de/anleitungen/b...v10/150_inhalte

Dateianlage:
Sie haben nicht die nötigen Rechte, um die angehängten Dateien zu sehen

 
Domapi
CityNightLine (CNL)
Beiträge: 1.633
Registriert am: 22.09.2015
Ort: Nämberch
Gleise Ohne Pickel
Spurweite H0
Steuerung Mit Hirn und Verstand
Stromart DC, Digital

zuletzt bearbeitet 14.01.2023 | Top

RE: 💡🚂🚃🚃 Platinenaufbau, spezielle Bauteile, erste Tests

#15 von Domapi , 05.02.2022 14:49

Wenn man eine Platine hat, ist das schon die halbe Miete!

Für die 5V Spannungsversorgung des Arduino sollte man einen DC/DC-Wandler (z.B. https://www.reichelt.de/de/de/dc-dc-wand...gI6t_D_BwE&&r=1) und keinen normalen Festspannungsregler LM7805 verwenden, der wird nämlich sehr heiß.

Encoder gibts z.B. hier, die haben gleich die benötigten Pullup-Widerstände integriert: https://www.roboter-bausatz.de/p/drehenc...ASABEgLK1_D_BwE

Das 50k Poti mit Mittelrastung bei gibt es bei Voelkner, Conrad etc. https://www.voelkner.de/products/33709/A...AiAAEgIhm_D_BwE eine Stereoversion passt auch in den footprint.

Weiterhin brauchen wir ein paar LEDs mit den passenden Vorwiderständen.

Das TMC2208: https://www.ebay.de/itm/363338878570?ssP...353.m2749.l2648

Im Wiki habe ich im Nachgang doch noch eine Liste der Bauteile gefunden: https://wiki.mobaledlib.de/anleitungen/b...scheibe_minimum

Wie Frank oben schon geschrieben hat, ist es sinnvoll, sich vorher zu überlegen, ob die LEDs, Poti und Encoder auf die Platine gelötet oder über Buchsenleisten und Kabel irgendwo am Anlagenrand positioniert werden sollen. Ich habe zum Testen alles auf die Platine gelötet.

Einen ersten Check macht man ohne eingesteckten Nano und ohne TMC2208 sowie ohne Motor.
Nach Anschließen des Netzteils sollte die obere rechte LED leuchten und am Nanosteckplatz am entsprechenden Pin 5V messbar sein.
In diese Buchse stecken wir ein Kabel und prüfen mit dem anderen Ende, ob die LEDs an den jeweiligen Pins leuchten.
Einzig der Hallsensor muss mit Verbindung zu GND simuliert werden, damit die LED leuchtet.

Dazu ist es hilfreich, wenn man den Schaltplan lesen kann

Anschließend setzt man noch ein paar Jumper für den TMC2208 und steckt ihn ein (vorher natürlich Netzteil abstöpseln!).
Der oberste Jumper kommt in die rechte Position, damit der Nano den Motor über den TMC später ein- und ausschalten kann.
Die Jumper MS1 und MS2 kommen in die linke Position und teilen dem TMC mit, dass Microstepping genutzt werden soll.
Die beiden unteren Jumper werden nicht benötigt! So sieht das dann aus:

Bild entfernt (keine Rechte)

Bei anderen Steppertreibern muss man ggf. andere Jumperpositionen wählen!

Jetzt kann man den TMC einstecken immer noch ohne Motor, das Netzteil anschließen und die Referenzspannung Vref des TMC einstellen. Der hat hierfür ein winziges Potentiometer am oberen Rand (im Bild oben rechts über dem blauen Kühlergrill). Näheres ist hier zu finden:

https://wiki.mobaledlib.de/hilfestellungen/stepper

https://wiki.mobaledlib.de/anleitungen/b...ibe_einrichtung

Anschließend kann man den Motor hoffentlich richtig herum anschließen.

Nun den Sketch auf den Nano spielen. Wichtig sind geeignete Konfigurationsdaten. Dazu später mehr. Ggf. sind einige Bibliotheken zu installieren.

Falls der Speicher des Nano nicht ausreicht, muss er erst mit einem neuen Bootloader versorgt werden (OPTIBOOT 8).
Aber das ist nochmal eine andere Geschichte.


Viele Grüße
Martin

- Mein Trennungsbahnhof: viewtopic.php?f=64&t=152275
- Drehscheibensteuerung auf Arduinobasis "LocoTurn": https://wiki.mobaledlib.de/anleitungen/b...v10/150_inhalte


 
Domapi
CityNightLine (CNL)
Beiträge: 1.633
Registriert am: 22.09.2015
Ort: Nämberch
Gleise Ohne Pickel
Spurweite H0
Steuerung Mit Hirn und Verstand
Stromart DC, Digital

zuletzt bearbeitet 31.10.2022 | Top

RE: 💡🚂🚃🚃 Anschluss von Hall-Sensor und Stepper-Treiber TMC2208

#16 von Domapi , 05.02.2022 18:08

Meinen Motor habe ich folgendermaßen an den Connector Con3 (Wannenstecker/-buchse) angeschlossen:

Bild entfernt (keine Rechte)

Der Hallsensor wird ebenfalls in der Wannenbuchse mit Hilfe von 3 Kabeln angeschlossen.

Prinzipiell kann man dann schon die Drehscheibe mit dem Sketch bewegen.
Mein erster DS-Dummy war ein Bleistift mit Tesafilm auf die Achse geklebt (Bild siehe oben).

Nach dem Einschalten erscheint „Calibrating …“ im Display. Die Steuerung wartet auf ein Hall-Signal zur Ermittlung des NULL-Punktes. Dieser lässt sich simulieren, indem man ein paar Mal den Magneten richtig herum an den Hall-Sensor hält. Alternativ die beiden Pins GND (11) und Zero_SW (Hall) (13) des 14-pol. Wannensteckers kurz verbinden. Die entsprechende LED muss dabei aufleuchten.

Damit ist die Steuerung grob initialisiert. Besser ist es natürlich, den Motor irgendwie zu fixieren, eine Scheibe zu montieren und den Magneten sowie den Hallsensor zu verwenden.

Bei mir hat der Motor nach einer Anpassung an der Platine nicht mehr funktioniert und die Sucherei nach dem Fehler ging los. Zuerst dachte ich, der TMC2208 ist gehimmelt. Flugs neue bestellt, ging aber immer noch nicht.

Dann habe ich einen Minimalsketch zusammen mit einem Breadboard-Hardwareaufbau verwendet, um alles im Kleinen systematisch zu testen.
Der Fehler war letztendlich ein zu schwacher Modellbahn-Trafo und vertauschte Motoranschlüsse. Jetzt hängt die Steuerung an einem 19,5 V Laptopnetzteil.

Den Minimalsketch und den reduzierten Schaltplan findet ihr im Anhang. Das *txt-File muss auf *.ino umbenannt werden.

Auf dem Steckbrett habe ich auch ein paar LEDs an Dir und Step gehängt, um zu sehen, was der Nano an den Treiber sendet.
Bei "vorwärts" leuchtet die Dir-LED, bei "rückwärts" ist sie aus.
Die Step-LED blitzt langsam und wird immer schneller, bis sie quasi voll leuchtet.
Je mehr "Blitze" desto schneller dreht der Motor. So einfach ist das.

Bild entfernt (keine Rechte)


Viele Grüße
Martin

- Mein Trennungsbahnhof: viewtopic.php?f=64&t=152275
- Drehscheibensteuerung auf Arduinobasis "LocoTurn": https://wiki.mobaledlib.de/anleitungen/b...v10/150_inhalte

Dateianlage:
Sie haben nicht die nötigen Rechte, um die angehängten Dateien zu sehen

 
Domapi
CityNightLine (CNL)
Beiträge: 1.633
Registriert am: 22.09.2015
Ort: Nämberch
Gleise Ohne Pickel
Spurweite H0
Steuerung Mit Hirn und Verstand
Stromart DC, Digital

zuletzt bearbeitet 13.03.2022 | Top

RE: 💡🚂🚃🚃 Arduino Nano mit OPTIBOOT 8 Bootloader

#17 von Domapi , 06.02.2022 08:20

Heute geht es etwas technischer weiter.

Bei der DS-Software haben wir zwei Probleme: einmal hat Hardi wieder viel zu viele Funktionen eingebaut und zweitens ist der Speicher eines Nano leider begrenzt. Das erstere werden wir nicht mehr ändern können, aber dem Nano kann man zu etwas mehr Speicher verhelfen.

Sobald nach dem Kompilieren angezeigt wird " ... Das Maximum sind 30720 Bytes.", gibt es akuten Handlungsbedarf!

Um zusätzlichen Programm-Speicher freizuschaufeln, muss man dem Nano einen neuen Bootloader aufspielen. Diesen kann man hier runterladen (Optiboot 8): https://github.com/Optiboot/optiboot/releases

Das Prozedere ist hier recht ausführlich beschrieben: https://www.az-delivery.de/blogs/azdeliv...tloader-brennen

Am besten macht man das gleich für mehrere Nanos nacheinander. Ich habe alle meine verbauten Nanos mittlerweile upgedated.
Ich habe einen Uno als Programmer verwendet, an dem ich die Nanos als Target angeschlossen habe.
Das baut man sich am besten auf dem Steckbrett auf und macht das in einem Rutsch für mehrere Nanos.

Auf den Uno muss zunächst ein Sketch aufgespielt werden ("ArduinoISP"), dann kann der Uno die Nanos mit dem Bootloader versorgen.

Auf wundersame Weise haben wir dann ca. 1,5 kByte Speicher zusätzlich zur Verfügung. Zudem funktioniert nun auch der sogenannte Watchdog des Nano endlich richtig ...

Bild entfernt (keine Rechte)

32256 Bytes sind irre viel (die ersten Mondraketen lagen auch in diesem Bereich).
Eigentlich hoffe ich immer noch auf einen Nano mit wesentlich mehr Speicher ähnlich der STM-µC.
Größe und Bauart des Nano passen perfekt für selbstgestrickte Schaltungen, darum hänge ich so an ihm ...
Bis dahin müssen wir eben sparsam programmieren.

Der Nano hat aber lediglich Programmspeicher dazu gewonnen. Der sogenannte SRAM-Speicher für die Variablen zur Laufzeit beträgt trotzdem nur 2048 Bytes. Das ist leider meistens zu wenig. Da muss man tricksen, um z.B. Konstanten in den Programmspeicher zu bringen und damit SRAM einzusparen. Das ist aber wieder eine neue Geschichte. Weiterhin bleibt es bei den 1024 Bytes EEPROM. Den nutzt der Sketch recht ausgiebig, um die DS-Positionen zu speichern, damit sie bei nächsten Einschalten wieder verfügbar sind und nicht neu definiert werden müssen.

Achtung: Falls ihr die Arduino-IDE irgendwann mal updated, muss der Optiboot Bootloader json-Link erneut in den Boardverwalter eintragen werden!


Viele Grüße
Martin

- Mein Trennungsbahnhof: viewtopic.php?f=64&t=152275
- Drehscheibensteuerung auf Arduinobasis "LocoTurn": https://wiki.mobaledlib.de/anleitungen/b...v10/150_inhalte


 
Domapi
CityNightLine (CNL)
Beiträge: 1.633
Registriert am: 22.09.2015
Ort: Nämberch
Gleise Ohne Pickel
Spurweite H0
Steuerung Mit Hirn und Verstand
Stromart DC, Digital

zuletzt bearbeitet 13.03.2022 | Top

RE: 💡🚂🚃🚃 Arduino Nano mit OPTIBOOT 8 Bootloader

#18 von Hardi , 06.02.2022 10:33

Hallo Martin,

den OptiBoot Bootloader kann man auch ganz einfach über die MobaLedLib mit einem Klick installieren. Im Optionsmenü des Prog_Generators findet man:
Bild entfernt (keine Rechte)

Das einzige, was man dazu braucht, ist eine Hauptplatine der MobaLedLib. Aber die ist ja eh Plicht... Die Hauptplatine ab Version 1.6 spielt dabei den Programmieradapter.

Im Prog_Generator wird der Bootloader "Schnell" genannt, weil er zusätzlich einen deutlich schnelleren Upload bietet.

Den Eintrag im Menü der Arduino IDE muss man weiterhin von Hand machen.

Hardi


Haltet Euch unbedingt von diesen Seiten fern:
viewtopic.php?f=7&t=165060
https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr hier:
RE: Unsere Kinder und Vater Anlage(n)


 
Hardi
InterCityExpress (ICE)
Beiträge: 2.137
Registriert am: 28.12.2015
Homepage: Link
Ort: Mainz
Gleise C
Spurweite H0
Steuerung MS2 + Eigenbau
Stromart Digital


RE: 💡🚂🚃🚃 Arduino Nano mit OPTIBOOT 8 Bootloader

#19 von Eckhart , 08.02.2022 15:57

Zitat von Domapi im Beitrag #14
Wo finde ich eine Liste der benötigten Bauteile?
Derzeit gibt es einen Schaltplan auf GitHub und eine Bauteilliste hier https://wiki.mobaledlib.de/anleitungen/b...scheibe_minimum

Bernd hat hier Erfahrungen mit einem Umbausatz für die FLM-DS berichtet: Meine Erfahrungen beim Umbau meiner Drehscheibe mit Steppermotor und Steuerung mit der MobaLedLib
Weitere Halterungen gibt es z.B. hier https://thomas.kortschack.de/?p=34



Hallo Martin!

Vielen Dank für deine Zusammenstellung der verschiedenen Projekte! Beim Thema Hallgeber bin ich aber auf eine (oder mehrere) Ungereimtheiten gestoßen!

- Bernd führt in dem von dir auch referenzierten Projekt aus, dass er Probleme mit der Entfernung zwischen dem Hallgeber und dem Magneten hat! Wo der Magnet herkommt ist leider nicht beschrieben.

- Bei Thomas Kortschack sieht das alles ganz einfach aus: Hallgeber, auf Fichtelbahn Platine und "Kortschack Halter" unter die Grube und ein, leider nicht näher spezifizierter, Magnet in die Bühne. Es ist aber auch die Fichtelbahn Drehscheibensteuerung. Allerdings gibt es auch auf der Fichtelbahnseite keinen spezifizierten Magneten im Angebot.

- In der Bauteileliste von mobaledlib ist gar kein Magnet angegeben (das Bild enthält auch keinen) und auch keine Quelle dafür.

Da es sich immer um den gleichen TLE4905 handeln soll wundert mich das alles ein wenig! Welcher Magnet ist denn der "Referenzmagnet" von mobaledlib und welchen Abstand darf er zum Hallgeber haben?

Gruß, Eckhart


Meine aktuelle Umfrage: Wie gut kannst du mit dem MLL Pattern-Configurator umgehen?


Moba_Nicki hat sich bedankt!
Eckhart  
Eckhart
InterCity (IC)
Beiträge: 592
Registriert am: 28.01.2022
Gleise K-Gleis
Spurweite H0
Steuerung CS3+
Stromart AC, Digital


RE: 💡🚂🚃🚃 Arduino Nano mit OPTIBOOT 8 Bootloader

#20 von fbstr , 08.02.2022 17:06

Zitat von Eckhart im Beitrag #19
Welcher Magnet ist denn der "Referenzmagnet" von mobaledlib und welchen Abstand darf er zum Hallgeber haben?


Hallo Eckhart,

gut dass Du das Thema Magnet ansprichst, sonst würde uns das gar nicht auffallen. Durch mein früheres Hobby habe ich kleine Magnete im Überfluß und käme gar nicht auf die Idee, dass dies ein Problem darstellt.

Es kommt ein bisschen auf Deine Drehscheibe an wo Du wie den Magneten und Hallsensor einbauen kannst.
Bei Reichelt hatte ich mir mal welche mit 2mm und 4mm Durchmesser bestellt:

https://www.reichelt.de/magnet-2mm-laeng...2-0-p151642.htm
https://www.reichelt.de/magnet-3-0mm-lae...3-0-p27683.html
https://www.reichelt.de/magnet--4-0mm-la...4-0-p11170.html

Bei meinen Drehscheiben haben diese einen Abstand von ca. 2 - 4mm zum Hallsensor.


Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen


Moba_Nicki hat sich bedankt!
 
fbstr
Metropolitan (MET)
Beiträge: 2.521
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital


RE: 💡🚂🚃🚃 Arduino Nano mit OPTIBOOT 8 Bootloader

#21 von Eckhart , 08.02.2022 18:04

Hallo Frank!

Vielen dank für das Heraussuchen der Artikel bei Reichelt!

Zitat von fbstr im Beitrag #20
Bei meinen Drehscheiben haben diese einen Abstand von ca. 2 - 4mm zum Hallsensor.


2-4mm wären jetzt auch meine Annahme für einen möglichen Abstand gewesen. Bei dem Bericht von Bernd hört sich das aber so an, als wäre er damit nicht hingekommen und hat deswegen die Grube der Scheibe angebohrt. Und bei Thomas Kortschack genau das Gegenteil! Dort wirkt es so, als wären es noch mehr als 4mm. Der Kunststoff der Grube ist ja schon 2-3mm und der Hallsensor liegt noch nicht mal von darunter auf. Zudem ist der Magnet winzig.

Ich werde mir wohl mal Magneten besorgen und anfangen zu experimentieren.

Gruß, Eckhart


Meine aktuelle Umfrage: Wie gut kannst du mit dem MLL Pattern-Configurator umgehen?


Moba_Nicki hat sich bedankt!
Eckhart  
Eckhart
InterCity (IC)
Beiträge: 592
Registriert am: 28.01.2022
Gleise K-Gleis
Spurweite H0
Steuerung CS3+
Stromart AC, Digital


RE: 💡🚂🚃🚃 Arduino Nano mit OPTIBOOT 8 Bootloader

#22 von Tomitu , 22.12.2022 21:33

Moin,
ein süper Thread für eine Drehscheiben Steuerung.
Gibt es so etwas auch in vereinfachter Form.?
Ich bin kein Elektorniker und so wie Ihr das gemacht habt sind schon fundierte Kenntnisse notwendig.
Es soll aber auch nicht die Hobby Schatulle bis zum Boden leeren.
Ich möchte mir auch eine Drehscheibe basteln .
Arduino Nano oder Uno sind vorhanden.
Ebenso der Spielzeug Schrittmotor oder ein größerer.
Auch div. Potis sind schon vorhanden.
Ich habe schon Versuche mit 3 Tasten gemacht bin aber doch nicht so ganz damit zu frieden.
Mein Lastenheft sieht so aus:
16m Drehscheibe in H0. Eigenbau.
Bedienung Analog vieleicht später mit TC.
Kehrschleifen Modul KSM 3 für die Drehrichtugsumkehr des Bahnstroms.
Arduino Steuerung für den Schrittmotor.
4 Gleisanschlüsse.
Möglicher Aufbau so Simpel wie möglich.
Daher meine Frage :
Könnt Ihr mir dabei helfen?
Danke und schöne Festtage
Thomas


Tomitu  
Tomitu
InterRegio (IR)
Beiträge: 136
Registriert am: 24.10.2022
Ort: südliche Wetterau
Spurweite H0
Steuerung DR 5000, Rocrail, Train Controler, Multi Maus, Pico Wlan
Stromart DC, Digital


RE: 💡🚂🚃🚃 Arduino Nano mit OPTIBOOT 8 Bootloader

#23 von Domapi , 23.12.2022 07:44

Unsere Lösung ist eine nicht-kommerzielle DIY-Lösung. Jedoch funktional mit kommerziellen Steuerungen vergleichbar. Aber ohne Beratung und momentan ohne Handbuch. Hierfür suchen wir noch Freiwillige! In der aktuellen Software-Version sind jedoch bereits viele Informationen dokumentiert. Die kann ich gerne vorab über PN bzw. Mail zukommen lassen.

Du musst dich also schon selbst reinfuchsen und solltest löten, Arduino mit Programmen laden können und ein bißchen Programmieren schadet auch nicht.

Niemand wird es dir mundgerecht servieren.

Mir fehlt die Zeit für eine individuelle Betreuung, ich habe schon unendlich Zeit in die Programmierung und Tests gesteckt.

Die Steuerung wird mit einem Drehencoder oder einem Poti gesteuert, aktuell keine Taster, außer für ein paar Sonderfunktionen. Natürlich gibt es eine DCC-Anbindung. Polarisierung der Bühne ist vorhanden. Und die Möglichkeit, Signale und Beleuchtung anzusteuern. Das OLED-Display zeigt alle Aktionen an. Weitere Features stehen im Stummiforum.

Im neuen Jahr veröffentliche ich voraussichtlich eine neue Softwareversion. Platinen wird es auch geben, entweder verkaufe ich welche oder ich stelle die Dateien zur Verfügung für eine Selbstbestellung bei einem Platinenhersteller.


Viele Grüße
Martin

- Mein Trennungsbahnhof: viewtopic.php?f=64&t=152275
- Drehscheibensteuerung auf Arduinobasis "LocoTurn": https://wiki.mobaledlib.de/anleitungen/b...v10/150_inhalte


gerald bock und RReinehr haben sich bedankt!
 
Domapi
CityNightLine (CNL)
Beiträge: 1.633
Registriert am: 22.09.2015
Ort: Nämberch
Gleise Ohne Pickel
Spurweite H0
Steuerung Mit Hirn und Verstand
Stromart DC, Digital

zuletzt bearbeitet 23.12.2022 | Top

RE: 💡🚂🚃🚃 Arduino Nano mit OPTIBOOT 8 Bootloader

#24 von Domapi , 23.12.2022 07:45

doppelt


Viele Grüße
Martin

- Mein Trennungsbahnhof: viewtopic.php?f=64&t=152275
- Drehscheibensteuerung auf Arduinobasis "LocoTurn": https://wiki.mobaledlib.de/anleitungen/b...v10/150_inhalte


 
Domapi
CityNightLine (CNL)
Beiträge: 1.633
Registriert am: 22.09.2015
Ort: Nämberch
Gleise Ohne Pickel
Spurweite H0
Steuerung Mit Hirn und Verstand
Stromart DC, Digital

zuletzt bearbeitet 23.12.2022 | Top

RE: 💡🚂🚃🚃 Arduino Nano mit OPTIBOOT 8 Bootloader

#25 von Tomitu , 23.12.2022 20:03

Moin,
dann warte ich erst nochmal ab.
Ich habe mir auch den anderen Thread dazu durchgelesen und denke das das ganze für meine kleine Scheibe reichlich
oversiced ist.
Da es nur eine Nebenbahn Scheibe ist brauche ich vieles von dem nicht. Auch soll das ganze manuell zu steuern sein.
Ohne viel bim, bim und tut, tut, blink, blink.
Ich habe mir in meinem Konstrukt auch nur 2 Kontakte für den Bahn Strom angelegt. Das sollte reichen.
Mit dem Sketch warte ich noch bis dieser ohne große Programier Kentnisse zum Hochladen zur Verfügung steht.
Ich bin nur Laie, kann zwar basteln, aber doch schon gut durchdachte Bausätze, gerade was die Elektronik anbelangt.
Flugzeuge sind bei mir da ne ganz andere Sache. Da reicht mir ne Bierdeckel Skizze.
Also erstmal abwarten und die ganze Sache beobachten.
Schöne Weihnachten
Thomas


Tomitu  
Tomitu
InterRegio (IR)
Beiträge: 136
Registriert am: 24.10.2022
Ort: südliche Wetterau
Spurweite H0
Steuerung DR 5000, Rocrail, Train Controler, Multi Maus, Pico Wlan
Stromart DC, Digital


   

MobaLedLib Servodecoder ohne Exel Programmmieren?
CS3 Ereignisbearbeitung

Xobor Einfach ein eigenes Forum erstellen
Datenschutz