Ardumower Mini Not functioning

since I developed the resetting issue I have remove everything off the board (mainly the L298N motor drivers). Now all I have a buzzer from pin 53 to ground
and the momentary button from pin 51 to ground
the button is normally open.
I have tried changing the IDE 1.63 to 1.6.8 to 1.8.3
I have tried 1.0a4,1.0a6 and 1.0a7
Within this I retried Ardumower and Mini on different occasions
I think this must be an arduino mega board issue unless you can suggest something else

max
 
If you will upload azurit into alone board without any components and check via serial monitor, it must run without restarting, but in the monitor there must be a error from motor/mow driver (maybe more). If alone board with software is still restarting, problem must be in the board.

Alex

edit : yes, or you can try simple blinking example
 
I ran the blink code and the board worked
reloaded the ardumower and it still has the same problem
I will try again tomorrow with the new mega

do you have any other code that will test the board as it seems to work (partially at least)

max
 
this is quite strange. I ran blink on pins 5,5,10,11,12,31,33,51,52,53 and it worked every time
I have not checked the analogue pins as I have not been using them
the board seems to me to be working.

Can you think of another test
max
 
As Alex mentioned, try to use Azurit without any component (no buzzer etc.) and see if it still restarts. Maybe the buzzer is using too much current...
 
I bought a new "origina"l arduino megga (not a copy) and loaded the code and had the same issue

So I changed Macs and now it will not compile.I am probably using a different version of the IDE. I get this error.

It would be very useful if you could summarise everything required to get a mega working in one document. The settings the IDE version The code version.etcetc. I seem to be going around in circles. I do not want to give up just yet but this is harder than it needs to be. Also I have 2 years invested in Arduino projects so it not like I am a newbie

Please summarise every thing for the mini in a proper documents it will save every one time and effort.
regards

Max




I have nothing attached. Was using 1.04a6


Arduino: 1.8.2 (Mac OS X), Board: "Arduino Nano, ATmega328"

WARNING: Category 'sensors' in library SparkFun BQ72441 LiPo Fuel Gauge Arduino Library is not valid. Setting to 'Uncategorized'
WARNING: Category 'Sensor' in library SparkFun DS3234 Real-Time Clock (RTC) is not valid. Setting to 'Uncategorized'
sketch/adcman.cpp: In member function 'void ADCManager::startADC(int)':
adcman.cpp:181: error: 'MUX5' was not declared in this scope
ADCSRB = (ADCSRB & ~(1 > 3) & 0x01)
 
Hello Max,
Sorry no experince from my side with arduino programming with Mac OS X.
I'm using Windows. For programming I'm using more IDE versions and always without any problems, but I'm prgramming big mower, not mini.
But procedure must be the same.
I checked also page with mini mower in official shop : https://www.marotronics.de/Mini-Ard...no-Roboter-mit-Getriebemotoren-und-Elektronik But they are using different board :
1 x Mega Board 2560 R3 ATmega2560 mit CH340G IC inkl. USB Kabel
I think Arduino Nano, ATmega328 is not enough ......

Alex
 
My mistake my side. I was messing around with a nano and forgot to change the board in the IDE.
I normally use a full sized arduino megga not a nano. I use the nano for other projects.
I will load the code onto the new megga and will also try windows ide if it does not work on mac.
Once again my mistake....big apology and thanks for spotting the error

Regards
Max
 
It now seems that my previous mega is fully functional
I have carried out some testing on a brand new arduino megga (original not a copy) I have nothing connected to the arduino
Using SW version 1.0a4 with Mini selected in config, the program does not reset
I was told to use SW version 1.0a6 with Mini selected. when I use this code the program reset itself
Also we know there is a problem with version 1.0a7
So I am reasonably sure that the code for all 3 versions does NOT work with a arduino mega for MINI
If you think I am incorrect the please send all parameters required to get this working.
I think it is a real shame that the most basic set up does not work. If this is the case why progress to more complex set ups
regards
Max
 
I think it must be a special combination (Arduino IDE version, Mega, Mac) where this reset happens - we have never seen this before. I'll try to reproduce this and then I can find a solution. Thanks.
 
