Ich habe einen AT Mega 32 und möchte damit mit möglichst wenig Pins vom AT Mega 8 Relais steuern.
Dachte mir das so:
Ich verbinde den PC0 Pin mit dem IC 4017N CLK vom 4017 verbinde ich außerdem RES und ENA auf GND. Damit sollte ich mit dem AT MEGA mit 0 1 Impulsen auf PortC.0 am 4017N die Pins durchschalten können also von Q0 - Q9. Nun müsste ich aber dahinter einen 1 Bit Speicher setzen, der sich merkt, welcher Zustand der Pin hat und diesen dann hält, damit das Relai dann nicht abfällt wenn ich im AT MEGA weiter Steppe, Außerdem müsste ich wohl dazu einen AT Mega Pin opfern müssen, der dann den Speicher auf low oder high setzt. Leider habe ich im Moment keinen Plan wie ich das umsetzen könnte, die Relais werden über die Bais von BC548C im geschalten werden. Wäre auch schön wenn ich die Transistoren rausfallen lassen köntne. Problem des 4017 ist außerdem noch, dass glaub ich auf Q0 - Q9 Minus rauskommt und damit meine BC548 nix anfangen können.
Hoffentlich hat jemand eine Idee wie ich da vorgehen könnte. Bin für jeden Vorschag dankbar.
Das du dafür ein Beispiel, in das Datenblat von dem Darlinton Treiber hab ich schon mal geguckt glaub ich, der beinhaltet meine Transistoren oder ?. Aber wie ein Schieberegister funktioniert da hab ich keine Ahnung also ein BSP würde sehr helfen. Danke schon im Voraus
Moin!
Ein Schieberegister macht quasi genau das, was Du möchtest, es hat einen Takteingang und einen Dateneingang, bei jedem Takt wird der Zustand des Eingangs auf den ersten Pin weitergegeben, dessen Zustand wird auf den zweiten 'geschoben' usw., also wenn man z.B. bei einem 8Bit Schieberegister 8 Signale am Takteingang hat und der Dateneingang die ganze Zeit high ist, so sind dann alle Ausgänge des Schieberegisters high.
Ich selber habe kein Beispiel parat, aber die Methode wird häufig benutzt, schau mal nach Portexpander im RN-Wissen. Und der Darlingtontreiber ist genau das, nur das nicht ein Transistor, sondern ein Transistorpärchen geschaltet wird, das nennt sich dann halt Darlington Schaltung.
Also das Schieberegister funktioniert so ? (Habe ich das richtig verstanden ?
1. Noch kein Takt-Signal erfolgt wenn Dateneingang auf 1 gesetzt wird, ist auch auf Pin 1 des Registers dann immer Strom, ich Schalte durch die Registerstellen mit 101010101 usw immer bei 1 Schalte ich 1 weiter und setze das Register neu. Der Wert des Registers in das ich schreibe wird in das nächste übertragen ?
Nimm doch ein I²C Multipelxer, da kannst du mit 2 Pins 16 Relais steuern und zusätzlich kannst du den Schaltzustand 'frezzen'.
Alternativ kannst du ein 4-to-16 Multiplexer benutzen, an dem musst du dann ein Bitmuster anlegen (benötigt halt 4 bzw mit Latch 5 Pins).
z.B. den 74HC4514
PS: Aber bitte nicht vergessen das dahinter noch ein Leistungstreiber benötigt wird, z.B. den ULN2803
RGB-IR-Lampe, Catwiesel Bot, PC Terminal, Schrittmotoransteuerung, Elektroschocker, Stundenplan... www.stefan-reible.de
Ich glaube ganz verstehe ich die Function Table noch nicht
Ich sehe zwar, dass wenn ich wohl E auf - Lege und ich
A0=H
A1=L
A2=L
A3=L
habe wohl der Pin Q1 H ist. Aber was mache ich wenn ich Q1 und Q11 auf H aben will.
Und noch eine Frage, kann ich diese Pins A0 - A4 einfach mit PC0 - PC3 vom AT Mega verbinden und dann in der Software 0 für Low und 1 für H auf die Pins senden ?
Nach dem IC würde ich dann einfach meine BC548C an die Q Anschlüsse hängen warscheinlich mit Vorwiderstand.
Ob das was Du da machen willst mit einem Multiplexer geht weiß ich nicht.
Soweit ich Weiß schaltet ein Multiplexer immer nur einen Ausgang, also ein Relais aktiv. Und ich denke, das ist nicht das was Tux12fun will.
Die Idee mit dem Schieberegister find ich super.
Such Dir aber eins raus, das ein Latch hat.
Wenn Du ein normales Schieberegister benutzt werden deine Schaltinformationen bei jedem Takt um einen Ausgang weitergeschoben bis alle Bits an der richtigen Stelle sind.
Nimmst Du ein Schieberegister mit latch wird das Latch vor dem Einschieben disabled, dann die Informationen quasi im Hintergrund in das Schieberegister eingeschoben, anschließend das Latch wieder enabled und somit die gewünschten Ausgänge umgeschaltet. Dazu brauchst Du dann aber einen zusätzlichen Pin am Microcontroller der das Latch Enable Signal bedient. Also insgesamt dann 3.
Viele Schieberegister haben auch noch eine DOut Ausgang, an dem die Bits die hinten aus dem Schieberegister rausfallen würden an ein weiteres Schieberegister weitergeben können. Somit kannst Du die Schaltung sogar noch kaskadieren, wenn 8 Relais nicht mehr reichen. \/
Lesezeichen