My Autopano Pro forum
Sharing knowledge around Autopano
You are not logged in.
Announcement
- Index
- » Motorized panohead project: Merlin, Orion & Papywizard
- » Developing a new controller, Papywizard compatible
#51 2010-02-02 11:57:28
- klausesser
- Member

- From: Düsseldorf, Germany
- Registered: 2006-05-22
- Posts: 1988
- Website
Re: Developing a new controller, Papywizard compatible
fma38 wrote:
And no, I don't manage the backlash. Be aware that it is not that simple, and mainly depends on the load. For example, on the pitch axis, you don't know if the load will put the backlash on the up direction, or on the down direction, depending how the camera/lens is balanced... The wind can also be a nice trap for the yaw axis
Hey Frédéric!
Yes - that´s a vital point. I suggest to keep the counter-screws (?) tightened - and not to move the head by hand.
I check that frequently - and have no problems regarding precision any more.
best to you, Klaus
Offline
#52 2010-02-02 12:30:31
Re: Developing a new controller, Papywizard compatible
Yes, but you can't do anything if there is some backlash in the gearbox; every direction change will loose a few degres before the gears are again in contact...
Frédéric
Canon 20D + 17-40/f4 L USM + 70-200/f4 L USM + 50/f1.4 USM + Tokina 10-17 3.5-4.5 AF DX Fisheye
Merlin/Orion panohead + Papywizard on Nokia N800 and HP TC-1100
Offline
#53 2010-02-02 14:09:12
Re: Developing a new controller, Papywizard compatible
klausesser wrote:
fma38 wrote:
And no, I don't manage the backlash. Be aware that it is not that simple, and mainly depends on the load. For example, on the pitch axis, you don't know if the load will put the backlash on the up direction, or on the down direction, depending how the camera/lens is balanced... The wind can also be a nice trap for the yaw axis
Hey Frédéric!
Yes - that´s a vital point. I suggest to keep the counter-screws (?) tightened - and not to move the head by hand.
I check that frequently - and have no problems regarding precision any more.
best to you, Klaus
And here we are, in that case I'm sure the Merlin compensates the backlash internally, as I expect such a low cost gear has at least 1.5° backlash.
I don't have a Merlin, but maybe one can confirm how far can you turn the head manually, before the encoder starts to rotate. You have to do this test in both directions.
fma38 wrote:
Yes, but you can't do anything if there is some backlash in the gearbox; every direction change will loose a few degres before the gears are again in contact...
Sure you could, but seems you don't have to in this case.
The only thing you need to know is the backlash in ° and then you add additional steps to the first goto command when ever the direction of the head is changing. This practice is used even in CNC machines.
Offline
#54 2010-02-02 20:43:54
- Paul
- Member

- From: Bonn, Germany
- Registered: 2008-08-30
- Posts: 676
Re: Developing a new controller, Papywizard compatible
may be interesting for simultaneous axis movement:
some people are working on multithreading on arduino-µcs
more infos: http://concurrency.cc/ and http://href.to/zJ5
Paul
close, but no cigar ... ... ...
Offline
#55 2010-02-02 21:52:26
- klausesser
- Member

