View Full Version : Ruminations on production and stepper motors

Fri 19 October 2012, 12:15
I've spent most of my working life finding more ways to use computer technology to make things more efficient. One of the biggest problems that my customers have discussed with me is the cost of labor. Here, in the United States, minimum wage is over $15,000 a year for a full-time employee, more if benefits are offered. That's a bargain when you really need that worker, but it is an unending cost if you can find a way to using machinery to do the job, especially if the machinery costs less than a year's salary for one worker.

When I had my CNC router, I was a one-man shop. I learned how to do everything without a helper. What I soon learned is that a single CNC machine could do the job, but that multiple machines would be more efficient. Case in point. Most of my work was cutting cabinets based on the 32mm system. It only took fractions of a minute to cut each panel, but it took much longer to drill the holes, particularly because I had to change the cutter between operations. Changing the cutter usually took longer than doing the job. Of course I could have added auto-tool changing to my machine or added a secondary drilling head, but even that would not have been as efficient as having a second machine.

So, I played around with design possibilities in my mind and decided that if the main CNC router only had to cut the profiles, and if two other CNC machines were used; one to drill holes and the other to act as a horizontal boring machine; that the entire process would be significantly more efficient; i.e., I would make more money in less time without needing to hire anyone.

Let's assume that a MechMate is used as the primary machine and that it is equipt with a spindle that can make a one-pass cut in melamine coated particle board. Let's also assume that to get a near perfect edge, that the MechMate cuts each part using climb-cut and conventional. The final assumption is that the MechMate can do that while cutting at 300 ips or faster. That means that each panel will be fully cut in a minute or less. Not too bad.

Now for the drilling.

Let's assume that we build a 2nd machine designed specifically for drilling. Because there will be no horizontal load, it can be much lighter than the MechMate. Because it is much lighter, each axis can be expected to move much more quickly than 300 ips. Because it will only be used for drilling, it can be a simple point-to-point machine.

That's were the fun began for me early this morning.

I created a simple spreadsheet comparing three different motors, the Oriental Motor PK296-F4.5A, the PK299-F4.5A and the PK296-03AA, with and without gearboxes/beltdrives. I wanted to see if any of those common motors could be used with little or no ramping in a point-to-point machine with adequate speed and with adequate resolution. Adequate speed meant something running at 600 ips or higher and adequate resolution meant 0.003" (0.076 mm) or less. The PK299-F4.5A motor met all the requirements. At its FS speed (no ramping required), it could run at 300 RPM. With no gearing and with a 1.25" spur gear, that gave it a per-step resolution of 0.002" or 0.05 mm. At 1,100 ipm (18.33 ips), it more than met my speed requirement. With about 35 lb*in or torque at that speed, it would have more than enough torque to move a drill head. Best of all, it took 107.10 usecs per step, meaning that I could have a pulse of 7 usecs on and 100 usecs off for each pulse. That would allow a simple $5 microcontroller to interface with a Geckodrive stepper controller.

The whole plan consists of a bunch of drill templates, one for each panel. A simple computer reads a database and then sends the coordinates for each drill point to the point-to-point CNC machine. An Arduino using a network interface accepts that data and then sends it on to dedicated microcontrollers that run each axis of the machine. It may seem complex, but it is so very simple in the world of computerized process control.

The whole point is that tools and parts are easily available to solve almost any problem if you just dig deep enough to go beyond what others have done.

Fri 19 October 2012, 12:38
OK! you have my attention - how do we go about implementing this...:)

Fri 19 October 2012, 13:20

That's the point that separates the users from the developers.

Use your imagination. Buy an Arduino Uno and add an ethernet shield, then buy another Arduino Uno and experiment.

I've got several Arduinos on my workbench. I also have the low-cost "dragon" from Atmel that lets me program non-arduino chips.

Play with the easily-available tools until that "light" goes on in your mind and you start to see the possibilities.

This is a do-it-yourself community where we all pursue our interests and then report when we find something exciting.

Back when I was actively developing process control computers, I often developed a board a week. Of course those boards were paid for by customers who had problems that needed to be solved. I didn't realize it at the time, but I was a one-man shop that generated more prototype production in the local circuit board manufacturing site than any other single business. The possibilities then were endless. They still are. The main ingredient is curiosity.

Learn to play with electronics. Learn to see what ordinary parts and pieces available from Radio Shack can do for you.

I'm getting to be too old to follow to completion every idea, and I certainly don't have the resources to be the consummate experimenter, but when the aches and pains of life keep me up at all hours, I try to use that time to think and to pursue the endless possibilities are are out there.

May I humbly suggest that setting your alarm for 2:00 a.m. and then writing down every idea that comes to your mind may be more productive than waiting for the postman to deliver a request from a customer?

Enjoy life and enjoy thinking new thoughts. Don't stop there. Learn to work through things until you reach a workable solution. Don't worry about money. You don't need money to enable you to think and you don't need money to enable you to design. If your thoughts have substance, someone with money will pay the necessary costs.

Fri 19 October 2012, 14:31
One Uno - check! ETH shield and second Uno on order. Where can I learn more about programming and making it all work together - much to learn in this department! Some people feel intimidated by the prospect of welding the frame for the first time or wiring the panel (all easy tasks for me) but thats how I feel trying to get my head around programming and microprocessors.

Fri 19 October 2012, 15:05

It's an adventure that is not that short.

Get the books, "Getting Started with Arduino" and "Programming Arduino". I really like the Ardunio Cookbook. All of them are easily available. Expand that by going online and studying all of the projects that others have developed. Be patient. There are a lot of projects. Do the experiments. If you have an oscilloscope, watch the patterns and the timing. Vary the parameters.

That's what "developers" do. They build on what others have done.

Always keep in mind the objective, which is to build a CNC machine that does a specific job. The "specific job" is to complete a CNC operation.

The Arduino uses "sketches". They are based on "C" programs. Learn a little "C". You'll find a lot of tutorials on the Internet. Go to the Atmel site and see what they have to offer. They have a wonderful "studio" that you can download for free. That "studio" will require that you buy the "dragon" or another board. Don't be discouraged. Buying an evaluation board or a programming board is much less expensive than buying a license to other programs.

Always keep in mind that you're trying to solve a problem. Remember at all times what that problem is. Look at every example and ask yourself whether that problem solved the problem.

"C" code mixed with assembly language can solve almost anything that a microcontroller is capable of solving.

It takes time. It takes perseverance. Don't give up. Making something new, something that nobody has ever seen before is not always easy.

Fri 19 October 2012, 23:05
My 1st Arduino board is a Duemilanove, now I just buy the boot-loaded chip & make my own board with strip board :D:D

Keep digging here (http://arduino.cc) & you may gain good competency with Arduino & Processing in a hurry.

There are so many Arduino Boards choices, too many for a newbie :( but for a start, UNO has all you need to kick start your learning experience.

##PS, even I can play with microprocessor... how difficult can it be :D:D

Sat 20 October 2012, 09:43
The whole design process starts with an idea. Every MechMate builder has gone through that process. "Wouldn't it be nice if I could just push a button and have a machine cut out my parts for me?" We all know that the process is much more complex than that, but that's where it starts. We think of the possibilities. If the project really seems possible, the next step is "How would I do that?". We gather information about possible main components. If the main components are available and if the project still seems viable, then we start to think, "How do I control those main components?".

That's the step where most projects stop. Most people talk themselves out of doing something because they think they don't know enough about "something" to make the whole project come together. That's normal. We all have an idea of our limitations. Most of us have tried, and failed, enough to know that not everything is worth doing.

But, sometimes it just takes a nudge to think about things from a different angle. For instance, years ago I wrote some major software using a relational database to store information used to print millions of color negatives. As each negative was placed in the Kodak S-printer, the necessary information was retrieved from the database, and, in most cases, a perfect print resulted. My process-control solution increased production from 200-250 negatives an hour to over 1,500 negatives an hour. The limitation was how fast the operator could manually handle the rolls of negatives.

A couple of weeks ago, I was browsing around the local Radio-Shack and saw an ethernet shield for an Arduino Uno. The wheels started turning. I realized that almost any computer could retrieve information from a database and then send that information to the Arduino. That Arduino could pass parts of that information along to other Arduinos or directly to the Atmel chip used on the Arduino. Those auxiliary microcontrollers would become simple "state machines". Instead of needing Mach-3 to run a point-to-point machine, I could do it with a handful of microcontroller chips. The breakthrough came when I wrote a spreadsheet that compared various stepper motors. One of the data points in the spreadsheet showed how many microseconds each stepper pulse would take. When I saw that with certain parameters plugged in, each step took about 105 microseconds and that the motor would be running below the FS point. UREAKA! Little or no ramping would be required. A few lines of assembly-language code could handle the timing each pulse cycle and the number of pulses per move. The project suddenly became viable.

Each process control computer that I ever designed followed the same basic methodology. Sometimes customers asked me if I could figure out a way to do a task more efficiently. Sometimes I simply noticed a lot of wasted time and effort that could be eliminated with a machine that cost much less than they were paying an employee to do the inefficient job. In each case, I did a rough design to show the approximate cost and then I wrote a break-even analysis spreadsheet to show how many "widgets" the customer had to make to break-even on the project. Their eyes lit up when they saw that for a few months salary, they could buy a machine that would make them a lot of profit.

As the thread title states, these are just ruminations. Hopefully, they may spark an idea in those of you who are willing to think outside the box.

Tue 23 October 2012, 05:46
Where do you buy these in the states?

Never mind, I found the USA distributors...

Richard, who do you recommend?

Tue 23 October 2012, 07:31
Actually, the next generation Arduino, the "Due" (http://arduino.cc/blog/2012/10/22/arduino-due-is-finally-here/) has just released. So, if you were looking at an application with multiple Arduinos, you might be able to condense it into one, as the Due is a much more powerful part in all aspects - more speed, much faster control loops, many more I/O ports, etc .