dslreports logo
site
 
    All Forums Hot Topics Gallery
spc

spacer




how-to block ads


Search Topic:
uniqs
420
share rss forum feed


aurgathor

join:2002-12-01
Lynnwood, WA
kudos:1

how to simulate bouncing contacts?

Wonder what would be the best way to simulate bouncing contacts in a test fixture.

Would it be possible to drive FETs fast enough and do the bouncing in SW, or look for some ways to modify relays to be 'bouncy'?

I'm thinking that switching several times the rated current should age contacts very quickly.

TIA
--
Wacky Races 2012!



SparkChaser
Premium
join:2000-06-06
Downingtown, PA
kudos:3
Reviews:
·Verizon FiOS

2 edits

NM misread your question.

What are you trying to do, simulate a relay contact? I'd use the relay. Why are you going over the contact current or is that just a test?

What are you switching, AC, DC, quenched or not?


annoyingrob

join:2007-03-27
Calgary, AB
reply to aurgathor

The relays should be bouncy by nature. They're a mechanical contact just like a switch (I'm assuming you're talking about an actual mechanical -click click- relay, not an SSR). Honesty, just turning the relay on should give you a bouncy enough input for a test fixture. A latching relay might might be a little more bouncy than a standard relay, as it doesn't rely on a magnetic field to keep the contact closed.



aurgathor

join:2002-12-01
Lynnwood, WA
kudos:1
reply to aurgathor

I'm trying to simulate contacts in a consumer device I cannot name. (sorry, very strict NDA )
Based on some cursory testing (scoping), occasionally they can bounce *much* worse than a relay, but they don't always do. There may also be a little bit of delay between some lines depending on the orientation of the mating surfaces.

The lines contain either low level DC (9V, up to 100 mA) or TTL level signaling. Because they can be operated by an Average Joe Blow, pretty much everything imaginable is a fair game.

Relays are normally designed to minimize bouncing, so if I go that route, I'm either looking for some really crappy relays or some that are inherently worse in that respect, or for some way to make them bad, like burning up the contacts before testing. (that was the best I could come up)
--
Wacky Races 2012!



SmokChsr
Who let the magic smoke out?
Premium
join:2006-03-17
Saint Augustine, FL
reply to aurgathor

The first crazy thought that came into my head would be to send some short bursts of audio into a Schmitt Trigger. Just adjust the audio level to the amount of bounce you desire.



aurgathor

join:2002-12-01
Lynnwood, WA
kudos:1

Hmmm, interesting idea.


lutful
... of ideas
Premium
join:2005-06-16
Ottawa, ON
Reviews:
·TekSavvy DSL

1 edit

1 recommendation

reply to SmokChsr

said by SmokChsr:

The first crazy thought that came into my head would be to send some short bursts of audio into a Schmitt Trigger.

Suitable voltage N-channel MOSFET for each input (DC or TTL) can be switched on/off to mimic any kind of bouncing mechanical contact.


tschmidt
Premium,MVM
join:2000-11-12
Milford, NH
kudos:8
Reviews:
·G4 Communications
·Fairpoint Commun..
·Hollis Hosting

Agree with lutful See Profile if you are trying to design a manufacturing or engineering test fixture program up a low end micro to drive a MOSFET.

Programming the micro is easier then trying to tweak audio tones and is extremely flexible as to bounce characteristics: cycle time, on time, off time, total bounce period and whatever else you want to throw in. Really depends on what characteristics of the DUT you are trying to test.

/tom



SmokChsr
Who let the magic smoke out?
Premium
join:2006-03-17
Saint Augustine, FL

And here I thought bounce was sposed to be random, and well bouncy.



tschmidt
Premium,MVM
join:2000-11-12
Milford, NH
kudos:8
Reviews:
·G4 Communications
·Fairpoint Commun..
·Hollis Hosting

said by SmokChsr:

And here I thought bounce was sposed to be random

I've never really thought about that before - my goal was always to ignore it to "create" perfect switch.

But in reality bounce is very predicable an if you wanted to spend the time easy to model due to the mechanical properties of the switch.

/tom


SparkChaser
Premium
join:2000-06-06
Downingtown, PA
kudos:3
Reviews:
·Verizon FiOS

said by tschmidt:

But in reality bounce is very predicable an if you wanted to spend the time easy to model due to the mechanical properties of the switch.

/tom

Here is his problem (I think )

quote:
I'm trying to simulate contacts in a consumer device I cannot name. Based on some cursory testing (scoping), occasionally they can bounce *much* worse than a relay, but they don't always do. There may also be a little bit of delay between some lines depending on the orientation of the mating surfaces.

The lines contain either low level DC (9V, up to 100 mA) or TTL level signaling. Because they can be operated by an Average Joe Blow, pretty much everything imaginable is a fair game.
Some of the worse bounce I've seen is in micro-switches, not necessarily due to the switch but the misuse of the switch.

The other concern is the customer. Some are just, well, misinformed. They'll insist that it a contact closure be an actual contact. That's when you sigh and say "well it's your money"
--
"Facts do not cease to exist because they are ignored." - Aldous Huxley

"The good thing about science is that it's true whether or not you believe in it." - Neil deGrasse Tyson


tschmidt
Premium,MVM
join:2000-11-12
Milford, NH
kudos:8
Reviews:
·G4 Communications
·Fairpoint Commun..
·Hollis Hosting

Good point - I was thinking about push buttons not micro switches.

To be honest never did a detailed analysis just brute force or if I had the option used a SPDT switch. I've never seen a switch bounce all the way to the other contact.

/tom



cowboyro
Premium
join:2000-10-11
Shelton, CT
reply to aurgathor

Have a solenoid push a doorbell button. Feed the solenoid with random levels of signal (music?). Can't get more realistic than that...


lutful
... of ideas
Premium
join:2005-06-16
Ottawa, ON
Reviews:
·TekSavvy DSL
reply to SmokChsr

said by SmokChsr:

And here I thought bounce was sposed to be random, and well bouncy.

The rand() software routine can be used if it is really necessary to randomize the pass MOSFETs or solenoids.

A random control signal is usually created using a Linear Feedback Shift Register (LFSR) because it provides a deterministic pseudo-random sequence for each test.
»en.wikipedia.org/wiki/Linear_fee···register

Curiously I joined Nortel (then Northern Telecom) as a Test Engineer way back in 1992 and became a "Design for Testability" or DFT specialist in 1995. We used LFSRs for various built-in self-tests (BIST).


aurgathor

join:2002-12-01
Lynnwood, WA
kudos:1

Among other things we have a couple of these: »www.triextech.com/Products/Relay···Pro.php# but since it's USB controlled (plus the app is written in C#) I don't think I can switch the FETs fast enough to realistically simulate real life bouncing.
--
Wacky Races 2012!


iknow_t

join:2012-05-03

5 recommendations

reply to aurgathor

here's one you can try. »www.freepatentsonline.com/3925723.pdf



aurgathor

join:2002-12-01
Lynnwood, WA
kudos:1

1 recommendation

reply to aurgathor

Discussed this a bit more, and it is going to be part of another test fixture where the FETs will be driven by an FPGA.

According to the EEs, some FETs can have switching times measured in nanoseconds, so they should be more than fast enough for bounce simulation. The exact implementation of bouncing is TBD, but we'll definitely be using some ideas from the above patent. There will be a random number generator, be it a linear congruential generator or LSFR that can generate repeatable semi random sequences when started with the same parameters. In addition, there is also a possibility of an audio input and a built in white noise generator (just a zener with an op-amp or two) if we want to use something that is not based on SW.
--
Wacky Races 2012!


TheMG
Premium
join:2007-09-04
Canada
kudos:2

1 recommendation

reply to aurgathor

Reading through this thread I've been wondering... why is such a test fixture even necessary?

Assuming the DUT consists of momentary push-buttons and a microcontroller which together form the physical user interface, why not just gather contact bounce measurements from whatever switches you're using, and then tweak the programming of the microcontroller such that it will ignore the worst-case measured bounce with an extra margin?



SparkChaser
Premium
join:2000-06-06
Downingtown, PA
kudos:3
Reviews:
·Verizon FiOS

said by TheMG:

Reading through this thread I've been wondering... why is such a test fixture even necessary?

Assuming the DUT consists of momentary push-buttons and a microcontroller which together form the physical user interface, why not just gather contact bounce measurements from whatever switches you're using, and then tweak the programming of the microcontroller such that it will ignore the worst-case measured bounce with an extra margin?

Oh stop, you're making sense.

My first job out of school, waaaaaaay back in the 70's, was to take a machine that operated on relay logic and convert it to TTl logic and then micro processor. Pretty much all of the problems were fixed in SW. It's only gotten better. As I mentioned previously, micro switches were a bigger problem than relays. There is a lot more mechanical variables with them. As you say, you have to get worse case data and build from there.
--
"Facts do not cease to exist because they are ignored." - Aldous Huxley

"The good thing about science is that it's true whether or not you believe in it." - Neil deGrasse Tyson


aurgathor

join:2002-12-01
Lynnwood, WA
kudos:1
reply to TheMG

said by TheMG:

Reading through this thread I've been wondering... why is such a test fixture even necessary?

Assuming the DUT consists of momentary push-buttons and a microcontroller which together form the physical user interface, why not just gather contact bounce measurements from whatever switches you're using, and then tweak the programming of the microcontroller such that it will ignore the worst-case measured bounce with an extra margin?

Because your assumptions are incorrect. Pretty much all of them.

I used the word "contacts" because there are no switches here.
--
Wacky Races 2012!

TheMG
Premium
join:2007-09-04
Canada
kudos:2

said by aurgathor:

Because your assumptions are incorrect. Pretty much all of them.

Damned NDA!!!

Contacts, switches, buttons... same idea.

lutful
... of ideas
Premium
join:2005-06-16
Ottawa, ON
Reviews:
·TekSavvy DSL
reply to SparkChaser

said by SparkChaser:

My first job out of school, waaaaaaay back in the 70's, was to take a machine that operated on relay logic and convert it to TTl logic and then micro processor. Pretty much all of the problems were fixed in SW.

Please describe in a new thread one of the more complex "hardware" type problem solved using "software" in the 70s ... what processor, how much ram, assembly or high level language, etc.

FYI, these days there are excellent "hardware" solutions for switch debouncing. I wrote about the LTC6994 a few months ago - it can be used for general purpose input conditioning and debouncing of any kind of mechanical contacts. »www.linear.com/product/LTC6994

Another one dedicated for power button: LTC2950 contains a push button input with independently programmable ON and OFF debounce times... also contains a simple microprocessor interface to allow for proper system housekeeping prior to power down. »www.linear.com/product/LTC2950