Author Topic: X-Y table  (Read 2893 times)

0 Members and 1 Guest are viewing this topic.

Offline Zom-BTopic starter

  • Regular Contributor
  • *
  • Posts: 55
  • Country: nl
X-Y table
« on: July 29, 2020, 12:35:29 pm »
I want to make an X-Y table of 3x3 meter using extrusion pipes/rods (or similar), stepper motors, and end switches. I found candidate drivers based on DRV8825, Pololu A4988, and TMC21xx at a local 3D printer shop. I'm not sure whether the X motor will be on the moving bridge or if I'll use the H-frame type with two fixed motors (see image).



My real question is, what would be the right software to control this? All it has to do is go to a specified point (acceleration-limited movement) and stay there until the user specifies the next point. The points will be in a list of points which should be repeatable without having to type the coordinates every time.

I prefer using a laptop, but in order to connect the end switches and drivers, I assume I can't get away without using a RPi. Is that correct? Otherwise, what connectivity and USB->I/O converter would the PC software use? I saw one example using an Arduino MEGA and RAMPS shield.

Bonus points if the software can be controlled by command-line, a python script or similar (in which case the software itself doesn't have to support a "list of points").

Alternatively, all software could be contained in the Arduino if it supports simple serial command like G-codes G28 and G1, and does so with limited acceleration.
« Last Edit: July 29, 2020, 01:05:29 pm by Zom-B »
 

Offline mikerj

  • Super Contributor
  • ***
  • Posts: 3328
  • Country: gb
Re: X-Y table
« Reply #1 on: July 29, 2020, 01:22:07 pm »
Something like an SKR Mini would likely be the easiest and probably cheapest way to control this.  Firmware is open-source (Marlin) and you can add an LCD touchscreen/encoder for very little money to enable manual control if you need it.
« Last Edit: July 30, 2020, 12:12:39 am by mikerj »
 
The following users thanked this post: Zom-B

Offline sleemanj

  • Super Contributor
  • ***
  • Posts: 3047
  • Country: nz
  • Professional tightwad.
    • The electronics hobby components I sell.
Re: X-Y table
« Reply #2 on: July 29, 2020, 01:32:21 pm »
I'd just use a 3d printer control board, and standard 3d printer firmware like Marlin on it ( https://github.com/MarlinFirmware/Marlin )

Just ignore the Z and E axes.  Firmware will allow you to control the acceleration etc you want, and you can just send the appropriate G code for homing and positioning (USB-UART serial).
~~~
EEVBlog Members - get yourself 10% discount off all my electronic components for sale just use the Buy Direct links and use Coupon Code "eevblog" during checkout.  Shipping from New Zealand, international orders welcome :-)
 

Offline Zom-BTopic starter

  • Regular Contributor
  • *
  • Posts: 55
  • Country: nl
Re: X-Y table
« Reply #3 on: July 29, 2020, 01:52:37 pm »
Thanks for the response. The SKR Mini looks promising but might be a bit overkill on the firmware side. Does it support setting acceleration via serial link or only via LCD/encoder?
 

Offline mikerj

  • Super Contributor
  • ***
  • Posts: 3328
  • Country: gb
Re: X-Y table
« Reply #4 on: July 29, 2020, 03:30:53 pm »
You can configure acceleration via G code over the USB link.
 

Offline phil from seattle

  • Super Contributor
  • ***
  • Posts: 1044
  • Country: us
Re: X-Y table
« Reply #5 on: July 29, 2020, 04:04:01 pm »
3 M x 3 M may be an issue for a belt driven mechanism - that's pretty big.  Have you looked at other belt driven machines that size?  How accurate does it need to be?  You are going to wind up with about 18 M of belt.  I don't know how much stretch that will have but worth knowing before building it. You will have to put pretty high tension on it. Definitely get high quality belts but they all have some stretch. Actual stretch specifications seem hard to come by.

I second the 3D printer board suggestion.  Marlin 2 is 32-bit and I would focus on using that. You can control the whole thing via USB from your laptop.
 

Offline Renate

  • Super Contributor
  • ***
  • Posts: 1460
  • Country: us
Re: X-Y table
« Reply #6 on: July 29, 2020, 06:39:49 pm »
Hmm, that's an interesting configuration.
If the two motors are considered "X" and "Y" then you end up with a coordinate system that is rotated 45 degrees.
This might make homing and limiting a bit confusing.

