Fixed 'prev_pwm_time' bug. Updated condition to exit ALIGN state, by checking for zero-crossing of angular velocity (in correct direction). This removes dependancy on time interval, and should be now be independent of the motor load
Updated manner in which inner_loop() staggers the start-up of each motor. This now uses the same method as used to start the PWM server. I.E. tied to PWM period
Updated PID's for motor loaded with large disc. One motor now passes all tests
Re-tuned PID's again to more stable region. One motor now passes all tests
The last commit had a buf which prevented Motor_0 from running correctly. This has now been fixed. Both motors run successfully through all tests
Re-tuned PID's for Fast response with NO undershoot
Demo_1, Forever cycles 4000 RPM then 30 RPM (NB never reaches low speed)
Wrote Angular Sync. code. UNTESTED
Wrote Angular Sync. code. Mk II. UNTESTED
Wrote Angular Sync. code. Mk 3. UNTESTED
Wrote Angular Sync. code. Mk 4. UNTESTED
Wrote Angular Sync. code. Mk 5. UNTESTED
TESTED version_1: Failed. Wrote version_2 and tested: Failed
TESTED version_3: Oscillates, with decaying amplitude, however motors NOT synchronised by time they stall due to slow speed 70 RPM. These non-linear methods due not provide fast enough response.
Commented out Sync code. Added defines to app_global.h for NO_LOAD and BIG_LOAD, these select which start-up and PID parameters to use
Converted Velocity PID to use Angular Difference instead
Updated so that Angular Difference PID can be used before QEI calibration has occured
Scaled Ang-Diff PID parameters to produce same response as velocity PID
Sync Method 4: Apply correction to set_Iq
Sync Method 5: Apply correction to set_Iq, maintain angular-offset, use diff-err and sum-of diff-err to stabalise angular offset