I really didn't want to use a parallel port for my CNC. Ethernet seemed like the best alternative and since I could not find a driver to communicate from LinuxCNC, I have decided to make my own.
For now, this will be a project using mostly off the shelf parts to make it easy to duplicate and for others to add to.
Not really an update but just thought I'd throw up a video of motor encoder counts being sent over ethernet.
Still stuck on the Linux part. Found out that the hardware that i have is not compatible with RT-Net unless I create a driver for it. So i have to find some other network card that uses a e1000 or r8168 driver for linux. Any ideas where i can get such an ethernet card?
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.
It would be nice if you could step a motor through ethercat, look forward to...