I'd think that you'd have to modify the software for X = sum and Y = difference (or the other way around with polarity).
Or am I missing something? Is this totally normal and an option that Marlin has already?

Edit: My bad. I didn't realize that everyone in the universe knew about H-drive but me.
« Last Edit: July 29, 2020, 06:59:50 pm by Renate »
 

Offline chris_leyson

  • Super Contributor
  • ***
  • Posts: 1549
  • Country: wales
Re: X-Y table
« Reply #7 on: July 30, 2020, 08:59:20 am »
HP used to make a flat bed X-Y plotter that way and they used stranded steel wire. Not sure what they used for drive motors but I don't think they were steppers. Can't remember the model number but it had two fixed motors and a single steel drive wire, I got to service one when working at Winnersh for a while. I think there was a problem with the electrostatic paper holding so that may help date it.
« Last Edit: July 30, 2020, 10:10:45 am by chris_leyson »
 

Offline Zom-BTopic starter

  • Regular Contributor
  • *
  • Posts: 55
  • Country: nl
Re: X-Y table
« Reply #8 on: July 30, 2020, 09:23:25 am »
The accuracy I require can be expressed in millimeters. Probably a centimeter will be adequate but at least for the first build I'd be tuning it until it's at worst 2mm. Considering the belt stretch I don't think I'll go for the H-frame design. The traditional design has less than half the belt and I just found a nice 'extensible' design: https://pinshape.com/items/46225-3d-printed-a0-flexible-sized-plotter-including-software
« Last Edit: July 30, 2020, 09:25:52 am by Zom-B »
 

Online moffy

  • Super Contributor
  • ***
  • Posts: 2121
  • Country: au
Re: X-Y table
« Reply #9 on: July 30, 2020, 09:25:13 am »
Look at GRBL, it uses an arduino uno or even nano. Lot's of configurations and it uses standard GCode. Make sure your steppers have enough drive and I agree I think 3m x 3m is too large for a belt, you'll get stretch. You can buy some TB6600 stepper drivers, in a case, cheaply and they work very well. I've used 3 and they are great.
 
The following users thanked this post: Zom-B

Offline phil from seattle

  • Super Contributor
  • ***
  • Posts: 1044
  • Country: us
Re: X-Y table
« Reply #10 on: July 30, 2020, 04:00:43 pm »
Look at GRBL, it uses an arduino uno or even nano. Lot's of configurations and it uses standard GCode. Make sure your steppers have enough drive and I agree I think 3m x 3m is too large for a belt, you'll get stretch. You can buy some TB6600 stepper drivers, in a case, cheaply and they work very well. I've used 3 and they are great.

Yeah, grbl would work too.  On the TB6600 steppers - most being sold on ebay/amazon/whatever are actually counterfeits and have a lesser controller in them. You can tell easily because they have a 1/32 microstep and the real TB6600 doesn't. They do work, just don't expect to get more than about 2/3 of the step current.
 

Offline jmelson

  • Super Contributor
  • ***
  • Posts: 2824
  • Country: us
Re: X-Y table
« Reply #11 on: July 30, 2020, 04:19:02 pm »
I want to make an X-Y table of 3x3 meter using extrusion pipes/rods (or similar), stepper motors, and end switches. I found candidate drivers based on DRV8825, Pololu A4988, and TMC21xx at a local 3D printer shop. I'm not sure whether the X motor will be on the moving bridge or if I'll use the H-frame type with two fixed motors (see image).


My real question is, what would be the right software to control this? All it has to do is go to a specified point (acceleration-limited movement) and stay there until the user specifies the next point. The points will be in a list of points which should be repeatable without having to type the coordinates every time.

I prefer using a laptop, but in order to connect the end switches and drivers, I assume I can't get away without using a RPi. Is that correct? Otherwise, what connectivity and USB->I/O converter would the PC software use? I saw one example using an Arduino MEGA and RAMPS shield.

