RE: Arduinobasierter DIY Zubehördecoder (DCC) - (Segment) - Drehscheibe

#1 von FarFarAway , 21.08.2017 00:18

Hallo zusammen.

Basierend auf MicroBahners wahnsinnig coolen DIY DCC Functionsdekoder soll hier eine Modifikation entstehen, die auch Drehscheiben und Segmentdrehscheiben unterstützt. Ermuntert von Franz-Peter erstelle ich hier einen eigenen Thread mit dem evtl. Ziel die Entwicklung in den normalen Decoder source zu integrieren.

Vielleicht möchte ich hier ein wenig zu hoch hinaus, da ich noch nicht mal einen von den "Standard" Dekodern zusammengebaut habe. Aber wir werden sehen.

Vorab erst mal ein Bild der Segmentdrehscheibe die der Ursprung diesen Übels ist


Weitere Bilder meiner Segmentdrehscheibe könnt ihr hier begutachten.

Ich weiss, nach knapp viereinhalb Jahren hätte das schon längst alles fertig sein sollen. Aber da war ja der Franz-Peter noch nicht so weit. Da musste ich also ein wenig warten.

Also vorab ein paar Sätze zu den Funktionen:
Der Antrieb ist von einem alten Drucker/Scanner entliehen. Der Scanner wurde über einen Stepping motor angetrieben. Dieser soll nun über eine Linearbewegung einen mitnehmen bewegen, der auf der Achse der Segmentdrehscheibe sitzt. Über den ganzen Weg braucht der Stepper ca 7600 Schritte, was eine ausreichend exakte Positionierung ermöglichen sollte. Meine Segmentdrehscheibe hat zusätzlich eine Verriegelung, die über einen Servo betrieben werden soll.

Der Ablauf wird also vollgendermassen aussehen:
- Verriegelung öffnen
- Wenn fertig Bühne bewegen
- Wenn am Ziel Verriegelung schliessen

Der Servo selbst wird auf der Achse unter der Bühne montiert und bewegt den Schieber mittels eines Federstahldrahtes in einer Messingröhre. Das Ende der Röhre (und auch mehr davon) kann man auf den Fotos erkennen.

Für das Einstellen der Positionen wird ein DrehEncoder integriert. Leds werden den aktuellen Status anzeigen. In meinem Fall, Positionen 1 bis 3 und Bewegung. Manuelle Taster sollen die Bewegung initiieren und eine Nullpunktsstellungssuche auslösen können - Dies soll natürlich auch über DCC erfolgen koennen. Ein Schalter zur Nullpunktserkennung ist vorgesehen.

Ich weiche von der Standard Belegung der Ports ein wenig ab. Einziger Grund dafür ist ein ein wenig einfacher Layout auf der Platine. Da ich kein Platinendesigner und auch nix zum Ätzen habe muss das mit Lochraster passieren. Da hab ich dann mal eine Platine entworfen und wollte das mal hier vorstellen. Vielleicht kann mir ja auch einer sagen ob da noch Fehler drin stecken. Dabei dann viel Spass beim suchen!


Zur Info: das design habe ich mit DIY Layout Creator gemacht.

Die grünen Verbindungen werden auf der Unterseite der Platine verdrahtet.

Hier dann noch die Portbelegung am Arduino:
DCC Input: D2
DCC Acknowledge: D4

Pom Mode: A0

Stepper Motor: D9, D10, D11, D12
Servo: D3

Status Leds: D5, D6, D7, D13

Drehregler: A5, A6, A7
Buttons: A1, A2, A3, A4
NullPunktSchalter: D8

Dann fehlt nur noch die angepasste Programmierung...
(Da aus meinem Garagenprojekt (3,5m x 7m) ja eh wieder nix wird hab ich ja Zeit.
Warum daraus nix wird? Wir verkaufen grad unser Haus um von vorn anzufangen. Bauen, Haus bauen meine ich!)

So, nun wünsche ich euch viel Spass beim verfolgen hier. Kommentare und weitere Anregungen sind erwünscht!

Cheers,
Klaus


alle sagten: das geht nicht! dann kam einer daher, der wußte das nicht - und hat's gemacht ...

