Mower will not stop in charging station in auto

alda

Member
I have a following problem - When mower is running in auto mode ( 3 sonars on, bumpers on ) and batery voltage will drop under set value, mower will track into charging station. But when he reach a station, I can hear, that mower stopped mow motor, but after few seconds mower will start reverse movement, start again mow motor and continue mowing. Is problem that sonar is on or bumper ? I also made a video :
https://youtu.be/Ac26aULbJ2o
Alex
 
Let me check tomorrow, when mower is discharged, becuase now I tested function Track in Pfod and it was ok - first PTRK and in station STAT.

One additional question - if mower will reach a perimeter, reverse time is defined by perimeteroutrevtime ? I tried to change from 2000 to 4000, but no difference.

Alex
 
Its defined by perimeteroutrevtime or perimeterInside whatever happend first. So when getting back to perimeterInside, it will go to periOutRoll i think.

Regards,

Chris
 
HI.
Holorate say :
perimeteroutrevtime or perimeterInside whatever happend firs
It's exactly that.

In the code you can find this here


Code:
case STATE_PERI_OUT_REV: 
      checkPerimeterBoundary();      
     // if (millis() >= stateEndTime) setNextState(STATE_PERI_OUT_ROLL, rollDir);   
      if (perimeterInside || (millis() >= stateEndTime)) setNextState (STATE_PERI_OUT_ROLL, rollDir); 
      break;


You can invert the 2 lines if you want only the timer.

By
 
Does it mean, that mower will start reverse mode, when during mowing will cross (is outside) a perimeter and when he is back inside he will start immediately rotation ?
I need that that reverse mode is longer time, because during rotation I have sometimes problém with rear Wheel.

Alex
 
Today I tested again issue with auto mode more times with this stats :

PTRK - REV - but mower doesn't start reverse mode and after some time started error perimeter
PTRK - OFF - CHRG - it was ok, charging started

I don't know how sonar and bumper is handled during station searching and in station, but it looks like some problem with charging and sonar/bumper.

Alex
 
Hi Alex,
i don't know with sonar but regarding bumper, my mower will not stay in the station when the bumper is hit. If the mower drives into the station without hitting the bumper, everything works fine - mow motor stops, relais clicks and charging starts.

Regards
Wolfgang
 
Hi Alex.
To be sure
Did you try to deactivate the sonar and bumper in pfod setting and test the home return.
Thanks.
 
Bernard schrieb:
HI.
Holorate say :
perimeteroutrevtime or perimeterInside whatever happend firs
It's exactly that.

In the code you can find this here


Code:
case STATE_PERI_OUT_REV: 
      checkPerimeterBoundary();      
     // if (millis() >= stateEndTime) setNextState(STATE_PERI_OUT_ROLL, rollDir);   
      if (perimeterInside || (millis() >= stateEndTime)) setNextState (STATE_PERI_OUT_ROLL, rollDir); 
      break;


You can invert the 2 lines if you want only the timer.

By

So If I will change to this :

if (millis() >= stateEndTime) setNextState(STATE_PERI_OUT_ROLL, rollDir);

mower reverse mode will take time defined in perimeteroutrevtime ? I think it can be very good for me, becase during turning I sometimes hit a wall by back Wheel.

Alex
 
