Prius IPM controller

Dependencies:   mbed

Fork of analoghalls5_5 by N K

Committer:
nki
Date:
Wed Mar 04 15:33:32 2015 +0000
Revision:
6:99ee0ce47fb2
Parent:
5:ee1e6c84c302
Child:
7:76d6ceb23e0d
Child:
9:d3b70c15baa9
3/4;

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 6:99ee0ce47fb2 10
nki 6:99ee0ce47fb2 11 float test_DtcA;
nki 6:99ee0ce47fb2 12 float test_DtcB;
nki 6:99ee0ce47fb2 13 float test_DtcC;
nki 4:fdadf4a3577a 14
bwang 0:54cf32d35f4d 15 int main() {
nki 4:fdadf4a3577a 16 pc->baud(115200);
nki 6:99ee0ce47fb2 17 pc->printf("%s\n\r", "Init Serial Comm");
nki 6:99ee0ce47fb2 18
nki 5:ee1e6c84c302 19 PositionSensor *sense_p = new AnalogHallPositionSensor(A4, A5, 0.249f, 0.497f, 0.231f, 0.499f, 200.0f);
nki 6:99ee0ce47fb2 20 CurrentSensor *sense_ic = new AnalogCurrentSensor(A1, 0.01);
bwang 0:54cf32d35f4d 21 CurrentSensor *sense_ib = new AnalogCurrentSensor(A2, 0.01);
bwang 0:54cf32d35f4d 22 VoltageSensor *sense_bus = new AnalogVoltageSensor(A5, 0.01);
bwang 0:54cf32d35f4d 23 TempSensor *sense_t_motor = new TempSensor();
bwang 0:54cf32d35f4d 24 TempSensor *sense_t_inverter = new TempSensor();
bwang 0:54cf32d35f4d 25 Throttle *throttle = new Throttle(A0, 0.5f, 3.0f);
bwang 0:54cf32d35f4d 26
nki 6:99ee0ce47fb2 27 PidController *pid_d = new PidController(0.1f, 0.0f, 0.0f, 1.0f, 0.0f);
nki 6:99ee0ce47fb2 28 PidController *pid_q = new PidController (0.1f, 0.0f, 0.0f, 1.0f, 0.0f);
bwang 3:0a2396597e0d 29
nki 6:99ee0ce47fb2 30 Motor *motor = new Motor(sense_ic, sense_ib, sense_p, sense_t_motor);
bwang 0:54cf32d35f4d 31 Inverter *inverter = new Inverter(D6, D13, D3, D8, sense_bus, sense_t_inverter);
bwang 0:54cf32d35f4d 32 User *user = new User(throttle);
bwang 3:0a2396597e0d 33 Modulator *modulator = new SinusoidalModulator(inverter);
bwang 3:0a2396597e0d 34 StatusUpdater *updater = new StatusUpdater(inverter, motor, user);
nki 6:99ee0ce47fb2 35 LoopDriver *driver = new LoopDriver(inverter, motor, user, pid_d, pid_q, modulator, 1.0f, 5000);
bwang 0:54cf32d35f4d 36
bwang 0:54cf32d35f4d 37 motor->Config(4, 20.0f);
bwang 3:0a2396597e0d 38 updater->Config(5000, 10);
nki 4:fdadf4a3577a 39
bwang 3:0a2396597e0d 40 driver->Start();
bwang 3:0a2396597e0d 41 updater->Start();
bwang 0:54cf32d35f4d 42 }