Oh so you can split. I think I'll experiment with this. Thanks, -Neil. On 12/30/2014 10:10 PM, Bob Blick wrote: > Hi Neil, > > Either use a different multiplier for your integral term or different > limits for integral growth, based on polarity. > > Cheerful regards, Bob > > On Tue, Dec 30, 2014, at 06:37 PM, Neil wrote: >> Hi all, >> >> I'm trying to make what is essentially a servo for a one-off project for >> a friend... I'm driving a window motor (I can control speed >> bidirectionally) with a controller/driver and there's a potentiometer >> attached for feedback. For now, I'm using an Arduino to get it running, >> but I'll get a custom PCB made for a PIC-based circuit later. BUT... >> there's a one-sided force (spring) on the load the motor is moving. >> >> For an initial test I tried setting the motor speed proportional to how >> far off it was from it's target, but when it gets close, the spring load >> is too much for it. Changing the force so it's a bit more at close to >> target position helps, but I think I'm just going to use PID. My >> concern is that with the spring force acting only one way, the PID >> parameters would be different from one side to the next. Essentially to >> stay in a fixed position, I'd need a continuous non-zero speed on the >> motor. >> >> How is this (easily) handled? Do I do separate cases for one direction >> vs. the other? Or do I empirically determine how much speed to send it >> to counter the spring force and add that value before sending to the >> motor controller? Of course, this would assume the spring it mostly >> constant force for the full range of movement. But what if it's not? >> >> Cheers, >> -Neil --=20 http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .