-         

Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 32

Thema: Servo am asuro

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.05.2007
    Alter
    28
    Beiträge
    305

    Servo am asuro

    Anzeige

    Hi leute,

    Ich will nur mal etwas mit einem/zwei servo(s) rumspielen, und hab hier irgendwo gelesen das man einen am asuro anschließen könnte.

    Da wo Con1/2 ist soweit ich weiss.
    Also wie funktioniert das genau? Und wie kann ich ihn dann ansteuern?

    Gruß
    Raz

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    29
    Beiträge
    4.544
    Wo du die Servos anschließt ist prinzipiell egal. Man schließt die Servos aber auf einen Anschluss mit Hardware PWM, sonst muss man mit Software PWM arbeiten. Du benötigst eine PWM mit ca 20ms und einen Puls zwischen 1 und 2 ms (Position).

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.05.2007
    Alter
    28
    Beiträge
    305
    Hätte ich soviel ahnung hätte ich schon gewusst wo ichs anschließ und wie ichs ansteuer, hab ich aber nicht.
    Ich will ja nicht mein ganzen asuro auseinandernehmen, und auch möglichst nicht die anderen funktionen beeinträchtigen, deswegen frag ich hier ja wie ich ihn am besten wo anschließ...
    Will ja keins von beiden kaputt machen

    Raz

  4. #4
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.781
    Blog-Einträge
    8
    Hallo

    Hardware-PWM ist für Servos nicht wirklich ideal:
    http://www.roboternetz.de/phpBB2/zei...ag.php?t=48204

    Ich würde die Servos an den LEDs anschliessen (Front, Status oder Back), mit Einschränkungen wäre auch ein Anschluss an den Linien- oder Odosensoren (oder gar am Tastenpin ;) möglich. Ansteuerung dann per Software-PWM, je nach Anwendung blockierend oder per ISR:
    http://www.roboternetz.de/phpBB2/zei...ag.php?t=44146

    Gruß

    mic

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

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.05.2007
    Alter
    28
    Beiträge
    305
    Aber wo schließ ich den PWM an? Wenn er software seitig ist garnicht oder wie?
    Er muss doch an irgend ein IO pin vom mega8 oder nicht?

    Gruß
    raz

  6. #6
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.781
    Blog-Einträge
    8
    Hallo

    Ich würde die Servos an den LEDs anschliessen
    ... meint selbstverständlich den PWM-Anschluss des Servos. Spannungsversorgung für die Servos kommt an Bat+/Bat- (oder externe Versorgung).

    Ein Beispiel: Anschluss an den Back-LEDs

    Die PWM-Leitung des Servos kommt an den gemeinsamen Punkt von T11, D15, R18 und PC1(Pin 24) für links, T12, D16, R20 und PC0 (23) für rechts. Hier (und an Vcc/GND) könnte man (isolierte) Drähtchen anlöten deren Enden man in die Servostecker stecken könnte (verzinnen). Das Programm dafür:
    Code:
    // Servoansteuerung mit Sleep() an BackLEDs (blockierend)             6.7.09 mic
    
    // Der drehbereich meiner Servos lag hier zwischen 15 und 90. Die Werte gelten
    // für eine 36kHz-Library. Bei Verwendung der orginalen 72kHz-Lib muss man die
    // Zeiten oder die Sleep()-Aufrufe verdoppeln!
    
    // (nicht getestet!)
    
    #include "asuro.h"
    
    int main(void) {
    
    	Init();
    	StatusLED(YELLOW);
    	while (1){
    		BackLED(ON,OFF); // Impuls Servo 1 on
    		Sleep(15);
    		// Sleep(15); // 72kHz
    		BackLED(OFF,ON); // Impuls Servo1 off, Servo2 on
    		Sleep(90);
    		// Sleep(90); // 72kHz
    		BackLED(OFF,OFF);  // Impuls Servo2 off, auf 20ms warten
    		Sleep(255);Sleep(255);Sleep(255);
    		//Sleep(255);Sleep(255);Sleep(255);  // 72kHz
    	}
    	return(0); // wird nie erreicht!
    }
    ich hoffe das funktioniert so halbwegs, ich kann es im Moment nicht selbst testen.

    Gruß

    mic

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

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.05.2007
    Alter
    28
    Beiträge
    305
    Das funktioniert ja schonmal gut!
    Aber wie steuer ich den servo nun exakt`? Und am besten natürlich ohne asuro lib. Weil nun geht er ja einfach bis zum anschlag (auch ohne while schleife..)
    Ich hab das teil nun an der rechten back led.

    Ein problem gibts aber noch: der servo kann sich um maximal 180° drehen( war son billiger, kann wohl keine 360°...). Beim Anschlaten fährt er bis zum anschlag, danach fährt er zurück aber nicht ganz! er bleibt nen cm vor dem ende stehn.


    Raz

  8. #8
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    29
    Beiträge
    4.544
    Servos haben normalerweiße einen Bereich von 180° (Billig und Teuer). Wenn du ihn ständig drehen willst musst du ihn "hacken".

  9. #9
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.05.2007
    Alter
    28
    Beiträge
    305
    Ja das hab ich auch gerade gelesen ^^.
    naja trozdem dreht sic hmein servo nicht ganz zurück zum anschlag :/
    Bin immernoch bei den obenstehenden problem/frage

    Raz

  10. #10
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    29
    Beiträge
    4.544
    Steht im Code von Mic. Du musst die Werte im Sleep verändern. Die Werte, indem steht Sleep(15) bzw Sleep(90). Wenn du den Wert auf 53 erhöhst sollte er ungefähr in der Mitte stehen

Seite 1 von 4 123 ... LetzteLetzte

Berechtigungen

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