Prius IPM controller

Dependencies:   mbed

Fork of analoghalls5_5 by N K

Committer:
nki
Date:
Fri Mar 06 19:12:53 2015 +0000
Revision:
9:d3b70c15baa9
Parent:
6:99ee0ce47fb2
Child:
10:b4abecccec7a
loop is closed.;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bwang 0:54cf32d35f4d 1 #include "includes.h"
bwang 1:1f58bdcf2956 2 #include "core.h"
bwang 1:1f58bdcf2956 3 #include "sensors.h"
bwang 1:1f58bdcf2956 4 #include "meta.h"
bwang 0:54cf32d35f4d 5
nki 4:fdadf4a3577a 6 Serial *pc = new Serial(SERIAL_TX, SERIAL_RX);
nki 6:99ee0ce47fb2 7 float test_alpha = 0;
nki 6:99ee0ce47fb2 8 float test_beta = 0;
nki 6:99ee0ce47fb2 9
nki 9:d3b70c15baa9 10 float d_mean = 0;
nki 9:d3b70c15baa9 11 float q_mean = 0;
nki 6:99ee0ce47fb2 12
nki 6:99ee0ce47fb2 13 float test_DtcA;
nki 6:99ee0ce47fb2 14 float test_DtcB;
nki 6:99ee0ce47fb2 15 float test_DtcC;
nki 4:fdadf4a3577a 16
bwang 0:54cf32d35f4d 17 int main() {
nki 4:fdadf4a3577a 18 pc->baud(115200);
nki 6:99ee0ce47fb2 19 pc->printf("%s\n\r", "Init Serial Comm");
nki 6:99ee0ce47fb2 20
nki 9:d3b70c15baa9 21 PositionSensor *sense_p = new AnalogHallPositionSensor(A4, A5, 0.249f, 0.497f, 0.231f, 0.499f, 205.0f);
nki 6:99ee0ce47fb2 22 CurrentSensor *sense_ic = new AnalogCurrentSensor(A1, 0.01);
bwang 0:54cf32d35f4d 23 CurrentSensor *sense_ib = new AnalogCurrentSensor(A2, 0.01);
bwang 0:54cf32d35f4d 24 VoltageSensor *sense_bus = new AnalogVoltageSensor(A5, 0.01);
bwang 0:54cf32d35f4d 25 TempSensor *sense_t_motor = new TempSensor();
bwang 0:54cf32d35f4d 26 TempSensor *sense_t_inverter = new TempSensor();
bwang 0:54cf32d35f4d 27 Throttle *throttle = new Throttle(A0, 0.5f, 3.0f);
bwang 0:54cf32d35f4d 28
nki 9:d3b70c15baa9 29 PidController *pid_d = new PidController(0.0001f, 0.0f, 0.0f, 5.0f, -5.0f);
nki 9:d3b70c15baa9 30 PidController *pid_q = new PidController (0.0001f, 0.0f, 0.0f, 5.0f, -5.0f);
bwang 3:0a2396597e0d 31
nki 6:99ee0ce47fb2 32 Motor *motor = new Motor(sense_ic, sense_ib, sense_p, sense_t_motor);
bwang 0:54cf32d35f4d 33 Inverter *inverter = new Inverter(D6, D13, D3, D8, sense_bus, sense_t_inverter);
bwang 0:54cf32d35f4d 34 User *user = new User(throttle);
bwang 3:0a2396597e0d 35 Modulator *modulator = new SinusoidalModulator(inverter);
bwang 3:0a2396597e0d 36 StatusUpdater *updater = new StatusUpdater(inverter, motor, user);
nki 6:99ee0ce47fb2 37 LoopDriver *driver = new LoopDriver(inverter, motor, user, pid_d, pid_q, modulator, 1.0f, 5000);
bwang 0:54cf32d35f4d 38
bwang 0:54cf32d35f4d 39 motor->Config(4, 20.0f);
nki 9:d3b70c15baa9 40 updater->Config(5000, 100, 10);
nki 4:fdadf4a3577a 41
bwang 3:0a2396597e0d 42 driver->Start();
bwang 3:0a2396597e0d 43 updater->Start();
bwang 0:54cf32d35f4d 44 }