- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 5 von 5

Thema: Digitalservo Hitec D845 an Raspberry Pi (Zittern, Arbeitsbereich zu klein)

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    22.12.2014
    Beiträge
    8

    Digitalservo Hitec D845 an Raspberry Pi (Zittern, Arbeitsbereich zu klein)

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo liebe Roboterfreunde,

    ich habe in meinem aktuellen Projekt vor mit Hilfe eines Servos eine Tür zu öffnen und zu schliessen und während dessen die dabei auftretenden Kräfte zu messen. Die Kraftmessung bereitet keine Probleme. Um genug Kraft für die Türöffnung aufbringen zu können, dachte ich gönne ich mir die kräftigen Hitec D845. So weit so gut.

    Ich habe schnell rausgefunden, dass die Tutorialskripte nur für gängie meist analoge Servos taugen. Ich habe kein Datenblatt zur Ansteuerung des Servos gefunden, lediglich die Anleitung des dazugehörigen Controllers zum programmieren verschiedener Funktionen (Arbeitsbereich, Geschwindigkeit...). Darin ist zu sehen, dass der Standardbereich zwischen 900 und 2100 (Mittelstellung 1500) liegt. Eine Einheit ist nicht zu sehen aber es wird sich wohl um us handeln. Bei 50Hz ist das Signal 20ms = 20.000us lang und mit dem dutycycle zwischen 4,5-10,5% sollten sich daraus 900-2100us ergeben.

    Damit habe ich dann diesen Code getestet:

    Code:
    import RPi.GPIO as GPIO
    import time
    
    servoPIN = 18
    GPIO.setmode(GPIO.BCM)
    GPIO.setup(servoPIN, GPIO.OUT)
    
    p = GPIO.PWM(servoPIN, 50) # GPIO 17 als PWM mit 50Hz
    p.start(7.5)
    try:
      while True:
        p.ChangeDutyCycle(6.5) # Bereich Rechnerisch 4.5-7.5-10.5
        print("Min1")
        time.sleep(1)
        p.ChangeDutyCycle(9) #wie weit rechts rum
        print("Max1")
        time.sleep(1)
        p.ChangeDutyCycle(6.5) # wie weit links rum
        print("Min2")
        time.sleep(1)
        p.ChangeDutyCycle(9)
        print("Max2")
        time.sleep(1)
    
    except KeyboardInterrupt:
      p.stop()
      GPIO.cleanup()
    Das ganze funktioniert so halbwegs. Der Bereich lässt sich von 2.9 bis 11.3% erweitern ist also größer als erwartet.

    Nun zu meinen Fragen:

    Während der pausen zittert der Servo teils sehr stark. Wie ließe sich das unterbinden? Ich habe bereits gegoogled und die pigpio Bibliothek verwendet. Damit ruckelt es nicht mehr aber der Bereich den man verstellen kann ist zwischen 500 und 2500us festgelegt. Ich kann aber mit meinem Servo nur von 450 bis 1050us variieren und das ist sehr wenig.

    Habe ich irgendwelche Fehler bei der Ansteuerung gemacht? Gibt es Besonderheiten die man bei digitalen Servos wie diesem beachten muss?

    Vielen Dank schonmal.

    Gruß

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.678
    .. mit Hilfe eines Servos eine Tür zu öffnen ... auftretenden Kräfte zu messen .. kräftigen Hitec D845 ..
    So ein bißchen know how zu (vorzugsweise analogen) Sevos ist hier zu finden (klick) und im ganzen, zugehörigen Abschnitt.

    Dein Servo hat viel Kraft - braucht also viel Saft. Wie ist der denn installiert? Wichtig dabei wäre eine ziemlich belastbare (vermutlich > 4A Stromspitzen) Stromquelle, die natürlich den Servo - getrennt vom Controller - versorgt. Vom Controller kommt dann nur noch Signal (und GND *gg* natürlich) - siehe Link oben, etwas runterscrollen. Ich habe deutlich weniger kräftige Servos in Betrieb, ca. 1,5 Nm Haltemoment, die können einen Anfahrstrom von 3..4 A ziehen.
    Ciao sagt der JoeamBerg

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    22.12.2014
    Beiträge
    8
    Vielen Dank für die Antwort! Oh stimmt das habe ich vergessen zu erzählen. Ich habe die Servos an einem 10A Labornetzteil. Der GND von Raspi und Labornetzteil liegen zusammen.

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.678
    Zitat Zitat von Gr5 Beitrag anzeigen
    Vielen Dank für die Antwort! Oh stimmt das habe ich vergessen zu erzählen. Ich habe die Servos an einem 10A Labornetzteil. Der GND von Raspi und Labornetzteil liegen zusammen.
    Hallo Wanderer (wegen des GR5 !?)
    sorry für meine Pingeligkeit: wird der GND für die Servos vom RasPi gezogen? Oder direkt vom Labornetzteil. Denn - wenn der ganze Strom durch den RasPi muss . . . egal ob Vcc oder GND - dabei wärs mir unwohl (bin aber kein EMV-Fachmann). Hmmm, wenn auch nur ein Stromzweig durch den RasPi muss, dann würde ich genau wissen wollen was das für Leitungen sind. Die Signalleitung ist dagegen ja nur - Signal. Keine sonderlichen Ströme also.
    Ciao sagt der JoeamBerg

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    22.12.2014
    Beiträge
    8
    Nabend, die Servos haben eine ausreichend dicke Leitung sowohl für 5V als auch GND zum Labornetzteil aber zusätzlich eine GND Leitung vom Labornetzteil zum Raspberry. Man braucht den gleichen GND sonst machen die Servos nichts außer unwillkürliche Bewegungen.

Ähnliche Themen

  1. [ERLEDIGT] Festplatten(n)missgeschick. Rechner-Arbeitsbereich nicht zugreifbar. Hilfe? Rat?
    Von oberallgeier im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 45
    Letzter Beitrag: 02.06.2020, 14:18
  2. DFI GHF51: Ryzen-Platine ist so klein wie Raspberry Pi
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 18.03.2020, 09:50
  3. Hand zittern erkennen ?
    Von RobbyFan im Forum Sensoren / Sensorik
    Antworten: 5
    Letzter Beitrag: 05.10.2010, 23:31
  4. Servo hat das große Zittern
    Von IgelIgel im Forum Robby RP6
    Antworten: 20
    Letzter Beitrag: 02.06.2009, 21:35
  5. Digitalservo (robbe , HiTec, etc. ) programmieren ???
    Von HeliSchorsch im Forum Elektronik
    Antworten: 0
    Letzter Beitrag: 04.01.2007, 15:38

Berechtigungen

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

12V Akku bauen