Introduction: Making a Modular Differential Drive Robot

About: STEMpedia is a place bringing project-making tools at one place- kits, online courses, coding platforms, controller app and tons of free learning resources.

You must have made some kind of toy car as a beginner! This instructable will take you through detailed assembly of a modular mobile robot which can be used for:

  • Line following robot
  • Obstacle avoiding robot
  • Wall following robot, using evive.

The most important fact about this design is that its modular. You can iterate over different configuration of line following sensor, servo and ultrasonic sensor giving you robot for different applications without any hassle.

Step 1: Components Used

The components required to make the robot are:

  • evive
  • Ultrasonic sensor
  • Servo
  • Seven (or five) array IR Sensor
  • Base Plate
  • Upper Plate
  • Nuts and Bolts
  • DC Motor (Qty: 2)
  • Wheels (Qty: 2)
  • Castor
  • 40mm Standoffs
  • Motor clamps
  • Sensor Mounting (for mounting ultrasonic sensor on micro servo)
    • We made it using 3D printing. The file can be downloaded from GrabCAD.

You can see the components in the image.

You dont need any external motor driver as evive has inbuilt dual channel motor driver (SN754410NE). You can check its features here.

Step 2: The CAD Model of Modular Robot

The design of the robot is open-sourced by evivetoolkit under creative commons-Share alike-Non commercial-license.

You can download the CAD model from our GrabCAD profile.

Step 3: Mounting Clamps on Base Plate

First, we will mount motor clamps which is used to fix motors to the base plate. The plate have the mounts for two clamps. Mount the clamp with for nut bolts tightly.

Step 4: Mounting Motors and Wheels to the Base Plate

After you have mounted the clamps, then we will mount motors. Unscrew the nut from the motor, then insert the motor in the clamp and screw back the nut to fix the motor in the clamp.

Then do the same thing for the second motor motor.

After this, you can mount the two wheels on the motor's shaft. Make sure that the wheels are compatible with the motor so that it can be attached and screwed easily and firmly.

Step 5: Mounting the Castor

Now we will mount a castor in the hole at the center of the base plate. Take care to place it in such a way that the rolling ball is at the bottom, and there is very less ground clearance. Castor helps in a great way in controlling the robot with two wheels. If you use a four wheel drive robot, then you will find the robot less efficient and hard to level all the four wheels. So using castor can act as a smart way.

Step 6: Placing the Battery

Secure the battery in the area provided between castor and motors, using double sided tape or screws to power the motors through evive.

As we have used 12- Volt battery, so we don't need to worry as for the 12 volt dc motor it is recommended to not increase the voltage above 12 volt. So, if you are using a battery having voltage more than 12 volt than make sure that you are getting a 12 volt output from VVR pins using the side potentiometer of evive.

Step 7: Mounting Standoffs for Upper Plate

We will need to have a connection between the upper and the base plate. For this we will mount four standoffs on the holes provided on the base Plate. You can get these standoffs from any hardware shop. It has closing screws at two ends which is used from the other side of the plate, you can understand this from the video easily.

Step 8: Mounting Evive on Upper Plate

Now, We have to mount evive on the upper plate. evive is mounted using bolts on the upper plate which you can see in the image.

Step 9: Making Sensor Holder for Micro Servo

To avoid any hassle in mounting the ultrasonic sensor on top of micro servo motor, we have 3D printed the part. The STEP file can be downloaded from here (GrabCAD).

Step 10: CASE 1) Adding the Line Following Sensor (Required for Line Following Robot)

Now mount the line following sensor such that the IR LEDs face downwards. Adjust the distance from the ground. It should be between 2-10 mm. (If your line following sensor has variacs, it is required to adjust them for setting the cutoff value for say white and black).

It is recommended to you that put the sensor below the chassis and attach it with screws as shown in figure.

Step 11: CASE 2) Mounting the Servo and Ultrasonic Sensor (For Collision Avoiding Robot)

Now one can mount servo and ultrasonic sensor on the upper plate to make the collision avoiding robot. This will enable the sensor to detect obstacle and scan distance in the 2-D plane.

Firstly, insert the servo in the slot given and fix it using the screws. Now, add the ultrasonic sensor in the servo, but to put the ultrasonic sensor in the servo you need a base, we have printed it using a 3-D printer.

Also with more sensors like compass, IMU and wheel encoders you can make partially autonomous mobile robot like this.

Step 12: CASE 3) Mounting the Servo and Ultrasonic Sensor on Right Side (For Wall Following)

Also you can mount servo and ultrasonic sensor on the upper plate using the space given on right side to make the Wall Following Robot.

Step 13: Attaching Evive Chassis to the Main Chassis

Last, we mount the upper plate on the standoffs.

The structure for a robot car is complete. We will wire these components and code the evive depending on whether we want a line following bot or an obstacle avoidance robot.

Step 14: Connect the Motors, Servo, Ultrasonic Sensor and Battery to Evive

Once we have the robot structure ready, now lets connect the wires of motors, servo, ultrasonic sensor and battery to evive. Please have a look here for all the internal wiring in evive.

Then now as per the circuit shown below, plug in the wires.

NOTE: evive uses PWM Pins 44, 45 for motors and the same are used for servos, so you CANNOT use plug and play interface for servo motor. You will have to use any of the 3 to 13 pin for connecting the signal wire of servo. ALSO since default servo library uses TIMER 5 (aka PWM pins 44, 45) for controlling the servos. SO PLEASE REPLACE THE DEFAULT SERVO LIBRARY IN ARDUINO LIBRARIES using the attached file "Servo.rar"

So, you are ready to make your desired project with this modular differential drive robot.

You can explore more projects made using evive here. Checkout evive's product video.

Makerspace Contest

Participated in the
Makerspace Contest

Automation Contest 2016

Participated in the
Automation Contest 2016