Remora - ethernet NVEM / EC300 / EC500 cnc board

More
02 Oct 2023 16:24 #282074 by manager12345
Hello everyone I have an NVUM V2 USB board and it is configured for Mach3. But there was a need to switch to Linux CNC. I wanted to find out from experts if I could flash such a board on Remora for LinuxCNC and whether such a system would work at all?
In order for you to understand more, a simulator \ simulator for training is going to be built, and you need to make an operator panel and the movement of the machine and the compilation of its G\M code will be shown on the screen itself. The board is needed in order to perform the basic functions of the CNC machine in the form of a simulator.
Tell me, please, will such a system work? And are there any solutions to make it work?

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

More
02 Oct 2023 17:05 - 02 Oct 2023 17:48 #282079 by chrstrvs
Hi!

Please forgive my noobness, but I need some guidance, and I really hope that you guys will be able to help me out.

I'm completely new to LinuxCNC and have pretty much no knowledge when it comes to Linux besides copy/pasting commands, making simple changes in menus and editing text files. I know it's a bit backwards to start my LinuxCNC journey by using the NVEM board with Remora. Ideally I should use a board made for LinuxCNC, but the NVEM is what I have, and I would like to not spend money and the earth's resources if I don't have to.

Now, I have been able to install Raspberry Pi OS Legacy to my Pi 4b 4 Gb, as well as installing LinuxCNC and Remora and flashing my NVEM with the Remora firmware. When I start LinuxCNC with the sim.axis configuration the simulation works fine, but displays the error message "unexpected realtime delay on task 0..." when I start with remora-nvem-basic, and as soon as I try to move an axis I get the error "joint [0-2] following error".
I have not yet connected anything to the NVEM, it's currently sitting on my desk connected to the Pi, if that makes any difference.

I work as a automation engineer, and have a lot of experience with miscellaneous automation systems, but LinuxCNC is just too much at once for me :)

Am I supposed to Pncconf wizard to create a configuration even though I have the remora-nvem-basic? Or should I make a configuration based on the remora-nvem-basic by copy/pasting it and making changes there based on my setup?

Apparently I've missed something, done something wrong, done something in the wrong order, and I'm hoping that you guys could find it in your hearts to help a beginner out :)
What I'm basically asking for is guidance on what to do next that is specific to Remora and NVEM.

Thanks in advance!

Regards,
Christian
Last edit: 02 Oct 2023 17:48 by chrstrvs.

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

More
02 Oct 2023 21:09 #282093 by scotta

Hello everyone I have an NVUM V2 USB board and it is configured for Mach3. But there was a need to switch to Linux CNC. I wanted to find out from experts if I could flash such a board on Remora for LinuxCNC and whether such a system would work at all?
In order for you to understand more, a simulator \ simulator for training is going to be built, and you need to make an operator panel and the movement of the machine and the compilation of its G\M code will be shown on the screen itself. The board is needed in order to perform the basic functions of the CNC machine in the form of a simulator.
Tell me, please, will such a system work? And are there any solutions to make it work?

Hi, the USB based boards are not supported by Remora or LinuxCNC as USB is not realtime capable. However for your application if only wanting to have a simulator, why not run LinuxCNC in sim mode. There are configurations already available.
The following user(s) said Thank You: manager12345

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

More
02 Oct 2023 21:29 #282094 by scotta

Hi!

Please forgive my noobness, but I need some guidance, and I really hope that you guys will be able to help me out.

I'm completely new to LinuxCNC and have pretty much no knowledge when it comes to Linux besides copy/pasting commands, making simple changes in menus and editing text files. I know it's a bit backwards to start my LinuxCNC journey by using the NVEM board with Remora. Ideally I should use a board made for LinuxCNC, but the NVEM is what I have, and I would like to not spend money and the earth's resources if I don't have to.

Now, I have been able to install Raspberry Pi OS Legacy to my Pi 4b 4 Gb, as well as installing LinuxCNC and Remora and flashing my NVEM with the Remora firmware. When I start LinuxCNC with the sim.axis configuration the simulation works fine, but displays the error message "unexpected realtime delay on task 0..." when I start with remora-nvem-basic, and as soon as I try to move an axis I get the error "joint [0-2] following error".
I have not yet connected anything to the NVEM, it's currently sitting on my desk connected to the Pi, if that makes any difference.

I work as a automation engineer, and have a lot of experience with miscellaneous automation systems, but LinuxCNC is just too much at once for me :)

Am I supposed to Pncconf wizard to create a configuration even though I have the remora-nvem-basic? Or should I make a configuration based on the remora-nvem-basic by copy/pasting it and making changes there based on my setup?

Apparently I've missed something, done something wrong, done something in the wrong order, and I'm hoping that you guys could find it in your hearts to help a beginner out :)
What I'm basically asking for is guidance on what to do next that is specific to Remora and NVEM.

Thanks in advance!

Regards,
Christian

Hi Christian, you've made good progress and on the learning curve with LinuxCNC. It does get easier and there is always help out there. So don't hesitate to ask.

