AzuritBer firmware

@stockfish
What i want is that in the moment the motors need more power then in settings the mower has to stop and drive back and try again under angle.
I have only change the manual part to help you find the correct max power for motor.
So first by safety deactivate the mow motor.(Into setting mow)
Now into Manual Forward :with your hand ,brake the mower until the motor stop before slip on the ground .
Do this 4 or 5 time a different power max setting to see when the Wheel slip.
Go into console and you can see the Power value at the stop moment .( 42 for example It's here 80% of max power)
So if you read 42 you need to put into motor setting power max the value =100*42/80 = 52.5 W

By this way, in auto mode when the mower hit an obstacle the power increase and at 80% of the 52W the mower reverse exactly like if the bumper is hit.It's exactly the same process with the Mow motor and spirale.

If something block totaly the wheel the motor can't reverse ,the power increase at 53 W and here it's error, The mower stop and if battery setting is OK the PCB power OFF after idle time.
At this point you can hit the stop and this reset the Error.

If Something more hard append (or you set a value >75W) the motor driver itself stop all at 3A(Thank Jussip) and you need to power off all the PCB.

I have upload the change for camera orientation on Git
 
Hello
One question about plotting values.
I tried to plot motor values. The result are values up to max of 700.
What is the unit? Is it mA? Is the calculation like P= Battery voltage (V) multiplied by (plot value multiplied by Motor sense)?
For my example it will be roughly: P= 25V * (0. 7A*1.6) = 28W?
Thanks and best regards,
Bjoern
 
What is the unit? Is it mA?
It's the value that you can see into PFOD setting motor sense and yes it's mA
But we need to check the calibration on the motor sense to be sure and it's not really easy.
I can add a new plot with directly the power and millis so you can check all more easily .I also add millis when a power 80% is trig in console.

Can you check if you have not cross the wire when creating Island.
When the mower is Inside Island the setting perimeter mag need to be positive (OUTSIDE)
 
Can you check if you have not cross the wire when creating Island.
When the mower is Inside Island the setting perimeter mag need to be positive (OUTSIDE)

Hello
Yes, I checked this. My island wire is OK. The reason was that the guy wanted to store the auto calibration result of IMU and during this time he does not take care on wire.
What happens when your mower is reaching the wire in the time when you save manual to Eeprom? Is your mover see the wire also in this seconds? I think my mower is in this time to busy.
Best regards,
Bjoern
 
GY801 don't work with this code so you need to use only odometry and it's not really accurate on slope or with RFID tag use.
It's actualy GY88 fully tested for 2 years.
I have tested a GY87 but it's really more complex with PCB1.3.


BUT the most important to understand is the difference between GYRO/ACCEL and COMPASS
GY88,GY87 and GY801 use the same Compass -> HMC5883L (it read the magnetic field of Earth ) so the result is the same and Always very bad (except if you can put the module at 50 CM of the mower :eek:hmy: :eek:hmy: )
GY88,GY87 and GY521 use the same GYRO/ACCEL ->MPU6050 (they read weightlessness of the earth) and inside there is a DMP ,so the complex compute for YAW are not made by the DUE and very accurate on relative position.(Unfortunatly the YAW drift over the time)
GY801 use L3G4201D/ADXL345 but the DUE need to make the fusion between Accel and Gyro , and it's very complex. but no drift on yaw And for me it's less accurate than the MPU6050.

You can Also use a GY521 and a separate Compass -> HMC5883L locate inside a GPS module like BN880.
All this can work if you have the correct I2C adress

On GY87 the issue is that the I2C adress is fixed and same as RTC so you can't connect it on normal I2c PCB1.3 port , You need to Use I2C1 connector on PCB1.3
Also compass is hidden and the code need to be adjust.

Now on the software part:
Azurit 1.09 use a fusion of all the data CYRO/ACCEL/COMPASS infortunatly the compass destroy the accuracy but no drift over time with the compass
AzuritBer use only GYRO/ACCEL for a relative 1 or 2 degres accuracy ,but a drift occur over time and i need to read the compass each 10 or 20 minutes for absolute position.
 
store the auto calibration result of IMU
Normaly when the mower do this the Wheel are stop and it's small amount of data so it's not the issue.
Take a look at the console in developper mode the message " Due is overload" can't be more than 500ms when mowing, Always near 270/290 when using DHT22.
I see a bad 2.4 secondes in your console ???? and the mower can go over the wire at this moment.
If you activate the watchdog the mower reset immediatly if it occur again.And stop in the middle of the garden.

reaching the wire in the time when you save manual to Eeprom
Never do a save setting when the mower run, Always Stop before.(I need to force this into the soft)
You can see in the console that the loop is stop for more than 9 secondes during the eeprom writing.

When you tell me that the mower drive Inside a island ,did it stop alone after 3 secondes or not ? (It's the perimeter setting value)
 
When you tell me that the mower drive Inside a island ,did it stop alone after 3 secondes or not ? (It's the perimeter setting value)

Sorry. I can not answer this because the mower lost grip in the non gras but flower area of my wife. Thank God B)
I pressed the estop as fast as possible.
For me the situation looks like what I mean with "Crossing wire during manual saving"
Today he finished again 70min mowing without IMU without any problem. Yesterday 50min without error.
So in general I am absolut happy with your software.
Great work.
Best
Bjoern
 
You use the timer or start using piardu or pfod ?
If the timer is use and work correctly for 4 or 5 days the I2c bus is Ok.
Maybe your Gy88 have trouble over time
How many rfid tag did you use ?
 
very nice work
some tutorials/pictures to set it all up would be very nice :)
at the moment i am still waiting for some components to arrive for the final setup. only tested the bluetooth connection and two motors for now using regular 1.09 azurit
 
Hello
Some feedback of using the Raspberry Pi Zero.
Today my mower runs over 60min without problems. During run I started camera in low resolution.
I think the video has less fps than with Pi3 but for me it is enough.
The mower found all RFIDs. So I am happy with this power saving Pi Zero.
I only took a copy of SD card from normal Pi3 for the Zero.

Now I have a question: Where can I find information about the Battery Settings?
I think I have done some wrong setting on the factors :unsure:
I am using shop battery and shop charger. Can you help me with right battery settings?
Thanks and best regards,
Björn
 
Do you have multimeter? If not you can do this: plug charger and adjust charger factor so that voltage reading is 29.4v. Battery full charged battery w/o charger adjust battery voltage to 29.4v.

Code:
batFactor = 11.07;           // depend of the resistor divisor on board R12 and R13
  batChgFactor = 10.97;        // depend of the resistor divisor on board R9 and R10

Then theres charge current, when charging empty battery 24-25v or so, adjust factor to charger rated amp e.g. 3A. Charge current is not same when battery is almost full somewhere 28-> or so

Code:
batSenseFactor = 1.27;       // charge current conversion factor   - Empfindlichkeit nimmt mit ca. 39/V Vcc ab

This is best you can do w/o multimeter
 
Hello
Thanks for fast answer. I have multimeter. So I can also measure something.
But up to now I don't understand the parameter under Battery.
Thanks for your help.
Best,
Bjoern
 
Hi.
I also use a Pi Zero into the RL1000 and work perfectly for the moment (Tested 10 or15 time one hour mowing but reset each time)
Never tested ON for more than 1 day with the charging station.
I Also use a 3.5 inch screen connected on the Zero and work on the soft for a smaller resolution.


For the Battery,Normaly the factory setting are OK but the resistor on the PCB can change a little from one to other (Normaly 1% if i remember) and the DUE Adc also.
It's why it is possible to adjust perfectly the 3 factors for Bat Voltage,Charge Voltage,Sense Charge.
So with the multimeter connected on the battery (or like Jussip say) ,Go into PFOD setting Battery and set perfectly (+-0.1Volt) the value of battery voltage (Wait 1minute each time you change the factor to stabilise)

Here a PDF file to help on the menu.
Do not hesitate if you Don't understand Something or if i have made a mistake on file.

By.
Batteryhelper.pdf

Attachment: https://forum.ardumower.de/data/media/kunena/attachments/3545/Batteryhelper.pdf/
 
Zuletzt bearbeitet von einem Moderator:
Hello
Just only 3 question for today B)
1,) What means under Battery in PiArdumower the option "Monitor low Battery"?
2,) In Mower.cpp is a value under Battery called: batChargingCurrentMax. Default is =2 ( I guess it is Ampere) Is it a important value? I think the shop charger can load with 1,5A?
3.) What mean the first value in Arduremote Battery part: "Monitor Yes/No"? In your PDF you say "Manage Battery or not" What does this mean?

Thanks and good day
Bjoern
 
3 Arduremote Battery part: "Monitor Yes/No"?
It's only for test and Always set this value to YES.
If you set No the firmware Don't send the mower to charging station and mow until ??? (BMS stop battery).
The PCB is never PowerOff also on idle time or low bat voltage.
I can change the text in the PDF but how to explain easily ?

2 batChargingCurrentMax
It's actualy not use in the soft.

1 PiArdumower the option "Monitor low Battery"?
It's exactly the same as Monitor into Arduremote so your question 3

The Value usefull for the battery:
Charge current (for li/ion normaly 0.3C or 0.5C, C is the capacity ) ,but your pack is not a li/ion so i can't help you.
If you use the chargeur and pack from shop normaly i hope they work together .
Max charge Voltage ( For Li/Ion 7*4.2 normaly 29.4 Volt) it's the max voltage the charger can deliver
Min Voltage Also i can't help because i don't know your battery. but 24V certainly OK.

The firmware actualy start charging at the voltage you put into setting (for 5 hours max or stop if the charge current below is trigger)
Normaly all the voltage and current are managed by the chargeur and BMS ,so no issue if charger and battery pack are made to work together
 
Oben