PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Servo Motor BlueBird ansteuern funktioniert nicht



HannoHupmann
16.12.2011, 16:38
Hallo Leute,

gerade will ich für meinen Hexa die Servos mal in Betrieb nehmen, aber ich muss feststellen, dass die Ansteuerung der verwendeten BMS-705 von BlueBird nicht analog zu den Standard Servos funktioniert. Wo ein Wald-und-Wiesen-Servo problemlos funktioniert zuckt der BMS gar nicht erst. Hat jemand schon Erfahrungen mit diesem Servotyp?

Grüße Hanno

malthy
17.12.2011, 03:48
Hallo Hanno,

den BMS705 kenne ich nicht, aber ich habe mehrere BMS-L530DMG von Blue Bird in Verwendung. Deren Ansteuerung funktioniert zumindest einwandfrei wie bei jedem anderen Modellbauservo auch. Es würde mich ehrlich gesagt wundern, wenn ein Servo Typ da auf einmal so aus dem Rahmen fiele...

Viele Grüße
Malte


EDIT: Sorry, gerade erst in einem anderen Thread gesehen, dass Du der Ursache schon auf die Spur gekommen bist.

HannoHupmann
17.12.2011, 10:26
Laut Conrad-Hotline haben die Servos vor kurzen einen neuen µC bekommen und der macht jetzt Probleme mit dem Signalpegel. Die Ursache hab ich gefunden, aber leider noch keine Lösung ich bin schon am überlegen ob ich die Servos komplett austausche und andere verwende. Dann muss ich mein Konstruktion aber eventuell nochmal anpassen und alles.

robin
17.12.2011, 22:21
Versuch dem mal erst nen min und max signal zu geben (wie bei Fahrtreglern). Hatte mal ein problem mit mg955 (hießen die so?). Ich musste ihnen erst min und max signal vorgeben, sonst konnte ich sie nicht ansteuern bzw hab die ansteuerung nicht gemerkt (ganz leichtes zucken).

malthy
18.12.2011, 00:03
Laut Conrad-Hotline haben die Servos vor kurzen einen neuen µC bekommen und der macht jetzt Probleme mit dem Signalpegel

dem entnehme ich, dass Du die Servos bei Conrad gekauft hast. Und wenn das geschilderte Verhalten ein "objektives" Problem ist, kannst Du die Servos doch vielleich umtauschen...

HannoHupmann
18.12.2011, 08:54
Ja gekauft hab ich sie bei Conrad und bei zwei Stück mach ich mir gar keine Sorgen, die sind noch orginalverpackt, bei den anderen beiden sehe ich es etwas kritischer, da sie schon eingebaut waren. Werde ich morgen mal prüfen ob die zurückgenommen werden. Allerdings hab ich 4 Stück bei Ebay geschossen wo ich sie vermutlich nicht zurück geben kann, zwar ein Händler aber eher unwahrscheinlich. Allerdings brauch ich dann immernoch passende (der Bauraum ist auf die Servos ausgelegt) Alternativservos.

Zurück zum Problem:
@robin mhm das könnte ich mal ausprobieren ob das funktioniert. Im Moment ist es so, dass ich das Signal für die Mittelstellung vorgebe und dann am Servohorn drehe. Bei einem Pegel von ziemlich genau 4,0V fängt er dann irgendwie das Steuersignal ein und spricht auf einmal an. Allerdings ist der Zustand nicht stabil und er verliehrt bisweilen das Steuersignal wieder. Abgesehen davon darf der Pegel nicht drüber oder drunter liegen.
Ich hab jetzt auch mal versucht mit drei Quellen zu arbeiten: 1) Versorgt den µC (3,3V), 2) Servospannung 7,2V und 3) Pegelanpassung 5V. So hat es allerdings gar nicht funktioniert. Im Moment klappt es nur wenn ich die Signalpegelveränderung über die Versorgung der Servos laufen lasse.

Ein weiterer Punkt, der mir noch gekommen ist: Die "neuen" Servos lösen die Position deutlich genauer auf als die alten. Könnte es sein, dass ich ein anderes Signal geben muss als das klassische High .... Low für 20ms? ( |||||||..............)

Das mit den Maximalpositionen werde ich heute mal ausprobieren.

malthy
18.12.2011, 10:07
Ein weiterer Punkt, der mir noch gekommen ist: Die "neuen" Servos lösen die Position deutlich genauer auf als die alten. Könnte es sein, dass ich ein anderes Signal geben muss als das klassische High .... Low für 20ms? ( |||||||..............)


Nein, das geht auch mit der 50 Hz PWM. Man kann allerdings mit der Freuquenz weiter hoch gehen - muss man aber nicht.

Ich habe noch nicht genau verstanden wo das Problem liegt, aber wenn es nur die Pegel der Signalleitung sind, sollte doch ein einfacher Pegelwandler (http://www.mikrocontroller.net/articles/Pegelwandler) funktionieren?

Gruß
Malte

HannoHupmann
18.12.2011, 13:44
Hallo Malthy leider hab ich das Problem auch noch nicht verstanden.

Ich hab jetzt meinen etwas komisch zusammen geschusterten Pegelwandler nochmal neu aufgebaut. Jetzt wird wirklich eine sauberer Pegel erzeugt und ich kann die 3,3V auf jede beliebige Spannung ändern. Normalerweise spricht der BMS705 bei etwas um die 4V an allerdings nur wenn man ihn vorher manuell bewegt. Scheinbar fällt er dann irgendwie in einen Spannungsbereich wo er das Signal erkennt. Ich hab jetzt auch schon probiert mehrere Positionen anzufahren, min Max und dann Mitte. Mit einem alten Servo funktioniert es ohne Probleme. Kann also nicht am Programm selber liegen. Am Oszi kann ich auch wunderbar sehen wo die Spannung liegt.
20874
Kein Servo angeschlossen. Ein Kästchen nach oben bedeutet 1V. Die Position ist auf Mittelstellung codiert.

Wird nun der Servo angeschlossen, bekomm ich so ein Signal am Oszi: Die "Störung" ist nicht konstant sondern taucht immer wieder auf.
20875

Als Pegelwandler dient die Schalung aus dem RN-Wiki:
http://www.rn-wissen.de/images/4/45/Pegelwandler.png
Da ich die +5V von meinem Netzteil hole, kann ich den Pegelhub hier genau einstellen.

Außer Ideen hab ich leider noch keine Lösungen. Ich könnte mir z.B. auch vorstellen Logik und Servo mittels Optokoppler voneinander zu trennen, dann wären die beiden Systeme sicher unabhängig voneinander. Ich hoffe aber immernoch, dass einer von euch vielleicht eine Lösung hat oder sieht wo mein Fehler ist.

HannoHupmann
18.12.2011, 14:13
Gerade hab ich nochmal was neues ausprobiert und ein paar Dinge herausfindne können:
1) Meine BMS705 arbeiten in einem anderen Bereich wie mein Alte-Test-Servo. D.h. sobald die Steuersignale außerhalb dieser Grenzen sind funktioniert der Servo nicht. Jetzt hab ich die Grenzen sukzesive gesucht und gefunden. Jetzt fährt der Servo die Positionen wie gewünscht an. ABER:

2) Das funktioniert nur wenn an die Signalleitung zwei Servos angeschlossen sind. Nämlich der ALTE + der BMS705. Dann funktioniert es auch ganz ohne Pegelanpassung bei 3,3V. Wenn ich den Analogservo aber weg nehme, dann tut der BMS705 gar nichts mehr. Jemand eine Idee woran das liegen kann? Fungiert der Analoge als Signalverstärker oder sowas? ICh seh auch, das die Servos nicht 100% Synchron laufen. Bei der Min und Max position ja, aber bei der Nullstellung kommt erst der Alte und dann der BMS705. Ich hab auch geteste ob BMS705 + BMS705 funktioniert aber da tut sich dann auch wieder gar nix.

Ich kann den einen BMSmanuell bewegen wärend er sein Steuersignal bekommt und irgendwann "fängt" er sich dann. Er bewegt sich dann wie gewünscht solange ich mit den Fingern etwas dagegen halte, verliehrt sein Signal aber sofort wieder wenn er unbelastet ist. Der Pegel flattert dann auch gleich wieder am Oszilograph, wärend er unbelastet ganz ruhig bleibt.

Jemand eine Idee wie ich den BMS jetzt einzelen ansteuern kann?

Besserwessi
18.12.2011, 17:12
Vermutlich sind die Störungen verantwortlich dafür das es nicht ohne den 2. Servo geht. der 2. Servo wird ähnlich wie ein 2. Pullup oder Kondensator wirken. Ein Versuch wäre es den 2. Servo mal durch etwa 100 pF nach GND und 470 Ohm nach VCC zu ersetzen. Wenn der Servo pingelig ist mit den Pegeln könnte man versuchen das Signal etwas kleiner zu machen als nicht 0 V bzw. 5 V sondern eher 0,5 V und 4,5 V - einge ICs haben Probleme wenn das Signal durch Überschwinger unter GND oder über VCC geht.

Die Gefahr ist immer das man über den Strom zum Servo Störungen in die Masseleitung bekommt. Da muss man auf eine Sternförmige Leiterführung für GND und ggf. auch VCC achten. Kurzzeitig ziehen einige Servos sehr viel Strom (ggf. auch über 2 A) und das kann halt Störungen verursachen.

muell-er
18.12.2011, 18:32
Solce störungn kenn ich von servo ohne gemeinsame GND mit Signal. Viell. ist intern ein defekt?

HannoHupmann
19.12.2011, 07:48
@Muell-er einen Defekt schliesse ich aus, da ich verschiedene Servos getestet habe - genau aus dem Grund.

Natürlich kenn ich das Problem mit dem gemeinsamen GND (hab ich immer für alle) und das Problem mit den Lastspitzen (hat bei meinem Phoenix Hexa eine Menge Probleme gemacht). Da es sich aber um einen Testaufbau mit einem einzelnen Servo handelt seh ich die Einschaltströme noch nicht so kritisch. Abgesehen davon würde ich den Spannungseinbruch nicht auf dem Logikteil sehen da dieser vom Leistungsteil getrennt ist und am Oszi würde ein abfallen der Spannung auch sichtbar werden.


