 | 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! |
|
 SparkChaserPremium 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?
|
|
 | 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. |
|
 | 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! |
|
 SmokChsrWho 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. |
|
 | Hmmm, interesting idea. |
|
 lutful... of ideasPremium 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. |
|
 tschmidtPremium,MVM join:2000-11-12 Milford, NH kudos:8 Reviews:
·G4 Communications
·Fairpoint Commun..
·Hollis Hosting
| Agree with lutful 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 |
|
 SmokChsrWho 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. |
|
 tschmidtPremium,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 |
|
 SparkChaserPremium 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 |
|
 tschmidtPremium,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 |
|
 cowboyroPremium 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 ideasPremium 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). |
|
 | 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! |
|
|
|

5 recommendations | reply to aurgathor
here's one you can try. »www.freepatentsonline.com/3925723.pdf |
|

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! |
|
 TheMGPremium 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? |
|
 SparkChaserPremium 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 |
|
 | 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! |
|
 TheMGPremium 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 ideasPremium 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 |
|