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.
Dependencies: mbed-dev-f303 FastPWM3
Diff: CurrentRegulator/CurrentRegulator.cpp
- Revision:
- 4:c023f7b6f462
- Parent:
- 3:6a0015d88d06
- Child:
- 5:51c6560bf624
diff -r 6a0015d88d06 -r c023f7b6f462 CurrentRegulator/CurrentRegulator.cpp
--- a/CurrentRegulator/CurrentRegulator.cpp Wed Mar 09 04:00:48 2016 +0000
+++ b/CurrentRegulator/CurrentRegulator.cpp Sat Mar 12 08:04:51 2016 +0000
@@ -32,9 +32,16 @@
Int_Max = .9;
DTC_Max = .97;
//theta_elec = _PositionSensor->GetElecPosition();
+ //pc = new Serial(PA_2, PA_3);
+ //pc->baud(115200);
}
+void CurrentRegulator::SendSPI(){
+
+
+ }
+
void CurrentRegulator::UpdateRef(float D, float Q){
IQ_Ref = Q;
ID_Ref = D;
@@ -51,7 +58,7 @@
//IQ_Ref = -IQ_Ref;
// }
- DAC->DHR12R1 = (int) (I_Q*490.648f) + 2048;
+ //DAC->DHR12R1 = (int) (I_Q*490.648f) + 2048;
//DAC->DHR12R1 = (int) (I_Alpha*4096.0f) + 2048;
}
@@ -78,8 +85,23 @@
void CurrentRegulator::Commutate(){
+ //count += 1;
theta_elec = _PositionSensor->GetElecPosition();
SampleCurrent(); //Grab most recent current sample
Update(); //Run control loop
SetVoltage(); //Set inverter duty cycles
+ /*
+ 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));
+ pc->putc((unsigned char) (theta_elec*40.0f));
+ pc->putc((unsigned char) (I_A*100.0f+127));
+ pc->putc((unsigned char) (I_B*100.0f+127));
+ pc->putc((unsigned char) (I_Alpha*100.0f+127));
+ pc->putc((unsigned char) (I_Beta*100.0f+127));
+ pc->putc((unsigned char) (I_Q*100.0f+127));
+ pc->putc((unsigned char) (I_D*100.0f+127));
+ pc->putc((0xff));
+ count = 0;
+ }
+ */
}
\ No newline at end of file