mein projekt: betriebswerk an kreuzenden hauptstrecken
mein projekt: endbahnhof brois


 
FarFarAway
InterCity (IC)
Beiträge: 718
Registriert am: 04.04.2012
Spurweite H0
Stromart DC, Digital


RE: Arduinobasierter DIY Zubehördecoder (DCC) - (Segment) - Drehscheibe

#2 von FarFarAway , 21.08.2017 00:23

Und dann gleich noch ne Frage an Franz-Peter:

Ich bin kein Elektroniker und wollte mal fragen was die beiden Kondensatoren am 12V Anschluss machen?
Puffern und glätten der 12V? Oder bin ich da auf dem Holzweg?

Cheers,
Klaus


alle sagten: das geht nicht! dann kam einer daher, der wußte das nicht - und hat's gemacht ...

mein projekt: betriebswerk an kreuzenden hauptstrecken
mein projekt: endbahnhof brois


 
FarFarAway
InterCity (IC)
Beiträge: 718
Registriert am: 04.04.2012
Spurweite H0
Stromart DC, Digital


RE: Arduinobasierter DIY Zubehördecoder (DCC) - (Segment) - Drehscheibe

#3 von fbstr , 21.08.2017 07:33

Ich hol mal Popcorn.

Zitat

glätten der 12V?


Das würde ich auch meinen. Mal gespannt was die Experten sagen.


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


 
fbstr
Metropolitan (MET)
Beiträge: 2.549
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: Arduinobasierter DIY Zubehördecoder (DCC) - (Segment) - Drehscheibe

#4 von garti62 , 21.08.2017 10:25

Hallo Klaus,

erst mal meine Hochachtung für die Drehscheibe an sich. Das ist ja wirklich Modellbau vom Feinsten.

Zitat

Da hab ich dann mal eine Platine entworfen und wollte das mal hier vorstellen. Vielleicht kann mir ja auch einer sagen ob da noch Fehler drin stecken. Dabei dann viel Spass beim suchen!



Da würde ich jetzt mal nichts überstürzen. Bevor Du irgendein Bauteil verlötest, empfehle ich Dir, die Schaltung auf einem simplen Steckbrett zusammenzustecken und dann erst einmal die Software zu entwerfen und gründlich auszuprobieren. Und erst wenn alles funktioniert, alle Bauteile feststehen, alle Portbelegungen usw. würde ich über eine Platine nachdenken. Vielleicht kommen wir ja dann auch noch zu einer "richtigen" Platine . Aber das hat erst Sinn, wenn alle Klarheiten beseitigt sind .

Sehr schönes Projekt!

Gruß
Ulli


erste Versuche: Weichenbau


 
garti62
InterCity (IC)
Beiträge: 645
Registriert am: 08.11.2011


RE: Arduinobasierter DIY Zubehördecoder (DCC) - (Segment) - Drehscheibe

#5 von FarFarAway , 21.08.2017 14:34

Hallo Frank und Ulli,

Was haste denn da, Frank? Gezuckertes oder gesalzenes Popcorn?

@Ulli
Ueberstürzt wird hier mit Sicherheit nix, sonst wäre ja schon alles fertig... (nach vier Jahren)
Das Hauptdesign mit Software ist von Franz-Peter ja schon lange getestet und auch im Einsatz.
Klar muss die Software noch angepasst werden, aber das wird schon.
Die Schrittmotorsteuerung habe ich vorher auch auf dem Steckbrett erfolgreich getestet.
Mit ein wenig Kühlflüssigkeit habe ich die Schaltung nu fertig gelötet. Ganz fertig scheint sie aber noch nicht zu sein, das es noch Macken gibt. Drei Fehler habe ich beim Aufbau gefunden und oben im Plan aktualisiert.
Dennoch leuchtet die Power Led beim anlegen der 12V nur halb hell und das mini "D13 blink" Test Programm auf dem Nano startet nicht. Kurzschluss zum Reset? Glaub ich nicht wirklich, da beim anlegen von 5V per USB der Nano läuft und auch meine grüne Led L4 fleissig mitblinkt.
Da muss ich nochmal ran. Hab aber um 00:30 Uhr nu keine Lust mehr. Morgen ists ein neuer Tag.

