Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Low peak detector and alarm system

Status
Not open for further replies.

Quantised

Member
I have a signal around 500Hz that is roughly sinusoidal and has a peak voltage of around 4v when all things are well. When things go wrong every 6th peak is low at about 2v. I am trying to detect this low peak and activate an LED (also if 2 peaks every 6 are low a second LED is lit).

One problem is the whole siganl can be down to half its value or anywhere in between, so a good peak may be 2v and a bad one 1v. So I have tried to extract the DC level of the rectified signal to use as a floating referance to compare the peaks to. If a peak falls below the DC threshold it should light a LED.

However I am not able to detect the low peak yet.

Any ideas would be most welcomed.

The circuit at the moment is:-
 

Attachments

  • Alarm2.jpg
    Alarm2.jpg
    56.8 KB · Views: 217
Last edited:
Since it is a sinusoidal waveform, I would not call it a pulse. I would think a better term would be threshold detect or something. I think pulse detect is based on timing rather than level. I dunno, I could be wrong, not standing hard on my statement.
 
My appologies, I missed out a very crucial word and that is 'it is NOT working' and so I was hoping for any ideas on whats up with circuit?
 
It's a simple requirement for a microcontroller.
Read the train of pulses and produce any output you want.
 
Sounds a bit too complicated with a PIC and as an analogue circuit it can be set up easily by the user with a pot and it could be used for a 1 in 6 missed pulse or 1 in 8 etc up to 1 in 12 so rewriting the code for pic seems a lots of trouble hence the circuit.

I think the referancing to Vcc/2 may be incorrect for the rectifiers hence my question to the forum.

Quantised
 
I don't know how you are going to count missed pulses at the rate of 500 per second and produce different readouts for different amplitudes, unless you are counting and detecting each pulse.
That's why microcontrollers are the answer. The program is so easy.
 
@Quantised

I hope you know Peak detection can be done using op-amps??
Then the output can be fed to a comparator to light the LED at a voltage 1V
 
Last edited:
The process I am trying to get is shown below but for some reason the circuit does not see the small peak? I think it is something to do with how I reference the signals to 0V as this is a single sided application.

Any ideas on why my circuit is not working and where to start looking would be most useful.


**broken link removed**
 
Now for the big but unasked questions.
What are you doing that needs to detect a low or missing pulse/ cycle in a 500 hz sine wave?
and what is generating that 500 hz sine wave source?

Just curious.
 
With your method of detection, you cannot diffentiate between a set of lows within a signal and a set of missing pulses.

A PIC chip will analyse each pulse and determine its amplitude and work out if it is a missing pulse or a set of lows.
 
Last edited:
Are you familiar with a centrifugal pump. Each time the blades pass by a sensor then it gives a pulse. If the blade is broken then the pulse is lower and so the system should be able to detect either 1 or 2 or maybe even 3 broken blades.

Using a PIC is a problem as there may be any number of blades between 6 and 20 and the RPM may be anywhere between 400 and 5000. Once the gear ratio is known the pulses per second can be calculated and the range will be very wide. The 500 Hz is just for this application only.

The idea is to set the DC level via a pot for a new pump so it just does not light the LED, any loss of blades will then be detected and it should be easily settable for any system.

Lets say the signal is from a LVDT then another problem is surge, this is when the pump has too high a backpressure and cannot pump any more so it loses traction and the flow stops, once the flow has stopped the pressure falls and pump gains grip and flow resumes. During this phase the pressure variation across the disc of the pump moves it back and forth and hence closer or farther from the LVDT. This modulates the signal and so the the detector must be able to track this modulation as well and not give a false alarm.

Its an interesting but tricky application.
 
You obviously didn't read my post.
With a microcontroller you are analysing each and every puse and you can have a whole range of groups or decisions.
You can have a 2 or 4 line LCD screen.
Or a set of LEDs or 7-segment displays that tell you have many teeth are broken or how the impeller is flexing due to the low output or any number of decisions.
 
Last edited:
With your method of detection, you cannot diffentiate between a set of lows within a signal and a set of missing pulses.

A PIC chip will analyse each pulse and determine its amplitude and work out if it is a missing pulse or a set of lows.

A low or missing pule is bad and so both can be treated the same but the chance of the the signal being missing is pretty small. It seems your very into PICS and I have been trying to research them but its a huge new topic for me. I am not sure how to get a PIC to operate over the wide range I described above in the reply to tcmtech.

