It is currently Fri Mar 29, 2024 3:29 am


Arduino + ULN2003A drivers

Building organ consoles for use with Hauptwerk, adding MIDI to existing consoles, obtaining parts, ...
  • Author
  • Message
Offline

Coenraads

Member

  • Posts: 73
  • Joined: Fri Feb 01, 2019 10:13 pm

Arduino + ULN2003A drivers

PostMon Mar 25, 2019 4:48 pm

Arduino Mega outputs are TTL (5V) compatible and each output pin can source or sink up to 40 mA provided the total output of all the pins together does not exceed 200 mA. So having 64 output pins, for example, providing 2mA each simultaneously is well within the Arduino's capability. But in the world of organ consoles and pipe organs, required currents and voltages are more typically 200 mA at 12 V. Thus drivers are required.

Looking at the specifications of the ULN2003A chip, it appears to be just what is needed.

https://components101.com/stepper-motor ... -datasheet

At a cost of about 25 cents per chip, each chip provides 7 independent drivers. And although the COM line does not need to be connected for the drivers to function, this line MUST be connected when using inductive loads since the COM line connects to the built in spark suppression diodes. Each driver is good for 500 mA, although driving all 7 drivers at this level for any length of time will undoubtedly cause the chip to overheat.

First I tried a Kimber Allen drawknob magnet which drew 360 mA at 12.5 V and it functioned nicely. The voltage drop across the driver was 1.1 V meaning the coil was receiving 11.4 V. I was using a 12 V battery. A 13.8 V power supply would be a better choice. Since the duty cycle is so low, I think the ULN 2003A is a good match for SAM duty.

However, would it drive a small solenoid requiring 1.74 A? The answer is yes providing you do what I did, which is to connect three drivers in parallel, which is allowed. The solenoid worked nicely against its return spring. Keeping the power on for more than 10 seconds made the chip uncomfortably hot. So again this works best with a short duty cycle.

Next I tried the solenoid using only a single driver (an overload of about 300%) After a few seconds the chip was too hot to touch and it couldn't manage the current to fully compress the return spring. In fact the current got less and less suggesting some kind of current limiting was taking place. But at about 10 seconds the driver finally failed in the fully on mode. I'm surprised it lasted that long, and even then there was no smoke or signs of damage!

The amount of current, at 5V, needed to drive the input to each Darlington pair is just under one mA making it very compatible with the Arduino. Even with a driver turned off, it is safe to connect the output to ground. I assume it is the open-collector configuration of the Darlington pair that makes it possible to wire the outputs in this wired-OR configuration. For example, if you have an older organ wired positive common, you could wire the outputs of the ULN2003A in parallel to make it playable from a MIDI keyboard.

All in all, the ULN2003A is a versatile chip which I will use in my next MIDI console project. If you have had problems using it, please let us know.
John
Offline
User avatar

TheOrganDoc

Member

  • Posts: 800
  • Joined: Sun Sep 19, 2004 10:13 pm
  • Location: South East, Florida, USA

Re: Arduino + ULN2003A drivers

PostMon Mar 25, 2019 6:13 pm

I have utilized Hundreds of ULN2003 Hammer Drivers, (They were designed for use in "Impact printers"), and only had burnouts, when their ratings were surpassed ! ( We had a complete WurliTzer pipe organ utilizing ULN2003's, for all Pipe and percussion Magnet drivers,, "No Problems" "TheOrganDoc"


Coenraads wrote:Arduino Mega outputs are TTL (5V) compatible and each output pin can source or sink up to 40 mA provided the total output of all the pins together does not exceed 200 mA. So having 64 output pins, for example, providing 2mA each simultaneously is well within the Arduino's capability. But in the world of organ consoles and pipe organs, required currents and voltages are more typically 200 mA at 12 V. Thus drivers are required.

Looking at the specifications of the ULN2003A chip, it appears to be just what is needed.

https://components101.com/stepper-motor ... -datasheet

At a cost of about 25 cents per chip, each chip provides 7 independent drivers. And although the COM line does not need to be connected for the drivers to function, this line MUST be connected when using inductive loads since the COM line connects to the built in spark suppression diodes. Each driver is good for 500 mA, although driving all 7 drivers at this level for any length of time will undoubtedly cause the chip to overheat.

First I tried a Kimber Allen drawknob magnet which drew 360 mA at 12.5 V and it functioned nicely. The voltage drop across the driver was 1.1 V meaning the coil was receiving 11.4 V. I was using a 12 V battery. A 13.8 V power supply would be a better choice. Since the duty cycle is so low, I think the ULN 2003A is a good match for SAM duty.

However, would it drive a small solenoid requiring 1.74 A? The answer is yes providing you do what I did, which is to connect three drivers in parallel, which is allowed. The solenoid worked nicely against its return spring. Keeping the power on for more than 10 seconds made the chip uncomfortably hot. So again this works best with a short duty cycle.

Next I tried the solenoid using only a single driver (an overload of about 300%) After a few seconds the chip was too hot to touch and it couldn't manage the current to fully compress the return spring. In fact the current got less and less suggesting some kind of current limiting was taking place. But at about 10 seconds the driver finally failed in the fully on mode. I'm surprised it lasted that long, and even then there was no smoke or signs of damage!

The amount of current, at 5V, needed to drive the input to each Darlington pair is just under one mA making it very compatible with the Arduino. Even with a driver turned off, it is safe to connect the output to ground. I assume it is the open-collector configuration of the Darlington pair that makes it possible to wire the outputs in this wired-OR configuration. For example, if you have an older organ wired positive common, you could wire the outputs of the ULN2003A in parallel to make it playable from a MIDI keyboard.

All in all, the ULN2003A is a versatile chip which I will use in my next MIDI console project. If you have had problems using it, please let us know.
John
Mel..............TheOrganDoc...............
Offline

Coenraads

Member

  • Posts: 73
  • Joined: Fri Feb 01, 2019 10:13 pm

Re: Arduino + ULN2003A drivers

PostMon Mar 25, 2019 6:22 pm

Thank you "Doc." This gives me the confidence to go ahead with my plan to use them in MIDIfying a pipe organ whose console needs to be made moveable.
John

Return to DIY organ consoles / MIDI

Who is online

Users browsing this forum: No registered users and 7 guests

cron