change to motor controlling to temper high-pitched noise

main
mwinter 3 weeks ago
parent 30fd638cb1
commit 468cac4dff

@ -42,7 +42,7 @@ void setup() {
// enable more verbose output for debugging
// comment out if not needed
SimpleFOCDebug::enable(&Serial);
//SimpleFOCDebug::enable(&Serial);
// initialize encoder sensor hardware
sensor.init();
@ -83,9 +83,9 @@ void setup() {
motor.PID_velocity.P = 0.01;
motor.PID_velocity.I = 0.004;
driver.voltage_limit = 8;
motor.voltage_limit = 4;
//motor.current_limit = 2;
driver.voltage_limit = 10;
motor.voltage_limit = 5;
//motor.current_limit = 0.2;
motor.PID_velocity.limit = motor.voltage_limit;
@ -94,13 +94,13 @@ void setup() {
motor.PID_velocity.output_ramp = 10;
// velocity low pass filtering time constant
//motor.LPF_velocity.Tf = 0.1;
motor.LPF_velocity.Tf = 0.01;
// comment out if not needed
motor.useMonitoring(Serial);
//motor.useMonitoring(Serial);
motor.monitor_downsample = 10000;
//motor.motion_downsample = 4;
//motor.monitor_downsample = 100000;
motor.motion_downsample = 1;
// initialize motor
motor.init();
@ -118,6 +118,7 @@ void setup() {
}
void loop() {
// main FOC algorithm function
motor.loopFOC();
@ -129,6 +130,7 @@ void loop() {
// Motion control function
motor.move(targetV);
if (abs(motor.target) < 20.0f && motor.enabled==1)
motor.disable();
if (abs(motor.target) >= 20.0f && motor.enabled==0)
@ -136,10 +138,18 @@ void loop() {
// function intended to be used with serial plotter to monitor motor variables
// significantly slowing the execution down!!!!
motor.monitor();
//motor.monitor();
// user communication
/*
static uint32_t lastSerialRead = 0;
if (lastSerialRead == 32) {
lastSerialRead = 0;
commandESP.run();
commandComp.run();
}
lastSerialRead += 1;
*/
commandESP.run();
//commandComp.run();
}

Loading…
Cancel
Save