It sounds like you are very close to be up and running. Which NVEM version are you running? STM32 or RT1052. The original NVEM repository is for the STM32 version. For RT1052 use the files in github.com/scottalford75/Remora-RT1052-cpp

1. Flash Remora firmware - done
2. Installed remora-nv LinuxCNC component - done, by the sounds as the example config starts
3. Checked communication with the board by pinging 10.10.10.10 - done, by the sounds as LinuxCNC has come out of e-stop?
4. Uploaded a configuration file to the controller board? python3 upload_config.py yourconfigfile.txt

The unexpected delay warning is normal, nothing to worry about.

When you get the following errors, do you get any movement beforehand?
The following user(s) said Thank You: chrstrvs

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

More
03 Oct 2023 00:21 #282107 by GeramyL
So I have calibrated so I nearly have 0 F-Error, every once in a while I'll get a huge peak at like 0.02 and then normally it sits at 0.0007. Besides that i'm working on your DMA before optimizations, and i'm still noticing some weird stuff on direction change, like it does half a step or something. Also after 2.54mm of movement i seem to be missing 0.0254mm or so. Not sure whats going on.

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

More
03 Oct 2023 00:47 - 03 Oct 2023 00:48 #282108 by rbobey1989
Hi Scott, in response to your comments above, line 197 in qdc.cpp is equivalent to your line 68 in qei.cpp, from what I understand you are delaying the index pulse, I don't have an encoder with index to test, yet I'm looking for it haha.

line 68 qei.cpp *(this->ptrEncoderCount) = this->qei->indexCount;
line 197.cpp *(this->ptrEncoderCount) = ENC_GetHoldRevolutionValue(this->base);

So you talk about the pins that can be routed to the quad timers and the digital fail filter that is programmable, I didn't dwell much on that because I first wanted to test the operation of the encoder using XBAR, but in the manual reference it says:
"Example: When f = 0, the filter is bypassed: DELAY = 1 or 2 clock cycles."
Example: when f = 5 and s = 2: DELAY = 5 * (2+3)FILT clock cycles + (1 or 2)IPBus clock cycles
I think this is very sufficient:
And of course we are, as we would say in "Cuba" """CACHARREROS"""""" that is, DIY lovers, so I imagine the signal conditioning will not be the best hehe, so I see the filter situation as very good , although it is true that we could increase the number of encoders with the quad timers, the only problem with this is that the input pins of the EC500 that are routed with XBAR are the ones I used, in the same way the QDC number 4 was left unused , in case we find more pins haha, in a previous post I published the input pins of the EC500 that can be routed XBAR reference manual page 306.
If you can explain to me well what you do on your line 68 of qei.cpp, please, I would appreciate it.
Last edit: 03 Oct 2023 00:48 by rbobey1989.

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

More
03 Oct 2023 01:06 #282109 by scotta
Hi, from my reading of the RT1052 manual, the Revolution counter is counting full turns; ie counting the number index pulses. I think we want to pass the hold count.

I've ordered an ABZ encoder to test. Will take some weeks to get here though...

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

More
03 Oct 2023 01:41 #282113 by rbobey1989
Yes, I am clear that the ENC_GetHoldRevolutionValue() function returns the index pulse count, I have been looking at qei.h qei.cpp of Mbed and it does not have any indexCount variable, I do not understand this, if it has logic that it returns during the result of the ENC_GetHoldPositionValue( function ), now what I don't understand is line 68 of your qei.cpp in remora OS5 and OS6, did you try this part before?

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

More
03 Oct 2023 04:37 #282119 by oficinerobotica
Hoping this can help anyone, here is my experience so far. I'm using the DMA branch. I managed to flash the board and upload a configuration to it and install both remora-eth and remora-nv linuxcnc components. I've installed them both because there are various example configurations in various branches. Some use one component, some use the other. 

Long story short, with LCNC out of estop, i kept getting folowing errors as soon as I tried to jog even at 3mm/min. After hours of banging my head I decided to do a full chip erase and a reflash of the board using pyocd.  I supose the full chip erase did something because i reflashed the ec500 before. And wow... no more following errors. Full speed ahead. The same pc and the same configuration.

Now I have created a simulated machine using stepconf just to be able to study the configuration files. Default 3 axis mill. On the simulated machine I get no real-time delay errors.
For the kiks of it I used that configuration loading the remora component in .hal instead of its own and I immediately get the dreaded real-time delay error. Now why is that? The delay is tied in some way to the remora  component? Pinging the board I get ~0.150ms response time. 

Can the delay be safely ignored in my main remora configuration?  I can get rid of it only when I set the servo-thread at 5000000. Anything below will bring it up as soon as I go out of estop. Should I set the servo-thread to 1000000 and just ignore the pop-up?

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

More
03 Oct 2023 05:10 #282120 by manager12345
Thank you for your reply! Would you like to clarify that such a simulation idea is suitable for my project? So that, for example, when the spindle is cooled, a light bulb lights up, what is happening?
 

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

Time to create page: 0.234 seconds
Powered by Kunena Forum