From 05dfb458da2d6bc6574f1d51b7b1b8b52d9d38ff Mon Sep 17 00:00:00 2001 From: Jake Read <jake.read@cba.mit.edu> Date: Fri, 11 Dec 2020 13:04:17 -0500 Subject: [PATCH] cl step dev --- 2020-06_ucbus-stepper-melted/eagle.epf | 48 ++--- 2020-06_ucbus-stepper-module/eagle.epf | 44 ++--- .../src/drivers/enc_as5047.cpp | 38 +++- .../src/drivers/enc_as5047.h | 7 + .../src/drivers/step_cl.cpp | 53 ++--- .../cl-step-controller/src/drivers/step_cl.h | 3 +- .../src/drivers/ucbus_drop.cpp | 4 + .../src/drivers/ucbus_drop.h | 1 - firmware/cl-step-controller/src/main.cpp | 181 ++++-------------- firmware/cl-step-controller/src/osap/ts.h | 2 + .../src/utils/clocks_d51_module.cpp | 4 +- .../src/main.cpp | 33 ++-- log/2020-11-16_cpol-zero-stray.png | Bin 0 -> 30697 bytes log/2020-11-16_cpol-zero-typical.png | Bin 0 -> 34384 bytes log/2020-11-16_noisy-encoder.png | Bin 0 -> 45809 bytes log/cl-step-control-log.md | 46 ++++- 16 files changed, 223 insertions(+), 241 deletions(-) create mode 100644 log/2020-11-16_cpol-zero-stray.png create mode 100644 log/2020-11-16_cpol-zero-typical.png create mode 100644 log/2020-11-16_noisy-encoder.png diff --git a/2020-06_ucbus-stepper-melted/eagle.epf b/2020-06_ucbus-stepper-melted/eagle.epf index f0b033d..352648b 100644 --- a/2020-06_ucbus-stepper-melted/eagle.epf +++ b/2020-06_ucbus-stepper-melted/eagle.epf @@ -9,17 +9,17 @@ AutoSaveProject=1 UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/SparkFun-Eagle-Libraries/SparkFun-Connectors.lbr" [Win_1] -Type="Board Editor" -Number=2 -File="2020-06_ucbus-stepper-melted.brd" -View="17.4797 11.3003 31.7696 26.4656" -WireWidths=" 0.8 0.9 0.1 0.05 0.2032 0.5 0.3 0 0.1524" +Type="Schematic Editor" +Number=1 +File="2020-06_ucbus-stepper-melted.sch" +View="147.615 19.4173 415.853 165.287" +WireWidths=" 0.0762 0.1016 0.127 0.15 0.2 0.2032 0.254 0.3048 0.4064 0.508 0.6096 0.8128 1.016 1.27 2.54 0.1524" PadDiameters=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0" PadDrills=" 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.65 0.7 0.75 0.8 0.85 0.9 1 0.6" ViaDiameters=" 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 1.3 0" -ViaDrills=" 0.2 0.25 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35 0.4 0.3" +ViaDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35" HoleDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35" -TextSizes=" 0.254 0.3048 0.4064 0.6096 0.8128 1.27 1.4224 1.6764 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.778 1.016" +TextSizes=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.778" PolygonSpacings=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.27" PolygonIsolates=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0" MiterRadiuss=" 0.254 0.3175 0.635 1.27 2.54 1 2 2.5 5 7.5 10 0" @@ -28,14 +28,14 @@ DimensionExtWidths=" 0.127 0.254 0.1 0.13 0.26 0" DimensionExtLengths=" 1.27 2.54 1 2 3 0" DimensionExtOffsets=" 1.27 2.54 1 2 3 0" SmdSizes=" 0.3048 0.1524 0.4064 0.2032 0.6096 0.3048 0.8128 0.4064 1.016 0.508 1.27 0.6604 1.4224 0.7112 1.6764 0.8128 1.778 0.9144 1.9304 0.9652 2.1844 1.0668 2.54 1.27 3.81 1.9304 5.08 2.54 6.4516 3.2512 1.27 0.635" -WireBend=3 -WireBendSet=0 +WireBend=4 +WireBendSet=31 WireCap=1 MiterStyle=1 PadShape=0 ViaShape=1 PolygonPour=0 -PolygonRank=4 +PolygonRank=0 PolygonThermals=1 PolygonOrphans=0 TextRatio=8 @@ -50,20 +50,22 @@ SwapLevel=0 ArcDirection=0 AddLevel=2 PadsSameType=0 -Layer=51 +Layer=91 +Views=" 1: 147.615 19.4173 415.853 165.287" +Sheet="1" [Win_2] -Type="Schematic Editor" -Number=1 -File="2020-06_ucbus-stepper-melted.sch" -View="147.615 19.4173 415.853 165.287" -WireWidths=" 0.0762 0.1016 0.127 0.15 0.2 0.2032 0.254 0.3048 0.4064 0.508 0.6096 0.8128 1.016 1.27 2.54 0.1524" +Type="Board Editor" +Number=2 +File="2020-06_ucbus-stepper-melted.brd" +View="12.0251 1.84836 26.315 17.0137" +WireWidths=" 0.8 0.9 0.1 0.05 0.2032 0.5 0.3 0 0.1524" PadDiameters=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0" PadDrills=" 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.65 0.7 0.75 0.8 0.85 0.9 1 0.6" ViaDiameters=" 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 1.3 0" -ViaDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35" +ViaDrills=" 0.2 0.25 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35 0.4 0.3" HoleDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35" -TextSizes=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.778" +TextSizes=" 0.254 0.3048 0.4064 0.6096 0.8128 1.27 1.4224 1.6764 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.778 1.016" PolygonSpacings=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.27" PolygonIsolates=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0" MiterRadiuss=" 0.254 0.3175 0.635 1.27 2.54 1 2 2.5 5 7.5 10 0" @@ -72,14 +74,14 @@ DimensionExtWidths=" 0.127 0.254 0.1 0.13 0.26 0" DimensionExtLengths=" 1.27 2.54 1 2 3 0" DimensionExtOffsets=" 1.27 2.54 1 2 3 0" SmdSizes=" 0.3048 0.1524 0.4064 0.2032 0.6096 0.3048 0.8128 0.4064 1.016 0.508 1.27 0.6604 1.4224 0.7112 1.6764 0.8128 1.778 0.9144 1.9304 0.9652 2.1844 1.0668 2.54 1.27 3.81 1.9304 5.08 2.54 6.4516 3.2512 1.27 0.635" -WireBend=4 -WireBendSet=31 +WireBend=3 +WireBendSet=0 WireCap=1 MiterStyle=1 PadShape=0 ViaShape=1 PolygonPour=0 -PolygonRank=0 +PolygonRank=4 PolygonThermals=1 PolygonOrphans=0 TextRatio=8 @@ -94,9 +96,7 @@ SwapLevel=0 ArcDirection=0 AddLevel=2 PadsSameType=0 -Layer=91 -Views=" 1: 147.615 19.4173 415.853 165.287" -Sheet="1" +Layer=51 [Win_3] Type="Control Panel" diff --git a/2020-06_ucbus-stepper-module/eagle.epf b/2020-06_ucbus-stepper-module/eagle.epf index cd32d3b..6ff93f3 100644 --- a/2020-06_ucbus-stepper-module/eagle.epf +++ b/2020-06_ucbus-stepper-module/eagle.epf @@ -352,15 +352,15 @@ UsedLibraryUrn="urn:adsk.eagle:library:146" UsedLibraryUrn="urn:adsk.eagle:library:168" [Win_1] -Type="Board Editor" -Number=2 -File="2020-06_ucbus-stepper-module.brd" -View="4.03467 13.6269 14.4835 23.0259" -WireWidths=" 0.127 0.15 0.2 2.54 1.016 0.2032 0.254 0.6096 0 2.032 0.508 0.4064 0.3048 1.27 0.8128 0.1524" +Type="Schematic Editor" +Number=1 +File="2020-06_ucbus-stepper-module.sch" +View="93.8998 -5.32858 236.93 67.1657" +WireWidths=" 0.0762 0.1016 0.127 0.15 0.2 0.2032 0.254 0.3048 0.4064 0.508 0.6096 0.8128 1.016 1.27 2.54 0.1524" PadDiameters=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0" PadDrills=" 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.65 0.7 0.75 0.8 0.85 0.9 1 0.6" ViaDiameters=" 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 1.3 0" -ViaDrills=" 0.2 0.25 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35 0.4 0.3" +ViaDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35" HoleDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35" TextSizes=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.778" PolygonSpacings=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.27" @@ -371,14 +371,14 @@ DimensionExtWidths=" 0.127 0.254 0.1 0.13 0.26 0" DimensionExtLengths=" 1.27 2.54 1 2 3 0" DimensionExtOffsets=" 1.27 2.54 1 2 3 0" SmdSizes=" 0.3048 0.1524 0.4064 0.2032 0.6096 0.3048 0.8128 0.4064 1.016 0.508 1.27 0.6604 1.4224 0.7112 1.6764 0.8128 1.778 0.9144 1.9304 0.9652 2.1844 1.0668 2.54 1.27 3.81 1.9304 5.08 2.54 6.4516 3.2512 1.27 0.635" -WireBend=1 -WireBendSet=0 +WireBend=4 +WireBendSet=31 WireCap=1 MiterStyle=1 PadShape=0 ViaShape=1 PolygonPour=0 -PolygonRank=1 +PolygonRank=0 PolygonThermals=1 PolygonOrphans=0 TextRatio=8 @@ -393,18 +393,20 @@ SwapLevel=0 ArcDirection=0 AddLevel=2 PadsSameType=0 -Layer=1 +Layer=91 +Views=" 1: 93.8998 -5.32858 236.93 67.1657" +Sheet="1" [Win_2] -Type="Schematic Editor" -Number=1 -File="2020-06_ucbus-stepper-module.sch" -View="93.8998 -5.32858 236.93 67.1657" -WireWidths=" 0.0762 0.1016 0.127 0.15 0.2 0.2032 0.254 0.3048 0.4064 0.508 0.6096 0.8128 1.016 1.27 2.54 0.1524" +Type="Board Editor" +Number=2 +File="2020-06_ucbus-stepper-module.brd" +View="16.5161 15.8653 25.2235 23.6978" +WireWidths=" 0.127 0.15 0.2 2.54 1.016 0.2032 0.254 0.6096 0 2.032 0.508 0.4064 0.3048 1.27 0.8128 0.1524" PadDiameters=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0" PadDrills=" 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.65 0.7 0.75 0.8 0.85 0.9 1 0.6" ViaDiameters=" 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 1.3 0" -ViaDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35" +ViaDrills=" 0.2 0.25 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35 0.4 0.3" HoleDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35" TextSizes=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.778" PolygonSpacings=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.27" @@ -415,14 +417,14 @@ DimensionExtWidths=" 0.127 0.254 0.1 0.13 0.26 0" DimensionExtLengths=" 1.27 2.54 1 2 3 0" DimensionExtOffsets=" 1.27 2.54 1 2 3 0" SmdSizes=" 0.3048 0.1524 0.4064 0.2032 0.6096 0.3048 0.8128 0.4064 1.016 0.508 1.27 0.6604 1.4224 0.7112 1.6764 0.8128 1.778 0.9144 1.9304 0.9652 2.1844 1.0668 2.54 1.27 3.81 1.9304 5.08 2.54 6.4516 3.2512 1.27 0.635" -WireBend=4 -WireBendSet=31 +WireBend=1 +WireBendSet=0 WireCap=1 MiterStyle=1 PadShape=0 ViaShape=1 PolygonPour=0 -PolygonRank=0 +PolygonRank=1 PolygonThermals=1 PolygonOrphans=0 TextRatio=8 @@ -437,9 +439,7 @@ SwapLevel=0 ArcDirection=0 AddLevel=2 PadsSameType=0 -Layer=91 -Views=" 1: 93.8998 -5.32858 236.93 67.1657" -Sheet="1" +Layer=1 [Win_3] Type="Control Panel" diff --git a/firmware/cl-step-controller/src/drivers/enc_as5047.cpp b/firmware/cl-step-controller/src/drivers/enc_as5047.cpp index c864917..790277e 100644 --- a/firmware/cl-step-controller/src/drivers/enc_as5047.cpp +++ b/firmware/cl-step-controller/src/drivers/enc_as5047.cpp @@ -75,22 +75,20 @@ void ENC_AS5047::init(void){ // AS5047 datasheet says CPOL = 1, CPHA = 0, msb first, and parity checks // bit: func // 15: parity, 14: 0/read, 1/write, 13:0 address to read or write - ENC_SER_SPI.CTRLA.reg = //SERCOM_SPI_CTRLA_CPOL | // CPOL = 1 - SERCOM_SPI_CTRLA_CPHA | // ? + ENC_SER_SPI.CTRLA.reg = SERCOM_SPI_CTRLA_CPOL | // CPOL = 1 + //SERCOM_SPI_CTRLA_CPHA | // ? SERCOM_SPI_CTRLA_DIPO(3) | // pad 3 is data input SERCOM_SPI_CTRLA_DOPO(0) | // pad 0 is data output, 1 is clk SERCOM_SPI_CTRLA_MODE(3); // mode 3: head operation ENC_SER_SPI.CTRLB.reg = SERCOM_SPI_CTRLB_RXEN; // enable rx, char size is 8, etc - ENC_SER_SPI.BAUD.reg = SERCOM_SPI_BAUD_BAUD(2); // f_baud = f_ref / ((2*BAUD) + 1) + ENC_SER_SPI.BAUD.reg = SERCOM_SPI_BAUD_BAUD(14); // f_baud = f_ref / ((2*BAUD) + 1) // BAUD = 2 ~= 8MHz / 124ns clock period // BAUD = 3 ~= 6MHz / 164ns clock period: AS5047 min period is 100ns - + // BAUD = 7 ~= 3MHz, less noisy... + // BAUD = 14 ~= 1.6MHz, much less noisy, reads are about 25us. // enable interrupts - NVIC_EnableIRQ(SERCOM4_0_IRQn); NVIC_EnableIRQ(SERCOM4_1_IRQn); NVIC_EnableIRQ(SERCOM4_2_IRQn); - NVIC_EnableIRQ(SERCOM4_3_IRQn); - // turn it back on while(ENC_SER_SPI.SYNCBUSY.bit.ENABLE); ENC_SER_SPI.CTRLA.bit.ENABLE = 1; @@ -167,4 +165,30 @@ boolean ENC_AS5047::is_read_complete(void){ uint16_t ENC_AS5047::get_reading(void){ return result; +} + +uint16_t ENC_AS5047::read_field_mag(void){ + start_spi_interaction(AS5047_SPI_READ_MAG); + while(!readComplete); + return result; +} + +String ENC_AS5047::read_enc_diagnostics(void){ + start_spi_interaction(AS5047_SPI_READ_DIAG); + while(!readComplete); + uint16_t res = result; + boolean magHi = false; + boolean magLo = false; + boolean cordicOvf = false; + boolean compComplete = false; + if(res & (1 << 11)) magHi = true; // maghi + if(res & (1 << 10)) magLo = true; // maglo + if(res & (1 << 9)) cordicOvf = true; // cordic overflow + if(res & (1 << 8)) compComplete = true; // offset compensation completed + uint16_t agc = res & 0b0000000001111111; + return "magHi: " + String(magHi) + + "\nmagLo: " + String(magLo) + + "\ncordicOverflow: " + String(cordicOvf) + + "\ncompensationComplete: " + String(compComplete) + + "\nautomaticGainCorrection: " + String(agc); } \ No newline at end of file diff --git a/firmware/cl-step-controller/src/drivers/enc_as5047.h b/firmware/cl-step-controller/src/drivers/enc_as5047.h index 7de3d6d..49c9aad 100644 --- a/firmware/cl-step-controller/src/drivers/enc_as5047.h +++ b/firmware/cl-step-controller/src/drivers/enc_as5047.h @@ -42,8 +42,12 @@ is; no warranty is provided, and users accept all liability. #define ENC_SER_GCLKNUM 8 #define AS5047_SPI_READ_POS (0b1100000000000000 | 0x3FFF) +#define AS5047_SPI_READ_POS_UNC (0b1100000000000000 | 0x3FFE) #define AS5047_SPI_NO_OP (0b1000000000000000) +#define AS5047_SPI_READ_MAG (0b1100000000000000 | 0x3FFD) +#define AS5047_SPI_READ_DIAG (0b1100000000000000 | 0x3FFC) + class ENC_AS5047 { private: // is singleton @@ -70,6 +74,9 @@ class ENC_AS5047 { boolean is_read_complete(void); uint16_t get_reading(void); void on_read_complete(uint16_t pos); + // *blocking* + uint16_t read_field_mag(void); + String read_enc_diagnostics(void); }; extern ENC_AS5047* enc_as5047; diff --git a/firmware/cl-step-controller/src/drivers/step_cl.cpp b/firmware/cl-step-controller/src/drivers/step_cl.cpp index 051cb3b..3af6ca3 100644 --- a/firmware/cl-step-controller/src/drivers/step_cl.cpp +++ b/firmware/cl-step-controller/src/drivers/step_cl.cpp @@ -73,9 +73,9 @@ void flash_write_init(void){ } void flash_write_page(void){ - sysError("erasing 0x" + String((uint32_t)block_ptr)); + //sysError("erasing 0x" + String((uint32_t)block_ptr)); flashClass.erase(block_ptr, BYTES_PER_BLOCK); - sysError("writing 0x" + String((uint32_t)block_ptr)); + //sysError("writing 0x" + String((uint32_t)block_ptr)); flashClass.write(block_ptr, (const uint8_t*)buffer, BYTES_PER_BLOCK); delay(1); } @@ -115,7 +115,7 @@ float Step_CL::get_torque(void){ void Step_CL::run_torque_loop(void){ if(is_calibrating) return; // mark time - DEBUG1PIN_ON; + //DEBUG1PIN_ON; // ok, first we read the encoder enc_as5047->trigger_read(); // this kicks off the party, proceeds below @@ -124,34 +124,36 @@ void Step_CL::run_torque_loop(void){ #define MAP_7p2_TO_1 (1.0F / 7.2F) #define TICKS_PER_SEC 50000.0F #define SECS_PER_TICK 1.0F / TICKS_PER_SEC -volatile float q = 0.05F;//0.125F; // process noise covariance -volatile float r = 1.0F; // measurement noise covariance -volatile float measurement; // the measurement... -volatile float a = 0.0F; // the estimate on a -volatile float p = 100.0F; // estimation error covariance -volatile float k; // kalman gain - -volatile float _deg_s; // real angle / sec + +volatile float a_measurement = 0.0F; +volatile float last_measurement = 0.0F; +volatile float a_est = 0.0F; +volatile float a_last_est = 0.0F; +volatile float a_alpha = 0.9F; // trust in measurement + volatile float _pa; // phase angle -float Step_CL::get_deg_sec(void){ - return _deg_s; +float Step_CL::get_last_pos_est(void){ + return a_est; +} + +float Step_CL::get_last_reading(void){ + return a_measurement; } void ENC_AS5047::on_read_complete(uint16_t result){ if(step_cl->is_calibrating) return; - - // (1) get the new measurement, - measurement = lut[result * 2]; - - p = p + q; - - k = p / (p + r); - a = a + k * (measurement - a); - p = (1 - k) * p; - - // write a 'real' speed value - _deg_s = measurement; + last_measurement = a_measurement; + a_measurement = lut[result * 2]; + // wtf ?? + // a_est = (a_measurement * a_alpha) + (a_last_est * (1 - a_alpha)); + // a_last_est = a_est; + // or like + // I am completely confused by the noise that this generates ? seems like it's taking a difference? + // should just be averaging? + // something about getting the variables out, under interrupt? + a_est = 0.5 * a_measurement + 0.5 * last_measurement; + //output = alpha * (input - output) + output _pa = lut[result * 2 + 1]; // the phase angle (0 - 1 in a sweep of 4 steps) // this is the phase angle we want to apply, 90 degs off & wrap't to 1 @@ -170,7 +172,6 @@ void ENC_AS5047::on_read_complete(uint16_t result){ // with the *amount* commanded by our _tc torque ask step_a4950->point(_pa, abs(step_cl->get_torque())); // debug loop completion - DEBUG1PIN_OFF; } // the calib routine diff --git a/firmware/cl-step-controller/src/drivers/step_cl.h b/firmware/cl-step-controller/src/drivers/step_cl.h index 1343da1..fa26bf1 100644 --- a/firmware/cl-step-controller/src/drivers/step_cl.h +++ b/firmware/cl-step-controller/src/drivers/step_cl.h @@ -33,7 +33,8 @@ class Step_CL { void print_table(void); void set_torque(float tc); float get_torque(void); - float get_deg_sec(void); + float get_last_pos_est(void); + float get_last_reading(void); void run_torque_loop(void); boolean calibrate(void); boolean is_calibrating; diff --git a/firmware/cl-step-controller/src/drivers/ucbus_drop.cpp b/firmware/cl-step-controller/src/drivers/ucbus_drop.cpp index 657919b..3053d2a 100644 --- a/firmware/cl-step-controller/src/drivers/ucbus_drop.cpp +++ b/firmware/cl-step-controller/src/drivers/ucbus_drop.cpp @@ -100,6 +100,10 @@ void UCBus_Drop::init(boolean useDipPick, uint8_t ID) { NVIC_EnableIRQ(SERCOM1_2_IRQn); // rx, NVIC_EnableIRQ(SERCOM1_1_IRQn); // txc ? NVIC_EnableIRQ(SERCOM1_0_IRQn); // tx, + // priority + NVIC_SetPriority(SERCOM1_2_IRQn, 1); + NVIC_SetPriority(SERCOM1_1_IRQn, 1); + NVIC_SetPriority(SERCOM1_0_IRQn, 1); // set baud UBD_SER_USART.BAUD.reg = UBD_BAUD_VAL; // and finally, a kickoff diff --git a/firmware/cl-step-controller/src/drivers/ucbus_drop.h b/firmware/cl-step-controller/src/drivers/ucbus_drop.h index de1d55e..844645c 100644 --- a/firmware/cl-step-controller/src/drivers/ucbus_drop.h +++ b/firmware/cl-step-controller/src/drivers/ucbus_drop.h @@ -105,7 +105,6 @@ class UCBus_Drop { // handlers void onRxISR(void); void onPacketARx(void); - //void onPacketBRx(void); // our physical bus address, volatile uint8_t id = 0; // the api, eh diff --git a/firmware/cl-step-controller/src/main.cpp b/firmware/cl-step-controller/src/main.cpp index 1095441..cdbdf30 100644 --- a/firmware/cl-step-controller/src/main.cpp +++ b/firmware/cl-step-controller/src/main.cpp @@ -35,7 +35,7 @@ VPort* replyBlankVp; uint16_t replyBlankVpi = 0; uint16_t lastQueueSpaceTxd = 0; -#define BUS_DROP 1 // Z: 1, YL: 2, X: 3, YR: 4 +#define BUS_DROP 4 // Z: 1, YL: 2, X: 3, YR: 4 #define AXIS_PICK 2 // Z: 2, Y: 1, X: 0 #define AXIS_INVERT false // Z: false, YL: true, YR: false, X: false #define SPU 3200.0F // always positive! Z: 3200, XY: 400 @@ -58,82 +58,48 @@ void setup() { d51_clock_boss->start_50kHz_ticker_tc0(); } -uint8_t bChPck[64]; +// 50kHz control tick +void TC0_Handler(void){ + TC0->COUNT32.INTFLAG.bit.MC0 = 1; + TC0->COUNT32.INTFLAG.bit.MC1 = 1; + step_cl->run_torque_loop(); +} +uint8_t bChPck[64]; volatile float current_floating_pos = 0.0F; volatile int32_t current_step_pos = 0; volatile uint32_t delta_steps = 0; - volatile float vel = 0.0F; volatile float move_counter = 0.0F; - volatile boolean setBlock = false; - uint16_t tick = 0; -void TC0_Handler(void){ - TC0->COUNT32.INTFLAG.bit.MC0 = 1; - TC0->COUNT32.INTFLAG.bit.MC1 = 1; - step_cl->run_torque_loop(); -} - // async loop void loop() { osap->loop(); step_a4950->dacRefresh(); - /* - tick++; - if(tick > 500){ - tick = 0; - enc_as5047->trigger_read(); - while(!enc_as5047->is_read_complete()); - uint16_t reading = 0b0011111111111111 & enc_as5047->get_reading(); - //sysError(String(reading)); - } - */ - // do packet B grab / handle - /* + // check chb packes if(ucBusDrop->ctr_b()){ uint16_t len = ucBusDrop->read_b(bChPck); uint16_t ptr = 0; switch(bChPck[ptr]){ - case AK_SETCURRENT: { - // get currents - ptr ++; - chunk_float32 currentChunks[3]; - currentChunks[0] = { .bytes = { bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++] } }; - currentChunks[1] = { .bytes = { bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++] } }; - currentChunks[2] = { .bytes = { bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++] } }; - // set current - step_a4950->setCurrent(currentChunks[AXIS_PICK].f); - // bug here - // I noticed that setcurrent commands to the z motor seem to fail: the motor drops to a low current no matter the value transmitted - // I've checked (by inserting a flag to pick y-values) here, and those values work well, so it's nothing with the motor driver itself - // so, I suspect the b-channel bus packets are coming out of those structures one byte short - makes sense there would be some bug in/around delineation - break; + case AK_SET_TC: { + ptr ++; + chunk_float32 tcs = { .bytes = { bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++] }}; + step_cl->set_torque(tcs.f); } - case AK_SETPOS: { - // get posns, - ptr ++; - chunk_float32 posChunks[3]; - posChunks[0] = { .bytes = { bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++] } }; - posChunks[1] = { .bytes = { bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++] } }; - posChunks[2] = { .bytes = { bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++] } }; - float target_current_pos = posChunks[AXIS_PICK].f; - int32_t target_current_steps = lroundf(target_current_pos * SPU); - setBlock = true; // don't do step work while these are modified - current_floating_pos = target_current_pos; - current_step_pos = target_current_steps; - setBlock = false; - } - default: - // noop, break; + case AK_RUNCALIB: + step_cl->calibrate(); + break; + default: + // noop + break; } } - */ } // end loop +// usb packets void OSAP::handleAppPacket(uint8_t *pck, uint16_t pl, uint16_t ptr, uint16_t segsize, VPort* vp, uint16_t vpi, uint8_t pwp){ // track end of header, to reply with uint16_t replyPtr = ptr; @@ -154,6 +120,19 @@ void OSAP::handleAppPacket(uint8_t *pck, uint16_t pl, uint16_t ptr, uint16_t seg // do the reading: ptr ++; // walk appcode DK_APP switch(pck[ptr]){ + case AK_READ_MAG:{ + ptr ++; + reply[rl ++] = AK_READ_MAG; + enc_as5047->read_enc_diagnostics(); + uint16_t mag = enc_as5047->read_field_mag(); + ts_writeUint16(mag, reply, &rl); + break; + } + case AK_READ_DIAG: + ptr ++; + reply[rl ++] = AK_READ_DIAG; + ts_writeString(enc_as5047->read_enc_diagnostics(), reply, &rl); + break; case AK_RUNCALIB: ptr ++; // walk stepcode reply[rl ++] = AK_RUNCALIB; @@ -175,8 +154,10 @@ void OSAP::handleAppPacket(uint8_t *pck, uint16_t pl, uint16_t ptr, uint16_t seg reply[rl ++] = AK_SET_TC; chunk_float32 tcs = { .bytes = { pck[ptr ++], pck[ptr ++], pck[ptr ++], pck[ptr ++] }}; step_cl->set_torque(tcs.f); - float deg_sec = step_cl->get_deg_sec(); - ts_writeFloat32(deg_sec, reply, &rl); + float pos_est = step_cl->get_last_pos_est(); + float last_reading = step_cl->get_last_reading(); + ts_writeFloat32(pos_est, reply, &rl); + ts_writeFloat32(last_reading, reply, &rl); break; } default: @@ -194,92 +175,14 @@ void OSAP::handleAppPacket(uint8_t *pck, uint16_t pl, uint16_t ptr, uint16_t seg vp->clearPacket(pwp); } +// on words rx'd from bus, void UCBus_Drop::onRxISR(void){ - /* - if(setBlock) return; - //DEBUG2PIN_TOGGLE; - move_counter += vel; - boolean move_check = (move_counter > 1.0F); - //DEBUG2PIN_TOGGLE; - if(move_check){ - move_counter -= 1.0F; - if(delta_steps == 0){ - // nothing - } else { - //DEBUG1PIN_TOGGLE; - step_a4950->step(); - delta_steps --; - if(step_a4950->getDir()){ - current_step_pos ++; - } else { - current_step_pos --; - } - } - } - */ + } +// on timed (interrupt) rx of bus packet, channel A +// this is where we will eventually read-in positions, and target them void UCBus_Drop::onPacketARx(void){ - /* - if(setBlock) return; - //DEBUG2PIN_TOGGLE; - // last move is done, convert back steps -> float, - current_floating_pos = current_step_pos / SPU; - vel = 0.0F; // reset zero in case packet is not move - uint8_t bptr = 0; - // switch bus packet types - switch(inBufferA[0]){ - case UB_AK_GOTOPOS: - { - bptr = AXIS_PICK * 4 + 1; - chunk_float32 target = { - .bytes = { inBufferA[bptr], inBufferA[bptr + 1], inBufferA[bptr + 2], inBufferA[bptr + 3] } - }; - // chunk_float64 target = { - // .bytes = { inBuffer[bptr], inBuffer[bptr + 1], inBuffer[bptr + 2], inBuffer[bptr + 3], - // inBuffer[bptr + 4], inBuffer[bptr + 5], inBuffer[bptr + 6], inBuffer[bptr + 7] }}; - float delta = target.f - current_floating_pos; - // update, - //move_counter = 0.0F; // shouldn't need this ? try deleting - // direction swop, - if(delta > 0){ - step_a4950->dir(true); - } else { - step_a4950->dir(false); - } - // how many steps, - delta_steps = lroundf(abs(delta * SPU)); - // what speed - vel = abs(delta * SPU) / TICKS_PER_PACKET; - // for str8 r8 - // if(delta_steps == 0){ - // vel = 0.0F; - // } else { - // vel = abs(delta * SPU) / TICKS_PER_PACKET; - // } - break; // end gotopos - } - case UB_AK_SETPOS: - { - // reqest is to set position, not go to it... - bptr = AXIS_PICK * 4 + 1; - chunk_float32 target = { - .bytes = { inBufferA[bptr], inBufferA[bptr + 1], inBufferA[bptr + 2], inBufferA[bptr + 3] } - }; - float target_current_pos = target.f; - int32_t target_current_steps = lroundf(target_current_pos * SPU); - setBlock = true; // don't do step work while these are modified - current_floating_pos = target_current_pos; - current_step_pos = target_current_steps; - vel = 0; - delta_steps = 0; - setBlock = false; - break; - } - default: - break; - } - //DEBUG2PIN_OFF; - */ + } diff --git a/firmware/cl-step-controller/src/osap/ts.h b/firmware/cl-step-controller/src/osap/ts.h index 16e3d5f..27c57cc 100644 --- a/firmware/cl-step-controller/src/osap/ts.h +++ b/firmware/cl-step-controller/src/osap/ts.h @@ -52,6 +52,8 @@ no warranty is provided, and users accept all liability. #define AK_RUNCALIB 121 #define AK_READCALIB 122 #define AK_SET_TC 123 +#define AK_READ_MAG 124 +#define AK_READ_DIAG 125 // -------------------------------------------------------- MVC Endpoints diff --git a/firmware/cl-step-controller/src/utils/clocks_d51_module.cpp b/firmware/cl-step-controller/src/utils/clocks_d51_module.cpp index de2bbe8..6c44221 100644 --- a/firmware/cl-step-controller/src/utils/clocks_d51_module.cpp +++ b/firmware/cl-step-controller/src/utils/clocks_d51_module.cpp @@ -102,7 +102,7 @@ void D51_Clock_Boss::start_50kHz_ticker_tc0(void){ TC0->COUNT32.INTENSET.bit.MC1 = 1; // set the period, while (TC0->COUNT32.SYNCBUSY.bit.CC0); - TC0->COUNT32.CC[0].reg = 160; // at DIV2, 240 for 10us ('realtime') (with + TC0->COUNT32.CC[0].reg = 400; // at DIV2, 240 for 10us ('realtime') (with // DFLL), 80 for 10us (with XTAL 16MHZ) // 400 for 50us, // enable, sync for enable write @@ -112,6 +112,8 @@ void D51_Clock_Boss::start_50kHz_ticker_tc0(void){ TC1->COUNT32.CTRLA.bit.ENABLE = 1; // enable the IRQ NVIC_EnableIRQ(TC0_IRQn); + // and set the priority level + NVIC_SetPriority(TC0_IRQn, 2); } void D51_Clock_Boss::start_100kHz_ticker_tc2(void){ diff --git a/firmware/osape-smoothieroll-drop-stepper/src/main.cpp b/firmware/osape-smoothieroll-drop-stepper/src/main.cpp index dcccbb6..f2090c5 100644 --- a/firmware/osape-smoothieroll-drop-stepper/src/main.cpp +++ b/firmware/osape-smoothieroll-drop-stepper/src/main.cpp @@ -25,11 +25,20 @@ union chunk_float64 { // ... // 8: DACs go full width -#define BUS_DROP 3 // Z: 1, YL: 2, X: 3, YR: 4 +// clank cz: +// Z: Bus Drop 5, Axis Pick 2, Invert ?, SPU 1386.6666667 +// TC: Bus Drop 4, +// YL: Bus Drop 1, Invert true +// YR: Bus Drop 2, Invert false +// X: Bus Drop 3, Invert false + +#define BUS_DROP 3 +#define IS_LAST_DROP false + #define AXIS_PICK 0 // Z: 2, Y: 1, X: 0 -#define AXIS_INVERT true // Z: ?, YL: ?, YR: ?, X: ? -#define SPU 400.0F // always posiive! z: 3200, xy: 400 -#define C_SCALE 0.2F // 0-1, floating +#define AXIS_INVERT false // Z: ?, YL: ?, YR: ?, X: ? +#define SPU 320.0F //1386.6666667F // always posiive! z: 3200, xy: 400, clank-cz: xy: 320 +#define C_SCALE 0.3F // 0-1, floating #define TICKS_PER_PACKET 20.0F void setup() { @@ -42,7 +51,7 @@ void setup() { // osap osap->description = "remote stepper drop"; // bus - ucBusDrop->init(false, BUS_DROP); + ucBusDrop->init(IS_LAST_DROP, BUS_DROP); // stepper stepper_hw->init(AXIS_INVERT, C_SCALE); } @@ -78,20 +87,6 @@ void loop() { stepper_hw->setCurrent(currentChunks[AXIS_PICK].f); break; } - case AK_SETPOS: { - // get posns, - ptr ++; - chunk_float32 posChunks[3]; - posChunks[0] = { .bytes = { bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++] } }; - posChunks[1] = { .bytes = { bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++] } }; - posChunks[2] = { .bytes = { bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++] } }; - float target_current_pos = posChunks[AXIS_PICK].f; - int32_t target_current_steps = lroundf(target_current_pos * SPU); - setBlock = true; // don't do step work while these are modified - current_floating_pos = target_current_pos; - current_step_pos = target_current_steps; - setBlock = false; - } default: // noop, break; diff --git a/log/2020-11-16_cpol-zero-stray.png b/log/2020-11-16_cpol-zero-stray.png new file mode 100644 index 0000000000000000000000000000000000000000..c845d6e21748da56050e2316f92361bae41389f8 GIT binary patch literal 30697 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 ZU7gYesI=WlJ$u&t*9~u6eW!mb`ajcOp7a0! literal 0 HcmV?d00001 diff --git a/log/2020-11-16_cpol-zero-typical.png b/log/2020-11-16_cpol-zero-typical.png new file mode 100644 index 0000000000000000000000000000000000000000..7177ba03efe5b5fd386e0b4d4a3053807020c15e GIT binary patch literal 34384 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%0A`Q9LX2LB!(ZZ_gl( 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 Ub0`4+qN38etbYlib~EDt00M^Z(EtDd literal 0 HcmV?d00001 diff --git a/log/2020-11-16_noisy-encoder.png b/log/2020-11-16_noisy-encoder.png new file mode 100644 index 0000000000000000000000000000000000000000..6f1b3f7b0417386f237e5ccd6631046066a1a22c GIT binary patch literal 45809 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 GbmMRKx#mOw literal 0 HcmV?d00001 diff --git a/log/cl-step-control-log.md b/log/cl-step-control-log.md index 9c7f452..c8f6b10 100644 --- a/log/cl-step-control-log.md +++ b/log/cl-step-control-log.md @@ -1185,4 +1185,48 @@ So - going to put this down for a minute. - the current track is just trying to get a decent, non-noisy position and velocity estimate(s) from the thing. then you can use the vel estimate to write phase advance term per your notes above, and also to measure accel (xddot) = f, for your 2D torque-estimate lut. - *then* you want to do both - measuring torque guess success: use calibrated loadcell or somesuch? - - (or) simply go forwards, towards using this in a machine: build a PID position controller, and tune it, maybe using a JS setPID() command, and remotely evaluate some set of moves, to tune. an auto-cal / auto-tune routine, etc. likely via the bus & with smoothie dishing moves, maybe just over usb, who knows \ No newline at end of file + - (or) simply go forwards, towards using this in a machine: build a PID position controller, and tune it, maybe using a JS setPID() command, and remotely evaluate some set of moves, to tune. an auto-cal / auto-tune routine, etc. likely via the bus & with smoothie dishing moves, maybe just over usb, who knows + +## 2020 11 16 + +OK, looks like it's been a month. Not sure where the days are dissappearing to lately. I'm going to start by pulling the LUT back home. + +First, easy test, can just send the encoder reading back to see what the direct noise is like. + +Glad I did this, there's obviously some erroneous (eliminate-able) noise on top of a reasonable floor: + + + +These are just raw encoder values. My honest guess is that I'm missing some bits in the signal back. I might still have some polarity wrong on the SPI, or it's going too fast and missing edges (or something like this). + +I turned the clock polarity to 1 in the D51, looks like I eliminate most of these spikes; + + + +That's just about 2 bits of noise, totally understandable from a 14 bit encoder. However, I still see the occasional spike: + + + +I can try tuning the speed down, it's near a limit at the moment. + +Well, yeah, the only thing that reliably de-noises these readings is to take the speed from around 8MHz with a nice small 5us read time to around 1.6MHz, where it takes about 25us. + +I think I should tack on an encoder-magnetic-strength reading to the calibration phase. That's set up, but the value looks to be high enough... though it fluctuates between 9k and 16k (16384 beign tops: it's a 14 bit value). + +There's also an error-flags register I can read, that'll directly tell me if things are too high or too low. + +Cool, I see some flags there - magnetic field is too high. So I can re-outfit my diagnostic to return a string with this whole message, then boot that back to the browser. And I can try bigger standoffs (nice), to compensate. + +Well, that's all instrumented. I have some strangeness here though: maghi / maglo seem to sweep between the full range: so does the cordic magnitude. This is a bit confusing because the magnet stays separated by the same amount, so I am wondering if because the magnet is a bit smaller - 6x2mm rather than the 8x3 spec'd in the datasheet - that the field is doing strange things due to misalignment. I should pick up the 8x3 magnets to check, that's my last best guess. + +In any case, slowing the read time down has significantly improved the noise, and I think I can get back to a speed estimate. + +### Alpha Filter + +I want to try this, but always want to take the underlying encoder reading back as well, so I can see if errors are arising somewhere in the filtering code or in the real reading. + +... ??? wtf + +OK, my new theory is that something is *up* with the volatile vals in here. + +Confused, IDK what is up. Another day. \ No newline at end of file -- GitLab