I tried it on a windows machine and got the same result.
I also downloaded the latest released and the resetting problem did not exist. However when I turned some parameters from 1 to 0 in mower.cpp it triggered the resetting behaviour. SO THIS IS A SOFTWARE PROBLEM NOT A HARDWARE, IDE OR WIRING ISSUE.
Rather than finding the reason why it fails can you please find a way to make it work as I want to see the mini working even in a limited way. After it is working it would be good to fix the bug. I would really appreciate a detailed parameter listing of what needs to be turned ON and what needs to be OFF as what I may think needs to be ZERO may just trigger an error
 
Using the default settings, the mini will work (latest release or Github master/development). You should not have to change anything. What option do you need to change? We updated the documentation recently and here it is: http://wiki.ardumower.de/index.php?title=Azurit_Firmware_(English) The only options e.g. you might want to change are usePerimeter (1) if you have a perimeter, or useSonar (1) if you have an ultrasonic sensor. The default options are working here.
 
Hi
The new instructions look really good. Very much appreciated. I will try the latest code with the megga set up for the mini this evening and report back
For the first test I only want the settings for a buzzar and push button. I am trying to get the mega to play the various beeps so I can select a mode.
After achieving this I will add the motor drivers and then Bluetooth as I want to control the mini by android app.

After this I will add odometers, imu sonar etc etc

After this I will solder my 1.3 pcb as I should understand the software by then

Once again I appreciate your support

Max
 
It worked....for the first time I have sensible beeps....Thank you
I can now start to enjoy this project more now and make some progress.
I used the latest copy of the code
I used the pub 1.3 board (even though I am not using this
I chose ROBOT MINI
and the L298N motor controllers

and it worked. I do have a ERR_CHARGER error and the motor test the speed going forward is too slow.

once again thanks

max
 
The ERR_CHARGER error should go away if you use "batMonitor=0". For the L298N motor controllers, you can try to rename "setMC33926" in mower.cpp (lines 616-618) into "setL298N", and see if it makes a difference. If that will solve the problem I will add this permanently to the code (I cannot test L298N as I'm using PCB 1.3 for the Mini). Thanks for your patience.
 
I do now have connected the current sensors on the L298N motor drivers. May be they are generating the error. Also the wheels do start to move for about 2 -3 seconds before the error stops then from rotating. When they stop I get a single beep every 4-5 seconds
 
Hello Max,
Not sure if SW is ready for L298N drivers. I'm using my own PCB and for mow motor I'm using MOSFET and I also had a problems with ERROR on mow motor.
I think SW is expecting back signal from motor driver MC33926, which with L298N don't receive.
Maybe you can try switch off check for motor fault :


Code:
void checkMotorFault(){
  if (digitalRead(pinMotorLeftFault)==LOW){
    robot.addErrorCounter(ERR_MOTOR_LEFT);
    Console.println(F("Error: motor left fault"));
    robot.setNextState(STATE_ERROR, 0);
    //digitalWrite(pinMotorEnable, LOW);
    //digitalWrite(pinMotorEnable, HIGH);
  }
  if  (digitalRead(pinMotorRightFault)==LOW){
    robot.addErrorCounter(ERR_MOTOR_RIGHT);
    Console.println(F("Error: motor right fault"));
    robot.setNextState(STATE_ERROR, 0);
    //digitalWrite(pinMotorEnable, LOW);
    //digitalWrite(pinMotorEnable, HIGH);
  }
 //NOT NEEDED FOR MOSFET
 // if (digitalRead(pinMotorMowFault)==LOW){  
 //   robot.addErrorCounter(ERR_MOTOR_MOW);
 //   Console.println(F("Error: motor mow fault"));
 //   robot.setNextState(STATE_ERROR, 0);
 //   //digitalWrite(pinMotorMowEnable, LOW);
 //   //digitalWrite(pinMotorMowEnable, HIGH);
 // }
}


In this example I have switched off checking for fault for mow motor.

Alex

edit :
now I see that your error is ERR_CHARGER ? Please can you send a list from serial monitor ?

edit2:
for ERR_CHARGER :


Code:
case STATE_STATION_CHECK:
      // check for charging voltage disappearing before leaving charging station
      if (millis() >= stateEndTime){
        if (chgVoltage > 5) {
          addErrorCounter(ERR_CHARGER);
          setNextState(STATE_ERROR, 0);
        } else setNextState(STATE_STATION_REV, 0);
      }


There must be a voltage value in chgVoltage - maybe configuration error. (Must be visible in serial monitor)
 
Zuletzt bearbeitet von einem Moderator:
Oben