Remora - ethernet NVEM / EC300 / EC500 cnc board
- Spyderbreath
-
- Offline
- Junior Member
-
Less
More
- Posts: 21
- Thank you received: 1
05 May 2025 23:08 #327799
by Spyderbreath
Replied by Spyderbreath on topic Remora - ethernet NVEM / EC300 / EC500 cnc board
"why you take some files from this path?"
If that question was asked of me, it took me a few to figure out what you might of been referring to. If it was this post here - www.forum.linuxcnc.org/18-computer/44828...rd?start=2180#327765 - then that is my fault completly as I was at the wrong place when I copied the link. My bad. Just went back and edited it. Looks like the difference is in the DMA version there is an additional line in the motor config -
setp remora.joint.1.pgain [JOINT_1]PGAIN
- that is not in the basic and not what I am currently using. I believe you said it, it's confusing, and yes, it would seam I have fallen head first into that confusion.
Bad Spyderbreath for adding more mess to the pile.
If that question was asked of me, it took me a few to figure out what you might of been referring to. If it was this post here - www.forum.linuxcnc.org/18-computer/44828...rd?start=2180#327765 - then that is my fault completly as I was at the wrong place when I copied the link. My bad. Just went back and edited it. Looks like the difference is in the DMA version there is an additional line in the motor config -
setp remora.joint.1.pgain [JOINT_1]PGAIN
- that is not in the basic and not what I am currently using. I believe you said it, it's confusing, and yes, it would seam I have fallen head first into that confusion.
Bad Spyderbreath for adding more mess to the pile.
Please Log in or Create an account to join the conversation.
- cakeslob
- Offline
- Platinum Member
-
Less
More
- Posts: 882
- Thank you received: 254
05 May 2025 23:42 #327803
by cakeslob
The config.txt file tells the MCU which pin is going to do what. so Pin P4_20, the imxrt1052 MCU pin, is assigned the title of remora input 06 . when pin P4_20 is triggered, the MCU tells remora that remora.input.06 is triggered.
Not to confuse things and its hardware restrictive, but you can make "remora input 06" to be whatever pin you want it to be, it doesnt matter what pin is input 5 or 6, but it has to match up.
The remora.hal file connects remora pin remora.input.06 to LinuxCNC pin joint.0.home-sw-in (this is the x home switch) So when pin P4_21 is triggers, it tells remora that remora.input.06 is triggers, which triggers LinuxCNC joint.0.home is triggered (x axis homing pin)
the remora.hal and LinuxCNC do not know if you have an NVEM or an EC300 they do not need to know and they do not care.
Replied by cakeslob on topic Remora - ethernet NVEM / EC300 / EC500 cnc board
The config.txt file tells the MCU which pin is going to do what. so Pin P4_20, the imxrt1052 MCU pin, is assigned the title of remora input 06 . when pin P4_20 is triggered, the MCU tells remora that remora.input.06 is triggered.
Not to confuse things and its hardware restrictive, but you can make "remora input 06" to be whatever pin you want it to be, it doesnt matter what pin is input 5 or 6, but it has to match up.
The remora.hal file connects remora pin remora.input.06 to LinuxCNC pin joint.0.home-sw-in (this is the x home switch) So when pin P4_21 is triggers, it tells remora that remora.input.06 is triggers, which triggers LinuxCNC joint.0.home is triggered (x axis homing pin)
the remora.hal and LinuxCNC do not know if you have an NVEM or an EC300 they do not need to know and they do not care.
Attachments:
Please Log in or Create an account to join the conversation.
- cakeslob
- Offline
- Platinum Member
-
Less
More
- Posts: 882
- Thank you received: 254
06 May 2025 00:02 #327804
by cakeslob
Replied by cakeslob on topic Remora - ethernet NVEM / EC300 / EC500 cnc board
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
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
Attachments:
Please Log in or Create an account to join the conversation.
- cakeslob
- Offline
- Platinum Member
-
Less
More
- Posts: 882
- Thank you received: 254
06 May 2025 00:09 #327805
by cakeslob
Replied by cakeslob on topic Remora - ethernet NVEM / EC300 / EC500 cnc board
Attachments:
Please Log in or Create an account to join the conversation.
- cakeslob
- Offline
- Platinum Member
-
Less
More
- Posts: 882
- Thank you received: 254
06 May 2025 00:24 #327809
by cakeslob
Replied by cakeslob on topic Remora - ethernet NVEM / EC300 / EC500 cnc board
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.
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.
# 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
#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.
Please Log in or Create an account to join the conversation.
- cakeslob
- Offline
- Platinum Member
-
Less
More
- Posts: 882
- Thank you received: 254
06 May 2025 00:33 #327811
by cakeslob
Replied by cakeslob on topic Remora - ethernet NVEM / EC300 / EC500 cnc board
Attachments:
Please Log in or Create an account to join the conversation.
- cakeslob
- Offline
- Platinum Member
-
Less
More
- Posts: 882
- Thank you received: 254
06 May 2025 01:27 #327813
by cakeslob
Replied by cakeslob on topic Remora - ethernet NVEM / EC300 / EC500 cnc board
alright now, any questions?
that makes sense.
refer to tuxcnc example
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
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.
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
#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.
Please Log in or Create an account to join the conversation.
- Spyderbreath
-
- Offline
- Junior Member
-
Less
More
- Posts: 21
- Thank you received: 1
06 May 2025 06:12 #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.
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.
But you asked if there were any questions, and yes there are.
I'll start with a single line from the tuxcnc example above.
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.
- Spyderbreath
-
- Offline
- Junior Member
-
Less
More
- Posts: 21
- Thank you received: 1
06 May 2025 06:52 - 06 May 2025 07:17 #327832
by Spyderbreath
Replied by Spyderbreath on topic Remora - ethernet NVEM / EC300 / EC500 cnc board
I tried to enter the estop from tuxcnc above and got this error.
I attached my hal and ini files. Does this mean I can only have the watchdog or the estop latch but not both?
*Edit*
I have just tried the estop latch with the tuxcnc code with the watchdog commented out and after fixing the typo in the last line where it starts out - net remote-estp ... - it is missing the o in estop. That error is in the attached hal, didn't catch it befor attaching. It works, exactly one time, by opening the circuit and thats all she wrote. reconnecting the circuit and can not reset the estop and power back on the machine without closing down and restarting the gui.
Note: Using POSIX realtime
./remora-ec500.hal:60: Pin 'iocontrol.0.emc-enable-in' was already linked to signal 'remora-status'
3295
Stopping realtime threads
Unloading hal components
Note: Using POSIX realtime
I attached my hal and ini files. Does this mean I can only have the watchdog or the estop latch but not both?
*Edit*
I have just tried the estop latch with the tuxcnc code with the watchdog commented out and after fixing the typo in the last line where it starts out - net remote-estp ... - it is missing the o in estop. That error is in the attached hal, didn't catch it befor attaching. It works, exactly one time, by opening the circuit and thats all she wrote. reconnecting the circuit and can not reset the estop and power back on the machine without closing down and restarting the gui.
Last edit: 06 May 2025 07:17 by Spyderbreath. Reason: typo and additional info.
Please Log in or Create an account to join the conversation.
Time to create page: 0.348 seconds