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.

What is the most stable microcontroller

Status
Not open for further replies.

Shohadawy

New Member
I'm making a project of a weighing machine. A microcontroller receives a set point from a keypad then a valve opens to pass a weight of a material contained in a tank which should be equal to the setpoint.

The problem is that the machine gives different values for the same setpoint. For example when I made the setpoint = 4900 gm. I got the following weights of the material: 5200, 5150, 5300, 5250,.....

I think that the microcontroller that I'm using is the cause of these faulty readings. So what is the most stable microcontroller in the world that I can use?
 
If the microcontroller was inherently instable, it wouldn't have made it off the production line. What is it anyway? and have you followed its datasheet properly.
 
stable micro controller ?how do you sense the wright of the material allowed to pass?
 
Given the exact same input the computer in a uC will generate the same results every time. That is the nature of a digital computer. The problem in is non-digital, non computer.

For a start please answer these questions.

Q1:
What micro controller and language are you using.?

Q2:
If you place a known weight on the scale does the computer do an accurate job of weighing it ? Ask the computer to weigh the same object several times without touching the object.

If Q2 did not work the problem is in the ADC or how you are using it. How many bits is the ADC? Are you using the full range of the ADC? Post your code, please use the # from the icons to put CODE TAGS around the code so it will keep its formating.

Q3:
If Q2 worked
If you remove and replace the object does it weigh the same every time.? If 2 works and 3 does not the problem is in the platform to sensor mechanics.


Answer these and get back to us.

3v0
 
From a test an measurement standpoint, your mean value was 5225 and the max variation from that was 75 (1.4%), which is also a rough estimate of the standard deviation for that group of four values.

That level of reproducibility by turning a valve on and off looks pretty good. Thus, have you considered whether you simply have a calibration, not precision error?

John
 
Last edited:
Q1:
What micro controller and language are you using.?

I'm using an ATMEL microcontroller programmed in C

Q2:
If you place a known weight on the scale does the computer do an accurate job of weighing it ? Ask the computer to weigh the same object several times without touching the object.

If Q2 did not work the problem is in the ADC or how you are using it. How many bits is the ADC? Are you using the full range of the ADC? Post your code, please use the # from the icons to put CODE TAGS around the code so it will keep its formating.

Yes, when I'm making free weighing the reading is very accurate.
Regarding the ADC, I'm using an external one with a 24 bits resolution.

Q3:
If Q2 worked
If you remove and replace the object does it weigh the same every time.? If 2 works and 3 does not the problem is in the platform to sensor mechanics.

Yes it weighs the same. Regarding the mechanical works, I'm using solenoid valves with pneumatic pistons to open and close the container. When the piston closes, some vibrations occur in the container of the material.Do you think that these vibrations may be the cause?
 
From a test an measurement standpoint, your mean value was 5225 and the max variation from that was 75 (1.4%), which is also a rough estimate of the standard deviation for that group of four values.
That sounds pretty good to me. I agree, it sounds more like a calibration problem.
 
Shohadawy said:
Yes it weighs the same. Regarding the mechanical works, I'm using solenoid valves with pneumatic pistons to open and close the container. When the piston closes, some vibrations occur in the container of the material.Do you think that these vibrations may be the cause?

You indicated that the scale is accurate and repeatable with static load. Vibration may well be the problem.

The best thing would be to reduce the vibration.
If the vibration is from anywhere other then the falling material isolate the scale to reduce the vibration.
Use PWM to make the valve proportional. As you get close to the desired weight reduce the flow to reduce vibration.

Another solution would be to stop just short of the desired weight and then add a second shot of material. Time the second shot based on how much more material is needed. You will either have to hand tune it or add some sort of learning algorithm.
 
I Agee with 3v0, and you need to look at the system as a whole. The fact that you said a static load measures consistant tends to say it's not a measurement problem but rather might be a natural variation in the loading/stop loading cycle. When the measurement reaches setpoint and the valve is commanded to close there would seem to have to be some time lag that would allow some more small amount of material to continue to fall adding to the final weigth.

The fact that all your batch run values were higher then your setpoint, I tend to think that this is just going to be natural varitation in your batch process. You need to come up with a more complex control schem, such as having the valve start to close somewhat before reaching setpoint (couple of % say) and see how close to setpoint it can reach when material flow finally stops. There is bound to be some variation as things like material temp, humitity, density variation of material, etc, is sure to effect the final amount of material dropping once the flow valve closes.
 
I am guessing you are not waiting long enough for the system to stabalize. Also, you are getting nowhere near 24bit accuracy.

In order to get 24bit accuracy you need a reference that is 24bit accurate and 24bit stable. If you can find an affordable 0.06PPM/C voltage reference please let NIST as well as the rest of us know about it!
 
Mechanical response, maybe?

A) It might be that the culprit is a sluggish response of the mechanical part of your system.

B) Higher flowing rate would make for greater variations. Try reducing the flowing rate and see if variation between extreme values is reduced. In this cases it pays going to extremes (make the flowing rate VERY small) and check the outcome.

C) Your flowing rate depends of the column height of your liquid in the reservoir? Its variation means a different pressure thus a different amount of liquid flowing during the time elapsed between the order of closing and the actual closing. Make it wider (the reservoir) to minimize the change of the column along the time.

D) The valve goes from fully open to fully closed or you can adjust the opening? If so, try doing it in three steps: "100% open", "50% open" and "5% open" for top off.

E) All this if you are convinced of the validity of your static tests.

F) Variations, do they seem to follow any pattern like increasing along the time or they are apparently random?

G) Does the liquid maintain density, temperature along the process? Is it the same, always?

Could you post the outcome of all this?
 
Last edited:
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top