Recreating the debouncer example in Simulink

I'm trying to implement the debouncer example in simulink without using stateflow and using simple simulink blocks? Any idea how can I detect if the input signal stays positive or negative for 0.1 seconds?
Any help would be appreciated. Thanks

 Respuesta aceptada

C.J. Harris
C.J. Harris el 18 de Nov. de 2014
Editada: C.J. Harris el 18 de Nov. de 2014

4 votos

You can use integrators as counters. Check for your desired state (TRUE or FALSE), then convert this TRUE signal into a double/single value, and feed it into an integrator. Then all you have to do is check when your output reaches your desired value (0.1 seconds).
Make sure you set the correct sample time (if using a discrete system), and also initialise/reset your integrator to zero.
If you need it to be constantly true for a time then just reset your integrator when you have an undesirable input.
For example, the output for this system will be true if the input has been FALSE for at least 0.1 seconds:

1 comentario

Gulfer Ozcetin
Gulfer Ozcetin el 2 de Mayo de 2021
Hello, thanks for your help! May you also give some clues about detecting signal fluctuation around 0 so I can implement fault state? For example, for 0.3 seconds; if signal fluctuates around 0; I need to rise an error flag.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Stateflow en Centro de ayuda y File Exchange.

Preguntada:

el 18 de Nov. de 2014

Comentada:

el 2 de Mayo de 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by