Remora - ethernet NVEM / EC300 / EC500 cnc board

More
29 Sep 2023 20:30 #281879 by scotta
Hi Rod, 

The full source is in this branch:

github.com/scottalford75/Remora-RT1052-c...e/feature/DMAstepgen

The interesting sections are the interrupt driven DMA transfers between two ping pong buffers and the step pattern generator.

github.com/scottalford75/Remora-RT1052-c...mora-rt1052.cpp#L503

github.com/scottalford75/Remora-RT1052-c...epgen/DMAstepgen.cpp

Using the GPIO port toggle register means the step pattern buffer only needs to be filled when there is a change on the pin required. Ensure that we get both a rising and falling edge in the buffer has been most of the bug fixes.
The following user(s) said Thank You: rodw

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

More
30 Sep 2023 00:59 - 30 Sep 2023 01:05 #281895 by GeramyL
How did you tune your pid? What’s your jitter if you run a latency test and hardware your running? I got myself a Dell Wyse 5060 with a quad core GX-424CC but I seem to get a hitter of like 70,000 maximum on the first thread. Anyways I’ve been beating the crap out of the pid loop to no end, 2000 pulses per mm and I run at 28mm a second maximum. I Can get my f-error to about 0.004 and then once the motor starts to decelerate it starts going up and peaks around 0.008 and that’s a lot to be honest because any latency can cause it to hit 0.01mm and now my milling has got weird wavy lines because of it….. anything below about 700mm/m seems to produce nearly no f-error like 0.002 and I can live with that. Any thoughts anyone?

FF1 = 0.032
FF2 = 0.0032
P = 48
I = 8
Last edit: 30 Sep 2023 01:05 by GeramyL.

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

More
30 Sep 2023 01:07 #281896 by scotta
With the DMA stepgen? I found with the DMA stepgen that too high a Pgain causes to much oscillation, so I tamed it down to 10, which reduced the oscillation and following errors at high speed.

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

More
30 Sep 2023 01:13 #281897 by GeramyL

With the DMA stepgen? I found with the DMA stepgen that too high a Pgain causes to much oscillation, so I tamed it down to 10, which reduced the oscillation and following errors at high speed.

I noticed you set the base_freq inside the Hal to what your DMA step gen was. I have been matching this to the servo thread which we arnt using anymore…. Could this be causing my major failure in correcting f-error?

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

More
30 Sep 2023 01:22 #281898 by scotta
Hi, LinuxCNC needs to know what the max frequency of the stepgen is capable of so it can limit the frequency command. Also, the traj max velocity should be lower than the joint max velocity so that the joint can catch up the following error.

github.com/scottalford75/Remora-NVEM/blo...-nv/remora-nv.c#L536

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

More
30 Sep 2023 04:16 #281906 by GeramyL
Hey is it possible to use FlexIO instead on the step and dir pins?
I was doing some reading online saying FlexIO is more stable then edma? Just wondering if the pins are the correct ones to use FlexIO? I cant find too much documentation on it :(

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

More
30 Sep 2023 20:10 #281953 by GeramyL
working on a configuration inside a virtual machine, but for some reason with the card the f-error literally just climbs and climbs no matter what I do. my network card latency is 1ms +- 0.2ms and thread jitter is about the same as my other computer maybe a little worse, what i'm trying to do is figure out how all this effects the controlling of the card. I seem to have a stable f-error at 20mm/m haha weird, I am wondering if its the jitter or network card latency that is causing the f-error on my real machine and of course my virtual as well. Its a interesting test, ideas?

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

More
30 Sep 2023 23:26 #281958 by cncmiljc
Could you tell me why nve has this error, let's say I have no cable connected, I turn on the board and then connect the cable, the connection is confirmed but when I give the command to the axis, I have a joint error, but when I disconnect the board now with the cable connected and turned it on again, the error no longer occurred, that is, the error only occurred when I turned on the board before connecting the cable.

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

More
01 Oct 2023 05:49 #281966 by GeramyL

Could you tell me why nve has this error, let's say I have no cable connected, I turn on the board and then connect the cable, the connection is confirmed but when I give the command to the axis, I have a joint error, but when I disconnect the board now with the cable connected and turned it on again, the error no longer occurred, that is, the error only occurred when I turned on the board before connecting the cable.

Which cable are you connecting or not connecting?

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

More
01 Oct 2023 06:00 #281967 by GeramyL
So on my Hyper-V debian with RT Kernel and LinuxCNC I figured out if I change the latency to 2,000,000 instead and 500hz on the ec500 f-error stops raising like crazy and becomes very stable, this is using a usb realtek ethernet card too which has a latency of about .8ms to 1.2ms and 1.95ms occasionally. So next week i'm going to test this on my Dell Wyse 5060 setup and see if this cures my impossible to further tune f-error problem. I think it might as the dell wyse for some reason gets bad jitter and latency. The Hyper-V machine was able to get down to 0.03 f-error at 2000 scale P 10, and 1600mm/m movement, so I count that as progress in trying to find my problem.

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

Time to create page: 0.293 seconds
Powered by Kunena Forum