From e1fb29490da45a80c3639580602debbbda65ccb2 Mon Sep 17 00:00:00 2001 From: Owen White Date: Fri, 17 May 2019 17:55:34 -0400 Subject: [PATCH] edit edit edit --- docs/encoders.md | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/docs/encoders.md b/docs/encoders.md index e50a0ca3..dd2e9f47 100644 --- a/docs/encoders.md +++ b/docs/encoders.md @@ -5,15 +5,14 @@ Be sure to read the [ODrive Encoder Guide](https://docs.google.com/spreadsheets/ ## Encoder Calibration Please take into account that all encoder types supported by ODrive require that you do some sort of encoder calibration. This requires the following: -* selecting an encoder and mounting it to your motor -* choosing an interface (e.g., AB, ABI or SPI) -* connecting the pins to the odrive -* loading the correct odrive firmware (the default will work in many cases) -* motor calibration -* saving the settings in the odrive for correct bootup +* Selecting an encoder and mounting it to your motor +* Choosing an interface (e.g., AB, ABI or SPI) +* Connecting the pins to the odrive +* Loading the correct odrive firmware (the default will work in many cases) +* Motor calibration +* Saving the settings in the odrive for correct bootup ### Encoder without index signal - During encoder offset calibration the rotor must be allowed to rotate without any biased load during startup. That means mass and weak friction loads are fine, but gravity or spring loads are not okay. In the `odrivetool`, type `.requested_state = AXIS_STATE_ENCODER_OFFSET_CALIBRATION` Enter. @@ -45,18 +44,17 @@ That's it, now on every reboot the motor will turn in one direction until it fin * If your motor has problems reaching the index location due to the mechanical load, you can increase `.motor.config.calibration_current`. ### Startup sequence notes - The following are variables that MUST be set up for your encoder configuration. Your values will vary depending on your encoder: * `.encoder.config.cpr = 4000` * `.encoder.config.mode = ENCODER_MODE_INCREMENTAL` -The following are examples of values that MAY impact the success of calibration. Do not use these values unless you understand why they are needed; your values will vary depending on your setup: +The following are examples of values that MAY impact the success of calibration. These are not all the varibles you have to set for startup. Only change these when you understand why they are needed; your values will vary depending on your setup: * `.motor.config.motor_type = MOTOR_TYPE_HIGH_CURRENT` select if you have a gimbal or high amp motor * `.encoder.config.calib_range = 0.05` helps to relax the accuracy of encoder counts during calibration * `.motor.config.calibration_current = 10.0` _sometimes_ needed if this is a large motor * `.motor.config.resistance_calib_max_voltage = 12.0` _sometimes_ needed depending on motor -* `.controller.config.vel_limit = 50000` +* `.controller.config.vel_limit = 50000` low values result in the spinning motor stopping abruptly during calibration Lots of other values can get you. It's a process. Thankfully there is a lot of good people that will help you debug calibration problems.