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 QEI MPU6050 BLE_API nRF51822 MCP4725 eMPL_MPU6050
Revision 18:3b1aa67e11ca, committed 2020-05-29
- Comitter:
- BoulusAJ
- Date:
- Fri May 29 15:40:58 2020 +0000
- Parent:
- 17:04eebb7c29b5
- Commit message:
- Version May 29, 2020
Changed in this revision
--- a/MCP4725.lib Fri May 29 13:57:32 2020 +0000 +++ b/MCP4725.lib Fri May 29 15:40:58 2020 +0000 @@ -1,1 +1,1 @@ -https://os.mbed.com/users/donalm/code/MCP4725/#28af46e7207f +https://os.mbed.com/users/BoulusAJ/code/MCP4725/#28af46e7207f
--- a/MPU6050.lib Fri May 29 13:57:32 2020 +0000 +++ b/MPU6050.lib Fri May 29 15:40:58 2020 +0000 @@ -1,1 +1,1 @@ -https://os.mbed.com/teams/Seeed/code/MPU6050/#8d033f880fce +https://os.mbed.com/teams/GRT_FS2019_VoiceCoil/code/MPU6050/#8d033f880fce
--- a/QEI.lib Fri May 29 13:57:32 2020 +0000 +++ b/QEI.lib Fri May 29 15:40:58 2020 +0000 @@ -1,1 +1,1 @@ -https://os.mbed.com/users/aberk/code/QEI/#c20c6a8e709b +https://os.mbed.com/users/BoulusAJ/code/QEI/#c20c6a8e709b
--- a/main.cpp Fri May 29 13:57:32 2020 +0000
+++ b/main.cpp Fri May 29 15:40:58 2020 +0000
@@ -10,6 +10,36 @@
*/
/*
+
+ // Physical Model of Cuboid 2.0
+
+ % Mass Parameters
+ Cube Mini - Mass = 0.6 + 0.170 + 0.015 = 0.7850 Kg, Mass of the Full Cuboid with Motor and Flywheel
+ Cube Mini - Flywheel Mass = 0.170 kg
+ Cube Mini - Without Flywheel Mass = 0.6150 kg
+
+ % Dimensions Parameters
+ % Cube Mini Dimensions (10x10x10) cm
+ Cube Mini - Length = 0.90*100e-3 m (The multiplication by 0.9 is to compensate for the rounded edges)
+ Cube Mini - CoM = Cube Mini - Length * 0.5, Center of Mass Location
+ % Inertia Parameters
+ Cube Mini - Inertia (J) of the Body from the edge Edge = 0.003044 Kg.m^2, Inertia about the edge
+ Cube Mini - Inertia (J) of Flyhweel and Rotor from Center = (0.0002104064 + 0.0000181) kg.m^2,
+
+ % Motor Parameters
+ % Motor: Maxon Flat EC45, Part number: 411812, Specs: 24V, Km 36.9e-3
+ Cube Mini - Motor.Km = 36.9e-3 % Torque Constant % Unit: Nm/A
+ Cube Mini - Motor.Resistance = 0.608 % Terminal Resistance % Unit: Ohm
+ Cube Mini - Motor.Inductance = 0.463e-3 % Unit: H, Henry
+
+ % PI Controller Escon
+ Cube Mini - Escon.PI_Tn = 500e-6; %945e-6
+ Cube Mini - Escon.PI_Kp = 100*(10/2^11);%576*(10/2^11)
+
+ % RC Physical Velocity Voltage Filter
+ Filter.Velocity.R = 1e3 Ohm
+ Filter.Velocity.C = 10e-6 F
+
Settings for Maxon ESCON controller (upload via ESCON Studio)
Escon Studio file Location: ...
@@ -343,7 +373,7 @@
VoltageOut.write(CurrentToVoltage(Sys_input_Amps));
//pc.printf("%0.7f, %0.7f, \n\r", abs(Cuboid_Angle_Degrees), abs(Velocity));
- if (abs(Velocity) < 10.0f) {
+ if (abs(Velocity) < 15.0f) {
Sys_input_Amps = 0.0;
Button_Status = 2;
break;
@@ -358,8 +388,14 @@
if (Sys_input_Amps < uMin) {
Sys_input_Amps = uMin;
}
+ if (Cuboid_Angle_Degrees > -50.0f && Cuboid_Angle_Degrees < 50.0f) {
// Scaling the controller output from -15 A --> 15 A to 0 V --> 5 V
VoltageOut.write(CurrentToVoltage(Sys_input_Amps));
+ }
+ else {
+ Sys_input_Amps = 0.0f;
+ VoltageOut.write(CurrentToVoltage(Sys_input_Amps));
+ }
// ----------------