- Labornetzteil AliExpress         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 24

Thema: Servo dreht nur in eine Richtung

  1. #11
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.07.2004
    Ort
    Südhessen
    Beiträge
    1.312
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Wenn der Servo beim Schließen des Stromkreises etwas zuckt, dann ist er ok.

    Dann sollte es an den Timings liegen. Da er immer nur in eine Richtung dreht, liegt das daran, dass er meint, Du hast ihm gesagt, dahin zu drehen.

    Also kontrollier mal die Fuses. Vielleicht gibts eine Teilerfaktorfuse, die den Takt noch teilt. Dann hast Du sofort falsche Timings und kein Servo funktioniert mehr.

    Versuch auch mal einen anderen Servo anzuschließen.

  2. #12
    Neuer Benutzer Öfters hier
    Registriert seit
    31.10.2008
    Beiträge
    11
    Hi,

    der 2. Servo den ich ahbe ist baugleich und macht genau das gleiche.
    das zucken beim stromkreisschließen sind ca 40° gegen uhrzeigersinn.



    Welches fusebit wäre es denn?

    bei den Fusebits die in Bascom eingestellt sind scheinen alle richtig zu sein.

    die einzigen die ich nciht verstehe sind

    Fusebit High I 1: OCDEN fuse unprogrammed
    P 1: osc options not programmed
    FE 00:2048 Words boot sice ( wahrscheinlich die größe des boot sectors
    d 1: reset vector is $0000


    oder meinst du irgendwelche andren fusebits?

    mfg

    Grumsch

  3. #13
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.07.2004
    Ort
    Südhessen
    Beiträge
    1.312
    Also der AtMega32 scheint diese Fuse nicht zu haben, wie ich sehe. Aber vielleicht ist er noch nicht korrekt auf einen externen Quarz gefuset?

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

    15 kg/cm 50g Digitalservos für 30€.
    Ich habe bei digitalen Servos mal was von automatischer Nullstellungsfunktion gelesen. Allerdings habe ich damit keine eigenen Erfahrungen. Vielleicht darf man solche Servos erst mit Spannung versorgen wenn das Signal schon ansteht? (Beim RC-Model: Erst Sender dann Empfänger)

    Falls das Servo den ersten Impuls als Mitte interpretieren würde könnte auch ein fehlerhafter erster Impuls zu Problemen führen. Gibt es ein Datenblatt zu den Servos?

    Wenn die Servos bei 10 und 200 gleichschnell in die selbe Richtung stottern scheint mir aber eher die Impulslänge nicht zu stimmen. Diese kann man auch über Zählschleifen oder delay-Funktionen erzeugen. Das ist transparenter als der servo-Befehl von bascom. Da der delay-Befehl etwa eine ms (1000µs) verzögert scheint er für einfache Tests geeignet zu sein:

    Code:
    do
    Portb.0=1 ' Impuls ausgeben
    delay ' für ca. 1 ms
    Portb.0=0 ' kein Impuls 
    for i=0 to 18 ' für 19ms
    delay
    next
    loop
    Allerdings würde delay bei falschen Fuses auch falsch verzögern, deshalb ein einfacher Test:

    Code:
    do
    Portb.0=1 
    for i=0 to 999 
    delay
    next
    Portb.0=0  
    for i=0 to 999 
    delay
    next
    loop
    Das sollte den Pin im Sekundentakt umschalten und kann mit Messgerät oder LED geprüft werden.

    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!

  5. #15
    Neuer Benutzer Öfters hier
    Registriert seit
    31.10.2008
    Beiträge
    11
    Hi,

    mit der Schleife dreht der Servo bis zum Anschlag geht dann kurz aus, und dreht dann weiter gegen den Anschlag.

    das Quarz ist richtig gefust, wenn cih in basecom mit dem waitms befehl 1 sekunde warten alsse dauert das auch eine sekunde.

    könnten auch die Servos kaputt sein?

    mfg

  6. #16
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Ich glaube nicht das gleich zwei Servos den scheinbar selben Defekt haben.

    Ich hatte mal für einen 8MHz-Mega32 einen funktionierenden Code ohne Interrupt in Bascom geschrieben:
    Code:
    'Servo steuern mit dem RP6                                          6.3.2008 mic'
    
    $regfile = "m32def.dat"
    $crystal = 8000000
    
    $hwstack = 32
    $swstack = 8
    $framesize = 8
    
    'Dims --------------------------------------------------------------------------'
    
    Dim Servopos1 As Byte
    Dim Servopos2 As Byte
    Dim Temp As Integer
    Dim Stellzeit As Integer
    
    'Ports -------------------------------------------------------------------------'
    
    Config Porta.0 = Output
    Config Porta.1 = Output
    
    
    'Variablen vorbelegen ----------------------------------------------------------'
    
    ' Mitte ist ~80
    Servopos1 = 10
    Servopos2 = 150
    
    'Hauptprogramm -----------------------------------------------------------------'
    
    Disable Interrupts
    
    Do
       For Stellzeit = 0 To 100
          Set Porta.0
          For Temp = 1 To Servopos1
             Waitus 10
          Next Temp
          Reset Porta.0
    
          Set Porta.1
          For Temp = 1 To Servopos2
             Waitus 10
          Next
          Reset Porta.1
    
         For Temp = 1 To 500
             Waitus 10
          Next
       Next Stellzeit
    
       If Servopos1 = 10 Then Servopos1 = 150 Else Servopos1 = 10
       If Servopos2 = 45 Then Servopos2 = 125 Else Servopos2 = 45
    Loop
    Aus https://www.roboternetz.de/phpBB2/ze...=357883#357883

    Das Video dazu:
    Bild hier  
    http://www.youtube.com/watch?v=lN_NalOYS_4
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  7. #17
    Neuer Benutzer Öfters hier
    Registriert seit
    31.10.2008
    Beiträge
    11
    hi, ich habe den code probiert nur auf 16 mhz umgestellt,

    wieder das gleiche

    mfg

  8. #18
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Ich frage nur vorsichtshalber: Du hast gesehen dass mein Programm die Ports A.0 und A.1 verwendet?

    Teste mal mit verschiedenen Einstellungen für den Takt! 1Mhz, 8Mhz...
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  9. #19
    Neuer Benutzer Öfters hier
    Registriert seit
    31.10.2008
    Beiträge
    11
    ja, ahbe das auf meinen atmel umgestellt.

    ich ahbe eben mal schnell auf ein Streifenplatine einen Atmega32-16pu mit Sockel gelötet. als einziges ist ncoh ein Kondensator für den atmel drauf. dann die Minimalprogrammierung und wieder ganu das gleiche... ES war übrigns ein andrer Microcontroler.

    hier die Ebay Artikelnummer 150302675086 (weiß nciht ob man hier links posten darf)

    ich werde mir wohl neue Servos bestellen, und wenn diese dann funktionieren weiß ich woran es liegt, oder fällt euch noch etwas ein?

  10. #20
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    15.11.2004
    Ort
    Aachen
    Alter
    38
    Beiträge
    246
    Nur um sicher zu gehen: Du hast die Signalleitung direkt am Microcontroller ohne irgendwelchen Schnickschnack. GND vom Servo ist mit GND vom Controller verbunden?

    Ein Oszilloskop hast du nicht zur Verfügung?

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

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

Labornetzteil AliExpress