Noise Filters for Analog Inputs

Thanks, Tom
I am going to use that averaging technique to smooth out the signal. It will slow down the rate of change, but I have plenty of time to allow it to settle out.

I should have said earlier: the biggest "noise" in this case is literally just that, audible noise made by the metal falling into the scrap bins. I have visited a similar plant to the one we are building, and the racket at the scrap bins is horrendous. The swivel chute manufacturer says that some of the high-pitched sounds reach up into the ultrasonic range, but that this sensor is the best type that they have found for this particular problem. Me, I don't know if I will ever get it to work right, or not.

No, Jesper, this Banner ultrasonic sensor does not have any built-in filtering capability. If I had a choice I think I would buy one that did have a filter, or as you said, load cells would be the most sure way. But as these projects go, I am part of a team, and the boss has made the decision based on other factors and what the customer wants and so on.

So my sensor only has Zero and Span settings for the analog output signal, and a selector switch that lets me select either a "positive" or "negative" slope on the 0-10 vdc output. I am planning to set it for negative to make the sensor reading increase as the the distance between the sensor and the scrap pile decreases. Then I will scale the output to represent the height in inches of the pile (0 to 130").

It seems that the bin will fill at some linear rate, or slope, and if I can calculate that average rate, then just look at the signal levels that fall within an envelope around that rate, then I can filter out most of the ultrasonic noise, leaving only signals that represent (or could represent) the bin fill level.

Matthias, I will use a delay timer here, to only take a reading once a second, and then to only use the reading if it falls within 0.2 inches/sec of change from the previous reading. Then I will average what is left using Tom's averaging method. The reason that I have some hope for these methods is that (a) the fill rate will be fairly slow; (b) Once it starts filling, the level should only go up, never down, until I move the chute to the new index position; (c) I don't really care what it does from 0 to 100 inches, but if it is between 120 and 130 inches, then I need to swap to another bin; and (d) I only need to see the real signal every now and then, not continuously. It is like walking through a thick forest, and seeing the sun only every few minutes through the tree branches, but still you will know about how high it is in the sky. So if I can look through all that racket and catch a glimpse of the real signal from time to time, then it might work. Is this called fuzzy logic? It sure seems fuzzy to me! :)

I may seem overly concerned, but this is part of a new automotive stamping plant, being built 24/7 as we speak. If this lowly scrap bin causes the robotic production line to shut down, then I may be out on the street!
 
Last edited:
You are on the right track.

Lancie1 said:
Matthias, I will use a delay timer here, to only take a reading once a second, and then to only use the reading if it falls within 0.2 inches/sec of change from the previous reading. Then I will average what is left using Tom's averaging method. The reason that I have some hope for these methods is that (a) the fill rate will be fairly slow; (b) Once it starts filling, the level should only go up, never down, until I move the chute to the new index position; (c) I don't really care what it does from 0 to 100 inches, but if it is between 120 and 130 inches, then I need to swap to another bin; and (d) I only need to see the real signal every now and then, not continuously. It is like walking through a thick forest, and seeing the sun only every few minutes through the tree branches, but still you will know about how high it is in the sky. So if I can look through all that racket and catch a glimpse of the real signal from time to time, then it might work. Is this called fuzzy logic? It sure seems fuzzy to me! :)

So what happens if the reading is not within .2 inches of the previous reading? If you get 2 noisy reading is a row, the level may be .4 inches above the last good reading and you may never synch up.
 
Peter,

That is the million dollar question, and one that I have been thinking about practically night and day. My only answer for that question so far is: Only if the bin fill rate stops rising for 60 seconds, then reset the old bin fill rate reading to the 0.1 average rate (or whatever the real average rate turns out to be).
 

Similar Topics

I have been using Islatrol line filters on the machines that i have been building but curious as what brands others may be using.
Replies
4
Views
1,433
Does anyone have a good filter code I can use to allow the data value on the HMI screen to be more readable when the data is noisey (bouncing...
Replies
23
Views
11,088
Hello, I am running a AMCI SD4840 Stepper Motor drive system with Allen Bradley CompactLogix. Every now and then when a 480VAC motor kicks in on...
Replies
1
Views
594
Hello Everyone, I hope we are all well. I have an L36ERM with a 1769-OF8C/a driving a 5HP Power Flex 523 speed reference 4-20 mA. With the...
Replies
6
Views
1,839
Good Morning , We have a new Fortress Stealth Metal Detector. About 30' away we have a machine with motors and solenoids on it , Whenever...
Replies
8
Views
2,202
Back
Top Bottom