Go Down

Topic: Steuerung für elektrischen Fahrradanhänger (Read 3361 times) previous topic - next topic

Kadjus

Hallo Arduino-Gemiende!

Ich bin neu hier im Forum und überhaupt im Thema Arduino.
Für ein etwas "komplizierteres" Projekt benötige ich einen µC und würde gern einen Arduino dazu verwenden.

Um es vorweg zu sagen: Ich habe etwas Erfahrung mit C++ und C# unter Windows. Einen µC hab ich auch mal in Assambler programmiert. Mit Arduino selbst habe ich aber noch Nichts gemacht.

Nun zu meinem Projekt:

Ich möchte einen elektrischen Schubanhänger für mein Fahrrad bauen, und benötige einen µC als Steuerung. Das ganze wird mit Sicherheit nicht legal, auch wenn ich veruschen werde die Grenzen eines Pedelecs einzuhalten.

Im Prinzip soll der µC den Fahrzustand und die Fahrerbefehle verarbeiten und eine Drehmomentvorgabe an den Antriebsregler weitergeben. Ich hab mir auch ein paar Gedanken zur jeweiligen Signalform gemacht.
Eingabeparameter sind:
- Geschwindigkeit, gemessen am Vorderrad, Hall-Sensor detektiert die 8 Speichen der Bremsscheibe, keine Drehrichtungserkennung (TTL, 8 Impulse Pro Umdrehung, max. 10 Umdrehungen Pro sekunde --> max. 80Hz; Genauigkeit min. 2%)
- Trittfrequenz mittels Sensortretlager, mit Drehrichtungserkennung (Sensor: Thun X-Cell RT; Genauigkeit min. 10%); ggf wird als Krönung das Drehmomentsignal auch ausgewertet.
- Raddrehzahl des Anhängers, mit Drehrichtungserkennung (2 der 3 Hall-Sensoren im Motor, 23 Polpaare --> 23 Impulse pro Umdrehung, max. 16 Umdrehungen Pro Sekunde --> max. 368Hz; Genauigkeit min. 2%)
- Bremsgriff-Schalter rechts und Links
- ECO-Schalter / Fahrmodus-Schalter (evtl Stufenschalter für mehrere Einstellungen)
- Verdrehwinkel zwischen Anhänger und Fahrrad (Analogwert; Zur Erkennug von engen Kurven, damit er das Fahrrad nicht umgeschoben wird)
- Blinker (links, rechts, aus, Warnblinker; bei Betrieb auf der Straße finde ich das sehr praktisch; vermutlich Wippschalter für L/R und Zusatzschalter für Warnblinker)
- evtl. Parameteränderung über Display
- evtl. Anfahrhilfe/Boostbutton, Daumengas, Daumenbremse
- evtl. Strom und Spannung der Batterie.

Die ganzen Signale soller er dann mit einer eingespeicherten Drehmomentkurve verfummeln. Dazu muss zwingend eine Schlupfregler realisiert werden, da der Antireb sonst auf Schotter und unebenem Untergrund schnell durchdreht. Die Reglerschleife sollte meines Erachtens mindestens alle 10ms laufen um eine vermnünftige Regelung zu erziehlen.
Nebenbei soll er noch die Lichtanlage (zumindest hinten) steuern. Also Bremslicht, Standlicht (z.B. PWM-gedimmtes Bremslicht), Blinker, Positionslicht (z.B. PWM-gedimmte Blinker, um die Breite des Fahrzeugs anzuzeigen).
Wenn der µC dann noch Zeit hat würde ich gern mindestens die Spannung der Batterie auswerten und nebst anderer Daten auf einem Display darstellen.

Ist ein Arduino dafür geeignet? Welcher? (ich habe noch keine Hardware, bin also völlig frei)
Ich habe mir auch überlegt, dass es evtl. Sinn macht einen zweiten µC einzusetzten um zumindest einen Teil der Eingänge vorzuverarbeiten.
Soweit ich mich eingelesen habe, gibt es ja bereits einige Libraries für Encoder und Regler. Bei den Encodern interessiert mich aber nicht die Position sondern nur die Geschwindigkeit. Ob als Regler ein PID Sinn macht, oder eine einfachere Variante evtl. effektiver ist, muss ich dann ausprobieren.

Größte Herausforderung sehe ich darin, die ganzen Auswertungen und Berechnungen parallel laufen zu lassen und die Zeitkritischen Schleifen trotzdem richtig ausgeführt werden.

Für jeden Tipp, Hinweis und überhaupt für jede Hilfe wäre ich dankbar!
Daher schon mal vielen Dank im Voraus ;-)

Grüße
Kadjus

o_lampe

