Maker Pro
Maker Pro

Stepper/sequencing relay circuit

Hi guys,

Ive searched and searched but cannot seem to find a thing.

Im sure this a relatively simple circuit but i cant seem to figure it out in my head.

Basically im looking to install some seat heaters into my car, and want to discard of the cheap nasty rockers that are supplied. They have 2 levels, i.e High temp and low temp.

I want to make a stepper circuit to control them, ideally i just want a relay board but can only find this one;
http://www.kesa.co.za/stepper.htm
And no UK suppliers.

So i want to use a push button to cycle through 2 different contacts, then off, all by 3 button presses.The relays will just have to be single pole, then i will a separate circuit for each seat.

Does anyone have any idea if such a relay exists for purchase in the uk or a circuit i can build to do this?

Thanks
Rich
 

KrisBlueNZ

Sadly passed away in 2015
Hi Rich,

I don't know if there's anything off-the-shelf that will do what you want.

I wouldn't use the word "stepper" in your descriptions or your google searches. In the electronics field, "stepper" is a type of motor that rotates in small angular increments.

It's not too difficult to design something to do what you want, and I'm ready to design something for you (I try to be helpful like that), but I need to know a few things. If you want me to help, please respond to each of these questions.

Are you confident with soldering? Have you worked with stripboard/veroboard before? Can you solder up a design that uses two latching relays and assorted small components (capacitors, resistors and dioes)? Or do you have a friend with this experience?

Do you have a local electronic component supplier? If so, can you give me the URL of their web site? Otherwise I will use components from Farnell (aka element 14 now) which is an English mail-order electronic component company. I'm not sure if they will accept casual orders; you might need to set up an account with them.

I understand you want to use one pushbutton to cycle between (1) off, (2) low heat, and (3) high heat in a circle, and that there are two heating elements in each seat warmer, right?

On the high heat setting, do you want only the high heat element activated? Or do you want both elements activated? I guess if the system originally had two rocker switches, you actually had three options - low, high, and both. How do you want to handle that?

I assume you want an LED to indicate the state of each seat heater? An option would be a bicolour LED that indicates green for low heat, red for high heat, and goes out when the heaters are both off.

Do you know the current drain of the heating elements? Do you have any technical information on the seat heaters you could quote, or point me to? Wattage or current specifications are what I would need.

I assume your electrical system is 12V with common negative?
 
Hi Kris,

Im an engineer by trade, so very competent with a soldering iron and most things practical, and yes, i have worked with stripboard before, so building the circuit is not a problem. I have quite alot of experience with electronics, but just cant get my head around this, and without any software to design and play with it im abit stuck.

The main component suppler i use is RS components, and would prefer to stick with them, but have an account with Franell too, so whatevers easiest.

Yes, you have the sequence perfectly right.

There are 2 elements, i.e one for the bakrest and one for the base of the seat, both of these work in tandem, with i assume a resistor to drop the power down for the low setting, this is all pre wired, so i would just have to replace the SPDT rocker switch with a SPDT latching relay.

I guess i was confusing in my first post, the 2 rocker switches are for each seat, so its just one spdt rocker per seat, which controls both elements.

As for the LED, yep, i wanted to use a blue (cooler setting) and red (high setting) bicoloured led to indicate status, then the push botton itself i will get the actuator engraved to a seat shape and illuminated with orange (to match dash led colour) then wire this into the dash lighting circuit.

I dont have the current draw information, but if you could help me with the circuit i can sort out relay size at a later date?

Yep, standard vehicle wiring so 12v with common neg.

Thanks for all your help!
Rich
 
Last edited:

KrisBlueNZ

Sadly passed away in 2015
OK. I'm tending away from using latching relays; I think it will be better to use a few transistors in the control circuit. So RS will have plenty of suitable relays.

Each seat has three options - OFF, LOW and HIGH, right? So you can't use just a single relay for each seat. You'll need two - either one to select ON/OFF and one to select LOW/HIGH, or one for OFF/LOW and the other for OFF/HIGH. I think the second option will be easiest to design with. Does this make sense?

Are you sure the low power setting just uses a resistor? Is it possible that the control is done by connecting the two elements in parallel across 12V for maximum heat, and in series for low heat?

Do you know how many wires connect to the seat heaters? Do you know the functions of each wire? Have you looked at the wiring of the rocker switches?

I assume the rocker switches are centre-OFF types?

LEDs with red and blue are not common. You'll need to use an RGB one. Have a look at the RS web site to see whether they have any.

Right, if I use transistors to control the relays, you can use any kind you want.

If the heat setting works by series/parallel switching, you'll probably need at least one of them to be at least SPDT, not just SPNO.
 

KrisBlueNZ

Sadly passed away in 2015
Thanks for that diagram Rich.

It doesn't explain much, but it's clear that there are four wires going from the rocker switch to the chair. The question is, how are they driven?

Can you see the connections to the rocker switch? Can you trace them out, or take a photo and post it here?

From the diagram in that PDF, it looks like there are two wires going into the rocker switch assembly (+12V and 0V) and four wires going out to the seat.

I was hoping I could design something with no active components at all, just latching relays, but I don't think that's feasible. Also, I could only find one suitable latching relay and it's 8 quid and you'd need four of them, which seems a bit excessive.

Then I was hoping I could design something with transistors only, because an automotive environment is not healthy for ICs. But I don't know of any way to make a sequence of three using only a moderate number of transistors - I would have to use three flip-flops and that's also getting a bit excessive.

So at the moment I'm going with a design based on a CD4017 CMOS decade counter (a 16-pin IC), configured with three stable states, driving two small MOSFETs, driving standard relays.

The LED looks like it could be a problem. Ideally you want red and blue in one LED, and you want the normal leaded type that you can poke through a hole in the dashboard, or insert into the pushbutton, if you want to get tricky. Mouser have one Kingbright one, and Digikey have one Lumex one, but that's not much to choose from. These ones I found are both RGB; you would just not use the green one.

Red/green bicolour LEDs are much more widely available in that style. Most new LEDs, and especially RGB LEDs, are in surface-mount packages, which would be tricky to mount.

I am working on the design. It may be a day or two before I have something I'm happy with, because unfortunately my cat is going to be put down tomorrow and I expect to be very sad for a while.

Please try to answer the questions I've asked in this post.
 
Last edited:

KrisBlueNZ

Sadly passed away in 2015
Here's where I'm up to.

attachment.php


I'm afraid there's quite a lot to it.

Here's a circuit description.

US is a CD4017B CMOS decade counter wired with its fourth output coupled back to its reset input (by DC). It has three states: 0, 1 and 2. State 0 doesn't do anything. The outputs that are active (high) in states 1 and 2 connect to R1 and R2.

CR and RR generate a positive pulse when the circuit is powered up; this is coupled into US'S reset input via DR to ensure that the circuit always powers up in state 0 (heaters OFF).

SWP is the low/high/off pushbutton. RD and CD provide some debouncing to try to eliminate contact bounce in the switch which could cause multiple clocking of QS. This is not an ideal debounce circuit; usually a Schmitt trigger is used, but this involves two more transistors or another IC and I wanted to keep this design manageable so I've compromised here.

US's Q1 output activates on the first button press after the OFF state. When this output is high, Q1 is biased ON, and energises K1's coil. K1's contacts will be wired to energise the seat heater elements in the appropriate way to get low heating.

US's Q2 output activates on the next button press, and drives Q2 and K2 in a similar way.

These outputs are also buffered by emitter followers Q3 and Q4 to provide higher drive current for LED1, the RGB LED. This is a common cathode device in a 4-pin traditional LED package, with a diffused lens and a viewing angle of 60 degrees, and a maximum continuous current of 30 mA per colour. It is made by Kingbright and is available from mouser.com.

The current limiting resistors RRED and RBLUE will provide about 30 mA per colour which will be visible in normal daylight but not direct sunlight.

DH and CH ensure that US remains powered and remembers its current state even when the supply voltage to the circuit falls dramatically for as long as ten seconds, which can happen during starting.

RV provides protection against load dump which causes a large voltage surge on the automotive power rail. RV's clamping action is not sharp and not accurately controlled, so DP protects US against overvoltage, which can damage it instantly.

Use anti-static precautions when handling US, Q1 and Q2. I recommend using an IC socket for US. Also, you must use anti-static precautions when handling the LED.

Please let me know what you think of this design.

I'm going to have another go at a design using two latching relays. It might be more expensive than this design, but it would be a lot simpler, and more reliable in an automotive environment.

It would be very helpful to know exactly how the low/high power switching is done. This may make the difference between possible and impossible for a relay-based design.

If anyone here can suggest a practical way to get a three-step control without using an IC, PLEASE let me know!
 

Attachments

  • RICH.001.GIF
    RICH.001.GIF
    14.1 KB · Views: 1,849

KrisBlueNZ

Sadly passed away in 2015
Redesign using latching relays

I've come up with a design using latching relays. It's a lot simpler and more robust than the other design.

attachment.php


The relays are Omron G2R-2-DC12 types which are available from Farnell I think. These are latching types which retain their state, and have two coils, connected independently. (Some latching relays have the coils commoned; they won't work with this design.) You also need the contacts to be DPDT (aka DPCO), at least for K1. The coil currents are somewhat significant; the values of C1~3 and R1~3 depend on them, so compare the coil currents if you want to use a different type.

If you have trouble getting that relay type, you should be able to get them from Digikey or Mouser. (I haven't checked though.)

Here's a circuit description.

The initial state is with K1 in the SET state. The contacts are opposite from the positions shown in the schematic. In this state, the left side of R1 is connected to +12V through the bottom set of contacts on K1. This charges C1 up to 12V in a fairly short time (less than a second for it to reach near-as-dammit to 12V).

This voltage sits on C1 until the pushbutton is pressed, at which time D1, D2 and D3 all pull the bottom ends of the four relay coils to ground. Any relay coil that has a voltage on its top end (the positive side) will activate. In this case, K1's RESET coil and K2's RESET coil will activate. These coils draw significant current (50 mA each, so 100 mA total), which mostly discharges C1 in around 0.1 seconds. This is long enough to flip the relay states though.

K1 flips to the RESET state, and K2 is also forced into the RESET state. With K1 RESET, the +12V supply rail passes through K1's top contact set, onto the line labelled "ON", which is active when the heater is ON. At the same time, K1's bottom contact flips to 0V and R1 helps to discharge C1.

Since K2 is RESET, the +12V voltage on the "ON" line is fed through its top contact set onto the "LOW" rail, which supplies +12V out to the low power heating elements in the seat warmer. It also feeds through R2 into C2, but C2 will not charge up much while the pushbutton is held down, because K2's SET coil is in parallel with it, and it has a resistance of 170 ohms. R2 and this coil resistance form a voltage divider that only allows C2 to charge up to about 2V, which is not enough to have any effect on K2's SET coil.

Once the pushbutton is released, C2 is free to charge up to 12V through R2. When the pushbutton is pressed next, the stored charge in C2 is dumped into K2's SET coil, flipping K2 from LOW to HIGH and powering up the high power elements in the seat warmer. The low power heating elements are now not powered.

In this state, when the pushbutton is released, C3 charges up through R3 to 12V, and when the pushbutton is pressed again, C3's charge is dumped into K1's SET winding, returning K1 to the SET state and turning the heaters OFF (the "ON" line is no longer powered).

You might think that K1 is used backwards; it is SET when the heaters are OFF and RESET when the heaters are ON. That is true. I did it that way because these relays need more current in their SET coils than in their RESET coils (because of how they work internally), so the two coils that are paralleled should be the RESET coils, which draw less current. That's the only reason I did it that way.

D4 suppresses back EMF from all of the coils. I'm not sure whether it's actually needed in this circuit, but better safe than sorry - it's only a two cent diode.

You can see from this description that you have to wait a short time with the pushbutton released before you press it again. Half a second should be long enough. This gives time for whichever capacitor (C1, C2 or C3) to charge fully, through its respective resistor.

The RGB LED is driven directly from the heater supply voltages. The 330 ohm current limiting resistors will give a current of about 30 mA for each colour. The LED is the only component that requires any special handling precautions. I would actually recommend tacking a tiny multi-layer ceramic capacitor across each of the elements that are used. Keep all the leads shorted together as you remove it from the package, bend the green lead and short it to the cathode, then solder a little MLCC (0.1 uF or something like that) from red to cathode, and from blue to cathode. Then you can handle it however you like.

Edit: This circuit draws no current from the automotive supply while the heaters are OFF.
 

Attachments

  • RICH.002.GIF
    RICH.002.GIF
    9.7 KB · Views: 2,851
Last edited:
Hi Kris, the drawing in your second post doesn't appear to work?

I will set away ordering parts and let you know how i get on!

Thanks for all the help, you're a life saver.

Rich
 

KrisBlueNZ

Sadly passed away in 2015
Sorry about that. I think there's a bug with the forum software. I've had that problem before. It should be OK now.

No problem.

I still need to know how the switch is wired to the seat heaters so I can draw the 4-pin connector onto the diagram.
 
Top