Flymo1200 (Gardena R40Li) Brushless

gk

Member
Ich habe diesen Mäher für 50€ defekt gekauft.
Verwendet werden 2 eigene Boards (eines für den Due, eines für Stromversorgung), und 3 Brushless Treiber.

Den Bumper Hallsensor möchte ich wiederverwenden.
Ich habe das Hinterrad auf eine 50mm Lenkrolle getauscht, und fahre derzeit mit dem Hinterrad voraus(weil so fährt er in die Ladestation).
Um den Bumper zu verwenden, müsste er aber andersrum fahren, und zur Ladestation wieder verkehrt. Ich weiss nicht ob ich das schaffe.

Software verwende ich die testing von Bernard mit Gy87 auf dem 2.i2c.
Ich habe gestern den halben Tag mit Pid Einstellungen gespielt, bin aber noch nicht zufrieden.

Batterie war 5s 1p, den Batteriekasten habe ich weggeschnitten, und fahre mit 7s.

Zu den Einstellungen in Mower.cpp:
pinMode(pinMotorLeftFault, INPUT_PULLUP); // (bei allen3 Motoren auf Pullup geändert, früher hat man das gebraucht)
case ACT_MOTOR_LEFT: setRomeoMotor(pinMotorLeftDir, pinMotorLeftPWM, value); break;//(bei allen3 auf RomeoMotor geändert)
und natürlich die Odometrie Einstellungen.

Die Motortreiber und Motoren habe ich durch testen der verschiedenen Hallsensor Kombinationen am Labornetzteil probiert, und verwende die Kombi mit dem kleinsten Stromverbrauch(ich hoffe das ist so richtig).
Die Bl-Treiber haben 2 Lineare Spannungswandler drauf, und funktionieren mit 5v. Deshalb habe ich zur Sicherheit Schmitt Trigger für den Dir Pin und für das Odometrie-Signal verwendet. Enable habe ich nicht angeschlossen. Ich habe es testweise bei einem auf Gnd gelegt, was keinen Unterschied machte, der ist trotzdem gefahren. 5V nicht angeschlossen(erzeugt er selbst). Gnd am Pinheader nicht angeschlossen(macht das einen Groundloop? funktioniert auch ohne).
Der Standby Verbrauch ist mit 150mA doppelt so hoch wie die 75mA von meinem Ambrogio Umbau.
 
I try to understand your post with google translate but ????
3 brusless motor ?
Did you use all the code or only the imu gy87 parts ?
For PID you need to first have a perfect working odometry How many ticks per rev you can have on the motor ?
Test the odo 1 rev and 5 rev until find the perfect value
After in manual mode the pwm and rpm need to have correct value.
For example if set pwm to 180 and rpm to 25 .The forward manual need to show rpm at 25 in odo setting and pwm always < 180 in motor setting.
If these 2 value are not ok the manual mode don t work weĺl (stop not immediat or one wheel continue to run after stop )
After you need to deactivate the imu And you can set the Pid motor value.
 
Hello Bernard,
thanks for your answer. Maybe I´ll have some questions later. The last days were rainy outside and i didn´t try anything.

Yes 3 Motors, including the mowmotor.
I have used the Gy87 version from the testfile folder of your GitHub.

At first i had the imu deactivated, and tested the odometrie in the basement. Odometrie ticks are ~1200(tested with tape) and it was driving straight.
When trying it on the lawn, it didnt drive so straight anymore, and not a full revolution, so i changed the ticks to 1250, and pids to drive straight.
At last i activated the imu, and the line mowing works, but not so good like in your videos. But i have to say my lawn is a mess(too many bumps).
Pwm is set to 250, Rpm to 30. I need to check if it is better when i lower the value. The manual mode is working best to drive straight.
The bluetooth connection doesnt work so good on this one. I have also tried esp8266(changed the gps port again), and thought the esp is the reason.
 
Do you use the PCB1.3 ?
Pwm at 250 is not really good : the PID react by changing left or right wheel PWM speed but is normalise to 0/255


Code:
rightSpeed =  rightSpeed + motorRightPID.y ;
          leftSpeed =  leftSpeed - motorRightPID.y ;
        }
      }
    }

    if (rightSpeed > 255) rightSpeed = 255;
    if (leftSpeed > 255) leftSpeed = 255;
    if (rightSpeed < 0) rightSpeed = 0;
    if (leftSpeed < 0) leftSpeed = 0;[code]
[/code]


So deactivate the IMU to force soft use the motor PID.
Set RPM at Max
Adjust PWM to find the correct speed.
Now reduce the RPM until the mower speed reduce.

And Check the difference with your old value.
 
Oben