Cheers,
Klaus


alle sagten: das geht nicht! dann kam einer daher, der wußte das nicht - und hat's gemacht ...

mein projekt: betriebswerk an kreuzenden hauptstrecken
mein projekt: endbahnhof brois


 
FarFarAway
InterCity (IC)
Beiträge: 718
Registriert am: 04.04.2012
Spurweite H0
Stromart DC, Digital


RE: Arduinobasierter DIY Zubehördecoder (DCC) - (Segment) - Drehscheibe

#6 von MicroBahner , 21.08.2017 16:46

Zitat

Sehr schönes Projekt!

Das finde ich auch - dann wollen wir mal rangehen, und sehen was draus wird

Hallo Klaus,
schön das Du meinen Vorschlag aufgegriffen hast, und einen eigenen Thread startest. Hier können wir uns dem jetzt mal intensiv widmen.

Zitat

dem evtl. Ziel die Entwicklung in den normalen Decoder source zu integrieren.

Mal sehen... die Ansteuerung von Drehscheiben ist schon recht speziell im Vergleich zu Weichen und Signalen. Ich vermute mal. das es mehr Sinn macht, hier nicht nur einen eigenen Thread zu starten, sondern auch softwaremäßig einen eigenen Ableger vom Decoder auf die Beine zustellen. Aber das werden wir sehen.

Zitat

Vielleicht möchte ich hier ein wenig zu hoch hinaus,

Das werden wir auch sehen ... . Aber wie heist es so schön: auch die grösste Weltreise beginnt mit dem ersten Schritt. Und der Mensch wächst ja bekanntlich mit seinen Aufgaben

Jetzt mal zu ein paar technischen Fragen/Feststellungen:

Zitat

FarFarAway hat geschrieben: ↑
Heute 00:23
glätten der 12V?

Das würde ich auch meinen. Mal gespannt was die Experten sagen.

das auch ( falls da - je nach Netzgerät - noch was zu glätten ist), Insbesondere aber auch um Stromspitzen abzufangen.

1) Was auf keinen Fall geht, dass Du die Motoren ( Servo und Schrittmotor ) aus den 5V des Arduino betreibst. Da wird Du das Spannungsreglerchen auf dem Nano abfackeln. Dafür brauchst Du eine eigene Stromversorgung. Du hast ja auch schon gemerkt, dass das nicht funktioniert .

2)Was ist das denn für ein Schrittmotor, den Du da verwenden willst? Kennst Du seine technischen Daten (Spannung, Strombedarf)? Womit hast Du den die Schrittmotorsteuerung getestet? Wahrscheinlich hat er eine bipolare Ansteuerung. Eigentlich sind die MobaTools dafür nicht ausgelegt - könnte aber sein, dass es mit deinem Treiberbaustein funktioniert. Getestet habe ich bipolare Schrittmotore aber nur mit einem Treibermodul auf Basis des A4988 Chips.

3) Wie stellst Du dir die Ansteuerung über DCC vor? Einerseits hast Du alle HW-Komponenten für die DCC Schnittstelle vorgesehen, andererseits schreibst Du, dass Du das Ganze über Taster bedienen willst. Oder soll das parallel funktionieren?


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Arduinobasierter DIY Zubehördecoder (DCC) - (Segment) - Drehscheibe

#7 von FarFarAway , 21.08.2017 22:35

Hi Franz-Peter,

Der Experte sagt wie es heisst. Das Abfangen von Stromspitzen habe ich in das Glätten hineinreduziert.

1) Ich hatte sowohl Servo als auch Schrittmotor beim Test direkt aus dem Arduino betrieben, was einwandfrei funktionierte. Ich bin aber auch sehr geneigt beide separat zu versorgen. besonders, wenn der Servo seine Position halten soll. Da besteht noch die Frage, ob das überhaupt notwendig ist die Position zu halten.

