Remora - ethernet NVEM / EC300 / EC500 cnc board

More
25 Jul 2022 10:15 #248236 by mehdidadash
Is it possible to use ec500 for 5 axis simultaneously cnc ?
WIth ads-a3 delta servos which support rs485 and can open

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

More
25 Jul 2022 12:34 #248252 by kwarup
Thank you, I could get my NOVUSUM-NVEM working at 80khz , but not more than that.
we are waiting anxiously for the new firmware with DMA..

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

More
29 Jul 2022 06:53 #248604 by scotta

NVEM developers made a hardware planning mistake, so we can't output pulses directly using STM's timers. But yea, we can use timers + DMA to write data to the GPIO BSRR registers. One problem here - we can use only timer 1 and 8 to do the trick because only those timers has a transfer requests for the DMA2 controller. DMA1 controller has no access to the GPIO BSRR registers. So after a first look we have just 2 stepdir channels for the high speed pulses generation. After second look I found out that we can use timer 1 and 8 for the other stepdir channels too. To do that we must use other timers to generate softly (inside IRQ handler) unused DMA transfer requests for the timer 1 and 8. As a pulses counter we using DMA transfer counter.

And now we got two methods:
FAST (timer1,8 -> DMA2 request -> DMA2 stream -> GPIO BSRR) - up to 1 MHz of pulses;
SLOW (timer3,4,6,7 -> IRQ handler -> DMA2 request -> DMA2 stream -> GPIO BSRR) - up to 400 KHz of pulses.

I can't show the sources because I'm using some parts of the code for the business. But this short description will help to understand the tricks.

MX_master, thanks for the inspiration! Some success but lots of work still to do. I'm sure I can have fixed 500kHz pulses on all axes... :-) Currently on 500kHz on 4 axes with 250khz on the last two but this is due to some timer cascading I need to sort out.

I only chose 500kHz as this is the name plate rate for the EC500, max step rate will really come down to the time needed to calculate the step pattern buffers.

My implementation will also have a DDS step generator for each axis and all going well step length and direction setup and hold parameters. But I will test without to start.
The following user(s) said Thank You: MX_Master, kwarup

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

More
29 Jul 2022 06:57 #248605 by scotta
And this is achieved with only 2 timers for the 12 outputs across the two GPIO ports.. may need a third time to solve the slow output on Port A.
The following user(s) said Thank You: kwarup

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

More
29 Jul 2022 12:10 #248614 by Aaroncnc
Will this be able to be brought to the 3d printer boards?
Or is this unique to these boards?

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

More
29 Jul 2022 21:07 #248652 by scotta
Just had a quick look at some of the 3d printer board pin outs and as I feared they spread the step and direction pin across more than 2 GPIO ports. If I can figure out how to have multiple DMA requests from one timer then maybe.

The testing I've been doing is with the two timers that have access to DMA2 which can access the GPIO BSRR registers.
The following user(s) said Thank You: tommylight, kwarup

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

More
30 Jul 2022 00:48 #248658 by scotta
Ok, some more playing this morning and I now have TIMER 1 being able to drive DMA transfers to 4 GPIO ports at 500kHz. That's a lot of outputs being able to be toggled simultaneously!

This should be sufficient for most boards, but the Octopus has step and direction pins across 6 GPIO ports.

I'm going to look at having TIMER 1 and TIMER 8 as slaves to TIMER 2 to enable the 6 DMA streams needed.
The following user(s) said Thank You: kwarup

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

More
30 Jul 2022 03:08 #248659 by scotta

This is great work. Currently doing a Denford mill retrofit with parallel cards. I also have an emco little CNC waiting to get converted. Is it possible to get these to work with encoder inputs? Ie a toolchanger?.

I'll also add Encode and QEI features to the list.

NVEM has two available QEI interfaces available for high speed counting on FHA + FHB and INP7 + INP8.

EC500 has three available QEI interfaces available for high speed counting on IN5 + IN6, IN9 + IN10 and IN12 + IN13. One of these is on TIMER1 so I'll setup the DMA step generation on TIMER8.

For a tool changer software encoder support should be more than adequate.
The following user(s) said Thank You: kwarup, xu, Murphy

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

More
30 Jul 2022 07:26 #248662 by stefan63
This thread is showing off some great work however some questions pops up don't get this wrong I have no intention to offend your brilliant work I just wonder.

1. Is the NVEM controllers cheap enough to compete with MESA
2. Can the NVEM hardware do anything better than the competition?
3. Could this be done with cheaper with a D.I.Y ESP32 board?

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

More
30 Jul 2022 07:38 #248663 by scotta
Remora has always been about using existing hardware and making it usable with LinuxCNC. I can't comment re MESA as I've never used their boards.

One issue I do see with the ESP32 boards is the limited IO. DIY... time vs $. I've normally gone time over $ as I like to learn and engineer new solutions. If time poor then spend $ maybe?
The following user(s) said Thank You: kwarup

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

Time to create page: 0.335 seconds
Powered by Kunena Forum