Remora - ethernet NVEM / EC300 / EC500 cnc board

More
05 Aug 2023 21:59 #277062 by scotta

I really think I should take down the stuff relating to the DAPlink. It's causing more issues then it solved.

CMSIS-DAP has been the most successful but converting an ST-Link is a pain.

There is a solution, a PicoProbe! Just tested and works out of the box with pyOCD.

pyocd remora-rt1052-1.0.0.bin --target mimxrt1050_quadspi

 
Brand new to LinuxCNC. Couldn't find any Mesa controller in stock and bumped into Scott's YouTube videos. Ordered an EC300, which arrived today. I didn't have any ST-Link but had a few RPI Pico boards so I gave it a try. Worked first time. Now I have a long and steep learning curve ahead on how to configure it all :P
~/Downloads ❯ pyocd flash ./remora-rt1052-1.1.0.bin --target mimxrt1050_quadspi 0000751 I Loading /xxx/xxx/Downloads/remora-rt1052-1.1.0.bin [load_cmd] 100% 0008795 I Erased 0 bytes (0 sectors), programmed 0 bytes (0 pages), skipped 321536 bytes (1256 pages) at 39.07 kB/s [loader]


 [attachment=54853]IMG_1386.jpeg[/attachment] [attachment=54851]IMG_1387.jpeg[/attachment] [attachment=54852]IMG_1388.jpeg[/attachment]

 

Thanks for sharing, and yes the Pico is a super easy way. I've use my Pico Probe and received a Pico last week with the intent to do a YouTube video to demonstrate how to set it up and flash the board.

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

More
05 Aug 2023 22:07 #277063 by Dogmaphobic

Thanks for sharing, and yes the Pico is a super easy way. I've use my Pico Probe and received a Pico last week with the intent to do a YouTube video to demonstrate how to set it up and flash the board.

Yeah, that was the easy part. I can the ping the board fine but whenever I jog any axis, I get an error (can't remember the exact error right now and I'm not in front of it). I've ordered an RS232-USB cable so I can see the board's output. It takes at least a week to get anything here so it's in the back burner.

Thanks a bunch for all the work!
 

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

More
06 Aug 2023 11:05 #277103 by raf1110
Hi
Where this part of code needs adding:#spindle DAC 0-10 control
loadrt scale count=1
addf scale.0 servo-thread
setp scale.0.gain 1 #this will make m3 s1000 give 100% output and m3 s100 10%
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.3

Do I need to upload config.txt with python_upload to made changes if .ini file changes?

After uploading default congfig.txt I had no responses from E-stop but I can move axis within soft limits. Seems inputs are not sensing.
I have noticed also my board V5 have COM instaead of 12V comparing to V2. Would this mean I need invert all pins?
 

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

More
07 Aug 2023 16:56 - 08 Aug 2023 07:01 #277254 by Eugene64
Hello, please help me configure hal and ini for the 2hss86 engine drivers using the standard remora settings does not work. Please, if there is, publish such a hal file.
Last edit: 08 Aug 2023 07:01 by Eugene64.

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

More
09 Aug 2023 00:28 #277384 by scotta

Hello, please help me configure hal and ini for the 2hss86 engine drivers using the standard remora settings does not work. Please, if there is, publish such a hal file.

Possible to have some further details of the issue(s)? 

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

More
09 Aug 2023 10:55 #277421 by Eugene64
When sending a command, the motor moves more than the set value, then returns to this value what settings are needed to turn the motor to the values I need, here are my ini settings - 

[EMC]
MACHINE = Remora-NVEM
DEBUG = 0
VERSION = 1.1

[DISPLAY]
DISPLAY = axis
CYCLE_TIME = 0.100
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
ARCDIVISION = 64
MAX_FEED_OVERRIDE = 10
MAX_SPINDLE_OVERRIDE = 1.0
DEFAULT_LINEAR_VELOCITY = 50.00
MIN_LINEAR_VELOCITY = 0
MAX_LINEAR_VELOCITY = 125.00
DEFAULT_ANGULAR_VELOCITY = 36.00
MIN_ANGULAR_VELOCITY = 0
MAX_ANGULAR_VELOCITY = 45.00
PROGRAM_PREFIX = ~/linuxcnc/nc_files
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
INCREMENTS = 50mm 10mm 5mm 1mm .5mm .1mm .05mm .01mm

