-
        

Ergebnis 1 bis 6 von 6

Thema: PWM und Schieberegister

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.08.2008
    Ort
    DE
    Beiträge
    523

    PWM und Schieberegister

    Anzeige

    Hallo,
    ich will mit möglichst wenigen HW-PWM-Pins viele Servos ansteuern. Im Internet habe ich dann Servoboards gefunden, wo 1 PWM Kanal auf ein 8bit Schieberegister (74HC595) geschaltet wird und man somit 8 Servos ansteuern kann. Leider blick ich da nicht so wirklich durch wie das Softwaremäßig abläuft, also was genau an das Schieberegister angelegt etc.

    Könnte mir das mal einer genau und einfach erklären, damit ich es selbst machen kann?

    mfg

  2. #2
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.970
    Hallo!

    Ich werde es gerne versuchen, aber wie magst du es haben: wörtliche Beschriebung oder skizzierten Zeitdiagramm ?

    Für 8 PWM's ist nur ein 8-bittiger Schieberegister nötig ("Serial In Paralell Out" z.B. 74XX164). Für 8 unterschiedlichen PWM Frequenzen wird die Steuerung bzw. Software ziemlich kompliziert und schwer verständlich.

    Übrigens, am liebsten wäre mir deine konkrete Fragen zu beantworten.
    Geändert von PICture (18.06.2013 um 13:03 Uhr)
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.08.2008
    Ort
    DE
    Beiträge
    523
    Also wörtliche Beschreibung reicht vermutlich schon bzw. für 8 gleiche PWMs verstehe ichs ja. Wie ein Schieberegister allgemein funktioniert weiß ich. Ich bräuchte aber 8 verschiedene PWMs. Hier verstehe ich nicht wie das funktionieren soll und fertige PWM-Boards werden ja vermutlich auch 8 unterschiedliche Signale liefern?!

    Wenn es anders leichter geht, dann wärs mir auch recht. (Soft-PWM?)

    Prinzipiell will ich nur ein Board das 20 (verschiedene) PWM Ausgänge für Servos hat und über eine Schnittstelle (vermutlich rs232) Daten empfangen kann (Also in etwa Setze Servo 3 auf 128 ).

    mfg

  4. #4
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.970
    Zitat Zitat von Wsk8 Beitrag anzeigen
    Hier verstehe ich nicht wie das funktionieren soll und fertige PWM-Boards werden ja vermutlich auch 8 unterschiedliche Signale liefern?!
    Ich auch nicht, weil z.B. Parameter von fertigen PWM-Boards wie Frequenz, %-Bereich von PWM, usw. mir unbekannt sind.

    Allgemein bei gleicher für alle Frequenz hat jeder PWM-Ausgang seine Adresse/Nummer. Alle Ausgänge werden gesetzt und ein überwachter Zähler gestatet. Die für konkreten PWM-Ausgang Zahlen werden sich in einer Tabelle befinden. Nach erreichen von bestimmter Zählerstand wird zugehöriger Ausgang gelöscht. Beim überlauf des Zählers werden wieder alle PWM Ausgänge gesetzt, usw. Alle entsprechende Werte der Ausgänge werden in ein Schieberegister bei jeder Änderung neu eingeschoben.
    Geändert von PICture (18.06.2013 um 14:35 Uhr)
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  5. #5
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.557
    ... mit möglichst wenigen HW-PWM-Pins viele Servos ansteuern ... wo 1 PWM Kanal ... 8 Servos ansteuern kann ...
    Mal langsam: PWM macht man ja gerne mit Hardware - es wird ein Timersignal auf einen Controllerpin gesteuert. Wenn man mit "wenigen HW-PWM-Pins viele Servos ansteuern" möchte, dann hat man mehrere Software-Servo-Ansteuerungen. Fazit: ich habe das gleich "ohne PWM" gemacht und steuere dabei 10 (zehn) Servos an, mit gleicher Genauigkeit könnte ich bequem auch 18 oder 20 Servos ansteuern.

    Stichwort (Stichwörter): TIMER1_COMPA_vect und TIMER1_COMPB_vect.

    Erklärung:
    Die ISR TIMER1_COMPA_vect läuft mit 1/10 der Servoperiode und immer mit gleichbleibendem OCR1A-Wert, also gleicher Länge; bei Dir wären das dann nur 1/8. Diese ISR startet die Zeit für die TIMER1_COMPB_vect-ISR und knippst einen Servo an. Der zuständige Servopointer wird mit einem rundlaufenden Zeiger bestimmt, die Länge der COMPB_vect-ISR, sprich OCR1B, wird ebenfalls mit diesem rundlaufenden Zeiger bestimmt, dieser Wert variiert je nach Servo und Deinen Wünschen. Sobald die entsprechende Zeit, sprich OCR1B, abgelaufen ist, wird durch die COMPB_vect-ISR der entsprechende Pinn abgeschaltet. Danach kommt natürlich wieder der Timer1 zu seinem Interrupt und die Geschichte beginnt mit dem nächsten Zeiger genauso. Das Ganze funktioniert sauber und quarzgenau (wenn man die Servo-ISRs nicht mit etlichen anderen Interrupts ausbremst). Einschränkung: OCR1A muss IMMER größer als OCR1B bleiben - plus der Zeiten für die Overhead-Aktionen der ISR.

    Ist Dir das klar? Ausführungen dazu gibts noch im oben erwähnten Link - und auch auf Nachfrage.

    Nachtrag: meinen Code gibts dazu hier (klick).
    Geändert von oberallgeier (18.06.2013 um 15:39 Uhr) Grund: Mustercode für mega1284
    Ciao sagt der JoeamBerg

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von malthy
    Registriert seit
    19.04.2004
    Ort
    Oldenburg
    Beiträge
    1.379
    Ich habe mal das hier irgendwo aufgeschnappt (vielleicht hier?):



    Es scheint noch ein paar Infos dazu zu geben: http://www.photopete.com/swarm/arduino/

    Ich denke unter dem Stichwort "Servomultiplexer" kannst du nochmal weitersuchen.

    Gruß
    Malte

Ähnliche Themen

  1. Schieberegister und Lauflichter
    Von Körperkrämer im Forum Elektronik
    Antworten: 7
    Letzter Beitrag: 21.07.2008, 15:08
  2. Schieberegister und 7 Segm.
    Von Mr-400-Volt im Forum Software, Algorithmen und KI
    Antworten: 1
    Letzter Beitrag: 02.03.2007, 23:44
  3. Antworten: 6
    Letzter Beitrag: 09.12.2006, 13:49
  4. ULN und Schieberegister problem
    Von colaturka im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 26.03.2006, 14:44
  5. [ERLEDIGT] Schieberegister und LED Display
    Von AEWE im Forum PIC Controller
    Antworten: 7
    Letzter Beitrag: 13.12.2004, 08:40

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •