Jyqd 6.3 + Rasenmäher BLDC

Hi ihr. ich hab einen Rasenroboter zerlegt (ferrex r800 smart) und die Elektronik durch einen Nano + 2,4GHz empfänger und 3 x BLDC controller ersetzt.
Der robbi läuft mittlerweile soweit.
Auch wenn die Controller noch paar Probleme machen.
Kennt von euch wer gute sensorlose BLDC controller die zum steuern mit nem arduino geeignet sind? Ich benutze 2x die JYQD 6.3E1 aber die sind von der steuersoftware her zu lahm...

Hat von Euch wer eventuell ne bessere idee?

Das der Nano (strong):

Das sind die JYQD 6.3 Treiber:

Hier mein Code:

int RXin1 = 10;  // RC Signal Input 1
int RXin2 = 11;  // RC Signal Input 2
int RXin3 = 12;  // RC Signal Input 3
int RXin4 = 13;  // RC Signal Input 4

int DirectionPin1 = 4;  // Forward / Reverse Pin 1 OUT
int DirectionPin2 = 7;  // Forward / Reverse Pin 2 OUT
int SpeedPin1 = 5;      // Speed control pin 1 analog OUT
int SpeedPin2 = 6;      // Speed control pin 2 analog OUT

int BladePin = 3;

int Value = 0;  // Value 0
int X;          // RC Signal 1 Wheeldrive left
int Y;          // RC Signal 2 Wheeldrive right
int Z;          //RC Signal 3 Cutting blade

int A;
int B;
int H;
int I;
int J;

void setup() {
  //Serial.begin(115200);  // Serial Monitor Start "For Test Only "
  pinMode(DirectionPin1, OUTPUT);
  pinMode(DirectionPin2, OUTPUT);
}

void loop() {
  X = pulseIn(RXin1, HIGH, 250000);
  if (X > 1500) { A = map(X, 1500, 1975, 25, 255);    digitalWrite(DirectionPin1, HIGH);    analogWrite(SpeedPin1, A);  }
  if (X < 1450) { A = map(X, 1450, 990, 25, 255);    digitalWrite(DirectionPin1, LOW);    analogWrite(SpeedPin1, A);  }
  if ((X > 1451) && (X < 1499)) {    A = 0;    analogWrite(SpeedPin1, A);    digitalWrite(DirectionPin1, LOW);  }
  
  Y = pulseIn(RXin2, HIGH, 250000);
  if (Y > 1500) { B = map(Y, 1500, 1975, 25, 255);    digitalWrite(DirectionPin2, HIGH);    analogWrite(SpeedPin2, B);  }
  if (Y < 1450) { B = map(Y, 1450, 990, 25, 255);    digitalWrite(DirectionPin2, LOW);    analogWrite(SpeedPin2, B);  }
  if ((Y > 1451) && (Y < 1499)) {    B = 0;    analogWrite(SpeedPin2, B);    digitalWrite(DirectionPin2, LOW);  }
  
  Z = pulseIn(RXin3, HIGH, 250000);
  if(Z > 1600){ analogWrite(BladePin, 200);}
  if(Z < 1599){ analogWrite(BladePin, 0);}
/*
  H = digitalRead(DirectionPin1);  Serial.print("Dir = ");  Serial.print(H);  Serial.print(" | ");  Serial.print(A);  Serial.print(" | ");  Serial.println(X);  // Show Signal Value " Test Only"
  I = digitalRead(DirectionPin2);  Serial.print("Dir = ");  Serial.print(I);  Serial.print(" | ");  Serial.print(B);  Serial.print(" | ");  Serial.println(Y);
  J = Serial.print(Z); Serial.print(" | "); Serial.println(BladePin);
*/
}

LG Trixi :blush:

Definiere "ein paar Probleme" und "zu lahm".

die treiber bzw Motoren drehen manchmal in die falsche richtung oder der anlauf funktioniert nicht richtig. und wenn man vollgas gibt dann brauch der treiber lange bis der motor auf drehzahl kommt. das dauert mir zu lange. bei modellbau brushless motoren is das nicht so. aber da sind auch andere drehzahlen am start...

Mit anderen Worten: der BL.Controller ist Müll. Warum nimmst du nicht einfach einen BL-Controller für RC-Autos mit > 250W ?

Weil diese regler nicht für langsame bzw kleine drehzahlen ausgelegt sind.

Du könntest zur Fehlereingrenzung an VR ein Poti anschließen, ob sich daraus eine Verbesserung ergibt. Möglicherweise ist 0,98 kHz PWM gerade außerhalb der Toleranz.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.