@michelko
When mower don't drive straight it's certainly because the IMU is deactivate.
You can check this into setting IMU (YES or NO) or into error menu (IMU COMM)
Firmware automaticaly deactivate IMU if I2C reading take more than 30 ms and mower continue to run using odometry
When you reboot IMU is activate again.
In all case i have the same issue in my side inside my new dev tianchen TC-G158 (china
motor make so many electrical noise that Perimeter reading is not OK and IMU crash each time i start the 2 mow
motor).
The last DEV branch use a new PWM frequency and it solve the perimeter reading issue but not the IMU one.
Here some scope to understand:
Perimeter receiver with mow
motor OFF:
Perimeter receiver with mow
motor ON:
As you can see the signal detection is more complex when
motor is ON.
Now the PWM
motor frequency effect:
Red signal is the receiver and blue the mow PWM signal.
when mow
motor and signal are off the red signal is flat at 2.5V and blue flat at 0V and it's OK.
Now i test with signal OFF and PWM
motor at 3900 hertz :
The red signal show the noise with a peak to peak voltage near 1.522V
Now if i test with signal OFF and PWM
motor at 20000 hertz (the max that my L298N driver can work)
As you can see the noise is divide by 2 and only 0.671 V but always present.
When i have time i need to test to put a mow
motor from Robomow inside the chassis ,but i am pretty sure that it solve all the problem because there is EMF protection inside the
motor.
TEST WITH a different high in the chassis can be a good idea.