Forum: Mikrocontroller und Digitale Elektronik Schieberegister ansprechen; Code verstehen


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Duda D. (ruma)


Bewertung
0 lesenswert
nicht lesenswert
Ich möchte mithilfe von drei Schieberegistern 74HC595, 12 Schrittmotoren 
L293D ansteuern. Hierfür verstehe ich schon wie ich die Bauteile 
miteinander verschalten muss. Jedoch tue ich mich mit der Programmierung 
der Schieberegister etwas schwierig. Der Plan ist das immer nur ein 
gewünschter Output der drei Schieberegister auf High geschaltet ist. Man 
kann sich dass so vorstellen wie ein Projekt mit 24 LEDs und man möchte 
nach und nach nur eine ganz bestimmte LED anschalten. Ich habe mich 
schon grob vertraut gemacht mit der Programmierung von diesen 
Schieberegistern, allerdings habe ich bisher nur Lauflichter mit 
passenden Schleifen gesehen und nach programmiert. Für mein Problem 
fehlt mir noch ein wenig der Ansatz wie ich das am besten umsetze. Ich 
freue mich über gute Erklärungen, gute Links und allgemein über jede 
Hilfe.

von HildeK (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Beschäftige dich mit dem Datenblatt des HC595.
Über DI kannst du mit SHCP einen seriellen Datenstrom durch das 
Schieberegister schieben. Die Ausgänge bleiben wie vorher.
Wenn du z.B. deine 24Bit so hineingeschoben hast, dann gib eine positive 
Flanke auf STCP und der Inhalt des SR wird auf die Ausgänge gegeben.

Wenn du nur einen Ausgang ändern willst, musst du alle 24 Bit (in deinem 
Fall bei 3 x HC595) neu schreiben, nur eben mit der einen Stelle 
geändert.

von Dr. Sommer (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Duda D. schrieb:
> Ich möchte mithilfe von drei Schieberegistern 74HC595, 12
> Schrittmotoren
> L293D ansteuern.

Ist eine Motorsteuerung nicht ziemlich zeitkritisch? Wäre es nicht 
sinnvoller, einen Controller mit genügend Pins (davon gibt es jede 
Menge) zu nehmen? Manche Controller ermöglichen dir sogar per Timer eine 
Taktgenaue Steuerung von weit über 12 Kanälen.

von Peter D. (peda)


Bewertung
0 lesenswert
nicht lesenswert
Du legst Dir einen virtuellen Port im SRAM an (24 Bit = 3 Byte) und in 
dem machst Du Deine Änderungen. Und nach jeder Änderung kopierst Du ihn 
in das SRG.

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Dr. Sommer schrieb:
> Ist eine Motorsteuerung nicht ziemlich zeitkritisch?

Das kommt wohl auf die gewünschte maximale Schrittfrequenz an.

Auch hat der L293 IMHO höchstens aus nostalgischen Gründen noch einen 
Lebensberechtigung als Treiber für Schrittmotoren. In den meisten 
Anwendungen wird man heutzutage einen mit Stromregelung einsetzen - 
jedenfalls wenn es auch um Drehmoment bei höheren Schrittfrequenzen 
geht.

von m.n. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Duda D. schrieb:
> Ich möchte mithilfe von drei Schieberegistern 74HC595, 12 Schrittmotoren
> L293D ansteuern.

Kannst Du bitte Deine Schaltung skizzieren, Motortyp und Schrittfrequenz 
mitteilen? Ich glaube nämlich, es handelt sich um eine Fehlplanung.

von Duda D. (ruma)


Bewertung
0 lesenswert
nicht lesenswert
Ich möchte hiermit keine Motoren steuern, sondern lediglich eine 
spannungsstimmulation erzeugen. Am Oszilloskop hat das auch schon 
wunderbar funktioniert. Lediglich soll jetzt das ganze noch mit 
schieberegistern ausgeweitet werden. Ich hab auch jetzt einen Code 
entwickelt indem ich die Leds einzeln an bekomme. Ich glaube ich komme 
doch alleine zurecht. Td vielen Dank :)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.