Progress is slow

A project log for CNC Ethernet driver

To create a Ethernet Driver for LinuxCNC

rstevenson23rstevenson23 02/11/2015 at 01:590 Comments

Slow and steady wins the race right? I'm for sure slow but steady? Not so much.

I am able to communicate between my linux laptop and the STM32F4Discovery board with a Waveshare DP83848 Ethernet board. The Ethernet board can be easily found on Ebay or Amazon for around $5-7ish.

My build will be mainly geared around servo control since I want to use servos instead of steppers but could easily be modified for stepper control. It would probably be easier with steppers since you wouldn't have to send position/velocity feedback back to the PC. Either way i hope to keep this easy enough to change between Steppers and Servos or a mix of both.

Okay, progress update. I am so far able to send to the PC X, Y, Z position from quadrature encoders. I currently only have one encoder but all three feedbacks work individually. I also am sending back X and Y axis end stop bits. The STM32F4 is receiving 3 integers for X,Y,Z duty cycle and one bit to turn the spindle on.

When I first started this i was wondering how fast I was going to get packets to and from the STM. Well, to answer that, I am averaging 93us for a send and receive. I have been getting spikes of up to 12ms but I believe thats because I am constantly sending and receiving. I am hoping that once is switch to real time networking and sending/receiving every 1ms, I wont get the spikes of 12ms.

My next steps are to install and fiddle around with RTNet and then integrate it into LinuxCNC. I am by no means a Linux expert so progress will be slow.