Perhaps you would give me heads up as to which PIC I should look at and an easy to understand intro to them. Thanks
 
You obviously didn't read my post.
With a microcontroller you are analysing each and every puse and you can have a whole range of groups or decisions.
You can have a 2 or 4 line LCD screen.
Or a set of LEDs or 7-segment displays that tell you have many teeth are broken or how the impeller is flexing due to the low output or any number of decisions.

OK your argument is undeniable and I do like the sound of a 4 line LCD display, so tell me - can I program it in a high level language that then compiles the PIC code or do I have to do it in what looks like macro code?

I'm away to google some PICs.
 
When things go wrong every 6th peak is low at about 2v. I am trying to detect this low peak and activate an LED (also if 2 peaks every 6 are low a second LED is lit).

The very first thing you said was a “missing pulse.” Obviously the inertia of the impeller cannot produce a "low" signal due to proximity, so it is classified as “missing pulse.” Then you said 2 missing pulses out of 6.

A microcontroller can monitor the exact shape of the pulse appearing at every instant and you can work out how you want to deal with the information.
 
So I am going to need an input stage amplifier followed by a decent anti-aliasing filter of say 48db per octave then a sample and hold circuit followed by a an ADC - probably 8 bit would be enough for this and interface that to the PIC and also interface an LCD to the output. This is beginning to sound complicated.

I have studied a bit about the PIC code and its in assembler which is sort of familiar from the distant past so that may be possible.

Otherwise if I just use digital inputs to the PIC I will need a circuit to generate the pulse - that seems to be the circuit I am already trying to get to work less the charge pump.

The jury is not out on this yet as to which way to proceed?
 
Doesnt having a pump impeller damaged that baddly create vibration?
I work with many types of pumping systems and I have been around enough pump systems to know when a impeller is damaged just by vibrational sound alone.

Or are these special purpose or application pumps?
A one in six sub tone can easilly be picked up and separated from the primary tone. That then can be amplified and detected all in analog.

Just curious.
 
Yeah tcm I've seen systems that use that, many hi-tech pump and motor systems have regularly scheduled ultrasonic inspections, some even have continuous monitoring. You can spot bearing failure before a human would notice it and detect cavitation or impeller damage. Though interpreting the data requires some decent software or knowledge. They simply log the regular recordings and compare them. Soon as a failure is eminent the pump-motor can be taken offline before it fails. Or in the event of a failure you can point on a graph to what to look out for later on.
 
tcmtech and Sceadwian - your right the whole topic of condition monitoring is fascinating and for many years our company fitted monitoring systems to jet engines, power stations, petrochem plants etc etc so this side of the equation is my background. The electronics side is a hobby and used as a way to solve a need.

The vibration you both mention is correct and mainly used in larger pump installations but for my application it cannot be used. The pumps are small and mounted on large noisy machinery that would mask any signal - certainly the small changes that need to be detected to signal any impending failure.

Some of the pumps under study are magnetic drives, that is they have no bearings at all and float inside a circular rotating magnet, this in turn precludes many types of sensors due to the rotating field.

Other pumps are ceramic or ceramic tipped and a chipped ceramic tip will lose performance but the imbalance could be small as the tip weight is minimal compared to the whole disc assembly.

The type of sensors that can be used need to be 'good value' so accelerometers suitable for this are too expensive.
Piezo discs, strain gauge bridges can be bonded to the casing to get a signal but the processing is labourious and difficult because of the background noise.

The best way to do this is really to collect a 256 or 512 block of data from an ADC subsystem (with AA filters etc) and perform an FFT on it, the peak of the main frequency will change height and eventually will change frequency to 5/6th of the original value. Tracking the frequency with an adaptive filter would be easy and reliable in its detection rate. There are many microchips that do this ie TI C20 or C40 ....But its a lot of kit, expensive, complicated and I would not able to stop myself from including all sorts of extra stuff to detect other failures, extra sensors, multiplexed sensors etc it would end up being a huge project.

Also I mentioned earlier that differant pumps run at differant speeds and also have up to 20 blades so the 1 in 6 being discussed is just for one pump.
At each location there could be anywhere from 1 to say 7 or 8 pumps that each need an independant detector so the only way I can think of a cheap, simple and small detecter that works in all scenarios is a low peak detector.

Any other ideas seriously considered. (Colin has already got me doing a course on PIC's!!!!)

Quantised
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top