From 7e12615c45560a13b711e9ed6a5d7111607e1216 Mon Sep 17 00:00:00 2001 From: Zapta Date: Mon, 31 May 2021 23:03:50 -0700 Subject: [PATCH] Switched the documentation --- README.md | 579 ++++++++++++++++++++++++++++++++++++++++++++++- README_new.md | 576 ---------------------------------------------- www/overall4.jpg | Bin 0 -> 102318 bytes 3 files changed, 575 insertions(+), 580 deletions(-) delete mode 100644 README_new.md create mode 100644 www/overall4.jpg diff --git a/README.md b/README.md index 8b4674d..0031880 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,579 @@ -# simple_stepper_motor_analyzer -A DYI stepper motor analyzer. This is a new design that is based on Raspberry Pi Pico and users a compact single PCB design. +# Simple Stepper Motor Analyzer + + + +NOTE (June 2021): The old design of the Simple Stepper Motor analyzer which was based on the STM32 was moved to https://github.com/zapta/simple_stepper_motor_analyzer. This is a new and improve design that is based on the Raspberry Pi Pico and a 'bare' TFT panel.   -NOTE: The legacy STM32 based stepper analyzer was moved to this repository https://github.com/zapta/legacy_stepper_motor_analyzer. +https://github.com/zapta/simple_stepper_motor_analyzer + +  + + +![](./www/overall.jpg) + +  + +![](./www/overall4.jpg) + +  + +## Demonstration + +Michael from the Teaching Tech youtube channel made [a great video explaining how stepper motors work](https://youtu.be/4iII25DGIdA) and used the Simple Stepper Motor Analyzer for some of the demonstrations. + +![](./www/teaching_tech_thumbnail.png) + + +  + +## Highlights +* Low cost and minimalist DYI hardware design. +* Standalone. Doesn't require a computer to operate. +* Analyzes the stepper motor signals in the actual system (e.g. a 3D printer). +* Galvanically isolated current sensors. Does not interfere with the operating equipment, even when its turned off. +* Easy to connect using a pair 4 wire pass through connectors. +* Intuitive user interface with color display and a capacitive touch. +* Microstepping resolution of 1% of a full step. +* Provides momentary readings, signal patterns, and statistical measurements. +* Hardware and software are open sourced with a generous license. +* Based on free tools (Kicad, platformio, LVGL) and the Raspberry Pi Pico. +* Can be easily customized (new featured, cost reduction, data link to a computer, etc). +* Powered 5VDC, 200ma via a USB-C connector. + + +## Overview +Diagnosing the operation of stepper motor in 3D printers and CNC machines used to require stepper motor analyzers that costs thousands of dollar. Not anymore! The Simple Stepper Analyzer ('Analyzer' in short) brings these capabilities to every maker for a tiny fraction of the price and with a minimalist DIY electronic design that leaves the heavy lifting to the firmware. + +The Analyzer is self contained, has two 4-wires pass-through connectors connecting the stepper motor, is powered from a common 5V charger with a micro USB cable, provides a simple to use graphical user interface with a 3.5" color touch screen, and provides a plethora of stepper motor measurements. + +The Analyzer is provided to the community as a public domain reference design that can be built and used as is, or be customized with additional features or for a lower cost as desired. The hardware and firmware come with a liberal open source license (CC0) that allows commercial usages and doesn't require code source code sharing. + +--- +## Disclaimer +THE DESIGN IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE DESIGN OR THE USE OR OTHER DEALINGS IN THE DESIGN. + + +--- +## How does it work? +The principle of operation is very simple, and so is the hardware design. The stepper motor is connected via 4 wire pass-though connectors that allow the Analyzer to monitor the current through the stepper's coils. The Analyzer's user low impedance current sensors that are galvanically isolated such does not interfere with the operation of the 3D printer or other equipment it monitors. The Analyzer measures the coils currents 100k times a second and uses firmware that analyzes the data, extracts the desired measurements, and present them on the screen. For example, this is how an analysis of the distribution of distance by speed distribution looks like: + + +![](./www/distance_by_speed_screen.png) + +--- +## Operation is simple and intuitive + +1. Turn off power to the equipment (e.g. 3D printer). +2. Disconnect the 4 wires of the stepper motor and connect them through the Analyzer two pass through connectors. +3. Power the analyzer using a 5V charger and a micro USB cable. +4. Turn on the equipment and get the stepper going. +5. Use the Analyzer's screen to view the measurements you want. + +**NOTE:** The two pass-through connectors of the Analyzer are symmetric and each can act as an input or output. + +**CAUTION:** Always connect and disconnect stepper motors when their controller is not energized, to reduce the risk of damage to the controller due to high voltage spikes. The analyser itself is not subject to that risk since its uses galvanically isolated current sensors. + +![](./www/wiring_diagram.png) + +**NOTE:** The only requirement for proper wiring is that the two wires of one coil should go through pins pair 1,2 and the two wires of the other coil should go through pin pair 3,4. The Analyzer doesn't care about the +/- polarity of the wires in each pair, nor does it care which of the two pass-through connectors is on the controller side and which one is on the stepper side. + +**TRIVIA:**: The pin-out and the connector type of the Analyzer follows the Duet3D conventions, except that is uses right angle connector to save space. + +--- +## The Home Page +The Home page is first page shown when the Analyzer is powered on. It provides summary information as well as access to the Settings page. + +![](./www/home_screen.png) + +  + +#### Page Data + +Field | Description +:------------ | :------------- + COIL 1 | Momentary coil 1 current in Amps. + COIL 2 | Momentary coil 2 current in Amps. + ERRORS | The number of phase errors detected so far. Phase errors happens when the current patterns are so distorted that a forward/backward movement cannot be determined. + POWER | Indicates if the stepper motor is currently energized. This is determined by the sum of currents in they two coils. + IDLES | The number of times that stepper motor change status from energized to non energized. + STEPS | The distance the stepper moved so far. Each full step forward increments this value by one and each full step backward decrements it by one. When the stepper motor is energized, the display also shows fractional steps in resolution of 1/100th of a full step. + + +HINT: The fractional step value cannot be reset because it is derived from the momentary currents in the two coils. Only the stepper motor driver can reset the fraction by positioning the stepper motor on an exact full step. + +HINT: To swap forward/backward directions of the Analyzer use the Settings page. This does not affect the stepper motor itself. + + +  +#### Page Actions + +Action | Description +:------------: | :------------- +![](./www/trash.png) | Clear all data. +![](./www/settings.png) | Open the Settings page. + +  + +--- + +## The Settings Page + +This is a special page that is accessible from the Home page and allows to calibrate the Analyzer. The settings are stored in a non volatile memory and are preserved when the Analyzer is turned off. + +![](./www/settings_screen.png) + +  +#### Page Data + +Data | Description +:------------: | :------------- +COIL 1 | The momentary current of stepper coil 1 in Amp units. Should be zero, or very close to zero, when the stepper motor is disconnected. +COIL 2 | The momentary current of stepper coil 2 in Amp units. Should be zero, or very close to zero, when the stepper motor is disconnected. + +  +#### Page Actions + +Action | Description +:------------: | :------------- +SET ZERO | Used to calibrate the zero reading of the current sensors. To do so, Disconnect the stepper motor and press this button. +REVERSE STEPS DIRECTION | Changes the forward/backward step directions of the Analyzer. Does not affect the stepper motor itself. Having the correct direction is important for measurements such as the Retraction analysis. +![](./www/ok.png) | Press exist the Settings page. + +  + +--- + +## The Speed Dial Page + +This page measure the stepper speed in units of full steps per second. + +![](./www/speed_gauge_screen.png) + +  +#### Page Data + +Data | Description +:------------ | :------------- +Speed Dial | The speed dial shows the momentary stepper speed in full steps per second units. Forward speed is on the right side and backward speed is on the left. +Speed Value | This field shows the speed in a numeric form. IT is updated less frequently than the dial to allow easy reading. + +  +**HINT:** The Settings page allows to swap the forward/backward directions. + +  +#### Page Actions + +Action | Description +:------------: | :------------- +![](./www/trash.png) | Clears all data. +Tap the dial |Toggles the dial's speed range. + +  + +--- + +## The Distance Graph Page + +This page shows scrolling graph with the total number of full steps vs. time. + +![](./www/steps_chart_screen.png) + +  + +#### Page Data + +Data | Description +:------------ | :------------- +Distance Graph | This graph shows how the distance, in units of full steps, changes over time. +Distance value | The numeric value of the distance in full steps. This fields is identical to the STEPS field in the Home page. + +  + +#### Page Actions + +Action | Description +:------------: | :------------- +![](./www/trash.png) | Clears all data. +Tap the graph | Toggles the range of the vertical axis. + + +  + +--- + +#### The Retraction Graph Page + +This page is useful to analyze the retraction in of 3D printer extruder. + +![](./www/retraction_graph_screen.png) + +  +**TRIVIA:** The graph above was taken while testing a direct extruder printer with [Thing #909901](https://www.thingiverse.com/thing:909901). +  +#### Page Data + +Data | Description +:------------ | :------------- +Retraction Graph | This graphs tracks the retraction of 3D extruder full step units. Retraction is defined as the filament length that was inside the extruder and is now retracted outside of the extruder. +Retraction value | This field shows the current retraction level in a numeric form. + +  +#### Page Actions + +Action | Description +:------------: | :------------- +![](./www/trash.png) | Clear all data. +Tap the graph | Changes the range of the vertical axis. + +  + +--- + +## The Time by Speed Page + +This page shows an histogram with the distributing of time by stepper speed. That is how much time was spent in each speed range. The values are normalized such that the longest bar is always at 100%. + +![](./www/time_by_speed_screen.png) + +  +#### Page Data + +Data | Description +:------------ | :------------- +Time Histogram | The horizontal axis indicates speed in full steps per second units. The height of each bar indicate the time of all steps in that speed range, with the length of the longest bar normalized to 100%. + +  +#### Page Actions + +Action | Description +:------------: | :------------- +![](./www/trash.png) | Clear all data. + +  + +--- + + +## The Distance by Speed Page + +This page shows an histogram with the the distribution of distance by stepper speed. + +![](./www/distance_by_speed_screen.png) + +  +#### Page Data + +Data | Description +:------------ | :------------- +Distance Histogram | The horizontal axis indicates speed in full steps per second units. The height of each bar indicate the distance or number of steps in that speed range, with the length of the longest bar normalized to 100%. + +  +#### Page Actions + +Action | Description +:------------: | :------------- +![](./www/trash.png) | Clear all data. + +  + +--- + +## The Current by Speed Page + +This page measures the ability of the stepper motor's controller to maintain peak current at high speeds. + +The screenshot below shows a healthy system where the peak current is virtually flat across the speed range. + + +![](./www/current_by_speed_screen.png) + +The screenshot below shows a system that is not capable to maintain peak current and starves the stepper motor at high speeds, resulting in poor torque and possible skipped steps. + + +![](./www/current_by_speed2_screen.png) + + +  +#### Page Data + +Data | Description +:------------ | :------------- +Peak Current Histogram | The horizontal axis indicates speed in full steps per second units. The height of each bar indicates the average peak current in Amps of steps that speed range. + +  +#### Page Actions + +Action | Description +:------------: | :------------- +![](./www/trash.png) | Clear all data. + +  + +--- + +## Coil Current Patterns Page + +This page shows the current patterns in the two stepper coils. + +The screenshot below shows a healthy system where the signals are nice and clean and reaches the target peak current. + +![](./www/signal_graph_screen.png) + +  + +The screenshot below is from a poor system where high speed results in distorted and insufficient current, resulting in loss of torque and a potential for skipped steps. + +![](./www/signal_graph2_screen.png) + +  + +**GENERAL INFORMATION:** Each cycle of the stepper current pattern represent 4 full steps. The centers of those steps are at on the four vertical dotted lines where the currents of the two coils are identical, in the same or in opposite polarities. The transitions between the steps are on the 4 vertical solid lines where one of the coils is at zero current. This cycle of 4 full steps is sometimes referred to as a single 'electric rotation'. The analyzer computes the exact phase on this cycle using the standard trigonometric function atan2(current1, current2) which can also be calculated manually from the current readings in the Home page. + +![](./www/quadrants_plot.png) + + +  + +#### Page Data + +Data | Description +:------------ | :------------- +Current graph | The horizontal axis indicates time in milliseconds. The vertical axis indicate coil current level in Amps. The two graphs show the current patterns of the respective stepper coils. + +**NOTE:** The graph is updated only when sufficient stepper motor movement is detected. + +  +#### Page Actions + +Action | Description +:------------: | :------------- +![](./www/trash.png) | Clear all data. +![](./www/pause.png) | When running, pauses the display updates. +![](./www/run.png) | When paused, resume the display updates. +Tap the graph | This toggles the range of the horizontal axis. + + +  + +--- + +## Coil Current Phase Page + +This page draws the current patterns of the two coils as a [Lissajous curve](https://en.wikipedia.org/wiki/Lissajous_curve) which allows to examine visually distortions such as non sinusoidal current, phase distortion, and reduced amplitude. + +In an ideal system, the graph is a perfect smooth circle, that doesn't change its size when the stepper's speed changes. Patterns that significantly diverge from that indicates a sub optimal configuration and operation. + +Following picture shows a pattern from a well functioning system. The graph is round, reasonable smooth, and has sufficient size which indicates good current drive. + +The horizontal axis indicates the coil 1 current and the vertical axis indicates coil 2 current. In this example, both span nicely between -2A to +2A. + +![](./www/phase_screen_good.png) + +  + +The screenshot below is from a poor system where high speed results in distorted and insufficient current, resulting in loss of torque and a potential for skipped steps. The pattern is far from a clean circle and the shape has reduced size. + +![](./www/phase_screen_starved.png) + +  + +The screenshot below shows a sub optimal operation where a a speed increase of the stepper results in small (less current and torque) and even more distorted curve. + +![](./www/phase_screen_accelerating.png) + + +  + +The screenshot below shows a well functioning system. The smaller size of the circle compare to the example above indicates that it operates on lower current. + +![](./www/phase_screen_good_small.png) + + +  + +The screenshot below show an operation of a stepper in full steps mode. The dimension of the pattern indicate good current feed, and the square shape is the best a full step driver can deliver. + +![](./www/phase_screen_full_steps.png) + + +  + +The screenshot below show an operation of a stepper in half steps mode. The dimension of the pattern indicate good current feed, and the shape is somewhere between the square shape of full step mode and the round shape of micro stepping interpolation mode. + +![](./www/phase_screen_half_steps.png) + + +  + +#### Page Data + +Data | Description +:------------ | :------------- +Lissajous curve | A Lissajous curve drawn from the current pattern of coil 1 (x) and coil2(y). +Capture speed | Shows the signal capture time. Fast mode works better with fast moving steppers and slow mode works with slow moving steppers. Tap the graph to toggle. + +**NOTES** +* The graph is updated only when sufficient stepper motor movement is detected. +* To view the current pattern that resulted in the current phase pattern, use the navigation button to switch the current patters page, and vice versa. + +  +#### Page Actions + +Action | Description +:------------: | :------------- +![](./www/trash.png) | Clear all data. +![](./www/pause.png) | When running, pauses the display updates. +![](./www/run.png) | When paused, resume the display updates. +Tap the graph | This toggles the capture time between fast and slow speeds. + + +  + +--- + +## Reference Design Specification + +Item | Specification +:------------ | :------------- +Power consumption | 5V, 175ma. +Power connector | micro USB +MCU | Raspberry Pi RP2040 (Pico module). +Flashing | Drag and drop to a virtual disk. +Data link | USB/Serial link available but not used. +Current measurement | +/-2.5A per coil. (+/-5A sensors optional). +PCB | 102mm x 57mm, two layers +Enclosure | 3D printed, 108.4mm x 63.4mm x 16.6mm +Display | 3.5" 480 x 320, Color, Landscape mode. +Touch screen | Capacitive +Sensor isolation | See ACS70331 data sheet +Sampling rate | 100Khz per channel. +Sampling resolution | 12bits +Current accuracy | estimated at +/- 1% +Max step rate | Software dependent. Currently 2K full steps/sec. +Step resolution | 1/100th of a full step. +User settings storage | On board FLASH. +GUI framework | LVGL library. R3G3B2 color depth. +Programming language | C++ +Programming IDE | VSCode, Platformio, WizIO. +Electronic design software | Kicad. +Mechanical design software | Onshape. + + +  + +--- + + +## I want to build me one + +The electronic schematic, PCB layout, gerber files, and the firmware source files and released binary are all available on this github repository. + +[Schematic](./kicad/stepper_analyzer.pdf) + +[BOM]()./kicad/BOM.xlsx) + +  + +**Instructions:** Order the PCB with JLCPB with SMD service (see JLCPCB directory with gerbers and bom and pos files). Attach the Pico with XFasten tape and solder. Cut the bottom pins of the KF2510 connectors to 1mm length and solder from the top of the PCB only. Solder the current sensors, attach the TFT to the back of the PCB with XFasten tape and carefully connect the two FPC cables. Program the Pico by connecting it to a computer while it's bootsel button is pressed and drag he uf2 release file to the virtual disk you will see on your computer. + + + +![](./www/assembly1.jpg) + +  + +![](./www/assembly2.jpg) + +  + +![](./www/assembly3.jpg) + +  + +![](./www/assembly4.jpg) + +  + +![](./www/assembly5.jpg) + + +## Mechanical +3D print the two part of the enclosure (STL files in this github repository), insert the four M2.5x3.5x3 heated inserts with a solder iron, drill the four 2.5 holes in the cover, insert the PCB to the front part, make sure the TFT seats flush with front and secure the back with four M2.5x10 hex cup screws. + + +## Ideas for improvements +The Analyzer is provided as a fully functional reference design and changes and the developers encourage improvement/modifications of the hardware and/or firmware are encouraged. This can include new features, new measurements and pages, extending the design to support 2 or 3 steppers at once to track the x/y/z of a 3D printer, reducing the hardware cost using less expensive screen TFT, or even eliminating the screen altogether and using the Analyzer as a dongle tethered to a computer via the existing USB/Serial link. + +  + +--- + +## FAQ + +#### Q: Can I buy from you a few units? + +A: We cannot provide assembled units for the general public. For that reason, we released the design with CC Zero license with the hope that other entrepreneurs will do so. + +#### Q: Where do you source the TFT panels? + +A: We buy the '3.5 LCD CTP' variant here https://www.aliexpress.com/item/32862869103.html. The choice of TFT panel and the mechanical design of the PCB follows Dustin Watts' ESP32 Touchdown project https://www.tindie.com/products/dustinwattsnl/esp32-touchdown/ (with extra 2mm to the PCB's length for extra clearance for the threaded heat inserts). + +#### Q: Can the firmware of the analyzer be updated? + +A: Yes. New firmware is released as .uf2 files. To flash the analyzer with a compatible .uf2 follow the standard procedure of the Raspberry Pi Pico. Access to the BOTSEL button is provided by a hole at the back of the 3D printed enclosure. + +#### Q: Why some footprints on the PCB are not populated? + +A: The PCB design includes circuitry that helps developing firmware for the analyzer that is not necessary or helpful for normal opeation of the analyzer. + +#### Q: Can the current scale of the two channels increased from +/-2.5A? + +A: The PCB was designed to accept also +/-5A variants of the current sensors and the optionals resistors R8 R9 were added to allow configuring the firmware to know about the larger current scale. This however was not tried yet since most 3D printer steppers do not exceed currents of 2.5A. + +#### Q: Why not a SPI based TFT? + +A: We could not achieve fast enough display refresh rate with SPI so switched to 16 bit parallel data transfers. With the optimized firmware we can update rate equivalent to 200Mhz SPI. + +#### Q: Can a cheaper TFT/touch be used? +A: Yes, but it will require design changes. + +#### Q: Can the TFT screen be eliminated? +A: Yes. The Analyzer has a USB/Serial output can a small Analyzer dongle can communicate with a computer program. This will require firmware changes. + + +#### Q: Can you add feature X or customization Y? + +A: Most likely not. The reference design is provided for the community to change and mix. + +#### Q: I want to commercialize or crowd source it, can you help me? + +A: Not really. The reference design is open source and you will need to find others to help you. We don't mind though to answer questions. + +#### Q: Where do I file a bug? + +A: Use the github repository. + +#### Q: Is it ok to connect/disconnect power to the Analyzer while my 3D printer prints? + +A: Of course. The Analyzer is isolated from the stepper wires and should not interfere with the operation of the printer. + +#### Q: The Analyzer uses LVGL lib, what is the license of that library? + +A: At the time of writing this, the LVGL license is available here https://github.com/lvgl/lvgl/blob/master/LICENCE.txt. The Analyzer's developers are not affiliated with LVGL. + +#### Q: Is the LVGL library included in the Analyzer's repository? + +A: It's not needed. LVGL is supported by platform.io so the Analyzer's project is set for platform.io to fetch LVGL automatically. + +#### Q: Can the firmware be built with the standard Raspberry Pi Pico C++ SDK? + +A: It should be but we didn't try it. Installing the SDK, libraries and tools using platformio and the WizIO Pico 'baremetal' distribution is easier. + + + + + + -Coming soon (June 2021) diff --git a/README_new.md b/README_new.md deleted file mode 100644 index 35993ef..0000000 --- a/README_new.md +++ /dev/null @@ -1,576 +0,0 @@ -# Simple Stepper Motor Analyzer - - - -NOTE: The design of the Simple Stepper Motor analyzer was upgraded to a Raspberry Pi Pico based single board form factor. The dual board STM32 legacy design -was moved to https://github.com/zapta/simple_stepper_motor_analyzer. - -  - -https://github.com/zapta/simple_stepper_motor_analyzer - -  - - -![](./www/overall.jpg) - -  - -## Demonstration - -Michael from the Teaching Tech youtube channel made [a great video explaining how stepper motors work](https://youtu.be/4iII25DGIdA) and used the Simple Stepper Motor Analyzer for some of the demonstrations. - -![](./www/teaching_tech_thumbnail.png) - - -  - -## Highlights -* Low cost and minimalist DYI hardware design. -* Standalone. Doesn't require a computer to operate. -* Analyzes the stepper motor signals in the actual system (e.g. a 3D printer). -* Galvanically isolated current sensors. Does not interfere with the operating equipment, even when its turned off. -* Easy to connect using a pair 4 wire pass through connectors. -* Intuitive user interface with color display and a capacitive touch. -* Microstepping resolution of 1% of a full step. -* Provides momentary readings, signal patterns, and statistical measurements. -* Hardware and software are open sourced with a generous license. -* Based on free tools (Kicad, platformio, LVGL) and the Raspberry Pi Pico. -* Can be easily customized (new featured, cost reduction, data link to a computer, etc). -* Powered 5VDC, 200ma via a USB-C connector. - - -## Overview -Diagnosing the operation of stepper motor in 3D printers and CNC machines used to require stepper motor analyzers that costs thousands of dollar. Not anymore! The Simple Stepper Analyzer ('Analyzer' in short) brings these capabilities to every maker for a tiny fraction of the price and with a minimalist DIY electronic design that leaves the heavy lifting to the firmware. - -The Analyzer is self contained, has two 4-wires pass-through connectors connecting the stepper motor, is powered from a common 5V charger with a micro USB cable, provides a simple to use graphical user interface with a 3.5" color touch screen, and provides a plethora of stepper motor measurements. - -The Analyzer is provided to the community as a public domain reference design that can be built and used as is, or be customized with additional features or for a lower cost as desired. The hardware and firmware come with a liberal open source license (CC0) that allows commercial usages and doesn't require code source code sharing. - ---- -## Disclaimer -THE DESIGN IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE DESIGN OR THE USE OR OTHER DEALINGS IN THE DESIGN. - - ---- -## How does it work? -The principle of operation is very simple, and so is the hardware design. The stepper motor is connected via 4 wire pass-though connectors that allow the Analyzer to monitor the current through the stepper's coils. The Analyzer's user low impedance current sensors that are galvanically isolated such does not interfere with the operation of the 3D printer or other equipment it monitors. The Analyzer measures the coils currents 100k times a second and uses firmware that analyzes the data, extracts the desired measurements, and present them on the screen. For example, this is how an analysis of the distribution of distance by speed distribution looks like: - - -![](./www/distance_by_speed_screen.png) - ---- -## Operation is simple and intuitive - -1. Turn off power to the equipment (e.g. 3D printer). -2. Disconnect the 4 wires of the stepper motor and connect them through the Analyzer two pass through connectors. -3. Power the analyzer using a 5V charger and a micro USB cable. -4. Turn on the equipment and get the stepper going. -5. Use the Analyzer's screen to view the measurements you want. - -**NOTE:** The two pass-through connectors of the Analyzer are symmetric and each can act as an input or output. - -**CAUTION:** Always connect and disconnect stepper motors when their controller is not energized, to reduce the risk of damage to the controller due to high voltage spikes. The analyser itself is not subject to that risk since its uses galvanically isolated current sensors. - -![](./www/wiring_diagram.png) - -**NOTE:** The only requirement for proper wiring is that the two wires of one coil should go through pins pair 1,2 and the two wires of the other coil should go through pin pair 3,4. The Analyzer doesn't care about the +/- polarity of the wires in each pair, nor does it care which of the two pass-through connectors is on the controller side and which one is on the stepper side. - -**TRIVIA:**: The pin-out and the connector type of the Analyzer follows the Duet3D conventions, except that is uses right angle connector to save space. - ---- -## The Home Page -The Home page is first page shown when the Analyzer is powered on. It provides summary information as well as access to the Settings page. - -![](./www/home_screen.png) - -  - -#### Page Data - -Field | Description -:------------ | :------------- - COIL 1 | Momentary coil 1 current in Amps. - COIL 2 | Momentary coil 2 current in Amps. - ERRORS | The number of phase errors detected so far. Phase errors happens when the current patterns are so distorted that a forward/backward movement cannot be determined. - POWER | Indicates if the stepper motor is currently energized. This is determined by the sum of currents in they two coils. - IDLES | The number of times that stepper motor change status from energized to non energized. - STEPS | The distance the stepper moved so far. Each full step forward increments this value by one and each full step backward decrements it by one. When the stepper motor is energized, the display also shows fractional steps in resolution of 1/100th of a full step. - - -HINT: The fractional step value cannot be reset because it is derived from the momentary currents in the two coils. Only the stepper motor driver can reset the fraction by positioning the stepper motor on an exact full step. - -HINT: To swap forward/backward directions of the Analyzer use the Settings page. This does not affect the stepper motor itself. - - -  -#### Page Actions - -Action | Description -:------------: | :------------- -![](./www/trash.png) | Clear all data. -![](./www/settings.png) | Open the Settings page. - -  - ---- - -## The Settings Page - -This is a special page that is accessible from the Home page and allows to calibrate the Analyzer. The settings are stored in a non volatile memory and are preserved when the Analyzer is turned off. - -![](./www/settings_screen.png) - -  -#### Page Data - -Data | Description -:------------: | :------------- -COIL 1 | The momentary current of stepper coil 1 in Amp units. Should be zero, or very close to zero, when the stepper motor is disconnected. -COIL 2 | The momentary current of stepper coil 2 in Amp units. Should be zero, or very close to zero, when the stepper motor is disconnected. - -  -#### Page Actions - -Action | Description -:------------: | :------------- -SET ZERO | Used to calibrate the zero reading of the current sensors. To do so, Disconnect the stepper motor and press this button. -REVERSE STEPS DIRECTION | Changes the forward/backward step directions of the Analyzer. Does not affect the stepper motor itself. Having the correct direction is important for measurements such as the Retraction analysis. -![](./www/ok.png) | Press exist the Settings page. - -  - ---- - -## The Speed Dial Page - -This page measure the stepper speed in units of full steps per second. - -![](./www/speed_gauge_screen.png) - -  -#### Page Data - -Data | Description -:------------ | :------------- -Speed Dial | The speed dial shows the momentary stepper speed in full steps per second units. Forward speed is on the right side and backward speed is on the left. -Speed Value | This field shows the speed in a numeric form. IT is updated less frequently than the dial to allow easy reading. - -  -**HINT:** The Settings page allows to swap the forward/backward directions. - -  -#### Page Actions - -Action | Description -:------------: | :------------- -![](./www/trash.png) | Clears all data. -Tap the dial |Toggles the dial's speed range. - -  - ---- - -## The Distance Graph Page - -This page shows scrolling graph with the total number of full steps vs. time. - -![](./www/steps_chart_screen.png) - -  - -#### Page Data - -Data | Description -:------------ | :------------- -Distance Graph | This graph shows how the distance, in units of full steps, changes over time. -Distance value | The numeric value of the distance in full steps. This fields is identical to the STEPS field in the Home page. - -  - -#### Page Actions - -Action | Description -:------------: | :------------- -![](./www/trash.png) | Clears all data. -Tap the graph | Toggles the range of the vertical axis. - - -  - ---- - -#### The Retraction Graph Page - -This page is useful to analyze the retraction in of 3D printer extruder. - -![](./www/retraction_graph_screen.png) - -  -**TRIVIA:** The graph above was taken while testing a direct extruder printer with [Thing #909901](https://www.thingiverse.com/thing:909901). -  -#### Page Data - -Data | Description -:------------ | :------------- -Retraction Graph | This graphs tracks the retraction of 3D extruder full step units. Retraction is defined as the filament length that was inside the extruder and is now retracted outside of the extruder. -Retraction value | This field shows the current retraction level in a numeric form. - -  -#### Page Actions - -Action | Description -:------------: | :------------- -![](./www/trash.png) | Clear all data. -Tap the graph | Changes the range of the vertical axis. - -  - ---- - -## The Time by Speed Page - -This page shows an histogram with the distributing of time by stepper speed. That is how much time was spent in each speed range. The values are normalized such that the longest bar is always at 100%. - -![](./www/time_by_speed_screen.png) - -  -#### Page Data - -Data | Description -:------------ | :------------- -Time Histogram | The horizontal axis indicates speed in full steps per second units. The height of each bar indicate the time of all steps in that speed range, with the length of the longest bar normalized to 100%. - -  -#### Page Actions - -Action | Description -:------------: | :------------- -![](./www/trash.png) | Clear all data. - -  - ---- - - -## The Distance by Speed Page - -This page shows an histogram with the the distribution of distance by stepper speed. - -![](./www/distance_by_speed_screen.png) - -  -#### Page Data - -Data | Description -:------------ | :------------- -Distance Histogram | The horizontal axis indicates speed in full steps per second units. The height of each bar indicate the distance or number of steps in that speed range, with the length of the longest bar normalized to 100%. - -  -#### Page Actions - -Action | Description -:------------: | :------------- -![](./www/trash.png) | Clear all data. - -  - ---- - -## The Current by Speed Page - -This page measures the ability of the stepper motor's controller to maintain peak current at high speeds. - -The screenshot below shows a healthy system where the peak current is virtually flat across the speed range. - - -![](./www/current_by_speed_screen.png) - -The screenshot below shows a system that is not capable to maintain peak current and starves the stepper motor at high speeds, resulting in poor torque and possible skipped steps. - - -![](./www/current_by_speed2_screen.png) - - -  -#### Page Data - -Data | Description -:------------ | :------------- -Peak Current Histogram | The horizontal axis indicates speed in full steps per second units. The height of each bar indicates the average peak current in Amps of steps that speed range. - -  -#### Page Actions - -Action | Description -:------------: | :------------- -![](./www/trash.png) | Clear all data. - -  - ---- - -## Coil Current Patterns Page - -This page shows the current patterns in the two stepper coils. - -The screenshot below shows a healthy system where the signals are nice and clean and reaches the target peak current. - -![](./www/signal_graph_screen.png) - -  - -The screenshot below is from a poor system where high speed results in distorted and insufficient current, resulting in loss of torque and a potential for skipped steps. - -![](./www/signal_graph2_screen.png) - -  - -**GENERAL INFORMATION:** Each cycle of the stepper current pattern represent 4 full steps. The centers of those steps are at on the four vertical dotted lines where the currents of the two coils are identical, in the same or in opposite polarities. The transitions between the steps are on the 4 vertical solid lines where one of the coils is at zero current. This cycle of 4 full steps is sometimes referred to as a single 'electric rotation'. The analyzer computes the exact phase on this cycle using the standard trigonometric function atan2(current1, current2) which can also be calculated manually from the current readings in the Home page. - -![](./www/quadrants_plot.png) - - -  - -#### Page Data - -Data | Description -:------------ | :------------- -Current graph | The horizontal axis indicates time in milliseconds. The vertical axis indicate coil current level in Amps. The two graphs show the current patterns of the respective stepper coils. - -**NOTE:** The graph is updated only when sufficient stepper motor movement is detected. - -  -#### Page Actions - -Action | Description -:------------: | :------------- -![](./www/trash.png) | Clear all data. -![](./www/pause.png) | When running, pauses the display updates. -![](./www/run.png) | When paused, resume the display updates. -Tap the graph | This toggles the range of the horizontal axis. - - -  - ---- - -## Coil Current Phase Page - -This page draws the current patterns of the two coils as a [Lissajous curve](https://en.wikipedia.org/wiki/Lissajous_curve) which allows to examine visually distortions such as non sinusoidal current, phase distortion, and reduced amplitude. - -In an ideal system, the graph is a perfect smooth circle, that doesn't change its size when the stepper's speed changes. Patterns that significantly diverge from that indicates a sub optimal configuration and operation. - -Following picture shows a pattern from a well functioning system. The graph is round, reasonable smooth, and has sufficient size which indicates good current drive. - -The horizontal axis indicates the coil 1 current and the vertical axis indicates coil 2 current. In this example, both span nicely between -2A to +2A. - -![](./www/phase_screen_good.png) - -  - -The screenshot below is from a poor system where high speed results in distorted and insufficient current, resulting in loss of torque and a potential for skipped steps. The pattern is far from a clean circle and the shape has reduced size. - -![](./www/phase_screen_starved.png) - -  - -The screenshot below shows a sub optimal operation where a a speed increase of the stepper results in small (less current and torque) and even more distorted curve. - -![](./www/phase_screen_accelerating.png) - - -  - -The screenshot below shows a well functioning system. The smaller size of the circle compare to the example above indicates that it operates on lower current. - -![](./www/phase_screen_good_small.png) - - -  - -The screenshot below show an operation of a stepper in full steps mode. The dimension of the pattern indicate good current feed, and the square shape is the best a full step driver can deliver. - -![](./www/phase_screen_full_steps.png) - - -  - -The screenshot below show an operation of a stepper in half steps mode. The dimension of the pattern indicate good current feed, and the shape is somewhere between the square shape of full step mode and the round shape of micro stepping interpolation mode. - -![](./www/phase_screen_half_steps.png) - - -  - -#### Page Data - -Data | Description -:------------ | :------------- -Lissajous curve | A Lissajous curve drawn from the current pattern of coil 1 (x) and coil2(y). -Capture speed | Shows the signal capture time. Fast mode works better with fast moving steppers and slow mode works with slow moving steppers. Tap the graph to toggle. - -**NOTES** -* The graph is updated only when sufficient stepper motor movement is detected. -* To view the current pattern that resulted in the current phase pattern, use the navigation button to switch the current patters page, and vice versa. - -  -#### Page Actions - -Action | Description -:------------: | :------------- -![](./www/trash.png) | Clear all data. -![](./www/pause.png) | When running, pauses the display updates. -![](./www/run.png) | When paused, resume the display updates. -Tap the graph | This toggles the capture time between fast and slow speeds. - - -  - ---- - -## Reference Design Specification - -Item | Specification -:------------ | :------------- -Power consumption | 5V, 175ma. -Power connector | micro USB -MCU | Raspberry Pi RP2040 (Pico module). -Flashing | Drag and drop to a virtual disk. -Data link | USB/Serial link available but not used. -Current measurement | +/-2.5A per coil. (+/-5A sensors optional). -PCB | 102mm x 57mm, two layers -Enclosure | 3D printed, 108.4mm x 63.4mm x 16.6mm -Display | 3.5" 480 x 320, Color, Landscape mode. -Touch screen | Capacitive -Sensor isolation | See ACS70331 data sheet -Sampling rate | 100Khz per channel. -Sampling resolution | 12bits -Current accuracy | estimated at +/- 1% -Max step rate | Software dependent. Currently 2K full steps/sec. -Step resolution | 1/100th of a full step. -User settings storage | On board FLASH. -GUI framework | LVGL library. R3G3B2 color depth. -Programming language | C++ -Programming IDE | VSCode, Platformio, WizIO. -Electronic design software | Kicad. -Mechanical design software | Onshape. - - -  - ---- - - -## I want to build me one - -The electronic schematic, PCB layout, gerber files, and the firmware source files and released binary are all available on this github repository. - -[Schematic](./kicad/stepper_analyzer.pdf) - -[BOM]()./kicad/BOM.xlsx) - -  - -**Instructions:** Order the PCB with JLCPB with SMD service (see JLCPCB directory with gerbers and bom and pos files). Attach the Pico with XFasten tape and solder. Cut the bottom pins of the KF2510 connectors to 1mm length and solder from the top of the PCB only. Solder the current sensors, attach the TFT to the back of the PCB with XFasten tape and carefully connect the two FPC cables. Program the Pico by connecting it to a computer while it's bootsel button is pressed and drag he uf2 release file to the virtual disk you will see on your computer. - - - -![](./www/assembly1.jpg) - -  - -![](./www/assembly2.jpg) - -  - -![](./www/assembly3.jpg) - -  - -![](./www/assembly4.jpg) - -  - -![](./www/assembly5.jpg) - - -## Mechanical -3D print the two part of the enclosure (STL files in this github repository), insert the four M2.5x3.5x3 heated inserts with a solder iron, drill the four 2.5 holes in the cover, insert the PCB to the front part, make sure the TFT seats flush with front and secure the back with four M2.5x10 hex cup screws. - - -## Ideas for improvements -The Analyzer is provided as a fully functional reference design and changes and the developers encourage improvement/modifications of the hardware and/or firmware are encouraged. This can include new features, new measurements and pages, extending the design to support 2 or 3 steppers at once to track the x/y/z of a 3D printer, reducing the hardware cost using less expensive screen TFT, or even eliminating the screen altogether and using the Analyzer as a dongle tethered to a computer via the existing USB/Serial link. - -  - ---- - -## FAQ - -#### Q: Can I buy from you a few units? - -A: We cannot provide assembled units for the general public. For that reason, we released the design with CC Zero license with the hope that other entrepreneurs will do so. - -#### Q: Where do you source the TFT panels? - -A: We buy the '3.5 LCD CTP' variant here https://www.aliexpress.com/item/32862869103.html. The choice of TFT panel and the mechanical design of the PCB follows Dustin Watts' ESP32 Touchdown project https://www.tindie.com/products/dustinwattsnl/esp32-touchdown/ (with extra 2mm to the PCB's length for extra clearance for the threaded heat inserts). - -#### Q: Can the firmware of the analyzer be updated? - -A: Yes. New firmware is released as .uf2 files. To flash the analyzer with a compatible .uf2 follow the standard procedure of the Raspberry Pi Pico. Access to the BOTSEL button is provided by a hole at the back of the 3D printed enclosure. - -#### Q: Why some footprints on the PCB are not populated? - -A: The PCB design includes circuitry that helps developing firmware for the analyzer that is not necessary or helpful for normal opeation of the analyzer. - -#### Q: Can the current scale of the two channels increased from +/-2.5A? - -A: The PCB was designed to accept also +/-5A variants of the current sensors and the optionals resistors R8 R9 were added to allow configuring the firmware to know about the larger current scale. This however was not tried yet since most 3D printer steppers do not exceed currents of 2.5A. - -#### Q: Why not a SPI based TFT? - -A: We could not achieve fast enough display refresh rate with SPI so switched to 16 bit parallel data transfers. With the optimized firmware we can update rate equivalent to 200Mhz SPI. - -#### Q: Can a cheaper TFT/touch be used? -A: Yes, but it will require design changes. - -#### Q: Can the TFT screen be eliminated? -A: Yes. The Analyzer has a USB/Serial output can a small Analyzer dongle can communicate with a computer program. This will require firmware changes. - - -#### Q: Can you add feature X or customization Y? - -A: Most likely not. The reference design is provided for the community to change and mix. - -#### Q: I want to commercialize or crowd source it, can you help me? - -A: Not really. The reference design is open source and you will need to find others to help you. We don't mind though to answer questions. - -#### Q: Where do I file a bug? - -A: Use the github repository. - -#### Q: Is it ok to connect/disconnect power to the Analyzer while my 3D printer prints? - -A: Of course. The Analyzer is isolated from the stepper wires and should not interfere with the operation of the printer. - -#### Q: The Analyzer uses LVGL lib, what is the license of that library? - -A: At the time of writing this, the LVGL license is available here https://github.com/lvgl/lvgl/blob/master/LICENCE.txt. The Analyzer's developers are not affiliated with LVGL. - -#### Q: Is the LVGL library included in the Analyzer's repository? - -A: It's not needed. LVGL is supported by platform.io so the Analyzer's project is set for platform.io to fetch LVGL automatically. - -#### Q: Can the firmware be built with the standard Raspberry Pi Pico C++ SDK? - -A: It should be but we didn't try it. Installing the SDK, libraries and tools using platformio and the WizIO Pico 'baremetal' distribution is easier. - - - - - - - diff --git a/www/overall4.jpg b/www/overall4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d4d20cf13f6d49c29e3aaf189ef06a1dba02900c GIT binary patch literal 102318 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%0DO}Wzu;?Q6(6x|Z9m83{{V!XSML5s zy}NDs8vAeZG)~4!oVpowO z3y3WXswL3r?TOqZKL?Q616vb^Bx6wELv@b3DQK1x;G4u2eP*dO(&>sZCE#OKZ@|gT zrMq_DOX~=5o#lvYEZbEdvH9SismHbd05Id^Pjlqq@_f1ELuD7j;USQCZ(0;a)&0n- zv5nE&{+F>S7YJzljAqgMe_#C>rd*vx{{WmG0Znti;Nb{HD}|0?8)V!Y=%P9j!f`S0 zj3Aome40aWCf@|nrGjL~IAjW#nFBUQEqD=3}D~P{+Fya zC6gx3GOi&n)?U|#{{XorMQm`3`+ec8Xj}8RzX!5hOjJD=TM;mr=<6+ufia$#v9Tku zb~IuhQal8zBBXpVA57rU2t(jblunB&gvsDz@+4Tef=}X}H}LGU7i0PKK7J^lCeFT8 zxiPH>Ol)j#7YXQt;7ofMoLJ~q5wR}uH<(mGiD=uAK{PTbEpRb4j$@%agIKs;MgAy> z@@P!-8e@4wdxiKhUxHs2$%*k)o=P+|ql7`BtS85zt(s(A5K53)SfX#S!K&*V8$&Kx zH*sb+p)F#RcGHs@6GMX(?>A84nVE%-FxG7@62rpAkALA$349X7#*T~eY)0_jDj7&m z4&kRpp|-V%=+Vv*JI2Js@-e3Z^1*4s+#Etf5u`TZjWMIx(e!Y^hJmPDp+1exB&y#0(z$pwx>6e5y{LJUpO2f?D=TnmkmEfi01 z>}ru5o`%_?qoaaNoQIdh%UE(1S{P|He2NDB5YpYbQ5|CS@N0Oh4+qX0!h>7H%AJ#c z3SNhbDFNgf?LPj5@CL8N`8G~p2wat4;r_&t5%JvOic>-&6UB$=Q%Y9ex);!3sQqC& zB~=oeLt7GM_!2j8NvDS;i06S&ydB}O4Gc(XGMp&XVnu9NXh(T%jg4zeeeg|siuL}4 zmF2!S&-xp6>N=kIgwU7CJB#r8_`ims2aEAYz9%ogU+hX;Z`fVGOQazvz6?SWdJ^(@ zq6@EQ;R)^j*VN!54S#9-U+8<)8p4l76*UH~+m+<|U&(Y^@;@ubv{P#(?+!uKu#Ivd zEr_D-jG-}}iG;frxgm+Tu$a)ijCEss(9n?xG&WM~n5QBD<~eWsLhpPgzmcumg#Q4$ zUkTuPDEJnZA#(o!z?H^^r}!GTztBbF_j6J#SVs7l<%^#GHF!$O|L(&$kMdY zuYN>|4}muDgGr&4Gj=W5Qu~(IukC$ z_p(tT3_K<`vJ7oO4YRCTBZEyn3(@pGbU}@a9!W8Lnk69x9O3j3sQM4o`X50qGlNke zmheLqT$8}sBz*<313@8C>?$N)L5uR9!mlGiAWI?eQ8jkRZwVm$#0_CknmQ@$5H!US zp$$$-mdb_PR^gf)DqM*O*tGODyNmF8!_fzDX|8aaLV6z*P))aqAd(WN1Dy?BjrkKj zja~<=Zz*DYk#;$i$+ECgyM}UdvkyaPtWA@9IV!^1+?1z`#0=+W7sZw|f$Jkn=@8pQF4LhlnR2q&I68^ViY7L9xwA#6t| zn7ProAjBqZy73QUT{Flu?u5D`7_~#moJt|4Nx-+r(3ZrsEpj|DtqBVDO886zFY8#@&

Y(wByXlm!EX|)D4(Crs2N-dDs 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 literal 0 HcmV?d00001