Part 1 | Modular Circuits Introduction While developing the µModule H-bridge I’ve learned a lot about H-bridges. Things that I have not seen written down anywhere but got burnt by them several times (literally in some cases). So I decided to share this information in the hope that it will be useful for others. Usual disclaimers apply so treat these pages as a starting point rather than a panacea. Update: I’m working on a new, much updated version of this series.
The GOduino II is a self-contained programmable controller for wheel-based robots. It's an Arduino Uno clone plus an L293D motor driver for under $20. It controls both motor direction and speed.The prototype predecessor to this is the GOduino, a basic version of this controller on a breadboard. I will maintain updates to this guide both here and on my blog http://techbitar.blogspot.com I have designed a few basic robots using the Arduino Uno and motor shields. Both are great for prototyping. GOduino II = Arduino + L293D Variable Speed Motor Controller
Working on motor control had always been my passion. For this project, I thought of working on something simpler in hardware. Hence it came out as a speed closed loop control of DC motor using back emf sensing. Running a DC motor is as simple as glowing a LED. Closed loop speed control of DC motor using back emf sening - hobbydebraj
DavesBEMFmotorArticle PID controller using Back EMF as the Control Feedback Usually when implementing a PID motor controller you would need an external opto-mechanical encoder or magnetic sensor to determine the position of the motor. This project uses no external position detecting parts, but instead uses the back EMF generated by a motor in order to determine position. Inspired by an article in the August 2004 Circuit Cellar magazine by Rich LeGrand, the following project demonstrates positional PID control of a single motor.
Robidouille As promised, here are some more details on how I implemented back-emf to control the wheel’s rotational speed. First, what is back-emf exactly? When you apply voltage to a DC motor, it turns. But also when the DC motor is turning, voltage appears on its pins, like a dynamo. This voltage is the back-emf I’m using here.
By software control, I mean replacing the Polulus with plain H-bridges (e.g. L298s), and having the main processor read the current from the sense resistors and switch each winding as required. This allows the current measurements to be used in more sophisticated ways than simply setting the current to match a given step position; in particular, as the generated back EMF and hence current depend on position, L*dI_1/dt=V_applied1-R*I_1-k*v*cos(x) L*dI_2/dt=V_applied2-R*I_2-k*v*sin(x) m*dv/dt=-m*mu_friction*sign(v)+k*I_1*cos(x)+k*I_2*sin(x) dx/dt=v (v=velocity, x=position with the cos and sin having a period of 4 full steps, 1 and 2 are the two windings) Software motor control and back EMF as position feedback
Introduction Electromotive force (EMF) refers to the voltage generated by a spinning motor. Measuring this voltage in order to determine the rotational speed of a motor is commonly called Back-EMF since the voltage tends to "push-back" against the circuit driving current into a motor's windings. Back-EMF Motion Feedback
As promised, here are some more details on how I implemented back-emf to control the wheel’s rotational speed. First, what is back-emf exactly? When you apply voltage to a DC motor, it turns. But also when the DC motor is turning, voltage appears on its pins, like a dynamo. Back EMF « Robidouille
Low-Cost Bidirectional Brushed DC Motor Control Using the PIC16F684