![]() |
|
|
|
|
|
||||||||||
|
| User list | Rules | You are not logged in.
Hi ppl.
The last weeks I have been playing around with my new rig.
It's a completely homebrew pan/tilt controller and head. I've done 2 versions now and will probably be doing a third on the controller. Out of an utter lack of imagination it's called "Pan/Tilt 2.0".
It uses mostly cheap materials, but the joints are machined on my lathe. I haven't found any cheap source of off-the-shelf hardware that can make all the parts yet so I guess one needs a lathe to build it.
Some parts I use for the mechanics:
- Square alu tubing scavenged from a 1.8 meter spirit-level.
- 15/35/11mm bearings
- some 20mm alu stock
- some 50mm alu stock or alu block
- 2x stepper motors from sparkfun
- Raptor 60 96t/11t gear and pinion
- lots of time
Some parts for controller:
- AVR ATmega64
- 16x2 character LCD
- 8 N/P FET's
- 8 small n-fet's
- µSD socket
I would like to add bluetooth to the 3.0 version so papywizard can control it directly in addition to it being able to operate autonomously.
Video of it working:
http://www.youtube.com/watch?v=y1BBam6Si_8
Accuracy of the positioning:
http://kreature.org/images/zoomify/pt2/ … tching.png
Here's the bluetooth module I was thinking of adding:
http://www.seeedstudio.com/depot/serial … p-279.html
Right now it only does half-steps but I want v3.0 to do microstepping.
Offline
Thanks for presenting you nice head ![]()
Could you post some pictures of the head and the controller in this thread?
BTW, why do you want to make µ-stepping? Do you need a better accuracy (which seems already much better than the Merlin/Orion)? Don't forget that the torke falls down in µ-stepping mode, and, if I remember correctly, needs more current even when stopped...
Offline
From my experience the torque in µstepping would be equal to the weak full-steps.
The strong full-steps are 1.4x stronger but I think it will be fine.
Removing torque ripple i smy main goal for µstepping as it is the main source of vibration when I come to a halt at new position. I have implemented accelleration/decelleration control and it reduces vibration well, but my test with a laserpointer shows I could use more smoothness. The positional accuracy is very good due to zero slop in gears and no backlash. (I use single stage gearing with tight mesh and no worm-gear with slop.)
Here's a shot of a 30 second exposure from my cam on a seperate tripod and a laserpointer plotting on my silverscreen:
http://kreature.org/ee/avr/pt1/pt2_laserpointer_1.jpg
As you can see, it oscillates a bit when the y-axis decellerates vs the x but the vibration dies out before the shot is taken as the systenm comes to a smooth stop.
I would like to make this even better and it can be done with same cost of electronics.
Here is also some closeup shot of one of my axis stepper and gear:
http://kreature.org/ee/avr/pt1/parts_3.jpg
http://kreature.org/ee/avr/pt1/parts_5.jpg
The shaft is very robust at 15mm diameter and the bearings are under tension when the unit is assembled through a square alu beam. This was done to avoid any slop and rattle to give a rigit linkage able to hold large cameras and lenses.
Here's one of my toys and the reason the arm is so rugged:
http://kreature.org/images/zoomify/pt2/ … kustov.jpg
It's cheap, but effective. 1.5x factor on Minolta 7D camera, 1000mm f10 Makustov fixed focus tele and 2x teleconverter.
End result is 3000mm f20. Weight: 3.3 kg
Offline
I forgot to mention...
Since I use steppers, and not motors with feedback pots, my positional control gives 100% repeatability as long as the motors don't slip. That is, as long as the torque is suficient to move the load in the given step-time.
It also means that it doesn't really know where 0° is, but takes your word for it. Normally that should be good enough.
When I power up the system I aim it. Then I set up the extents of the pano. When I power the system down again, gravity brings the cam to a "straight up" posture unless perfectly balanced.
As we all know, we don't want balanced. We want perfect rotation around the lense optical center.
Oh, and bigger motors = more torque!
Mine are only 0.23 Nm at 0.33 amps. Turns out that is a bit weak with 96/11 gearing. It works well as long as the weight on the arm is no more than 450g at 200mm.
Offline
Thanks for the explanation. Stepper motors are easy to use, because they don't need feedback. But as you said, as long as they do not slip. Adding an encoder to a stepper motor is not a good idea. And this is not a problem here: the Merlin/Orion works the same way: the encoders are just incremental ones, so, the (yaw=0, pitch=0) position is the one when you turn on the head. Don't worry, Papywizard use en internal offset, so you can set the reference position where you want.
About the vibration, I think you are experiencing a resonance problem; try to increase the minimum speed, or use a faster acceleration. At work, we often have such problem at low speed; the idea is to cross the resonance speed as fast as possible during the acceleration/deceleration phases, or, if you can, to start at a speed over that resonance speed (but you may start too fast, which can be a problem for the camera sensor). Another solution is too increase the gear box ratio, ta use the motor at a faster speed. But here, you may see the tork falls down
(
Offline
I have been working on a similar system for a while.
You may want to consider using L297 stepper and L298 driver chip.
Datasheets are available at:
http://www.datasheetcatalog.com/datasheets_pdf/
You can use very simple electronics to step and half step the stepper driver.
It is far superior to using a micro-controller and software to drive the stepper.
That way you can use your micro-controller for pre-programmed and interface functions.
If you want to return your stepper motor to centre every time it is very simple.
Put a round disk on your shaft.
Drill two holes through the disk and use two opto-couplers.
That is your centre point.
Drill one hole at the left and right at the 90 degree points and use one opto-coupler in each position.
The single holes will detect your 180 degree rotations and the centre two holes detects your centre point.
Use your micro-controller as a feedback to detect the centre and 180 degree points.
The system has been in use for years in professional stepper equipment.
Offline
Yes, but is an absolute position really usefull? The yaw=0 position does not really matter, unless you need precise coordinates¹. For the pitch=0, I use a bubble leveler, and set the reference when the camera is horizontal.
¹ This is the case for me these days, as I made a little tool to map the sun course over a full spherical pano, to see the natural masks from trees and mountains: I'm about to build my house, and want to determine the best orientation. So, I set the yaw=0 at north, using a compass.
Offline
hi thepanoguy,
hast du Fotos von Deiner Idee?
Offline
Using a driver chip is not acceptable. That removes all the fun of driving the stepper.
Half the reason I do this project is for the fun.
In addition, such drivers are not always easy to come by and if they can be ordered they are often expensive.
My driver design uses easy to aquire parts and is not sensetive to replacing most of them with locally available alternatives.
In fact, most FET's you have in your parts bin will work.
Offline
fma38
I think it depends on your application and what you are trying to achieve.
I experiment with electronics; therefore the extra feature is just a few extra chips and wires.
Also in Western Australia the sun is too bright for using LCD displays outdoors. Eventually the bright sun cooks LCD displays black.
Without an air-conditioner the heat in a car during the summer can reach 50 degrees Celsius; sometimes more.
I need a system where I can automate the pan application without using a LCD display and return to the start without using a readout.
The only alternative is using alpha-numeric red led readouts - which is too much trouble.
KreAture
I agree with you about the fun part of the project and cheap parts use.
I originally went with your approach.
I am looking at accuracy as part of my project; therefore I looked at the more expensive approach.
In a previous post you mentioned you are having trouble driving the shaft and putting a load on the stepper motor.
One suggestion; if you have access to a lathe is to use the gearbox from a cordless drill.
In my part of the world it is cheaper to buy a new drill than replace the batteries.
Therefore old cordless drills end up in the bin.
I have dismantled a few cordless drill gearboxes; they make an ideal gear reduction mechanism for a stepper motor.
All you need to do is to make an adaptor shaft to replace the existing electric motor.
Then couple the gearbox to your existing drive shaft.
You should be able to turn a very heavy camera and lens assembly.
Offline
Is the acuracy enough, on such low-cost gearboxes?
Offline
thepanoguy
The gearboxes in the drills have way too much slop. If I could get a proper wormgear without slop for a good price I'd do that, but they are more expensive than my entire parts list combined.
As for returning to origin. I can run the entire system from the viewfinder of the camera. No need to know any of the numbers or things displayed on the LCD.
I plan on adding bracketing support and manual shooting too, which will make it even more versatile.
I can interface with LCD, TFT and OLED which should be fine for any occation.
I am using LCD's because I have about 30 of em.
By adding two FET's I can get good microstepping done so I will have more fun with that than any driver-chip. Also, I design this kind of stuff for a living too and there is no difference between the accuracy of what I am doing and a professional driver chip.
Offline
fma38
I originally looked at purchasing a Merlin/Orion. Once the import costs, exchange rate and modifications were added up; using the Merlin/Orion is too expensive. I started looking at alternatives.
KreAture
I do not doubt your electronics skills. Building equipment is therapeutic. If you can obtain free components, use them.
In my region using dedicated chips is the only option. No-one in my region stocks suitable electronic parts; mail order can work out expensive. There is a generation of people who are just electronics card jockeys. The electronics hobbyists no longer exist to sustain the electronics shops.
I made a few enquiries in my local hobby shops and electronic component suppliers. The local hobby shops sell radio controlled toys; electronics shops sell kits published in Silicon Chip.
There is a professional photographer in the USA who used two cordless drills for a pan and tilt mechanism for a professional rig. The cordless drills I used were free. Purchasing an equivalent planetary gearbox is expensive. You have to dismantle the gearbox. Remove the hammer mechanism, grind off the hammer notches and re-assemble. The grease used in the gearbox is not of a high quality. I modified some cordless drill gearboxes, used quality grease and found the slop in the gearbox acceptable. If you can obtain a discarded cordless drill; try the modification. You may be surprised with the results.
Precision worm gears are expensive. If you have access to a lathe and the right tools you can machine a precision one from a blank. The blanks are available over the internet. An alternative supply of worm gears is your local motor vehicle wrecker. Electric car seats have three worm drive gearboxes. Damaged car seats are left to rot. The gear and worm are a reasonable quality. You need to machine the shaft and bearing mounts. Another source is windscreen wiper motors. The gearboxes are good for the worm and gear parts.
Unfortunate the harsh Western Australian summer climate I cannot control. It destroys LCD displays when used outside.
Imagine one third the size of Europe with a population of just under two million people. Imagine 80% of those people living in one city. Once you leave the city all you have is small country towns. The reason the city thrives is because of massive iron ore and gas deposits in the North West region of Western Australia. Commerce is just a support infrastructure for mining. Living in Perth has its benefits. Unemployment under 5%; crime rate is low; standard of living is high; 9 months of outside living weather. Once you leave the city the North West is a photographer’s oasis with beautiful rugged scenic country waiting to be photographed.
The only frustrating part of living in my region is obtaining suitable parts to build your own equipment.
Offline
panoguy
may you show us a picture of your robot ?
I use gearboxes, which are normally in teller machines or coffee grinders 1:200 and the very reasonable prices easydriver form sparkfun to control the steppers combined with the Arduino.
best
Paul
Offline
Here's a new video with large movements between images to show how it accellerates and such.
http://www.youtube.com/watch?v=-Yu6nDVvPyA
Here's images of the rig:
from left side - http://kreature.org/ee/avr/pt1/pt2_1.jpg
from right side - http://kreature.org/ee/avr/pt1/pt2_2.jpg
tilt gear and axle - http://kreature.org/ee/avr/pt1/pt2_3.jpg
horizontal/vertical joint - http://kreature.org/ee/avr/pt1/pt2_4.jpg
pan gear - http://kreature.org/ee/avr/pt1/pt2_5.jpg
Except from my lathe, only a hacksaw, dremel and power-drill was needed to make it.
(Excuse my long setscrews but it was all I could find right now, hehe.)
Offline
I would love to motorize my homemade head http://www.flickr.com/photos/gregnuspel … 5/sizes/m/ or a new version of it. My problem is the programming of a micro-controller. I've started to play with PICs but there is so much to learn. Anyone have plans to make a controller that will receive Papywizard input and run steppers or servos?
Offline
Hi Greg,
Papywizard has allready a plug-in for Polulu servos.
Frederic (fma38) have also a "running" prototype controled by a "arduino"
See also:
http://www.gigapixel.nu/info_project.php
Last edited by claudevh (2009-10-08 00:04:56)
Offline
The Arduino looks interesting and reasonable price. I will have to look at the documentation here to see if it looks like I could take on programing one.
Offline
Arduino is the way to go; there is a ready-to-use mezzanine controller for stepper-DC-servo motors.
BTW, is your head already motorized? What kind of motors do you plan to use? For which usage?
I think that servos are very simple to use/drive (using a pololu controller), but are not very accurate (2°). Look for Phil's Panoduino head on google... As Claude said, Papywizard is able to drive such head using the Pololu servo controller. We never made tests with *this* head, but I build a little prototype with simple servos, and it works fine. It should have enough parameters to drive any kind of servo-based panohead.
Offline
Right now my head isn't motorized, I am looking at redesigning it for motors. I am a CNC programmer/machinist so the building of the unit is the easy part for me. I hope I won't drive people nuts here with all my questions about interfacing PW to the Arduino. Once again I had started down the wrong path using PICs and a pocket PC. It looks like steppers are the easiest to use for this purpose, coupled to timing belt reduction I should be able to get a very accurate positioning system. I hope I can contribute some useful info to the group as I develop my unit.
Offline
I'm sure GuzZzt can help you on the Arduino side.
And I can help you on Papywizard side: I think we should write better protocol than the one used in the Merlin. Why not create some sort of universal protocol for all people who want to develop a motorized panohead, and want to drive it from Papywizard (even if it is easy to add a new plugin)? For example, we should try to support things the Merlin can't do, like goto funtion at different speeds, or shoot while moving, or so... I can start to write all low-level functions needed to interface with Papywizard in a good way.
I will be pleased to see how you will design your head with motors ![]()
Offline
This sounds great, I'm looking at using 18:1 reduction from a 200 step motor to give a 0.1 degree step. With timing belt drives backlash will be near zero (nothings perfect). It would be great to design a more open interface allowing better control.
If there is interest we could even look at doing a group buy of the mechanical parts from my employer so that there would be a reasonable price per unit. I'm sure it would cost more than the Merlin but it would be a much better unit for handling larger equipment with great precision.
Offline
Greg Nuspel wrote:
This sounds great, I'm looking at using 18:1 reduction from a 200 step motor to give a 0.1 degree step. With timing belt drives backlash will be near zero (nothings perfect). It would be great to design a more open interface allowing better control.
If there is interest we could even look at doing a group buy of the mechanical parts from my employer so that there would be a reasonable price per unit. I'm sure it would cost more than the Merlin but it would be a much better unit for handling larger equipment with great precision.
a version 3.0 with blootooth is interesting for me.
Canon EOS 400D (+ Battery Grip) x1.6 factor with Sigma 400mm + sigma 2.0 konverter + AT Bluetooth Modul + PW so yes I'm interested ;-) (for default merlin config I currently run with its not possible to center it correctly hori/vertically)
what price span do you expect?
Liebe Gruesse,
Georg
Offline
I found a bluetooth module that I will be using in my design here: http://www.seeedstudio.com/depot/serial … p-501.html
Only 3 wires will really be used (+ power), and it allows standard serial interfacing. (Works as a virtual serial port when connected on host.)
For $19 it's almost too good to be true ![]()
What kind of protocol would you suggest for control?
I know ppl like to use xml and crap now-adays but the processing overhead would NOT be practical in embedded applications.
It's human readable and such, but it sucks to handle. (I know, it's my job...)
A binary transmitted code system that is easily expandable would be better.
Any command not recognized could also be ignored as long as the actual command-structure is easily identified.
How would you go about sequencing movement and shooting btw?
Set up the movement and shoot-delay, then send a "go" to initiate so the controller can sync the actions?
Offline
I would prefer to use an ascii-based protocol; it is much more simple to debug, and you can test the controller with a simple terminal.
About the commands, I think we should just execute them as soon as they arrive to the embedded controller:
dr 1 54.34 -> start moving axis 1 to position 54.34°
rd 1 -> return axis 1 position
st 1 -> get axis 1 status
What do you think? We can use encoder units for positions, rather than degres (it is easier to adapt on Papywizard side for different heads; if gearbox changes, no need to reflash the controller).
This will need a multi-threaded controller, but I think the Arduino is OK.
Offline
Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
|
CHOOSING KOLOR Why choose Kolor? Which solution to choose? Download a trial Where can I buy? Education |
SOFTWARE Autopano Pro Autopano Giga Panotour Panotour Pro XnView |
ACCESSORIES Training DVD Panobook PROJECTS Paris 26 Gigapixels Yosemite 17 Gigapixels |
COMMUNITY Forums YouTube channel Google+ |
COMPANY Blog About Kolor Resellers Contact Visit us |
PRESS Press center Press review TOOLS My account |
