Jump to content
elektro-skateboard.de

Ein billiger Hobbyking ESC mit Arduino


Renchtaler

Empfohlene Beiträge

Moin.

Ich habe hier einen günstigen Hobbyking ESC und einen Arduino, den ich per akkubetriebenen Arduino und W-LAN ansteuere. Ist es möglich per Software eine regenerative Bremse hinzuzufügen? 
Bei dem ESC gibt es zwar eine Bremse, aber die haut mit 100% rein. Hier ein Link zum 

Externe Links nur für Mitglieder sichtbar


Gruß 

Renchtaler

Link zu diesem Kommentar
Auf anderen Seiten teilen

Klappt leider nicht da die "bremseigenschaften" auf dem Esc selber hinterlegt sind man müßte also den regles flashen. 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Müßte man testen also bei Benutzung der bremse den pwm Wert mit einer frequenz k. A. 30hz von bremsen auf Freilauf wechseln lassen. Dann sollte man mit der frequenz die bremsstärke regeln können. Interessantes Projekt schreib mal ob das alles so klappt. 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstmal mal muss ich meine Motorhalterung fertig bekommen^^ Die fräst gerade ein Bekannter von mir. Müsste ich mal tatsächlich mal testen. Ich kann das mal nächste Woche oder sogar noch diese Woche testen. Mal schauen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Der ESC empfängt PWM Signale von 1000 us bis 2000 us. Ich habe jetzt erstmal mir eine delay function gebastelt. Hier der erste Snippet.
 

/*
  ESC_Ramp
    Based on the Sweep example in the Servo library, this allow a ramp up and down of the ESC speed based on the Min and Max values.
    The Min and Max speed are defined so you can change them at one location and it will be used in the ramp as well.
*/
#include <ESC.h>

#define SPEED_MIN (1000) // Set the Minimum Speed in microseconds
#define SPEED_MAX (2000)// Set the Minimum Speed in microseconds                                           
ESC myESC (2, SPEED_MIN, SPEED_MAX, 500);// ESC_Name (ESC PIN, Minimum Value, Maximum Value, Default Speed, Arm Value)
int deadmen= 0, oESC, cruiseButton = 1, pot = A0, val, curval = 1000;// Variable for the speed sent to the ESC
void setup() {
  Serial.begin(9600);
  pinMode(LED_BUILTIN, OUTPUT);// LED Visual Output
  pinMode(pot, INPUT);
  pinMode(cruiseButton, INPUT);
  myESC.arm();// Send the Arm value so the ESC will be ready to take commands
  digitalWrite(LED_BUILTIN, HIGH);// LED High Once Armed
  delay (5000);// Wait for a while
  Serial.println("init finished");
}
void loop() {
  Serial.println(val, DEC);
  val = map(val, 800, 1023, 1000, 2000);//map potentiomater value (0-1024 to 1000-2000 micro seconds);
  if (digitalRead(deadmen) == LOW){
    if (digitalRead(cruiseButton) == LOW) {//check if cruise button is pressed, if it is dont modify the curval
      // do nothing to curval
    } 
    if (curval < val) {  //check if curval is less than potentiometers mapped value
      curval = curval + 8; // if it is less, add 5 to the curval
    } else if (curval > val) { //check if curval is more than potentiometers mapped value
      curval = curval - 10; //if it is more, remove 5 from the curval
    }else if (curval > 1000) { //if deadmans switch isnt turned and curval is more than 1000ms (throttle down value)
    curval = curval - 10; //remove 5 from curval to start slowing down if above condition is true
  }
  }
  Serial.println(curval);
  myESC.speed(curval); //write microseconds to esc
  delay(50); //delay the loop 50ms
}

 

bearbeitet von Renchtaler
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 3 weeks later...

Muss ich nicht die 30 Hz umrechnen? Oder als letzte Möglichkeit kann ich mir einen Vesc bei

Externe Links nur für Mitglieder sichtbar
holen. Weil ich verzweifle so langsam damit.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 3 months later...

Delay zu verwenden ist kriminell. Dafür sind die PWM Ausgänge da. Oder die fertigen Servo Routinen.

Ich habe ei en Teensy im BamBam Controller verwendet und arbeite mit PWM und drei Zeitgeber, die einen IRQ auslösen. Quasi ein RT System. 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Tritt dem Gespräch bei

Du kannst jetzt posten und dich später registrieren. Wenn du bereits einen Account hast kannst du dich hier anmelden.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...