You can use a position-based linear actuator like a stepper and a screw thread.
Whether it's a stepper or a servo, it will probably act as a position-control device, that's what linear actuators do.
1) If you want to control the force, measure the force with a force sensor (load cell).
2) Make a control loop to control the force by changing the position of the actuator.
3) Because the linear actuator will move fast and the pressure/ force will rise suddenly with a small movement, put a spring in series with the actuator and load cell.
The spring will make the system "soft" otherwise you'll get big pressure variations as the actuator starts to move. Here's a graph.
Without a spring the position-force graph is zero, until the actuator hits the back of the syringe, and then rise very fast. With the spring there will be a linear region, the length the spring, before the force steps to infinity.
In the linear region, force will be roughly proportional to position, with an increasing offset as the fluid drains away.
The length of the spring required depends on the speed and accuracy of the control loop. Also, too long will make it hard for the stepper to unload the spring if the flow conditions change, for example.
The spring also gives you an easy way to measure force - just measure the compression of the spring. A load cell does this too, but with a very very stiff spring so it doesn't flex too much.
First of all, Vref on the chip controls maximum power = maximum torque. When S1 on eval board is in TRQ mode, then VREF pin on CN4 is connected directly to Vref of the drived. In this mode, it will have very little effect if the motor is unloaded.
In order to control the speed of the motor while maintaining the torque you will need to wrap the whole thing into a control loop -- something measures motor speed, and changes power to motor correspondingly.
For the best performance, you will want to do it per-phase basis, delaying control inputs if speed is exceeded. However, this is quite involved, so I would instead use manufacturer-recommended analog way (see section 9, 'Tachometer'). This is already assembled for you on the eval board -- set S1 to SPEED mode, and VREF should vary motor voltage smoothly between 0 and max speed.
Best Answer
On the Faulhaber website there is available for download very extensive information about the motor including definitions of all of the constants, equations of the relationships among the constants and data items etc. Complete analysis of your set-up and the data obtained will probably explain everything. Each applied motor voltage creates a different speed vs. torque characteristic. Each speed creates a different generator voltage. Each generator voltage creates a different generator load. Each generator load creates a different motor torque. All of that can be calculated.
The Faulhaber motor current doesn't need to be controlled. To characterize the motor that is being used as a generator, it is sufficient to control the driving speed and the load resistance.
Note that the Faulhaber motor motor efficiency is only 37.3% at rated speed and load.
Rated speed = 4130 RPM
Rated torque = 2.9 mNm
Mechanical output power = 4130 X 2.9 / 9549 = 1.25 Watts
Rated voltage = 12 V
Rated current = 0.28 A
Electrical input power = 12 X 0.28 = 3.36 Watts
Total losses = 3.36 – 1.25 = 2.11 Watts
Motor resistance = 19.8 ohms
Losses at rated speed and torque:
Copper loss = 0.28^2 X 19.8 = 1.55 Watts
Friction torque = 0.08 mNm
Friction loss = 0.08 X 4130 / 9549 = 0.035 Watts
2.11 – 1.55 – 0.04 = 0.52 Watts windage and other losses