Zuletzt bearbeitet von einem Moderator:
It's strange, but still see a random problems with going to charge station
Always is there PTRK, but when I reach a station, sometimes will switch mower to CHRG and start charging (it's what is requested) but sometimes as on the video will switch to REV (but no bumper contact). Also strange is, that sometimes reverse mode will start and mower goes out of station, but sometimes reverse mode will not start, mower is still staying in station (mow is on) in REV status and after few seconds will jump into perimeter error and LED on the sender is blinking = charging (so relay must be on).

Strange, must be a SW bug.....

Alex
 
Hi Alex.
What is your software version 1.06 ...1.07 Github Ardumower Main dev ???
To verify a bug.
Be sure to deactivate : Dropleft or Right ,lawnsensor in Pfod.
Verify the value of Forw time max in motor menu.
And test with GPS disabled to avoid a checkIfStuck trigger
Thanks.
 
Hi Alex,
i have been working with 1.06 for a month ago and now on 1.07 dev and both versions are working without problems regarding the station and charging.
Are you sure the relais is triggered? The LED starts blinking before the relais is triggered. I can clearly hear when the relay is triggered and then the state changes to CHARG.

Regards
Wolfgang
 
Bernard schrieb:
Hi Alex.
What is your software version 1.06 ...1.07 Github Ardumower Main dev ???
To verify a bug.
Be sure to deactivate : Dropleft or Right ,lawnsensor in Pfod.
Verify the value of Forw time max in motor menu.
And test with GPS disabled to avoid a checkIfStuck trigger
Thanks.

Version 1.06, drop is off, lawnsensor is off
Forw time max is 80000
GPS is off

Alex
 
Zuletzt bearbeitet von einem Moderator:
Hallo
lege mal bitte auf den Stecker P42 direkt die Ladespannung an. Dann sollte die Stationsled leuchten.
Wenn das funktioniert lege mal bitte an den Ladekontakten an dein Mower die 24V an. Sollte auch leuchten.
Wenn das nicht funktionieren sollte, hast du eine schlechte Verbindung zu den Ladeanschluss in deinen Mower. Wenn du die Befestigungslöcher der Platine verwenden tust evl die Kontaktflächen etwas abschmirgeln am Aluprofil des Mowers
Nun schiebe den Mower in die Ladestation. Auch jetzt sollte die Kontroll- LED angehen. Wenn nicht hast du auch dort eine schlechte Verbindung oder du hast evl das Plus und Minus Kabel an den Ladekontakten vertauscht.
Wenn das auch nicht funktionieren sollte mache mal bitte ein paar Bilder von der Platine und stelle sie hier rein.

Gruß
Uwe

Hello
Please put on the plug P42 directly the load voltage. Then the Stationsled should light up.
If this works please put times at the load contacts to your Mower the 24V. Should also light up.
If this does not work, you have a bad connection to the charging port in your Mower. If you use the mounting holes of the board, evl the contact surfaces somewhat sanding on the aluminum profile of the Mower
Now push the Mower into the charging station. Now the control LED should also start. If you do not have there also a bad connection or you have evl the plus and minus cable at the charging contacts interchanged.
If this should not work synonymous times please make a few pictures of the circuit board and put them in here.

greeting
Uwe
 
Bernard schrieb:
Did you use the Timer ?

Yes, I'm using Timer
Today I did new test with bumper switched off (sonar isn't used by SW during PTRK).
Mower was in status PTRK, when reached station and after short delay status was REV, but no movement back and MOW motor running. After some delay status jumed into ERR and in error list was Perimeter timeout. I checked charge voltage and it was 28V but no charge current (so relay off). When I reset error counter, status was STAT and then jumped to CHRG and charging started.
My theory : Is possible that perimeter sender will switch signal off too soon ? That's only reason for REV mode and perimeter timeout error. Or any other possible reasons ?
Thanks
Alex

Edit:
Also Timer can it be :


Code:
// check timer
void Robot::checkTimer(){
  if (millis() < nextTimeTimer) return;
  nextTimeTimer = millis() + 60000;
  srand(time2minutes(datetime.time)); // initializes the pseudo-random number generator for c++ rand()
  randomSeed(time2minutes(datetime.time)); // initializes the pseudo-random number generator for arduino random()
  receiveGPSTime(); 
  boolean stopTimerTriggered = true;
  if (timerUse){    
    for (int i=0; i < MAX_TIMERS; i++){
      if (timer[i].active){
        if  ( (timer[i].daysOfWeek & (1 << datetime.date.dayOfWeek)) != 0) {
          int startmin = time2minutes(timer[i].startTime);
          int stopmin =  time2minutes(timer[i].stopTime);
          int currmin =  time2minutes(datetime.time);
          if ((currmin >= startmin) && (currmin < stopmin)){
            // start timer triggered
            stopTimerTriggered = false;
            if ((stateCurr == STATE_STATION) || (stateCurr == STATE_OFF)){
              Console.println(F("timer start triggered"));
              motorMowEnable = true;
              setNextState(STATE_FORWARD, 0);
            } 
          }           
        }
      if ((stopTimerTriggered) && (timer[i].active)){
      if (stateCurr == STATE_FORWARD){
        Console.println(F("timer stop triggered"));
        if (perimeterUse){
        setNextState(STATE_PERI_FIND, 0);
      }
        else setNextState(STATE_OFF,0);
      } 
    }
      }
    }
  }
}


becuase when station is reached :

Code:
case STATE_PERI_TRACK:
      // track perimeter
      checkCurrent();                  
      checkBumpersPerimeter();
      //checkSonar();                   
      if (batMonitor){
        if (chgVoltage > 5.0){ 
          setNextState(STATE_STATION, 0);
        }
      }
      break;


status will jump to STATE_STATION

and takes 2sec when he will jump to STATE_CHARGING, but will check a timer :


Code:
case STATE_STATION:
      // waiting until auto-start by user or timer triggered
      if (batMonitor){
        if ((chgVoltage > 5.0) && (batVoltage > 8)){
          if (batVoltage < startChargingIfBelow && (millis()-stateStartTime>2000)){
            setNextState(STATE_STATION_CHARGING,0);
          } else checkTimer();  
        } else setNextState(STATE_OFF,0);
      }  else checkTimer();
      break;


And timer will start mowing again, but perimeter is switched of by sender, so error...... Is it possible ?
 
Zuletzt bearbeitet von einem Moderator:
Make test Without the Timer to be sure.
Like uwe say you can verify if there is not a bad connection between the mower and station.
 
Next test with notebook and console connected :


Code:
t    21 l2910 v1 PTRK odo 14378 13693 spd   18  -18 9662 sen    2    0   12 bum    0    0 dro    0    0 son    0    0    0 yaw   0 pit   0 rol   0 per   1 bat 24.1 chg  0.0  0.0 imu  0 adc113 Ardumower
t    22 l2924 v1 PTRK odo 14434 13786 spd   18  -18 8486 sen    2    0   12 bum    0    0 dro    0    0 son  134  117  149 yaw   0 pit   0 rol   0 per   0 bat 24.1 chg  0.0  0.0 imu  0 adc116 Ardumower
t    23 l2926 v1 PTRK odo 14535 13845 spd   18  -18 8792 sen    4    0   11 bum    0    0 dro    0    0 son    0  142    0 yaw   0 pit   0 rol   0 per   0 bat 24.1 chg  0.0  0.0 imu  0 adc110 Ardumower
t    24 l2911 v1 PTRK odo 14584 13947 spd   18  -18 9523 sen    1    0   11 bum    0    0 dro    0    0 son    0    0    0 yaw   0 pit   0 rol   0 per   1 bat 24.1 chg  0.0  0.0 imu  0 adc112 Ardumower
t    25 l2936 v1 PTRK odo 14636 14036 spd   18  -18 8383 sen    2    1   13 bum    0    0 dro    0    0 son    0  110    0 yaw   0 pit   0 rol   0 per   1 bat 24.1 chg  0.0  0.0 imu  0 adc115 Ardumower
t    26 l3020 v1 PTRK odo 14677 14130 spd   18  -18 8040 sen    2    1   12 bum    0    0 dro    0    0 son   59   62   63 yaw   0 pit   0 rol   0 per   1 bat 24.1 chg  0.0  0.0 imu  0 adc113 Ardumower
t    27 l3152 v1 PTRK odo 14713 14227 spd   18  -18 8143 sen    2    2   11 bum    0    0 dro    0    0 son   53   45   42 yaw   0 pit   0 rol   0 per   1 bat 24.1 chg  0.0  0.0 imu  0 adc116 Ardumower
t    28 l3189 v1 PTRK odo 14769 14305 spd   18  -18 8111 sen    2    2   11 bum    0    0 dro    0    0 son   36   41   38 yaw   0 pit   0 rol   0 per   1 bat 24.0 chg  0.0  0.0 imu  0 adc116 Ardumower
t    29 l3294 v1 PTRK odo 14834 14379 spd   18  -18 7920 sen    3    1   11 bum    0    0 dro    0    0 son   18   19   22 yaw   0 pit   0 rol   0 per   1 bat 24.0 chg  0.0  0.0 imu  0 adc116 Ardumower
loadSaveRobotStats: write
loadSaveRobotStats addrstop=822
t     0 l3335 v1 STAT odo 14841 14399 spd    0    0 7920 sen    2    1   11 bum    0    0 dro    0    0 son   18   18   17 yaw   0 pit   0 rol   0 per   1 bat 24.0 chg 28.3  0.0 imu  0 adc 16 Ardumower
loadSaveRobotStats: write
loadSaveRobotStats addrstop=822
t     0 l3335 v1 OFF  odo 14839 14399 spd    0    0 4293 sen    1    1    8 bum    0    0 dro    0    0 son   14   18   15 yaw   0 pit   0 rol   0 per   0 bat 24.1 chg  0.0  0.0 imu  0 adc 52 Ardumower
t     0 l3335 v1 OFF  odo 14839 14399 spd    0    0    0 sen    1    1    8 bum    0    0 dro    0    0 son   14   18   15 yaw   0 pit   0 rol   0 per   0 bat 24.1 chg 28.3  0.0 imu  0 adc 13 Ardumower
RTC date received: Thu 15.06.2017
t     1 l2031 v1 OFF  odo 14839 14399 spd    0    0    0 sen    0    0    5 bum    0    0 dro    0    0 son   14   18   15 yaw   0 pit   0 rol   0 per   0 bat 24.1 chg 28.1  0.0 imu  0 adc117 Ardumower
loadSaveRobotStats: write
loadSaveRobotStats addrstop=822
t     0 l3756 v1 STAT odo 14839 14399 spd    0    0    0 sen    0    0    4 bum    0    0 dro    0    0 son   14   18   15 yaw   0 pit   0 rol   0 per   0 bat 24.1 chg 28.1  0.0 imu  0 adc 96 Ardumower
t     0 l3756 v1 STAT odo 14839 14399 spd    0    0    0 sen    0    0    3 bum    0    0 dro    0    0 son   14   18   15 yaw   0 pit   0 rol   0 per   0 bat 24.1 chg 28.1  0.0 imu  0 adc  0 Ardumower
t     1 l3118 v1 STAT odo 14839 14399 spd    0    0    0 sen    0    0    3 bum    0    0 dro    0    0 son   14   18   15 yaw   0 pit   0 rol   0 per   0 bat 24.1 chg 28.2  0.0 imu  0 adc110 Ardumower
t     0 l3386 v1 CHARG odo 14839 14399 spd    0    0    0 sen    0    0    3 bum    0    0 dro    0    0 son   14   17   15 yaw   0 pit   0 rol   0 per   0 bat 24.1 chg 28.2  0.0 imu  0 adc103 Ardumower
t     0 l3386 v1 CHARG odo 14839 14399 spd    0    0    0 sen    0    0    3 bum    0    0 dro    0    0 son   14   17   15 yaw   0 pit   0 rol   0 per   0 bat 24.1 chg 28.2  0.0 imu  0 adc  9 Ardumower
t     1 l3142 v1 CHARG odo 14839 14399 spd    0    0    0 sen    0    0    2 bum    0    0 dro    0    0 son   14   18   15 yaw   0 pit   0 rol   0 per   0 bat 24.2 chg 27.9  1.8 imu  0 adc116 Ardumower
t     2 l3658 v1 CHARG odo 14839 14399 spd    0    0    0 sen    0    0    3 bum    0    0 dro    0    0 son   14   18   15 yaw   0 pit   0 rol   0 per   0 bat 24.3 chg 27.6  1.8 imu  0 adc116 Ardumower
t     3 l3670 v1 CHARG odo 14839 14399 spd    0    0    0 sen    0    0    3 bum    0    0 dro    0    0 son   14   18   15 yaw   0 pit   0 rol   0 per   0 bat 24.3 chg 27.4  1.8 imu  0 adc116 Ardumower
t     4 l3585 v1 CHARG odo 14839 14399 spd    0    0    0 sen    0    0    3 bum    0    0 dro    0    0 son   14   18   15 yaw   0 pit   0 rol   0 per   1 bat 24.3 chg 27.2  1.8 imu  0 adc116 Ardumower
t     5 l3603 v1 CHARG odo 14839 14399 spd    0    0    0 sen    0    0    3 bum    0    0 dro    0    0 son   14   18   15 yaw   0 pit   0 rol   0 per   0 bat 24.4 chg 27.0  1.8 imu  0 adc116 Ardumower
t     6 l3658 v1 CHARG odo 14839 14399 spd    0    0    0 sen    0    0    3 bum    0    0 dro    0    0 son   14   18   15 yaw   0 pit   0 rol   0 per   1 bat 24.4 chg 26.9  1.8 imu  0 adc116 Ardumower
t     7 l3662 v1 CHARG odo 14839 14399 spd    0    0    0 sen    0    0    3 bum    0    0 dro    0    0 son   14   18   15 yaw   0 pit   0 rol   0 per   0 bat 24.4 chg 26.7  1.8 imu  0 adc116 Ardumower
t     8 l3659 v1 CHARG odo 14839 14399 spd    0    0    0 sen    0    0    3 bum    0    0 dro    0    0 son   14   18   15 yaw   0 pit   0 rol   0 per   1 bat 24.5 chg 26.6  1.8 imu  0 adc116 Ardumower
t     9 l3668 v1 CHARG odo 14839 14399 spd    0    0    0 sen    0    0    3 bum    0    0 dro    0    0 son   14   18   15 yaw   0 pit   0 rol   0 per   1 bat 24.5 chg 26.4  1.8 imu  0 adc116 Ardumower
t    10 l3661 v1 CHARG odo 14839 14399 spd    0    0    0 sen    0    0    3 bum    0    0 dro    0    0 son   14   18   15 yaw   0 pit   0 rol   0 per   1 bat 24.5 chg 26.3  1.8 imu  0 adc116 Ardumower
t    11 l3658 v1 CHARG odo 14839 14399 spd    0    0    0 sen    0    0    3 bum    0    0 dro    0    0 son   14   18   15 yaw   0 pit   0 rol   0 per   0 bat 24.6 chg 26.2  1.8 imu  0 adc116 Ardumower
t    12 l3593 v1 CHARG odo 14839 14399 spd    0    0    0 sen    0    0    3 bum    0    0 dro    0    0 son   14   18   16 yaw   0 pit   0 rol   0 per   0 bat 24.6 chg 26.1  1.8 imu  0 adc116 Ardumower
t    13 l3660 v1 CHARG odo 14839 14399 spd    0    0    0 sen    0    0    3 bum    0    0 dro    0    0 son   14   18   15 yaw   0 pit   0 rol   0 per   0 bat 24.6 chg 26.1  1.8 imu  0 adc116 Ardumower
t    14 l3590 v1 CHARG odo 14839 14399 spd    0    0    0 sen    0    0    3 bum    0    0 dro    0    0 son   14   18   15 yaw   0 pit   0 rol   0 per   0 bat 24.6 chg 26.0  1.8 imu  0 adc116 Ardumower
t    15 l3662 v1 CHARG odo 14839 14399 spd    0    0    0 sen    0    0    3 bum    0    0 dro    0    0 son   14   18   15 yaw   0 pit   0 rol   0 per   0 bat 24.6 chg 25.9  1.8 imu  0 adc116 Ardumower
t    16 l3608 v1 CHARG odo 14839 14399 spd    0    0    0 sen    0    0    3 bum    0    0 dro    0    0 son   14   18   15 yaw   0 pit   0 rol   0 per   1 bat 24.6 chg 25.9  1.8 imu  0 adc116 Ardumower
t    17 l3592 v1 CHARG odo 14839 14399 spd    0    0    0 sen    0    0    3 bum    0    0 dro    0    0 son   14   18   15 yaw   0 pit   0 rol   0 per   0 bat 24.7 chg 25.8  1.8 imu  0 adc116 Ardumower


without timer and no restart after reaching staion.
I can see, that he reads a time when he reach a station and why he write a stats ?
and stats :
PTRK - STAT - OFF - STAT - CHARG
Alex
 
Are you sure you have disabled the Timer in PFOD ??
If yes it's not normal to receive a rtc date .

With the console you can view all the setting
What are the value for Timeruse ?


Code:
if ((timerUse) && (millis() >= nextTimeRTC)) {
    nextTimeRTC = millis() + 60000;
    readSensor(SEN_RTC);       // read RTC
    Console.print(F("RTC date received: "));
    Console.println(date2str(datetime.date));
  }
.
 
Oben