Ardumower Mini

Aus www.wiki.ardumower.de
Wechseln zu: Navigation, Suche
Ardumower Mini and PCB 1.3

Ardumower mini.jpg

Abstract

This page describes the 'Ardumower Mini' that can be used to implement a full Ardumower for indoor software development and that you can purchase via the shop Shopping.png

Needed parts

Videos

  1. Ardumower Mini and PCB 1.3
  2. Ardumower Mini
  3. Ardumower mini tracking perimeter wire
  4. Project LF: lane-by-lane mowing (Gyro+odometry)
  5. Project LF : robot position tracking on map
  6. Project LF: particle filter while mowing
  7. Project LF: robot position estimation via particle filter
  8. Project LF, milestone1 (working µC, perimeter, coil, motors, buzzer, LCD)

Building steps (PCB 1.3 option)

The Ardumower Mini can run the same software as the 'big Ardumower'. For the PCB, it's recommended to use PCB 1.3.

Warning.png NOTE: Do not use more than 8 volt to operate the mini DC motors!

For further building instructions, see PCB1.3 and for uploading the software, see Azurit Firmware.

Building steps (manual wiring option)

If you do not want to use PCB 1.3, you can (with some limitation) connect the components directly to the Arduino Mega as shown below. The limitations are: there will be no battery charging circuit, no charging station, and of course your wiring will not look as nice as a ready PCB :-) In Azruit Firmware (mower.h), choose PCB_1_2 and DRIVER_L298N.


Ardumower mini wiring.png Important: Connect motor driver GND to Arduino GND, so both share a common GND!


1. Start button

Button (a) --- Arduino pinButton (for actual pin number, see code: mini.cpp)
Button (b) --- Arduino GND 

2. Piezo buzzer

Buzzer (a) --- Arduino pinBuzzer (for actual pin number, see code: mini.cpp)
Buzzer (b) --- Arduino GND 

3. Motor driver

3.1 For L298N motor driver

+5v  --- leave open
+12v --- LiPo 2s battery 7volt (+) 
GND  --- LiPo 2s battery 7volt (-), also connect to Arduino GND
OUT1 --- left motor (+)
OUT2 --- left motor (-)
OUT3 --- right motor (+)
OUT4 --- right motor (-)
ENA  --- insert jumper (enables OUT1,2)
IN1  --- Arduino pinMotorLeftPWM  (for actual pin number, see code: mini.cpp)
IN2  --- Arduino pinMotorLeftDir  (for actual pin number, see code: mini.cpp)
IN3  --- Arduino pinMotorRightPWM (for actual pin number, see code: mini.cpp)
IN4  --- Arduino pinMotorRightDir (for actual pin number, see code: mini.cpp)
ENB  --- insert jumper (enables OUT3,4)
S1   --- insert jumper (enables 5v regulator for +12v voltage input)

NOTE: You can test L298N motor driver without Arduino:

  1. If you connect IN2 to HIGH (5v) and IN1 to LOW (GND), the motor should rotate forward.
  2. If you connect IN2 to LOW (GND) and IN1 to HIGH (5v), the motor should rotate reverse.


3.2 For MC33926 motor driver

VIN       --- LiPo 2s battery 7volt (+)
GND       --- LiPo 2s battery 7volt (-), also connect to Arduino GND
M1OUT1    --- left motor (+)
M1OUT2    --- left motor (-)
M2OUT1    --- right motor (+)
M2OUT2    --- right motor (-)
M1_FB     --- Arduino pinMotorLeftSense (see code: mini.cpp)
M1_SF     --- Arduino pinMotorLeftFault (see code: mini.cpp)
M1_PWM_D1 --- connect with jumper to GND
M1_PWM_D2 --- connect with jumper to VDD
M1_IN1    --- Arduino pinMotorLeftPWM (see code: mini.cpp)
M1_IN2    --- Arduino pinMotorLeftDir (see code: mini.cpp)
EN        --- Arduino pinMotorEnable  (see code: mini.cpp)
M2_FB     --- Arduino pinMotorRightSense (see code: mini.cpp)
M2_SF     --- Arduino pinMotorRightFault (see code: mini.cpp)
M2_PWM_D1 --- connect with jumper to GND
M2_PWM_D2 --- connect with jumper to VDD
M2_IN1    --- Arduino pinMotorRightPWM (see code: mini.cpp)
M2_IN2    --- Arduino pinMotorRightDir (see code: mini.cpp)
EN        --- Arduino pinMotorEnable (see code: mini.cpp)
VDD       --- Arduino 5V 

NOTE: You can test MC33926 motor driver without Arduino:

  1. If you connect IN1 to HIGH (5v) and IN2 to LOW (GND), the motor should rotate forward.
  2. If you connect IN1 to LOW (GND) and IN2 to HIGH (5v), the motor should rotate reverse.


4. Arduino Mega

Power jack       ---  LiPo 2s battery 7volt (outside is-/inside is+)

5. Bluetooth receiver (optional, but recommended)

VCC5.0  --- Arduino 5v   (for 5v Bluetooth version)
VCC3.3  --- Arduino 3.3v (for 3.3v Bluetooth version)
TXD     --- Arduino RX2
RXD     --- Arduino TX2
GND     --- Arduino GND

6. Sonar/ultrasonic (optional, but recommended)

VCC     --- Arduino 5v
Trig    --- Arduino pinSonarCenterTrigger (see code: mini.cpp)
Echo    --- Arduino pinSonarCenterEcho (see code: mini.cpp)
GND     --- Arduino GND

7. Model R/C (optional)

VCC           --- Arduino 5v
CHANNEL steer --- Arduino pinRemoteSteer (see code: mini.cpp)
CHANNEL speed --- Arduino pinRemoteSpeed (see code: mini.cpp)

8. IMU (compass/gyro/accel) (optional)

SDA     --- Arduino SDA
SCL     --- Arduino SCL
GND     --- Arduino GND
VCC5.0  --- Arduino 5v

9. Perimeter receiver (optional, but recommended)

VCC     --- Arduino 5v
IN      --- coil (a)
GND     --- coil (b)
GND     --- Arduino GND
Out     --- Arduino pinPerimeterLeft (see code: mini.cpp)

10. Perimeter sender (optional, but recommended)

See Ardumower sender.

11. Odometry/wheel encoder (optional)

VCC               --- Arduino 5v
GND               --- Arduino GND
DO1 (left motor)  --- Arduino pinOdometryLeft (see code: mini.cpp)
DO2 (right motor) --- Arduino pinOdometryRight (see code: mini.cpp)   
NOTE: Set 'twoWayOdometrySensorUse = 1'

12. Stand-alone perimeter receiver and sender (for your own robot project)

Perimeter1.png