Hallo,
wie ich in einem vorherigen Beitrag schon erzählt habe, möchte ich einen BLDC Motor per Arduino ansteuern. Da der Motor eigentlich für Ebikes gebaut wird, muss ich mit meinem Arduino den Hallsensor im Handdrehgriff simulieren. Dass habe ich über PWM gelöst. Soweit klar, aber der Motor dreht sich nicht gleichmäßig. Mal läuft er schneller, mal langsamer (er ruckelt). Die Spannung die vom Arduino kommt habe ich schon gemessen, die ist soweit konstant. Es muss also im Controller des BLDC-Motors irgendetwas unruhig laufen oder? Dachte vielleicht dass das PWM-Signal zu schnell ist oder so. Sollte ich mal einen DAC (Digital zu Analog - Wandler) probieren?
Das ist der einfache Arduino-Code um den Motor zu testen:
const int pwmPin = 9; // PWM Pin
int x = 100; // Gewünschter PWM-Wert
void setup() {
pinMode(pwmPin, OUTPUT); // Setzt den Digitalpin als Ausgang
Serial.begin(9600); // Startet die serielle Kommunikation
}
void loop() {
for (int i = 0; i <= x; i++) {
analogWrite(pwmPin, i); // Schreibt den PWM-Wert an den Pin
Serial.println(i); // Gibt den aktuellen Wert von i aus
delay(100); // Wartezeit für die schrittweise Erhöhung
}
analogWrite(pwmPin, x); // Hält den PWM-Wert konstant auf x
while(1); // Stoppt das Programm
}
Hallo,
wenn der Controller für den Motor einen PWM Eingang hat ist das ja ok. Wenn der Eingang für einen analoge Gleichspannung gedacht ist könnte das die Ursache sein. Wenn das Datenblatt des Controllers keine Auskunft gibt wird nur messen helfen. Was kommt an dem Handgriff genau raus ?
Normalerweise sind die "Gasgriffe" nur ein Hallsensor + Magnet und ein wenig Mechanik. Bei unseren beträgt die Ausgangsspannung 0,4 - 4,3V bei 5V Versorgungsspannung.
Ich würde vorschlagen die PWM über einen Tiefpass glätten. Dann hat man eine relativ brauchbare Analogspannung und dann sollte der Motor ruhig laufen.
Welche PWM Taktfrequenz des Arduino wird denn verwendet? Wegen Berechnung Tiefpass.
Edit: Ich Depp, oben ist ja der Sketch und der Pin. Also 490 Hz.
Also so:
Widerstand 4,7kOhm
Kondensator 10µF
Das gibt eine relativ brauchbare Spannung bei 0,05V Ripple und eine Reaktionszeit von 0 auf 90% von 0,11 Sekunden und 99% in rund 0,4 Sekunden.