- 3D-Druck Einstieg und Tipps         
Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 29 von 29

Thema: bis zu 12 Servos gleichzeitig ansteuern

  1. #21
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    09.04.2008
    Beiträge
    384
    Anzeige

    Powerstation Test
    Timer 1 ist frei auf die M32. Die kannst du naturlich brauchen. Die richtige einstellung von al die register muss du auf das Datasheet von ATmega32 entnimmen. Und dan naturlich noch die ISR1 (interrupt sub routine timer1) programmieren. Auf die robotbase ist timer 1 für die PWM von beide motoren forgesehen.

  2. #22
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    25.10.2007
    Ort
    Solingen
    Alter
    32
    Beiträge
    177
    Juhuu, danke an alle die mir geholfen haben, es klappt jetzt




    DANKE

  3. #23
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    25.10.2007
    Ort
    Solingen
    Alter
    32
    Beiträge
    177
    Hi,

    es gibt doch noch eine Sache. Ich habe jetzt erst mal 4 von 12 Servos angeschlossen und wenn ich die alle ansteuere geht der RP6 in den Standby modus. Ich glaube die Servos brauchen zuviel Strom, kann man die irgentwie so ansprechen das die Stromspitzen nicht so hoch sind. Besonders beim Start, da gehen alle Servos gleichzeitig auf du Position 100 kann man das irgendwie ändern, dass sie nicht alle auf einmal laufen?

  4. #24
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    09.04.2008
    Beiträge
    384
    Der spannungsregler von RP6base kann nur bis ca 1 A lieferen. Wan al die servo's zusammen nach ihre position fahren, ist einfach die Strom zu hoch, und die spannung bricht zusammen. Da sind verschiedene Losungen für dieses Problem :
    1. Separate Spannungsregler für die Servo's. Ist sowieso angewiesen bei mehr dan 3 Servo's ! Einfach eine 7805 forsehen die dan alle Servos versorgt (masse ist gemein mit platine RP6, + 5Volt geht nach die Servo's, puls kommt noch immer von platine RP6)
    2. Die Pulsen von Servos nicht alle gleichzeitig starten : erst pulsreihe von servo1, 500 mS warten, pulsreihe servo2 starten, 500mS warten, pulsreihe servo 3 starten... Prinzip ist das die Servos nur anfangen mit regelen ab die puls kommt. Alleine Spannung lasst die Servos noch nicht fahren... Bleibt immer das Problem wan spater in Program verschiedene Servos zusammen angesteuert wirden. Ansatz 1 ist die bessere Lösung !

  5. #25
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    25.10.2007
    Ort
    Solingen
    Alter
    32
    Beiträge
    177
    hi,
    wie muss ich die dann anwenden? Bekommt dann jeder Servo einen Spannungsregler?

    DIV blenderkid

  6. #26
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo blenderkind,

    Meine Servos hängen auf einem zweiten 4,8V-Akkupack. Plus(rot) auf Plus Extraakku, Minus(braun) auf GND-RP6 und Signal auf Signal-RP6. Minus-Extraakku auf GND-RP6. Das ist aber nur eine Zwischenlösung weil zuviel Ballast. Geplant habe ich eine Spannungsregler-Platine mit je einem 5V/2A-Regler pro 4 Servos (4x0,5A normaler Servostrom), versorgt vom RP6-Akkupack.

    Ein großes Problem ist die gleichzeitige Ansteuerung der Servos. Fast alle Beispiele für Servoansteuerungen starten alle Servos zur gleichen Zeit und stoppen sie dann einzeln je nach Drehwinkel. Der Gesamtstrom ist dabei beim Start der Servos enorm! Ich bastle im Moment an einer anderen Lösung. Die Servos erhalten ihre Impulse nacheinander. Mein Code für eine 100kHz-ISR und 8 Servos sieht im Moment so aus (und ist noch nicht richtig getestet):
    Code:
    ISR(TIMER2_COMP_vect)
    {
       static uint16_t count=0;
       static uint8_t impuls=0, servo=0;
    	if(!impuls)
    	{
    	   if(servo == 0) { impuls=vla; servo0_on; }
    	   if(servo == 1) { impuls=vli; servo0_off; servo1_on; }
    	   if(servo == 2) { impuls=hla; servo1_off; servo2_on; }
    	   if(servo == 3) { impuls=hli; servo2_off; servo3_on; }
    	   if(servo == 4) { impuls=hra; servo3_off; servo4_on; }
    	   if(servo == 5) { impuls=hri; servo4_off; servo5_on; }
    	   if(servo == 6) { impuls=vra; servo5_off; servo6_on; }
    	   if(servo == 7) { impuls=vri; servo6_off; servo7_on; }
    	   if(servo == 8) servo7_off;
    	   if(servo < 9) servo++;
    	} else impuls--;
    	if(count < 2000) count++; else { count=servo=impuls=0; if(p) p--; }
    }
    Gruß

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  7. #27
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    25.10.2007
    Ort
    Solingen
    Alter
    32
    Beiträge
    177
    Hi, ich habe jetzt einpaar Spannungsregler 5V 2A. Brauche ich für jedes Bein einen Spannungsregler? Ich glaube eher einen für alle, oder? Hat vielleicht jemand einen Schaltplan für sowas?

    DiV blenderkid

  8. #28
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    09.04.2008
    Beiträge
    384
    So ein Spannungsregler hat drei Beinchen. An ein Bein schliesst du der + pool von accu an (+bat auf RP6). Ein bein wird an die Masse von RP6 gelegt (gnd). Das letzte Bein fuhrt dan die geregelte 5 Volt Spannung. Diese wird dan nach alle + Anschlusse von die Servos gefuhrt (mittelanschluss Servostecker, rote draht). Eine Regler kan mehrere Servos speisen. Wan die Strom mal zu hoch wird, geht der Regler nicht kaputt, aber die Spannung von 5 Volt senkt dan ab. Wicht ig ist das die richtige Beinchen an die richtige Anschluss kommen ! Mal in Datenblatt nachschauen.

  9. #29
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Mit "Beine" sind die Beine des Roboters gemeint.

    Geplant habe ich eine Spannungsregler-Platine mit je einem 5V/2A-Regler pro 4 Servos (4x0,5A normaler Servostrom), versorgt vom RP6-Akkupack.
    Da ich zwei Servos pro Bein verwende sind das ein Spannungsregler für zwei Beine. Meine 3€-Servos ziehen bei Belastung (Blockieren) etwa 1A, unbelastet ca. 300mA.

    Im Datenblatt (z.B. des L7805) findet man auch Standartschaltungsbeispiele. Im Prinzip am Eingang und am Ausgang je ein großer Elko und ein kleiner Keramischer als Stütze und gegen das Schwingen.
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

Seite 3 von 3 ErsteErste 123

Berechtigungen

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

Labornetzteil AliExpress