Shop OBEX P1 Docs P2 Docs Learn Events
Multi-Axis Propeller Proto Board CNC Controller / Power Supply — Parallax Forums

Multi-Axis Propeller Proto Board CNC Controller / Power Supply

idbruceidbruce Posts: 6,197
edited 2011-12-07 01:22 in Propeller 1
Hello Everyone

*** PLEASE NOTE ***
The following discription and design has certain limitations, which are:
  • Max current for each motor 3.5A
  • Total current available 16.7A
  • If building a 5 axis system, limit the current to 3.3A
  • The G251 needs heatsinking for current settings greater than 3 amps, in which case a taller enclosure will be required than the one suggested below
  • The power supplied to the Propeller Proto Board will be 8V/1A
This article is a summary of several articles that I wrote, pertaining to CNC, power supplies, stepper motors, G251X stepper drives, and the Propeller Proto Board. I am summarizing this article now because I finally solved what I considered to be a major problem with supplying power to the Proto Board. It appears as though I somehow overlooked the solution during my internet travels and machinery building. Instead of going over the problem again, I am now going to provide you with a fairly complete solution for building a Multi-Axis Propeller Proto Board CNC Controller / Power Supply. For the most part, this article will be a general outline, because every design is different depending on the requirements, and this article will assume that anyone attempting this project will have the skills required for circuit and drilling layout, as well as drilling and threading capabilities. It will also assume that anyone attempting this project will thoroughly read and understand all pertinent documentation before commencing. Our main sources for documentation will be acquired from the following websites:

Parallax, Inc.
http://www.parallax.com/

Geckodrive, Inc.
http://www.geckodrive.com/

Antek, Inc.
http://www.antekinc.com/

To make our Multi-Axis Propeller Proto Board CNC Controller / Power Supply, our main components will be the Parallax Propeller Proto Board, three, four, or five G251X 10 Microstep Digital Drives (stepper drivers), and an Antek 48VDC 800W power supply. The necessary documentation can be obtained from the following links:

Parallax Propeller Proto Board

General Information:
http://www.parallax.com/Store/Microcontrollers/PropellerDevelopmentBoards/tabid/514/CategoryID/73/List/0/SortField/0/Level/a/ProductID/423/Default.aspx

Propeller Proto Board Manual:
http://www.parallax.com/Portals/0/Downloads/docs/prod/prop/32212-32812-PropellerProtoBoard-v1.3.pdf

G251X 10 Microstep Digital Drives

General Information:
http://www.geckodrive.com/g251x-p-38.html

G251X Manual:
http://www.geckodrive.com/images/fck_uploads/G251 REV-9 MANUAL FORMATTED.pdf

Antek 48VDC 800W Power Supply:

General Information:
http://www.antekinc.com/details.php?p=417

Datasheet:
http://www.antekinc.com/pdf/PS-8N48R.pdf

