Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.arch.embedded > #13851

Re: Counting 2ms long pulses on several input pins

From Paul E Bennett <Paul_E.Bennett@topmail.co.uk>
Newsgroups comp.arch.embedded
Subject Re: Counting 2ms long pulses on several input pins
Date 2013-09-24 11:15 +0100
Organization Hidecs Consultancy
Message-ID <bad71fF7fdaU1@mid.individual.net> (permalink)
References <l1qck1$9dd$4@dont-email.me>

Show all headers | View raw


pozz wrote:

> I have a 5 microswitches
> (www.tamiyausa.com/images/product/470/75016/header_75016.jpg) connected
> to some inputs of a microcontroller.  The switches are normally closed
> and put the level to low.  When they are open, the level is high thanks
> to pull-up resistors.
> 
> I have to count the pulses generated from the microswitches.  They are
> managed by a rotating cam (en.wikipedia.org/wiki/Cam) that push/release
> continuously the switches.
> 
> The rotation speed could change. When it is slow, the complete pulse
> width could be up to 15-20ms, where the last part (about 3-5ms) is
> composed by many bouncing oscillations.
> When the rotation is fast, the complete pulse width is about 1-2ms and
> the boucing oscillations takes about 2-3ms.
> 
> What is the best approach/algorithm to debounce and detect/count pulses
> on all the lines, without stressing the microcontroller too much?
> 
> My approach is to sample each input lines every 1ms in the ISR of a
> timr.  Usually it is at low level.  When I see the first 1, I increase
> the counter and change to HIGH status.  Now I have to see two
> consecutives 0 to go back to LOW status.
> 
> Do you have better ideas?

There is insufficient information here to determine:-

  1.  Is the use of mechanical switches adequate to the task being
      undertaken.

  2.  The best de-bounce method (in either hardare or software) that should
      be employed.

  3.  Whether polling or edge triggered inturrupts are the best strategy.

So Pozz, a simple test on which you should then report the results here. 
Mount one of the switches as intended and strap it into a circuit 
configuration that will resemble the input circuit you are using. Attach a 
scope across the points where the input would be taken and set the trigger 
to capture the resultant input. Rotate the cam-shaft over the full range of 
rates you expect it to operate at and report the results in the form of 
shoing us the scope traces (on a link) or tabulated as figures relating how 
long the contacts bounce for at what speed.

Of course, once you have done this you may discover your own answer to your 
problem. Either ay I think the other responders and myself will be 
interested in your findings.

-- 
********************************************************************
Paul E. Bennett IEng MIET.....<email://Paul_E.Bennett@topmail.co.uk>
Forth based HIDECS Consultancy.............<http://www.hidecs.co.uk>
Mob: +44 (0)7811-639972
Tel: +44 (0)1235-510979
Going Forth Safely ..... EBA. www.electric-boat-association.org.uk..
********************************************************************

Back to comp.arch.embedded | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Counting 2ms long pulses on several input pins pozz <pozzugno@gmail.com> - 2013-09-23 23:42 +0200
  Re: Counting 2ms long pulses on several input pins mike <ham789@netzero.net> - 2013-09-23 15:00 -0700
  Re: Counting 2ms long pulses on several input pins Don Y <this@isnotme.com> - 2013-09-23 16:12 -0700
  Re: Counting 2ms long pulses on several input pins Paul Rubin <no.email@nospam.invalid> - 2013-09-23 18:45 -0700
    Re: Counting 2ms long pulses on several input pins Arlet Ottens <usenet+5@c-scape.nl> - 2013-09-24 08:06 +0200
      Re: Counting 2ms long pulses on several input pins Don Y <this@isnotme.com> - 2013-09-24 00:37 -0700
        Re: Counting 2ms long pulses on several input pins Arlet Ottens <usenet+5@c-scape.nl> - 2013-09-24 10:24 +0200
          Re: Counting 2ms long pulses on several input pins Paul Rubin <no.email@nospam.invalid> - 2013-09-24 02:05 -0700
            Re: Counting 2ms long pulses on several input pins Arlet Ottens <usenet+5@c-scape.nl> - 2013-09-24 11:01 +0200
          Re: Counting 2ms long pulses on several input pins Don Y <this@isnotme.com> - 2013-09-24 09:55 -0700
            Re: Counting 2ms long pulses on several input pins Tom Gardner <spamjunk@blueyonder.co.uk> - 2013-09-24 18:13 +0100
              Re: Counting 2ms long pulses on several input pins Don Y <this@isnotme.com> - 2013-09-24 11:03 -0700
            Re: Counting 2ms long pulses on several input pins Arlet Ottens <usenet+5@c-scape.nl> - 2013-09-24 19:38 +0200
              Re: Counting 2ms long pulses on several input pins Don Y <this@isnotme.com> - 2013-09-24 11:13 -0700
                Re: Counting 2ms long pulses on several input pins Arlet Ottens <usenet+5@c-scape.nl> - 2013-09-24 20:30 +0200
                Re: Counting 2ms long pulses on several input pins Paul E Bennett <Paul_E.Bennett@topmail.co.uk> - 2013-09-24 21:20 +0100
                Re: Counting 2ms long pulses on several input pins Don Y <this@isnotme.com> - 2013-09-24 16:08 -0700
    Re: Counting 2ms long pulses on several input pins Don Y <this@isnotme.com> - 2013-09-24 00:34 -0700
  Re: Counting 2ms long pulses on several input pins Andrew Smallshaw <andrews@sdf.lonestar.org> - 2013-09-24 04:31 +0000
  Re: Counting 2ms long pulses on several input pins Paul E Bennett <Paul_E.Bennett@topmail.co.uk> - 2013-09-24 11:15 +0100
    Re: Counting 2ms long pulses on several input pins Paul <paul@pcserviceselectronics.co.uk> - 2013-09-24 15:51 +0100
  Re: Counting 2ms long pulses on several input pins pozz <pozzugno@gmail.com> - 2013-09-25 00:33 +0200
    Re: Counting 2ms long pulses on several input pins Don Y <this@isnotme.com> - 2013-09-24 16:36 -0700
      Re: Counting 2ms long pulses on several input pins pozz <pozzugno@gmail.com> - 2013-09-25 07:39 +0200
        Re: Counting 2ms long pulses on several input pins Don Y <this@isnotme.com> - 2013-09-24 23:37 -0700
          Re: Counting 2ms long pulses on several input pins pozz <pozzugno@gmail.com> - 2013-09-27 15:54 +0200
            Re: Counting 2ms long pulses on several input pins Don Y <this@isnotme.com> - 2013-09-27 12:35 -0700
    Re: Counting 2ms long pulses on several input pins mike <ham789@netzero.net> - 2013-09-24 16:43 -0700
  Re: Counting 2ms long pulses on several input pins j.m.granville@gmail.com - 2013-09-24 17:32 -0700
    Re: Counting 2ms long pulses on several input pins Tauno Voipio <tauno.voipio@notused.fi.invalid> - 2013-09-25 09:52 +0300
      Re: Counting 2ms long pulses on several input pins Don Y <this@isnotme.com> - 2013-09-25 00:09 -0700
        Re: Counting 2ms long pulses on several input pins j.m.granville@gmail.com - 2013-09-25 16:53 -0700

csiph-web