Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login
    1. Home
    2. zapta
    3. Best
    • Profile
    • Following 0
    • Followers 7
    • Topics 176
    • Posts 2,345
    • Best 434
    • Controversial 8
    • Groups 0

    Best posts made by zapta

    • Low cost, public domain, stepper analyzer - season 2.

      Hi everybody,

      Last year I posted here a DYI design of a stepper motor analyzer that was based on teensy 4.0 (600Mhz processor, at $20 a piece) and a 3.5 Nextion smart TFT(~$35).

      Since then I worked on and off on a simpler and less expensive design and it works even better. This design uses a 3.5" 'dumb' TFT with a capacitive touch, and ~$3 'blackpill' STM32F401CE board from Ali Express.

      7cc58730-8a51-4d2a-9977-d1bbe4e78533-image.png

      The hardware design is trivial, with a blackpill module, two small current sensors and a EEPROM to save the settings, and it has a 40pin connector that plugs into the TFT screen. All the heavy lifting, including the signal processing, extraction of stepper measurements and user interface are done by the firmware.

      Github repository and documentation are here https://github.com/zapta/simple_stepper_motor_analyzer and electrical schematic is here https://github.com/zapta/simple_stepper_motor_analyzer/blob/master/kicad/stepper_analyzer-sch.pdf .

      I may be able to make a few available for cost, especially for developers that want to add functionality (C++, Platformio under VSCode, programming/debugging using stlink V2). Flashing of new boards can be done with DFU software over USB, no tools of dongles required).

      If you want to build one, or ten, or a thousand and have questions, I will be happy to answer. The connectors BTW are duet2 compatible. πŸ˜‰

      6dcbcaec-99bc-4f99-b030-dc2ceeeef53e-image.png

      fd29b9fd-e6d4-48a7-a331-4bb8e5ea41cd-image.png

      c410b83c-372f-40b1-9924-66c8f36c4fda-image.png

      posted in General Discussion
      zaptaundefined
      zapta
    • RE: Question about the quality of the Duet software..

      @deckingman said in Question about the quality of the Duet software..:

      it means graduates of either Oxford or Cambridge universities.

      Thanks @deckingman. This explains why when I searched for Oxbridge University I got this

      f7a9c02c-a68d-4d27-8aa0-b14af601e154-image.png

      posted in General Discussion
      zaptaundefined
      zapta
    • Duet3D Monitor - Adding a big status light to your printer.

      This is an experimental project to have large led indicators with the printer status using data sniffed from the PanelDue serial communication. The pictures below are of the current (second) prototype. It is based on a Teensy LC with an Arduino sketch, an isolated 24/5V DC DC, a small strip of WS2812B RGB leds, and a diodes and a resistor.

      Overall I find it to be very useful. When the printer is busy the light is white which also helps the Wyze webcam at night. Once the print is completed and the extruder cools down to 70C the light changes to green which indicates that it's safe to turn off.

      Programming is done via the Teensy USB connector and the USB cable can be removed in normal operation. I chose the Teensy LC because it provides a good balance between cost, computing power, easy to install and use IDE, and having a 5V output to drive the the WS2812B LEDs. To make the thing working on both the DC/DC and USB power (for development), I cut the VIN/VUSB link at the backside of the teensy and am using two Schottky diodes the OR the 5V from the two sources.

      All the source files are available here: https://github.com/zapta/misc/tree/master/duet3d_monitor . I will add the kicad files one the PCB design is ready.

      0_1559452735534_IMG-1407.JPG

      0_1559452718812_IMG-1408.JPG

      Next I will place everything on a small proper PCB and will replace the cheapo DC/DC with digikey 1951-3441-NDβ€Ž

      0_1559452694660_IMG-1409.JPG

      0_1559452702034_IMG-1410.JPG

      posted in General Discussion
      zaptaundefined
      zapta
    • Duet Buddy - a proof of concept remote monitor

      This video shows a proof of concept of a duet WiFi remote monitor. The monitor displays the print progress and changes colors as the duet state changes (in this case from print to pause, cancel and idle).

      https://vimeo.com/388175661

      2020-01-30_00-57-17.png

      At it's current form it's crude but I hope that some creative programmers here can make something more useful and aesthetic.

      The hardware is a fun off the shelf M5Stack Core. It's an ESP32 based Arduino with color screen, battery, charger, buttons, speaker and tons of I/O connectivity. The software polls the duet periodically via WiFi, extract the data it needs and displays it. It is based on the PanelDue json parser and full source code is here https://github.com/zapta/misc/tree/master/duet3d_buddy/arduino https://github.com/richard-mckenna/duet_buddy (repository moved, May 2021)

      The M5Stack has very active community and comes with rich libraries that includes graphics and various widgets that can be useful for a duet monitor. Some graphic demo here https://youtu.be/po3pbBcOxzA?t=404

      posted in General Discussion
      zaptaundefined
      zapta
    • Building a DIY public domain low cost stepper motor analyzer

      I am toying with the idea of having a public domain demo design of an inexpensive stepper motor analyzer so others can offer inexpensive kits or finished products, for example for 3D printers builders and tweakers.

      The idea is to sense the current of the stepper motor coils, performa simple analysis in realtime and display useful information and graphs on a small screen (e.g. 1.8" color TFT).

      This is what I have so far, a board with two +/-5A, AC/DC isolated current sensors (ACS70331) and a microcontroller (Teensy 3.2) that make sense of the signals and send the results to a computer via a serial port (the TFT screen is on order, should arrive in a few weeks).

      Currently it decodes accurately full steps but there is sufficient data to interpolate fractions of steps using the current ratios.

      Here is a picture of the prototype board (the two knobs are for testing only, not part of the final design)

      IMG-1671.JPG

      And here is an example graph of extruder steps while printing (0.9deg, 3:1 gear). The large retraction at the end is the end of print retraction.

      Annotation 2019-09-17 210546.png

      Should be easy to compute for example the actual max retraction, that is length of filament that was in the extuder and is now out, due to pressure advance, retraction etc. Other analysis can be for speed, acceleration, RMS current at high speeds and so on).

      posted in General Discussion
      zaptaundefined
      zapta
    • RE: Building a DIY public domain low cost stepper motor analyzer

      Had more progress with the analyzer's prototype. It now has a small display and shows information in real time. It shows current in both coils, number of quadrature state errors (e.g. if moving too fast for the stepper), the number of times the stepper was idle and the current step counter. Next I will try to show a graph on the display, of the step counter and/or of the coil currents. May also display aggregated values such as max current, RMS currents, speed, etc.

      The prototype board with the display:
      IMG-1696.JPG

      A close up of the display
      IMG-1698.JPG

      The data the analyzer sends in real time via the USB port is also plotted on the computer. This graph shows the extruder steps while printing Calicat. The big deeps are retractions. The ripples is the the pressure advance (set to 1.5).
      IMG-1699.JPG

      posted in General Discussion
      zaptaundefined
      zapta
    • Anybody wants a stepper motor analyzer?

      TL;DR, If you a regular here and would like to purchase a stepper motor analyzer please let me know. I can do a small at-cost run of up to 10 units.

      The Raspberry Pico made headlines a few months ago so I decided to try porting the Simple Stepper Motor analyzer to it, and am happy with the results, so decided to have a small at-cost run of up to 10 units for regulars here that are interested.

      This is a more compact design than the previous one, with a single PCB and components on one side and LCD screen on the other. Capabilities are the same but with possibly smoother display due to the larger RAM and faster CPU.

      The cost per unit is $30 + actual post office fee to ship to your location from the US (It's expensive, can be $30+ to Europe), payment via Amazon gift card (can purchased online) at the time of shipping.

      Note that I don't make any profit, give my time for free, and just hope to be reimbursed for the out of pocket expenses so please adjust your expectations regarding warranty and such πŸ˜‰

      BTW, if you want do built it yourself, including commercially, this design is in the public domain and I hope to release the files and documentation in 2-3 weeks. (electronics, firmware, 3D models and user guide)

      The 3D printed enclosure is not included and you will have to print it yourself. I will try to include the M2.5 threaded inserts.

      IMG-2804.JPG

      IMG-2821.jpg

      IMG-2822.jpg

      IMG-2824.jpg

      posted in General Discussion
      zaptaundefined
      zapta
    • RE: Building a DIY public domain low cost stepper motor analyzer

      The analyzer, as primitive as it is now, already helped me diagnose a problem. I often had a general issue of under extrusion so the extruder path was clean and fully functional. Looking at the E steps counter on the analyzer while printing one of the problematic prints, I notices this:

      As you can see, the retraction was significantly longer than the unretraction which results general trend of the filament going OUT of the extruder.
      Annotation 2019-09-18 201652.png

      That also caused errors in the tracking of the stepper steps so it was easy to sync to that point of time with a scope and see this:

      SCR03.PNG

      The unretraction steps are too fast compare to what a that stepper with 24V supply can handle which results in reduced and distorted current patter through the coils.

      Looking at my config.g I found this line which sets the max extruder speed.

      M203 X15000 Y15000 Z3000 E15000

      And reducing it to E1500 solved the problem (the upper limit of reasonable stepper signal on my printer is about E2000). If my calculations are correct this is about 25mm/sec on my extruder with 0.9deg and 3:1 gear reduction.

      Hopefully we will have one day analyzers that will do all this process automatically or even Duet itself since the coil currents are available to it (not sure how though how much information the existing TMC drivers convey to the CPU).

      posted in General Discussion
      zaptaundefined
      zapta
    • RE: Anybody wants a stepper motor analyzer?

      Good news, 20 PCBs arrived from JLPCB with some preassembled components. I built one using a screen I had and it seems to work. Now I am waiting for the screen and other components for the first batch of 10 to arrive, should be here within 2-3 weeks. Once this batch is shipped and has no problems, I will work on the next batch.

      As arrived from JLCPCB:
      2de37223-2367-4dae-8719-e81168c85d5c-image.png

      Fully assembled:
      3dfc8bcf-3777-43f7-9661-afb559fafef7-image.png

      Enclosed:
      265fee8a-cf53-486e-b0e2-b0cdf33bf348-image.png

      posted in General Discussion
      zaptaundefined
      zapta
    • RE: Anybody wants a stepper motor analyzer?

      A quick update: Still waiting for some components to arrive from china (current sensors, connectors, and Picos). I ordered sensors and connectors with aliexpress-standard-shipping but it's still on the way, same for the Picos from Seeed. Meanwhile I decided to use the waiting time and printed enclosures πŸ˜‰

      b8d396cf-7517-4f12-afd9-a611e332563d-image.png

      posted in General Discussion
      zaptaundefined
      zapta
    • Please make page search to work in the web editor.

      Browsers have a user function (cmd-f, ctl-F, etc) that allows to search in the current web page. However, this doesn't work well with the Web editor because it doesn't always loading the entire text, not even for relatively small files. As a result, it gives misleading information, for example that a text that exists at the bottom of the file doesn't exist.

      Please make the cmd-f function finding all the occurrences of the text in the edited page.

      posted in Duet Web Control wishlist
      zaptaundefined
      zapta
    • RE: Building a DIY public domain low cost stepper motor analyzer

      Implemented the first analysis screen, still crude but shouldn't be difficult to clean. It shows the histogram of the stepper speed. vertical axis is speed from 100 steps/sec (bottom) to 2000 steps/sec (top). The length of the bars is the relative time the stepper was at that speed.

      This is the result of stepper A of a CoreXY printer while printing Calicat. The movements are relatively and the insufficient time to accelerate result in low overall speed:

      IMG-1707.JPG

      This video shows it updated in real time while using PanelDue to move a few times 10mm (slow) and then a few times 100mm (fast):

      https://www.dropbox.com/s/mw2pdjfm5h5n9b8/stepper_speed_histogram.MP4?dl=0

      The blue button resets the histogram data when you want to start from scratch.

      I believe that the Duet boards have sufficient information to provide such histograms. This could be another useful differentiator.

      Next I will try to implement a similar histogram that show the peak current in each speed. I believe that this will be able to diagnose the problem I had with a high inductance extruder stepper as the bars will be significantly shorter for the higher speeds.

      BTW, the microcontroller in the video is Teensy 4.0, a 600Mhz M7 beast that leaves a lot of room for future expansion, both in memory and computation.

      posted in General Discussion
      zaptaundefined
      zapta
    • RE: Anybody wants a stepper motor analyzer?

      Hi everybody,

      TL;DR, If your name is in the list below, please send me your shipping info so I can send you an analyzer. Please be prepared to pay via amazon gift card (requires an amazon account) upon shipping.

      I have the first batch almost ready for shipping (electronics is done, just waiting for the threaded inserts for the enclosures) so it's time to get read. First batch will go to the first 10 people + dc42 (see list below, I happened to have parts for one more unit).

      If you are still interested, please send me an direct message with your shipping address (see below a snapshot of the Post Office form with the details you need to provide). I will ship via the least expensive method the Post Office here in the US will offer so don't expect a useful tracking number.

      Once I will ship I will ask you to pay the expenses ($30 USD + whatever the Post Office will charge) via Amazon gift card (you need to have an Amazon account, purchases a gift card for the exact amount and send me via chat the gift card number amazon will give you).

      Also, please remember that I don't do it for any profit so this is provided 'as is' with no warranty of any time. Of course I will be able to answer questions and advise as possible.

      BTW, if you are not on the first batch list, don't worry, I plan to make more and already have 20 extra PCBs. I want to see first how the first batch does go and if there are any design or other problems.

      First batch recipients:
      @Tinken
      @jay_s_uk
      @martin7404
      @bricor
      @fcwilt
      @alankilian
      @Nuramori
      @paralepsis
      @3DPMicro
      @Luke-sLaboratory
      @dc42

      72bae802-8c9b-4f1f-83a8-ac4bf5bc3ed2-image.png

      posted in General Discussion
      zaptaundefined
      zapta
    • RE: Anybody wants a stepper motor analyzer?

      I am trying now a new approach, a BLE Stepper Motor Analyzer. It still at an early stage, but so far looks feasible. Imagine a small widget, smaller than a matchbox, with 4 pass through stepper motor wires. The widget harvests a small amount of power from the wires (~100mw) to power a small microcontroller (Nordic NRF52832) that monitors stepper signals, extracts information such as steps/speed/waveforms, and sends it wirelessly via BLE to an app on a computer, smart phone, or even to a DWC plugin (which uses Web Bluetooth).

      I don't know if it's all possible but initial tests look good. With a NRF52832 that samples two analog channels and sends the extracted data to a PC via bluetooth (max sampling rate I could get is 40Khz per channel compared to 100Khz on the Simple Stepper Analyzer). Power harvesting also looks feasible with a four phase full rectifier bridge, a small capacitor and a 5-30V -> 3.3 DC/DC converter. The energy is available as long as the stepper is energized, regardless if it moves or not and on what microstep/phase it happened to stop. Could also add a small battery rechargeable or not, if needed.

      As for the client software, I am thinking of a reference python client that people can use to create desktop apps or as reference design for mobile and other clients.

      As I said, it's still at an early phase and I don't know for certain that this is feasible.

      Any thoughts?

      posted in General Discussion
      zaptaundefined
      zapta
    • Printables.com is the new Thingiverse (?)

      Prusa rebranded their Prusa Printers site as Printables.com and it may be the new Thingiverse. The user interface and response time are good and it will be supported by sales of Prusa products.

      I joined it and imported my Thingiverse designs.

      https://www.printables.com/model

      posted in General Discussion
      zaptaundefined
      zapta
    • Are you a mobile or desktop app developer?

      TL;DR, if you know how to develop desktop or mobile apps and would like to help an open source (public domain) project of a low cost Bluetooth stepper motor analyzer please ping me.

      9764b3f1-bb39-4aca-b066-7bd2604f25f7-image.png

      The development of the Bluetooth stepper motor probe progressed well and I have now a working prototype that sends 50 data points/sec with motor step count and speed to a desktop python demo that plots it in real time. The Next revision of the PCB (see above) will go to fabrication in a week or a two (5-10 units). The unit is 'plug-and-forge' since it doesn't require batteries, external power, or data cable, just connect it in series to the stepper and forget about it.

      The next step is to write a desktop or mobile app that will connect to the device and provide the necessary user interface, maybe similar to the Simple Stepper Motor Analyzer as a starting point. This kind of development is is above my pay grade so help would be appreciated by myself and by the community. If you are good in developing apps (preferably with cross OS frameworks such as Flutter, React, QT, and the likes) and would like to contribute to this exciting open source (public domain) project please respond here or send me a PM. In return I will send you a working unit.

      Also, if you find your way with firmware and would like to help with developing the device's firmware itself (e.g. adding a MCUBoot/DFU loader for field updates) please let me know as well (technologies involved are C++/Zephyr/Platformio/MCUBoot).

      stepper_probe.pdf

      posted in General Discussion
      zaptaundefined
      zapta
    • Anybody wants BLE Stepper Motor Analyzer?

      Hi all,

      I just completed the design of a Bluetooth BLE stepper motor analyzer and have two units to sell now. This is a small device that you can be embedded in your printer and whenever you like, launch the analyzer program on your PC (Mac/Windows/Linux) to watch the signals in real time. The device doesn't interfere with the operation of the printer, regardless, if it is being monitored or not.

      82210af0-5d9b-4911-a230-654f89eb2989-image.png

      Price is $50 with free shipping world wide, including a sticker external antenna, and connectors, and at the moment I have two units available, from a small batch of 5.

      Here is a short video with screenshot of the app https://vimeo.com/798169140 (it is less jittery in real life).

      00ecaf80-3d09-40c5-8869-2a6f19118c7a-image.png

      The design is in the public domain with no commercial restrictions and all the files and documentations are available here https://github.com/zapta/ble_stepper_motor_analyzer. It also include production files for JLCPCB such that fully assembled units can be ordered from JLCPCB (about $15/unit at quantities of 30, assuming no defects).

      posted in General Discussion
      zaptaundefined
      zapta
    • RE: Danal's passing

      A close friend of mine passed away last December. He was a brilliant technologies with 100+ patents on his name and a home office full of machines and contraptions. It was interesting to watch how all of that valuable equipment has little value to the loving family left behind and the burden of disposing them. It's then that I realized that it's the person that gives the value to those machines, including our 3d contraption. From my brief interaction with Danal here, I believe that he gave value for a lot of things in his life and in multiple disciplines of technology and I respect it.

      posted in Off Topic
      zaptaundefined
      zapta
    • RE: Input Shapers: 2HUMP_EI & 3HUMP_EI + Auto Tuning

      Here is a demonstration of input shaping:

      https://www.youtube.com/watch?v=ePQ7LjKKB68

      This one is wide band and supports pendulums of different frequencies:

      https://youtu.be/MfLavweSiRo?t=18

      Looks like magic to me, especially the fact that it's done in an open loop.

      posted in Firmware wishlist
      zaptaundefined
      zapta
    • RE: Duet3D Monitor - Adding a big status light to your printer.

      Status update. I created a kicad schematic. Next will create a PCB layout.

      https://github.com/zapta/misc/raw/master/duet3d_monitor/board/board-schematic.pdf

      Source files here
      https://github.com/zapta/misc/tree/master/duet3d_monitor/board

      posted in General Discussion
      zaptaundefined
      zapta