- From: Düsseldorf, Germany
- Registered: 2006-05-22
- Posts: 1988
- Website
Re: Developing a new controller, Papywizard compatible
panoguy wrote:
And here we are, in that case I'm sure the Merlin compensates the backlash internally, as I expect such a low cost gear has at least 1.5° backlash.
I don't have a Merlin, but maybe one can confirm how far can you turn the head manually, before the encoder starts to rotate. You have to do this test in both directions.
The very moment you move one of the head´s axis the encoders rotate. There´s no visible dead-time: it´s fixed at the gear´s axis.
Generally the precision seems to be very sufficient - it´s covered by the overlap of 25/30% anyway.
I use a 300mm sometimes - very narrow steps in portrait-mode. No problems so far.
best, Klaus
Offline
#56 2010-02-03 06:07:40
Re: Developing a new controller, Papywizard compatible
klausesser wrote:
panoguy wrote:
And here we are, in that case I'm sure the Merlin compensates the backlash internally, as I expect such a low cost gear has at least 1.5° backlash.
I don't have a Merlin, but maybe one can confirm how far can you turn the head manually, before the encoder starts to rotate. You have to do this test in both directions.The very moment you move one of the head´s axis the encoders rotate. There´s no visible dead-time: it´s fixed at the gear´s axis.
Generally the precision seems to be very sufficient - it´s covered by the overlap of 25/30% anyway.
I use a 300mm sometimes - very narrow steps in portrait-mode. No problems so far.
best, Klaus
Klaus, maybe this was`t the best advise to test the backlash, if it is not noticeable that's fine but I still believe that such a low cost gearbox which it is used in this device has high backlash. I did study a lot of gearbox documentation prior starting this project and if you search for a low backlash gear you will pay the price of a DSLR and I'm not even talking about backlash free gears.
If you want to measure it correctly check out this article:
http://www.neugartusa.com/Service/faq/G … cklash.pdf
Nevertheless you are right, it may not be an issue with 300mm and 30% overlap. At this lens the moving angle is around 3.8° and if you "loose" 1° it is not an issue. Anyway you won't loose anything,
you gain 1° additional overlap at the beginning of each row between the first and second picture
and the last picture of the next row would end 1° shifted to the previous row.
But you could do this test with a 300mm lens and shoot a simple 4x4 or 6x6 mosaic and a plane front of a building.
If you don't see and shift between the first and last picture of the consecutive row then you have got a backlash free gear or the internal firmware does compensate it. The second option you usually get for free as it is very easy to implement.
Also I didn't want to start a theoretical discussion about backlash, but only clarify if papywizard or the internal firmware should compensate the existing backlash.
Offline
#57 2010-02-03 08:29:43
- Paul
- Member

- From: Bonn, Germany
- Registered: 2008-08-30
- Posts: 676
Re: Developing a new controller, Papywizard compatible
there is an easy way to visualize Merlins backlash
just define some driving patterns different in motion per axis
- steady going
- zig zaging
mount a laser pointer on Merlin bracket and do a long time exposure with a fixed cam while running the pattern
Merlins backlash is partly compensated via the inertia of the slipping clutch
Paul
close, but no cigar ... ... ...
Offline
#58 2010-02-03 12:18:48
- Greg Nuspel
- Member
- From: Calgary, Alberta, Canada
- Registered: 2009-10-06
- Posts: 107
Re: Developing a new controller, Papywizard compatible
If you want to visualize backlash attach a laser pointer to your unit. Project this against a wall and you can see the amount of backlash easily.
--Greg Nuspel
Offline
#59 2010-02-03 12:36:37
Re: Developing a new controller, Papywizard compatible
I used a tele-lens, and glued some millimetered-paper on the wall... Very accurate! Then, atan() is your friend...
Frédéric
Canon 20D + 17-40/f4 L USM + 70-200/f4 L USM + 50/f1.4 USM + Tokina 10-17 3.5-4.5 AF DX Fisheye
Merlin/Orion panohead + Papywizard on Nokia N800 and HP TC-1100
Offline
#60 2010-02-03 15:36:22
Re: Developing a new controller, Papywizard compatible
fma38 wrote:
Ok, here is a first version. Just put it in your plugins dir:
linux: ~/.config/papywizard2/plugins:
windows: C:\Documents and settings\<user>\Application Data\papywizard2\plugins\
Just got my first N800 and managed to install Papywizard.
The only thing I did not find in hurry, where do I have to copy the plugin on the N800 ?
I just read the documentation and I guess I found it /home/user/.config/papywizard2/plugins
Last edited by panoguy (2010-02-03 15:51:44)
Offline
#61 2010-02-03 16:37:54
Re: Developing a new controller, Papywizard compatible
panoguy wrote:
fma38 wrote:
Ok, here is a first version. Just put it in your plugins dir:
linux: ~/.config/papywizard2/plugins:
windows: C:\Documents and settings\<user>\Application Data\papywizard2\plugins\Just got my first N800 and managed to install Papywizard.
The only thing I did not find in hurry, where do I have to copy the plugin on the N800 ?
I just read the documentation and I guess I found it /home/user/.config/papywizard2/plugins
I installed the latest dev. version - 2.1.15-1 - this morning and it seems to include a 'panoguy' plugin:
http://www.papywizard.org/wiki/Download … ntversions
Which version did you install?
Andrew Stephens
Nikon D40, Nikkor 10.5mm fisheye, Sigma 8mm f3.5 fisheye, Nikkor 18-55/50/35mm lenses, Nodal Ninja 5 Lite, Agno's Mrotator TCSshort
Nikon P5100, CP5000, CP995, FC-E8, WC-E63,WC-E68, TC-E2, Kaidan Kiwi 995, Bophoto pano bracket
Merlin/Orion panohead + Papywizard on Nokia 770/N800 and Windows XP/2K
Offline
#62 2010-02-03 16:39:55
Re: Developing a new controller, Papywizard compatible
Panogy, this is the correct path. But try the 2.1.15 release. As Andrew said, the plugin in now included.
Frédéric
Canon 20D + 17-40/f4 L USM + 70-200/f4 L USM + 50/f1.4 USM + Tokina 10-17 3.5-4.5 AF DX Fisheye
Merlin/Orion panohead + Papywizard on Nokia N800 and HP TC-1100
Offline
#63 2010-02-03 16:53:19
Re: Developing a new controller, Papywizard compatible
fma38 wrote:
Panogy, this is the correct path. But try the 2.1.15 release. As Andrew said, the plugin in now included.
Wow, Thank you, Frederic you always exceed my expectations...
Yes sure, I did install the latest version now ;-)
But how do I replace the plugin if I need to change anything?
For some reason the connection is not working with the included plugin, it fails on axis 1.
I made a copy of the 'old' plugin and saved it under a new name. With that plugin the connection works fine, but I can't open the Shoot window.
Is there and difference in the new plugin?
Last edited by panoguy (2010-02-03 16:54:14)
Offline
#64 2010-02-03 16:58:46
Re: Developing a new controller, Papywizard compatible
There should not be any difference. Can you send me your version?
If you want to use yours, put it in your config plugins/ dir, as you did before, and change its name (NAME = "Panoguy" at the begining of the file). So you will get both in the menu...
Can you also send me the logs when it fails (for both cases)?
Frédéric
Canon 20D + 17-40/f4 L USM + 70-200/f4 L USM + 50/f1.4 USM + Tokina 10-17 3.5-4.5 AF DX Fisheye
Merlin/Orion panohead + Papywizard on Nokia N800 and HP TC-1100
Offline
#65 2010-02-03 19:00:32
Re: Developing a new controller, Papywizard compatible
fma38 wrote:
There should not be any difference. Can you send me your version?
Can you also send me the logs when it fails (for both cases)?
Ok thank you, have send you an PM, is there a way to attach a file? I pasted all into the message body ...
Offline
#66 2010-02-03 23:28:23
Re: Developing a new controller, Papywizard compatible
You can post code using the 'post' tag, but it is better to send it in private, as you did, if it does not concern everybody. I will have a look at it tomorrow.
Do I rename it Gpb? What does it stand for?
Frédéric
Canon 20D + 17-40/f4 L USM + 70-200/f4 L USM + 50/f1.4 USM + Tokina 10-17 3.5-4.5 AF DX Fisheye
Merlin/Orion panohead + Papywizard on Nokia N800 and HP TC-1100
Offline
#68 2010-02-04 10:23:10
Re: Developing a new controller, Papywizard compatible
Ok, no problem! I will also update the title of this topic...
Frédéric
Canon 20D + 17-40/f4 L USM + 70-200/f4 L USM + 50/f1.4 USM + Tokina 10-17 3.5-4.5 AF DX Fisheye
Merlin/Orion panohead + Papywizard on Nokia N800 and HP TC-1100
Offline
#69 2010-02-04 11:03:09
- Paul
- Member

- From: Bonn, Germany
- Registered: 2008-08-30
- Posts: 676
Re: Developing a new controller, Papywizard compatible
just to inform you:
Gigapanbot is already in use by Traugott Emrich for his pano robot
see:
gigapanbot.com gigapanbot.de
IMO you should not kidnap his name but find another pretty one
Last edited by Paul (2010-02-04 11:03:23)
Paul
close, but no cigar ... ... ...
Offline
#70 2010-02-04 11:11:14
Re: Developing a new controller, Papywizard compatible
Right!
Frédéric
Canon 20D + 17-40/f4 L USM + 70-200/f4 L USM + 50/f1.4 USM + Tokina 10-17 3.5-4.5 AF DX Fisheye
Merlin/Orion panohead + Papywizard on Nokia N800 and HP TC-1100
Offline
#71 2010-02-04 12:14:57
- klausesser
- Member

- From: Düsseldorf, Germany
- Registered: 2006-05-22
- Posts: 1988
- Website
Re: Developing a new controller, Papywizard compatible
Paul wrote:
Gigapanbot is already in use by Traugott Emrich for his pano robot
Maybe it IS Traugot!? ![]()
best, Klaus
Offline
#73 2010-02-05 16:50:00
Re: Developing a new controller, Papywizard compatible
Hi Frédéric
your last advise was very helpful:
The additional LF may cause some problems. Is it possible for you to only send CR?
I have changed the code to send a CR only at EOL instead of CR / LF (which is the default as long it is not suppressed).
Papywizard connects fine now and the communication handshake is much better.
The timeout and retry parameters also works fine and it looks much more promising now.
Will need to test some more details during the weekend ...
Offline
#74 2010-02-05 18:06:23
Re: Developing a new controller, Papywizard compatible
Good!
Frédéric
Canon 20D + 17-40/f4 L USM + 70-200/f4 L USM + 50/f1.4 USM + Tokina 10-17 3.5-4.5 AF DX Fisheye
Merlin/Orion panohead + Papywizard on Nokia N800 and HP TC-1100
Offline
#75 2010-02-11 23:48:24
Re: Developing a new controller, Papywizard compatible
Gigapanbot plugin description
The plugin is a simplified version of the Merin/Orion protocol as described on the developer page: http://www.papywizard.org/wiki/DevelopGuide
It uses a simple asynchronous, ASCII serial protocol.
All commands are always initiated by the master (Papywizard).
The controller of the Gigapanbot waits for incoming commands from the master and sends back a response to the last received command.
The slave controller could be busy with other tasks and in some circumstances not able to respond immediately to a command from the master.
In case the master does not receive a valid response from the slave, the master will repeat the last command for a predefined number of retries. The timeout value and the number of retries can be set in Papywizard, Hardware/Plugins communication tab.
There are 3 important parameters which controls the position and the movement of the motors.
1. The value of the encoder position at initial startup is set to 8388608 (this value is send to the master as HEX value = 800000)
2. The encoder or stepper motor (steps) the head will count for one 360° turn.
3. As we can have different encoders or gear types, the second parameter could be different for the tilt axis and the pan axis.
All commands send by the master starts with ':', and ends with '\r' (in Windows this is a CR only, no Line Feed)
The head controller response always starts with '=', and ends with '\r'. (CR only)
This is the structure of the protocol:
1. the first character is the command
2. the second character is the axis number, it is mandatory, 1=yaw, 2=pitch axis
3. the next characters (up to 6) are used only for some commands and are send as HEX value, optional but mandatory for some commands
Valid commands are:
j<axis> read axis position, return is a 6 char HEX value
f<axis> read axis status, return is 0=ready or 1=busy
L<axis> stop motors,
a<axis> get encoder count (steps) needed for a 360° turn, value is 6 char HEX value
G<axis><direction> Start moving to left or right, 0=increments (up/right), 1=decrements (down/left), this command is used to manually turn the head into a initial position.
I<axis><speed> Set motor speed, 3 possible dec values 0,2,4 (0=high speed, 2=medium speed, 4=slow speed)
S<axis><position> Drive to position, the position value is again a HEX value (ie. 8000A0) This command moves the head from his actual position (j encoder value) to the requested position.
For example if your head is at the initial zero position (HEX 800000) and receives a request to move to new position 8000A0, it will turn the stepper motor by exactly 160 steps to the right.
O<axis><state> Release camera, Shutter on axis=1, Autofocus on axis=2, ON state=1, Off state=0
e<axis> ask firmware version during first connect, max 6 char
F<axis><state> Connection status, state 0=not connected, 1=connected. The command is used to maintain the connection status at the slave controller.
Following (Merlin) commands are not used by now:
D not used
J not used
Last edited by panoguy (2010-02-15 21:59:12)
Offline
- Index
- » Motorized panohead project: Merlin, Orion & Papywizard
- » Developing a new controller, Papywizard compatible

