Driving relays with MCU GPIOs

Started by Bhavani August 28, 2009
I am designing a CPU board with LVTTL/LVCMOS GPIOs which should
control the 12V relays on another board which is connected to the CPU
board with 5-10 feet cable. I am planning to use ULN2001/ULN2801
Darlington pair ICs on the CPU board to drive the remote relays. For
this I need to bring the 12V (with lots of current ) power to the CPU
board.  Will there be any noise issue with this on the high speed
(400Mhz) CPU board or is there any better way?

Also can I use the same 12V power as input to the 12V to 5V switching
DC-DC converter on the CPU board which is generating 1.5V, 1.8V and
3.3V for the MCU core, SDRAM and peripherals?

Thanks
-bhav
On Fri, 28 Aug 2009 07:47:22 -0700 (PDT), Bhavani
<bhavanireddy@gmail.com> wrote:

>I am designing a CPU board with LVTTL/LVCMOS GPIOs which should >control the 12V relays on another board which is connected to the CPU >board with 5-10 feet cable. I am planning to use ULN2001/ULN2801 >Darlington pair ICs on the CPU board to drive the remote relays. For >this I need to bring the 12V (with lots of current ) power to the CPU >board. Will there be any noise issue with this on the high speed >(400Mhz) CPU board or is there any better way?
If you use a multilayer board with a solid ground plane layer, and ground/bypass things well, there should be no problems. Bolt the board to your enclosure with metal spacers, with the mounting holes hard connected to the pcb ground plane.
> >Also can I use the same 12V power as input to the 12V to 5V switching >DC-DC converter on the CPU board which is generating 1.5V, 1.8V and >3.3V for the MCU core, SDRAM and peripherals?
Sure. John
On Fri, 28 Aug 2009 07:47:22 -0700 (PDT), Bhavani
<bhavanireddy@gmail.com> wrote:

>I am designing a CPU board with LVTTL/LVCMOS GPIOs which should >control the 12V relays on another board which is connected to the CPU >board with 5-10 feet cable. I am planning to use ULN2001/ULN2801 >Darlington pair ICs on the CPU board to drive the remote relays. For >this I need to bring the 12V (with lots of current ) power to the CPU >board. Will there be any noise issue with this on the high speed >(400Mhz) CPU board or is there any better way?
The +12 V could go directly to the relay board, but the real issue is the return current through the darlingtons to ground, in order to avoid the large currents flowing through the MCU ground plane. Putting the darlingtons close to the power feed point on the MCU board will eliminate most of the problems, when the actual MCU ground can bounce around (which on the other hand can cause problem, if there are grounded inputs to the MCU). Have you considered putting the darlingtons on the relay board ?
>Also can I use the same 12V power as input to the 12V to 5V switching >DC-DC converter on the CPU board which is generating 1.5V, 1.8V and >3.3V for the MCU core, SDRAM and peripherals?
The +12 V side should not be an issue, but you should look at the ground side and look if there are common current paths in the ground (which always has some resistance). Paul
On Fri, 28 Aug 2009 07:47:22 -0700 (PDT), Bhavani
<bhavanireddy@gmail.com> wrote:

>I am designing a CPU board with LVTTL/LVCMOS GPIOs which should >control the 12V relays on another board which is connected to the CPU >board with 5-10 feet cable. I am planning to use ULN2001/ULN2801 >Darlington pair ICs on the CPU board to drive the remote relays. For >this I need to bring the 12V (with lots of current ) power to the CPU >board. Will there be any noise issue with this on the high speed >(400Mhz) CPU board or is there any better way?
A little decoupling and a good *solid* ground plane and you'll be fine. Make sure you put the free-wheeling diodes at the drivers.
>Also can I use the same 12V power as input to the 12V to 5V switching >DC-DC converter on the CPU board which is generating 1.5V, 1.8V and >3.3V for the MCU core, SDRAM and peripherals?
I don't see any problems, assuming the regulator is stiff enough to supply the relays.
On Aug 29, 6:02=A0am, krw <k...@att.bizzzzzzzzzzz> wrote:
> On Fri, 28 Aug 2009 07:47:22 -0700 (PDT), Bhavani > > <bhavanire...@gmail.com> wrote: > >I am designing a CPU board with LVTTL/LVCMOS GPIOs which should > >control the 12V relays on another board which is connected to the CPU > >board with 5-10 feet cable. I am planning to use ULN2001/ULN2801 > >Darlington pair ICs on the CPU board to drive the remote relays. For > >this I need to bring the 12V (with lots of current ) power to the CPU > >board. =A0Will there be any noise issue with this on the high speed > >(400Mhz) CPU board or is there any better way? > > A little decoupling and a good *solid* ground plane and you'll be > fine. =A0Make sure you put the free-wheeling diodes at the drivers. > > >Also can I use the same 12V power as input to the 12V to 5V switching > >DC-DC converter on the CPU board which is generating 1.5V, 1.8V and > >3.3V for the MCU core, SDRAM and peripherals? > > I don't see any problems, assuming the regulator is stiff enough to > supply the relays.
Thanks all. This will help.
Bhavani wrote:
> I am designing a CPU board with LVTTL/LVCMOS GPIOs which should > control the 12V relays on another board which is connected to the CPU > board with 5-10 feet cable. I am planning to use ULN2001/ULN2801 > Darlington pair ICs on the CPU board to drive the remote relays.
I tend to prefer optoisolators in such situations. That way, you know you're not going to have problems. Certainly you can make it work with drive transistors, but you may need snubbing diodes, bypass caps, and good ground planes to make it all work. John Nagle
"John Nagle" <nagle@animats.com> wrote in message 
news:4aac66d5$0$1590$742ec2ed@news.sonic.net...
> Bhavani wrote: >> I am designing a CPU board with LVTTL/LVCMOS GPIOs which should >> control the 12V relays on another board which is connected to the CPU >> board with 5-10 feet cable. I am planning to use ULN2001/ULN2801 >> Darlington pair ICs on the CPU board to drive the remote relays. >
I would put the ULN2xxx on the relay board if at all possible. Do the relays have internal back EMF diodes? If not, you MUST put diodes on the relay board, otherwise the kick-back from those coils down 5-10 feet of cable could crash your CPU!
"Andrew Holme" <ah@nospam.co.uk> wrote in message 
news:0W3rm.14990$Aw.3675@newsfe19.ams2...
> > "John Nagle" <nagle@animats.com> wrote in message > news:4aac66d5$0$1590$742ec2ed@news.sonic.net... >> Bhavani wrote: >>> I am designing a CPU board with LVTTL/LVCMOS GPIOs which should >>> control the 12V relays on another board which is connected to the CPU >>> board with 5-10 feet cable. I am planning to use ULN2001/ULN2801 >>> Darlington pair ICs on the CPU board to drive the remote relays. >> > > I would put the ULN2xxx on the relay board if at all possible. > > Do the relays have internal back EMF diodes? If not, you MUST put diodes > on the relay board, otherwise the kick-back from those coils down 5-10 > feet of cable could crash your CPU! >
Actually, you need to buffer the GPIO outputs too! You don't want wimpy GPIOs driving 10 foot cables. I suppose you're trying to avoid buffering the GPIOs.
"Andrew Holme" <ah@nospam.co.uk> wrote in message 
news:0W3rm.14990$Aw.3675@newsfe19.ams2...
> > "John Nagle" <nagle@animats.com> wrote in message > news:4aac66d5$0$1590$742ec2ed@news.sonic.net... >> Bhavani wrote: >>> I am designing a CPU board with LVTTL/LVCMOS GPIOs which should >>> control the 12V relays on another board which is connected to the CPU >>> board with 5-10 feet cable. I am planning to use ULN2001/ULN2801 >>> Darlington pair ICs on the CPU board to drive the remote relays. >> > > I would put the ULN2xxx on the relay board if at all possible. > > Do the relays have internal back EMF diodes? If not, you MUST put diodes > on the relay board, otherwise the kick-back from those coils down 5-10 > feet of cable could crash your CPU! >
Actually, you need to buffer the GPIO outputs too! You don't want wimpy GPIOs driving 10 foot cables. I suppose you're trying to avoid buffering the GPIOs.
"John Nagle" <nagle@animats.com> wrote in message 
news:4aac66d5$0$1590$742ec2ed@news.sonic.net...
> Bhavani wrote: >> I am designing a CPU board with LVTTL/LVCMOS GPIOs which should >> control the 12V relays on another board which is connected to the CPU >> board with 5-10 feet cable. I am planning to use ULN2001/ULN2801 >> Darlington pair ICs on the CPU board to drive the remote relays. >
I would put the ULN2xxx on the relay board if at all possible. Do the relays have internal back EMF diodes? If not, you MUST put diodes on the relay board, otherwise the kick-back from those coils down 5-10 feet of cable could crash your CPU!
Bhavani wrote:
> I am designing a CPU board with LVTTL/LVCMOS GPIOs which should > control the 12V relays on another board which is connected to the CPU > board with 5-10 feet cable. I am planning to use ULN2001/ULN2801 > Darlington pair ICs on the CPU board to drive the remote relays.
I tend to prefer optoisolators in such situations. That way, you know you're not going to have problems. Certainly you can make it work with drive transistors, but you may need snubbing diodes, bypass caps, and good ground planes to make it all work. John Nagle
On Aug 29, 6:02=A0am, krw <k...@att.bizzzzzzzzzzz> wrote:
> On Fri, 28 Aug 2009 07:47:22 -0700 (PDT), Bhavani > > <bhavanire...@gmail.com> wrote: > >I am designing a CPU board with LVTTL/LVCMOS GPIOs which should > >control the 12V relays on another board which is connected to the CPU > >board with 5-10 feet cable. I am planning to use ULN2001/ULN2801 > >Darlington pair ICs on the CPU board to drive the remote relays. For > >this I need to bring the 12V (with lots of current ) power to the CPU > >board. =A0Will there be any noise issue with this on the high speed > >(400Mhz) CPU board or is there any better way? > > A little decoupling and a good *solid* ground plane and you'll be > fine. =A0Make sure you put the free-wheeling diodes at the drivers. > > >Also can I use the same 12V power as input to the 12V to 5V switching > >DC-DC converter on the CPU board which is generating 1.5V, 1.8V and > >3.3V for the MCU core, SDRAM and peripherals? > > I don't see any problems, assuming the regulator is stiff enough to > supply the relays.
Thanks all. This will help.
On Fri, 28 Aug 2009 07:47:22 -0700 (PDT), Bhavani
<bhavanireddy@gmail.com> wrote:

>I am designing a CPU board with LVTTL/LVCMOS GPIOs which should >control the 12V relays on another board which is connected to the CPU >board with 5-10 feet cable. I am planning to use ULN2001/ULN2801 >Darlington pair ICs on the CPU board to drive the remote relays. For >this I need to bring the 12V (with lots of current ) power to the CPU >board. Will there be any noise issue with this on the high speed >(400Mhz) CPU board or is there any better way?
A little decoupling and a good *solid* ground plane and you'll be fine. Make sure you put the free-wheeling diodes at the drivers.
>Also can I use the same 12V power as input to the 12V to 5V switching >DC-DC converter on the CPU board which is generating 1.5V, 1.8V and >3.3V for the MCU core, SDRAM and peripherals?
I don't see any problems, assuming the regulator is stiff enough to supply the relays.
On Fri, 28 Aug 2009 07:47:22 -0700 (PDT), Bhavani
<bhavanireddy@gmail.com> wrote:

>I am designing a CPU board with LVTTL/LVCMOS GPIOs which should >control the 12V relays on another board which is connected to the CPU >board with 5-10 feet cable. I am planning to use ULN2001/ULN2801 >Darlington pair ICs on the CPU board to drive the remote relays. For >this I need to bring the 12V (with lots of current ) power to the CPU >board. Will there be any noise issue with this on the high speed >(400Mhz) CPU board or is there any better way?
The +12 V could go directly to the relay board, but the real issue is the return current through the darlingtons to ground, in order to avoid the large currents flowing through the MCU ground plane. Putting the darlingtons close to the power feed point on the MCU board will eliminate most of the problems, when the actual MCU ground can bounce around (which on the other hand can cause problem, if there are grounded inputs to the MCU). Have you considered putting the darlingtons on the relay board ?
>Also can I use the same 12V power as input to the 12V to 5V switching >DC-DC converter on the CPU board which is generating 1.5V, 1.8V and >3.3V for the MCU core, SDRAM and peripherals?
The +12 V side should not be an issue, but you should look at the ground side and look if there are common current paths in the ground (which always has some resistance). Paul
On Fri, 28 Aug 2009 07:47:22 -0700 (PDT), Bhavani
<bhavanireddy@gmail.com> wrote:

>I am designing a CPU board with LVTTL/LVCMOS GPIOs which should >control the 12V relays on another board which is connected to the CPU >board with 5-10 feet cable. I am planning to use ULN2001/ULN2801 >Darlington pair ICs on the CPU board to drive the remote relays. For >this I need to bring the 12V (with lots of current ) power to the CPU >board. Will there be any noise issue with this on the high speed >(400Mhz) CPU board or is there any better way?
If you use a multilayer board with a solid ground plane layer, and ground/bypass things well, there should be no problems. Bolt the board to your enclosure with metal spacers, with the mounting holes hard connected to the pcb ground plane.
> >Also can I use the same 12V power as input to the 12V to 5V switching >DC-DC converter on the CPU board which is generating 1.5V, 1.8V and >3.3V for the MCU core, SDRAM and peripherals?
Sure. John
I am designing a CPU board with LVTTL/LVCMOS GPIOs which should
control the 12V relays on another board which is connected to the CPU
board with 5-10 feet cable. I am planning to use ULN2001/ULN2801
Darlington pair ICs on the CPU board to drive the remote relays. For
this I need to bring the 12V (with lots of current ) power to the CPU
board.  Will there be any noise issue with this on the high speed
(400Mhz) CPU board or is there any better way?

Also can I use the same 12V power as input to the 12V to 5V switching
DC-DC converter on the CPU board which is generating 1.5V, 1.8V and
3.3V for the MCU core, SDRAM and peripherals?

Thanks
-bhav