N K
/
GaNtroller
a fork of priustroller
Fork of priustroller_current by
main.cpp@9:d3b70c15baa9, 2015-03-06 (annotated)
- 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?
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 | 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 | } |