ESP32/S2/S3 LinuxCNC Controller (6 axis hardware step gen), USB plug-and-play

More
05 Mar 2024 13:09 #295227 by tommylight
Moved to "Computers and OS's".
Thank you.
The following user(s) said Thank You: wez

Please Log in or Create an account to join the conversation.

More
05 Mar 2024 19:21 #295250 by wez
Thanks Tom!

Testing PCNT high speed was fun, been several weeks of effort. To ensure maximum signal integrity and without using a scope based signal generator (as direct as possible for DUT) to not skew results it took:
  • MOPA Fibre lasering a dual sided copper clad board for two ESP32-S3s modules with smallest possible track sizes including VIA stitching and ground planes
  • One runs the ESP-DSP & its PIE extensions to generate a perfect and consistent waveforms in hardware
  • Direct GPIO on the generator to rule out any mux related issues
  • Tracking PCNT overflows on the receiver (Device Under Test) at high speeds whilst keeping interrupt load as low as possible
  • Able to generate multiple simultaneous waveforms and route to various GPIOs on the receiver to test multi-channel capabilities
Humblebrag - having the ability to high resolution (0201 components, 0.1 traces and laser drill 0.2 vias) laser etch a 300 x 300mm double sided PCB with soldermask with precision in under 15 minutes is invaluable at times!

Plan to publish results eventually but it's part of certifying the module for future commercial use. It has to be tested in order to claim it's capabilities
 
The following user(s) said Thank You: aparecido

Please Log in or Create an account to join the conversation.

More
05 Mar 2024 20:35 - 05 Mar 2024 20:40 #295255 by wez
Another shameless plug...

400khz output on the ESP32-S3 (dual core) across two axes has now been tested and confirmed as being reliable and precise. Video proof of steppers at 32x microstepping (25600ppr) eventually, just have quite a bit going on still.

That's double the step pulse frequency output (with step tracking) of any previous microcontroller based solution and please do correctly me if I'm wrong - the highest for any microcontroller based solution out there? Would love to be corrected. Please! :)

EDIT: Must clarify: the 1Mhz step pulse output stated earlier is an experiment for a single axis and there remains a lot of work to get it in a usable state. The hardware is capable of it though. These tests and results are for the integrated all-in-one single MCU motion controller and so multi-axis speeds are lower.

Video of scope output:





 
Last edit: 05 Mar 2024 20:40 by wez.
The following user(s) said Thank You: tommylight, aparecido, hairy

Please Log in or Create an account to join the conversation.

More
07 Mar 2024 22:28 #295431 by tommylight
This can be freely called a gimmick, but imagine having this showing axis position, motor current and temperature, drive temperature, all voltages on the machine, my life expectancy ... hmmmm :)

Please Log in or Create an account to join the conversation.

More
08 Mar 2024 00:59 #295434 by wez
Who doesn't like a nice gimmick? See what you did there :)
The following user(s) said Thank You: tommylight, aparecido

Please Log in or Create an account to join the conversation.

More
08 Mar 2024 13:48 #295457 by meister
The following user(s) said Thank You: tommylight, Mecanix

Please Log in or Create an account to join the conversation.

More
08 Mar 2024 15:11 - 08 Mar 2024 15:12 #295460 by wez
Yeah that's already built into my project by default. See my github repo regarding the parts about ESP-NOW :)
Last edit: 08 Mar 2024 15:12 by wez.
The following user(s) said Thank You: aparecido, hairy

Please Log in or Create an account to join the conversation.

More
09 Mar 2024 11:26 #295501 by wez
This has been put on a bit of a back burner for now due to life priorities but I will pick it up again soon. I promise.

I'm very reluctant to release code that isn't optimised with all features and having been tested properly. Perception and quality matters, even for open source projects. Thanks to all of you for understanding and I truly value your patience!
The following user(s) said Thank You: aparecido

Please Log in or Create an account to join the conversation.

More
09 Mar 2024 12:52 #295509 by Mecanix

this is also awesome:
hackaday.io/project/161896-linux-espnow

Espnow is NOT a gimmick. Truly works. If you are able to strip it down to core functions it turns into some pretty wicked high performance comm stuff, I like it a lot. So much so that I engineered a whole spindle encoder for my parport mill's spindle. Can do rigid tapping at 4000RPM (if I wish) using a cheap 100ppr omron knockoff encoder. All wifi, no lost heartbeats, go figure!!

Idea was inspired by this one . Got to give the guy some credit, the idea is brilliant. I've just took it a notch up and  plugged PCNT, ESPNOW and a python serial interface for lcnc. Concept remains the same though, still a functional spindle encoder. Just WIFI lool
The following user(s) said Thank You: tommylight

Please Log in or Create an account to join the conversation.

More
09 Mar 2024 12:56 #295510 by wez
Nah I know it's not. It's capable of ridiculously low latency since it doesn't have the usual WiFi overhead and is point-to-point.

It's truly awesome. I'm really surprised more aren't using it tbf
The following user(s) said Thank You: tommylight, aparecido

Please Log in or Create an account to join the conversation.

Time to create page: 0.126 seconds
Powered by Kunena Forum