My Main Scale

I feel like I'm hijacking this thread, but I hope the OP will join in. I'm don't know much about forums, so someone let me know if I should start another thread.

I have three ways to measure components:

  • Main scale, all batch components end up on this scale, but it is low resolution (+/- 10lbs or so)
  • Liquid meter, outputs pulses by volume
  • Admix scales, measures at high resolution (within an ounce) and must function by incrementing or decrementing

One important thing on the main scale is that there is free fall for components mixing into it, on the order of 20-50lbs, so the computer must stop short and wait for the scale to catch up, and then jog the valves to get a precise amount into the mix.

I'm going to spell out a typical recipe or batch/mix design for my use case:

  • User inputs mix requirements
  • User confirms start mix
  • Check for safe conditions (i.e., all valves and doors are closed)
  • Sound buzzer (7 seconds)
  • Turn on run light for the duration of batching
  • Start mixer and leave it running until shutdown procedure
  • Add component 1 by weight via main scale
  • Add component 2 by weight via main scale
  • Mix 30 seconds
  • Add component 3 by volume via meter pulses
  • Mix 30 seconds
  • Add component 4 by weight via main scale with a 10 second pause every 50lbs
  • Mix 45 seconds
  • Weigh component 5 via incrementing admix scale #1, then release into mix
  • Add component 6 via decrementing admix scale #2
  • ...and so on until all components are added and mixed
  • Signal batch complete
  • User presses button to dump batch
  • Computer opens door until 1000lbs is released or mixer is empty
  • Computer closes door and waits for user input
  • User dumps the rest of the batch, or inputs the next batch/mix design
  • After all batching is done user signals shutdown procedure
  • Computer shuts down mixer

I think this can be broken down into reusable functions that I think would apply to most batch control requirements. Right now I'm trying to select the pin configuration for a MEGA R3. I'll post what I come up with soon.

I have suggested to the Moderator to move your Post to its own Thread. You have a lot of things in your list and it will be easier to deal with them that way.

Have a look at planning and implementing a program - it uses a somewhat similar list as a starting point.
You will also see how it uses millis() to manage timing.

I think your next step is to have a go at writing your code and post it if you need help. Work through your project a small piece at a time. Get that piece working before moving on to another piece. When you know how to use all the techniques you need you can start to bring them together into a complete project.

...R

I feel like I'm hijacking this thread, but I hope the OP will join in. I'm don't know much about forums, so someone let me know if I should start another thread.

I have three ways to measure components:

  • Main scale, all batch components end up on this scale, but it is low resolution (+/- 10lbs or so)
  • Liquid meter, outputs pulses by volume
  • Multiple admix scales, measures at high resolution (within an ounce) via HX711 and must function by incrementing or decrementing

I hope that is enough quantity control methods for most batching use cases, feel free to chime in. One tricky thing with scales is that they take a while to catch up. We call it free fall, but it's not just the material that's still in the air, it takes a second or two for the weighted average reading to catch up to the actual load on the scale. For anything that gets scaled, it needs to stop a little short of the total desired, and jog up to the required quantity.

At its most basic the steps are:

  • Power on, computer checks that all doors and valves are closed, and the mixer is not running
  • User selects batch mixture ratio and total quantity
  • Computer checks moisture content of certain components, and determines target amounts for ratio
  • Computer sounds buzzer, turns on run light, and starts mixer (which stays on until shutdown procedure)
  • Computer adds in components in a specific order, and with required mix times for certain components
  • Computer notifies user when batch is complete, allows manual adjustment of components
  • User can release either the whole batch, or a certain amount at a time
  • When the mixer is empty, prompt user for next batch parameter or shutdown/washdown procedure

I am attaching a PNG of my current draft pinout for a MEGA R3