element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
BeagleBoard
  • Products
  • Dev Tools
  • Single-Board Computers
  • BeagleBoard
  • More
  • Cancel
BeagleBoard
Blog Hackerspace challenge: PS1 PnP update
  • Blog
  • Forum
  • Documents
  • Quiz
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join BeagleBoard to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: fustini
  • Date Created: 15 Jul 2013 10:28 PM Date Created
  • Views 862 views
  • Likes 2 likes
  • Comments 0 comments
  • cape
  • tinyg
  • python
  • beaglebone_black
  • ps1
  • motor_controller
  • chicago
  • nerp
  • bbb
  • BeagleBone
  • texas_intruments
  • pumping_station_one
  • hackerspace_challenge
  • bb_black
  • beagle_bone_black
  • leedshackspace
  • psone312
  • ti
Related
Recommended

Hackerspace challenge: PS1 PnP update

fustini
fustini
15 Jul 2013

Before I write about the Pick-n-Place (PnP) project at The specified item was not found. (Chicago's hackerspace), I thought those of you that might be Dr. Who fans would appreciate what we put on the roof of our building):

image

source: http://pumpingstationone.org/2013/04/party-time-is-coming-up-fast/

 

PnP motion control idea #1 - LinuxCNC:

Our first idea was to leverage existing open source CNC software called LinuxCNC (formerly EMC2).  Old PCs with parallel ports can be used to build a CNC controller with LinuxCNC.  We like this low cost approach to CNC and felt makes sense to replace a builky PC with a single board computer like the BeagleBone Black . 

 

imageimage

source: http://www.linuxcnc.org/

 

We discovered there was already a pre-built SD card image for the original BeagleBone.  However, it utilized the Linux 3.2 kernel whereas the BeagleBone Black (BBB) currently requires the 3.8 kernel.

 

I did some research which I documented in this thread: BeagleBone LinuxCNC blog.  I then discovered one of the developers is a Community member, mhaberler, and he explained the current effort to port LinuxCNC to the BeagleBone Black and 3.8 kernel.  He also pointed out the BeagleBone LinuxCNC which had a relevant post:

 

BeagleBone Black, Linux 3.8, and Device Tree

http://bb-lcnc.blogspot.com/2013/06/beaglebone-black-linux-38-and-device.html

 

Our team decided we didn't have the skills to help with the neceessary Linux kernel modifications.  There wasn't much we could do until the LinuxCNC developers had some more time, so we decided to look at other solutions.  As I'm writing this now, I see that their work has progressed where they can use the BeBoPr 3D printer cape with the BBB:

 

Using a BeBoPr with a BeagleBone Black

http://bb-lcnc.blogspot.com/2013/06/using-bebopr-with-beaglebone-black.html

 

 

PnP motion control idea #2 - Replicape PRU & Python code:

After the launch of the BBB, I kept seeing great tutorials by Elias Bakken on his Hipster Circuits website.  I discovered he'd previously designed a 3D printer cape for the original BeagleBone called the Replicape:

 

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

 

Elias uses the BeagleBone PRU to handle steppper motor acceleration and send step and direction signals to TI DRV8825 stepper motor driver ICs :

image

source: http://hipstercircuits.com/accelerated-stepper-motors-on-beaglebone/

 

Elias also wrote a great library to allow him to control the PRU from Python in Linux on the Bone:

 

PyPRUSS – A simple PRU python binding for BeagleBone

http://hipstercircuits.com/pypruss-a-simple-pru-python-binding-for-beaglebone/

 

I reviewed his code for the Replicape to see how we could adapt it for our use case.  However, in the end, we decided that unless we are actually using the Replicape itself that we'd be better off sticking with the TinyG controller.  Elias has been working on a new version which is BBB-compatible:

 

Replicape Revision A2 ready for review

http://hipstercircuits.com/replicape-revision-a2-ready-for-review/

 

 

PnP motion control idea #3 - Use TinyG and write Qt app:

Meanwhile, the PS1 member who designed the PnP gantry, Ed Bennett, had tuned the TinyG controller for the motors in the gantry.  This improved the performance and made us realize it would be counterproductive to PnP project to replace the TinyG with out own solution.  Even though the BBB wouldn't create the stepper motor signals, it could still play a critical role in generating the gcode that is sent to the TinyG.  The TinyG would connect to the BBB's USB host port and allow for simple serial communication.

 

To exercise the gantry, Ed then had the idea to write a Qt app in Python using PyQt that would generate gcode based on the movement of the mouse and print gcode to the USB serial port for TinyG to interpret:

image

I've since gone through the process of getting it to run on the BBB which required rewriting it for Qt4.  I'll write more about that and the features we plan to add to our Qt app in the future.  I'll also talk about the design process and machining Ed has been doing for the vacuum nozzle (which will pick up and place the parts).

 

Cheers,

Drew

http://twitter.com/pdp7

  • Sign in to reply
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube