Hoffa, Did you ever get this issue figured out?
I've been working on getting the Eddie code to work with an Activity Board and HB-25 motor controllers. I found the motor control code kept turning itself off.
I think this section is what was causing the issue (starts on line 556 in the "PDIteration" method).
I believe the code assumes if the motors are stopped and the target distance wasn't traveled, then there's a problem with the motors not working properly so the code shuts the motors off. I believe this is a feature left over from the earlier Eddie code which used different motor controllers.
' Check to see if offset is higher than it should be for the current power level (When motor is moving)
if ||Difference > SAFEZONE and ||Difference > ||SetPower[Side] / Kp + DEADZONE
' If so, bring the set point closer to the physical position
' MidPosition equals MotorPositionSample approaching MidPosition, as limited by SetPower / Kp + DEADZONE
MidPosition[Side] := MotorPositionSample - (-(SetPower[Side] / Kp + DEADZONE) #> -Difference <# (SetPower[Side] / Kp + DEADZONE))
if StillCnt[Side] => DIVISOR ' If the offset was high and the motor hasn't moved for the last second
PDRunning~ ' Then something is wrong -- stop the motor driver
Until a better solution is found (which I'm currently working on) I think you should just comment out the last five lines of the code listed above.
Let us know if you're still having trouble. While my current work uses HB-25 motor controllers, I think I'm almost to the point of understanding the code well enough to help with conventional h-bridge controlled motors.
Just to be sure, you're using these encoders right?