This is nothing revolutionary, but maybe a few people will get a kick out of it.
I've been running my DIY CNC with an Arduino and recently hooked up an NES controller to "jog" the machine around with.
This is nothing revolutionary, but maybe a few people will get a kick out of it.
I've been running my DIY CNC with an Arduino and recently hooked up an NES controller to "jog" the machine around with.
Awesome! I've got one of those GIANT NES controllers (the one that's about 10" across with the big joystick) sitting around, every time I walk by it I think "gee, that would make an interesting control pendant". LOL!! I was going to build an Atmel processor into my breakout board, ran out of time and left it off to get the machine working. Good stuff! What's up with the X axis though, is it supposed to make that noise?
Thanks! As far as the X axis goes: It's jacked and has been since I tried dropping a new bearing in, LOL.
I tried boring the hole out to fit a larger OD bearing and being that my drill press has a ton of runout and I was trying to do it to MDF... well it didn't work out so smooth.
I'm basically just using this frame to finish up my R&D and hoping to have a new set of parts cut in the next 6 weeks. Besides that *horrible!* noise, it's working OK
neat. i have been looking at the arduino for a stepper control function recently.
im curious how fast it can run. mach we know is limited to 100khz for pulse rate, and works best at 45khz or less. what can the arduino push out?
thanks
I'll start off by saying that I'm not an expert by any means. Just a dude thats pretty passionate about both the arduino and DIY CNC!
For the sketch you see in the video:
I have the delay between pulses set to delay(200); this is because speed profiling is not setup and as everyone knows you can't just start a stepper at top speed so in order to prevent stalling the motor out while running it with the NES controller, I opted to just run it at a medium speed. What you're seeing the Z and Y axis do is about 60-70% of their max rapid speed.
For the embedded program (grbl) that actually parses gcode:
At the current time, we have not experienced any stalling problems that were related to the Atmega168 not keeping up. Sort of amazing really.
Right now we have the duration of the step pulse set to 5 microseconds which figures out to a 100,000 pulses per second (with a 5 microsecond delay between pulses).
Indeed! We have already used it as a "cheap and cheerful" USB interface for EMC2. It's fantastic.now im curious if this could be used a cheap and cheerful usb interface for mach.
One of the problems we run into with both Mach and EMC (and most of the others, including turbo) is they all depend on an LPT port! Those are getting harder and harder to come by. So yes, arduino + grbl = a great USB interface for interpreting step/dir commands.
Love the controller idea. I was going to put a couple buttons on mine i.e whenever i am going to build a cnc. Simple and useful add on!
Do tell me more! I use EMC2 and would really like to utilize USB.Indeed! We have already used it as a "cheap and cheerful" USB interface for EMC2. It's fantastic.
Is it just me or is anyone else wondering what would happen if you hit "up up down down left right left right b a start"?
Cheater!!!
Now you need to run the Mario theme G-code on it
Cool retro idea, I actually used a Nintendo Wii Remote for mine. Its nice because its wireless, and having one of the buttons mapped for "pause" has saved me more than a couple of times already.
I see notes that EMC2 runs with Arduino and does step and dir? Is the software etc for doing this on the Linuxcnc.org web page some where?
Wow this satisfies so much of the geek in me.
I'm planning to use a similar set up for a 2 axis machine, although I wont be running gcode, simply moving in a hard coded sequence of steps.
If you don't mind me asking, what motors are you using? I was thinking of ordering mine from sparkfun with the rest of the parts, but am afraid they might be a bit too weak, although they appear to be nema 17 so they should be easy to replace if need be.