Hi,

please excuse me for just starting a topic while being new on the list.

I have recently got some use for a cnc milling machine to make some toys
for my new-born daughter (always a good reason :-)

I have thus taken a look at existing solutions and obviously found the emc
project which perfectly fits that fact that i run linux on all my machines. 
But there's something that's "uncomformatable": emc requires a real time 
kernel and doesn't just run on my standard desktops. I do understand that 
this is due to the fact that generating proper motor timing requires the 
response times only a real time kernel can give, But for me a different 
solution exists: As you can see from some of my projects 
(http://www.harbaum.org/till/lcd2usb http://www.harbaum.org/till/i2c_tiny_usb
http://www.harbaum.org/till/xu1541) you can see that i am quite successful in 
converting existing printer port solutions into usb ones. The projects above
all have formerly used the printer ports just like most of the home cnc 
machines seem to do. 

What i'd now like to do is: Build a simple yet powerful USB to something 
converter that removes the need to use the printer port and more important 
avoid the need for a real time kernel. What i have in mind is a very simple 
device:

Let's for simplicity reasons assume that we can run the machines in question 
at a constant signal rate. This means that the clock signals like e.g. 
required for the sc800 are updated at a maximum fixed rate. Lets assume this
max rate is e.g. 50khz and we want to drive four motors with a direction and 
clock signal each resulting in 8 bits to be sent at once. We thus have to 
generate and forward 50kbytes per second. This is roughly 500kbit/s incl.
control bits which are to be fed into the controller pcb at a constant rate. I 
can easily build a simple use device that inputs data via high speed usb (480 
MBit/s), buffers it and forwards it byte per byte into the controller. If the 
interface has e.g. 8 kbytes buffer the PC has thus only to make sure it 
refills the interfaces buffer at least every 125ms. More buffer means even 
lower timing requirements. From the PCs point of view it would just try to 
write the data via usb as fast as possible. Once the device internal buffers 
are full the transfers are automaticall throttled and e.g. usb_write commands 
will block.

As i said: I can build something like this, but i am not sure if emc can be 
converted to support this without requiring a real time kernel. Is this 
possible and are you interested?

I would of course still need "example hardware" myself. I am thinking about 
e.g. a modified proxxon mf70 with the sc800 controller board.

What do you think?

Till

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to