2) Der Motor ist ein ST-PM35-15-11C. Die Specs sagen 12V und max 400mA. Aber er läuft auch perfekt mit 5V. Den Strom hab ich allerdings nicht gemessen. Ein Freund sagte, dass bei Versorgung mit 5V der Strom auch sinkt. Keine Ahnung, ob der Recht hat. Raucht der Nano ab, gibt's für $2 nen neuen und die Schaltung wird geändert. (Hab wohl noch nicht die Einstellung eines Mikroelektronikers, oder?)
Angesteuert habe ich den Schrittmotor mit dem verbauten L293D und das funktionierte, wie gesagt, einwandfrei.

3) Die Ansteuerung soll über DCC und Tasten erfolgen. Ich möchte die Taster an der Seite des Moduls haben, was dem Spielfluss meiner Meinung nach förderlich ist. So Parallel ist der Weg.

Zur Software:
Ich muss mir deine Anleitung nochmal genau durchlesen, hab aber schon so einige Ideen, wie ich die Steuerung in deiner Tabelle abbilden kann. Ähnlich dem Signal mit Folgeparametern (FSIGNAL2, FSIGNAL0) stelle ich mir einen Typ FTURNTBL (Turntable) gefolgt mit mehrfachen FTURNPNT (TunrtablePoint). Ich muss das ganze mal näher Beschreiben und von dir Gegenlesen lassen.
Woher weiss der Decoder eigentlich dass er ein Zubehördekoder und kein Lokdekoder ist? Als Lokdekoder könnte man als Geschwindigkeit die Abgangsposition einstellen und über eine Funktion den Anfahrprozess starten. So machen das auch die Leute von T4T mit ihren Kupplungen.
Nur son paar Ideen hier...

So, erst mal ne Runde arbeiten und dann zur Fehlersuche.

Cheers,
Klaus


alle sagten: das geht nicht! dann kam einer daher, der wußte das nicht - und hat's gemacht ...

mein projekt: betriebswerk an kreuzenden hauptstrecken
mein projekt: endbahnhof brois


 
FarFarAway
InterCity (IC)
Beiträge: 718
Registriert am: 04.04.2012
Spurweite H0
Stromart DC, Digital


RE: Arduinobasierter DIY Zubehördecoder (DCC) - (Segment) - Drehscheibe

#8 von FarFarAway , 22.08.2017 04:24

Und den Fehler gefunden. Ein Ausgang des Motortreibers hatte einen Kurzschluss zu Masse.
Sieht so aus, als ob ich schon an die Weichware muss...

Ihr Profis müsst nun die Augen zu machen... Die Anfänger eigentlich auch, sonst guckt ihr noch was ab...



Cheers,
Klaus


alle sagten: das geht nicht! dann kam einer daher, der wußte das nicht - und hat's gemacht ...

mein projekt: betriebswerk an kreuzenden hauptstrecken
mein projekt: endbahnhof brois


 
FarFarAway
InterCity (IC)
Beiträge: 718
Registriert am: 04.04.2012
Spurweite H0
Stromart DC, Digital


RE: Arduinobasierter DIY Zubehördecoder (DCC) - (Segment) - Drehscheibe

#9 von volkerS , 22.08.2017 08:02

Hallo Klaus,
wie schon gesagt, Pin 8 des L293D direkt aus der 12V-Leitung versorgen. Direkt am IC einen 100nF und 100uF-Kondensator zwischen 12V und GND. Pin 8 ist die Motorspannung. Pin 16 bleibt an 5V, aber auch hier einen 100nF Kondensator nach Gnd.
Auch ein 100nF Kondensator direkt an Vin nach GND am Arduino können nicht schaden.
Die EN1 - 4 Anschlüsse des L293D zusammenfassen und auf einen Port des Arduino legen. Sie dienen der Treiberfreigabe. Entweder den Pull-Up im Arduino einschalten oder einen externen Widerstand von 10k zwischen den ENs und 5V. Werden die ENs nach GND gezogen werden die Treiber abgeschaltet. Ansonsten sind die Spulen ständig bestromt und der Stepper wird warm.
Übrigens arbeiten Stepper nicht mit Spannung sondern mit Strom. D.h., es wird die Spannung eingeschaltet und sobald der Strom durch die Spule des Steppers einen einstellbaren Wert überschreitet wird die Spule abgeschaltet, z.B. Steppertreiber mit L297/L298. Der L293D kann dies nicht, hier wird nicht abgeschaltet, so dass beim gegebenen Steppermotor dann 400mA dauerhaft fließen, solange ENs high. Deshalb unbedingt einen Kühlkörper vorsehen. Sonst kann es sein, dass die interne thermische Sicherung anspricht und die Funktionen blockiert.
Volker


volkerS  
volkerS
ICE-Sprinter
Beiträge: 6.008
Registriert am: 14.10.2014


RE: Arduinobasierter DIY Zubehördecoder (DCC) - (Segment) - Drehscheibe

#10 von MicroBahner , 22.08.2017 11:57

Hallo Klaus,

Zitat

Der Motor ist ein ST-PM35-15-11C. Die Specs sagen 12V und max 400mA.

Ja, die Spec sagen aber auch, dass der Spulenwiderstand 4Ohm beträgt. An 12V dürftest Du den nur mit einem strombegrenzenden Schrittmotortreiber (z.B. der oben erwähnte A4988, oder die von Volker erwähnten) betreiben. Selbst bei 5V ist der Strom da mit deinem einfachen Treiberbaustein noch zu hoch - zumindest wenn er steht oder langsam dreht. So steht's auch auf der Sparkfun-Seite. In einem kurzenTest geht da einiges - für den Normalbetrieb taugt das nicht.

Zitat

Ich bin aber auch sehr geneigt beide separat zu versorgen.

Solltest Du auf jeden Fall machen. Einmal s.o. für den Stepper, aber auch für den Servo. Die Effekte, die bei Überlastung des Spannungswandlers auf dem Nano entstehen können sind vielfältig - und nicht immer direkt zuordnenbar, da ja auch der Prozessor davon versorgt wird. Kurze Spannungseinbrüche aufgrund Überlastung können da schwer zu findende Fehler verursachen.

Zitat

Die Ansteuerung soll über DCC und Tasten erfolgen. Ich möchte die Taster an der Seite des Moduls haben, was dem Spielfluss meiner Meinung nach förderlich ist. So Parallel ist der Weg.

Ok, soweit klar. Über DCC dann also mit Weichenbefehlen, wenn wir beim Zubehördecoder bleiben ( der kennt nichts anderes ).

Zitat

Ich muss mir deine Anleitung nochmal genau durchlesen, hab aber schon so einige Ideen, wie ich die Steuerung in deiner Tabelle abbilden kann. Ähnlich dem Signal mit Folgeparametern (FSIGNAL2, FSIGNAL0) stelle ich mir einen Typ FTURNTBL (Turntable) gefolgt mit mehrfachen FTURNPNT (TunrtablePoint). Ich muss das ganze mal näher Beschreiben und von dir Gegenlesen lassen.

Da bin ich etwas skeptisch, aber schau'n wir mal. Die Ablaufe bei einer Drehscheibe sind halt doch wesentlich komplexer als bei einem Signal bzw. einer Weiche. Da muss ja auch die Bewegung von Servo(Verriegelung) und Stepper (Drehen) exakt aufeinander abgestimmt werden. Von daher tendiere ich eher zu einer angepassten eigenen Drehscheiben-Variante des Decoders, das würde einfacher und übersichtlicher. Ich sehe auch nicht, dass man mit dem gleichen Decoder eine Drehscheibe und Weichen/Signale steuern würde.

Zitat

Woher weiss der Decoder eigentlich dass er ein Zubehördekoder und kein Lokdekoder ist?

Das gibt man beim Initiieren der nmra-DCC Library an. Da geht immer nur entweder/oder. Beim Lokdecoder hat man dann auch ganz andere Callback-Routinen. Denkbar wäre schon, das ganze als Multifunktionsdecoder zu realiseren. Dann hat man aber eine komplett andere Software und ob das dann auch für Drehscheiben mit vielen Gleisanschlüssen geht müsste man mal durchdenken.

Zitat

Ihr Profis müsst nun die Augen zu machen... Die Anfänger eigentlich auch, sonst guckt ihr noch was ab...

Da hab ich aber schon ganz anderes gesehen - sieht doch gar nicht soo schlecht aus - wenn auch Bauteilekreuzungen über unisolierten Drahtbrücken etwas suboptimal sind .
Ich mach sowas zwar lieber mit Punktrasterplatten und Fädeldraht - aber das ist ja ein Stück weit auch Geschmackssache.


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Arduinobasierter DIY Zubehördecoder (DCC) - (Segment) - Drehscheibe

#11 von FarFarAway , 22.08.2017 12:56

Hallo zusammen,

@Volker
Das muss ich mir morgen noch mal bei Tageslicht durchlesen um dem Versuch es zu verstehen auch einen Grad an Erfolgsaussicht zu geben.
Aber herzlichen Dank für deine Ausführungen.

@Franz-Peter
Vielleicht sollte ich mir dann doch so einen A4988 besorgen um den L293D zu ersetzten? Hört sich für mich schon fast einfacher an.
Edit: Bestellung erledigt!

Nichtsdesto trotz habe ich heute die MobaTools um den Typen L293D erweitert und dabei das stepPattern array in die variablen Struktur integriert, da fuer diesen Baustein nur 4 steps benötigt werden. So bleibt die Möglichkeit alle Typen nebeneinander zu betreiben erhalten.
Willst du den Source haben? Wo soll ich ihn hinschicken?

Cheers,
Klaus


alle sagten: das geht nicht! dann kam einer daher, der wußte das nicht - und hat's gemacht ...

mein projekt: betriebswerk an kreuzenden hauptstrecken
mein projekt: endbahnhof brois


 
FarFarAway
InterCity (IC)
Beiträge: 718
Registriert am: 04.04.2012
Spurweite H0
Stromart DC, Digital


RE: Arduinobasierter DIY Zubehördecoder (DCC) - (Segment) - Drehscheibe

#12 von MicroBahner , 22.08.2017 16:35

Zitat

Nichtsdesto trotz habe ich heute die MobaTools um den Typen L293D erweitert und dabei das stepPattern array in die variablen Struktur integriert, da fuer diesen Baustein nur 4 steps benötigt werden. So bleibt die Möglichkeit alle Typen nebeneinander zu betreiben erhalten.
Willst du den Source haben? Wo soll ich ihn hinschicken?

Hab's mir nochmal angeschaut. Im Fullstep macht er ja auch nur 4 Steps und nutzt nur jeden 2. Wert des stepPattern. Deshalb dachte ich , dass das mit L293D auch ohne große Änderung gehen müsste. Wobei man ja auch einen bipolaren Motor im Halbschritt mit 8 Steps ansteuern kann. Eigentlich braucht man ja nur ein angepasstes Schrittpattern.
Schick mir deinen Source mal als zip an meine Mail. Ich schau mir das gern mal an. Oder hast Du einen GitHub-Account?


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Arduinobasierter DIY Zubehördecoder (DCC) - (Segment) - Drehscheibe

#13 von FarFarAway , 25.08.2017 06:40

Hallo,

Die Arbeit hat mich nich in Ruhe gelassen, so gibt es nur kleine Fortschritte. Ich hatte noch keine Zeit näher auf die Hardwareänderungen einzugehen oder eben diese durchzuführen. Trotz der Warnungen hatte ich die Platine nun seit 72 Stunden unter Dauerstrom.

Die genannten kleinen Fortschritte beruhen auf der Tatsache, dass ich nen paar Zeilen Code zusammengeschrieben habe und die Nullpunkterkennung realisiert habe. In den 72 Stunden habe ich dann immer mal wieder den Schalter für die Erkennung gedrückt und hin und wieder mal die Temperatur von Arduino, L293D und Stepper getestet. Nix zu merken da - gar nix.

Entweder hatte ich eine glückliche Hand bei der Bauteileauswahl (Warum nicht beim Lotto???) oder der Stepper zieht bei 5V doch nicht wirklich viel im Stillstand. Im Angesicht dieser Tatsache werde ich auf den Einbau des A4988 doch erst mal verzichten, auch wenn da grad Fünfe in der Post waren.

