First post - so apologies if I screw up. I developed a single axis controller for a project then, with the help of a few colleagues, generalised it for three axes. We are now thinking of doing a Mark 2 with more capabilities and I would really welcome comments before we dive in the deep end. The idea was to produce a controller which could run jobs stand-alone or when connected to a PC. I have knocked up a quick web site with all the background information about why I did it and what we would like to do next. http://www.bitbarn.co.uk/kwickstuff I enclose a photo of the controller as it exists at the moment and there are more photos of it, and some machines developed using it, on the web site. I would really appreciate comments and suggestions. Who knows, this may go somewhere or nowhere but it would be great to find out what people would really like. Mike
Great controller Mike! I think having this variety of controllers is a good thing. So -(not being expert on this subject) in the case of an automated jointer will use the only axis in this KwickStepper for the crank advance (making all the gear calculations) isn't it? the in-out movement will be made by hand? Also, the solution for home/limit switches is (or could be) made entirely by firmware? I'm new here but maybe this thread needs a link in Electronics/Controller Boards so other people can consider this option among the other controllers Andres
Andres Yes, Kwickstepper drives one axis for the Kwickjointer. I knocked up some software to do the calculations for finger joints and dovetails and this sends simple movement commands to Kwickstepper - no need for g-code in this case. Kwickstepper makes the move and tells the user to move the jointer through the blade and back. This is repeated until the joint is done. It's pretty fast - especially if you cut multiple pieces at the same time. It's also very accurate and allows any number of fingers of any width - or even varying width - which can look good. Kwickstepper can also do this stand-alone. There is a Kwickpad to enter variables (wood thickness, number of fingers required etc.) and Kwickstepper does the calculations and makes the moves. Similarly multiple jobs can be precalculated, stored on SD card and selected using Kwickpad. With a small 12V lead battery attached to the back of the jointer it means no trailing wires - handy with a darn great bench saw cutting everything in sight! The battery lasts for hours using a single Nema 17 motor. I have Kwickstepper driving 3 axes but I want to move on - hence the request for suggestions. There is no ideal controller - but we are happy to have a crack at one! Mike
Justin (JustinTime) One can put whatever on the SD card. In the case of the KwickJointer (see web site) I put a simple movement interpreter into firmware (real Mickey Mouse - just a few simple commands) and the job scripts were on the SD card. In the case of g-code the code file is be on the SD card and the g-code interpreter is in firmware. What KwickStepper does is entirely dependent on what firmware one burns into it and then what one passes to that firmware via files on the SD card or via data streamed to it from a PC. Talking of KwickJointer, some may be interested in the heresy I committed when producing a lead screw nut. I found off-the-shelf 10mm studding was a pain in the posterior in terms of binding up so I made up a simple nut from acrylic - three pieces of laser-cut 5mm acrylic bolted together with a 10m thread tapped through the middle - the laser cut the hole ready for tapping. This nut does not screw onto the moving part of KwickJointer but fits into a slot. The slot allows the tongue of the nut to ride up and down a little - thus preventing any binding - it runs as smooth as silk. Yes, it is not as accurate as a "proper" lead screw nut and yes, it has a bit more backlash - actually, if you machine the slot accurately for the batch of acrylic being used (acrylic thickness varies between batches) there is very little backlash. Not pretty, not engineered - but it is not under stress and it works fine - and it cuts nice joints. Mike
Justin You probably meant HDPE (High Density Polyethylene) or even UHMW (Ultra-High-Molecular-Weight polyethylene ) for very low friction. However, like most people with a laser cutter, I have a small mountain of acrylic off-cuts lying around so I made use of that. The "nut" runs incredibly smoothly anyway. However, my original post was an attempt to ask people what they would like in the "perfect" controller. (I know there is no such thing - but that's no reason not to try <g>) I have spoken to people verbally, exchanged emails about it and had comments from other forums so: KwickStepper Mark 2 specification (so far): 1) Compatible with Arduino IDE via USB link to PC etc - as for KwickStepper Mark 1. 2) Main processor with sufficient speed, space and pins to do what we want - maybe an ATmega128? 3) LCD for feedback: 16x2 or 16x4. (See note below.) 4) On-board SD card. 5) Socket for external 16x4 keypad (KwickPad) - this allows very accurate jogging control and data entry. 6) Support for 6 axes via plug-in motor controllers. 1/2/3 on-board by default? 7) Stepper motor operation up to 35V @ 2A per motor. 8) Support for software step selection: full, half, quarter etc. 9) Support for two RC-style servo motors. (Maybe not required?) 10) Support for home switch on each axis via shared input line. 11) Support for limit switch on each axis via shared line. (Maybe not required.) 12) Emergency stop line. 13) Software control of AC spindle on/off via external relay (I am reluctant to bring mains power on-board.) 14) Software control of DC spindle speed via PWM and external board. 15) Spare lines for PWM output, analogue input and digital in/out. 16) WiFi or Bluetooth. Maybe the machine could send you an email when it finishes a job, hits a problem or needs a tool change? CNC machine controlled from iPhone or Android or over the Internet? I am very open to creative ideas on this one. Note about the display: we could have a small colour touch screen which we used in a previous project with an ARM processor. However, this would bump up the price a fair bit and lead us away from Arduino compatibility. Spindle control: at the moment I use external boards for motor control. The picture shows a small low cost relay board for switching AC motors on/off and a larger low cost PWM speed controller for a 48V DC spindle. Both are available on ebay. Firmware: I would provide a g-code interpreter for up to six axes with support for the external keypad for very accurate jogging. Support for auto-tool changer? Software: I would also provide suitable sender software to visualise the job, stream g-code files to the board and to allow manual control/setup. The sender could also be iOS and Android if you really want to control your CNC machine from a smart phone or tablet! Support for linked jobs would be handy - those that involve a manual tool change from one part of the job to the next. (Typically jobs generated by Cut2D.) So, imaginative comments and suggestions would be very much appreciated. Mike
I'll tell you what I would like. I'd like a set of four drivers, on one board, that could handle these "big boys" motors please. https://www.motioncontrolproducts.c...ads/2012/05/M60STH88-3008DF-stepper-motor.pdf I'm going to need 4.2amps per driver here, and all this lightweight gear just doesn't seem man enough to handle them. My only alternative, at the moment, is to go down the very expensive USB/Controller or Gecko path for power handling. Gray
I'm new to this world so I don't know what I can suggest, just comment that I really hate user interfaces with many buttons, sometimes I see myself like a crazy telegraphist hitting +/-, up/down, left/right buttons when rotary encoders are a better solution, maybe this could be an option
Gray Excellent point about the bigger motors. The downside is that bigger motors require more powerful drivers that don't lend themslves to a single board system. They also add a lot to the cost. I just looked at a 4.2 amp one from Arc Euro Trade in the UK and it works out at £63 ($102) per axis - plus the cost of a breakout board of some sort. Parallel breakout boards are notorious for doing nasty things when the PC decides to handle some other task - even my really excellent Heiz machine sometimes decides to "wander off" on its own in the middle of a job or when jogging - requiring a quick press of the Emergency Stop. That's why a true USB solution, with on-board intelligent g-code interpreter, is the way to go. I think the Gecko G250X goes up to 3.5 amp. None-the-less, I will have a chat about it with my colleagues and get back to you. Gaucho I am not sure what you mean by all the button pressing. What do you have to do this for? Are you thinking of things like zeroing the machine/tool at the start of a job? Rotary encoders provide feedback about where a motor is (at least within one revolution as long as something - firmware/software - keeps count) - as opposed to steppers which don't provide such feedback but the software/firmware knows where they are because of the commands that have been sent to them (assuming they have not missed steps - which they should not do on a well designed machine.) Encoders tend to be used with DC motors and tend to add a fair amount to the price of a machine. Steppers are relatively straightforward and relatively inexpensive - that's why most of us go down that route. There have been a fair few changes to the spec since my last post as a result of comments/suggestions elsewhere. Both the keypad (great for accurate jogging) and the LCD are now on I2C. The mainboard suppports one axis with two optional plug-in boards supporting two axes each - so five axes in total with home and limit switches on each axis. Software selection of step resolution (full, half, quarter etc.) is also implemented via I2C. PWM control of DC spindle speed is straightforward as is on/off control for AC motors. A socket is provided for an HC-05 Bluetooth board so you can control the machine from smartphone/tablet/whatever - if you want to! Other suggestions are most welcome - I will then post a Sketchup model of the design to date. Mike
Justin Thanks for the clarification about jogging. KwickStepper offers KwickPad - a low cost remote keypad which is great for jogging. I can get my eye close to the tool tip and use medium or slow movement for really accurate jogging - I haven't screwed up yet. No need to be a gymnast to reach back to a PC keyboard! A pad is a lot less expensive than a pendant with rotary control - and no need to flip a switch to go from one axis to another. Personally I set a permanent "x/y work zero" position on my router so after homing I can go directly to it - my only jog is to get the tool zeroed in the Z axis. Even that could be automated with a simple tool offset sensor. KwickStepper has plenty of free lines to implement this stuff. One point about jogging in general. It is much faster, smoother and more accurate, to implement in firmware rather than by commands from a PC. That's what we do so there is a tight link between the keypad and motor movement. Obviously the firmware reports back to the PC when jogging is done. This also allows setup when a job is being cut from a file on SD card with no PC present. Mike
Justin A quick look on ebay found loads of them - at excellent prices for what they are: http://tinyurl.com/paqjeo4 They even do wireless ones! http://tinyurl.com/pfmpwob I have a couple of CNC machines (mill, router) and I have never had a problem using a remote keypad - and I like to get my eye within about 20mm of the tool tip when I am setting Z! On the router I put a row of 12mm metal dowels (sunk about 6mm into the sacrificial bed) along the edge of the X and Y axes and I use these to align my workpieces. The bed also contains a grid of location holes for the brilliant horizontal clamps made by Walko: http://www.walko.nl/index1.html I appreciate things operate differently on the PhlatPrinter - I am lucky on my router - I only have to worry about setting Z at the start of a job. (I am an idle type: slap the blank down, push it against the dowels, tighten the clamps, set Z - cut it - guaranteed repetitive alignment!) BTW: for clarity, I am talking about work zero, not machine zero as set by homing. I home when I switch the machine on then one click takes it to the pre-defined Park location - which is my work zero where the inner edges of two lines of dowels intersect (I don't have dowels at the intersection point - obviously - 'cus that's where I am setting Z zero <g>) Mike