Remora - ethernet NVEM / EC300 / EC500 cnc board
- scotta
- Topic Author
- Offline
- Platinum Member
Less
More
- Posts: 881
- Thank you received: 462
29 Sep 2023 20:30 #281879
by scotta
Replied by scotta on topic Remora - ethernet NVEM / EC300 / EC500 cnc board
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 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.
- GeramyL
- Offline
- Senior Member
Less
More
- Posts: 71
- Thank you received: 6
30 Sep 2023 00:59 - 30 Sep 2023 01:05 #281895
by GeramyL
Replied by GeramyL on topic Remora - ethernet NVEM / EC300 / EC500 cnc board
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
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.
- scotta
- Topic Author
- Offline
- Platinum Member
Less
More
- Posts: 881
- Thank you received: 462
30 Sep 2023 01:07 #281896
by scotta
Replied by scotta on topic Remora - ethernet NVEM / EC300 / EC500 cnc board
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.
- GeramyL
- Offline
- Senior Member
Less
More
- Posts: 71
- Thank you received: 6
30 Sep 2023 01:13 #281897
by GeramyL
Replied by GeramyL on topic Remora - ethernet NVEM / EC300 / EC500 cnc board
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?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.
- scotta
- Topic Author
- Offline
- Platinum Member
Less
More
- Posts: 881
- Thank you received: 462
30 Sep 2023 01:22 #281898
by scotta
Replied by scotta on topic Remora - ethernet NVEM / EC300 / EC500 cnc board
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
github.com/scottalford75/Remora-NVEM/blo...-nv/remora-nv.c#L536
Please Log in or Create an account to join the conversation.
- GeramyL
- Offline
- Senior Member
Less
More
- Posts: 71
- Thank you received: 6
30 Sep 2023 04:16 #281906
by GeramyL
Replied by GeramyL on topic Remora - ethernet NVEM / EC300 / EC500 cnc board
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
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.
- GeramyL
- Offline
- Senior Member
Less
More
- Posts: 71
- Thank you received: 6
30 Sep 2023 20:10 #281953
by GeramyL
Replied by GeramyL on topic Remora - ethernet NVEM / EC300 / EC500 cnc board
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.
- cncmiljc
- Offline
- Junior Member
Less
More
- Posts: 31
- Thank you received: 0
30 Sep 2023 23:26 #281958
by cncmiljc
Replied by cncmiljc on topic Remora - ethernet NVEM / EC300 / EC500 cnc board
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.
- GeramyL
- Offline
- Senior Member
Less
More
- Posts: 71
- Thank you received: 6
01 Oct 2023 05:49 #281966
by GeramyL
Replied by GeramyL on topic Remora - ethernet NVEM / EC300 / EC500 cnc board
Which cable are you connecting or not connecting?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.
- GeramyL
- Offline
- Senior Member
Less
More
- Posts: 71
- Thank you received: 6
01 Oct 2023 06:00 #281967
by GeramyL
Replied by GeramyL on topic Remora - ethernet NVEM / EC300 / EC500 cnc board
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.212 seconds