ArduKart

Table of Contents

Background

This was my first big project with Arduino after experimenting with the device and with various components for months. I decided to build a kart becuase I thought that it was a good first project with several different systems working together. Because it was my first project with a microcontroller, and because I was busy with classes, This project took a few years to arrive at a place I was happy with. The gear mesh in particular gave me much trouble because I was completely inexperienced with them and I was also working with cheap plastic gears from Ebay. I caused many shorts and destroyed many components during the process of constructing this kart, but I learned very important lessons with each failure.

Design

The design of this project is split up into two parts, the kart and the transmitter. The original concept for the kart had a control stick wired to its Arduino, but I decided on the transmitter later for better ease of use. For the frame of the kart, I used a spare piece of plywood that I cut into shape at my job's workshop. The kart revolves around the Arduino which coordinates all systems. I used a motor driver breakout to drive the small dc motor. This gives the motor the ability to change directions and adjust the speed through instructions from the microcontroller. The steering is controlled by a servo motor attached to the front axle. Using the arduino's internal timers, these systems are able to work independently. The receiver will pick up instructions from the transmitter when it is in RC mode. The kart is powered by two 18650 cells located under the plywood frame. Later on I added various sensors to the top of the kart to write executable commands. The gyroscope and accelerometer allowed me to execute 90 degree turns fairly accurately.
The transmitter is a simple device centered around the Arduino. It is basically a few input devices where their values are stored in a struct in the Arduino. The Arduino then tells the Transmitter to send this struct to the Kart which will receive it as long as it is in the right mode. The whole thing is powered by 4 AA batteries.

Specifications

Kart

  • Body Length: 152 mm
  • Body Width: 88 mm
  • Body Height: 4.5 mm
  • Axle Length: 150 mm
  • Axle Diameter: 3 mm
  • Motor Shaft Diameter: 3 mm
  • Motor Shaft Length: 9 mm
  • Motor Length: 24 mm
  • Motor Width: 12 mm
  • Gear Ratio: 100.37:1
  • No Load Speed @ 6v: 310 rpm
  • No Load Current @ 6v: 0.07A
  • Stall Current @ 6v: 1.6A
  • Stall Torque @ 6v: 1.7 kg*cm
  • Wheel Diameter: 68 mm
  • Battery pack Length: 78 mm
  • Battery pack Width: 40 mm
  • Battery pack Height: 22.5 mm
  • Power: 7.4 V, 3000 mAh pack
  • Mass: 271 g

Transmitter

  • Frame Length: 150 mm
  • Frame Width: 80 mm
  • Frame Height: 40 mm/li>
  • Power: 6v, 4x AA
  • Mass: 147 g

Component List


Kart

Arduino Nano
Adafruit TB6612 DC Motor Driver Breakout
100.37:1 6v Gear Motor
Tower Pro SG90 Analog Mirco Servo
433 MHz RF Receiver Module
L3GD20H 3-axis gyroscope
LIS3DH 3-axis MEMS accelerometer
HC-SR04 Ultrasonic Distance Sensor
SSD1306 128x32 OLED Display
White LED
2x 18650 Li-Ion Batteries
Slide Switch

Transmitter

Arduino Nano
433 MHz RF Transmitter Module
2-axis Joystick
Potentiometer
4x AA Batteries

Block Diagram

Kart

Transmitter

Schematic

Kart

Transmitter

GitHub Code

Photos & Videos

Kart Base
Kart Front
Kart Overview
Battery under Kart
Finished Kart Top
Finished Transmitter Top
Programmed Path

1 sec forward, 360 degree left, 1 sec forward

Programmed Path

180 degree right, 1 sec forward, 90 degree left, 1 sec reverse

Remote Control

Testing

The kart can handle multiple inputs from the transmitter well. It can turn and go forwards at the same time thanks to the timer. The torque provided by the motor's gear box allows the kart to navigate small obstacles, but if they are too big, then the motor will stall.

Ongoing Issues

  • Turning by 90 degrees is off by a few degrees
  • Kart is very low to the ground. Does not deal with tough terrain well
  • Rough terrain that lifts the kart in the aircauses it to spin in place
  • The motor is not as fast as i would like