At work we have a machine that is used for testing and calibrating force sensors. It basically consists of a huge lever that is actuated by an electric motor with a gear reduction and a calibrated reference pressure load cell. Right now, the machine is driven by hand by turning the voltage knob of a benchtop power supply that is directly connected to the motor, while reading the mV output of the pressure load cell on a benchtop voltmeter. For each calibration, the required forces are converted to the mV reading of the reference load cell by an Excel spreadsheet. The sensor under test is hooked up to a power supply and it's output is measured with another benchtop voltmeter. The machine is then driven to each point and the result is noted by hand.
We want to automate this machine. The measurement part is pretty straightforward. Our Fluke benchtop multimeter has an RS-232 output which I can use to capture the results.
The part I'm not too sure about is the position control loop for the machine. I imagine some kind of PID loop controlling the machine. I've done some PID control before, but mainly for heating systems. I also know just enough about control theory to be dangerous ;)
I imagine a µC that reads the reference load cell via an ADC and drives the motor via a current DAC. Why a current DAC? While driving the machine by hand, I quickly learned that one needs to give regular "pulses" to the motor to keep the machine at a specific force value to ensure a stable measurement. This is especially important when calibrating sensors with integrated amplifiers, because those amplifiers need to be held at fullscale load for quite some time (15..30s) while they do their thing internally. So I think a constant current needs to be applied to the motor to ensure it holds the required torque.
Does this sound plausible to drive this kind of machine? Is this kind of system straightforward to control by PID? Any suggestions on what properties I need to check to ensure a smoothly running control system? Is a current DAC the right choice for this application?