Schieberegister mit PWM?

Gast #3066414
Lesenswert?

Hallo alle,
und zwar möchte ich 8 LEDs mit Hilfe eines ATmega und eines 
Schieberegisters zum leuchten bringen. Und zwar habe ich vor sequenziell 
in das Schieberegister rein zuschreiben und dann alles parallel ausgeben 
zu lassen. Sobald aber alle Daten drin sind, soll nichts mehr weiter 
geschoben werden.

Nun stellt sich mir die Frage, ob ich das ganze nicht einfach indem ich 
die PWM missbrauche machen kann, also indem ich an den Takteingang des 
Schieberegisters ein PWM lege und dann einfach dafür sorge, dass keine 
steigende Taktflanke mehr kommt nachdem ich fertig durchgeschoben habe. 
Oder ob es da eine noch einfachere Möglichkeit gibt.

Die weitere Frage wäre, ob mein Schaltung sonst vom Prinzip her 
funktionieren würde, wenn ich da 8 Low Current LEDs am Schieberegister 
habe.
Als Schieberegister möchte ich übrigens ein 74HC164 verwenden.
Gast #3066502
Lesenswert?

Vielen Dank für die Empfehlung des anderen Schieberegisters und SPI. Hab 
das ganze nochmal überarbeitet. Aber ist es denn damit möglich, 
sozusagen das weiterschieben zu stoppen? Denn nur den Output zu 
aktivieren oder nicht, hilft mir ja erstmal nicht sonderlich viel oder? 
Könntet ihr das bitte genauer erklären?
Ich möchte es ja so haben, dass am Ausgang des Mikrocontrollers die 
Daten nur einmal sequenziell angelegen haben müssen und dann bis neue 
Daten kommen diese im Schieberegister bleiben und das dann die LEDs 
betreibt.

So, da ich vorhin natürlich den Schaltplan vergessen hatte, kommt der 
jetzt hier noch.
Angehängte Dateien:
Gast #3066506
Lesenswert?

Marot schrieb:
> Ich möchte es ja so haben, dass am Ausgang des Mikrocontrollers die
> Daten nur einmal sequenziell angelegen haben müssen und dann bis neue
> Daten kommen diese im Schieberegister bleiben und das dann die LEDs
> betreibt.

Warum sollte sich an den Ausgängen vom 74HC595 an den Daten etwas 
ändern, wenn er keine Clock-Impulse bekommt.
#3066512
Lesenswert?

Marot schrieb:
> Vielen Dank für die Empfehlung des anderen Schieberegisters und SPI. Hab
> das ganze nochmal überarbeitet. Aber ist es denn damit möglich,
> sozusagen das weiterschieben zu stoppen? Denn nur den Output zu
> aktivieren oder nicht, hilft mir ja erstmal nicht sonderlich viel oder?
> Könntet ihr das bitte genauer erklären?

Wozu willst du was stoppen? Da sist doch viel komplizierter als einfach 
die 8 Datenbits nacheinenander mit 8 Clock-Pulsen rauszutakten!

Machs doch nicht so kompliziert und vergiss die PWM. PWM bringt dich 
hier nicht weiter. Es ist doch völlig pervers, ein simples 
Pin_Low-Pin_High-Pin_Low mit einer PWM realisieren zu wollen, nur weil 
der PWM Modus des Timers einen Pin toggeln kann. Du wirst doch wohl noch 
händisch einen Pin umschalten können! Oder den SPI benutzen - der ist 
genau dafür vorgesehen.

Schau dir halt mal an, wie so ein Schieberegister prinzipiell 
funktioniert.
AVR-Tutorial: Schieberegister
(Firma: fritzler-avr.de) #3066866
Lesenswert?

Was willst du jetz eigentlich?
PWM hat was mit Dimmen zu tun, also die Helligkeit der LEDs ändern.
Und nichts mit Schieberegister soll stehen bleiben.

Wenn nur 8 bit rein sollen und dann bleibt der Zustand statisch, dann 
legste eben kein Clock Signal mehr an.
Das macht die SPI Hardware des AVR schon von alleine.

Nen 8 bit Wert ins SPDR schreiben und der AVR gibt 8 Takte mit den Daten 
auf MOSI aus, dann ist Ruhe auf der Taktleitung un die Ausgänge des 
Schiebers bleiben gleich.
#3067385
Lesenswert?

Kan asta schrieb:
> PWM und Schieberegister ist wie VCC und GND.

Schlechtes Beispiel. Vcc und GND gehören meist irgendwie zusammen, PWM 
und Schieberegister sind aber zwei verschiedene Paar Schuhe ...

Also: Ein Schieberegister mit PWM zu takten ist eine ziemlich blöde Idee 
und bedeutet unverhältnismässig Mehraufwand, der nicht nötig ist.
Es ist sicherlich nicht unmöglich. Ohne Erfahrung wirst Du das aber 
vermutlich so nicht hinbekommen. Wenn Du die entsprechende Erfahrung 
hast, wirst Du es so auch nicht mehr lösen wollen. ;-)


Gruß

Jobst

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren