EEVblog Electronics Community Forum

Electronics => Beginners => Topic started by: davegravy on April 20, 2024, 03:24:55 pm

Title: Filter digital switching to identify constantly high signal
Post by: davegravy on April 20, 2024, 03:24:55 pm
I have a digital signal as input and I want to output HIGH only if the input has been constantly high for at least 400ms (this is my battery charger's LED indicator and not-flashing == fully charged battery which I want to detect).

What's the simplest implementation using discrete components?

I understand how to use a 555 timer to generate a 400ms reference pulse on the rising edge of the charger LED output.

I was thinking the following would do what I want:

(Charger LED output) AND NOT (555 timer output)

However it turns out the standard 555 timer doesn't "retrigger" and extend its pulse if the input switches mid-pulse . So I tried a retriggerable version, but the pulse output from the 555 doesn't terminate unless the input pulse terminates. (see falstad circuit where you can see this (https://www.falstad.com/circuit/circuitjs.html?ctz=CQAgjCAMB0l3BWEA2AnNAzAFi2DCxItsxkkFURzIqBTAWjDAChSkAmSADnBxA068sIYZGYB3EJx5gA7Mincps9lAmKZ88FrkKxk6VKw0w7Hu2NqAxtoXsVt-hj1RY8SKk9fvPyjDh4sliyFLghqLKoXFyq-pAsAOaOuAq6IgJQagBOjml5ppnOzvq5BfaqTLHMAErgZuAFWDIFNDSWSK2uCMwA8iJcNOwWVHxDomqSps0VOi3MADIg9E1GNPQDq5k0AGYAhgA2AM60VGpJGET8lxfCAp0l5Q2qGM5PE06pBS+pWiUbFiZ6gC1AAXED-aJvMw8NYQJBYaCeLjIdgIAEIGLGCpwEAAE1oewArvsQep-pYITD1JVlDM7A4SjSbm9nFTJloUo5We80o9DI9GVpvlzkGyWaKRVSAJJLUibDLA1rQcjqBUUwaWErLcyWRh2TWsBBtBXDJqDYaDTLdGXcwzGQZKJUqyTCwy2x3qe0adKqQxalbA7UiZCidRBrAhkQ4iOhyRemNRjWtT044HEX0GgD2DSkCBcuEgsTccHk7FQGFQWAQGFMHWLHnkedRmQqEAwzGzlFR+cIRfcpfLlertdc7giZBRHXAzCAA))

Please help :)
Title: Re: Filter digital switching to identify constantly high signal
Post by: davegravy on April 20, 2024, 03:44:38 pm
I think I figured it out.

circuit (https://www.falstad.com/circuit/circuitjs.html?ctz=CQAgjCAMB0l3BWEAWAnNAbADgOwCZlk4NUxUtIkEMQrJaBTAWjDACgwMkBmbmsHDUJZwglFDYB3ELxp5II2TMjIJ0pfMUqQmtctW7u2o6shsAxvqsmZ2KFFjxIqF67fvUDuGDRcEOUnwsDDB5HC9IdgBzazsbbixTCQAnK0NtHyTeIjN1DMIUOHACswB5WjE8ahAMIh1q+jMAJStMq1QaRsLae0boBDYAFx0FGT56miV6Fh7kaBcsBEhuQjCcQSQwIoATBgAzAEMAVwAbQakJmXlLmzNUqsnjJ6St3JuEPBu7N4fbLVU+CIfqM8PgRopxmYADIgDo6MFw3T0CCHE4AZwYPWBIlBnw0YLeOWKqmQtWJelJqjalPBEhiyG4ePGDLxH16F0RYN0uIkAEkUGSCPRfDo6n0qBwlrRQpd-HIGjoegNpAgZUKUIixRy5AihIy9HCWRq9Z9CYb9SKeWadZ9VZ8rWwAPaiS7Cra2iJwVAbDBVeyfAQyEAASwAdgAHI7nZ04hXId1Yxxen1+5EgR1RyPnIA)


Still interested if there's another solution I should consider.



Title: Re: Filter digital switching to identify constantly high signal
Post by: xvr on April 21, 2024, 11:51:49 am
74HC123
Title: Re: Filter digital switching to identify constantly high signal
Post by: T3sl4co1l on April 21, 2024, 12:55:01 pm
General term you're looking for is "missing-pulse detector".

Right, you can use a transistor or even diode to pull the capacitor down, resetting the timeout.  That's the gist of it, and using a 555 for the comparator/latch is fine.  You'll probably want to use a CMOS version, skip on the classic bipolar (NE555 etc.) version it's power hungry and not very effective at low voltage.

Tim
Title: Re: Filter digital switching to identify constantly high signal
Post by: davegravy on April 21, 2024, 02:29:52 pm
I need this to work with 1.8V logic but having read the below link, CMOS versions of the 555 will work at this voltage but it's "not in spec".

https://www.electroschematics.com/555-low-voltage-operation/ (https://www.electroschematics.com/555-low-voltage-operation/)

Thanks for the suggestion on the 74HC123 but the logic threshold levels also look like not suited to 1.8V logic

SN74LVC1G123 (https://www.ti.com/lit/ds/symlink/sn74lvc1g123.pdf?ts=1713637527470&ref_url=https%253A%252F%252Fwww.ti.com%252Flogic-voltage-translation%252Fconfigurable-programmable-logic%252Fmonostable-multivibrators%252Fproducts.html) may work?
Title: Re: Filter digital switching to identify constantly high signal
Post by: xvr on April 21, 2024, 03:19:01 pm
> SN74LVC1G123 may work?

Sure