This commit is contained in:
hg 2015-02-11 19:00:46 +01:00
parent db20ef7c88
commit 3c26c92329
3 changed files with 66 additions and 38 deletions

View File

@ -4,53 +4,21 @@
#include <LiquidCrystal.h>
#include "control.h"
#include "hardware.h"
#include "ctrlParams.h"
const uint8_t PWM_PIN = 23;
const uint8_t PWM_LOOPBACK = 22;
const uint32_t PWM_FREQ = 23437;
// const uint32_t PWM_FREQ = 46875;
const uint32_t PWM_RES = 10;
const uint32_t PWM_MIN = 1;
const uint32_t PWM_MAX = 1023;
const uint8_t ADC_IN = 21;
const uint8_t ADC_RES = 10;
const uint32_t ADC_MIN = 0;
const uint32_t ADC_MAX = 1023;
const uint8_t ADC_AVG = 32;
const float R_top = 100000.0;
const float R_bottom = 6200.0;
const float U_ref = 3.3;
const uint8_t LCD_RS = 12;
const uint8_t LCD_E = 11;
const uint8_t LCD_D4 = 10;
const uint8_t LCD_D5 = 9;
const uint8_t LCD_D6 = 8;
const uint8_t LCD_D7 = 7;
const uint8_t LCD_ROWS = 2;
const uint8_t LCD_COLS = 16;
const uint32_t CYCLE_DIV = 5;
const float Ctrl_P = 10.0;
const float Ctrl_I = 5.0;
const float Ctrl_D = 0.0;
volatile Control ctrl((float)PWM_MIN, (float)PWM_MAX, Ctrl_P, Ctrl_I, Ctrl_D);
volatile float U_des = 14.0;
volatile Control ctrl((float)PWM_MIN, (float)PWM_MAX, Ctrl_P, Ctrl_I, Ctrl_D);
LiquidCrystal lcd(LCD_RS, LCD_E, LCD_D4, LCD_D5, LCD_D6, LCD_D7);
const uint32_t DISPLAY_UPDATE_TIME = 5e5; // microseconds
volatile uint32_t lastCycle = 0;
volatile float u_curr = 0;
volatile uint16_t newPwm = 0;
@ -129,6 +97,5 @@ void loop() {
lcd.print(" ");
lcd.print(dutyCycle);
lcd.print("%");
}
}

20
ctrlParams.h Normal file
View File

@ -0,0 +1,20 @@
/*
* ctrlParams.h
*
* Created on: Feb 11, 2015
* Author: wn
*/
#ifndef CTRLPARAMS_H_
#define CTRLPARAMS_H_
const uint32_t CYCLE_DIV = 5;
const float Ctrl_P = 10.0;
const float Ctrl_I = 5.0;
const float Ctrl_D = 0.0;
#endif /* CTRLPARAMS_H_ */

41
hardware.h Normal file
View File

@ -0,0 +1,41 @@
/*
* hardware.h
*
* Created on: Feb 11, 2015
* Author: wn
*/
#ifndef HARDWARE_H_
#define HARDWARE_H_
const uint8_t PWM_PIN = 23;
const uint8_t PWM_LOOPBACK = 22;
const uint32_t PWM_FREQ = 23437;
// const uint32_t PWM_FREQ = 46875;
const uint32_t PWM_RES = 10;
const uint32_t PWM_MIN = 1;
const uint32_t PWM_MAX = 1023;
const uint8_t ADC_IN = 21;
const uint8_t ADC_RES = 10;
const uint32_t ADC_MIN = 0;
const uint32_t ADC_MAX = 1023;
const uint8_t ADC_AVG = 32;
const float R_top = 100000.0;
const float R_bottom = 6200.0;
const float U_ref = 3.3;
const uint8_t LCD_RS = 12;
const uint8_t LCD_E = 11;
const uint8_t LCD_D4 = 10;
const uint8_t LCD_D5 = 9;
const uint8_t LCD_D6 = 8;
const uint8_t LCD_D7 = 7;
const uint8_t LCD_ROWS = 2;
const uint8_t LCD_COLS = 16;
#endif /* HARDWARE_H_ */