11.06 - Versie beide motors draaien afhankelijk van potmeter

Dependencies:   FastPWM MODSERIAL mbed

Committer:
laurencebr
Date:
Fri Sep 28 09:05:37 2018 +0000
Revision:
1:621c4bb5301d
Parent:
0:dacd23e75c5c
Versie_beidemotorsdraaien

Who changed what in which revision?

UserRevisionLine numberNew contents of line
laurencebr 0:dacd23e75c5c 1 #include "mbed.h"
laurencebr 0:dacd23e75c5c 2 #include "FastPWM.h"
laurencebr 0:dacd23e75c5c 3 #include "MODSERIAL.h"
laurencebr 0:dacd23e75c5c 4
laurencebr 0:dacd23e75c5c 5 FastPWM motor1_pwm(D5);
laurencebr 0:dacd23e75c5c 6 DigitalOut motor1_richting(D4);
laurencebr 1:621c4bb5301d 7 FastPWM motor2_pwm(D6);
laurencebr 1:621c4bb5301d 8 DigitalOut motor2_richting(D7);
laurencebr 0:dacd23e75c5c 9
laurencebr 0:dacd23e75c5c 10 AnalogIn pot1(A1);
laurencebr 0:dacd23e75c5c 11 AnalogIn pot2(A0);
laurencebr 0:dacd23e75c5c 12 MODSERIAL pc(USBTX, USBRX);
laurencebr 0:dacd23e75c5c 13
laurencebr 0:dacd23e75c5c 14
laurencebr 0:dacd23e75c5c 15
laurencebr 0:dacd23e75c5c 16 int main()
laurencebr 0:dacd23e75c5c 17 {
laurencebr 0:dacd23e75c5c 18 int frequency_pwm = 16700; //16.7 kHz PWM
laurencebr 0:dacd23e75c5c 19
laurencebr 0:dacd23e75c5c 20
laurencebr 0:dacd23e75c5c 21 motor1_pwm.period(1.0/frequency_pwm); // T = 1/f
laurencebr 0:dacd23e75c5c 22
laurencebr 0:dacd23e75c5c 23 while(true){
laurencebr 0:dacd23e75c5c 24
laurencebr 0:dacd23e75c5c 25 pc.baud(115200);
laurencebr 0:dacd23e75c5c 26
laurencebr 0:dacd23e75c5c 27 float AnalogVoltage1 = pot1.read()*2 - 1;
laurencebr 0:dacd23e75c5c 28 float AnalogVoltage2 = pot2.read()*2 - 1;
laurencebr 0:dacd23e75c5c 29 pc.printf("pot1 = %f \t pot2 = %f \r\n", AnalogVoltage1, AnalogVoltage2);
laurencebr 0:dacd23e75c5c 30
laurencebr 1:621c4bb5301d 31 //Motor1
laurencebr 1:621c4bb5301d 32
laurencebr 0:dacd23e75c5c 33 if (AnalogVoltage1 <= 0) {
laurencebr 0:dacd23e75c5c 34 motor1_richting = 0;
laurencebr 0:dacd23e75c5c 35 motor1_pwm.write(-AnalogVoltage1); //write Duty cycle
laurencebr 0:dacd23e75c5c 36 }
laurencebr 0:dacd23e75c5c 37 if (AnalogVoltage1 >= 0) {
laurencebr 0:dacd23e75c5c 38 motor1_richting = 1;
laurencebr 0:dacd23e75c5c 39 motor1_pwm.write(AnalogVoltage1); //write Duty cycle
laurencebr 0:dacd23e75c5c 40 }
laurencebr 0:dacd23e75c5c 41
laurencebr 1:621c4bb5301d 42 //Motor 2
laurencebr 1:621c4bb5301d 43
laurencebr 1:621c4bb5301d 44 if (AnalogVoltage2 <= 0) {
laurencebr 1:621c4bb5301d 45 motor2_richting = 0;
laurencebr 1:621c4bb5301d 46 motor2_pwm.write(-AnalogVoltage2); //write Duty cycle
laurencebr 1:621c4bb5301d 47 }
laurencebr 1:621c4bb5301d 48 if (AnalogVoltage2 >= 0) {
laurencebr 1:621c4bb5301d 49 motor2_richting = 1;
laurencebr 1:621c4bb5301d 50 motor2_pwm.write(AnalogVoltage2); //write Duty cycle
laurencebr 1:621c4bb5301d 51 }
laurencebr 1:621c4bb5301d 52
laurencebr 0:dacd23e75c5c 53
laurencebr 0:dacd23e75c5c 54
laurencebr 0:dacd23e75c5c 55 }
laurencebr 0:dacd23e75c5c 56 }