Bonus points if the software can be controlled by command-line, a python script or similar (in which case the software itself doesn't have to support a "list of points").

Alternatively, all software could be contained in the Arduino if it supports simple serial command like G-codes G28 and G1, and does so with limited acceleration.
Machinekit on a Beagle Bone with the CRAMPS board will directly mount any Pololu-compatible drivers (I think the 4988 are better than the 8825), for a relatively inexpensive and very compact system.  (The CRAMPS board pulgs right on top of the Beagle.)

Full disclusure :  I make the CRAMPS boards.

programming is in G-code (RS-274), although there are other ways of doing it.

Jon
 

Online moffy

  • Super Contributor
  • ***
  • Posts: 2121
  • Country: au
Re: X-Y table
« Reply #12 on: July 31, 2020, 12:24:49 am »

Yeah, grbl would work too.  On the TB6600 steppers - most being sold on ebay/amazon/whatever are actually counterfeits and have a lesser controller in them. You can tell easily because they have a 1/32 microstep and the real TB6600 doesn't. They do work, just don't expect to get more than about 2/3 of the step current.

Didn't know that, thanks. :)
 

Offline langwadt

  • Super Contributor
  • ***
  • Posts: 4766
  • Country: dk
Re: X-Y table
« Reply #13 on: July 31, 2020, 02:40:43 am »
 

Offline wizard69

  • Super Contributor
  • ***
  • Posts: 1184
  • Country: us
Re: X-Y table
« Reply #14 on: July 31, 2020, 08:16:18 pm »
Without defining what the XY able is doing for is for it is not possible to give solid advice.   In any event some general comments:

Number 1 I hate H-Bots.   They generally appear to be the result of some engineer doing a "see what I can do" without any real experience as to what the resultant creation is.  What they are is more trouble than they are worth.

I want to make an X-Y table of 3x3 meter using extrusion pipes/rods (or similar), stepper motors, and end switches. I found candidate drivers based on DRV8825, Pololu A4988, and TMC21xx at a local 3D printer shop.
Without more information my guess would be that the mechanism mass is more that the drivers here and the small stepper they drive can handle.   Basically you need to consider how much torque you can get out of steppers driven by one AMP.
Quote
I'm not sure whether the X motor will be on the moving bridge or if I'll use the H-frame type with two fixed motors (see image).
I'd avoid an H-Bot at all cost unless you have a very specific needs for an H-Bot characteristic.   Beyond that belt drive can be very good in many XY systems but you need to be real careful about systems that produce reaction forces like mill / routers.
Quote


My real question is, what would be the right software to control this? All it has to do is go to a specified point (acceleration-limited movement) and stay there until the user specifies the next point. The points will be in a list of points which should be repeatable without having to type the coordinates every time.
There are so may solutions or ways to do this that ultimately it is up to the engineer to choose what is easy for him.   For instance you can go the the CNC approach which means code written in some form of G-Code.   This is a slightly higher level language designed for motion control.   You can implement an extremely low end solution on an Arduino with the GRBL software or go high end with a FANUC controller.

You second alternative is to use the various single board computers and a bit fo C++ to write your own control software.   Depending upon the board and the libraries available this may or may not be easy.

The third alternative is to use intelligent drives with an Indexer interpreter built in.   Here you simply tell the drive to move to a specific position.   Depending upon the drive it might be as simple as telling the drive, over RS232, to move to a specific position.

The four approach would be a PLC with a motion module plugged into the backplane.   The advantage here is you can integrate motion control with the rest of the machines control needs.

There are likely many more approaches but these are off the top of my head.
Quote

I prefer using a laptop, but in order to connect the end switches and drivers, I assume I can't get away without using a RPi. Is that correct?
No, but here are qualification.   You can hook up most fo your control needs to an Arduino running GRBL.   GRBL however would require an interface app of some sort on a ""PC"".   That PC could be a RPi.   
Quote
Otherwise, what connectivity and USB->I/O converter would the PC software use? I saw one example using an Arduino MEGA and RAMPS shield.
Again that depends upon the route you choose and frankly it depends upon what this XY table will be doing.
Quote
Bonus points if the software can be controlled by command-line, a python script or similar (in which case the software itself doesn't have to support a "list of points").
Given enough time you can write a Python script to do anything.   You could even make a new GUI for GRBL.
Quote
Alternatively, all software could be contained in the Arduino if it supports simple serial command like G-codes G28 and G1, and does so with limited acceleration.
I get to the end here an really don't know what you are after.   It looks like you know what your options are but have an inability to move forward.   Without more info on this project I really can't offer direction either.   If this is a machine for  commercial usage, in a business with employees, realize that you have a whole host of safety issues to address.

A 3 meter x 3 meter machine is pretty big and is going to have some mass to it no matter what it is doing.   This means you  need to up scale your controls and the simple drive and stepper systems of a small 3D printer will not be optimal.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf