Code om de PID controller af te stellen aan de hand van een sinus golf

Dependencies:   mbed QEI MODSERIAL FastPWM biquadFilter

Committer:
aschut
Date:
Wed Mar 13 14:01:03 2019 +0000
Revision:
1:58f34947c674
Parent:
0:a9a42914138c
Child:
2:926d56babb1a
Potmeter + aan en uit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
aschut 0:a9a42914138c 1 #include "mbed.h"
aschut 1:58f34947c674 2 DigitalIn button2(SW2);
aschut 1:58f34947c674 3 DigitalIn button3(SW3);
aschut 0:a9a42914138c 4 DigitalOut direction1(D4);
aschut 0:a9a42914138c 5 PwmOut pwmpin1(D5);
aschut 0:a9a42914138c 6 PwmOut pwmpin2(D6);
aschut 0:a9a42914138c 7 DigitalOut direction2(D7);
aschut 1:58f34947c674 8 AnalogIn pot(A1);
aschut 1:58f34947c674 9 Ticker Pot;
aschut 0:a9a42914138c 10
aschut 0:a9a42914138c 11 DigitalOut led(LED_RED);
aschut 1:58f34947c674 12 volatile float PWM1;
aschut 1:58f34947c674 13 volatile float PWM2;
aschut 0:a9a42914138c 14
aschut 1:58f34947c674 15 void Period(void)
aschut 1:58f34947c674 16 {
aschut 1:58f34947c674 17 pwmpin2.period_us(60);
aschut 0:a9a42914138c 18 }
aschut 1:58f34947c674 19 void Potread(void)
aschut 1:58f34947c674 20 {
aschut 1:58f34947c674 21 pwmpin2 = pot.read();
aschut 1:58f34947c674 22 }
aschut 1:58f34947c674 23 void MotorOn(void)
aschut 1:58f34947c674 24 {
aschut 1:58f34947c674 25 Pot.attach (Potread, 0.1);
aschut 1:58f34947c674 26 direction2 = 1;
aschut 1:58f34947c674 27 }
aschut 1:58f34947c674 28 void MotorOff(void)
aschut 1:58f34947c674 29 {
aschut 1:58f34947c674 30 Pot.detach ();
aschut 1:58f34947c674 31 pwmpin2 = 0;
aschut 1:58f34947c674 32 }
aschut 1:58f34947c674 33
aschut 1:58f34947c674 34
aschut 1:58f34947c674 35
aschut 0:a9a42914138c 36 int main() {
aschut 0:a9a42914138c 37 Period();
aschut 1:58f34947c674 38 while (1){
aschut 1:58f34947c674 39 if (!button2)
aschut 1:58f34947c674 40 {
aschut 1:58f34947c674 41 led = !led;
aschut 1:58f34947c674 42 MotorOn();
aschut 1:58f34947c674 43 }
aschut 1:58f34947c674 44 if (!button3)
aschut 1:58f34947c674 45 {
aschut 1:58f34947c674 46 MotorOff();
aschut 1:58f34947c674 47 }
aschut 1:58f34947c674 48 }
aschut 0:a9a42914138c 49 }
aschut 0:a9a42914138c 50
aschut 0:a9a42914138c 51
aschut 0:a9a42914138c 52