(Für den Einbau im Hexa hab ich dann eine saubere Sternverdrahtung vorgesehen und vor jedem Servoblock (3 Stück) eigene Pufferkondensatoren um die Spannungsspitzen etwas abzufangen. Danke aber nochmal für den Hinweis)


Die Störungen dachte ich auch erst, dass es sind. Allerdings denke ich eher, dass es druch Übersprechen zusatande kommt, d.h. die Störung nur ein Artefakt des Messaufbaus. Wie auch immer, nachdem ich die Grenzen der Bewegung jetzt weis und den Servo in diesem Bereich betreibe sind auch die Störungen weg. Auch ist der Servo jetzt nicht mehr vom Pegel abhängig sondern fährt zwischen 3V und 5V alles mit (solange der Alte Analogservo mit in der Signalleitung hängt)

Im Moment funktioniert der Servo nur im Solobetrieb noch nicht, bzw. nur, wenn ich ihn ein bischen belaste. Im Leerlauf bewegt er sich gar nicht, man hört nur so ein leichtes ticken. Jetzt möchte ich dieses Problem natürlich auch noch lösen schliesslich sollen die Servos im Hexabot ohne Störungen arbeiten. Die Idee mit dem Kondensator und dem Widerstand hatte ich auch schon, allerdings mit anderen Werten. Ich hatte 82Ohm und 100nF (das was halt da ist). Ich probier es mal mir den anderen Werten aus mal sehen ob das besser klappt. Über weitere Vorschläge und Lösungsansätze würde ich mich freuen.

HannoHupmann
19.12.2011, 17:19
Hallo Leider funktioniert die Variante 470Ohm zu Vcc und 100pF zu GND nicht. Der Servo tut immernoch nichts. Ich hab leider keine Ahnung was ich als nächstes versuchen könnte.

malthy
19.12.2011, 18:02
Abgesehen davon würde ich den Spannungseinbruch nicht auf dem Logikteil sehen da dieser vom Leistungsteil getrennt ist [...]

aber eine gemeinsame Masse zwischen "Logik" und "Leistung" gibt's schon, oder?

HannoHupmann
19.12.2011, 22:29
Ja die gibts gabs von anfang an. Das wäre wirklich gut, wenn es daran liegen würde.

RoboHolIC
20.12.2011, 09:41
Laut Conrad-Hotline haben die Servos vor kurzen einen neuen µC bekommen und der macht jetzt Probleme mit dem Signalpegel . . .

Vielleicht muß man die Signalleitung gegen GND ordentlich belasten, damit sich die Störungen totlaufen?

HannoHupmann
20.12.2011, 16:00
Der Signalpegel und die Störung sind es nicht. Der Signalpegel ist egal wie ich jetzt festgestellt habe (solange er zwischen 3V und 5V liegt) und die Störungen von den Oszibildern kommt von meinem fliegenden Aufbau.
Ich hab schon versucht ob ich irgendwie mit Widerständen den zweiten alten Servo simulieren kann, aber es funktioniert einfach nichts. Ich werde heute nochmal eine Sache probieren: statt dem Propeller einen mega32 nehmen, vielleicht liegts ja am µC, danach hab ich keine Lust mehr und ich werde mir eine Alternative suchen.


Conrad Hotline schlägt mir nun vor die Servos auszubauen und zurück zu schicken. Werd ich wohl machen da ich sie nicht angesteuert bekomme. Wegen der 4 von dem anderen Händler muss ich kucken wie ich die mit möglichst wenig Verlust wieder los werde.

HannoHupmann
21.12.2011, 16:30
Auch wenn ich es noch nicht ganz erklären kann, das Problem ist gelöst und die Lösung ist so einfach, dass ich mein Problem zurück will. Aber ich geh davon aus, dass ihr alle ganz schrecklich neugierig seid was es jetzt war.
Ein Kollege hat mich heute darauf gebracht doch mal Pegel Gegen Vcc-Servos zu messen und dann auch einfach mal die 6V für die Servos. Siehe da hier war ein deutlicher Spannungseinbruch von 2V! zu sehen wenn die Servos los legen. Also hab ich so lange Kondensatoren zwischen VCC und GND geschaltet bis die Spannung nicht mehr eingebrochen ist. Scheinbar ist mein Labornetzteil (PS2403 Pro) nicht mit dem plötzlichen Leistungshunger meines Servos zurecht gekommen. Mit den Kondensatoren werden die Spitzen jetzt abgefangen (2200µF + 100µF + 100nF + 100nF).

Danach hab ich noch einen Test mit LiPo gemacht, die sind deutlich besser im Lastspitzen abfangen. Hier funktioniert es auch ohne Kondensatoren.

Jetzt geht der BMS auch alleine und ich muss die nicht austauschen !!! Problem gelöst, hat ja auch nur 5 Tage gedauert, aber es zeigt sich mal wieder im Roboterbau muss man sich manchmal durchkämpfen! Auf zum nächsten Problem und allen die mir geholfen haben nochmal VIELEN VIELEN DANK.