PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Servo statt Motor



palermo
30.10.2006, 11:52
Hallo
Gestern ist auf meinem board der Motortreiber-Ic durchgebrannt.
Das board funktioniert noch wunderbar nur kann ich die Motoren nicht mehr ansteuern. Wie rüste ich mein board um dass ich damit servos betreiben kann? Denn dann wäre der Ic doch überflüssig, oder?
Wie müsste ich dann mein board programmieren um den servo zu bewegen?
Schaltplan: http://zelos.zeit.de/wissen/robocup/hardware/pdf/schaltplaene/Schaltplan_Controllerboard.pdf

Hubert.G
30.10.2006, 14:45
Ich weiss nicht was du auf den anderen Ein/Ausgänge drauf hast, aber um den Motortreiber wäre doch schade, so ein L293E ist sicher nicht so teuer. Eine Servoansteuerung kannst du mit jedem anderen Port auch machen, natürlich auch mir den sechs die jatzt deinen Motortreiber ansteuern.
Die Servoansteuerung ist reine Software, suche hier nach Servoansteuerung und du findest eine Menge hinweise.

palermo
01.11.2006, 15:00
Hallo
Danke für deine Antwort mein Problem ist nur, dass das ein maschinell hergestelltes board ist und ich mit dem auslöten onehin so meine Schwierigkeiten habe. Aber wenn du meinst dass ich einen Servo an jeden beliebigen Port anschließen kann, dann müsste ich ihn doch auch einfach an die Digitalen oder Analogen EIn/Ausgänge von dem Board anschließen können? (also wenn ich dass richtig sehe PA0 PA1 PA2 PA3 oder PB0 PB1 PB2 PB3) Ich versteh den Schaltplan nicht ganz woran sieht man ob eine grüne Linie eine Blaue einfach nur kreutzt oder ob die Linien miteinander verbunden sind?

FriLu
01.11.2006, 15:17
Hi,
wenn das IC definitiv defekt ist, nimm einen spitzen Seitenschneider, knips jedes IC-Bein einzeln durch, dann kannst du die reste pin für pin auslöten- das sollte das Bord problemlos überstehen.
MfG Lutz

Hubert.G
01.11.2006, 15:23
PB0 bis PB3 gehen auf die Stecker der Digitalen Eingänge jeweils Pin 3, damit könntest du schon 4 Servos ansteuern.
PA0 bis PA3 könntest du natürlich auch verwenden, aber du verlierst damit einen ADC-Eingang.
Du hast recht diese Bus-Linien im Eagle sind etwas verwirrend wenn man nicht selbst damit zeichnet. Unterschiedliche Farben sind nie miteinander verbunden.

palermo
01.11.2006, 16:54
Hallo FriLu
Danke für deinen Tipp das Ic ist aber nur oberflächlich angelötet wie bekomme ich das dann wieder dran? Asuro löten kann ich .... aber ohne Löcher? Das Ic ist defekt da kamen Funken und Rauch raus.

Hallo Hubert.G
Danke für deine Hilfe ein Servo hat doch + und -. Ein Kabel kommt an Pin3 und das andere an Pin1?

BlinkyBill
01.11.2006, 18:12
ist nicht schwieriger als mit löchern löten...

auslöten wie beschrieben---

Draufsetzen, ausrichten und mit nem feinen Lötkolben anlöten...
Ist wie normales löten.. es sollte beides heiss sein, und dann bisschen lötzinn dazu...

@hubert

das mit eagle stimmt nicht ganz... busse sind blau und netze auch grün, wenn sie mit nem bus verbunden sind.

Tipp hierfür:
1. der Bus muss ja nicht immer durchgezeichnet werden
2. wenn du netze die auf dem Bus liegen mit nem 45° knick in den Bus laufen lässt, sieht man den unterschied sofort...

FriLu
01.11.2006, 20:04
Hi,
Kannst auch mit reichlich Lötzinn und etwas grösseren Lötkolben arbeiten, dann musst du die entstandenen Lötbrücken mit Entlötlitze absaugen- das Lot, was unter den Pins übrig bleibt, reicht aus.
MfG Lutz

Hubert.G
01.11.2006, 20:07
@BlinkyBill
Du hast recht, ich hätte auf den Fall bezogen schreiben müssen "sind nicht miteinander verbunden"

@palermo
Ich weis nicht wofür die Transistoren vorgesehen sind, aber ich würde nur den Impulsausgang und GND verwenden. Wenn du die 5V auch verwendest kann es sein das du probleme bekommst wenn mehr als zwei Servos laufen, denn kurzzeitig brauchen die schon min. 300mA. Aber das merkst du wenn der Kontroller undefinierte resetet.

palermo
01.11.2006, 21:49
Hallo
Danke für die vielen Tips, soll ich vom servo dann + auf den Impulsausgang Pin 3 und - an GND Pin 2 hängen? Ich habe bisher nie mit Servos gearbeitet und bei conrad hab ich nicht so den Durchblick. Wisst ihr einen Servo bei Conrad oder Reichelt (oder wo anders) den ich gut nehmen kann (er sollte sehr leistungSCHWACH sein).

Bluesmash
01.11.2006, 22:01
du weist aber schon dass du die servos zuerst umbauen musst damit du sie als normale antriebsmotoren nutzen kanst?

gruss bluesmash

Hubert.G
01.11.2006, 22:19
Du willst aber schon die Servo als Servo verwenden und nicht als Antriebsmotor. Der Impulsausgang ist auf Pin3 und gehört auf den Impulseingang des Servo. Als Servo nimmst du das billigste das du bekommen kannst. Beim C z.B. 227726 - 62
Den Kontroller musst du natürlich entsprechend programmieren.

palermo
02.11.2006, 20:11
Hallo
Ich wusste gar nicht dass ein servo drei kabel hat .............. naja jetzt weiss ichs. \:D/
Gelb ist dann wohl der Impulseingang. :-k
Jedenfalls danke, ich kaufe mir wohl den beschriebenen Servo.
Wegen der Programmierung guck ich hier mal nen bisschen rum.
PS: Ich will den Servo nicht "hacken".
Danke an alle.

palermo
03.11.2006, 20:41
Hallo
Zum Thema "programmierung Servo" glaube ich dass um einen Servo z.B in Mittelstellung zu bringen, man in meinem Fall das Board so programmieren müsste:
Port powerON, warte 1,5 ms, Port powerOff.
Stimmt dass so in der Art oder wie erzeugt man in C/C++ ein "Rechtecksignal"? Die Beispiele sind ja meist in Bascom und da versteh ich nichts.
Ich würde mich über ein paar Hinweise freuen.

Hubert.G
03.11.2006, 22:18
Genau richtig, und alle ca. 20ms wiederholen, diese Wiederholzeit ist allerdings nicht zwingend notwendig wenn sich nichts ändert.
Hier könntest du was finden: www.elektronik-projekt.de/thread.php?threadid=3557&hilight=servo
Sonst Google Servoansteuerung

palermo
04.11.2006, 11:39
Hallo
Danke für den Link (das Forum kannte ich noch gar nicht).
Wenn der Servo auf 1,5ms steht und ich dann einen neuen Wert eingebe (z.B 0,5ms) wird dass zu den 1,5ms dazugerechnet oder ist dass der neue Wert?
Jetzt muss ich nur noch gucken was ich mir bei Conrad noch dazu bestelle (die haben ja einen Mindestbestellwert).
palermo

Hubert.G
04.11.2006, 12:33
0,5ms wird nicht gehen, die Servos haben etwas Toleranz, aber Standardwert ist 1ms bis 2ms jeweils Endausschlag. Das Servo läuft mit max. Geschwindigkeit bis zum neuen Wert.
www.mikrocontroller.net/topic/3146#19380
http://www.hanneslux.de/avr/mobau/7ksend/7ksend02.html
www.mikrocontroller.net/topic/41817#314685
Und noch einige Links

palermo
05.11.2006, 19:18
Hallo
Danke für die vielen Links.
Ich habe mir jetzt zwei Servos bei Conrad gekauft.
Die Frage ist ziemlich blöd [ #-o] aber ich möchte trotzdem auf-Nummer-sicher gehen: Das board ist eigentlich nur Slave und wird über I²c mit dem Master verbunden. Gefährde ich in irgendeiner Weise den Master durch dass kaputte board? Eigentlich hat dass Ic ja nichts damit zutun.
mfg palermo

Hubert.G
05.11.2006, 19:43
Wenn das IC keinen Kurzschluss produziert kann nichts passieren, ich würde den IC aber trotzdem vorsichtig entfernen. Mit einem feinen Seitenschneider oder Nagelzwicker kann man die Beine vorsichtig abzwicken. Wenn dann der Körper weg ist, die Beine mit einem kleinen Lötkolben entfernen, darauf achten das kein Kurzschluss auf den Leiterbahnen entsteht und gut ist es.

palermo
13.11.2006, 20:50
Hallo
Ich habe jetzt den Servo.
Es funktioniert gar nicht........(er dreht nicht)
Ich habe das gelbe und das schwarze Kabel jeweils mit einem Pin verbunden. Die Sache ist halt nur, dass die Pins auf dem board nicht beschriftet sind ............... ich glaube dass ich sie richtig verbunden habe. (GND ist ja in der Mitte und deswegen von mir mit schwarz verbunden worden)
Hat ansonsten jemand eine Idee warum es nicht geht?
Ist vielleicht der Servo defekt?

Hier mein Code: (er soll eigentlich bis zum Anschlag drehen)

#include "qfixBobbyBoard.h"

BobbyBoard bobby;

int main()
{

while (1)
{
msleep(20);
bobby.powerOn(0);
msleep(2);
bobby.powerOff(0);
}
}


Ich hoffe ihr habt eine Idee.
mfg palermo

Hubert.G
13.11.2006, 21:28
Ich würde sagen gelb Impuls
rot +
schwarz -
+ ist nicht auf den Pins, zumindest nicht direkt, das musst du dir von woanders suchen, VCC.

palermo
14.11.2006, 13:14
Hallo
Kann ich auch an meinen 7.2V AKKU der momentan das Board betreibt, einfach plus vom Servo hängen? (an das rote Kabel vom AKKU das rote Kabel vom Servo und das Kabel für das board anlöten) Wieviel braucht b.z. verträgt der Servo an Volt? (bei Conrad steht irgendwas von 4.8V kann ich auch was höheres nehmen?)
mfg palermo

BMS
14.11.2006, 13:38
Hi

Den Servo würd ich nicht direkt an den Akku hängen. Der dreht dann vielleicht schneller, aber ich weis nicht wie lang der das mitmacht. 8-[
Evtl. muss die Logikspannung (Impulsspannung) gleich wie die Betriebsspannung des Servos sein. :-k
Ansonsten kannst du dir auch kostenlosen Board-Ersatz von qfix holen (hat unsere Robotics-AG schon des öfteren machen müssen). 8-[

Siehe auch meinen Beitrag (unterer Teil mit den Bobby-Boards):

https://www.roboternetz.de/phpBB2/viewtopic.php?t=22386

Gruß

BMS

Hubert.G
14.11.2006, 13:48
Ich weiss nicht wieviel dieses Servo verträgt, aber im allgemeinen max. 6V

palermo
14.11.2006, 13:59
Hallo
man kann sich kostenlosen Ersatz bei Qfix holen?
(müsste ich was erfinden warums schrott ist da ich bei laufendem Betrieb den I²C abgezogen habe.......)
Ich habe nicht weiter gelesen hast du das Soccer Board in gang bekommen oder hast du dir wirklich selber eins gelötet? (ich habe es mir eigentlich als Ersatz vorgestellt für mein kaputtes)
jedenfalls Danke

"Ich weiss nicht wieviel dieses Servo verträgt, aber im allgemeinen max. 6V"

also was schlägt ihr mir vor?
mfg palermo

Hubert.G
14.11.2006, 14:16
Wenn du nur eines hast dann probier es mit den 5V vom Board, wenn es mehrere werden sollen dann eine eigene Stromversorgung. Bedenke aber das so ein Servo schon leicht 300mA braucht wenn es läuft. Wenn die Spannung am Board einknickt dann kannst du die kuriosesten Effekte erleben.

Hubert

palermo
14.11.2006, 19:15
Hallo,
du meinst jetzt den den Plus-Pin bei den Digitalen Ein/Ausgängen?
Ok das probier ich mal aus.
mfg palermo

Hubert.G
14.11.2006, 21:20
Genau den meinte ich, aber wie schon gesagt, es kann Störungen geben. Eventuell einen 100n Kondensator und 100µ Elko parallel zu + - des Servo.

palermo
15.11.2006, 15:43
Hallo
Es geht immer noch nicht.
Ich habe jetzt schon den Platinen-Stecker, das Board und den Servo ausgetauscht.
Kann es an meinem Code liegen?
Ich habe auch schon das rote Kabel direkt an das rote Kabel vom AKKU gehängt.
:cry: Die Welt ist schlecht! :cry:

Hubert.G
15.11.2006, 16:30
Wenn du die Spannung anlegst sollte das Servo einen kleinen Zucker machen.
Direkt solltes du es nicht auf die Akkuspannung legen. Ob dein Code funktioniert musst du selbst überprüfen mit einem Oszi, ob ein LED geht kann ich nicht sagen, kannst du aber probieren. Nur mit einem kleinen Widerstand in Serie.

palermo
16.11.2006, 20:14
Hallo
Also wenn ich 4,5V anlege passiert gar nichts weder beim Einen noch beim Anderen. (du meinst doch dass ich + und - anlegen soll und das gelbe Kabel weglassen soll?) Ich bin ein wenig ratlos............. Sind beide Servos kaputt? Gibt es noch eine andere Möglichkeit den Servo zu testen?
mfg palermo

Hubert.G
16.11.2006, 21:33
Ja, wenn du Spannung anlegst sollte das Servo eigentlich zucken, egal ob mit oder ohne gelben Kabel. Servos sind eigentlich sehr robust. Wie du sie noch testen kannst weiss ich jetzt auch nicht, Es gibt einfache Servotester, den müsstest du dir aber auch erst bauen.