in der Tat, deine Servo-Bibliothek kenne ich nicht, ich kenne nur Servo-Steuerung direkt über pwm-Pins. Ich hatte hier nicht gelesen, dass du es anders machst, ohne pwm-Pins.
Druckbare Version
in der Tat, deine Servo-Bibliothek kenne ich nicht, ich kenne nur Servo-Steuerung direkt über pwm-Pins. Ich hatte hier nicht gelesen, dass du es anders machst, ohne pwm-Pins.
Das mit dem Bremsen und dem Nachlauf ist beim Dagu 5 sogar ohne Räder ein kleines Problem.
Der Encoder meldet immer noch ein paar Ticks, nachdem ich gestoppt habe.
Mit diesen Rädern:
Anhang 30897
und der Masse des Aufbaus wird der Nachlauf wohl mehr werden.
Da Beschleunigung und Encoderticks relativ linear sind, war meine Idee, daraus auszurechnen, wieviel früher ich bremsen muss, um
mit dem Nachlauf auf eine halbwegs genau Bremsung zu kommen.
Mit der finalen Masse des Rovers und Aufbaus, mit den Rädern dran und ein paar Messpunkten sollte die daraufgelegte Gerade der Abbremsung
berechenbar sein.
;-)
Oder hab ich da einen Denkfehler drin?
Die Reifen sehn meinen verdächtig ähnlich...:) Vermutlich aber sind meine etwas schwerer: ich hab Einlagen drin, weil sie mir sonst schon im RC-Modell zu weich waren.
Ist logisch, dass die Geschichte auch mit dem Füsschen in der Luft noch nachläuft: die Motoren alleine haben ja schon ne gewisse Massenträgheit. Und die laufen _vorher_ mit einigen hundert oder gar tausend U/min...
Bremskraft dynamisch berechnen? Hm, klingt schon cool, aber ob das so klappt? Bedenke die -kaum berechenbare, weil nie genau bekannte- Traktion der Reifen, bergauf-oder ab-Fahrt usw.
Da du aber Encoder hast, könntest du die Bremse recht leicht gezielt dosieren. Im einfachsten Falle immer nur ganz kurze Bremsimpulse rauf geben, wie bei nem ABS, so ungefähr.
Wäre auf Glatteis sicher gar keine üble Sache...
Die Option hab ich auch, auch ohne Encoder (ich wüsst nicht recht, wie ich die ran bekommen sollte, und verfolg es auch nicht allzu akribisch, da ich im Grunde nicht unbedingt welche brauch), denn ich hab ja noch ne MPU6050-Platine (Kombi aus dreiachsigem Beschleunigungsmesser und dreiachsigem Gyro) an Bord. Die hab ich bisher noch nie genutzt, das aber schon vor. Auf Asphalt nämlich konnte ich das Monster mit RC seinerzeit mühelos umkippen-voller Lenkeinschlag bei Höchstgeschwindigkeit ergibt ne Rolle.
Im RC-Modell hatte ich dann einfach nen übriggebliebenen Kreisel aus nem RC-Heli eingebaut, wenn die seitliche Neigung zu stark wurde, hat der einfach die Lenkung aufgemacht.
Auch konnt man damit selbst in grobem Gelände Vollgas schnurgerade fahren, und das mit _diesen_ Rädern.
Mit nem bissel Gebastel sollte sich der Beschleunigungssensor durchaus nutzen lassen, um optimal zu bremsen. Aber damit hab ich es nicht besonders eilig, immehin hab ich ja die Truck-Motoren drin jetzt, so schnell wird das Auto damit nicht (ich schätze, nich mehr als 8-10 km/h), das ist beherrschbar.
Da eher nutze ich das Gyroskop erstmal als Geradeausfahr-Regelung. Später dann vielleicht auch als Kippsicherung, mal gucken.
@MEgg:
für zielgerichtetes, punktgenaues Bremsen verwende ich einen PID-Controller. Der lässt sich so tunen, dass er bei Standardsituationen ohne Overshooting an der Zielstellung sanft gebremst ankommt, und bei Ausnahmesituationen aber auch bei Overshooting (viel Schwungmasse bei schneller steiler Bergabfahrt) notfalls oder bedarfsmäßig wieder ein Stückchen "zurückrudert".
Heute hab ich mal das Lenkservo justiert.
Es gibt drei Konstanten: Vollausschlag links, rechts, und Lenkung geradeaus.
Da bauartbedingt nur ein Teil des möglichen Servoweges genutzt wird, läuft das Servo sonst permanent in die Anschläge, das belastet Akku und Servo unnötig.
Somit kann ich nun später berechnete Lenkmanöver recht einfach auf die verfügbaren Wege mappen, und ganz easy proportional lenken.
Ausserdem habe ich die Akku-Überwachungs-Routine weiter ausgebaut (mal sehn, evtl. mach ich das heute noch weiter), es gibt jetzt ne Variable, die mehrere Akkuzustände (momentan voll, leer und was dazwischen) annehmen kann. Die will ich dann benutzen, um mir ne grafische Akku-Anzeige aufs Display zu malen. So, wie man es vom Handy kennt, halt ne kleine, mehr oder weniger gefüllte Batterie.
Das ist relativ simpel und macht schön was her.
In der vorherigen Version hatte ich die obere Displayzeile gewissermassen als Panel benutzt, um dort lauter so kleine Info-Symbole anzuzeigen, das will ich wieder so machen. Für weitere Ausgaben stehn ja immer noch drei Zeilen zur Verfügung,. das muss eben reichen.
Demnach besteht hier ein Unterschied zu meinem Rover: der war ursprünglich für Raupen ausgelegt.
Die Reifen nehme ich, wegen grösserer Bodenfreiheit.
Ich muss aber so lenken, wie wenn ich die Raupen drauf hätte: entweder links aus für Kurve nach links
oder rechts aus für Kurve nach rechts.
Die dritte Möglichkeit, rechts vor und links zurück für Linksdrehung quasi am Stand möchte ich auch noch probieren
(invers für Rechtsdrehung).
An deiner Stelle würde ich niemals so lenken. Wenn du eine Seite stoppst, kämpfen quasi alle vier Reifen gegeneinander.
Besser ist es, die innere nur zu drosseln, oder eben gleich andersrum laufen zu lassen.
Probier das aus, du wirst deutlich Kraft sparen.
Ich würd beides kombinieren: bei Marschfahrt ersteres, beim präzisen positionieren (oder rangieren) das zweite.
Mein Auto könnte ich auch noch wesentlich wendiger machen. Es ist nämlich symmetrisch aufgebaut, Vorder-und Hinterteil sind fast identisch, selbst die seitlichen Chassisteile sind das. Es wär sehr einfach, die Hinterachse auch auf Lenkung umzubauen, sogar mit eigenem Servo.
Vielleicht mach ich das mal, aber vorerst isses nicht nötig, wenn ich das Auto metergenau positionieren kann, bin ich zufrieden.
Und: im vorigen Beitrag hatte ich bissel gelogen: es sind nur zwei Konstanten: Vollausschlag nach links und rechts. Geradeausfahrt ist ne Variable, so kann ich die Lenkung nämlich per Software trimmen. Würde sogar rein hardwaremässig gehen, wenn ich den Hubschrauber-Kreisel wieder ins Lenkservo einschleifen würde. Dann bräuchte ich da nur das Geradeaus-Kommando hinzuschicken, und alles andere erledigt der Gyro alleine.
Aber ich _will_ das selber machen...
Gestern hab ich mir noch ein zweikanaliges Relaisboard beim Chinesen bestellt. Das soll auch an Bord gehen. Dadurch habe ich dann eine ganz bequeme Möglichkeit, das BEC auch per Software sicher zu deaktivieren, und damit Antrieb und Lenkung funktionslos zu bekommen. Das zweite Relais kann ich z.B. nutzen, um einen der beiden Spannungsregler ganz abzuschalten, und somit einige Stromfresser zu deaktivieren, wenn z.B. der Akku leer zu werden droht.
Sicher hätte man das auch mit nen paar geeigneten Transistoren leicht lösen können, aber ich hab sowas einfach nicht so gut drauf, dass ich mich sicher fühle. Und grade bei den Antrieben bin ich lieber etwas übervorsichtig, da ist schon bissel Bumms dahinter...
Das Platinchen kostet nicht mal nen Fünfer.
Weiterer Vorteil: ich kann nicht mehr vergessen, das BEC auszuschalten. Das ist mir nämlich schon mal passiert, weil es nen eigenen Schalter hat, und die LED's des Reglers komplett verdeckt sind.
Was mir als Neuling nicht klar ist: wenn ich auf einer Seite die Motoren stoppe, müssten bei den gestoppten Motoren doch kein Kraftaufwand notwendig sein,
sondern nur bei den weiterhin laufenden etwas mehr Kraftaufwand?
Nach meinem laienhaften Verständnis würde ein blosses Drosseln der einen Seite doch dann alle 4 Motoren belasten,
während das Stopppen einer Seite nur 2 belastet?
Demnach wäre meine Idee von eine Seite vorwärts und die andere Seite rückwärts jene Variante, die alle 4 Motoren am meisten belastet?
Aber vielleicht habe ich ein Faktum vergessen?
Gibt es ein Foto von Deinem Auto?
"Symmetrisch aufgebaut" klingt für mich jetzt so wie "Vorderer Teil und darangekoppelt hinterer Teil" oder so.
:-)
Ich hab diese Dinger:
http://www.amazon.de/gp/product/B014...ilpage_o04_s00
zwischen Stromversorgung und 4 Channel Motorcontroller Motorstromversorgung geschalten, da man beim Dagu 4CH Motor Controller die Motorstromversorgung nicht einschalten soll,
ohne vorher die 5V Versorgung des Controllers dranzuhängen (manche machen es gleichzeitig aber ich will sicher sein, dass hier nichts sein kann).
Geschalten wird das Relay von meiner Arduino Spider Karte.
Funktioniert wunderbar.
Späterer Plan ist, mit dem hier:
http://www.mttec.de/MTTEC-Lipo-Waech...ung-extra-laut
vorzuwarnen und dann z.B. eine Ladestation anzufahren, Raspberry kontrolliert runterzufahren, Motorcontroller abschalten
und via Spider Arduino Karte alles erst wieder einzuschalten, wenn der LiPo wieder geladen ist.
Aber davon bin ich noch weit entfernt.
:-)
Das Auto ist ein Tamiya Wild Dagger. Den gab es noch unter anderen Namen (da hatten nur die Felgen ne andere Farbe und die Karosserie war ne andere), Double Blaze und Dual Hunter, glaub ich.
Die Fahrwerke bestehen auf zwei kompletten (identischen) Antriebsblöcken (Motor, Getriebe, Differential), an die dann auch die Achsen montiert sind. Verbunden ist das Ganze mit den eigentlichen Chassisteilen, die sind auch identisch, nur eins ist halt um 180 Grad gedreht angebaut. Der einzige Unterschied zwischen vorn und hinten ist halt, dass hinten keine Lenkachse drin ist- aber da alles andere identisch ist, kann man die easy nachrüsten. Die beiden Antriebsblöcke sind auch um 180 Grad gedreht verbaut.
Auf das Teil hab ich dann lediglich ne Sperrholzplatte gesetzt, die die ganze Technik trägt. Am Auto selber hab ich praktisch nichts verändert, ausser das ich die 540er Standardmotoren gegen die Poison Truck-Motoren ausgetauscht habe (die laufen langsamer). Bilder gibts am Anfang dieses Threads schon. Den SD-Kartenslot hab ich auch ausgetauscht gegen einen, in den normale, grosse SD-Karten passen. Die Platte passt genau in die Karosserie und ist mit nem Schaumstoff-Streifen abgedichtet, somit ist die Technik recht gut geschützt.
Was deinen und das Lenken angeht: du kämpfst nicht gegen die Motoren, sondern gegen die Reibung der Reifen auf dem Untergrund.
Meine Reifen (die wohl die selben sein dürften) haben so viel Grip, dass das Auto im Stand gar nicht lenkt- da spricht der Servoschützer an!
Bereits aber bei langsamster Fahrt lenkt es einwandfrei...
Zwar wird dein Fahrzeug sicherlich bissel leichter sein (und somit evtl. nicht ganz so viel Grip haben), aber trotzdem muss die antreibende Seite die Reibung der stehenden Reifen überwinden. Die wäre weit niedriger, wenn die auch etwas drehen würden.
Stell dir mal ein 5-Kilo-Gewicht auf der kurveninneren Seite vor: wahrscheinlich würden dann die drehenden, kurvenäusseren Räder durchdrehen, und lenken würde gar nix...
Ich hab u.A. nen Modellpanzer in 1:16, da kann man das hervorragend sehen und hören: lenken im Stand geht so gut wie gar nicht, wenn man nicht beide Ketten ansteuert (das wiederum geht sehr leicht). Wenn die innere Kette aber auch nur minimal mit dreht, geht es bei weitem einfacher.
Da du jedes Rad einzeln antreibst, und auch noch Encoder hast, kannst du das sogar so richtig gut machen: gewünschten Kurvenradius nehmen, den nötigen Weg für jedes Rad berechnen und jeden Motor passend dazu ansteuern.
Schaut nett aus das Ding.
Vor allem hast Du mehr Platz drauf, als ich auf meinem Dagu 5.
:-)
Ok, ich werde wohl die Stallstrom-Überwachung entsprechend im Auge behalten müssen.
Ich hoffe, daß ich unter 5kg bleibe.
:-)
Das habe ich vor.
Momentan bin ich aber dabei, auszuloten, wo was hinkommt.
Der Platz ist eher klein.
Der Aufbau ist beim alten Rover mit dem Encoderproblem noch mal 13cm über den Rover hinaus hoch.
Ich werd wohl statt 9cm Bodenfreiheit eher mit 6cm vorlieb nehmen und dafür von Mitte Reifen bis Mitte Reifen einen Radstand von 17.5cm
nehmen statt den kürzeren 14.3cm Radstand bei 9cm clearance.
6cm Bodenfreiheit ist z.B. immer noch mehr als dieser hat:
http://www.tamiya.com/english/produc...twin/index.htm
Der hat nur 4.7cm.
:-)