Posts Tagged ‘motor’

NE555 based PWM DC Motor Speed Controller Circuit with PCB Layout

Written by Prithwiraj Bose on . Posted in Hobby Centre

In this article I will show you how to create a NE555 Timer IC based PWM DC Motor Speed Controller. I will share the circuit diagram, component list, tips for making the circuit yourself and a fully working Printable PCB Layout. You can fabricate your PCB with this layout and make the circuit easily. This is one of the most common circuits of my Electronics Hobby series.

 

 

Circuit Diagram of Motor Speed Controller

Following is a working circuit diagram of the NE555 PWM Based DC Motor Speed Controller.

NE555 DC Motor Speed Controller Circuit Diagram

 

How the Motor Speed Controller Works

In this circuit the NE555 timer IC is configured to generate square wave. The capacitor C2 gets changed and discharged through the output pin i.e. pin 3 of the NE555 timer. C2 charges through diode D1 and discharges through diode D2. The potentiometer VR1 defined the rate of charging and discharging thus the duty cycle of the PWM output.

The discharge pin i.e. pin 7 of the 555 timer IC is used to drive the MOSFET by generating PWM, instead of its usual purpose. It pulls down the MOSFET Gate during the discharge cycle of the circuit. The 1K resistor, during charge cycle pulls the MOSFET Gate back to high. Thus the MOSFET controls the speed of the motor, effectively driven by PWM Signal.

Note that there is a contradicting version of the circuit on the internet, where pin 3 and pin is just used the opposite way than how it is used in my circuit diagram. Rest assured that both of the circuits work. Pin 3 and Pin 7 of NE555 are almost equivalent to each other. The only difference is, pin 7 is an open-collector, while pin 3 has a totem-pole output. The 1K resistor is connected to pin 7, and it pulls up the MOSFET Gate to high, which eliminates any difference between pin 3 and pin 7.

 

PCb Layout of Motor Speed Controller

The images shown below are scaled down to fit this page. Click on the images to open the actual-sized version of the PCB Layout images. Do not change the size of the images while printing. Alternatively you can use the printable PDF versions of the PCB Layout (download link given below these images).

Copper (Bottom) side
NE555 DC Motor Speed Controller PCB Layout Copper Side
Silk Screen (Top) Side
NE555 DC Motor Speed Controller PCB Layout Front Side
 

Download the Printable PDF of NE555 based Motor Speed Controller PCB Layout
NE555 based PWM Speed Controller PCB Layout – Copper Side
NE555 based PWM Speed Controller PCB Layout – Top/Front Side

Buy the components required to make this circuit from an online electronic components shop and start making now! For any help, do not hesitate to contact me.

Create an Obstacle Avoiding Arduino Robot

Creating an Obstacle avoiding Robot with Arduino, Adafruit Motor Shield v1 and Ultra-sonic Sensor

Written by Prithwiraj Bose on . Posted in Hobby Centre, Programming Tips Tricks Tutorials

Let’s make an Obstacle avoiding Robot. In this brief tutorial I will show how to build a perfect obstacle avoiding (run-away) robot using Arduino. I have used an Ultrasonic sensor mounted on a Servo Motor and a motor Shield for this project. The motor driver is Adafruit Motor Shield. This single shield is capable of controlling upto 4 DC motos and 1 servo motor simultaneously. Download link for the Arduino Robot Project Code (Arduino Sketch along with the required libraries) is available below. In this tutorial, I have not highlighted the instructions to setup the Robotic chassis along with BO Motors, Caster Wheel, Arduino Board etc. Rather I have concentrated on the how to extend the circuits to make it usable, connect the circuits and write the Arduino Sketch to make the Motors rotate by sensing the distance from Obstacles. When I created my first Arduino based Obstacle avoiding Robot, I was pretty much done with the mechanical connection, before getting stuck into the circuitry and programming. These were the 2 areas, where I struggled a lot and had to refer multiple tutorials to get a complete road-map. Here I will try to address those problems, which are often encountered by Newbies.