Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: CurrentRegulator/CurrentRegulator.cpp
- Revision:
- 7:dc5f27756e02
- Parent:
- 6:4ee1cdc43aa8
- Child:
- 8:10ae7bc88d6e
--- a/CurrentRegulator/CurrentRegulator.cpp Sat Mar 12 19:55:52 2016 +0000
+++ b/CurrentRegulator/CurrentRegulator.cpp Tue Mar 29 01:05:46 2016 +0000
@@ -9,9 +9,9 @@
CurrentRegulator::CurrentRegulator(Inverter *inverter, PositionSensor *position_sensor, float Kp, float Ki){
_Inverter = inverter;
- PWM = new SVPWM(inverter, 2.0);
+ PWM = new SPWM(inverter, 2.0);
_PositionSensor = position_sensor;
- IQ_Ref = .5;
+ IQ_Ref = 2;
ID_Ref = 0;
V_Q = 0;
V_D = 0;
@@ -79,6 +79,7 @@
V_Q = Q_Integral + _Kp*Q_Error;
V_D = D_Integral + _Kp*D_Error;
+ //V_D = 0;
}
@@ -93,10 +94,13 @@
void CurrentRegulator::Commutate(){
//count += 1;
+ GPIOC->ODR = (1 << 4); //Toggle pin for debugging
theta_elec = _PositionSensor->GetElecPosition();
SampleCurrent(); //Grab most recent current sample
Update(); //Run control loop
SetVoltage(); //Set inverter duty cycles
+ GPIOC->ODR = (0 << 4); //Toggle pin for debugging
+
/*
if (count==500){
//printf("%d %d %d %d\n\r", (int) (I_Q*1000), (int) (I_D*1000), (int) (I_A*1000), int (I_B*1000));