Four Motors

Overview

For Fullscreen: https://www.youtube.com/watch?v=lpROv2i29mA

The Four Motor project is the prototype to our Four Motor Kit build. It is a fun breadboard build that will familiarize you with the use of PWM expanders and H-Bridges. This Four Motor project serves as the basis for a simple RC car design. However, unlike our 2 Motor project this project turns by having the two sets of motors rotate in opposing directions.

You can also build this project with one of our DIY Kits!

Check out the Four Motor DIY Kit page to find out how.

intermediate

2 hours

1 Client


Hardware Components

Picture

Name

Quantity

Link

Picture

Name

Quantity

Link

 

1 - 6V DC Motor

4

One is included in the Component Kit

You can purchase the others here

 

2kΩ Resistor

9

Can be purchased here

 

220Ω Resistor

1

Included in Component Kit

Or you can purchase it here

 

1uf Capacitor

2

Can be purchased here

 

100nf Capacitor

3

Can be purchased here

 

L293D

2

One is included in the Component Kit, but you can purchase the second here

 

TLC5940

1

Can be purchased here

Q-Client Builder Base

1

Q-Client

Tools Used

Picture

Name

Quantity

Link

Picture

Name

Quantity

Link

Small slotted-head screwdriver

1

Included in the Component Kit

or you can pick from one on our Recommended Tools List


Assemble the Circuit

Gather all of the components in the parts list above.

We will start by setting up our breadboard. First, put the TLC5940 chip in the middle of the breadboard and have each L293D H-Bridge on either side of the TLC5940 like so:

Now, place your three 100nf and two 1uf capacitors on the GND and VCC rails of your breadboard as follows:

Now, follow these schematics to wire each of your H-Bridges:

H1

H2

The PWM tags on the H-Bridges will be wired to the TLC5940. The capacitors in the schematics above are the ones we already places on the Vcc and GND rails of the bread board.

Now, follow these diagram to wire your TLC5940:

 

TLC5940

Builder Base

TLC5940

Builder Base

XLAT

GP1

GSCLK

GP0

BLANK

GP2

SIN

GP3

SCLK

GP4

GND

GND

5V

5V

Bread Board:

Schematic:

 

Be careful to make sure that you connect the Circuit to 5V and not 3.3V. If you don’t, the Mecanum car will be under powered.


Pair the Builder Base

Now we want to pair the Builder Base with our Q-Server. In order to do so, go to the Homescreen of your Q-Server.

Next click on the lift side symbol labeled “Clients”. Switch to the “Unpaired” tab at the top middle of the screen.

You should see your unpaired Builder Base. If not, check if you have plugged in the power supply for the Builder Base. Now move to the three dots below “Actions” and click “Pair”.

Once your Client is paired, click the “Setup” button.

Now you can edit your Client. Give him a Name you want and also a location where you are going to use it. Hit “Save” when you finished.


Build the Firmware

Navigate to the Firmware Builder and create a new Firmware file. We named ours “Mecanum Firmware”.

Next, click the “+ Add Hardware” button and find the Motor device via the search bar, select it, name it, and then click “Add Hardware”. We named ours “Motor FL” (Front Left).

Now, repeat these steps three more times, naming the Motors “Motor FR”, “Motor BR”, and “Motor BL”.

You should now have four motor devices in your firmware file.

To configure the drivers for the Motor FL device, select the TLC5940 Driver from the driver dropdown menu.

Now, set the pins accordingly:

 

GSCLK

XLAT

BLANK

SIN

SCLK

DC 1

DC 2

 

GSCLK

XLAT

BLANK

SIN

SCLK

DC 1

DC 2

MFL

GP0

GP1

GP2

GP3

GP4

0

1

Repeat these steps for the three remaining motors. You can find the proper pin configurations in the table below.

 

GSCLK

XLAT

BLANK

SIN

SCLK

DC 1

DC 2

 

GSCLK

XLAT

BLANK

SIN

SCLK

DC 1

DC 2

MFR

GP0

GP1

GP2

GP3

GP4

2

3

MBL

GP0

GP1

GP2

GP3

GP4

4

5

MBR

GP0

GP1

GP2

GP3

GP4

6

7

You have now finished configuring your firmware, so save your firmware by clicking the “Save button” at the bottom of the screen.

Now you can upload your firmware to the client you have attached to the 4-motor circuit.


Build the App

Navigate to the Applications page and click the “+ Create New Button”, name your application, and click create.

You will now be directed to the App Builder Canvas.

Using the search bar in the left hand tool-bar search for the Motor code object and drag four of them onto the canvas.

 

Name the Motor objects as we do, this will help you to identify the motors during the application mapping. To rename them, click on the motor object and change the name in the properties panel on the right.

 

In order to save the names you must click the “save properties” button at the bottom of the properties tab.

Next, search for the “Manual Ranging” code object using the search bar and drag two of them onto the canvas.

 

Configure each manual Ranging object as follows:

Value

In Min

In Max

Out Min

Out Max

Rounded

Value

In Min

In Max

Out Min

Out Max

Rounded

Trigger: on

0

4095

4095

0

true

Next, connect each of the Value Out ports from the Manual ranging objects to the Motor objects as follows:

Now search for the “Joystick” object and drag two of them onto the canvas. Name one Joystick Left, and the other Joystick Right.

 

Now connect the Y-Axis ports from the Joystick objects to the Manual Ranging objects as follows:

Now, in this state your App will work with a joystick, but we are going to finish the App by also making it steerable using the dashboard interface.

Find the Digital Toggle Code object, drag three of them onto the screen, and name them.

 

Connect the Digital Toggle objects to the manual ranging objects as follows:

Now, we just need to add buttons, so search for them and add three of them to your application.

 

Connect the Button objects to the Digital Toggle objects as follows:

Congrats! Your app is now complete.

Hit “Save App” and go back to your applications page.


Map the Hardware

You should now be back on the Apps page.

Find your “Mecanum Car” app and hit the play button.

A list containing all of the devices in your application will expand.

Next click on the “Motor FR” device and the client dropdown menu will appear on the right.

Select the Motor FR driver from the dropdown menu and hit “Done”.

Repeat the same steps for the Motor FL, BR, and BL devices, ensuring that you match the device name to the object name.

Now you can map the Joystick Devices in the same way, but make sure that you match the Left and Right Joystick drivers with the Left and Right Joystick devices.

If you have yet to build a Joystick project you can find out how to build one here:

Joystick DIY Kit

Notice how the status symbols have changed to green checkmarks.


Run the App!

Next, hit “Save + Run”.

Congratulations! Your project is now complete. Have fun!


Resources

Application

 

Firmware

 

Schematic

 

Diagram