[KINS]
JOINTS = 3
#KINEMATICS =trivkins coordinates=XYZ kinstype=BOTH
# kinstype=BOTH means that the machine can move in joint mode and world mode
# not good for gantrys or double z axes.
KINEMATICS =trivkins coordinates=XYZ

[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python

[TASK]
TASK = milltask
CYCLE_TIME = 0.010

[RS274NGC]
PARAMETER_FILE = linuxcnc.var
SUBROUTINE_PATH = ~/linuxcnc/subroutines
USER_M_PATH = ~/linuxcnc/m_codes

[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
BASE_PERIOD = 0
SERVO_PERIOD = 1000000

[HAL]
HALFILE = remora-nvem.hal
# remove comment from next line to enable the NVEM NVMPG
#HALFILE = remora-nvem-mpg.hal
POSTGUI_HALFILE = postgui_call_list.hal
HALUI = halui

[TRAJ]
COORDINATES =  X Y Z
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_LINEAR_VELOCITY = 100.00
MAX_LINEAR_VELOCITY = 200.00
NO_FORCE_HOMING = 1 

[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl

[AXIS_X]
MAX_VELOCITY = 175
MAX_ACCELERATION = 2000.0
MIN_LIMIT = -25.0
MAX_LIMIT = 300.0

[JOINT_0]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -25.0
MAX_LIMIT = 300.0
MAX_VELOCITY = 175.0
MAX_ACCELERATION = 2000.0
STEPGEN_MAXACCEL = 2200.0
SCALE = 160.0
FERROR = 1.0
MIN_FERROR = 0.5
#HOME_SEARCH_VEL = -10.0
#HOME_LATCH_VEL = -3.0
#HOME_FINAL_VEL = 20
#HOME_IGNORE_LIMITS = YES
#HOME_USE_INDEX = NO
#HOME_OFFSET = -25.0
#HOME = 0.0
#HOME_SEQUENCE = 1 
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 0
HOME_LATCH_VEL = 0
HOME_SEQUENCE = 0

[AXIS_Y]
MAX_VELOCITY = 175.0
MAX_ACCELERATION = 2000.0
MIN_LIMIT = -0.01
MAX_LIMIT = 300.0

[JOINT_1]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -5.0
MAX_LIMIT = 300.0
MAX_VELOCITY = 175.0
MAX_ACCELERATION = 2000.0
STEPGEN_MAXACCEL = 2200.0
SCALE = 160.0
FERROR = 1.0
MIN_FERROR = 0.5
#HOME_SEARCH_VEL = -10.0
#HOME_LATCH_VEL = -3.0
#HOME_FINAL_VEL = 20
#HOME_IGNORE_LIMITS = YES
#HOME_USE_INDEX = NO
#HOME_OFFSET = -20.0
#HOME = -10.0
#OME_SEQUENCE = 2
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 0
HOME_LATCH_VEL = 0
HOME_SEQUENCE = 0

[AXIS_Z]
MAX_VELOCITY = 175.0
MAX_ACCELERATION = 2000.0
MIN_LIMIT = -10
MAX_LIMIT = 280

[JOINT_2]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -10
MAX_LIMIT = 280
MAX_VELOCITY = 175.0
MAX_ACCELERATION = 2000.0
STEPGEN_MAXACCEL = 2200.0
SCALE = 160.0
FERROR = 1.0
MIN_FERROR = 0.5
#HOME_SEARCH_VEL = -10.0
#HOME_LATCH_VEL = -3.0
#HOME_FINAL_VEL = 20
#HOME_IGNORE_LIMITS = YES
#HOME_USE_INDEX = NO
#HOME_OFFSET = -20.0
#HOME = -10.0
#OME_SEQUENCE = 3
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 0
HOME_LATCH_VEL = 0
HOME_SEQUENCE = 0

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

More
10 Aug 2023 09:40 - 10 Aug 2023 09:46 #277519 by damancuso
Hi Scott,
First I'd like to thank you for your huge work, I've just discovered and I think it's great!
I may be a bit late to the flashing party, and I'm not sure if you or someone already did it, but I've managed to flash the RT1052 NVEM, I'm going to try soon with the EC500 with J-Link. So for people that already use J-Link this may be an easier path than converting other probes to DAPLink:

I'm using J-Link EDU with the latest FW at the time of writing (SEGGER J-Link Commander V7.90).
1) J-Link uses the target VCC rail to drive the level translators for the IOs, to I'm using the last pin on the connector to connect to VRef, which happens to go to 3.3V when you press the button to put the board into flashing mode.
2) jlinkexe  -device 'MIMXRT1052XXXXB?BankAddr=0x60000000&Loader=QSPI’
3) J-Link>exec EnableEraseAllFlashBanks
4) J-Link>LoadFile remora-rt1052-EC300-020.bin, 0x60000000

