Ja, Servo-Routinen sollten generell eine Wegbegrenzung drin haben. Und wenn man dann noch den Wert eines gelöschten EEPROMs erkennt und dann den Servo gar nicht erst startet, kann eigentlich nichts mehr schiefgehen...
Druckbare Version
Ja, Servo-Routinen sollten generell eine Wegbegrenzung drin haben. Und wenn man dann noch den Wert eines gelöschten EEPROMs erkennt und dann den Servo gar nicht erst startet, kann eigentlich nichts mehr schiefgehen...
Das ist (für mich) einer der besten Aspekte dieser Diskussionen - Denkanstösse zu bekommen. BTW - würde eine simple Prüfsumme des Flash´s genügen um nach einem Reset erstmal garnicht ins eigentliche Programm einzusteigen ? ? ? Das ist ein Thema, das ich (nach sechs Monaten "im Forum") bisher eigentlich nicht wahrgenommen hatte.Zitat:
Zitat von uwegw
Zu meiner Schande muss ich ja gestehen das ich schon lange bevor ich mit den Tests begann und beim Testen (als ich gemerkt hatte das die Spg-versorgung und die Servos ja gut warm (nicht heiß, eher "ohh, die sind aber warm") wurden) schon an ne Softwarebegrenzung gedacht habe aber aus Faulheit und dem Gedanken "ich will jetzt erst mal testen, Sicherheit kommt danach" nicht geprogt habe.Zitat:
Zitat von MeckPommER
Aber jeder muss Lehrgeld bezahlen.
Die Servos sind Blue Bird BMS-621 MG High Speed Servo. Spg-versorgung ist 6V über 3A-Schaltregler (LM 2576 Adj) aus nem 12V Bleiakku. Leider hab ich den Strom in dem Moment nicht gemessen aber vor ein paar Tagen hab ich mal grob geschaut und 2A bei starker Belastung gehabt. Ob der Schaltregler gut arbeitet hab ich noch nicht überprüft. (Also ob und wie stark die Spg einbricht. Die 6V sollten stimmen.)
Weggestorben wie die Fliegen sind die aber nicht. Ich hatte an dem Tag schon ne Weile probiert und darum dürften die schon gut vorgewärmt abgenippelt sein.
Gruß
Keine Panik, tausch die beiden BC327 auf der Platine, der Servoelektronik, aus und das Servo tut´s wieder :-)
Der 51660 raucht ganz selten mal ab.
Gruß, und mach weiter so.
:-s :-s :-s :cheesy:Zitat:
Zitat von Hessibaby
Hi,
nur als kleine Info: hab heute versucht einen der beiden Servos mit den Teilen des anderen wieder zum laufen zu bringen. Hat an sich gut geklappt. Der Servo bewegt sich gut aber recht kraftlos und langsam --> ich werd um neue Servos nicht rum kommen.
Bis ich neue hab werd ich aber weiter an der Komunikation feilen und dann gehts auch wieder voran. \:D/
Gruß
hi Murdoc_mm,
gibt es was neues bezüglich des Mono-Wheel´s?
Wir sind auch mit kleinen Fortschritten oder einem kurzen Statement zufrieden.
liebe Grüße,
Klingon77
Hi,
ja bei mir ist grade das Sommerloch zu ende gegangen. War im Urlaub (in Deutschland --> ihr habt keine Vorstellung was für ein super Wetter ihr habt), hab nen neuen Mitbewohner bekommen und bei mir auf Arbeit gehts drunter und drüber (in 2 Wochen wird sich das bessern).
Aber ich hab auch schon wieder am Bot gewerkelt. Letztes WE ein paar Kleinigkeiten und für dieses ist ein größerer Umbau geplant (wenn nichts dazwischen kommt). Das werd ich aber erst schreiben wenns fertig ist also etwas Geduld noch.
Gruß
hi,
Sommerloch und Urlaub ist voll in Ordnung \:D/ :mrgreen:
Ich hoffe, Du hast Dich gut erholt.
Bei mir ist es momentan auch nicht anders. Zwar kein Sommerloch und auch keinen Urlaub (Töchterlein will zur UNI und das kostet) aber einige Arbeiten rund um´s Haus.
Ich freue mich schon auf den regnerischen Herbst und den hoffentlich kalten Winter.
Dann werde ich auch wieder etwas Zeit finden.
liebe Grüße,
Klingon77
Jetzt fällt mir ein Stein vom Herzen - wollte dieses Wochenende auch schon mal sehen, ob es Deine Aktivitäten am MW noch gibt :).Zitat:
Zitat von Murdoc_mm
Ohhhhh - hoffentlich bleibt dann noch Zeit für Deine Freizeitaktivitäten. Ich - und vermutlich alle andern auch - sind total gespannt, egal ob Sommerloch oder nicht.Zitat:
Zitat von Murdoc_mm
Viel Glück, viel Erfolg, bis bald wieder.
Hi,
so, jetzt gehts auch bei mir wieder ein wenig weiter.
Die Servos sind beide gegen neue ausgetauscht. Das war ne Fummelei. Ich hab mich schon manchmal gewundert was Klingon77 damit meinte als er sagte das es ewig dauern würde den Bot auseinander zu nehmen und nun weiß ich genau was er damit sagen wollte. Ich hab geschlagene 1,5 Stunden damit verbracht die beiden Servos zu tauschen!
Außerdem hab ich wieder etwas an der Platine rumgelötet. Diesmal aber nicht an dem Motortreibern \:D/ . Ich hab den 2ten Controller mit draufgesetzt (heißt die gesamte Grundschaltung mit auf die Platine gebracht und an die einzelnen Bauteile angeschlossen) sodass ich jetzt einen M32 für die Lageerkennung (Beschleunigungssensoren und Gyros auswerten) und einen M32 für die Komunikation, die Servoansteuerung, die Motorsteuerung und (neu) zur Ansteuerung eines LCDs habe (vor einiger Zeit hab ich günstig ein kleines 16x2 ergattern können). Die beiden Controller sind über die jeweiligen Hardware-UART verbunden und die Funkstrecke wird dann per Software-UART vom neuen Controller angesprochen.
Im Anhang gibts auch Bilder von der Platine. Der Kabelsalat ist aber noch nicht so schlimm wie es aussieht. Es ist tatsächlich etwas besser geworden nachdem ich den 2ten Controller draufgepackt habe. Aber viel sollte ich nicht mehr anbauen (ist auch gar kein Platz mehr auf der Platinenoberseite übrig).
Gruß
hi,
freut mich, daß es nun weitergeht.
Da hast Du mit 1,5 Stunden zum wechseln beider Servos gut in der Zeit gelegen :mrgreen:
Es sind ja auch einige Teile, die "zusammengefrickelt" werden wollen.
Sind diese nun stärker als die ursprünglich verbauten?
Hoffentlich halten sie; sind ja immerhin nicht ganz 500 Gramm, welche am Hebel in Schwingung versetzt werden wollen.
Der "Drahtverhau" sieht erschreckend aus :-b
Da ich aber ansonsten auch nur mit Streifenraster arbeite kenne ich das Problem und weis, daß es nur "halb so schlimm ist".
Von oben ist die Platine TOP!
wirklich sehr dicht gepackt.
Reicht den der Platz zwischen Platinenunterseite und Akku/Streben noch für die Kabel?
Den hatte ich ja nicht soooo üppig bemessen, weil ich immer von einer geätzten Platine ausging.
Wenn es eng werden sollte kann ich Dir auch einen neuen Satz Abstandshülsen drehen, welche etwas länger sind.
Evtl. könnte man mit einem zweiten Satz Hülsen und langen Schrauben ein zweites Platinen-Stockwerk einziehen?
Sag mir einfach Bescheid, wenn Du was benötigst.
zuversichtliche Grüße,
Klingon77
hi Murdoc_mm,
sieht doch - zumindest von der Oberseite - super aus. Über die Verdrahtung unten kann man streiten, aber wenn's funktioniert - was soll's.
Hab nur ein wenig Bedenken wegen der Lage der Sensoren/Analogschaltung (OP's) in relativer Nähe zu den H-Brücken bezüglich irgenwelcher Einstreungen, wenn die Motoren mal richtig Saft ziehen.
Dann müsste man den Analogteil incl. Sensoren vielleicht räumlich etwas entfernen und / oder kapseln.
Viel Erfolg beim Test
mausi_mick
Würde mir ja auch besser gefallen aber ist eben leichter gesagt als getan.Zitat:
Zitat von mausi_mick
Die momentane Position hat auch den Vorteil das die Beschleunigungssensoren und die Gyros (ungefähr) genau in der Mitte von der Platine sind.
Gruß
Die Motortreiber wären am besten als kleine Zusatzplatine direkt in der Nähe der Motoren aufgehoben... wenn man es geschickt macht, ist das doch bestimmt direkt unter dem Motor
Bild hier
machbar. Platine waagerecht auf der Querstrebe, Treiberchip an die senkrechte Strebe montiert, die gleichzeitig Kühlkörper ist...
So hat man die Störquellen weit weg von der Elektronik, und mehr Platz auf der Hauptplatine. Und da die Drehzahlmessung ebenfalls dort unten sitzt, könnte man gleich nen Zweitcontroller mit einbauen, der die komplette Geschwindigkeitsregelung übernimmt und vom Master nur noch die Sollgeschwindigkeit übergeben bekommt. So habe ich das bei meinem Roboter gelöst. Ich bevorzuge bei dieser Bot-Größe eine modular aufgebaute Elektronik. Das ist vor allem sehr praktisch, wenn man -wie du beim MW- noch keinen endgültigen Plan hat und immer wieder erweitert und umbaut. Wenn irgendwas groß verändert werden soll, macht man einfach ne neue Teilplatine, statt erst lange auszulöten, um Platz zu machen.
Hallo Murdoc_mm,
hechel, lechz, schnief - - - ganz hungrig bin ich auf Neuigkeiten zum Fortgang Deiner Arbeiten. Gibt es Fortschritte? . . . Ärger ? Pannen ? Ich bin sicher, nicht nur ich alleine bin neugierig. Bitte gib dem neuheitshungrigen Volk Futter.
Danke ! . . . und viel Erfolg für Dich (und alle Anderen und mich).
hi,
bin auch schon fast verhungert... :cry:
möchte Dich aber auch nicht unter "Druck" setzen :oops:
liebe Grüße,
Klingon77
Leider müsst ihr euch noch gedulden was Fortschritte angeht. Aber ich bin dran und es geht vorwärts (wenn auch gaaaaaaanz langsam).Zitat:
Zitat von oberallgeier
Gruß
Ach, das Tempo ist nicht kritisch. Wenn nur die Richtung stimmt. Und Du sagst ja, dass die stimmt.
Ich bin mit meinem kleinen Roboterprojekt fast ein Jahr zugange gewesen (einschliesslich Elektronik und C lernen - und Regelungstechnik und so wieder auffrischen) - aber nun läufts :).
Viel Erfolg
hi,Zitat:
Zitat von Murdoc_mm
es geht voran und die Richtung stimmt auch \:D/
Was will man also mehr?
Freue mich mit Dir, daß das Projekt noch Spass macht O:)
Das es keine leichte Aufgabe ist, welche in Rekordzeit gelöst werden kann ist selbstverständlich.
Zwischenzeitlich hatte ich schon die Befürchtung, daß Du "aufgesteckt" hast.
liebe Grüße,
Klingon77
http://www.crunchgear.com/2008/09/30...-action-video/ kennt ihr schon?
Deshalb hab ich gefragt.
1Rad->Monowheel ist meine Logik und ich d8te es passt hier rein, aber kann mir schon vorstellen, was du mit 'echtem' MV meinst.
Ich denke eine ganz gute Def. kann man über den Schwerpunkt machen (jeweils von der Seite aus gesehen): Ist der Schwerpunkt (also Antriebe, Akkus, Elektronik,...) innerhalb des Rades ist es ein Mono-Wheel wie ich es (versuche zu) bauen und ist der Schwerpunkt außerhalb des Rades ist es eher ein Einrad. Beide gehören aber unter die gleiche Kategorie: "Ein Rad" (Roboter-Typen)Zitat:
Zitat von ähM_Key
Der Ballbot (ist das der Unibot?) würde dann z.B. zu Einrad zählen.
Gruß
is vielleicht auch ganz interessant der link:
nen monowheel von murata
und heir noch ein video
wie weit is das projekt eigentlich?? fährts schon ?
Hi,
so, endlich gings bei mir mal wieder etwas weiter. Hab die letzten paar Wochen ein wenig Zeit freischaufeln können und die Software vorran gebracht. Leider flieg ich bald nach Hause \:D/ in meinen langersehnten Urlaub und bin somit 1000Km vom Bot entfernt aber nächstes Jahr gehts dann mit neuer Kraft weiter. (Nur falls ihr euch wundert :-s : Ja, ich hab ziemlich lange frei (einen ganzen Monat um genau zu sein) aber das kommt weil ich in der Autoindustrie arbeite --> den Urlaub muss man mit einen fröhlichen und einem sehr besorgten Auge sehen.)
Nun aber zur Software: ich hab den Software-UART zum laufen gebracht und durchgetestet --> funzt wunderbar. Allerdings gefiel mir die Auswertung nicht besonders, da der USART nicht mit IsCharWaiting() arbeiten kann und so immer Zeichen verloren gehen wenn man nicht die ganze Zeit mit Inkey() abfragt oder mit Waitkey() wartet. Beides ist aber totaler Mist ](*,) da der Controller dann nichts anderes mehr machen kann. Also nach ner Lösung gesucht und gefunden: den USART auf ein Interrupt legen. Dazu muss Hardwaremäßig der USART-Input-Pin auf Int0 oder Int1 gelegt werden. Im Programm wird dann jedes mal wenn ein neues Zeichen ankommt in den Interrupt gesprungen und dieses kann dann dort weiter verarbeitet oder erstmal zwichengespeichert werden. Beachten muss man nur das das erste Zeichen schrott ist.
Damit hab ich mich die letzten Tage rumgeärgert. Die ganze Sache hat sich nämlich etwas gewehrt und mir viel viel Sucherei im Netz beschert. Am Ende wars nur das ich die Close #-Anweisungen (müssen für den USART gesetzt werden) vor der Interrupt-Routine stehen hatte und das Bascom nicht so richtig gefiel #-o . Aber jetzt funzt es wunderbar.
Nächstes Jahr gehts dann direkt mit den ersten trockenen Fahrtests los (Daumen gedrückt halten \:D/ ) und wenn die gut laufen wird der Bot seinen ersten richtigen Auslauf haben.
So, das wars erstmal; entschuldigt die langen Wartezeiten aber es kann nur besser werden.
Gruß
Hallo
Kennen wir eigentlich schon dieses Video:
Bild hier
http://de.youtube.com/watch?v=ktD-SN3C4h4
Vermutlich nicht weil ich bisher bei "Seekrank" nicht an Monowheels dachte. :)
Gruß
mic
Zitat:
Zitat von Murdoc_mm
hi Murdoc_mm,
ich hatte schon befürchtet das Projekt hätte sich "totgelaufen" und Du hättest das Interesse daran verloren :cry:
Ich wollte Dich auch nicht mit ständigen "Anfragen" nerven oder drängen :oops:
Um so mehr freue ich mich nun, daß es vorangeht und warte gespannt auf die ersten Test´s \:D/
@radbruch:
Ein ähnliches Projekt mit einem überbreiten "Reifen" und "selbstzentrierender" Konstruktion lief hier schon mal im Forum.
Kann auch sein, daß ich lediglich eine Anfrage bezüglich einiger Teile hatte; ist schon etwas her.
Diese Konstruktion hat auf jeden Fall schon was. Die große Diskussion bezüglich des Gleichgewichts und der Lenkung hätte sich damit fast vermeiden lassen.
Interessanter finde ich aber Murdoc_mm´s Variante.
Die Herausforderung ist größer und dem heutigen Stand der Technik eher entsprechend.
liebe Grüße und ein frohes Fest allen "Mono-Wheel´ern" wünscht,
Klingon77
Hallo alle miteinander,
zuerst die Enttäuschung: nein, es fährt noch nicht.
Ich bin zwar ganz gut vorangekommen aber ich hänge mal wieder. Und zwar bei der Interrupt-UART-Lösung. Da hat sich folgendes Problem ergeben: Es wird in die ISR von Int0 gesprungen, alles wunderbar abgearbeitet, wieder rausgesprungen und weils so schön wahr gleich wieder reingesprungen. Dabei kommt dann das Hauptprogramm "etwas" kurz.
Der Grund für dieses fröhliche Springen ist glaube ich Hardware-bedingt. Drum mal eine Frage an euch: das RN-Funkmodul hängt ja direkt am Int0 und zieht den Pin dauerhaft auf 2,5V (<-- mit Multimeter gemessen) --> kann es sein das diese 2,5V ständig als Auslöser angesehen werden und somit immer in die ISR gesprungen wird? Und wenn ja, was kann ich dagegen tun?
Der Rest der Kommunikation steht übrigens --> und wenn ich dann auch mal wieder ins Hauptprogramm zurück komm kann ich die Daten auch nutzen. \:D/
Danke für die Hilfe,
Gruß
kenn mich da net so aus aber würde nen widerstand helfen?
2,5V ist wohl das Ergebnis der Messträgheit des Multimeters. Ich tipp auf ein schnellen Wechsel zwischen 0 und +5V mit ordenlicher Frequenz. Deswegen hüpft der auch so oft in deine INT Routine. Da kommt eben auch so viel an ;-)
Hallo alle miteinander,
ja mich gibts auch noch \:D/ und ich hab endlich mal wieder was zu berichten.
Leider hab ich immer noch nicht rausbekommen warum mein Programm so beharrlich den Dienst verweigert aber auch da bin ich noch dran. (Bin grad dabei mir auch so ein Selbstbau-Oszi zu basteln, hab aber dummerweise das vermaledeite gLCD kaputt gemacht und muss jetzt 3-4 Wochen auf ein neues aus Fernost warten.) Also bei der Großbaustelle gehts nicht voran, darum hab ich mal an nem anderen Ende angefangen (mehrere Baustellen mag ich zwar nicht so gerne (Multitasking ist nix für mich) aber ich möchte auch mal weiter kommen), drum gibts jetzt ein paar Ergebnisse von der Lageerkennung:
ACC's und Gyros funzen. Die Werte werden wunderbar eingelesen und warten jetzt darauf verarbeitet zu werden. Bei den Acc-werten hab ich schon ne kleine Vorregelung programmiert, da die Werte ziemlich schwanken (+- 25 von 255). Hab das ganze bis jetzt auf etwa +- 2 drücken können allerdings bin ich mir nicht sicher ob schnelle Änderungen davon betroffen sind. Ich hab mal ein kleines Video von den Werten gemacht aber leider ist die Quali nicht überragend: http://www.youtube.com/watch?v=48d_R0ncIbA (Man sieht (wenn man was sieht ](*,) ) wie die Werte alle schön mitgehen.)
Die Acc-Regelung nimmt momentan 32 Werte und errechnet den Mittelwert. Allerdings werden nur Werte verarbeitet die im Bereich von +- 3 zum vorhergehenden Wert liegen (also Spitzen werden nicht verarbeitet). Nun könnte es zwar auch passieren das sehr schnelle Änderungen erst als Spitzen erkannt werden und es somit eine kleine Zeitverzögerung gibt bis die schnelle Änderung erkannt wird aber darum mach ich mir jetzt keine Gedanken.
Ich hab auch schon mal ein bissel gespielt und geschaut ob ich den mit den Acc-werten den Bot in Balance halten kann aber das hat noch nicht wirklich geklappt. Ein Video gibts hier: http://www.youtube.com/watch?v=2b4sTebS06s
Die Regelung war da nur fix zusammengeschustert und viel zu grob aber man kann schon erkennen das es in die richtige Richtung geht.
Als nächstes werde ich dann versuchen die acc- und gyro-werte zu einem zu verrechnen und die Servos genauer zu steuern. (Und hoffentlich noch vor Weihnachten damit fertig zu werden 8-[ \:D/ )
Gruß
hi Murdoc_mm,
freut mich wirklich, daß es weitergeht \:D/
ich hatte schon befürchte, daß es vorbei ist, mit dem Mono-Wheel :cry:
Das Video mit den Gewichten zeigt deutlich, wie der Sensor arbeitet.
Wie machen sich die neuen Servo´s; halten die Lager?
Die Ausschläge sind, wie Du auch schreibst, noch etwas heftig.
Was sind ACC´s? Den Begriff kenne ich nicht.
liebe Grüße,
Klingon77
Na, aufgegeben wird erst bei Totalschaden und den werde ich natürlich tunlichst vermeiden. Aber viel schneller werd ich wohl nicht vorankommen (zu wenig Zeit, zu viel Arbeit).Zitat:
Zitat von Klingon77
Naja, die alten sind ja nur kaputt gegangen weil ich sie ständig an den Anschlag hab fahren lassen. Das muss ich auch noch ordentlich vermeiden da momentan nur ein Provisorium programmiert ist.Zitat:
Zitat von Klingon77
ACC ist glaube der englische Begriff für Beschleunigungssensoren. Ist auf jeden Fall viel kürzer.Zitat:
Zitat von Klingon77
Gruß
ACC = acceleration
hi Murdoc_mm,
keine Ahnung wie viel Ahnung du schon von dem ganzen Regelkram hast, ich habe mittlerweile etwas Erfahrung mit ACCs und Gyros angesammelt. Du musst auf jeden Fall das Integral der Gyrowerte (=Absolutwinkel) für deine Regelung verwenden. Accs taugen eigentlich nur etwas um den Drift der Gyros heraus zu bekommen.
Also: Integral des Gyros nutzen um den aktuellen Winkel zu erhalten, dann immer das Gyrointegral langsam in Richtung des ACC-Signals ziehen. Dadurch driftet das Gyro nicht mehr, trotzdem ist deine Regelung sehr schnell.
Ans Gyro muss ein Highpassfilter, an den ACC ein Lowpassfilter (beides am besten als Elektronikschaltung). Deine Regelung sollte dann mindestens mit 150 Hz laufen. Das kann man leicht testen indem man alle 1000 Cycles eine LED an- und ausschaltet und mit ner Stoppuhr die Zeit dazwischen misst.
Falls du noch mehr Hilfe brauchst kann ich dir ein paar mehr Infos geben. Meine Programme sind aber alle in BASCOM.
Ich kann Mathe zwar gut leiden aber mit Regeltechnik kannst du mich jagen. Liegt mir irgendwie nicht.Zitat:
Zitat von Willa
Es fängt schon an das ich nicht mal weiß was nen Integral ist.
Meine momentane "Auswertung" liefert mir etwa 10 Werte pro Sek. \:D/ (Ist aber kein bissel optimiert sondern erstmal Grundlagen(er)forschung und learning-by-doing)
--> also für Hilfe währe ich sehr dankbar, besonders in Bascom, da ich auch damit programmier.
Gruß
Ich gucke mal ob ich meine Regel-Beschreibung noch in meinen gesendeten emails finde, dann poste ich hier eine etwas ausführlichere Variante.
Auf jeden Fall wirst du etwas mit den ACCs und Gyros spielen müssen bis du gute Messwerte bekommst.
hier, gefunden:
Meine Filter sind Hardware und Software. Aber evtl. reicht es den Hoch- und den Tiefpass nur als Hardware auszuführen (Kondensator + Widerstand). Die Cutoff Frequenz könnte z.B. beim ACC 1-5Hz sein, beim Gyro 0,04 - 0,08 Hz oder etwas in der Größenordnung.
Die Mathematik ist im prinzip ziemlich einfach:
Als erstes mal misst du was dein Gyro in Ruhe als Pegel ausgibt. Diesen Wert nennen wir mal "Gyro_init". Den Wert ziehst du jetzt immer von deinem Gyro ab, so dass es null ausgibt wenn es in Ruhe ist, positive Werte bei linksdrehung und negative bei rechtsdrehung (oder andersrum). Dieser Wert geht als P-Anteil in deine Regelung ein.
Nun bildest du von dem Wert das Integral. Das heisst einfach dass du bei jedem Programmdurchlauf den Gyrowert addierst. Wenn sich nix bewegt, dann bleibt das null, wenn du es nach links drehst wird der Wert immer größer (summiert sich eben auf). Stoppst du nun die Drehung bleibt der Wert hoch. Erst wenn du es wieder zurück drehst geht es wieder auf null. Leider sind Gyros driftbehaftet, d.h. das Integral wird dir auch wenn du das Gyro nicht bewegst irgendwann (meist ziemlich schnell) abhauen, dein Integral rast ins "unendliche". Daran kannst du es hindern mit folgender einfachen Gleichung:
x_gyro_i ist das gyrointegral
Xacc ist der Wert direkt aus deinem Acc (wahrscheinlich musst du den hochskalieren damit er ungefähr zum gyrointegral passt, d.h. wenn der ACC 90° gekippt ist sollte er ungefähr einen Wert ausgeben der so groß ist wie das integral vom 90° gekippten gyro.) Das Ergebnis nennt sich dann "Komplementärfilter" (ein fieses Wort für eine einfache Sache), das funktioniert angeblich ähnlich gut wie ein Kalmanfilter (auch bei diesem Wort erstarrt man vor Ehrfurcht). Nur die richtigen Parameter zu finden ist bei ersterem wohl schwieriger.
'Driftkorrektur mit Hilfe des ACCs:
do
blablabla
If X_gyro_i > Xacc Then
X_gyro_i = X_gyro_i - 3
End If
If X_gyro_i < Xacc Then
X_gyro_i = X_gyro_i + 3
End If
blablabla
loop
So wird der integral-wert ständig dem acc nachgeführt. Man erhält die Absolutgenauigkeit eines ACCs gepaart mit der schnellen Reaktion eines Gyros. Die Werte richtig einzustellen ist ein bisschen Fummelei.
Hi Murdoc_mm,
schön, dass es bei Dir mit dem MW weiter geht,
das Video hat mir gut gefallen, gerade auch die sehr schnelle Reaktion der
Servos. Ich denke, dass der Ansatz von Willa gut ist.
Mir scheint nur - bei Deinem "statischen" Versuch - der Kippwinkel noch zu
gross zu sein. Du müsstest vielleicht mal überprüfen, welcher Neigungswinkel im Stand bei den Massenverhältnissen Gesamtmasse(13kg?) zu Pendelmasse( <=1kg ?) und
den Schwerpunkten (maximale Auslenkung Pendelschwerpunkt von Radlängsachse < 6cm) überhaupt beherrschbar ist.
In Fahrt ist das unkritischer, da dann ja mehr Stabilität durch die rotierenden Massen generiert wird.
Gruß
mausi_mick