3 feet of wire between the load cell and HX711 should be OK. I would recommend shielded cable with the shield terminated to a good ground only at the amplifier (HX711) end.
Back before I retired I used load cells almost every day with 50 feet or more of shielded cable between load cells and their interface electronics.
Thanks for the reply. I was hoping to use a 'skinny' as possible wires (as I need to run it through a wire 'sleeve' (some black/weaved material) where other wires are currently running. I bet my whole project could benefit from shielding! Hmmm.. I wonder how I could implement this into my current/running project without having re-wire everything now.
Finally hacked the HF scale together, using an HX711 amp board, that has been modified to run a 80SPS (which I think is probably the most realistic approach as far as I can see if 'weight/timing' are an issue.. such as for liquid output or testing for over pressure..etc)
Modified the HF scale more to fit my project needs, and have to mostly assembled/mocked up in the final cup-holder that will swapped out from the original (right side)
The HF scale fits nice, looks nice, doesnt take up a lot of room (as it fits perfectly in this cup-holder/base... provides a nice/full usable set-up with the included metal top/plate for weight/placement. These should be the go-to Arduino kits on Amazon! LOL (not those accylic top plate ones)
Next.. I guess is to implement the code finally.. which in a 'basic' format wont be an issue... but once, tested under 'real-world' use.. I'm hoping I dont run into any hiccups. (such as splash/impact mis-leading to have reached final output.. for small 0.25oz outputs..etc for example).
I'm hoping having mod'd tings to run at 80SPS.. and modifying the code to:
LoadCell.setSamplesInUse(128)
will nullfy any splash/impact reads..and also return a consistent/incremented value.
Thanks to everyone for the feedback.. Never played with a load cell/scale before.
obviously, no wires will be visible as they will be routed trough the back, with a hole near the base.
I like that things do not look that much different not either.. but offers (hopefully) a feature that will make repeatability issues gone with the wind.
It will smooth things out, but, dependent on the library (HX711_ADC per Load Cell (weight) questions - #19 by xl97) , slow the changes back down. The 128th-ago-sample from 1.6 sec in the past would be weighted the same as the most resent observation, which can cause its own problems if you are dynamically controlling the filling based on the weights.
Hmm.. its a (little) over my head still. (RE: 'smoothing') But I get what your saying.
My approach for just checking (for example) 0.75oz when I want 1.0oz output.. to accommodate for the 'still in motion/output' & left over liquid in lines.... probably isnt as accurate as your approach is.
hmmmm
RE: Samples in use. Good point. OK. so I need to find a middle ground here somehow.. LOL
128 is smooth, but slow. and takes longer to get the 'final' weight output. I was hoping to find a way to not 'jump' so much when an initial splash/impact happens... but being FAST is still very crucial here. (why are flow meters accurate!!!) haha..
My current/working project code is very simple/linear.... once the stepper motor reaches its target position.. I call a function..
and this is the part/lines of code that needs to be replaced/updated from using a timed solenoid opening.. to a now weighted scale approach: (yeah yeah.. I know delays() are no-no's.. rarely even use them, however in this project, it has no negative bearing.
//tare scale, dont care about current weight really.. just need a base to start from to calc current output/target weight
LoadCell.tareNoDelay()
//start pump output
digitalWrite(targetMixerRelay, LOW);
// check for new data/start next conversion:
if (LoadCell.update()) {
newDataReady = true;
}
// get smoothed value from the dataset:
if (newDataReady) {
float i = LoadCell.getData();
if (i >= targetAmount) {
Serial.println(i);
newDataReady = 0;
//turn off pump
digitalWrite(targetMixerRelay, HIGH);
}
}
Well.. I guess I -am- dynamically controlling the weight then? (tare() before each output, each output weight is dynamically set from an array of ingredient/dosage amounts.. pump is to be turned on and checking the weight so I know when to turn off the pump/output)
So..... what problems are you referring to above with this process/approach?
Are referencing things being 'slow' as the issue?
I finished up the scale wiring/soldering, and final connector now.... and also the placement into the cup holder as posted above. (it is now easily removable with the 4-wire connector in place.)
I It is set @ 80SPS and LoadCell.setSamplesInUse(16);
16samples/80SPS=0.2s I don't have your hardware or direct experience with this system, but I think that will work better than with the 1.6 delay. It all sounds reasonable.