- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 3 von 3

Thema: Mehrere Servos an Wifi-Moul - Timer

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    16.12.2012
    Beiträge
    17

    Frage Mehrere Servos an Wifi-Moul - Timer

    Anzeige

    Praxistest und DIY Projekte
    Hallo Community,

    Ich versuche seit einiger Zeit einen Robotergreifarm an meinen RP6 zu bauen.
    Dafuer habe ich schon die Teile geplant und zum Fraesen aus PVC an einen befreundeten "Metaller" gegeben.

    Momentan befasse ich mich damit, wie ich die 5 Servos, welche im wesentlichen den Greifarm bilden, ansteuere.

    Ich dachte ich haette es schon verstanden, wie man es macht, da ich bereits 2 Servos zum laufen bekommen habe. Als ich einen dritten anschliessen wollte, wurden jedoch meine Erkenntnisse "verworfen".

    Nun zu den Details:

    Klicke auf die Grafik für eine größere Ansicht

Name:	aufbau.jpg
Hits:	18
Größe:	60,4 KB
ID:	24463

    Ich habe den Port "IO_PWM/T0/T1" auf eine Experientierplatine herausegefuehrt und versorge mit 5V die Servos (Masse dieser Spannungsquelle mit Masse des Ports (pin2) verbunden).

    Die PWM Steueranschluesse der beiden Servos verband ich mit PB6/OC1B (Pin 9) bzw. PB5/OC1A (Pin 7).

    Der Quellcode enthaelt zur Steuerung folgendes:

    Initialisierung des Pin 7 und Timer1:

    Code:
    void timer_init(void)
    {
    	DDRB = (1 << PB5 ); 
     
    	TCCR1A = (1<<COM1A1) | (1<<WGM11);
    	TCCR1B = (1<<WGM13) | (1<<WGM12) |(1<<CS11);
    	
    	ICR1 = 20000;
    	
    }
    Dann veraendere ich im laufe des Programmes OCR1A im Bereich von 1100 - 4950 um den Servo auszusteuern.

    Wie kann ich nun einen 2. Servo (3./4./5.) mithilfe des Timers ansteuern???

    Ich hatte zunaechst versucht auch Pin 9 (OC1B) auf Ausgang zu schalten und dann den Wert von OCR1B im Bereich von 1100 - 4950 zu Beeinflussen. Zunaechst ging das auch irgendwie (Ich konnte beide Servos getrennt Steuern), aber irgendwann ging es nichtmehr (oder nur zufaellig mal).

    Die Infos ueber Servoansteuerung mit PWM habe ich hierher:

    http://www.mmi.rwth-aachen.de/wiki/m..._einem_ATMega8
    http://mil.ufl.edu/5666/handouts/ATMPWM.pdf

    Nur wird in diesen Beispielen immer blos 1 Servo mit PWM/Timer angesteuert.

    Wie kann ich nun vorgehen?


    Liebe Gruesse,

    MM2forever

  2. #2
    Max Web
    Gast
    Hallo,

    schau Dir doch mal dieses: https://www.roboternetz.de/community...+servo+library Projekt an.
    Es sollte sich sicherlich leicht auf die M256 portieren lassen.

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    39
    Beiträge
    1.516
    Hallo,

    Du musst die COM1xx Bits in den jeweiligen TCCRxx Registern richtig setzen damit die Pins auch als PWM Ausgang verwendet werden.
    Schau mal ins Datenblatt auf Seite 158ff.
    Und Seite 148 die Tabelle 17-2. Die WGM Bits müssen auch dazu passen.
    (verhält sich je nach Modus anders)

    Wenn Du mehrere Timer nutzen willst, musst Du das natürlich für jeden Timer einstellen.


    MfG,
    SlyD

Ähnliche Themen

  1. Schaltkreis für mehrere Servos
    Von Sebbokalypse im Forum Elektronik
    Antworten: 9
    Letzter Beitrag: 12.11.2009, 19:46
  2. Antworten: 16
    Letzter Beitrag: 11.04.2008, 17:49
  3. Wifi Roboter
    Von newName im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 4
    Letzter Beitrag: 16.01.2008, 14:51
  4. Servos, Timer und meine Blödheit....
    Von jojansen im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 15
    Letzter Beitrag: 18.02.2006, 20:46
  5. Mehrere Fragen bezüglich Timer, EEPRom und anderes
    Von quad im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 15.09.2005, 23:16

Berechtigungen

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

Labornetzteil AliExpress