Introduction to ULN2003
Hello everyone! I hope you will be absolutely fine and having fun. Today, I am going to give you a detailed Introduction to ULN2003. We will also discuss the ULN2003 Datasheet, Pinout, Circuit Diagram & Proteus Simulation. If you have ever controlled any motor (i.e. DC Motor, Stepper Motor etc.) with a microcontroller (i.e. PIC, Arduino etc.), then you must have heard about drivers. Why do we need to use drivers? We use drivers (to control motors) because of two reasons.
- First: Microcontrollers operate at 5V while motors operate at different voltages (5V, 12V, 24V etc.).
- Second: Motors are Inductive loads thus they produce back emf, which may damage your microcontroller permanently (if not handled correctly).
Because of these two reasons, we have to use the driver in between the microcontroller & motor. There are different types of motor drivers available and ULN2003 is one of them. If we check its datasheet, then we can see that ULN2003 can handle up to 50V & 500mA. As its current rating is not that high, so it's used to control small motors. For heavy motors, we normally use relays in between ULN2003 & motor. In this case, the Microcontroller is sending a signal to ULN2003, which then forwards it to relays (connected at output). Remember, the relay is also an inductive load. So, we can control different types of loads with ULN2003 i.e. motor, relay, solenoid, actuator etc. You should also have a look at Relay Interfacing with Microcontroller using ULN2003A.
Now, let's have a look at what's inside ULN2003 in detail:
Where To Buy? |
---|
No. | Components | Distributor | Link To Buy |
1 | ULN2003 | Amazon | Buy Now |
ULN2003: Definition
- ULN2003 is a 16 Pin IC, consisting of 7 Darlington pairs (each pair protected with suppression diode) and thus has the capability to handle a maximum of 7 loads(could be inductive).
- In simple words, we have 7 drivers in a single ULN2003 chip and thus can control a maximum of 7 loads.
- Each Darlington pair can handle a maximum 500mA load, while the peak value is 600mA.
- Similarly, the maximum output voltage of each Darlington pair is 50V.
- In the below figure, you can see ULN2003 has 16 Pins, where inputs and their respective outputs are placed in front of each other(for ease of circuit designing).
- Other than I/O Pins, we have Ground Pin where we need to provide 0V & Vcc (Common) Pin.
ULN2003 Datasheet
- Here's the link to download ULN2003 datasheet, must read it once.
- I have also given the link to a reliable source, from where you can buy ULN2003 IC.
Download ULN2003 Datasheet
ULN2003 Pinout
- ULN2003 has 16 pins in total:
- 7 Input pins (Pin # 1 to Pin # 7)
- 7 Output pins (Pin # 10 to Pin # 16)
- 1 Ground pin (Pin # 8)
- 1 COM pin (Pin # 9)
- ULN2003 Pinout is shown in the below figure:
ULN2003 Pin Description
- The functions associated with each pin of ULN2003 along with pin names are shown in the table given below.
ULN2003 Darlington Pair
- ULN2003 consists of 7 identical Darlington pairs.
- A single Darlington pair consists of two bipolar transistors its maximum operating values are 50V & 500mA (peak 600mA).
- These two transistors of the Darlington pair have a common emitter, while their collectors are open.
- Here's the circuit diagram of a single Darlington pair, shown in the below figure:
ULN2003A Free-Wheeling Diodes
- ULN2003A has free-wheeling diodes, which protect from back emf.
- So, if we are using an inductive load (i.e. relays), then we don't need to add extra diodes if we are controlling it with ULN2003A.
- Logic Diagram of ULN2003A is shown in the below figure:
ULN2003 Features
There are a lot of key features associated with the relay driver ULN2003. A few of them are given below:
- 500mA of the rated collector.
- The high output voltage of around 50V.
- Relay driver applications.
- Output clamp diodes.
- Compatible input with popular logic types.
- Some of the key features are also given in the table below for a better understanding of the working conditions of ULN2003.
ULN2003 Applications
The relay circuit driver ULN2003 has a wide range of applications in real life. Some of the major applications associated with ULN2003A are given below.
- Logic buffers.
- Line drivers.
- Relay drivers (for driving different loads).
- Lamp drivers.
- LED display drivers (display devices).
- Motor (stepper and DC brushed motor) drivers.
ULN2003 Proteus Simulation
- I have designed a simulation in Proteus ISIS for LED control using ULN2003.
- The screenshot of the simulation is shown in the figure below.
- As you can see in the above figure that I have connected Logic State at all inputs of ULN2003A and have connected Leds at outputs.
- So, now when I make the Logic State HIGH then the respective LED will also go ON.
- The running form of the above simulation is shown in the figure below.
- If you change the state of the logic state from 0 to 1, the corresponding LED will be turned ON as shown in the above figure.
- You can download the Proteus simulation here by clicking on the button below.
- Just download the .rar file, extract it and enjoy the simulation.
ULN2003 Simulation in Proteus
- Here's the video in which I have shown how to use ULN2003A in Proteus:
So that is all from the tutorial Introduction to ULN2003. I hope you enjoyed this tutorial. If you face any sort of problem regarding anything, you can ask me anytime in the comments without even feeling any kind of hesitation. I will try my level to entertain you and to solve your issues in a better way, if possible. Our entire team is 24/7 here to entertain you and to solve your issues in one way or the other. I will explore different ICs in my later tutorials and will surely share them with all of you as well. So, till then, Take Care :)
Relay Interfacing With Microcontroller using ULN2003A
Hello friends, I hope you all are doing great. In today's tutorial, I am going to explain the Relay Interfacing with Microcontroller using ULN2003A. In the previous lecture, we have discussed the detailed Introduction to Relay along with its working. Now we are going to practically interface the relay with a microcontroller to design an automatic switch. Relay is a key component in almost every electronic circuit. It can be
used as a switch and can also be used as a voltage regulator.
The microcontroller I am going to use here is PIC18F4552 but you can use any other Microcontroller. You just need to change the syntax of coding but the logic will remain the same. Here, I am using ULN2003A to control the relay and from this relay, we can control anything.
So, let's get started:
Relay Interfacing With Microcontroller
- I am using a 12V relay, meaning we need to provide a 12V at its input coil, in order to get it energized.
- In simple words, when we send the +12V signal from our PIC microcontroller, it will actuate the relay coil and the relay output gets connected and when we make the input LOW, the coil de-energized.
Now, the question is ???
- But the real question is PIC gives 5V at its high signal but the relay operates at 12V so how to convert this 5V signal into 12V?
What's the Solution ???
- The solution to this problem is ULN2003A.
- ULN2003A is used in between the PIC and the relay, so when the PIC sends the HIGH signal i.e. 5V, ULN converts it to 12V, sends it to the relay and the relay gets actuated.
Circuit Diagram of Relay with ULN2003A
- Here's the circuit diagram for this complete project:
- Resistance R1 is used as a pull-up resistance.
- LED is used for the indication, when the relay is actuated LED goes ON otherwise OFF.
- The programming portion is not much, just send high and low signals from PIC to ON and OFF the relay.
That's all for today guys. If you guys have any problem in any part of this tutorial ask in the comments, and I will reply to your queries. Till next tutorial ALLAH HAFIZ .... :))