Bayley Wang
/
priustroller
Prius IPM controller
Fork of analoghalls5_5 by
sensors/throttle.cpp@35:83cf9564bd0c, 2015-03-16 (annotated)
- Committer:
- bwang
- Date:
- Mon Mar 16 15:40:07 2015 +0000
- Revision:
- 35:83cf9564bd0c
- Parent:
- 11:dccbaa9274c5
Set for 3A Iq, 0A Id, Ki = 1e-3, Kp = Kd = 0, loop still oscillates but is passable
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bwang | 1:1f58bdcf2956 | 1 | #include "includes.h" |
bwang | 1:1f58bdcf2956 | 2 | #include "sensors.h" |
bwang | 1:1f58bdcf2956 | 3 | |
bwang | 1:1f58bdcf2956 | 4 | Throttle::Throttle(PinName pin, float min, float max) { |
bwang | 1:1f58bdcf2956 | 5 | _in = new AnalogVoltageSensor(pin, 1.0f); |
bwang | 1:1f58bdcf2956 | 6 | _min = min; |
bwang | 1:1f58bdcf2956 | 7 | _max = max; |
bwang | 1:1f58bdcf2956 | 8 | } |
bwang | 1:1f58bdcf2956 | 9 | |
bwang | 1:1f58bdcf2956 | 10 | float Throttle::GetThrottle() { |
bwang | 1:1f58bdcf2956 | 11 | float v = _in->GetVoltage(); |
nki | 10:b4abecccec7a | 12 | v = (v - _min) / (_max - _min); |
nki | 10:b4abecccec7a | 13 | if (v > 1.0f) return 1.0f; |
nki | 10:b4abecccec7a | 14 | if (v < 0.0f) return 0.0f; |
nki | 10:b4abecccec7a | 15 | return v; |
bwang | 1:1f58bdcf2956 | 16 | } |