It seems that SEGGER added the flash loader algo but the documentation is a bit hidden ( wiki.segger.com/J-Link_Multiple_Flashloa...mmand_line_parameter  and   wiki.segger.com/i.MXRT1050)
Next steps will be to try it on the EC500 and set everything for my machine. Some pictures here below. I've designed this vertical mill from scratch, with zero knowledge of machining or machine design (I have an Electronics background not mechanics),  but so far it's working great and I've been struggling with Mach3 for a few months (a piece of buggy old shht) so I've finally decided to get into LinuxCNC.
By the way, if anyone is interesting on building something similar, I could share the design files and some experience, just let me know.

Cheers!


    ​​​​​​​  ​​​​​​​
 
Attachments:
Last edit: 10 Aug 2023 09:46 by damancuso.
The following user(s) said Thank You: tommylight

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

More
10 Aug 2023 21:43 #277572 by scotta
Thanks for the details of the J-Link flashing method. This would be a good addition to the documentation when I finally get to updating it.

Nice mill BTW, would love that in my shed!
The following user(s) said Thank You: damancuso

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

More
14 Aug 2023 13:23 #277953 by Eugene64
Why does my servo motor continue to move beyond the desired coordinate and then return to the desired coordinate in a pendulum-like motion before stopping? On the LinuxCNC display, the toolhead has reached the desired coordinate, but the servo motor continues to undergo pendulum-like motion. The motor used is an 86HSE156-12N-BC38 with an encoder, connected to a 2HSS86 driver, which is then connected to an nvem v2 controller running the Remora firmware, downloaded from this link:  github.com/scottalford75/Remora-NVEM/tre...-NVEM-STM32/Firmware . For LinuxCNC, I used the components downloaded from this link:  github.com/scottalford75/Remora/tree/fea...omponents/Remora-eth . The basic configuration settings are based on this link:  github.com/scottalford75/Remora/tree/fea...es/remora-nvem-basic . What settings and configurations can I use to ensure that my servo motor stops at the desired coordinate without pendulum-like motion? Thank you in advance for your help. The first video demonstrates the motion of the servo motor, while the second video and photos show my bandsaw machine, which I have decided to operate using LinuxCNC. drive.google.com/file/d/1jJDNG6hYWBoRETlz9izDYw1h9rfm58Wx/view     drive.google.com/file/d/1jM1X9l3MrauTQSL...gvX_5EcQu/view?pli=1

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

More
14 Aug 2023 13:46 - 15 Aug 2023 01:02 #277956 by cakeslob
Hey, I cant watch the video right now but I will go out on a limb here

github.com/cakeslob/Remora/blob/nucleo_s...c/remora-xyz.hal#L33

github.com/cakeslob/Remora/blob/nucleo_s...c/remora-xyz.ini#L96

the 3 lines about gain and deadband, add them to your ini/hal file for each joint. you may need to adjust the values


edit, holy shit that overshoots by a lot, but try that thing I said

that machine looks awesome btw
Last edit: 15 Aug 2023 01:02 by cakeslob.

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

Time to create page: 0.377 seconds
Powered by Kunena Forum