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.
Marot schrieb: > Oder ob es da eine noch einfachere Möglichkeit gibt. Ja, das Hardware SPI Interface benutzen. PWM hat damit übrigens herzlich wenig zu tun bzw. wäre ein Missbrauch des PWM Konzepts.
Und wie stellst du sicher, dass das entsprechende Datum zu Zeitpunkt der Flanke des Taktes am DI-Pin des Schieberegister anliegt???
Ein anderes Schieberegister mit Output Enable nehmen, und den an den PWM-Ausgang des µC hängen. Dann gilt aber für alle Pins das gleiche Taktverhältnis.
So wie ich das sehe (nach kurzem Check des Datenblattes des 74HC164), ist dein Vorhaben mit dem von Dir gewähltem IC nicht möglich. Besorge Dir ein 74HC595.
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.
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.
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
Direkt für PWM sehe ich da auch keinen Sinn. Wenn es aber etwas mit Timing sein soll: http://www.edn.com/design/power-management/4368093/Drive-16-LEDs-with-one-I-O-line
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.
Martin Wende schrieb: > Was willst du jetz eigentlich? > PWM hat was mit Dimmen zu tun, also die Helligkeit der LEDs ändern. Ne, will er nicht. Er hat halt den Begriff PWM aufgeschnappt und meint, das ist Allheilmittel für alles.
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.