FA-FO hardware changes

This commit is contained in:
fiona 2026-08-02 10:00:07 +00:00
parent 63d960f8a5
commit 40deb27652
3 changed files with 21 additions and 18 deletions

View file

@ -27,7 +27,7 @@ constexpr float ENCODER_ANGLE_TO_ROTOR_ANGLE = (ENCODER_MAGNET_PITCH*2.0f) /
// enables error checking for encoders (slow) - useful for debugging
// Note: some chips seem to return always a crc of 0 producing massiv false errors
constexpr bool ENABLE_ENCODER_CRC = false;
constexpr bool ENABLE_ENCODER_CRC = true;
//--- HOMING ------------------------------------------------------------------
@ -38,7 +38,7 @@ constexpr float HOMING_CURRENT = 0.15f; // range 0..1
//--- CALIBRATION -------------------------------------------------------------
// degrees from home position
constexpr float CALIBRATION_RANGE = 83;
constexpr float CALIBRATION_RANGE = 83;
// velocity of the magnetic field during calibration (lower is more accurate)
constexpr float CALIBRATION_FIELD_VELOCITY = 20.0f;
@ -70,7 +70,7 @@ constexpr float VEL_KI = 90.0f;
#define JOINT_READY_OVERRIDE
// #define SINGLE_AXIS_BOARD
#define SINGLE_AXIS_BOARD
#ifndef SINGLE_AXIS_BOARD
// Pins for 3Axis Board
// #define PIN_BUILTIN_LED 23 // RP2040 pico clone
@ -87,18 +87,18 @@ constexpr float VEL_KI = 90.0f;
#define PIN_M2_PWM_B_POS 10
#define PIN_M2_PWM_B_NEG 11
#define PIN_M3_PWM_A_POS 5
#define PIN_M3_PWM_A_NEG 4
#define PIN_M3_PWM_B_POS 6
#define PIN_M3_PWM_A_POS 20
#define PIN_M3_PWM_A_NEG 21
#define PIN_M3_PWM_B_POS 22
#define PIN_M3_PWM_B_NEG 7
#define PIN_MOTOR_EN 18
#define PIN_MOTOR_PWMAB 19
#define PIN_ENCODER1_CS 20
#define PIN_ENCODER2_CS 21
#define PIN_ENCODER3_CS 22
#define PIN_ENCODER1_CS 4
#define PIN_ENCODER2_CS 5
#define PIN_ENCODER3_CS 6
#define PIN_ENCODER_SCK 2
#define PIN_ENCODER_MISO 0
#define PIN_ENCODER_MOSI 3
@ -121,19 +121,22 @@ constexpr float VEL_KI = 90.0f;
#define PIN_M2_PWM_B_POS 10
#define PIN_M2_PWM_B_NEG 11
#define PIN_M3_PWM_A_POS 5
#define PIN_M3_PWM_A_NEG 4
#define PIN_M3_PWM_B_POS 6
#define PIN_M3_PWM_A_POS 20
#define PIN_M3_PWM_A_NEG 21
#define PIN_M3_PWM_B_POS 22
#define PIN_M3_PWM_B_NEG 7
#define PIN_MOTOR_EN 18
#define PIN_MOTOR_PWMAB 19
#define PIN_ENCODER1_CS 20
#define PIN_ENCODER2_CS 21
#define PIN_ENCODER3_CS 22
#define PIN_ENCODER1_CS 4
#define PIN_ENCODER2_CS 5
#define PIN_ENCODER3_CS 6
#define PIN_ENCODER_SCK 2
#define PIN_ENCODER_MISO 0
#define PIN_ENCODER_MOSI 3
#endif
#define PIN_TOOL1 16
#define PIN_TOOL2 17
#endif

View file

@ -57,7 +57,7 @@ bool RobotJoint::calibrate(bool print_measurements) {
bool homing_ok = homing_controller.run_blocking(servo_controller, -HOMING_VELOCITY,
360.0f*DEG_TO_RAD, HOMING_CURRENT,
ENCODER_ANGLE_TO_ROTOR_ANGLE,
0.0f);
17.5f*DEG_TO_RAD);
if(homing_ok == false) {
LOG_ERROR("Joint-%i: Calibration failed due to unsuccessful homing sequence", joint_idx);
return false;

View file

@ -58,7 +58,7 @@ bool measure_calibration_data(
if(encoder.get_status() & MT6835_STATUS_WEAKFIELD)
weak_field_measurements++;
if(print_measurements)
if(true)
LOG_RAW("%15.10f, %15.10f, %f", motor_pos, field_angle, encoder_angle_raw);
encoder_angle_and_motor_pos.push_back({encoder_angle_raw, motor_pos});