-
-
Neuer Benutzer
Öfters hier
Servo's per PC steuern 2 bis 3 Stück..
Hey Leute, also ich will per PC über LPT ein paar Servo's steuern (die binäre Codierung mit der die Anzahl der Servo zusammenhängt ist erstmal nicht wichtig). Es geht darum mir mal ein Beipsiel oder so zu zeigen wie so ein Servo funktioniert, wie die Leitungen belegt sind usw.. Die Steuerung über den LPT stellt dabei kein Problem da, denn ich habe schon eine funktionierende Schnittstellenkarte gebaut auf der ich alle 8 Leitungen des LPT zur Verfügung habe... Danke für eure Hilfe
Bye Jabbercat
-
Erfahrener Benutzer
Robotik Einstein
ALso wegen der Funktionsweise der Servos, einfach mal im Forum rumgucken, da gibts haufenweise dazu. Nur Grundsätzlich:
Servos sind Gertiebemotoren, die sich nur 180 drehen können, es sei denn, man beut sie selber entsprechend um. Drei Leitungen besitzt er, VCC; GND und ein steuersignal, dass folgendermassen aufgebaut ist:
Allle 10 oder 20 ms, abhängig vom Typ, wird ein Impuls von 1 bis 2 ms länge an den Servo gesendet, der Die Position angibt. Länge = Position.
1 ms z.B. gleich ganz links, 1,5 mitte 2 ms -> rechts.
wegen der Asnteuerung mit dem PC verweise ich mal auf:
Servos via RS232 oder USB direkt von PC aus steuern
https://www.roboternetz.de/phpBB2/viewtopic.php?t=1832
MFG Moritz
-
Neuer Benutzer
Öfters hier
schön und gut nur...
ist ja alles schön und gut, nur dass sich der servo nur in eine richtung dreht egal bei welcher impulslänge (ich programmiere in perl)???
Bye Jabbercat
-
Erfahrener Benutzer
Robotik Einstein
Moment, jetzt komm ich nicht mit, du hast schon einen Servo angeschlossen oder nicht?
-
Neuer Benutzer
Öfters hier
ja schon dran...
also ich habe jetzt hinter die karte denn servo gehängt (gelbe Leitung an die Karte leitung 0, rot an plus der Stromquelle und schwarz an minus der Stromquelle) ... das Programm zu tippen ist ja kein großes ding (dachte ich) ... nur er dreht sich halt immer in die selbe richtung???
Bye jabbercat
-
Erfahrener Benutzer
Robotik Einstein
Also zu den Farben kann ich dir nicht viel sagen, denn die sind immer anders. Er dreht sich also bis zum Anschlag, und summt dann, oder bleibt stehen, oder?
Also du kannst die Pulslängen auch einfach mal veränder, sie müssen nciht zwangsläufig zwischen 1 und 2 ms liegen, bei mir (billig - Servo) liegen sie zwischen 0,2 und 0,9 ms. Aber das hängt bei mir auch vom reload-Wert ab, der bei mir mit 15 ms am besten läuft. probier mal was, so 1 sekunde 0,1 ms; 1 sek 2 ms, dann sollte sich was tun, später kannst du dann die Grenzen genauer bestimmen.
MFG moritz
-
Neuer Benutzer
Öfters hier
hm...
Hey also ich hab jetzt mal geschaut ob der Servo mit Negativ- oder Positivimpuls arbeitet... da ist Fehler eins denn jetzt dreht er wenigstens mal nach links oder rechts, aber ich kann ihn nicht genau steuern... fehler 2 scheint wohl in der programmierung zu liegen, da der servo immer genau bei 1ms und 2 ms stellt und dabei mit kann man net viel anfangen um später nach dem einarbeiten einen kleinen walker zu bauen *träum*
wie macht ihr das mit dem servo am PC über den LPT?
was für eine Programmiersprache und was brauche ich dazu?
hat jemand einen kommentierten code für mich?
könnt ihr die impuls so genau (z.B. 1,5....) erzeugen?
-
Wenn Du welche hast, dann nutze Timingbefehle, die die einzelnen Pins ein- und ausschalten lassen. (am besten alle 20ms)
Direkt aus dem Druckerport dürfte das aber recht schwierig werden.
Servos kann man vom PC aus recht leicht über RS232 (Com-Port) steuern. Dazu brauchste aber nen Controller, der die Daten in die Steuersignale für den Servo umwandelt.
Hier im Forum gibts einen Bereich der sich ausschließlich mit der Programmierung von Controllern mittels Bascom beschäftigt.
Basic ist ja leicht zu erlernen und die Hardware zum brennen von µC kostet im einfachen Fall gerade mal 5 Eu's.
-
Neuer Benutzer
Öfters hier
Lösung...
Hey, ich hab alles an Problemen gelöst... Danke für eure Hilfe... n timer konnte ich net nehmen. die waren alle zu ungenau. bediene mich jetzt eines tricks mit einer genauen Zeitmessung (Time:HiRes)... ich lasse eine schleife eine bestimmte zeit laufen bis die gewünschte impuls länge erreicht ist und setze dann den Pin wieder Low.. der Takt von 20ms war kein Problem da tut's n normaler Timer... Trotzdem interessiert es mich mit der steuerung über com-port auch mal?
Bye jabber
Ps: werde sehr wahrscheinlich Lösung in den nächsten Tagen ins Netzt stellen für andere ... ich denke mal unter www.derboardplanet.de.vu oder eine andere Addi aufmachen, aber dann meld ich mich hier nochmal
-
Erfahrener Benutzer
Roboter-Spezialist
"Der FT639 ist ein Chip zur Ansteuerung von Modellbau RC Servos. Es besteht mit ihm die Möglichkeit, bis zu 5 Servos, über eine serielle 2400 Baud Schnittstelle, zu steuern.
Zum Anschluß an eine handelsübliche RS-232 Schnittstelle, wie sie z.B. in PC's Verwendung findet, werden nur zwei Widerstände und eine Diode benötigt...
Es werden keine zusätzlichen Bauteile bei einer seriellen 0-5 Volt Schnittstelle benötigt. Diese findet man an vielen Microcontrollern und der FT639 kann meist direkt angeschlossen werden."
Zitat aus der Produktbeschreibung des FT639 Servo Controller Chip von FerretTronics.
RG
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen