Perfekt, Jetzt noch ne doof Frage (bin grad nicht vor meinem Roboter).
Schließ ich +/grnd am Besten direkt auf der M32 Platine an, oder sollte ich sowas lieber auf der Basis machen?
Was macht das für einen Unterschied?
Danke![]()
Ja, genau.Das heißt ich schließe das orange Kabel (Datenkabel) des Servos an PD5 oder PD6 an. Rot verbinde ich mit + und braun mit GRND
Ja, stimmt so. In der Lib wären das die Servos SERVO7 bzw. SERVO8.Wenn ich das Script dann ausführe, bewegt sich der Servo, weil PD5 bzw. PD6 angeschlossen ist. Stimmt das so?
In der Demo müßtest du dann das Servo initialisieren mit:
initSERVO(SERVO7); // PD5
... oder ...
initSERVO(SERVO8 ); // PD6
In der Demo must du anstelle von servo1_position und/oder servo2_position einsetzen:
servo7_position und/oder servo8_position (je nachdem, ob dein Servo an PD5 oder PD6 hängt).
Gruß
Dirk
Perfekt, Jetzt noch ne doof Frage (bin grad nicht vor meinem Roboter).
Schließ ich +/grnd am Besten direkt auf der M32 Platine an, oder sollte ich sowas lieber auf der Basis machen?
Was macht das für einen Unterschied?
Danke![]()
Es macht kaum Unterschied da auf beiden Boards die 5v duch den Base Regler produziert werden. Man kann einen geringfügigen Nachteil anführen wenn du die Versorgung an der M32 abzwackst, da ein höherer Strom duch die M32 und die Kabelbrücke muss - tatsächlich ist der Einfluß jedoch vernachlässigbar und macht sich erst bei mehreren Ampere bemerkbar.
Servos haben aber eine Sollspannung bis 6V, da lohnt sich ggf. ein eigener 6V LDO-Spannungregler an UBat. Das sorgt nicht nur für höhere Stellgeschwindigkeit, sondern entlastet auch den Boardregler. Vor allem bei mehr als einem Servo lohnt sich das dann schon.
Wenn man ein wenig risiofreudig ist, kann man sogar die Servos sogar direkt an Ubat betreiben - allerdings betreibt man sie dann ausserhalb der Vorgaben aber es soll Servos geben die bis 12V Spannungsfest sind. Ich will das nicht empfehlen, halte es aber für möglich und würde es evtl. ausprobieren. Zur Not kann man sich mit ein oder zwei Dioden aus einem alten Netzteil die Ubat etwas runter setzen (pro Diode 0,7V) da Ubat im voll geladenen Zustand schon mal über der nominalen 1,2V*6Zellen = 7,2V liegen kann. (ich hab bei mir auch schon 8,3V mit MH-Zellen gehabt)
LG Rolf
Geändert von RolfD (09.05.2011 um 13:33 Uhr)
Sind Sie auch ambivalent?
danke für die Infos!
der letzte Teil interessiert mich sehr.
Ich nehme an Ubat ist jetzt der direkte "Lötpunkt" von der Batterie auf die Base? (dort liegt also die direkte Batterie/Akku Spannung an)
LDO-Spannungsregler... sagt mir jetzt leider nicht viel... haben wir da im RN Wissen oder so was drüber stehen?
Danke!
EDIT:
Hab mal bei Conrad geschaut...
ist das sowas in der Art?
http://www.conrad.at/ce/de/product/1...archDetail=005
LDO = Low Drop Out = Eingangsspannung muss nur geringfügig größer sein als Ausgangsspannung
"normale" Regler kommen mit den 7,2 V nicht klar... da sie bis zu 3 V mehr am Eingang brauchen.
Aber was willst du mit einem 100mA SMD Regler? nein... eher sowas...
http://www.conrad.at/ce/de/product/1...archDetail=005
Ich glaube das ist ein LDO Typ.. sonst Datenblatt suchen...
Zu Ubat ... richtig, siehe Schaltplan Base, es müsste die Akku Spannung hinter dem Schalter sein.
Noch ein Hinweis.... man kann bei "alten" Spannungsreglern einen 1k Ohm Widerstand zwischen den GND Pin und GND klemmen und somit den Ausgang pro KOhm um 1 V anheben... dies beeinflußt den internen Spannungsteiler. Ich vermute, das geht mit LDO Reglern auch, weiß es aber nicht 100%ig. Auf die Art kann man also ein 6V Regler oder Zwischenwerte aus einem 5V Typ frickeln.
Geändert von RolfD (09.05.2011 um 15:49 Uhr)
Sind Sie auch ambivalent?
Hallo
Bei der Wahl für die Servoversorgung würde ich die Base vorziehen. Immer wieder habe ich in letzer Zeit Berichte über nicht funktionierende Servoansteuerungen am m32 gelesen. Meist wurden die Probleme dann mit einem zusätzlichen Akkupack für die Servos beseitigt.
Über die Base versorgt laufen locker 3 bis 4 Servos wie bei meinem Delta:
http://www.youtube.com/watch?v=QeY_KkZRlDc
Fünf Servos am Base mit 4xAAs als Servoversorgung beim Tapeloader:
http://www.youtube.com/watch?v=s1bOm9C7GAk
Sechs Servos an 4XBaby als Versorgung für Servos und RP6:
http://www.youtube.com/watch?v=U8cpVntdCGs
Das sind alles 5€-Servos ohne große Belastung. Für mehr Power braucht man zwingend eine zusätzliche Servoversorgung. Egal ob an der Base oder am m32.
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!
also beim servo passiert leider überhaupt nichts....
habe den code auf servo7 geändert - also pd5.
servo ist + & - an der basis angeschlossen. bevor ich das programm starte liegen 5,05V an. wenn das programm läuft bekomme ich Werte zwischen 1,5V und 0,7V.
Der Servo bewegt sich leider überhaupt nicht... auf dem LCD flackert Servopos: 1,2,3,4,5..... usw.
Kann mir wer weiterhelfen?
@roboterx:
Was ich nacheinander checken würde:
1. Dein Demo-Programm! (Evtl. hier nochmal die aktuelle Version posten!)
2. Servo-Steuerleitung sitzt an PD5 (I/O-Port-Stecker, Pin 9)?
3. Servo noch heile (nach der Verpolung)?
Gruß
Dirk
Zu Punkt 1:
Zu Punkt 2:Code:#include "../m32servolib/RP6ControlServoLib.h" uint16_t pos = 0; int main(void) { initRP6Control(); initLCD(); showScreenLCD("################", "################"); mSleep(1500); showScreenLCD("<<RP6 Control>>", "<<LC2 - DISPLAY>>"); mSleep(2500); showScreenLCD(" Servo - Test xD ", " Version 1.00 "); mSleep(2500); clearLCD(); setLEDs(0b111111); mSleep(500); setLEDs(0b000000); initSERVO(SERVO7); startStopwatch2(); while(true) { if (getStopwatch2() > 48) { servo7_position = pos; //servo2_position = pos; setCursorPosLCD(0, 0); writeStringLCD_P("Servopos.: "); writeIntegerLCD(pos, DEC); writeStringLCD_P(" "); pos++; if (pos > RIGHT_TOUCH) {pos = 0;} setStopwatch2(0); } task_SERVO(); mSleep(3); } return 0; }
Laut Beschreibung ist PD5 der 9te Pin des IO/Steckers. Also dort wo die Einkerbung ist links.
Zu Punkt 3:
Hab jetzt den 3ten Servo versucht (ohne Erfolg)
Einen hab ich auch schon mit einer 9V Blockbatterie probiert, auch ohne Erfolg...
Lesezeichen