another cnc mill questionaire

thank you for your kind answers. for the limiting switches i will use something like these: http://www.google.at/imgres?imgurl=http://www.fischertechnik-fans.de/Images/Tasterinnen.jpg&imgrefurl=http://www.fischertechnik-fans.de/html/Tipps/alternativeteile.php&usg=__cn9bRSjqhrJVgUHl2R2FSplJQJU=&h=589&w=784&sz=73&hl=de&start=0&zoom=1&tbnid=B9XA--RLwVLjNM:&tbnh=113&tbnw=151&prev=/images%3Fq%3Dfischertechnik%2Btaster%26um%3D1%26hl%3Dde%26rlz%3D1C1AVSW_enAT376AT376%26biw%3D1024%26bih%3D513%26tbs%3Disch:1&um=1&itbs=1&iact=hc&vpx=414&vpy=80&dur=432&hovh=195&hovw=259&tx=87&ty=73&ei=kKIlTa3AAYSeOsvd0e0I&oei=kKIlTa3AAYSeOsvd0e0I&esq=1&page=1&ndsp=16&ved=1t:429,r:2,s:0

as a noob i have to ask again: i would think that i need to go with some voltage to the switch wich then goes to a pin on the arduino in case the switch is pressed. am i right? if so, does it matter if i use 3.3V or 5V from the arduino?

another question regarding these switches is, that i thought, that these are also used to set the axis to 0. i mean before the actual cutting starts, the motors should drive the axis to for example axis-min-switch and resets the measurement of the axis to 0 to know where it is, as the stepper motors only measure relativly.

those limit switches will be fine I would use whatever voltage you have on the Arduino so the switch (when closed) will connect, for example, 5v to the limit measuring (max or min) pin

you can also use them as "home" switches, but the software makes no provision for that

stepper motors just o what they are told

the software can use absolute or relative positioning the PC interface allows you to "jog" (move) x y and z manually

how are you generating your gcode?

oh, i see. i use http://www.vectric.com/WebSite/Vectric/cut3d/c3d_index.htm

to generate gcode. as i design my things in 3d (cinema4d) and cut3d generates gcode from 3d formats. if you know an alternative, please tell me.

the thing i´m curious now is how do i position my workpiece so that it is milled correctly? do i just place the head somewhere and then put the workpiece relative to this position regarding the settings in the “tools” “options” menu (origin x, origin y)? < confused again :wink: >

is there any way to get the machine finding its 0-axes and then count “absolut” from there on?

I plan to use the limit switches as home so I'll position the workpiece, then home all the axes, then off we go

I'm just curious (not trying to be critical) as to why one would want to run a CNC machine with an Arduino when it's relatively easy and inexpensive to simply use EMC2? I run this very powerful and capable software on a 10 year old Pentium 4 machine I got for free so my software and computer costs are zero. The EMC2 community is very active and supportive and development of the software is constant in response to the users needs. Couldn't ask for more!

for me it was the intellectual challenge of implementing it all you still need something that sits between EMC2, which is software, and the steppers (raw hardware)

the Arduino + EasyDriver combination provides the equivalent of commercial setups like Gecko at £ several hundred

Further most commercial software needs to use the parallel ports as all the timing is done on the PC and you can't wait for USB/serial ports to catch up

by offloading the signal generation to the Arduino, you remove this problem at a stroke

but more than all that see reason 1 above!

hi again, just back from working on the mill/router.

first:
“I plan to use the limit switches as home so I’ll position the workpiece, then home all the axes, then off we go”. → thats nice. would you keep me informed when you implimented this feature?

second:
why i did not consider emc2: simply because of (1) i am an idiot, (2) because i started doing things with arduino some weeks ago, (3) because when i googled for arduino and cnc all the wonderful machines like makerbot, reprap,… came up and i thought that arduino would be perfect and (4) during googeling i stept over emc but the moment i read linux i went somewhere else.

i was and am very glad when you replied to my thread here, as you kindly provided me a good starting point for all the cnc stuff. thanks to you i will have a closer look to emc the next time - we´ll see.

have a nice evening!

