Abo
  • Services:
Anzeige
Laika - Frontansicht
Laika - Frontansicht (Bild: Golem.de)

Einen Servo steuern

Anzeige

Ein Servo ist ein Stellmotor, dem ein einzustellender Winkel (Servo-Ausschlag) vorgegeben wird, den dieser dann auch unter Belastung hält. Die Ansteuerung erfolgt traditionell über eine Signalleitung, die regelmäßig - in einem wiederkehrenden, 20 Millisekunden langen Zeitfenster - einen elektrischen Impuls übermittelt. Die Länge des Impulses bestimmt den Winkel. Je nach Servo und dessen maximal einstellbarem Winkel, zum Beispiel -90 Grad bis +90 Grad, liegt die Signallänge irgendwo zwischen 0,7 Millisekunde (-90 Grad) bis zu circa 2,5 Millisekunde (+90 Grad).

In der Theorie würden wir also in einer Schleife alle 20 Millisekunden einen Pin für 1 bis 2 Millisekunden "an"-schalten, um den Servo zu steuern. Auf einem Multitasking-Betriebssystem wie Linux sind solche kleinen Zeiteinheiten aber nur unzuverlässig einzuhalten.

Pulsweitenmodulation

Also müssen wir uns anderweitig behelfen. Als Arduino-kompatible Plattform unterstützt der Galileo auch die Generierung von PWM-Signalen an bestimmten Pins. PWM steht für Pulsweitenmodulation und wird benutzt, um analoge Werte über die an sich nur digital (Strom an/aus) arbeitenden Pins zu übertragen.

Bei PWM werden die digitalen Pins innerhalb eines festen Zeitrahmens (die Periode) in sehr kurzen Abständen an- und ausgeschaltet. Als Zeichnung sieht das Ganze aus wie eine Wellenfolge von Bergen und Tälern. Für einen angeschlossenen Baustein entsteht dadurch der Eindruck, nur einen Bruchteil des Stromes zu erhalten.

Ein Beispiel: Ein Baustein erwartet an seinem Eingangspin einen Wert, der zwischen 0 und 255 liegen kann, wobei der Wert zum übertragenen Strom korreliert: 0 bedeutet kein Strom, 255 bedeutet maximalen Strom über eine Dauer X. Wir wollen den Wert 127 übertragen, müssen also den "halben" Strom übertragen. Mit PWM können wir genau dies erreichen. In der Zeit X wird unser Ausgangspin abwechselnd an- und abgeschaltet. Zum Beispiel: In einem Zehntel der Zeit wird der Strom angeschaltet und im zweiten Zehntel wieder abgeschaltet, im dritten wieder an, dann wieder aus usw. Gerechnet auf die Zeit X kommt dabei nur die Hälfte des Stroms an - die Hälfte im Vergleich zu einem ständig geschalteten Strom.

Hardware statt Software

Auf dem Galileo ist der Chip Cypress CY8C9540A I/O Expander für die Umsetzung der PWM-Funktion mitverantwortlich. Wir können ihn steuern und dabei einfach einen Wert übergeben, der zwischen 0 und 255 liegen darf und als PWM-Signal ausgegeben werden soll.

Wie uns das hilft? Die Servo-Elektronik hat eine für uns erfreuliche Eigenschaft: Innerhalb des oben genannten 20-Millisekunden-Zeitfensters interessiert sie sich nur für den ersten Impuls, der sie erreicht, weitere Impulse ignoriert sie. Moderne Servos ignorieren dieses Schema völlig und akzeptieren einfach jeden Impuls, der eine sinnvolle Länge hat und dem eine signifikante Pause folgt. Um sicherzugehen, orientieren wir uns jedoch am 20-Millisekunden-Schema.

Wir müssen den Chip also überreden, als Zeitspanne X 20 Millisekunden anzusetzen und ungefähr ausrechnen, wie die Werte 0 bis 255 in "Berge und Täler" umgesetzt werden. Die "Berge" und die zugehörigen Werte, die einer Zeitspanne von 1 bis 2 Millisekunden entsprechen, benutzen wir dann zur Servo-Ansteuerung.

 Ein ZwischenüberblickI2C - die letzte Abkürzung, versprochen! 

eye home zur Startseite
hungkubwa 31. Jan 2014

Wozu der Umweg über Flattr wenn man auch direkt Paypal nutzen kann? Versteh ich nicht.

savejeff 30. Jan 2014

Danke :] Ich benutze die app täglich auf mehreren PCs und habe mich so drann gewöhnt. Sie...

Anonymer Nutzer 30. Jan 2014

Besten Dank für die Info. Gruss, gehirnpest

Casandro 30. Jan 2014

...ein 5 Jahresprojekt, dass dann nach 7 Jahren wegen nicht eingetretenem Erfolg eingestellt.

Anonymer Nutzer 30. Jan 2014

[..] und wir wollen dabei lernen. Genau sowas hat mir bei Golem bisher immer gefehlt...



Anzeige

Stellenmarkt
  1. ifb KG, Seehausen am Staffelsee
  2. Zühlke Engineering GmbH, Hannover
  3. Daimler AG, Germersheim
  4. USU AG, Bonn


Anzeige
Spiele-Angebote
  1. 6,99€
  2. 12,99€
  3. 10,99€

Folgen Sie uns
       


  1. Spielebranche

    Goodgame Studios entlässt weitere 200 Mitarbeiter

  2. Project Scorpio

    Neue Xbox ohne ESRAM, aber mit Checkerboard

  3. DirectX 12

    Microsoft legt Shader-Compiler offen

  4. 3G-Abschaltung

    Telekom-Mobilfunkverträge nennen UMTS-Ende

  5. For Honor

    PC-Systemanforderungen für Schwertkämpfer

  6. Innogy

    Telekom will auch FTTH anmieten

  7. Tissue Engineering

    3D-Drucker produziert Haut

  8. IBM-Übernahme

    Agile 3 bringt Datenübersicht in die Chefetage

  9. Sicherheitsupdate

    Apple patcht Root-Exploits für fast alle Plattformen

  10. Aktionsbündnis Gigabit

    Nordrhein-Westfalen soll flächendeckend Glasfaser erhalten



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Hyperloop: Nur der Beste kommt in die Röhre
Hyperloop
Nur der Beste kommt in die Röhre
  1. Hyperloop HTT baut ein Forschungszentrum in Toulouse
  2. ÖPNV Ganz schön abgefahren!
  3. Transport Hyperloop One plant Trasse in Dubai

Shield TV (2017) im Test: Nvidias sonderbare Neuauflage
Shield TV (2017) im Test
Nvidias sonderbare Neuauflage
  1. Wayland Google erstellt Gamepad-Support für Android in Chrome OS
  2. Android Nougat Nvidia bringt Experience Upgrade 5.0 für Shield TV
  3. Nvidia Das Shield TV wird kleiner und kommt mit mehr Zubehör

Autonomes Fahren: Laserscanner für den Massenmarkt kommen
Autonomes Fahren
Laserscanner für den Massenmarkt kommen
  1. BMW Autonome Autos sollen mehr miteinander quatschen
  2. Nissan Leaf Autonome Elektroautos rollen ab Februar auf Londons Straßen
  3. Autonomes Fahren Neodriven fährt autonom wie Geohot

  1. Re: Geile Nummer

    DetlevCM | 18:01

  2. Re: Rollenspiele sind out

    ArcherV | 17:57

  3. Re: UHD-Auflösung für Streaming interessant

    The_Grinder | 17:56

  4. Re: Das einzige was diese Mouthbreather verstehen...

    ArcherV | 17:54

  5. Voice-over-LTE - wie soll das gehen?

    McWiesel | 17:51


  1. 18:21

  2. 18:16

  3. 17:44

  4. 17:29

  5. 16:57

  6. 16:53

  7. 16:47

  8. 16:14


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel