Single axis stepper controller w/single programmable relay output?

Looking for an inexpensive single axis stepper motor controller that has a single output that can be programed. Simple contact closure on the
output is fine, no current to speak of is to be handled. Strongly prefer something battery powered.
I'm very interested in the technique called stacking in macro photography where multiple shots are taken with the camera moved ever so slightly between exposures. In macro photography, depth of field can be paper thin. These multiple shots can be digitally stacked to provide a macro image with a vastly greater apparent depth of field than could otherwise be achieved.
I've just made my 3rd attempt to get an ultra close shot of fine brass chips, but the depth of field is so narrow, I can barely get a single chip completely in focus. The bed of chips is far too uneven to get anywhere near the effect I want without stacking.
I could use a dial indicator on my bellow's focusing rail and a remote release, but of course, I want to automate! Something like the now defunct Frog CNC with a single output would be perfect for field use. I'd need to be able to program an output event, move the camera, pause to let things settle, then repeat. Not interested in schematics or even kits, if it's not available turn key, I don't have time for it right now.
Thanks,
Jon
Add pictures here
โœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Jon Anderson wrote:

How about that single stepper controller that Sherline makes, P/N 8850? It comes with a 23 size stepper and appears to have GPI/GPO functionality on a mini-din connector.
Add pictures here
โœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On 7/15/2011 7:22 PM, Pete C. wrote:

That would do almost exactly what I want. Unfortunately it's a bit pricey for me given everything else I'd need to build. For $25 more I can buy a turnkey setup: <http://www.cognisys-inc.com/catalog/product_info.php?cPath $&products_id2&osCsid๑48f1bd614d63a28e604963dfe6bade>
Not having $525 to burn, I was looking for a cheap solution. I don't recall what the Frog CNC sold for, but I thought I recalled something selling for around $150 or so a few years ago. Maybe I'm wrong. Looks like the StackShot is a better bargain than I thought!
Thanks,
Jon
Add pictures here
โœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Sounds like you have way more photography knowledge than I do, but here goes.
I sometimes need to take pictures of small parts. I made a small light box that works ok for some, but if shadows are not a huge issue I take them outside and set them on the ground in the sunlight and stand up on top of one of my jobsite boxes. This allows me to shoot straight down at the part. Then I use my highest resolution and highest optical zoom to take the picture. I have several digital cameras, and the one that does this the best is actually an inexpensive Vivitar HD digital camcorder, but my old SLR (looking) FUJI does ok too. Mid day is best. Alternatively in the shadow on the north side of the shop works for some if glare or reflections are a problem.
If I have to do it indoors I can do roughly the same thing, but I light the part from an angle to either side of the camera with a pair of 250 watt halogen work lights.
Instead of trying to macro at 3 feet or closer I zoom from about 8-10 feet. As long as I get a good focus it shoots pretty good.
I usually get a pretty good shot within 3 tries with one of these methods.
Add pictures here
โœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On 7/16/2011 11:01 AM, Bob La Londe wrote:

I've done the same thing, and gotten some great pics. But when I say macro, I mean extreme macro, going into the world of small at a level of detail not visible to the naked eye. Well, not mine anyway! Like this sort of stuff: http://zerenesystems.com/cms/stacker/docs/gallery
BTW, I hardly know what I'm doing so far, but I have a brother that is exceedingly talented with photography. He could seriously make a living at it, even as competitive as the field is. But he does it just for personal enjoyment. He's my mentor. When he suggests something, I listen!
Jon
Add pictures here
โœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

How about using a simple CNC mill with trigger outputs on the controller, and writing a bit of code. Move the head .001, fire the trigger, move the head .001, fire the trigger. Could use a spindle relay output etc. I could mod one for the application I bet in half a day.
Add pictures here
โœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On 7/17/2011 10:02 AM, Bob La Londe wrote:

I've moved in that direction. Really wanted something portable I could take afield, but think the StackShot is really the ticket there and I'll just have to save up for one. But for 'studio' work, I have most of a MaxNC sitting in the corner gathering dust, and discovered I still have the step/direction version of the MaxNC software. That would allow several degrees freedom if I used all 3 axis. There's some trick software that allows cabling the camera to a laptop and viewing in real time on the screen in Lightroom, what is in the camera's field of view. If I stacked the Z axis onto the table, I could use X-Z to frame the shot and Y for the stacked shots. Down the road, will probably go to my older copy of Ahha Pro for this, have a few more outputs, and programming with subroutines and parameters would make for a couple generic programs that could be quickly modified for most any task.
Hoping the Max software supports a rotary axis, I just don't remember if it does or not. I was looking at taking this approach even further this once I've moved down under, for astrophotography. At the very bottom of that learning curve, but there's a fellow down under taking impressive shots of the night sky. Dave (brother) says he uses some combo of linear and rotary axis tracking, though I haven't found that info on his blog yet. So a telescope and photography like this is slated for future exploration.
Jon
Add pictures here
โœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Are you still running the MaxNC controller? If so you need to look and see if it has an A motor output or not. I didn't care for the MaxNC controller or motors so I swapped them out on mine for a Gecko G540 and heavier motors. The G540 definitely supports four motors and has a breakout built in for trigger outputs. I use one (with a 48V relay) on my Taig to turn the spindle and cutting oil pump on and off automatically. Same on the MaxNC except I still haven't gotten around to putting it in an enclosure yet.
Mach 3 is fine and it supports upto 500 lines of code unlicensed. More than enough I think for your 40 or 50 frames of macro shots.
I
Add pictures here
โœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On 7/17/2011 4:04 PM, Bob La Londe wrote:

No, I junked that shortly after getting it, a long, long time ago. I last had it configured in 2 axis only with quick attach mounts for a Clausing engine lathe I had, for a simple CNC lathe retrofit. The step/dir version of the Max software will work with any step/dir drivers. I ultimately ran the Max via Ahha Pro and Compumotor OEM650 drives with 280oz/in motors. Those same drivers, set for higher current, have been running my full size knee mill for a decade now, though I did upgrade the control to Artisan.

Hmm, that's a thought. The reason for wanting to use the MaxNC software is I could easily run it on any laptop that'll run DOS and has a parallel port. Moving up to Ahha gives me a lot more flexibility, but it won't work on a laptop due to needing an ISA slot for the motion control card. I'll have to see if Mach will run on a laptop OK, never looked into that. If so, might as well go whole hog... <G> I know it supports some form of subroutines. Heck, down the road, might even try to write a plug in to really automate this whole process. Thanks, I'd not thought about going full modern. But then, my whole line of thinking has gone from home brew field portable to buying that setup and making something really flexible for studio use.
Jon
Add pictures here
โœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

I ran the MaxNC software in DOS mode briefly on a laptop to test it when I sold the controller and motors. I did not care for it, but it did seem to work. It supported all the basic G codes, although I didn't test it extensively. That being said, Mach 3 likes to run under Windows XP Pro, can be jiggered to run under Vista, and I have not heard many complaints about running it on 7. I have a machine running my MaxNC/G540 under 7 in rollback mode (to XP Pro) reliably.
All that being said, It might be hard to find a laptop that runs Windows quickly and reliably, has appropriate ports for your hardware (Usually an LPT port), has full voltage on the pins, and doesn't have power management that could mess with your plans. Otherwise... yes I suppose you can run it on a laptop, but why? Small powerful desktops can be had pretty inexpensively from guys like Tiger Direct. I bought three of them last time I bought computers. I can see the desire for a laptop with the desire for a portable machine though. The other alternative if you can't find the ideal laptop is to use a Smoothstepper via USB to provide the LPT port. It adds about $165 to the cost, but I haven't really seen you mention budget much in this thread. Lots of guys use the Smoothstepper even on machines that support or could support a full LPT port because it takes a lot of the work load off the processer and is reported to provide better control (but no ability to manage backlash compensation).
Not sure which MaxNC you have, but the MaxNC 5 is small enough you could carry it with one hand if you put a handle on it. I think I would design a multi point rigid mount handle if I did that. One that went from the base to the column and helped hold it square. Since you aren't dealing with cutting forces, and are just moving the weight of a camera you could easily run your controller and stepper motors off a couple gel cell batteries like you might find in an alarm panel, UPS, or game caller. Most controllers and steppers run fine off an unregulated DC power supply. Batteries are the same thing, just cleaner. You could probably even run it for a limited time off a pack of throw away dry cells. I think your goal of a portable macro machine is very doable.
Add pictures here
โœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On 7/18/2011 6:33 AM, Bob La Londe wrote:

Yeah, it's about as basic as it gets. Doing some poking around, I still have a copy of TurboCNC too, which requires no special card and is a lot more capable than the Max software.

Yes, still would like a portable setup if feasible, thus the laptop. Budget is, cheaper the better, as is often the case with DIY projects... <G> I just gave away a Gateway last month that had a full parallel port, and there are cheaper alternatives than the Smoothstepper to insure full voltage at the port.

Sorta what I'd hoped when I started down this road. I felt I could likely get away with driving motors at 12v as speed and acceleration are not the criteria. Moves might range from .0005 to maybe .020, even the latter would go pretty quickly at a slow feedrate. Would gear the motors down a ways too to improve resolution.
Jon
Add pictures here
โœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Well, I'm not defending the SS interface particularly since I don't own one, but it seems to me it does a lot more than just provide correct voltage on the pins. Goes from USB to LPT. Provides dual LPT breakout. Removes signal processing and CPU time usage from the CPU and processes them directly. I am running upwards of a million lines of code now with a PCI LPT port and a G540, so your certainly don't need one. I was just suggesting it to meet the limited capabilities of many laptops. A cheap USB LPT interface will not work. Several people have tried them.
There are also cheaper optically isolated LPT BOBs that will allow you to use an external power supply to guarantee full 5+ voltage on all your pins. The SS just seemed the quicker easier way to go given all your constraints. You can use it directly into stepper drivers or even into servo drivers that accept step direction signals. Plug it into the USB port. Hook it to your drivers.
Add pictures here
โœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Yeah, Gunny, but they're not "real" hardware ports. They don't work in real-time. They operate through USB drivers to serialize your commands, then on-board (out on the 'dongle') drivers in flash or rom, both of which can independently queue operations without your knowlege or permission. It's often difficult, sometimes impossible, to generate real-time signals offa USB devices.
LLoyd
Add pictures here
โœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Oh.. should have added.
I keep up a fairly old laptop... a Dell Precision 4300, which was a "portable desktop" when it was new. I got it because it had real hardware ports. Real RS232. Real Bi-Di parallel printer port.
It's been through a number of repairs, because it's a good platform I don't want to part with.
LLoyd
Add pictures here
โœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Well, I'm not sure its strictly a matter of speed. It's a matter of timing. I know plenty of people have tried adaptors with poor results. With an "adaptor" the PC is still doing all the work and then the USB port is "translating" it. The software would really prefer to control hardware directly. I can ask over at the Mach Support forum if anybody has better results with USB 3.0 adaptors, but realistically I can't see how. The fundamental problem is the same. The SS takes a whole different approach.
Add pictures here
โœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

There is also something to the way resources are allocated for USB as opposed to a dedicated hardware communication port. I'll leave that to the guys who know more about specifically USB to explain if they like. I know if I send a signal to a pin on a hardware LPT port it (barring the speed of electrons down wire) its virtually delivered precisely when its sent.
For a full size desktop its really a non issue if price is your only driving factor however. I can still get a good quality hardware PCI parallel card brand new for about $20. (I have three spares on the shelf.)
Add pictures here
โœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

It has to do with the fact that USB resources are controlled from the Windows kernel drivers. The windows kernel is not a real-time system. It "queues" operations for completion, then goes off and does other things while those queued tasks get done on a "when I can, IF I can" basis.
When a machine-lanquage component of software talks directly to a hardware device (barring getting pre-empted by interrupt service routines) the physical task occurs immediately. When a program talks to the kernal routines instead of directly to the hardware, queued tasks can take microseconds to _minutes_ to get executed on the hardware. This is worsened by the fact that many USB peripherals themselves queue operations, separate and apart from the kernel queuing.
That's why the EMC guys talk about using a "non-preemtive, real-time kernel" in Linux to run machine control routines.
With the right kernel AND the right USB hardware, USB peripherals _can_ be used in real-time. You just have to pick devices that don't have their own non-real-time queuing on-board. And if you have to use a Microsoft product, don't use Windows -- use DOS. But, then, that's not a very pretty scenario, either.
LLoyd
LLoyd
Add pictures here
โœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
"Lloyd E. Sponenburgh" <lloydspinsidemindspring.com> wrote in message

Thanks Llyod, I have gotten pretty good results out of my CNC mills for making molds. The very last thing I do is spot the plates for the alignment pins and clamping screws. Mostly they line up. (GRIN) I use hardware LPT ports on Windows machines, and I like I said I have run over a million lines of code now in one code file. I've figured out what speeds work. I only run one primary application at a time. I disable everything in Windows its possible to disable. I start Mach with a batch file that assigns a higher than normal priority to Mach, and I turn off the tool path display to reduce graphic adaptor load when cutting larger files. It works. I don't see why it would not work for cutting threads with some care. I've got a single point milling adaptor for thread cutting (basically a boring bar style). If I can cut loose threads by single point milling I don't see why I couldn't cut tighter fit threads using a lathe style operation. If absolute repeatability was required than add a zero switch to the 4th axis (on a mill) or the head stock (on a lathe) and write a macro to re-zero before each pass.
Not arguing at all. Just saying what has worked for me.
AND I ABSOLUTELY DO NOT SWAP ANY USB DEVICES WHILE MACH IS CUTTING A FILE. The only reason I leave USB enabled at all is that thumb drives are the best way to sneaker net files from my design computer.
Add pictures here
โœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Tue, 19 Jul 2011 12:08:48 -0500, Lloyd E. Sponenburgh wrote:

That may be, but more importantly, USB -- being a serial protocol -- packetizes its messages at the hardware level, and software can do little or nothing about it. USB hardware supports four kinds of messages or transfers, none of which are entirely proper for emulating a real-time LPT port.
(1) For example, although the shortest Control Messages may take as few as 16 bytes to complete (two 8-byte packets for Setup Stage and Status Stage), most USB control messages entail a handshake and a Data Stage, so several times that many bytes get sent back and forth. (See <http://www.beyondlogic.org/usbnutshell/usb4.shtml )
(2) So-called "Interrupt Transfers" from device are "queued by the device until the host polls the USB device asking for data." To-device Interrupt Transfers can happen without buffering and queueing, but still entail three packets (Token, Data, and Handshake packets) and still can be delayed by buffering at device and by device's packet validation step.
(3) After being set up, Isochronous Transfers are fast one-way transfers with bounded latency and no guarantee of delivery, ie fast enough for real-time control but not ok for reliable interactive control.
(4) Bulk Transfers likewise are unidirectional and fast but have no guarantee of bandwidth or minimum latency.
The page <http://opensourcebridge.org/proposals/40 comments: "Ever get an urge to control a robot using real time Linux and a serial port, but find that your computer only has USB ports? [...] Sure, youโ€™ve been told that USB is broken for real time at the specification level, but that wonโ€™t stop you from trying!" :)

See <http://www.freedos.org/freedos/news/technote/195.html re driver problems with DOS.
--
jiw

Add pictures here
โœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

I should have added this -- the way more sophisticated CNC machines that run off windows work is that they have an external "controller". Windows sends the commands it needs done as it can get around to it. The controller 'assembles' the required data and control information, and only sends it to the hardware when it has everything necessary to do the commanded motions.
IE... the MachMotion guys, who sell very nice 'kit' solutions for CNC conversion, won't guarantee that their lathe package can do threading unless you use their external controller. Some folks get away with it - at very slow speeds - some don't at any speed.
LLoyd
Add pictures here
โœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.