- Hardware & Machines
- Computers and Hardware
- ESP32/S2/S3 LinuxCNC Controller (6 axis hardware step gen), USB plug-and-play
ESP32/S2/S3 LinuxCNC Controller (6 axis hardware step gen), USB plug-and-play
- Mecanix
- Offline
- Platinum Member
Less
More
- Posts: 446
- Thank you received: 216
29 Nov 2024 18:57 - 29 Nov 2024 18:59 #315570
by Mecanix
Replied by Mecanix on topic ESP32/S2/S3 LinuxCNC Controller (6 axis hardware step gen), USB plug-and-play
Tommy. You honestly need to lookup RMT based controls if that 32bits is your hardware (suggest the P4 if they are available to you). If you're after half-decent motion control performance and reliability, that's the only way to do it really (imho). Yeah man, from scratch!!
github.com/espressif/esp-idf/tree/master...ls/rmt/stepper_motor
That, and grab a good doze of knowledge of mutual exclusion runtime(mutex, semaphores, give, take, locks, ect), and the end result should match up to as close as it gets to a parallel compute (aka fpga).
github.com/espressif/esp-idf/tree/master...ls/rmt/stepper_motor
That, and grab a good doze of knowledge of mutual exclusion runtime(mutex, semaphores, give, take, locks, ect), and the end result should match up to as close as it gets to a parallel compute (aka fpga).
Last edit: 29 Nov 2024 18:59 by Mecanix.
The following user(s) said Thank You: tommylight
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
Less
More
- Posts: 19408
- Thank you received: 6507
29 Nov 2024 19:09 #315575
by tommylight
Replied by tommylight on topic ESP32/S2/S3 LinuxCNC Controller (6 axis hardware step gen), USB plug-and-play
P4 was not found on amazon.de so S3 it was.
Had a play with this earlier today, Wez's version fails to set networking for some reason on ESP32wroom module, the other version someone linked here does work but suffers from random reboot loops, a lot.
I am after something else here, use an ESP32 as it has 12 bit ADC to measure the arc voltage and turn the torch on, mounted on the plasma source, and another module connected to PC to translate those voltage values to pulses with variable frequency.
Should be doable and have good enough latency for about 50-150 updates per second. It they survive the EMI
Had a play with this earlier today, Wez's version fails to set networking for some reason on ESP32wroom module, the other version someone linked here does work but suffers from random reboot loops, a lot.
I am after something else here, use an ESP32 as it has 12 bit ADC to measure the arc voltage and turn the torch on, mounted on the plasma source, and another module connected to PC to translate those voltage values to pulses with variable frequency.
Should be doable and have good enough latency for about 50-150 updates per second. It they survive the EMI
Please Log in or Create an account to join the conversation.
- Mecanix
- Offline
- Platinum Member
Less
More
- Posts: 446
- Thank you received: 216
29 Nov 2024 19:19 - 29 Nov 2024 19:39 #315579
by Mecanix
Replied by Mecanix on topic ESP32/S2/S3 LinuxCNC Controller (6 axis hardware step gen), USB plug-and-play
S3 cores ran on the 240meg and compiled -o2 is pleeeenty sufficient (my fav silicon of them all in fact). The P4 is very much overkill here, but hey, who doesn't like overkill anything lol ps.150hz is nothing for a S3. That makes both the S3 and P4 overkill in that sense
On the MCU Motion Control rant; and If I'd be any of you MCU experts, I'd get a RMT based driver working on 1 (one) motor to begin with, and before doing/coding anything else, have that comm and feedback 110% reliably with the Lcnc comm driver **mutex'ed**.
Once that's sold and a certainty, move to the next step (channel array!)
On the MCU Motion Control rant; and If I'd be any of you MCU experts, I'd get a RMT based driver working on 1 (one) motor to begin with, and before doing/coding anything else, have that comm and feedback 110% reliably with the Lcnc comm driver **mutex'ed**.
Once that's sold and a certainty, move to the next step (channel array!)
Last edit: 29 Nov 2024 19:39 by Mecanix.
The following user(s) said Thank You: tommylight
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
Less
More
- Posts: 19408
- Thank you received: 6507
29 Nov 2024 21:33 #315587
by tommylight
Replied by tommylight on topic ESP32/S2/S3 LinuxCNC Controller (6 axis hardware step gen), USB plug-and-play
Is that your chanel on youtube with the ESP MPG?
I'll be bothering you about that soon as i have a 3D printed MPG with a screen that Mesa7i73 does not use.
RMT will have to wait, limited time, but lately i am stuck at home/shops so maybe...
I'll be bothering you about that soon as i have a 3D printed MPG with a screen that Mesa7i73 does not use.
RMT will have to wait, limited time, but lately i am stuck at home/shops so maybe...
Please Log in or Create an account to join the conversation.
- Mecanix
- Offline
- Platinum Member
Less
More
- Posts: 446
- Thank you received: 216
30 Nov 2024 14:06 #315651
by Mecanix
All the best to you & family. And be safe in that shop!!
Replied by Mecanix on topic ESP32/S2/S3 LinuxCNC Controller (6 axis hardware step gen), USB plug-and-play
Nah, not my channel, got none of that online exposure, maybe one day but I doubt that. Same reason as yours, so little time for those sort of thingsRMT will have to wait, limited time, but lately i am stuck at home/shops so maybe...
All the best to you & family. And be safe in that shop!!
The following user(s) said Thank You: tommylight
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
Less
More
- Posts: 19408
- Thank you received: 6507
30 Nov 2024 16:29 #315659
by tommylight
Replied by tommylight on topic ESP32/S2/S3 LinuxCNC Controller (6 axis hardware step gen), USB plug-and-play
Yeah, it is probably Meister's channel, sorry for the mix up.Nah, not my channel,
I just had two friends in the shop, fixing 3 PC's, all the time they were screaming at me for not recording that and putting it online as they would like to watch that again and again! I am a pedantic p.o.s when i work with PC, so i always think that would be boring as hell !...got none of that online exposure, maybe one day but I doubt that. Same reason as yours, so little time for those sort of things
Thank you very much. Been quite some time since i injured myself... aaah good timesAll the best to you & family. And be safe in that shop!!
The following user(s) said Thank You: Mecanix
Please Log in or Create an account to join the conversation.
- michaeln
- Offline
- New Member
Less
More
- Posts: 7
- Thank you received: 2
10 Dec 2024 06:14 - 10 Dec 2024 06:15 #316374
by michaeln
now i found the problem of the SPIConfig.
Here is the code with my changes, forked from sybexx with his changes:
github.com/michaelnu/ESP32_LinuxCNC_MotionController_RealTime
Best regards
Michael
Replied by michaeln on topic ESP32/S2/S3 LinuxCNC Controller (6 axis hardware step gen), USB plug-and-play
Hello,Does the spiethconfig work for anybody?
I tested a lot, but i don't find the problem.
I insert printf commands in the code and get strange outputs. I change from picocom to putty, the same.
The command in short and long version:
spiethconfig -s 19 -i 23 -c 18 -e 0 -t 4
spiethconfig --miso 19 --mosi 23 --sck 18 --csenable 0 --interrupt 4
The output:
Invalid or missing Chip Select pin (0>128)
Command returned non-zero error code: 0x1 (ERROR)
I insert some printf-commands ( bold my changes):
printf("argc: %d\r\n", argc);
if (result.count("s")) { miso_pin = result["s"].as<int>;(); }
printf("MISO pin: %d \r\n", miso_pin);
if (miso_pin < 0 || miso_pin > 128 ) { printf_P(PSTR("Invalid or missing MISO pin (0>128)\n")); return EXIT_FAILURE;}
if (result.count("i")) { mosi_pin = result["i"].as<int>;(); }
printf("MOSI pin: %d \r\n", mosi_pin);
if (mosi_pin < 0 || mosi_pin > 128 ) { printf_P(PSTR("Invalid or missing MOSI pin (0>128)\n")); return EXIT_FAILURE;}
if (result.count("c")) { sck_pin = result["c"].as<int>;(); }
printf("SCK pin: %d \r\n", sck_pin);
if (sck_pin < 0 || sck_pin > 128 ) { printf_P(PSTR("Invalid or missing SCK pin (0>128)\n")); return EXIT_FAILURE;}
if (result.count("e")) { cs_pin = result["e"].as<int>;(); }
printf("CS pin: %d \r\n", cs_pin);
if (cs_pin < 0 || cs_pin > 128 ) { printf_P(PSTR("Invalid or missing Chip Select pin (0>128)\n")); return EXIT_FAILURE;}
if (result.count("t")) { int_pin = result["t"].as<int>;(); }
printf("INT pin: %d \r\n", int_pin);
if (int_pin < 0 || int_pin > 128 ) { printf_P(PSTR("Invalid or missing Interrupt pin (0>128)\n")); return EXIT_FAILURE;}
and get the result:
argc: 7
MISO pin: 19
MOSI pin: 23
SCK pin: 18
CS pin: 255
Invalid or missing Chip Select pin (0>128)
Command returned non-zero error code: 0x1 (ERROR)
After that i change the sequence of the variables, the problems stay at the forth position. i saw that the out from argc stay at maximum 7 (in my opinion it should be 11).
Does it work for anybody?
If yes, what does is made wrong?
Thanks and best regards
michaeln
now i found the problem of the SPIConfig.
Here is the code with my changes, forked from sybexx with his changes:
github.com/michaelnu/ESP32_LinuxCNC_MotionController_RealTime
Best regards
Michael
Last edit: 10 Dec 2024 06:15 by michaeln.
The following user(s) said Thank You: tommylight
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
Less
More
- Posts: 19408
- Thank you received: 6507
10 Dec 2024 10:51 #316388
by tommylight
Replied by tommylight on topic ESP32/S2/S3 LinuxCNC Controller (6 axis hardware step gen), USB plug-and-play
If i get a chance i will have a run at it tonight, still have all that mess on my table.
Thank you.
Thank you.
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
Less
More
- Posts: 19408
- Thank you received: 6507
11 Dec 2024 00:51 #316441
by tommylight
Replied by tommylight on topic ESP32/S2/S3 LinuxCNC Controller (6 axis hardware step gen), USB plug-and-play
Gave it a try, still reboots when enabling LinuxCNC.
Have to try another module just in case.
Have to try another module just in case.
Please Log in or Create an account to join the conversation.
- aparecido
- Offline
- Premium Member
Less
More
- Posts: 99
- Thank you received: 6
15 Dec 2024 13:17 - 15 Dec 2024 13:18 #316704
by aparecido
Replied by aparecido on topic ESP32/S2/S3 LinuxCNC Controller (6 axis hardware step gen), USB plug-and-play
Has this error message appeared for anyone?
If so, how did you resolve it?
Can you tell me why it appeared?
If so, how did you resolve it?
Can you tell me why it appeared?
Last edit: 15 Dec 2024 13:18 by aparecido.
Please Log in or Create an account to join the conversation.
- Hardware & Machines
- Computers and Hardware
- ESP32/S2/S3 LinuxCNC Controller (6 axis hardware step gen), USB plug-and-play
Time to create page: 0.139 seconds