Well, the intellectual challenge part I can understand, but I think you'll quickly run into the limitations. A microprocessor simply doesn't have what it takes to do the trajectory planning etc. that is required of any capable CNC machine. As for running linux, it was a no-brainer for me. I popped the live CD in, did the install, ran EMC's configuration wizard and was running within an hour. As for the extra hardware the only thing required besides the stepper drivers was a breakout board for the parallel port. Again, I'm not dissing the whole idea of CNC on the arduino, just pointing out the deficiencies. I am in fact working on a single axis arduino controller for a digital positioning system, the reason I dove into this microcontroller business. I'll post it here when it's done. Good luck on your endevours! I'll be watching to see what you come up with. :)

do you mean, that if i want to use emc i can use my easydrivers and only need a parallel breakout box? could you provide me a link of such a box? as my netbook does not have a parallel port - is there a usb solution available or would i need another pc?

Yes,all you would need is the BOB. Here’s the one I use: http://www.cnc4pc.com/Store/osc/product_info.php?cPath=33&products_id=45. A BOB can be very simple and you could easily build one yourself also (see this site: http://pminmo.com/.
You would definitely need a parallel port however. It’s a shame they are being eliminated in newer computers as they are the easiest output to deal with for external devices. Fortunately there are plenty of free or cheap cast-off computers available that will do a fine job. Another option is to add a PCI parallel port card although that wouldn’t be an option with a netbook. In case you haven’t found it yet, CNCzone.com is the most comprehensive site for all things CNC.

thanks again. i like BOB ;) when i have my machine ready and its working out the way i want, i will definetly give BOB and emc2 a try! another old pc shouldnt be the problem anyway.

I don't know how large your machine is or what you intend to cut but you'll probably find that the Easydriver won't give you enough power. I have one here I'm using for testing purposes and I'm finding the .75 A output at 12V will drive my small motor but it has very little torque. It should be better at 24V but I doubt even then it will drive my rig at the speed I need so I'll be building my own driver soon. My CNC router (a small one, 20" x 30" capacity) has 3A drivers and it seems to be adequate. Good luck!

i have my easydrivers connected to a nice 6amps, 24 power supply. when i test my motors they seem to have a lot of power. we´ll see in one or two days.

another question regarding the gcode i create with cut3d: there are a lot of possibilities on how to postprocess the gcode which is saved. it says "The standard list of postprocessor's available in the software are displayed in the pull-down list. Select the postprocessor appropriate to your CNC machine from this list."

for example Axyz (.nz), Gcode mm (.tap), Mach2/3 Arcs (*.txt),..

how can i find out which one to choose or doesent that matter anyway?

That's a tricky question since you're using the Arduino. The postprocessing is tied to the specific CNC software and they are all a bit different. I would check and see what other people are using for Reprap machines. The next best idea would be to use either the Fanuc or EMC2 postprocessing as they adhere most closely to the "official" RS274 standard. For the basic G01, G02, G03 etc. commands though they are all about the same. Here is a good reference on G code in case you don't have one: http://linuxcnc.org/docs/html/gcode_main.html

perfect - fanuc is in the list. wonderful.

good morning!

i powered my z-axis. runs with you cncdriver. thats great.

of course i have a question: i know that the easydriver has a temperature security switch, which switches off at 160°. just to make sure: is it normal, that the big chip on the easy driver gets quite hot after some minutes? what i am also interested is, that even if i do not have the sleep/wakeup pin connected, the stepper motor is always awake - is this ok?

indeed if you connect the enable wire to the easy driver two things will happen a) it will run cooler as it gets turned off when not needed b) the motor will also get powered down

so here is the stupid question: to which pins on the arduino do i connect the sleep/wakup pins on the easydrivers. i tried with the pin 18 (A4) where it says motor pin in the init.pde. i thought that would be an option as when the spindle is on the sleep state would change to wakup state. but then the steppers don´t move a all.

yup I connect pin 18 to the EastDriver Enable pin works for me

aha I see what you are doing I'm not using sleep! I'm using Enable

hi again. i will use enable then :wink: question: in init.pde it says

#define X_ENABLE_PIN 8
#define Y_ENABLE_PIN 18 // sb8
#define Z_ENABLE_PIN 19 // sb8

what does sb8 mean?

have a nice day!

ps. maybe today i will have the machine ready

ps2 i ordered BOB