Remora - ethernet NVEM / EC300 / EC500 cnc board

More
1 year 5 months ago #327804 by cakeslob
Pgain and ff1 and deadband are parts of the remora stepgen and used to tune motor control/feedback. feedback control has nothing to do with encoders or input from the motor. it is an internal math shit connected to the stepgen to tune motor position control like you would a servo.

regular stepgen and DMA stepgen have no difference in LinuxCNC. The same concept as inputs applies to the stepgen/dma stepgen. In the Config.txt you tell the MCU that pin P1_22 and P1_17 is step and direction of joint 0, which is remora.joint.0 which is connected to LinuxCNC joint.0

The DMA stepgen is a faster hardware based stepgen and requires dedicated hardware pins. LinuxCNC does not know if you are using DMA stepgen or regular stepgen and it does not care.

Looking at the EC500 DMA stepgen config, we can apply the same concept to the NVEM config.txt The config.txt for your specific board, and is just a way to tell the remora what pins do what. The default stepgen is regular stepgen because it is less to tune. If you want to change your stepgen to DMA stepgen, lets compare the config.txt DMA stepgen and apply it to the NVEM config.

 

If there are no hardware conflictions (there arent in this case) we can go about changing the stepgen to DMA stepgen. In this case the pins are the same for both boards. so replace your entire stepgen with the DMA stepgen and make sure the pins match the pins on your board
The following user(s) said Thank You: DarkPhoinix

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

More
1 year 5 months ago #327805 by cakeslob
 

here is a before and after

 


observe both configs. they are mostly the same, but some pins are different.
The following user(s) said Thank You: DarkPhoinix

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

More
1 year 5 months ago #327809 by cakeslob
Estop is the same way. With Estop, we are connecting a remora.input to LinuxCNC estop. Estop is a very subjective thing, and varies between setups. They can be complicated and require more hardware. Murphy has posted a simple example, and tux from a few pages back has posted a more detailed one.
Code:
# Murphy #This is my E-stop in my .hal file. #It's just a switch. Once the input is triggered it should work. net nvem-estop <= estop-latch.0.fault-in <= remora.input.14
Code:
#tuxcnc #External e-stop (fault) on EC500 input. loadrt estop_latch addf estop-latch.0 servo-thread net estop-loopout iocontrol.0.emc-enable-in <= estop-latch.0.ok-out net user-enable-out iocontrol.0.user-enable-out => remora.enable net estop-loopin remora.status => estop-latch.0.ok-in => estop-latch.0.reset net estop-reset iocontrol.0.user-request-enable => remora.reset net remote-estp estop-latch.0.fault-in <= remora.input.02.not

Notice how the inputs are different on each of their different estops, which makes no difference because we are connecting remora.input.whatever to linuxcnc estop.

Tuxcnc is more complicated, He is using LinuxCNC components (not remora) to configure the estop logic. it includes a latching component, I assume he has one of those red buttons. Im not as knowledgeable with all the estop logic, as I live dangerously. The estop loop is a function of LinuxCNC and you need to connect it to remora in a way that suits your setup.
The following user(s) said Thank You: DarkPhoinix

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

More
1 year 5 months ago #327811 by cakeslob
 

 
Code:
#spindle DAC 0-10 control loadrt scale count=1 addf scale.0 servo-thread setp scale.0.gain 0.004166 # the math is 100/spindle max RPM net spindle-speed-scale spindle.0.speed-out => scale.0.in net spindle-speed-abs scale.0.out => abs.0.in net spindle-speed-DAC abs.0.out => remora.SP.0
The following user(s) said Thank You: DarkPhoinix

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

More
1 year 5 months ago #327813 by cakeslob
alright now, any questions?

I started from scratch with the standard examples. I made some adjustments, and now Remora Input 4 is responding. However, this only happens when the emergency shutdown is disabled in the GUI. So, Remora probably only starts working after that.

that makes sense.
refer to tuxcnc example
Code:
#tuxcnc #External e-stop (fault) on EC500 input. loadrt estop_latch addf estop-latch.0 servo-thread net estop-loopout iocontrol.0.emc-enable-in <= estop-latch.0.ok-out net user-enable-out iocontrol.0.user-enable-out => remora.enable net estop-loopin remora.status => estop-latch.0.ok-in => estop-latch.0.reset net estop-reset iocontrol.0.user-request-enable => remora.reset net remote-estp estop-latch.0.fault-in <= remora.input.02.not

I havent tested it, but this looks like what you need to do. you need to modify the portion of your halfile that already references it

I have recreated the problem with the function generator. Now I am sure the problem lies in the configuration, or so I believe. For now, I would like to know which parameters I need to set to have the same parameters for frequency and pulse times in the hal and ini files (like pulse 1,000,000ns frequency 988Hz). Thank you again for your patience!

refer to the previous posts. replace the stepgen in your config.txt with the DMA stepgen. Make sure the step and direction pins are the NVEM one. The step time and space parts are what you need to configure. I dont know the units. start at 1 and 1 and go up from there.
The following user(s) said Thank You: DarkPhoinix

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

More
1 year 5 months ago #327830 by Spyderbreath
Replied by Spyderbreath on topic Remora - ethernet NVEM / EC300 / EC500 cnc board
Thank you cakeslob for these posts. I went back and read the Remona manual again from the start and I did discover something I didn't know before and that is the included estop stuff at the beginning of the sample .hal is a coms watchdog and testing it by unplugging the ethernet cable triggers the estop. Shiny, I can understand the function of that part. How or why, cluless, but what it does is clear.

But you asked if there were any questions, and yes there are.

I'll start with a single line from the tuxcnc example above.
Code:
net estop-loopout iocontrol.0.emc-enable-in <= estop-latch.0.ok-out

1. estop-loopout - where did that come from? Did a search "estop-loopout" site:https://linuxcnc.org/docs and got 0 returns, same with a search of the Remora doc site, 0 results.

2. estop-latch - this did return some results - linuxcnc.org/docs/html/man/man9/estop_latch.9.html but I do not see any connection there that would lead me to come up with those words being placed where they are in the example. How would one know to put that there?

3. <= and => - What do these mean? Do they denote the direction flow of data or signals, do they stand for less than and equal to and equal to and greater than or is it something else and why are they needed and what determines where they go? Is this explained somewhere?

To be truthful, maybe I should be looking for someone to hire that can do all this complex coding and programing for me as it seems far and beyond my ability with my learning handicap.

For the moment, I'll keep trying and hack away at it bit by bit. To much time invested to round file it all now, but please feel free to tell me to go pound sand when I become to much of a burden. I won't feel bad, happens all the time when I am confronted with this kind of complex programing.

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

Time to create page: 1.087 seconds
Powered by Kunena Forum