Ich denke mal, dass ein sich bewegendes Scannerskelett keinen Schönheitspreis gewinnt, so lass ich das mit nem Video mal.

@Franz-Peter
Die MobaTools sind genial!
Muss mich nun kurzfristig mal darin einlesen und deinen Decodersource durchforsten wie das alles mit den CVs funktioniert.

Cheers,
Klaus


alle sagten: das geht nicht! dann kam einer daher, der wußte das nicht - und hat's gemacht ...

mein projekt: betriebswerk an kreuzenden hauptstrecken
mein projekt: endbahnhof brois


 
FarFarAway
InterCity (IC)
Beiträge: 718
Registriert am: 04.04.2012
Spurweite H0
Stromart DC, Digital


RE: Arduinobasierter DIY Zubehördecoder (DCC) - (Segment) - Drehscheibe

#14 von MicroBahner , 26.08.2017 16:10

Zitat

Nichtsdesto trotz habe ich heute die MobaTools um den Typen L293D erweitert und dabei das stepPattern array in die variablen Struktur integriert, da fuer diesen Baustein nur 4 steps benötigt werden. So bleibt die Möglichkeit alle Typen nebeneinander zu betreiben erhalten.

Jetzt hab' ich mir das ganze nochmal genau überlegt, und auch deine Source angeschaut. Grundsätzlich werden auch bei den unveränderten MobaTools die notwendigen Step-Pattern erzeugt, es sind nur 2 Bits vertauscht, was man über die Anschlußbelegung ausgleichen kann. D.h. letztendlich kann man auch mit den unveränderten MobaTools einen bipolaren Schrittmotor über den L293 ansteuern. Es ist nur eine Frage der richtigen Verdrahtung. Sogar Halfstep geht dann.
Ich hab's zwar mit einem LB1649 Motortreiber getestet, weil ich den gerade rumliegen hatte. Ist aber im Prinzip das gleiche.
Eigentlich also nur eine Frage der Doku. Ich werd mir mal überlegen, wie man das am Besten beschreibt.


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Arduinobasierter DIY Zubehördecoder (DCC) - (Segment) - Drehscheibe

#15 von MicroBahner , 27.08.2017 11:49

Hallo,
hab mal ein Bild für den Anschluss der Stepper gezeichnet, so wie ich es dann in die Doku integrieren will. So sollten jetz unipolare und bipolare Step-Motore anschließbar sein, ohne das dafür die MobaTools geändert werden müssten.



Das geht dann auch über die SPI-Schnittstelle. Die Reihenfolge der Bits am Schieberegisterausgang entspricht der Reihenfolge in den obigen Bildern.


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Arduinobasierter DIY Zubehördecoder (DCC) - (Segment) - Drehscheibe

#16 von FarFarAway , 27.08.2017 21:53

Hi Franz-Peter,

Na fabelhaft! Muss ich mal ausprobieren. Im Moment werde ich weiterbenutzten was schon funktioniert und ein wenig mehr Software produzieren.

Cheers,
Klaus


alle sagten: das geht nicht! dann kam einer daher, der wußte das nicht - und hat's gemacht ...

mein projekt: betriebswerk an kreuzenden hauptstrecken
mein projekt: endbahnhof brois


 
FarFarAway
InterCity (IC)
Beiträge: 718
Registriert am: 04.04.2012
Spurweite H0
Stromart DC, Digital


RE: Arduinobasierter DIY Zubehördecoder (DCC) - (Segment) - Drehscheibe

#17 von FarFarAway , 28.08.2017 13:10

Hi Franz-Peter,

nochmal ich. Kennst du dies hier? Ich war auf der suche nach einer button implementation, die auch eine "duration" unterstützt. Also dass ich sowas wie "wenn der taster fuer 2 Sekunden gedrueckt und losgelassen wurde, dann mach dies" machen kann. Wollte schon selber Hand anlegen, aber bin dann auf den AnalogMultiButton gestossen:
https://github.com/dxinteractive/AnalogMultiButton

Waere ja vielleicht auch was fuer den Standard dekodier um den Encoder an nur einem analog pin betreiben zu können.
(Und dazu noch weitere Eingänge)

Cheers,
Klaus


alle sagten: das geht nicht! dann kam einer daher, der wußte das nicht - und hat's gemacht ...

mein projekt: betriebswerk an kreuzenden hauptstrecken
mein projekt: endbahnhof brois


 
FarFarAway
InterCity (IC)
Beiträge: 718
Registriert am: 04.04.2012
Spurweite H0
Stromart DC, Digital


RE: Arduinobasierter DIY Zubehördecoder (DCC) - (Segment) - Drehscheibe

#18 von fbstr , 28.08.2017 17:31

Zitat

...Wollte schon selber Hand anlegen, aber bin dann auf den AnalogMultiButton gestossen:
https://github.com/dxinteractive/AnalogMultiButton



Diese MultiButton-Schaltung sieht interessant aus. Das muss ich mal testen. Damit koennte ich einige Pins beim Arduino einsparen.

Zum Thema andere Tastenfunktion beim laengerem Druecken hat mir Franz-Peter schonmal weitergeholfen:
viewtopic.php?p=1670517#p1670517
- Einfaches Druecken der Taste: Einzelschritt
- Ab 2 Sekunden Druecken der Taste: Schrittmotor laeuft, bis ich die Taste loslasse
Vielleicht geht das schon so ungefaehr in Deine Richtung...


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


 
fbstr
Metropolitan (MET)
Beiträge: 2.549
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: Arduinobasierter DIY Zubehördecoder (DCC) - (Segment) - Drehscheibe

#19 von MicroBahner , 28.08.2017 18:19

Hallo Klaus,
ja, dieses Verfahren mit mehreren Tastern an einem analogen Eingang kenne ich. Es hat aber einen entscheidenden Nachteil, der es nicht allgemein verwendbar macht, und der auch in der Beschreibung angegeben ist:

Zitat
While up to ~20 buttons may be connected at a time, please note that the circuit and this library are only capable of capturing one button press at a time.

Ich habe das vor längerer Zeit mal für ein numerisches Keypad ( mit 16 Tasten ) so gemacht. Da funktionierte das recht gut, da dabei ja die Tasten immer schön nacheinander gedrückt werden.


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Arduinobasierter DIY Zubehördecoder (DCC) - (Segment) - Drehscheibe

#20 von FarFarAway , 29.08.2017 09:52

Es geht voran!

Hallo in die Runde. Oder Halbrunde. Ist ja schliesslich eine Segmentdrehscheibe!

Die Programmierung geht voran und die Scannerbuehne bewegt sich zwischen den drei benannten Positionen.
Bremsen geht auch schon. Und die Auswahl des anzufahrenden Gleisabschnittes erfolgt über die Multimaus.

Dazu habe ich dem Decoder gesagt, dass er ein Multi-Function Decoder ist - soll heissen ein Lokdecoder.
Der Gleisabschnitt wird über die Geschwindigkeit angewählt und mittel Funktion 1 dann angefahren.

Als nächstes wird das langsame Anfahren implementiert und dann die buttons zur DCC losen Ansteuerung.
Dann erfolgt die Encoder Implementierung zum setup der Gleisanschlüsse.

Wenn ihr ein kurzes (wahrscheinlich qualitativ schlechtes) Video wünscht, so lasst es mich wissen. Allerdings bin ich nun bis zum Wochenende in Auckland bei meiner Firma - Kaffeetrinken und klatschen.

@Franz-Peter
Ich habe im übrigen deinen Rat befolgt und einen ganz eigenen Decoder programmiert. Erst mal alles rausgeschmissen, was ich aus deinem Source nicht brauchte und dann mal erweitern. Muss am Ende dann dringend aufräumen!

Cheers,
Klaus


alle sagten: das geht nicht! dann kam einer daher, der wußte das nicht - und hat's gemacht ...

mein projekt: betriebswerk an kreuzenden hauptstrecken
mein projekt: endbahnhof brois


 
FarFarAway
InterCity (IC)
Beiträge: 718
Registriert am: 04.04.2012
Spurweite H0
Stromart DC, Digital


   


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