PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : neue Motoren schwingen, Probleme mit selftest



disi93
14.01.2011, 09:58
Hallo,
Ich habe für ein Projekt in der Schule meinem RP6 neue Motoren eingebaut (http://www.graupner.de/de/products/80f55fc6-048f-41c2-b5fb-9180aec45a34/6379/product.aspx).
Nun habe ich das Problem, dass diese Motoren im "Leerlauf" (also in der Luft) nicht konstant fahren, sondern sie scheinen zu "schwingen". Bei Belastung entsteht durch das stärkere Überschwingen sofort Überstrom und der RP6 macht garnichts mehr. Bei ausgeschalteter Antriebsregelung fahren sie jedoch schön gleichmäßig, woraus ich schließen kann, dass die Regelung nicht mit den neuen Motoren klarkommt...

Nun hätte ich versucht in dem Selftest-C-File ein paar Korrekturen bezüglich der Regelung vorzunehmen, jedoch habe ich hier nun probleme beim kompilieren. Der Compiler liefert ein Paar Errors, dass die Variablen cycle_h_l, cycle_l_l, cycle_h_r und cycle_l_r nicht initialisiert wurden.
Die Initialisierung sollte jedoch eigentlich in der RP6RobotBaseLib.h vorgenommen werden, wenn das Symbol DEBUG_MEASURE_DUTY_CYCLE definiert wurde, also der Debug Modus aktiviert ist denke ich...
Aber auch wenn ich dieses Symbol definiere erkennt der Compiler keine Initialisierung dieser Variablen...

An diesem Punkt bin ich völlig ratlos und weiss nicht mehr weiter... Ich hoffe, dass mir hier jemand helfen kann.
Danke schon mal im Voraus :)

SlyD
14.01.2011, 13:21
Hallo,

die Motorregelung ist natürlich an die Motoren angepasst die im RP6 eingebaut sind.
Die Stromsensoren haben einen Messbereich bis etwa 1.8A und die Abschaltung ist soweit ich mich erinnere auf etwa 1.2 bis 1.5A eingestellt. Da müsste man dann die Widerstände am Operationsverstärker etwas anpassen um den Messbereich zu erweitern...

Die Graupner Motoren scheinen allerdings einen wesentlich höheren Energiebedarf zu haben und verhalten sich natürlich auch ganz anders.
Current at maximum eff. 2A, stall current 12A!
Das ist mindestens 4x soviel wie bei den normalen RP6 Motoren.

Zur Info: Der RP6 hat eine 2.5A Sicherung - für alles zusammen!
Die Motortreiber können auch mehr also man könnte die auch gegen eine stärkere Sicherung tauschen - aber diese Graupner Motoren sind dann doch etwas übertrieben...
(da können Dir die Motortreiber durchbrennen!)

Zum Compiler Problem:
Also ich habe kein Problem hier das mit der neuesten WinAVR Version zu übersetzen - hast Du den kompletten unveränderten Beispielordner verwendet (v. 20080915)?
Welche Fehlermeldung kommt genau?
Hilft es vorher make clean auszuführen?

MfG,
SlyD

disi93
14.01.2011, 13:55
Danke für die Antwort, aber wir (meine Kollegen die mit mir gemeinsam die Diplomarbeit machen und ich) haben das Problem gerade gelöst.
Dass die Motoren vl etwas überdimensioniert sind für den RP6 ist uns bekannt, es hat sich jedoch aufgrund diverser Zufälle so ergeben, dass wir diese gewählt haben (verbilligter Preis...), wir hatten auch nicht vor die Motoren mit voller Leistung zu fahren, sie können jedoch auch wenn man sie begrenzt bessere Leistung liefern als die Standardmotoren.

Ich habe jetzt für das Selftest-Programm die Initialisierung dieser nicht gefundenen Variablen im c-File ausserhalb einer #ifdef-Abfrage vorgenommen und siehe da... es funktioniert :) auch wenn ich mir noch nicht so genau erklären kann warum...

Weiters haben wir es nun auch schon geschafft, die Begrenzung für die Motoren so einzustellen, dass sie nach einem nur sehr kleinen und kurzen "Überschwingen" konstant geregelt werden :)
Somit wäre das Problem also schon gelöst...
Danke trotzdem für die Denkarbeit die du für uns geleistet hast...

funkheld
18.01.2011, 18:37
na, denn wird euch bald der verantwortliche Steuerchip durchbrennen ihr schlaumeier...

...etwas...
4x ist nicht etwas....