#1
Sep 28, 2012, 07:25 pm Last Edit: Sep 28, 2012, 07:32 pm by o_lampe Reason: 1
Warum mit Kanonen nach Spatzen schiessen? Wieviele Kabel und Stecker willst du denn jedesmal lösen wenn du den Hänger nicht brauchst?
Nimm dir ein fertiges e-bike Umrüstkit mit Gasgriff und du bist fertig.
Die Räder gibts in jeder Grösse und mit Leistungen bis 1000W.
Wenn die Räder durchdrehen,  nimmst du einfach Gas weg.

Gefährlich wirds, wenn der Anhänger oberhalb des Gepäckträgers angekuppelt wird.
Besser wäre ein Hänger, der seine Kupplung an der Hinterradnabe hat.
Am einfachsten wäre ein Einrad-Anhänger, siehe Foto.
Es besteht aber immer die Chance, daß sich der Antrieb aufschaukelt..
It's not my fault when my Posts are full of Errors. This stupid autocorrection from my browser is set up for german grammar.

Kadjus

Ich plane für das Projekt einen Einrad-Anhänger xD (BOB IBEX)
Ein verfügbares Ebike oder Umrüstkit möchte ich nicht verwenden. Ich möchte eine höhere Rekuperation ermöglichen, was die ganzen Teile einfach nicht können. Außerdem hab ich bis jetzt noch kein serienmäßiges Ebike gefunden, wo ich mich freiwillig draufsetzen würde. Für mich allein reichen schon keine 200/180er Scheibenbremsen vorn/hinten. Wenn dann auch noch das Zusatzgewicht vom Ebike und Gepäck dazukommt wirds echt gefährlich. Die Scheiben ereichen bei mir recht schnell eine hellblaue Anlassfarbe (ca. 320°C) und der Druckpunkt wird sehr weich, was ich äußerst unangenehm finde, und das bei nur 50m Höhenunterschid bei 15% Gefälle. Darum möchte ich für Langstrecken bzw. Fahrradurlaub im Gebirge einen Anhänger haben, der mitbremsen kann, zumal das im hügeligen Gelände deutlich die Reichweite erhöht.
Beim An- und Abkoppeln des Anhängers muss ich dann auch nur ein Stecker bedienen, da ich natürlich alles Kabel auf einen Stecker zusammenführe. Evtl. mach ich auch einen kleine Anschlussbox dazu, die könnte auf dem Lenker sitzen und auch ein Display enthalten.

Wenn der Antrieb sich aufschaukelt ist eindeutig der Regler nicht richtig eingestellt. Ich bin recht zuversichtlich, das ich den Regler hinbekomme.

uwefed

Hab ich das richtig verstanden daß Du an deinem Fahrrad ( Mountinbike) eine Anhänger ankuppeln willst der Dir das Rad schiebt? sozusagen als Außenbordmotor?
Grüße Uwe

Marcus W

Ich denke, genau das hat er vor... Wobei ich mir nicht vorstellen kann, wie das einen stabilen Vortrieb gewährleisten soll, da der Anhänger stets versuchen wird, nach rechts oder links auszubrechen. Stichwort "Weg des geringsten Widerstandes"...

Kadjus

So wirklich instabil wird der Anhänger eigentlich nich, da der nur direkt gegen seine Gelenkachse drücken kann. Es gibt auch genug Videos, wo sowas schon gezeigt wird und zwar mit richtig viel Antirebsleistung und dauerhaft durchdrehendem Rad.

o_lampe

Mein Liegerad fährt 65km/h und ich habe nur V-Brakes  8)
Ich hatte schon einen 3,6kW Controller mit programmierbarer Reku, da blieben keine Wünsche offen. Bei zu hoher Reku würde das Anhängerrad ohnehin anfangen zu blockieren. Wird sich anfühlen, wie ABS-Vollbremsung mit dem Auto. Schöner Nebeneffekt wäre dann aber eine Stabilisierung der Fahrtrichtung. Solange, bis dein Hinterrad mal in der Bergab-Kurve einen Luftsprung macht und der Hänger das ganze Gespann rumreisst.
BTW: Mein Controller war auf 90A Strombegrenzung programmiert. Das war kein Problem beim Beschleunigen, aber laden möchte ich meine Akkus mit dem Strom nicht...


It's not my fault when my Posts are full of Errors. This stupid autocorrection from my browser is set up for german grammar.

Kadjus

V-Brakes sind von der Energieaufnahme echt gut, aber die Packen nicht so gut zu, wie ich mir das vorstelle ;)
Außerdem sieht ne 200er scheibe einfach geil aus un die Leute gucken dumm, wenn man dampfenden Scheiben den Berg runterkommt (was mir bei nasser Straße schon passiert ist).
Das mit den Kurven ist sowohl antreibend, als auch bremsend ein Problem. Darum möchte ich auch den Winkel zwischen Fahrrad und Anhänger messen und dann entsprechend das Drehmoment reduzieren.
Für meinen Antrieb hab ich mir nen Motor mit max. 1,5kW ausgeguckt, also ca. 30A Strom. Dann krig ich schätzungsweise 1.2kW mech. Leistung raus. Bei Rekuperation dürften vllt noch 20A zurückkommen. Den Akku will ich so auslegen, das er ca. 25A aufnehmen kann. Bei den Energiezellen brauch ich daher mindestens 25A-30Ah, was sich zu ca. 1,5kWh multipliziert. Mal schaun, ob das noch mit einer "sicheren" Chemie vernünfitg geht, damit mir das Teil nicht hochgeht, wenns ne stunde in der Sonne steht.

An dieser Stelle würde ich gern auf das eigentliche Thema Arduino zurückkommen. Kann mir jemand Tipps geben, welcher da geeignet ist, oder ggf. mehrere sinnvoll sind? Empfehlungen für Libraries und Programmierhinweise nehme ich natürlich auch gern entgegen ;)

sth77


An dieser Stelle würde ich gern auf das eigentliche Thema Arduino zurückkommen. Kann mir jemand Tipps geben, welcher da geeignet ist, oder ggf. mehrere sinnvoll sind? Empfehlungen für Libraries und Programmierhinweise nehme ich natürlich auch gern entgegen ;)

Leistungs- und ausstattungstechnisch unterscheiden sich die (bisherigen) Arduinos gar nicht so stark. Gut und günstig ist der Leonardo, der aber genausowenig steckbrett- und lochrasterkompatibel wie der Uno oder der noch ältere Duemilanove ist. Dann gibt es eine ganze Reihe von Nachbauten, die zwei parallele Stiftleisten haben, die dann auch besser passen (z.B. Boarduino). Oder man greift zum Mini (Achtung: zusätzlicher Programmieradapter nötig!) oder eben zum Arduino Nano (vergleichsweise teuer!).
Mir hat es derzeit das Adafruit Atmega32u4 Breakout Board+ angetan, da kann man mit einem In-System-Programmer auch den Leonardo-Bootloader flashen, mehr dazu im letzten Eintrag meines Blogs, ist in der Signatur verlinkt...
Mein Arduino-Blog: http://www.sth77.de/ - letzter Eintrag: Diamex-ISP in der aktuellen Arduino-IDE 1.6.4

o_lampe

Es gibt auch ATmega-controller mit gyroscopischen und Beschleunigungs-Sensoren onboard. Diese werden normalerweise für Quadrocopter verwendet, aber damit kannst du schon einen grossenTeil deiner Neigungs/Beschleunigungsmessungen erledigen.
http://www.hobbyking.com/hobbyking/store/__21977__HobbyKing_Multi_Rotor_Control_Board_V3_0_Atmega328_PA_.html
Oder einen der vielen MultiWii controller...

Letztendlich sind diese Plattformen aber nur Teillösung und es wird einen gewaltigen Drahtverhau geben. Das macht die Sache nicht gerade sicherer. Als Prototyp mag es noch gehen, aber besser wäre eine eigene Platine zu entwerfen. ( z.B. mit www.fritzing.org )
It's not my fault when my Posts are full of Errors. This stupid autocorrection from my browser is set up for german grammar.

Kadjus

Die alternativen zum Arduino sehen auch ganz bruachbar aus. Vor Allem ein Beschleunigungsaufnehmer könnte die Referenzdrehzahl am Vorderrad sparen, wenn man die Beschleunigung ausrechend genau zur Geschwindigkeit integrieren kann.
Bei den Vielen Sensoren, die ich so auswerten will/muss brauch ich meines Erachtens ne ganze Menge Interrupts. Zumindest mal 3 für die Drehzahlsensoren, oder gibts da elegante Möglichkeiten, das zu umgehen?
Wenn es da mit den Ressourcen eng wird, habe ich auch die Möglichkeit am Fahrrad selbst einen Controller zu installieren, der die Sensoren vom Fahrrad einlesen und über einen Bus zur Verfügung stellen könnte. Bei bidirektionaler Bus-Verbindung könnte der auch gleich ein Display ansteuern. Der Controller am Hänger müsste dann nur noch wenige Sensoren auswerten, und könnte sich sonst auf die Antriebsregelung konzentrieren.

Bei der Verdrahtung wollt ich sowieso die Freiluft-Variante vermeiden. Ich hab ein Talent zur Erzeugung von Kabelbrüchen. ;) Entsprechende Platinen kann mein Vater als alter Hobby-Elektroniker auch ätzen.
Ich brauch sowieso ein Board, wo die MOSFETs zur Ansteuerung der Beleuchtung draufsitzen.

uwefed

Das mit dem Beschleunigungsmesser würd ich nicht unproblematisch sehen. Die beschleunigung ändert sich nicht nur bei einer Geschwindigkeitsänderung sondern auch beim einfedern, bei der Kurvenfahrt und bei Unebenheiten der Straße. Ich würde auf eine Drehszalmessung nicht verzichten. 
Grüße Uwe

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy