dürftige informationen über servo

OP #1694815
Lesenswert?

Guten Abend liebe Leute :P

Ich war heute bei Conrad und habe mir solch einen Servo gekauft: 230500 
- 62
Leider fällt das Datenblatt recht dürftig aus.
Ich habe ihn vorsichtshalber nicht direkt an meinen ATmega8535 
angeschlossen, sondern über einen Motortreiber.
Standartmäßig wird wohl von den meisten Servos ein 50Hz Signal erwartet, 
wobei die dauer in der Das signal auf 5V liegt die gewünschte Position 
bestimmt(http://www.flugleiter.de/rc/servo). Leider ist es meinem Servo 
wohl vollkommen egal wie lange diese 5V anliegen, er dreht immer ganz 
nach links und verweilt dort.
Hier einmal das Testprogramm, dürfte eigentlich nicht falsch sein^^, die 
Verkabelung habe ich auch 100 mal überprüft.
1
#include <avr/io.h>
2
#define F_CPU 4000000UL
3
#include <util/delay.h>
4
 
5
int main( void )
6
{
7
    DDRA = 0xFF;
8
  while(1)
9
  {
10
    PORTA = 0x00;
11
    _delay_ms(VCC);//VCC+GND immer 20ms
12
    PORTA = 0xFF;
13
    _delay_ms(GND);
14
  }
15
    return 0;
16
}

Hat jeman eine Idee wo der Fehler liegen könnte?
Gast #1694835
Lesenswert?

>Hier einmal das Testprogramm, dürfte eigentlich nicht falsch sein^^
eingentlich!

das signal sieht bei dir folgendermasen aus:
20ms 0volt
20ms 5volt

es sollte aber so aussehen:
die signalleitung ist 0 volt und jede 20 ms kommt ein 5 volt impuls der 
für 1-2ms auf 5 volt bleibt und dach wieder auf 0 volt zurück geht.
#1694848
Lesenswert?

Daniel Hallmann schrieb:
> Guten Abend liebe Leute :P
>
> Ich war heute bei Conrad und habe mir solch einen Servo gekauft: 230500
> - 62
> Leider fällt das Datenblatt recht dürftig aus.
> Ich habe ihn vorsichtshalber nicht direkt an meinen ATmega8535
> angeschlossen, sondern über einen Motortreiber.
> Standartmäßig wird wohl von den meisten Servos ein 50Hz Signal erwartet,
> wobei die dauer in der Das signal auf 5V liegt die gewünschte Position
> bestimmt(http://www.flugleiter.de/rc/servo). Leider ist es meinem Servo
> wohl vollkommen egal wie lange diese 5V anliegen, er dreht immer ganz
> nach links und verweilt dort.
> Hier einmal das Testprogramm, dürfte eigentlich nicht falsch sein^^, die
> Verkabelung habe ich auch 100 mal überprüft.
>
1
> #include <avr/io.h>
2
> #define F_CPU 4000000UL
3
> #include <util/delay.h>
4
> 
5
> int main( void )
6
> {
7
>     DDRA = 0xFF;
8
>   while(1)
9
>   {
10
>     PORTA = 0x00;
11
>     _delay_ms(VCC);//VCC+GND immer 20ms
12
>     PORTA = 0xFF;
13
>     _delay_ms(GND);
14
>   }
15
>     return 0;
16
> }
17
>
>
> Hat jeman eine Idee wo der Fehler liegen könnte?
Vielleicht am falschen Timing?

Ein Servo wird folgendermaßen angesteuert:

Ein Hign-Impuls von 1 ms Dauer bedeutet Linksanschlag, ein High-Impuls 
von 2 ms Dauer bedeutet Rechtsanschlag. Dazwischen ist es linear, das 
heisst ein Impuls von 1,5 ms bedeutet Mittelstellung.
Zwischen den Impulsen sollten so ca. 20 ms liegen. Ob die damit 
entstehende Periodendauer jetzt genau 50 Hz ergibt spielt keine Rolle.

Probier einfach mal mit 1ms Impulsdauer und 20ms Pause und dann mit 2ms 
Impulsdauer und 20 ms Pause. Dann sollte das Servo an die Endanschläge 
laufen.
Wenn das mal funktioniert, kannst Du dich immer noch dabei verkünsteln, 
bei jeder Impulsdauer eine gesamte Periodendauer von 20 ms einzuhalten.

Wenn das nicht funktioniert, dann prüfe das Signal am Ausgang des 
Motortreibers. Wenn Du kein Oszi hast, dann klemme den Motortreiber ab 
und einen Widerstand von ca. 1k zwischen AVR und Servo - das schützt 
schon genug.



Gruß,
Bernd
Gast #1694865
Lesenswert?

>kannst Du dich immer noch dabei verkünsteln,
>bei jeder Impulsdauer eine gesamte Periodendauer von 20 ms einzuhalten.
ob die periode nun 30ms oder 10 ms hat ist nebensächlich.
im focus steht die 1-2 ms fein aufzulösen.
OP #1695657
Lesenswert?

Ich habe gerade herausgefunden, wo das Problem lag... ich hatte mich auf 
eine Internetseite verlassen, die scheinbar nur Schwachsinn schreibt.
Laut dieser war Rot=VCC, ORANGE = GND und Braun für den Impuls Aufreg

Luk4s K. schrieb:
> Die Servos sind alle gleich anzusteuern.
> Auf http://www.rn-wissen.de/index.php/Servo ist das ganz anschaulich
> beschrieben.

Wenn ich ihn so anschließe, dann klappts. Natürlich dreht der immer nach 
links, wenn der Impuls dauerhaft Low ist... und ich hatte mich auch 
gewundert, dass er viel langsamer war als angegeben^^, wurde ja auch 
über PWM gesteuert...

Naja, ich danke trotzdem allen, die sich Zeit für nen Trottel wie mich 
genommen haben:)
Gast #1695681
Lesenswert?

>eine Internetseite verlassen, die scheinbar nur Schwachsinn schreibt.
>Laut dieser war Rot=VCC, ORANGE = GND und Braun für den Impuls Aufreg
je nach hersteller sind die kabel andersfarbing und mit anderen steckern 
belegt.

>dass er viel langsamer war als angegeben^^, wurde ja auch
>über PWM gesteuert
also der servo motor wurde vom atmega pin versorgt, die dinger ziehen je 
nach größe ordenlich strom.
wenn da mal der pin nicht davon ne kleine make hat...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren