FRDM_wahadlo_torsyjne

Dependencies:   mbed BufferedSerial

Fork of FRDM_wahadlo_torsyjne by Wojciech M

Committer:
wojtekmir
Date:
Tue Jun 10 10:16:14 2014 +0000
Revision:
7:4720c7891ba4
Parent:
6:9414a292d7f2
DIR_V4

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wojtekmir 1:a4f9276a0f35 1 #include "mbed.h"
wojtekmir 1:a4f9276a0f35 2
wojtekmir 7:4720c7891ba4 3 int motor_PWM_period_us = 600; //deklaracja zmiennych
wojtekmir 1:a4f9276a0f35 4
wojtekmir 2:78a032749524 5 DigitalOut direction(PTC7); //wyjście PTC7 jako kierunek obrotów
wojtekmir 2:78a032749524 6 DigitalOut myled(LED_GREEN); //dioda zielona jako wizualizacja PWM
wojtekmir 2:78a032749524 7 AnalogIn ain0(PTB0); //deklaracja wejść analogowych
Pawel_13 3:2ba53b9a499a 8 //AnalogIn ain1(PTB1);
Pawel_13 3:2ba53b9a499a 9
wojtekmir 2:78a032749524 10 PwmOut motor(PTA5); //sygnał PWM do sterowania sterownikiem silnika krokowego
wojtekmir 2:78a032749524 11 Serial pc(USBTX,USBRX); // komunikacja z PC
wojtekmir 1:a4f9276a0f35 12
Pawel_13 3:2ba53b9a499a 13 float get_voltage_in(AnalogIn analog_in) {
Pawel_13 3:2ba53b9a499a 14 return analog_in.read() * 2.9035; // kalibracja -0.01% wartości odczytanej
Pawel_13 3:2ba53b9a499a 15 }
Pawel_13 3:2ba53b9a499a 16
wojtekmir 1:a4f9276a0f35 17 int main() {
wojtekmir 1:a4f9276a0f35 18
Pawel_13 6:9414a292d7f2 19 motor.period_us(motor_PWM_period_us);
wojtekmir 2:78a032749524 20 motor = 0.5f; //wypełnienie zawsze 50%
wojtekmir 7:4720c7891ba4 21 pc.baud(9600); //115200
Pawel_13 5:1e2e73ac4bed 22
Pawel_13 3:2ba53b9a499a 23 int i_start = 0;
wojtekmir 7:4720c7891ba4 24 int SWITCH_DIR = 240;
wojtekmir 1:a4f9276a0f35 25
Pawel_13 3:2ba53b9a499a 26 while (true) {
Pawel_13 6:9414a292d7f2 27 wait_us(motor_PWM_period_us);
Pawel_13 3:2ba53b9a499a 28 pc.printf("%.4f\n", get_voltage_in(ain0));
Pawel_13 3:2ba53b9a499a 29
Pawel_13 3:2ba53b9a499a 30 // pc.printf("a1:%d\n",ain1.read_u16());
Pawel_13 5:1e2e73ac4bed 31 i_start += 1;
Pawel_13 3:2ba53b9a499a 32 if (i_start == SWITCH_DIR) {
Pawel_13 5:1e2e73ac4bed 33 i_start = 0;
Pawel_13 3:2ba53b9a499a 34 myled = !myled;
Pawel_13 5:1e2e73ac4bed 35 direction = !direction;
wojtekmir 7:4720c7891ba4 36 if (SWITCH_DIR == 240) {
wojtekmir 7:4720c7891ba4 37 SWITCH_DIR *= 2;
Pawel_13 5:1e2e73ac4bed 38 }
Pawel_13 3:2ba53b9a499a 39 }
Pawel_13 3:2ba53b9a499a 40
Pawel_13 3:2ba53b9a499a 41
wojtekmir 1:a4f9276a0f35 42 //zmiana czestotliwosci ifami tutaj
wojtekmir 1:a4f9276a0f35 43
wojtekmir 2:78a032749524 44
wojtekmir 1:a4f9276a0f35 45 }
wojtekmir 1:a4f9276a0f35 46 }