Remora - ethernet NVEM / EC300 / EC500 cnc board

More
20 Oct 2023 08:24 #283341 by frayja2002
Hi all

I have a machine that requires some faster step generation, so I was thinking to try out the RT-1052-cpp branch on my EC500, but I see that the latest firmware is remora-rt1052-1.1.0.bin which is about 3 months old.

I was wondering what the current state of this software branch is & if that is the best firmware to use.

I'm not particularly technical & we are now up to almost 130 pages of reading.
Would it be possible to get a quick summary of the state of affairs. (what works & whats still changing)

I know there was talk about faster clock speeds but I seem to have lost that in the woods.
What is the best way to get the higher speeds while avoiding the dreaded joint following error?

Thanks in advance.
Alex

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

More
21 Oct 2023 05:32 #283421 by GeramyL

Hi all

I have a machine that requires some faster step generation, so I was thinking to try out the RT-1052-cpp branch on my EC500, but I see that the latest firmware is remora-rt1052-1.1.0.bin which is about 3 months old.

I was wondering what the current state of this software branch is & if that is the best firmware to use.

I'm not particularly technical & we are now up to almost 130 pages of reading.
Would it be possible to get a quick summary of the state of affairs. (what works & whats still changing)

I know there was talk about faster clock speeds but I seem to have lost that in the woods.
What is the best way to get the higher speeds while avoiding the dreaded joint following error?

Thanks in advance.
Alex

You can use my configurations i sent the other day probably one or two pages ago those are for the dmastepgen and you have to change the branch from main to DMAStepgen and you can download a version 2 or 3 i think which will only be a few weeks old. It does have some funky directional flipping issues but it should still work generally, just make sure when you start it up you test all your axis move the correct direction by commanded like a 1mm move so you dont wreck anything and then your typically fine to run your program. We are working on it and maybe perhaps the issue doesnt exist for you and only with me.

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

More
21 Oct 2023 07:13 #283428 by oficinerobotica
@GeramyL The issue of steppers randomly changing direction exists for me also. I'm getting close to a working wiring and LCNC configuration so the quantity of info to be processed is a bit overwhelming for me and thought it might be something about my config.

In my case I have tandem Y axis. What I observed is that, in between restarts of LCNC when homing , the Y motors will sometimes spin in the same direction then randomly, restarting LCNC will spin in opposite direction. This is whibought power cycling the board. Using the latest binary DMA firmware.

I also have some perplexities about the I/O pin numbering. But for that I'll get back with a video. For me it seems that one can make no assumption about order of pins or number between what is physically  written on the case of the board and how hal pins are ordered or named as displayed on the pc. Using hal_meter and a bit of trial and error one can get around that. Perhaps I need a correct EC500_DMA_config.txt ?

And lastly, what i found really odd was this behaviour:
I used the first 4 stepper slots on the EC500 to wire the 4 motor drivers. Joint0 => slot 1| Joint1 => slot2 | Joint2 => slot3 | Joint3 => slot4
The output pins for the various joints are setted in the EC500_DMA_config.txt so if I want to output, for example,  Joint3 to slot6 that should never change.

Instead if I change the configuration of the machine in the .ini file from XYZ to XYYZ output slots WILL change. Output of a Joint will jump to another slot on the board. That should not be possible. Or am I missing something?

P.S. I can't thank you enough guys for the work on this board :)

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

More
21 Oct 2023 07:39 #283431 by oficinerobotica
About theese entries in the config.txt . Where can I learn how to tune them? Is there a process to it?

"Step Length": 4,
"Step Space": 4,
"Dir Setup": 15

My motors are still not attached to the mill but they seemed allot smoother when attached to a mesa card. Now they make a totally different sound when they move. Perhaps I only need to tune those parameters right. Again, it's easier for me to be wrong than right so some advice is welcomed.

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

More
21 Oct 2023 08:32 #283432 by cakeslob
The following user(s) said Thank You: oficinerobotica

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

More
21 Oct 2023 18:24 - 21 Oct 2023 18:26 #283452 by rbobey1989
Hello everyone here, I've been a bit complicated this week, but after some more good ideas from Scott and a few hours of development I have solved the problem of having two Index pins on the same interrupt vector, I have done some tests and it looks good, I leave you my repository for whoever is interested in the topic, greetings
Last edit: 21 Oct 2023 18:26 by rbobey1989.
The following user(s) said Thank You: scotta

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

More
21 Oct 2023 20:53 #283456 by scotta

@GeramyL The issue of steppers randomly changing direction exists for me also. I'm getting close to a working wiring and LCNC configuration so the quantity of info to be processed is a bit overwhelming for me and thought it might be something about my config.

In my case I have tandem Y axis. What I observed is that, in between restarts of LCNC when homing , the Y motors will sometimes spin in the same direction then randomly, restarting LCNC will spin in opposite direction. This is whibought power cycling the board. Using the latest binary DMA firmware.

I also have some perplexities about the I/O pin numbering. But for that I'll get back with a video. For me it seems that one can make no assumption about order of pins or number between what is physically  written on the case of the board and how hal pins are ordered or named as displayed on the pc. Using hal_meter and a bit of trial and error one can get around that. Perhaps I need a correct EC500_DMA_config.txt ?

And lastly, what i found really odd was this behaviour:
I used the first 4 stepper slots on the EC500 to wire the 4 motor drivers. Joint0 => slot 1| Joint1 => slot2 | Joint2 => slot3 | Joint3 => slot4
The output pins for the various joints are setted in the EC500_DMA_config.txt so if I want to output, for example,  Joint3 to slot6 that should never change.

Instead if I change the configuration of the machine in the .ini file from XYZ to XYYZ output slots WILL change. Output of a Joint will jump to another slot on the board. That should not be possible. Or am I missing something?

P.S. I can't thank you enough guys for the work on this board :)

The DMA stepgen branch is still Beta and under development and bug fixes. So as GeremyL says, test, test and test. The DMA stepgen uses a Toggle register to drive the outputs. So please share scenarios where things don't work as expected as we need to get the outputs into known conditions before kicking the DMA back into action.

Regarding the IO mapping. The config files have the mapping. eg: 
"Thread": "Servo",
    "Type": "Digital Pin",
        "Comment":            "IN05",
        "Pin":                "P3_18",
        "Mode":                "Input",
        "Data Bit":            8,
        "Invert":            "False"

Physical input IN05 (pin GPIO3_18) mapped to Remora input (data bit) 8. You can change his mapping however you like.

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

More
23 Oct 2023 01:33 #283557 by frayja2002
Hi there

I have flashed my EC500 with remora-rt1052-2.1.0-beta.bin & uploaded the config file as listed below ( I have just added the i/o & inverted the inputs as they were back to front compared to my original setup.)
Attached is my setup.

However I am not seeing any speed difference compared to the non cpp branch...
Everything works as expected. The machine moves & homes and I can jog.

When I increase the speed above 4200 mm/min (70 mm/s) I get joint following errors.
I have measured the amount of travel & the axis seems to be moving the correct distance it is just extremely slow.

Is there a way for me to increase the speed of travel without getting errors? Is there some extra parameter I should be using for DMA?
How do I know when I have reached the max speed of the EC500 (or software) ?

Thanks
Alex
Attachments:

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

More
23 Oct 2023 01:59 #283562 by scotta
Something not right by the looks as that speed is only 38.5khz. So it looks like it's not using the DMA stepgen. Did the file upload correctly?

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

More
23 Oct 2023 03:34 #283565 by GeramyL

About theese entries in the config.txt . Where can I learn how to tune them? Is there a process to it?

"Step Length": 4,
"Step Space": 4,
"Dir Setup": 15

My motors are still not attached to the mill but they seemed allot smoother when attached to a mesa card. Now they make a totally different sound when they move. Perhaps I only need to tune those parameters right. Again, it's easier for me to be wrong than right so some advice is welcomed.

you need to find the stepper manual and figure out your stepper drivers khz frequency maximum for the pulses and the setup time required for dir changes. Mine are 200khz, I have my board at 500khz, I think to me atleast I needed about 2 to have no skipped steps but i put it at 4 to give me a little extra inbetween the pauses just incase the timer is a little faster or slower. most drivers are 100 to 200khz for steppers which means you will use probably 3 or 4 to 7 or 8. Dir setup probably can be less but for me my dir setup time is about 6um and my pulse hold and space is 2um so to me a dir setup of about 10 to 12 would be the correct number. But as I was having directional change issues i added some extra pause. each number is essentially a timing slot on the buffer that it skips. so if its dma is operating at 500khz each buffer item takes 2um to read and cause a change. but i believe scott actually has it at 1mhz and so really its 1mhz not 500khz, only the planner is at 500khz. anyways 1mhz in microseconds is 1um and thus why i have 4.
The following user(s) said Thank You: oficinerobotica

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

Time to create page: 0.410 seconds
Powered by Kunena Forum