unit test for brushless motors using a potentiometer and a castle creations esc with 0.5 center duty cycle
Fork of brushlessmotor by
MainController.h@3:605f216167f6, 2016-02-26 (annotated)
- Committer:
- rkk
- Date:
- Fri Feb 26 14:35:02 2016 +0000
- Revision:
- 3:605f216167f6
- Parent:
- 2:040b8c8f4f92
brushless test program
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
demaille | 0:187bb46ed128 | 1 | #ifndef MBED_MAINCONTROLLER_H |
demaille | 0:187bb46ed128 | 2 | #define MBED_MAINCONTROLLER_H |
demaille | 0:187bb46ed128 | 3 | |
demaille | 0:187bb46ed128 | 4 | #include "mbed.h" |
demaille | 0:187bb46ed128 | 5 | #include "esc.h" |
demaille | 0:187bb46ed128 | 6 | |
demaille | 0:187bb46ed128 | 7 | #define MATH_PI 3.14159265359 |
demaille | 2:040b8c8f4f92 | 8 | #define TOFF 0.03 |
demaille | 0:187bb46ed128 | 9 | class MainController { |
demaille | 0:187bb46ed128 | 10 | public: |
demaille | 0:187bb46ed128 | 11 | /** Create a MainController |
demaille | 0:187bb46ed128 | 12 | * |
demaille | 0:187bb46ed128 | 13 | * @param |
demaille | 0:187bb46ed128 | 14 | */ |
demaille | 0:187bb46ed128 | 15 | MainController() ; |
demaille | 0:187bb46ed128 | 16 | |
demaille | 0:187bb46ed128 | 17 | /** Start the main controller |
demaille | 0:187bb46ed128 | 18 | * @returns |
demaille | 0:187bb46ed128 | 19 | */ |
demaille | 0:187bb46ed128 | 20 | void start(); |
demaille | 0:187bb46ed128 | 21 | float getDutyCycle(); |
demaille | 0:187bb46ed128 | 22 | float getAmplitude(); |
demaille | 0:187bb46ed128 | 23 | |
demaille | 0:187bb46ed128 | 24 | /** Stop the main controller |
demaille | 0:187bb46ed128 | 25 | * @returns |
demaille | 0:187bb46ed128 | 26 | */ |
demaille | 0:187bb46ed128 | 27 | void stop(); |
demaille | 0:187bb46ed128 | 28 | |
demaille | 0:187bb46ed128 | 29 | protected: |
demaille | 0:187bb46ed128 | 30 | void control(); |
demaille | 0:187bb46ed128 | 31 | //float calculateAdj(); |
demaille | 0:187bb46ed128 | 32 | float signum(float input); |
demaille | 0:187bb46ed128 | 33 | float saturate(float input); |
demaille | 0:187bb46ed128 | 34 | |
demaille | 0:187bb46ed128 | 35 | private: |
demaille | 0:187bb46ed128 | 36 | ESC esc1; |
demaille | 0:187bb46ed128 | 37 | |
demaille | 0:187bb46ed128 | 38 | Timer timer1; |
demaille | 0:187bb46ed128 | 39 | Ticker ticker1; |
demaille | 0:187bb46ed128 | 40 | float amp; |
demaille | 0:187bb46ed128 | 41 | float dutyCycle; |
demaille | 0:187bb46ed128 | 42 | float curTime; |
demaille | 0:187bb46ed128 | 43 | float frqMin; |
rkk | 3:605f216167f6 | 44 | float frqMax; |
rkk | 3:605f216167f6 | 45 | PwmOut myled; |
rkk | 3:605f216167f6 | 46 | AnalogIn mypotentiometer; |
demaille | 0:187bb46ed128 | 47 | |
demaille | 0:187bb46ed128 | 48 | }; |
demaille | 0:187bb46ed128 | 49 | |
demaille | 0:187bb46ed128 | 50 | #endif |