Tim Jackson
UNITED KINGDOM • + Follow
Edit Project
Components
Tools, APP Software Used etc.
|
arduino IDEArduino
|
|
|
STMicroelectronics ST Visual develop IDE for developing ST7 and STM8 applications |
|
|
ST-Link v2 |
Description
Tim's I2C Intelligent DC Motor Driver
I am working on a project that needs about six Motors. There are many DC Motor Drivers available, But.
- The Motors I am using are DC Motors with Quadrature Encoders.
- Quadrature Encoders have an A and B output, which need to be connected to a microcontroller that uses the data from the Quadrature Encoder to ascertain the position and direction of a motor. See my Instructable: Wi-Fi Control of a Motor With Quadrature Feedback : 9 Steps (with Pictures) - Instructables
- This would mean that each motor will have two Encoder connections to the microcontroller, plus the Driver connections.
- There are I2C Motor Drivers, this would reduce the connections for the Motor Drivers, but these do no more than the normal Motor Drivers do, there is no positional feedback through the I2C connection.
- The microcontroller I want to use to control the Motors has a limited number of pins.
I also would like to take away a lot of the processing the microcontroller would have to do controlling all the motors.
- It would be nice if the microcontroller was connected to the Motor Drivers via I2C. Only two wires from the microcontroller connected to all the Motor Drivers.
- It would be nice if the Motor Driver knew the position of the Motor and could send this data back to the microcontroller via the I2C connection.
- It would be nice if the microcontroller only had to send a position command to the Motor Driver and the Motor driver did all the work.
- It would be nice if we could have limit switches attached to the Motor driver so that it would not go beyond them.
- It would be nice if the Motor driver could be given soft limits to stay within.
- It would be nice if the Motor driver could be given a known position from a Station, so that it could set a known position when triggered.
I think I have come up with the solution.
- This Motor Driver is controlled via I2C.
- The Motor Driver can be configured for many scenarios.
- The Max Motor voltage is: 30v.
- The Max Motor current is: 1A, this can be increased by beefing up the traces on the PCB, MOSFETs are rated at 5.8A. (A bit OTT but cheap)
- The System voltage is: 3.3v. There is an option to add a voltage regulator if power comes from a higher source.
- The brains is the STM8S103F3P6, as a slave I2C Device.
- The I2C Address can be set from 0x01 (1) to 0x7F (127). So in theory 126 Motors can be attached to one microcontroller.
Full details can be found here: Tim's I2C Intelligent DC Motor Driver - Hackster.io
Here is a video showing info about commands sent on the I2C
Here are some boards fitted to a project I am working on.
Code
Schematic and Layout
Tim-s-I2C-Intelligent-DC-Motor-Driver-KiCad
Tim-s-I2C-Intelligent-DC-Motor-Driver-KiCad
May 11,2023
698 views
Tim's I2C Intelligent DC Motor Driver
This is a DC Motor Driver that is controlled via I2C. The I2C Address can be set in the range: 1 to 127. It can read a Quadratic encoder.
698
1
0
Published: May 11,2023
Download Gerber file 4
BOM(Bill of materials)
Other files for Assembly
Purchase
Donation Received ($)
PCBWay Donate 10% cost To Author
File Last Updated: 2023/05/15 (GMT+8)
File update record
2023-05-1517:44:25
Parts List (BOM) is updated.
2023-05-1517:28:33
Parts List (BOM) is updated.
2023-05-1219:00:47
Parts List (BOM) is updated.
Only PCB
PCB+Assembly
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
Copy this HTML into your page to embed a link to order this shared project
Copy
Under the
Attribution-NonCommercial-ShareAlike (CC BY-NC-SA)
License.
- Comments(0)
- Likes(1)
Upload photo
You can only upload 5 files in total. Each file cannot exceed 2MB. Supports JPG, JPEG, GIF, PNG, BMP
0 / 10000
It looks like you have not written anything. Please add a comment and try again.
You can upload up to 5 images!
Image size should not exceed 2MB!
File format not supported!
View More
- Meows21 Jun 28,2023
View More
VOTING
0 votes
- 0 USER VOTES
0.00
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Design
1/4
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Usability
2/4
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Creativity
3/4
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Content
4/4
More by Tim Jackson
- Tim's I2C Dual Motor Driver [Version 2] This is Version 2 of my previous Tim's I2C Dual Motor Driver.This supersedes this Project. Tim's I2C...
- Tim's Mini Plotter 2 This is a PCBWay PCB Version of mini plotter I did quit a while ago, my original mini plotter I made...
- Tim's I2C Dual Motor Driver This board has been SupersededThe version 2 can be found here:Tim's I2C Dual Motor Driver [Version ...
- Tim's Pie Divider Tim's Pie DividerWhen that pie comes out of the oven and your tummy rumbles, who gets the largest pi...
- Tim's I2C Intelligent DC Motor Driver I am working on a project that needs about six Motors. There are many DC Motor Drivers available, Bu...
- Tim's PTC Hot Plate Controller [Fused version] This is a fused version of this: Tim's PTC Hot Plate ControllerInstructable at: Tim's Hot PlateFor c...
- Tim's PTC Hot Plate Controller This is a for a DIY Hot Plate, for soldering SMD to PCBs.The heater element that it controls are the...
- TIM-01 EYES This is a module to give my robot TIM-01 Eyes.With many projects controlled by an Arduino or similar...
- Tim's DC Motor Driver X6 Mk2 This board was designed to drive the motors controlling the arms on my robot TIM-01.I have a blog on...
You may also like
-
-
-
DIY Transistor Tester | Build Your Own LCR Meter at Home with Arduino Nano
12 0 0 -
-
-
ESP32-S3 breakout board for motorizing Iron Man helmets
108 0 2 -
Build a Walking Robot: Theo Jansen Style 3D Printed Octopod
189 0 4 -
-