Generally The Main Parts Required:
1 - Parallax Propeller Proto Board
3, 4, or 5 - Geckodrive G251X 10 Microstep Digital Drives
1 - Antek 48VDC 800W Power Supply with 5V and 12V regulators (5V regulator is not required)
1 - Antek 8V/1A regulator (*SPECIAL ORDER - They might substitute this for the 5V regulator when place your order)
1 - NEMA Type 1 enclosure (16" X 16" X 6")
4 - rubber feet for the enclosure
4 - 80mm X 80mm 12V PC cooling fans (each fan must use less than 0.25A)
4 - 80mm X 80mm fan guards
6' - 12/3 Type SO cord
1 - Cord connector for SO cord
1 - 125V/15A Cord end for SO cord
1 - Plug end from a junk AC adapter
Grommets
4" Cable ties
Numerous - Male/Female standoffs 3/4" length

Generally The Main Steps Required:
1. Plan and integrate numerous connectors into your electrical design for easy disassembly
2. Wire up the Proto Board with all the necessary circuitry and headers
3. Layout the drill holes on the enclosure for mounting the rubber feet, power supply, Proto Board, fans, SO cord connector, stepper motor cables, switches, LEDs, etc...
4. Drill all the necessary holes in the enclosure. When drilling holes to run cables from the inside of the enclosure to the outside, drill the holes large enough to accommodate a rubber grommet for your cables to prevent scraping, scuffing, and cuts.
5. If you want a different color, paint the enclosure.
6. Mount the rubber feet to the enclosure.
7. Depending on the power supply and your order, you may need to substitute 5V regulator with the 8V regulator, either way, ensure there is a 8V regulator mounted to the power supply.
8. Generally it is easier to add leads to the power supply before mounting it in the enclosure, so do this now, but instead of adding leads to the 8V regulator, add the plug end from a junk AC adapter (please ensure proper polarity). Please note that the leads from the 12V regulator must be long enough to reach one of the fans.
9. Mount the power supply to the bottom of the enclosure using nuts, bolts, and lockwashers.
10. Add the 125V/15A cord end and the cord connector to the SO cord.
11. Secure the SO cord connector to the enclosure, and ground the SO cord to the enclosure.
12. Mount and secure the cooling fans on the inside of the enclosure with the fan guards on the outside. Please ensure that there are two fans on opposing sides of the enclosure with one pair pushing air and the other pair pulling air. Also ensure that fans are situated to allow the best unrestricted air movement.
13. Wire up the cooling fans to the 12V leads.
14. Insert four standoffs in the bottom of the enclosure for mounting the Proto Board.
15. Insert two standoffs into the VGA mounting holes of the Proto Board and secure.
16. Wire up the G251X drives with necessary leads and connectors.
17. Add a G251X driver atop the two previously placed standoffs and secure with another two standoffs.
18. Repeat the last step until all G251X drives have been mounted.
19. Secure the Proto Board to the bottom of the enclosure atop the four previously placed standoffs with the proper screws.
20. Plug the 8V AC adapter end into the Proto Board.
21. Complete all other necessary wiring and hardware mounting. Please note that when running cables from the inside of the enclosure to the outside through the previously mentioned grommets, add cable ties to both sides of the grommet to prevent cable slippage.
22. You may also want to consider fabricating some wire looms for the main power wires going to the G251X drives just to give them a little more support and a little less strain.

The Software For Driving The Motors:

To avoid rewriting all the necessary information, here is another article that I wrote, which contains all the necessary software and documentation to get your motors spinning at more that 15 revs per second. Please read and study all the information on this thread pertaining to the use of the software.


http://forums.parallax.com/showthread.php?132373-PulseTheStepPin-revisted-Questions-answers-problems-solutions

I hope you find this article useful. ENJOY!!!

Bruce

EDIT: As an additional note, there should be plenty of room within the enclosure for a second Proto Board, just in case you want a seperate board for your user interface or you run out of pins and cogs. There are plenty of communication objects within the object exchange for communication purposes between two Propeller chips.

Comments

  • doggiedocdoggiedoc Posts: 2,245
    edited 2011-12-04 04:31
    Very detailed and nice write up Bruce. I didn't follow each link, but will in time. Good job sir.

    Paul
  • StephenMooreStephenMoore Posts: 188
    edited 2011-12-04 17:18
    Interesting.

    Looks like the total tab on the electronics portion of a 5 axis stepper CNC unit to be about $600.

    It's not exactly pocket change but then the ease of integration, speed, power and simplicity of programming with the multi-core Prop are fantastic.

    Gecko also offers some great low cost motors as does Oriental (www.orientalmotor.com).

    I'd love to see some low cost options on axes configurations (e.g. belt , screw, rack, etc).

    Great job Bruce.
  • idbruceidbruce Posts: 6,197
    edited 2011-12-05 02:52
    @StephenMoore

    It is not a cheap setup by any means, but it is a nice plan. I have a very similar setup on my wire bending CNC. As for the low cost drive configurations, well that is a completely different topic. It all costs money, with different levels of difficulty, accuracy, reliability, and functionality. I am not expert on drive configurations, but in my opinion belts are a very nice option if you need speed and accuracy, but loads are susceptible to shifting, whereas the lead screws offer accuracy and rigidity to prevent load shifting. As for racks, they cost a lot of money, very hard to find an appropriate gear, and I have not had good experience with racks. I personally prefer the lead screws and have been devising low cost solutions for lead screw drive mechanisms for my machinery, but alas they are currently trade secrets until I go to market with my equipment. The best advice that I can give is to put on your thinking cap and do a lot of research pertaining to backlash, tolerances, and linear travel. There are definitely ways to make reliable inexpensive drives, but you have to stretch the old imagination.

    Thanks for your comments.

    Bruce
  • StephenMooreStephenMoore Posts: 188
    edited 2011-12-05 21:26
    Hi Bruce,

    I keep my eyes open for used/surplus mechanical units that can be re-purposed and fit roughly a 2'x2' x1' envelope.

    On the software side of things, what sort of scheme do you see for TCP trajectory planning between a point file and the motion program on the Propellor?

    It seems that 1 cog dedicated per axis for drive control and 1 cog planning the coordinated speed and destination for each cog, the job could be fairly straight forward. I think that any path file would have to be generated from some sort of PC based solids modeler.

    One of my first applications is for a PCB resist exposure (focused UV lamp beam) and drill router machine. I'd like to be able to rapidly prototype low cost boards. However, I am a ways away from getting all of the pieces together. I would definitely like to take your approach for the drive control system.

    Please keep us posted on your system software development!

    SM
  • idbruceidbruce Posts: 6,197
    edited 2011-12-06 04:28
    @StephenMoore
    On the software side of things, what sort of scheme do you see for TCP trajectory planning between a point file and the motion program on the Propellor?

    I am not sure what you are asking.
    It seems that 1 cog dedicated per axis for drive control and 1 cog planning the coordinated speed and destination for each cog, the job could be fairly straight forward. I think that any path file would have to be generated from some sort of PC based solids modeler.

    This approach sounds very wrong to me if you plan to use my software. Take an Eagle DRD file for example, it contains all the coordinates, tool changes, etc... for PCB drilling. I would use 1 cog for parsing the file, and then assign a new cog for each movement of an axis and when the movement is complete then end the cog.

    The software that I linked to on this page is already complete, I currently use this software on several stepper driven machines. PuleTheStepPin is a very versatile function that gives you several different parameters to finely tune the speed and movement of the stepper.
    PUB PulseTheStepPin(TotalSteps, StepPin, RampingRange, SpeedRange, CycleOffset, RampSpeedAdjuster)
    

    As you go through a DRD file, just run this function in a new cog with the proper parameters. At close to top speed, using 1/4-20 lead screws, this function can move an axis a little faster than 1.25 inches per second.

    Bruce
  • prof_brainoprof_braino Posts: 4,313
    edited 2011-12-06 18:30
    I hope to get a project appropriate for this hardware. I'm still learning on the Prusa build project from the other thread, but getting started on that project was inspired by your wire bending machine. Thanks again for sharing, and your help.
  • photomankcphotomankc Posts: 943
    edited 2011-12-06 23:25
    idbruce wrote: »
    @StephenMoore
    PUB PulseTheStepPin(TotalSteps, StepPin, RampingRange, SpeedRange, CycleOffset, RampSpeedAdjuster)
    

    As you go through a DRD file, just run this function in a new cog with the proper parameters. At close to top speed, using 1/4-20 lead screws, this function can move an axis a little faster than 1.25 inches per second.

    Bruce

    Yeah, now put that to work on some nice ballscrews at 5 turns per inch and that would really fly.
  • idbruceidbruce Posts: 6,197
    edited 2011-12-07 01:22
    @prof_braino - Your welcome. I have been doing a lot of designing and building since your visit. Several other machines have already been built, with a couple more in the works. Perhaps you might want to drop by in a couple months or so to see the progress being made and the new machinery.

    @photomankc
    Yeah, now put that to work on some nice ballscrews at 5 turns per inch and that would really fly.

    At the moment, I can only dream of such things :)

    If you really want to see things fly, run this software through a timing belt drive. :) I currently have one timing belt drive running this software and I had to slow it down immensely. It was throwing my product across the room :) (Okay I exaggerated a little, off the table + three feet)

    Please keep in mind that the stated stats are for a minimun load with very little drag.
Sign In or Register to comment.