josspoggSeptember 8, 2014 at 02:06 #6033
Hi, some interesting and cool stuff going on here.
I’m an amateur telescope maker (ATM) looking to solve a few design challenges for makers of binoscopes – essentially two telescopes joined to become a binocular telescope – by converting a standard truss system into a pair of Arduino controlled hexapods, or Stewart platforms. My reasoning is that a pair of Stewart platforms will solve the complex alignment issues that binoscopes experience and also reduce weight, essentially by eliminating all the normal mechanisms employed for adjusting and aligning optical components including collimation, focus, inter-pupillary distance (IPD) and convergence, many of which are mounted at the top end and must be compensated for with counterweights.
This photo shows a typical binoscope (not mine) and is found here http://arieotte-binoscopes.nl/Binoscopes.htm which has a few other links and images that may be of interest.
My plan is to mount a small robust stepper motor (Nema 17) with a threaded linear actuator shaft at the base of each truss leg so that the threaded rod assembly extends and retracts the length of the truss. The threaded rod is tapped into a delrin insert fitted tightly into the 1″ aluminium truss tube – this is a proven system I have working on my present unmotorised hexapod mono-telescope. Each truss needs to be controlled individually, so that means 12 stepper motors, 6 for each platform, and a controller that can handle 12 motors. The truss extensions required are fairly minor, no more than 50mm at max for focussing, and all other adjustments are tiny; these platforms don’t need to wave around into amazing positions, but they do need to be very stiff, lightweight, stable and, ideally adjustments should be repeatable and perhaps programmable (ie, say, offset focus by a defined amount when swapping eyepieces, adjust IPD by a defined distance when changing observers). But all possible adjustments will also need to be manual, that is, as the user looks through the eyepiece at stars he/she will manually tweak the focus and align the images by eye by pressing buttons of toggling switches etc. The Arduino isn’t really required for complex positional control or even speed so much as simple coordination, aka, converting a simple command into a coordinated action. Focus UP simply means driving all motors together in the same direction at the same speed, and so on.
Anyway, all that I can handle, my real problem is that I am a complete newbie to Arduino, and I have no experience running stepper motors. I have some limited experience with industrial PLCs and am electrically qualified, but aside from dabbling with electronics 30 years ago I haven’t really kept up with all the wonderful toys available to hobbyists these days. So I am wondering where to start and I’m hoping you can help me with a few questions before launching myself in too deep.
1. the stepper motors must not get hot, or else rising warm air currents will ruin the seeing and spoil the view. Presumably this means I must power down the motor power circuit when not making adjustments. Is this sensible? Note that I’m not relying on the motors to maintain position, only to make adjustments. However I wouldn’t want the stepper motors to jump about and lose a hard won alignment as they were repowered either. Ideally they should stay in a very low powered state ready to go. Is this possible?
2. I looked at the Rumba board with a view of running two Rumba’s in parallel as a physically neat solution, but it doesn’t have enough I/O connections, instead it can connect to a Smart Controller that utilizes the remaining I/O. The LCD package usually advertised with it doesn’t suit my requirements, I just want plain digital and/or analogue inputs for push buttons, pots and toggles. Is there a Smart Controller type of expansion card available that would give me hard wired access to the inputs?
3. failing (2) I would consider using a 3rd Arduino package just for the inputs if I had to. This means I would now have 3 Arduino’s talking to each other. How might this work in practice? How would they physically connect? And could they connect wirelessly?
4. failing (3) should I just use an Arduino Mega variant and mount the 12 motor drivers on…what? A breadboard? A megashield? Or individually somehow lashed up with the motors? (Note the single Arduino option will leave me without enough I/O to include limit switches and digital display readouts etc – not a showstopper but less desirable).i-make-robotsSeptember 8, 2014 at 16:46 #6772
1. how hot is too hot? they can be adjusted to be barely above room temperature. If you are using leadscrews then you can probably power off the motor most of the time – it takes an incredible amount of linear force to move a leadscrew (you’d have to destroy the teeth on the screw to do it)
2. Use one RUMBA for each stewart, and two USB connections to a program on your PC. If this has to be mounted outside somewhere, consider connecting both RUMBAs to a raspberry pi, then accessing your robot via SSH. From your PC you can add any software solution you like – buttons, dials, joysticks, auto-homing, whatever.
4. RUMBAs are already MEGAs with motor shield built in.
This is a really interesting project! I’d like to know how you make your lead screws. I know another customer who might want to use your solution and I’d like to get you sharing with each other.josspoggOctober 5, 2014 at 23:07 #6773
Thank you for your replies.
1. Any heat is bad heat as warm air rising through the light path distorts it, and makes the stars wobble (spoils the seeing). Good to know motor can be unpowered, presumably as part of Arduino command sequence, that will prevent the problem arising. I had read so many comments about motors being too hot to touch I had to ask, as even a 2-3 degrees C difference is enough to have an effect.
2. Agree with 2 x Rumba, one for each Stewart platform, is most logical setup. However I don’t want to drive it via a PC. If I must have a smart interface it could be an iPad (and I haven’t even looked at whether that is an option yet) but my strong preference is for buttons toggles and knobs, aka, things I can operate by feel in the dark. The last thing I want is a computer screen ruining dark-adapted vision, and I need to make adjustments whilst looking through the eyepiece, not at a screen. It would be worth having yet another Arduino dedicated as an input device, perhaps as master, should that prove necessary.
3. I’ve now modified my design proposal so as to utilize the Wantai 3D NEMA14 Stepper Linear Motor 12V, 0.01Step,100mm Stroke 39BYGL215A. This means that the truss tubes do not and cannot rotate (losing the manual adjustment feature) but I think simplifies wiring and other mechanical mounting from the point of view of portability (the binoscope must routinely be dismantled for travel to a dark sky site). Note that the Wantai linear screw does not rotate either. Essentially it is a M5 threaded rod that moves linearly through the motor. Or at least that’s how I think it works, I won’t really know until I buy them. My plan is to fix one end of the screw to the binoscope mirror cell via a small Heim joint (to allow angular freedom of movement) and attach the truss tube to the motor body – x 12 – via a detachable coupling which I have yet to engineer.i-make-robotsOctober 6, 2014 at 03:48 #6774
Motor heat can be reduced by turning down the potentiometers on the polulu shields.
Motors can be disabled completely with a software command.
I would run from a laptop and turn the monitor brightness to zero. I’d connect a joystick to the laptop and feed that data from a java program to the two stewart platforms. clicking button A would switch between platforms. Clicking button b would switch between translate and rotate. button C would be for switching between axis X,Y,and Z. So B then C could switch from translate on X to rotate on Y or from rotate Z to translate X. I’d play sounds to remind me what my setting is without having to look away from the eyepiece.
Linearly through the motor sounds right. a nut mounted on the end of the screw will push back and forward. If your screw thread is 20 turns-per-inch and you’re using A4988 1/16th steppers and 400 step-per-turn motors then you’ll get 1/20/16/400 inches of travel per step. Put another way, you’ll get 16*400 steps per rotation of the motor. That’s a lot of precision!
Heim joint also sounds right. Be careful about your range of motion! Stewart platforms could easily rotate further than the joint will allow.
I’m currently playing with a linear actuator based on a belt and a piece of OpenBeam. I’m trying to do like a Rostock with 6 motors, and I need the right joint to connect to the plate. It will look a lot like this:
I have a whole playlist of stewart platforms: https://www.youtube.com/watch?v=zXkCdA2g_Rk&list=PLB010AA8788EA52C1&index=10
You must be logged in to reply to this topic.