Go Down

Topic: Märklin Weiche / Arduino shield erstellen (Read 3150 times) previous topic - next topic

Tartaros

#15
Jul 30, 2013, 07:23 pm Last Edit: Jul 30, 2013, 07:25 pm by Tartaros Reason: 1
Eine Lochrasterplatine hab ich noch irgendwo zuhause rumliegen. Jedoch sehen diese Breadbords auch nicht schlecht aus!

Als Gleichrichter hätte ich mir dieses Bauteil angesehen. (http://www.conrad.at/ce/de/product/501301/SMD-Brueckengleichrichter-1-A-Diotec-B40S-Nennstrom-1-A-URRM-80-V). Wieso brauch ich zusätlich dazu noch einen Elko?

Zwecks Rückschalten
Es wird einfach das andere Kabel angesteuert! Daher auch 2 Anschlüsse pro Weiche.
http://www.railroad24.de/forum_anhang/34A38D1-16102220101821.jpg

Serenifly

#16
Jul 30, 2013, 07:30 pm Last Edit: Jul 31, 2013, 01:17 am by Serenifly Reason: 1
Das geht. Musst halt Kabel anlöten, da SMD. Normal nimmt man da sowas für Printmontage:
http://www.conrad.at/ce/de/product/501433/Silizium-Brueckengleichrichter-2-A-Diotec-B40R-Nennstrom-2-A-URRM-80-V

Der Elko ist nötig da der Brückgleichrichter nur die negative Halbwelle nach oben biegt. Das sieht dann so aus:
http://www.fremo-hemsbach.de/tech/Gl_Dioden_b4.png

Der Elko überbrückt dann die Täler zwischen den Halbwellen und muss daher für höheren Laststrom (bzw. kleineren Lastwiderstand) größer dimensioniert werden. Sieht man hier schön:
http://www.elektroniker-bu.de/gleichrichten.htm#ergebnis

Mach mal den unteren Button für 1A Laststrom an und mach den den Elko größer. Und schaue dir die grüne Kurve an.

Eine einzelne Diode würde die negative Halbwelle komplett abschneiden. Daher müsste der Elko noch größer sein! Dazu kannst du diese Simulation mal auf "Einweggleichrichter" umschalten, wobei die rote Kurve da falsch ist. Die Halbwelle würde dann einfach fehlen.

Tartaros

Könntest du mir bitte einen Schaltplan erstellen ?
Ich versteh das nicht ganz wie das zusammengeschlossen gehört.
Warum hat der Brückengleichrichter überhaupt 4 Füße?

Tut mir Leid aber ich bin auf dem Gebiet nicht allzu gut bewandert ..
Danke nochmal für deine ausführliche Hilfe!

Serenifly

2 mal Wechselspannung Eingang, 2 mal +/- Gleichspannung Ausgang. Steht oben drauf:
http://www.blauertacho.de/doc/more/gleichrichter/gleichrichter.jpg

Aussehen tut das so:
http://www.hbm-solutions.de/Images/tipps/gleichrichter.jpg

In dem Bild sind oben und unten die Wechselspannungs-Anschlüsse. Und links und rechts Gleichspannung. Achtung: hier ist Plus die untere Leitung! Dabei auch unbedingt auf die Polung des Elkos achten.

Tartaros

Achso alles klar! Denke ich bekomm ich hin ;)

Bauteile bestellt. Mal sehen wann sie kommen.

Tartaros

Hallo!

Ich denke ich brauche nocheinmal eure Hilfe.
Die Teile sind gestern gekommen, jedoch sind nicht die richtigen Schieberegister dabei gewesen. Stattdessen habe ich diese bekommen: http://www.conrad.at/ce/de/product/172707/CMOS-IC-4014-Gehaeuseart-DIP-16-Ausfuehrung-8stufiges-Schieberegister-Parallel-einseriell-aus-getaktetes-Laden Datenblatt: http://www.produktinfo.conrad.com/datenblaetter/150000-174999/172707-da-01-en-MC_14014_CD_4014_MC_14021_CD4021.pdf

Mein Problem ist, das ich nicht weiß wie ich dieses Schieberegister mit meinem Arduino verwenden soll ..
Könnte mir da bitte jemand helfen ?

Serenifly

Für diese Anwendung gehen dir gar nicht, da die in die falsche Richtung gehen. Du braucht seriell-ein/parallel-aus. Es gibt auch welche bei denen man die Richtung umschalten kann, aber die meisten sind festgelegt.

Wenn du mal mehr Eingänge brauchst kannst du die verwenden, aber hier willst du mehr Ausgänge.

Probier vielleicht ebay. z.B.:
http://www.ebay.de/itm/5x-74HC595-DIP-8-Bit-Shift-Register-Tri-State-0-25-Stuck-/150806338623?pt=Bauteile&hash=item231cc21c3f
http://www.ebay.de/itm/Stk-5-x-74HC595-mit-ohne-DIP16-Sockel-Socket-8-BIT-SHIFT-REGISTER-IC-/261236573428?pt=Bauteile&var=&hash=item3cd2e9c4f4

Tartaros

Okay das ist blöd.

Werd ich wohl nochmal eine Woche warten müssen ...

Danke dir!

Serenifly

