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
Smarter Life
  • Challenges & Projects
  • Design Challenges
  • Smarter Life
  • More
  • Cancel
Smarter Life
Blog Smarter Life Challenge - The perks of using a robot arm to make coffee
  • Blog
  • Forum
  • Documents
  • Files
  • Events
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: PaulMakesThings
  • Date Created: 25 Nov 2013 3:46 AM Date Created
  • Views 495 views
  • Likes 0 likes
  • Comments 4 comments
  • psoc4
  • smarter_life_challenge
  • smarter_life
  • auto_barista
Related
Recommended

Smarter Life Challenge - The perks of using a robot arm to make coffee

PaulMakesThings
PaulMakesThings
25 Nov 2013

My big build is coming up, but for now it's all about motion control.

 

With all my of encoder talk so far, one might wonder what I am trying to do with them. Early on as an automation engineer you learn that we don't often build robots like you might imagine, arms or humanoids for example, we usually build movement frames for specific tasks. For example if we want to be able to change out cutting tools off a rack, we don't make an arm that can reach the rack and the machine, at least not a very free moving one, it would usually be a rail or an arm that could just move to the positions needed. Well, I was looking at all of the movements needed to make espresso and coffee, fresh ground and with add-ins, and I was thinking, this won't be modular enough. Then I realized, this is for fun and to show people what you can do with a microcontroller. So, I'm building a robot arm. I know it might sound over complicated, and if I were building a commercial coffee machine it would have a set of features specified, and I would make the simplest possible set of movements to do each of the tasks needed. But I want to expand this over time, but still have it do as much as possible by the end of the contest.

 

So the question I've been working on is what to use to run this arm. There are lot's of options. Big, precise, industrial robots often use brushless AC servo motors with optical encoders or magnetic resolvers. These can move very quickly without worrying about losing track of their position, the equipment to drive, decode and control these servos costs in the 5 or 6 figures per axis. On the other end of the price spectrum you have hobby servos which usually use photometers for position, they cost a few dollars, and due to integrated control circuitry can be controlled with nothing but a PWM signal from a microcontroller. but they are not highly accurate, but can usually get within about 2º (that's from my experience, not a technical quote). Then of course you have the CNC hobbyists best friend, the stepper motor. I will admit, my fellow automation engineers do not like steppers, if we buy a gearbox and it comes with one attached my manager will take the stepper off, toss it and leave it (and I pull up quick to retrieve it). Their main reason is that in a process run by AI, in which the motion profile may change, steppers can miss steps and throw everything off. But that is in thinking of industrial production applications where you need to, for example, place 8 million chips between maintenance times without messing up and the system costs over a million dollars. Steppers are a great balance between price and reliability when you need to run processes at around 1 misstep every 4 hours, and don't want to pay 100 times as much to get that up to 1 misstep every 8 weeks.

 

I was considering making my own brushed DC servos, this would be a regular DC gear motor with a low cost encoder attached. The controller would then use a PID control scheme to compare the current position and speed with the target position and run the motor to the right spot. The PSoC 4 could actually handle this pretty well since it can read encoders in hardware, and it has sufficient processing power if programmed efficiently to run the PID loop, which is no easy task. But I'm thinking at this point I'll aim for something of a psudo stepper servo, a system which uses the open loop, processor easy positioning of a stepper, and uses lower end encoders to check that the position is matching up every once in a while, which can still be 100 times a second, just not the nearly real time rate needed for true PID servo control.

 

Sorry for the lack of technical or design data in this update. Soon I'll have all the parts I need to test my coordinated move code, and hopefully it will be of value to the community here.

  • Sign in to reply
  • PaulMakesThings
    PaulMakesThings over 11 years ago in reply to vsluiter

    Thanks for the tips. Yes, the heaviest thing it will need to move will be a full mug of coffee, which I suppose weighs around 1 lb, and it will not need to do it fast or at full extension. In fact I think it only needs to work on a vertical plane of about 12x16 inches with a little depth, and not much extension. I am considering the pololu encoder motors. I understand PID control and inverse kinematics well, so I have that advantage, but actually putting it all in place will still take quite some time.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • vsluiter
    vsluiter over 11 years ago

    Hi Paul,

    My department actually builds robot arms, and yes, that is challenging image

    Because you don't need the full power of a human arm (do you?) I'd like you to consider these options:

    • Pololu delivers 25mm and 37mm diameter motors with incremental encoders (still need to add an absolute reference!). Very nice to do PID with, you also need to do that because the gearbox inertia is quite big.
    • Herkulex servo motors; these are fast, and VERY controllable servo motors with lots of options in their control (register interface instead of simple 50Hz control). The cheap ones ($40) have plastic gearing, the expensive ones ($140?) are metal. Please look into their specs, I was surprised.

     

    And before I forget:

    Congratulations on choosing a fun design target instead of a functional one. This is supposed to be your spare time!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • PaulMakesThings
    PaulMakesThings over 11 years ago in reply to DAB

    Yes, that's always the big question. But it's actually part of why I chose this unorthodox route. If I add a mechanism for each feature, then it is very hard to trim the feature list to the right length. I would hate to say I'm going to give it the ability to, grind, brew, froth, mix, add toppings and load and unload cups, then not finish the whole integrated thing and have nothing to show. If I have a robot arm that works at all I can add features as I go. I will be putting up a post soon detailing my progress, so far gathering the mechanical components is going very well, and that's a hard part because these parts are far too expensive to buy new, and surplus places are hit or miss.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • DAB
    DAB over 11 years ago

    Hi Paul,

     

    I look forward to seeing your arm design.

    I am curious if your approach will meet your timing needs, but then you might already have that figured out. image

     

    DAB


    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
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