Bayley Wang
/
priustroller
Prius IPM controller
Fork of analoghalls5_5 by
main.cpp@6:99ee0ce47fb2, 2015-03-04 (annotated)
- 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?
User | Revision | Line number | New 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 | } |