====== Baja Buggie Tutorial ====== Make Living Baja Buggie Tutorial

Keywords: Baja, Buggie, Mini, Living Room, Channel, Radio, PWM, Duty Cycle, Circuit, Transistor, MOSFET, Diode, Digital, Analog, Pin, pulse, serial, Perf Board

{{dylanw:hyundai-genesis-disassemble.jpg}}

Picture compliments of http://www.treehugger.com/cars/the-car-an-anatomical-journey-video.html

The photo depicts the complexity of this project that appears to be extremely straightforward and quick to complete, which allows one to understand the underlying complexity of this project. The big picture problem is that radio controlling an object requires knowledge and skill in multiple fields of engineering and manufacturing. Solving this partially or completely is important because these skills form the basis for controlling almost any device in the current technological paradigm. This tutorial shows you how to build a Living Room Baja Buggie first presented in Volume 14 of Make Magazine and takes approximately 32 hours to complete.


Motivation and Audience

This tutorial's motivation is to guide people new to remote control through the process of wireless control utilizing off the shelf radio control. Readers of this tutorial assumes the reader has the following background and interests:

The rest of the tutorial is presented as follows:

Parts List and Sources

US-based vendors to obtain material to complete this tutorial include Amazon (http://www.amazon.com/), Jameco (http://www.jameco.com/), Digikey (http://www.digikey.com/), and your local hardware store.

To complete this tutorial, you'll need the following items (in table below):
TABLE 1: Parts needed to build a Living Room Baja Buggie
PART DESCRIPTION VENDOR PART PRICE (2013) QTY
Tamiya 70112 Buggy Kit (or other small toy buggy kit complete with motor) Amazon B002DR3H62 $23.49 1
Wireless Camera and Receiver Set Amazon B000JCQKVM $35.12 1
Monitor or VGA Headset with Composite Video Input (or input compatible with wireless camera and receiver set) Amazon BWCMO363 $20.30 1
Arduino Uno (or other controller board with 3V Power and PWM input and output pins) Amazon B006H06TVG $21.95 1
4-Channel Radio Transmitter Amazon B004NZGF98 $69.00 1
4-Channel Radio Radio Reciever (that can pair with the transmitter) Amazon B007TJU5KU $30.59 1
Servo Motors Amazon B0006O3XEA $11.41 2
9V Battery Amazon B00003IE4E $4.20 for 2 2
9V Battery Connector Amazon B00CBSDFH4 $0.59 for 5 1
9V Battery Adapter for Arduino Amazon B005D65LEG $2.83 for 2 1
0.1mm 1 Row, 3 Pin Housing Digikey 609-2340-ND $0.69 3
0.1mm Pin Crimps Jameco 104480-8 0.15 9
22 AWG Wire Jameco 734311 $10.95 1
MOSFET Transistor       1
Directional Diode       1
Various Screws Local Hardware Store N/A Varies Varies

Construction

This section gives step-by-step instructions along with photos to contruct and run the buggie.

Step 1

Build the car's body as directed by the kit's instructions. Leave out electric components like the battery holder and like, we will be replacing those parts.

Your car should look something like this:

{{dylanw:Step1.JPG}}

Step 2

Solder a heavy guage wire in the shape of an Ω (ohm) to the steering bar of the car to allow for a servo to be used to remotely steer the cart.

The cart should look like this after the wire is attached:

{{dylanw:Step2.JPG}}

 

Step 3

Create the speed controller circuit shown below, test with the Arduino creating a PWM signal to ensure that circuit is functional before soldering.

{{dylanw:Step3.JPG?400}}{{dylanw:Step3b.JPG?400}}

{{dylanw:Step3c.JPG?400}}{{dylanw:Step3d.JPG?400}}

 

Step 4

Pair the transmitter with the reciever, use this to test the servos.

 

Step 5

Attach the two servos to the cart using the 9V batteries as a vertical offset. Also attach the camera to the top of the horizontal actuating servo.

One 9V battery is used to power the camera, while the other battery is used to power the control circuitry.

The cart should look like this after you attached everything:

{{dylanw:Step5.JPG}}

 

Step 6

Attach the motor with control circuitry.

The cart should look like this now:

{{dylanw:Step6.JPG}}

 

Step 7

Power the reciever with the 3.3V pin on the Arduino using the wiring shown below, plug in the servos and calibrate.

{{dylanw:Step7.JPG}}

Cart should look like this now:

{{dylanw:Step7b.JPG}}

 

Step 8

Program the Arduino using the duty signal from the reciever. Using the wire shown below:

{{dylanw:Step8.JPG}}

Code is attached below in the programming section.

The circuit should look something like this now:

{{dylanw:Step8b.JPG}}

 

Step 9

Power everything and see the cart work!

Here is the finished product:

{{dylanw:Step9.JPG}}

 

Programming

The source code to run the buggie using the Arduino IDE is provided below:
To be compiled with the Arduino IDE
 

const int signalPin = A0; //pin where duty cycle of reciever is inputted
const int outputPin = 11; //pin where pwm signal is outputted
float duration;
float pwmsignal;

void setup()
{
  Serial.begin(115200); //serial monitor setup

  pinMode(signalPin, INPUT); //sets pin as input
  pinMode(pwmsignal, OUTPUT); //sets pin as output
}

void loop()
{
  duration = pulseIn(signalPin, HIGH); //detects duty cycle


  pwmsignal = 924.375-0.6375*duration; //calculates equivalent PWM signal, you will need to calculate this signal using this program
  if (pwmsignal>255) //saturation of signal limiter
  {
    pwmsignal=255;
  }
  if (pwmsignal<0) //negative signal limiter
  {
    pwmsignal=0;
  }
  analogWrite(outputPin, pwmsignal); //outputs PWM signal on pin 11

  Serial.print(duration); //serial output of length of duty cycle
  Serial.print(", ");
  Serial.println(pwmsignal); //serial output of calculated PWM output
  delay(100);
}


Duty_to_PWM.ino Fuller Code Description

The Duty to PWM converter operates as follows:

The Arduino controller board detects and measures the length of the duty cycle. From there, the Arduino calculates what the equivalent PWM signal to output to the motor, and outputs it through the output pin.

Final Words

This tutorial's objective was to learn how to utilize a duty cycle to control a motor via PWM. Complete the programming section and step 3 in the construction section for a duty cycle to pwm motor controller circuit. Once the concepts were conveyed the reader could control any DC motor with a duty cycle control signal, which is what is created by most transmitter/receiver sets.

Speculating future work, derived from this tutorial, includes creating a bi-directional duty cycle to pwm motor controller (so motor could move in forward and reverse). In the big picture, the problem of creating a DIY mini Baja Buggie and duty cyle to motor control circuit can be solved with this tutorial.

Click here to email me