Motor control, feedback, PI controller, BiQuad filter
Dependencies: FastPWM HIDScope MODSERIAL biquadFilter mbed QEI
main.cpp@1:c19fc63d555f, 2018-10-15 (annotated)
- Committer:
- 1856413
- Date:
- Mon Oct 15 09:10:05 2018 +0000
- Revision:
- 1:c19fc63d555f
- Parent:
- 0:2e33035d4e86
- Child:
- 2:34c14fb36b5d
Pot and press to determine PWM and direction
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
1856413 | 0:2e33035d4e86 | 1 | #include "mbed.h" |
1856413 | 0:2e33035d4e86 | 2 | #include "FastPWM.h" // FastPWM library |
1856413 | 0:2e33035d4e86 | 3 | //#include "MODSERIAL.h" |
1856413 | 0:2e33035d4e86 | 4 | //MODSERIAL pc(USBTX, USBRX); |
1856413 | 0:2e33035d4e86 | 5 | DigitalOut motor1_direction(D7); |
1856413 | 0:2e33035d4e86 | 6 | AnalogIn pot1(A4); |
1856413 | 1:c19fc63d555f | 7 | InterruptIn but2(D3); |
1856413 | 1:c19fc63d555f | 8 | FastPWM motor1_pwm(D6); //FastPWM input, PES lecture 2 |
1856413 | 0:2e33035d4e86 | 9 | Ticker MotorInterrupt; |
1856413 | 1:c19fc63d555f | 10 | |
1856413 | 0:2e33035d4e86 | 11 | void Motor() |
1856413 | 0:2e33035d4e86 | 12 | { |
1856413 | 1:c19fc63d555f | 13 | // Aflezen Potentiometers voor PWM |
1856413 | 1:c19fc63d555f | 14 | motor1_pwm = pot1.read(); // Aflezen PotMeter 1 (volatile omdat je altijd de potmeter wil blijven lezen) |
1856413 | 0:2e33035d4e86 | 15 | } |
1856413 | 1:c19fc63d555f | 16 | |
1856413 | 1:c19fc63d555f | 17 | void buttonpress() |
1856413 | 1:c19fc63d555f | 18 | { |
1856413 | 1:c19fc63d555f | 19 | motor1_direction = 1 - motor1_direction; |
1856413 | 1:c19fc63d555f | 20 | } |
1856413 | 0:2e33035d4e86 | 21 | |
1856413 | 0:2e33035d4e86 | 22 | int main() |
1856413 | 0:2e33035d4e86 | 23 | { |
1856413 | 0:2e33035d4e86 | 24 | motor1_pwm.period_us(60.0); // 60 microseconds PWM period, 16.7 kHz, defines all PWM pins (only needs to done once), FastPWM variabele |
1856413 | 0:2e33035d4e86 | 25 | MotorInterrupt.attach(Motor, 0.5); // Ticker die de functie Motor aanroept elke halve seconde, meer tijd is tragere respons op potmeter |
1856413 | 1:c19fc63d555f | 26 | but2.rise(buttonpress); |
1856413 | 0:2e33035d4e86 | 27 | while(true){} // Endless loop |
1856413 | 0:2e33035d4e86 | 28 | } |