Wenn du die bei ebay bestellst und die die Zahlung direkt per PayPal machst (was heutzutage vom Bankkonto geht) sind die angeblich am Wochenende da. Und das billiger als wenn du nochmal bei Conrad bestellst.

Tartaros

Hallo!
Ich habe nun alle Bauteile zusammen und hab mich die letzten paar Tage mit den Schieberegistern und massenweisen LED's auseinandergesetzt ;)
Macht wirklich Spaß :D

Heute wollte ich jedoch zwischen die 74HC595 den ULN2803A schalten. Leider klappt das aber ganz und gar nicht. Wenn ich mehr als einen Eingang des ULN2803A belege, passiert gar nichts. Wenn ich nur einen belege, so schaltet er jedoch ALLE Ausgänge. Ich bin echt verwirrt. Wo liegt mein Fehler?

Könntet ihr mir ein Programm oä. empfehlen, um meinen aktuellen Schaltplan zu posten?

Serenifly

Du meinst zwischen die Schiebregister und die LEDs?

Hast du bedacht, dass das Open Collector Ausgänge sind? Der Strom fließt nicht aus dem IC heraus, sondern hinein:

So:
http://hobbytron.altervista.org/schemi/2803led.jpg

Hallo,

schau doch mal in Internet unter "Weichendecoder diy". Da findet sich alles, was das Herz begehrt. Hier http://www.digital-bahn.de/bau_weiche/weichzwei.htm z.B. eine komplette Bauanleitung incl. Stückliste - zwar für einen Pic-Controller, aber die Grundlagen passen auch zum Arduino.

Gruß,
Ralf
Es gibt 10 Arten von Menschen, die einen verstehen Binär, die anderen nicht...

Tartaros

@Serenifly
Genau nach diesem Schema wollte ich mich auch richten! Aber der 74HC595 hat bei den Ausgängen doch - Polung? Was heißt das ich nicht direkt den ausgang des 74Hc595 an den ULN2803 anschließen kann?

@Schachmann
Das kann durchaus sein, das es möglich ist einen Weichendecoder nachzubauen, jedoch möchte ich dies nicht. Ich wollte mir mit diesem Projekt wissen aneignen und nicht einfach etwas vorhandenes nachlöten. Dennoch danke für deine Mühen :)

Serenifly


Was heißt das ich nicht direkt den ausgang des 74Hc595 an den ULN2803 anschließen kann?

Doch. Genau so.

Der ULN ist nichts anderes als 8 Darlington-Transistoren. Jeder Eingang ist eine Basis und jeder Ausgang ist ein Kollektor. Der Vorwiderstand ist eingebaut. Du verbindest also einfach einen Schieberegister-Ausgang mit einem Treiber-Eingang.

Die Seite oben ist aber trotzdem interessant. Da steht z.B. das:
"Die Antriebe für die C-Gleise haben eine ziemlich niederohmige Spule. Es fließt kurzzeitig ein Strom von ca. 1.5 A (zum Vergleich: M-Weichen hatten nur 0.5 A). Dieser Stromimpuls ist jedoch sehr kurz (ca. 15 - 25 us), daher muss die Belastbarkeit der Digitalspannung nicht auf diesen Strom dimensioniert werden"

Tartaros

#29
Aug 25, 2013, 09:03 pm Last Edit: Aug 25, 2013, 09:06 pm by Tartaros Reason: 1
Habe gerade eine kleine Schaltung zusammengesteckt und siehe da: Es funktioniert ja tatsächlich  :smiley-red:
Einziges Manko ist nur noch, das die LED's immer leicht Leuchten. Sie leuchten immer und das Lauflicht verstärkt das Leuchten nur... Ist das normal?

Mein Arduino-Code:
Code: [Select]
//Pin connected to latch pin (ST_CP) of 74HC595
const int latchPin = 8;
//Pin connected to clock pin (SH_CP) of 74HC595
const int clockPin = 12;
//Pin connected to Data in (DS) of 74HC595
const int dataPin = 11;

const int sleep = 300;

int randomint = 0;

void setup() {
 //set pins to output because they are addressed in the main loop
 pinMode(latchPin, OUTPUT);
 pinMode(dataPin, OUTPUT);  
 pinMode(clockPin, OUTPUT);
 Serial.begin(9600);
 Serial.println("Start!");
}

void loop() {

 // randomblink(50);

 stepbystep();
}

void stepbystep() {
 for(int i = 0; i < 8; i++) {
   registerWrite(i, HIGH);
   delay(sleep);
   registerWrite(i, LOW);
 }
 for(int i = 6; i >= 1; i--) {
   registerWrite(i, HIGH);
   delay(sleep);
   registerWrite(i, LOW);
 }
}
void randomblink(int amount) {
 for(int i = 0; i < amount + 1; i++) {
   randomint = random(18);
   registerWrite(randomint, HIGH);
   delay(sleep);
   registerWrite(randomint, LOW);
   delay(50);
 }
}

void registerWrite(int whichPin, int whichState) {
 byte bitsToSend = 0;
 digitalWrite(latchPin, LOW);
 bitWrite(bitsToSend, whichPin, whichState);
 shiftOut(dataPin, clockPin, MSBFIRST, bitsToSend);
 digitalWrite(latchPin, HIGH);
}




EDIT:
Kabel von Pin9 des ULN2803A Hatte keinen Kontakt. Problem gelöst

Go Up