Open source Panasonic/Flyer eBike/Pedelec Controller

Diskutiere Open source Panasonic/Flyer eBike/Pedelec Controller im Controller/Regler, Fahrerinformation, Elektronik Forum im Bereich Diskussionen; So der 10€ Controller mit Hallsensoren funktioniert einwandfrei: Jetzt wäre schön wenn mir jemand die drei Pins vom Drehmoment Sensor erklären...
verlierer

verlierer

Mitglied seit
09.05.2012
Beiträge
64
Ort
bayern/thüringen
So der 10€ Controller mit Hallsensoren funktioniert einwandfrei:

Jetzt wäre schön wenn mir jemand die drei Pins vom Drehmoment Sensor erklären mag.

Das Roland und Dankeschön.
 
verlierer

verlierer

Mitglied seit
09.05.2012
Beiträge
64
Ort
bayern/thüringen
Tag 2, das Auslesen von dem Drehmomentsensor geht super einfach:
  • Blau an GND vom Arduino Nano
  • Weiß mit 20 kHz Rechteck tone(pin_Pwm,20000);
  • Gelb über Diode an zB 1 uF Kondensator und analogRead(A0);
Kompletter Code:
Code:
#define pin_Pwm 12
#define SUM 100

void setup() {
  pinMode(pin_Pwm, OUTPUT);
  tone(pin_Pwm,20000);
}

void loop()
{
  double fRead = 0;
  unsigned long iSum = 0;
  unsigned long iTimeSum = millis() + 500;
  while (millis() < iTimeSum)
  {
    iSum++;
    fRead += analogRead(A0);
  }
  fRead /= iSum;
  Serial.print(iSum); Serial.print("\t");Serial.println(fRead);
}
Ohne Belastung der Tretkurbel kommt dann dauerhaft:
Code:
3985    170.47
3985    170.45
3983    170.42
3993    170.42
Und wie im Video mit Hand gedrückt:
Code:
3984    172.25
3984    173.71
3992    173.09
3982    176.32
3982    184.17
3988    185.84
3983    186.37
3984    186.42
3982    186.62
3991    186.83
3983    186.95
3982    187.24
3989    187.10
3980    187.44
3981    185.07
3983    174.48
3992    173.07
3985    173.07
3982    173.53
3992    177.52
3983    182.25
3984    183.02
3983    183.84
3993    184.41
3983    184.59
3981    184.73
3981    176.16
3991    173.29
3982    173.04
3984    172.97
3991    172.30
3985    169.94
3984    169.86
3985    169.80
Das reicht mir erstmal völlig :)

Hier der Versuchsaufbau:

Jetzt möchte ich noch die pwm-Ansteuerung der China-Controllers heraus finden. Mit etwas Glück sind das einfach nur die 1000 Hz Servo Pwm aus dem Modellbau. Also analogWrite(pin_Motor,iSpeed);

das Roland
der kleine Physiker
 
RUBLIH

RUBLIH

Mitglied seit
01.08.2015
Beiträge
5.893
Vermutlich " Gleichrichten und etwas glätten.

Dann mit über einen OP mit entsprechendem Offset und Gain jagen ?
 
Zuletzt bearbeitet:
verlierer

verlierer

Mitglied seit
09.05.2012
Beiträge
64
Ort
bayern/thüringen
traurig dass die Leut heut nicht mehr lesen..

Hier nur die komplette Pedelec Ansteuerung:
Code:
#define pin_Pwm 12
#define pin_Mot 10
#define SUM 100

void setup() {
  Serial.begin(115200);
  pinMode(pin_Pwm, OUTPUT);
  tone(pin_Pwm,20000);
}

float fStop = 0;
int iSpeed = 0;
void loop()
{
  double fRead = 0;
  unsigned long iSum = 0;
  unsigned long iTimeSum = millis() + 500;
  while (millis() < iTimeSum)
  {
    iSum++;
    fRead += analogRead(A0);
  }
  fRead /= iSum;
  if (fStop)
  {
    iSpeed = fRead<(fStop+5) ? 0  : (255.0*(fRead-fStop))/10 ;
    AM
  }
  else if (millis()>5000)    fStop = fRead;

Serial.print(iSum); Serial.print(": ");Serial.print(fRead);Serial.print("\tstop: ");Serial.print(fStop);Serial.print("\tspeed: ");Serial.println(iSpeed);
}
Und hier nochmal der komplette Aufbau:

Morgen kann ich das Rad eigentlich schon wieder zusammenbauen :)
 
Hochsitzcola

Hochsitzcola

Mitglied seit
04.09.2009
Beiträge
2.000
Details E-Antrieb
NC FH154 mit EB306 und EB-Precontroller
Schöne Bastelei :)
Leider im Inhalt und im Titel etwas verwirrend, ich lese lieber einen Schaltplan als Youtube-Videos zu gucken. Ich denke, du wirst schnell feststellen, daß eine Ansteuerung nur über das Drehmomentsignal unbefriedigend ist. Aber mit dem Arduino Board kannst du ja beliebige "Intelligenz" in die Berechnung der Ansteuerspannung stecken.

Ein OP würde dem System auf jeden Fall auch gut tun, du hast ja nur wenige digits Auflösung.

Gruß
hochsitzcola
 
Zuletzt bearbeitet:
verlierer

verlierer

Mitglied seit
09.05.2012
Beiträge
64
Ort
bayern/thüringen
Heute erste kurze Fahrt :)
Könnte mal mit der Teileliste beginnen..

Die 40 Volt sind zu viel für den LM317 Linearregeler auf dem Motorcontroller. Wird kochend heiß und schaltet dann ab. Hab ihn heute ausgelötet und durch LM2596 Modul ersetzt: https://de.aliexpress.com/item/32611546949.html
Laut Datenblatt kann der maximal 45 Volt.
Eingestellt werden muss er auf 14 Volt.

Sowohl im Motor als im Display am Lenker hab ich einen Arduino Mini Pro verwendet. Ich empfehle die seltene Version bei der die I2C Pins A4 und A5 nicht dämlichst im Inneren liegen sondern an der einen Kopfseite. In der ATM328 Version aktuell hier zu bekommen: https://de.aliexpress.com/item/32978427914.html

Beide Arduinos kann ich bequem von aussen am Motor programmieren. Dazu braucht ihr USB-UART mit DTR pin. Das Ding mit USB Mini Buchse finde ich am bequemsten: https://de.aliexpress.com/item/32971767031.html

Die Verbindung per I2C klappt problemlos! Das Display agiert bei mir als Slave. Anstatt der zwei Pullup-Widerstände hab ich einfach noch ein kleines I2C Module ins Display gepackt. Temperatur und Feuchtigkeit. Im Motor wäre aber vielleicht ein 9-Axis Beschleunigungs/Neigungs/Kompass Modul nett. Wobei der Kompass wohl nicht funktionieren wird..

Diesen Motor Controller hab ich verbaut: https://de.aliexpress.com/item/32728993792.html
Übrigens immer über die Smartphone App einkaufen. Da gibt es immer kräftig Rabatte !

Hier der LM317 auf dem Controller:
Motor Controller LM317 to LM2596 .jpg


Da ich noch meine ganze Elektronik samt Display an die 5V hänge, könnte der kleine Linearregeler neben dem LM317 vielleicht auch zu heiß werden.

Zur Leistungsmessung hab ich einen 20A Hall Sensor in die positive Zuleitung vom Akku gehängt: US $1.79 |20A Bereich Stromsensormodul ACS712 Modul Für Arduino-in Integrierte Schaltungen aus Elektronische Bauelemente und Systeme bei Aliexpress.com | Alibaba Gruppe

Um den Drehmomentsensor auszulesen hab ich eine Diode, einen 0,1 uF Keramikkondensator und ein 220k Ohm Widerstand verwendet.

Für das Backlight vom Display muss ich noch einen smd p-ch Mosfet auf die kleine 6x6 pin lochrasterplatine im Display löten.
Als Display ein SPI 1,8" TFT: https://de.aliexpress.com/item/32418443556.html
Display.jpg

Wobei langsam die ePaper Displays bezahlbar werden: https://de.aliexpress.com/item/33011304701.html

Das original Display ist mit Heißkleber verschlossen. Also einfach das Ding für ein paar Minuten bei 100°C in den Umluftbackofen legen.
Das alte Display lässt sich mit zwei Pins von der alten Platine. Dann den linken Teil mit feiner Metallsäge absägen, so daß man alle 5 Tasten noch an den Arduino Mini hängen kann (todo).

Auf meinem Display oben zu sehen:

t = Drehmoment, s= Null-Drehmment
V= Spannung (noch zu eichen), A = Strom
i= pwm Controller, k = Geschwindigkeit in km/h
o= Motor An/Aus

Als Verbindungsstecker für die Arduio-Lochrasterplatine im Motor empfehle ich JSD 2,54mm Stecker: US $0.75 |JST XH2.54 XH 2,54mm Draht Kabel Anschluss 2/3/4/5/6/7/ 8/9/10/11/12/13 Pin Pitch Männlich Weiblich Steckdose 30 cm Draht länge 26AWG-in Steckverbinder aus Licht & Beleuchtung bei Aliexpress.com | Alibaba Gruppe
Es braucht für die vielen Kabel zwei 5 pin Stecker und zwei 6 Pin Stecker. Am Besten auch für die UART auf dem Arduino Mini..

Die 3pin Steckerbuchse für den Drehmomentsensor kann man aus der alten Platine auslöten.
Die andern alten Buchsen haben so 2mm Rasterabstand, die taugen für Lochrasterplatine nicht.

Wobei ich eigentlich keinem Empfehlen kann, die Platine selbst zu verdrahten..
Da sollten wir eher kleine Kickstarter Kampagne machen und dort ein Bastelkit mit fertigen Platinen für Motor und Display, sowie Stecker-Satz anbieten.

Wenn ich den Motor das nächste Mal aufmache, drehe ich wieder Video für Euch.

das Roland
Ideen immer zu mir :)
Ausreden woanders hin :-(
 
verlierer

verlierer

Mitglied seit
09.05.2012
Beiträge
64
Ort
bayern/thüringen
So ich bin wieder für ein bis zwei Monate weg. Bin aber ja eigentlich schon fertig und werde bei nächster Gelegenheit den Arduino code auf meinen GitHub account hochladen.

Das Roland und

Bin mir nicht mehr sicher ob sich eine eigene Lösung wirklich lohnt. Vielleicht besser einen Arduino mini nur nehmen um den Drehmomentsensor in ein an/aus für billigen E-Bike Controller zu übersetzen? Der muss dann halt irgendwo aussen dran.

Oder dieser interne Controller ist gar kompatibel ? US $47.48 29%OFF | TSDZ-2 Mid drive Motor Inner Controller Replacement Electric bicycle controller 250W/350W 500W motor conversion kit

Hab noch ein günstiges LCD Display entdeckt:
US $3.73 8%OFF | ShengYang 1pcs Lcd12864 12864-06D, 12864, LCD module, COG, with Chinese font, dot matrix screen, SPI interface
 
Thema:

Open source Panasonic/Flyer eBike/Pedelec Controller

Oben