# Questions on 3-Axis Skull Motion



## Zombie-F (Apr 12, 2004)

I have finally gotten around to building a 3-axis skull from a kit I bought from Dr Morbius 2 years ago!

I have the servos installed and running just fine off of a Pololu Micro Maestro board.

One thing I'm noticing is the rotate/tilt/nod motors basically do what they're supposed to except that the further you drive them, the more off kilter they get to be until you compensate by moving the other two motors as well.

For example, if I use the tilt motor to tilt the head, I also have to drive the rotate motor a little bit in the opposite direction to achieve a tilt. Is that normal?

The same goes for nodding. When I nod the head back, the further I go, the more I have to compensate with the rotate motor to keep it moving straight back.

To all of you with 3-axis experience, is this typical?


----------



## Mr_Chicken (Nov 26, 2008)

This is where the alignment of the servo horns and linkages becomes crucial. everything must meet at 90 degree angles to avoid exactly what you are experiencing. Take a look at step 17 on this page from the GYS site: http://graveyardskulls.com/assembly/assembly1.html

It's also possible that you're driving the servo as far as it can go in the setup, but from your description, I think it's the alignment.

Now, it really bugs me when animatronics move on one plane at a time, anyway, so mess with it a little, but I wouldn't be too concerned.


----------



## Zombie-F (Apr 12, 2004)

I spent a good chunk of time yesterday getting the alignment to match what you're showing me. I'll take another look at it tonight and see if there's something I'm missing.

The rotate plane works fine, it's the tilt and the nod that are giving me the issues.


----------



## gmacted (Jan 18, 2006)

Is this the 3-axis skull you built in the Make and Take?

Does the rod end move freely in all directions when the linkage arms are not connected to it?

Did you "zero out" the servos and set their limits in VSA?

Are the likages close to perpendicular to the rod end in the "zero" position?


----------



## Zombie-F (Apr 12, 2004)

gmacted said:


> Is this the 3-axis skull you built in the Make and Take?
> 
> Does the rod end move freely in all directions when the linkage arms are not connected to it?
> 
> ...


The rod does move freely in all directions.

The only issue I have is the linkages are not 100% perpendicular with the servo arms I'm using. I may have to switch to the adjustable arms to get the linkages lined up perpendicularly to the rod end.


----------



## gmacted (Jan 18, 2006)

Zombie-F said:


> The rod does move freely in all directions.
> 
> The only issue I have is the linkages are not 100% perpendicular with the servo arms I'm using. I may have to switch to the adjustable arms to get the linkages lined up perpendicularly to the rod end.


Do you have any pictures you can post of the assembly in its current state?


----------



## Dr Morbius (Sep 21, 2004)

Using the adjustable horns (arms) on the servos is crucial to proper alignment. Pics would help alot. Also, make sure the servos themselves are mounted with this spindles facing the correct/optimal way so that the horns line up properly. 

With this design, there will ALWAYS be some angular conflict with the nod and tilt servos. The trick is to minimize this as much as possible, but you will never totally eliminate it.


----------



## Zombie-F (Apr 12, 2004)

It's definitely my linkage alignment that is off. I'm working on getting them more perpendicular to the rod with the adjustable horns.

On to my next question this one concerns VSA.

I've been trying to use VSA to write a sample routine and have the skull play it back. So far, I can't seem to get VSA to communicate with my servo controller (a Pololu Micro Maestro). I'm using the usual Hitec servos.

I have the VSA software set to talk to the servos on COM3 (the port that the usb controller inhabits) but I'm not sure on what type of servo to set the software to (SSC32, minissc, etc).

When I use the Pololu software to test everything out, that software works just fine and I can control all the servos. That's what makes me think I have something set up wrong in VSA. Any ideas?


----------



## Dr Morbius (Sep 21, 2004)

If the servo controller isn't on the drop down list, it probably isn't supported by VSA. I think Pololu is supported though. Also, make sure the baudrate is set in VSA for your particular servo controller. I don't have or use a pololu so I can't give you the exact settings, but it's a place to start.


----------



## Zombie-F (Apr 12, 2004)

Dr Morbius said:


> If the servo controller isn't on the drop down list, it probably isn't supported by VSA. I think Pololu is supported though. Also, make sure the baudrate is set in VSA for your particular servo controller. I don't have or use a pololu so I can't give you the exact settings, but it's a place to start.


Ah crap, I hope it's not that my controller is unsupported. The COM port the controller resides in is in the drop down list. I'll try seeing if its the baudrate when I get home.

Thanks guys.


----------



## fritz42_male (May 5, 2009)

Just checked and in Settings there is definitely a Polulu Servo option


----------



## gmacted (Jan 18, 2006)

I'm running VSA version v4.002 and "Pololu Servo" is definitely there. Make sure your baud rate setting is also correct under "Port Settings".


----------



## Dr Morbius (Sep 21, 2004)

Does it work now? I'm curious.


----------



## Zombie-F (Apr 12, 2004)

I haven't had time to have a look at it yet. I will definitely be doing so this weekend.

I did however get the alignment issues basically worked out. The problem was indeed that I didn't have the servo linkages perpendicular to the rod. The nod is still a little bit off but I'll have that straightened out tomorrow for sure.

Thanks for all the help so far guys.


----------



## Zombie-F (Apr 12, 2004)

I still can't seem to get past this problem of communication between VSA and my Pololu Micro Maestro. I have the baud rate of the device set to UART 9600 and the baud rate of VSA set to 9600.

I can see the status light of the controller flashing when I send a command to it in VSA, the motor just doesn't do anything.

I can still go into the Pololu software and control the motors just fine though.

Here's what the tech support person at Brookshire had to say:


> Hi David,
> 
> Although the Maestro is not officially supported by VSA, several customer
> have reported success. You'll need to configure the baud rate on the
> ...


I wonder if there's something else I'm doing wrong. Maybe I'm not recording the servo motions properly in VSA?


----------



## DarkLore (Jan 25, 2009)

Zombie-F said:


> I still can't seem to get past this problem of communication between VSA and my Pololu Micro Maestro. I have the baud rate of the device set to UART 9600 and the baud rate of VSA set to 9600.
> 
> I can see the status light of the controller flashing when I send a command to it in VSA, the motor just doesn't do anything.
> 
> ...


I'm not familiar with VSA software and i haven't used the Pololu...but I guessing your COM port selection is wrong. The pololu software would have its own settings for COM port. Just as VSA will have. If the Pololu software works, and the VSA does not...then I'd look at the problem being the COM port settings in VSA.

In windows device manager, you should see COM port listings. Bring it up and check the COM ports. The numbers should be shown in parenthesis (). Unplug the USB and check to see which COM dissappears.

Right clicking that port should bring up the default baud rate parameters.


----------



## Zombie-F (Apr 12, 2004)

DarkLore said:


> I'm not familiar with VSA software and i haven't used the Pololu...but I guessing your COM port selection is wrong. The pololu software would have its own settings for COM port. Just as VSA will have. If the Pololu software works, and the VSA does not...then I'd look at the problem being the COM port settings in VSA.
> 
> In windows device manager, you should see COM port listings. Bring it up and check the COM ports. The numbers should be shown in parenthesis (). Unplug the USB and check to see which COM dissappears.
> 
> Right clicking that port should bring up the default baud rate parameters.


I've already done that up to this point. The pololu device resides on COM3 at a baud rate of 9600 bps according to the device manager.

I can even see the controller receives the data as when I send commands via VSA, the activity light flashes.

I'm really stumped.


----------



## Dr Morbius (Sep 21, 2004)

You got power going to the servos? I know this seems basic, but I have have forgotten to turn on the power supply many times. On that note, how are your servos and board powered? Do you use separate power supplies?

Also, the flashing activity light simply means that your COM ports is set correctly. I suspect, that everything else is wired properly it's the BAUD rate still. Try different settings and see what happens.

I see there is a radio button to "detect baudrate". Try setting it that in the Maestro control panel and change the baud rates in VSA. You might get lucky.

After all that, and it still doesn't work, I would get a more compatible servo controller board.


----------



## DarkLore (Jan 25, 2009)

If the other software drove the servo, then I doubt power is a problem.

Have you tried backing the baud rate down to say...2400 baud?

I read something about the controller auto-detecting baud rate of the first character it receives after being turned on. So once it is sent a command at one baud rate, it won't recognize command sent at another baud rate. 

Is that's true, I'd suggest powering off the servo, going into VSA and setting the baud rate. Then power it back up and re-test.


----------



## fritz42_male (May 5, 2009)

Definitely sounds like a com problem. Can you take a screenshot of the various VSA settings for us? VSA drove my Polulu fine although I had to use an actual com port not a USB to serial convertor. Could this be your issue?

A USB to Com convertor is not a 'real' serial port and some of the cheaper ones definitely give trouble. May be worth checking with Brookshire to see if your particular USB to serial is supported (if you use one)


----------



## HomeyDaClown (Oct 3, 2009)

*Mini-SSC mode*

The Micro Maestro has a built-in USB Serial converter with decent drivers for all Windoze versions.

I would set VSA to "Mini-SSC Servo" (the default) on COM3 and see if you can get a servo to move since the Pololu Micro Maestro supports Mini-SSC Servo protocol. This will confirm whether or not it is in fact a communications problem. If it still does nothing....read on

After reviewing the Micro Maestro documentation and when you mentioned that you were configuring the UART mode, that may be your whole problem.

The UART mode on the Micro Maestro is only for the controller to talk to and or control other controllers (or Maestros) via a TTL serial signal. For the unit to work with VSA you need to set the serial mode to USB Dual Port. This will set up two virtual COM ports in your Windows Device manager, one for Commands and one for the TTL UART port. The Command port is the USB connector, the TTL UART port is a set of pin headers normally used to daisy chain several boards together. You need to set VSA to the COM port associated with the Command port.

Also, make sure you set the Maestro's Device ID. Pololu sets the default at 12 (0x0C) and for some strange reason VSA expects it to be 1 (0x01).

This would explain why you are getting LED status but the commands are not being processed. While you are at it, you probably want to set the Maestro to "Never sleep" mode so it does not fall asleep.


----------



## Zombie-F (Apr 12, 2004)

HomeyDaClown said:


> The Micro Maestro has a built-in USB Serial converter with decent drivers for all Windoze versions.
> 
> I would set VSA to "Mini-SSC Servo" (the default) on COM3 and see if you can get a servo to move since the Pololu Micro Maestro supports Mini-SSC Servo protocol. This will confirm whether or not it is in fact a communications problem. If it still does nothing....read on
> 
> ...


I will try all of this when I get home. Cross my fingers its the USB setting.

Now that I think of it, the Pololu controller shows up three times in the device manager, once under it's own heading as Pololu servo controller and then again under the COM ports as COM3 and COM4.

Thanks for the advice and I'll let you know how it goes later on.


----------



## Zombie-F (Apr 12, 2004)

HomeyDaClown... u da man! Your suggestions worked! Thank you so very much.


----------



## HomeyDaClown (Oct 3, 2009)

Glad to help...

Better that you got it working. What did you have to do?
The virtual COM port config is kinda screwy on those and the manual is not much help for new users. I would suspect that once you got that nailed, you could use the Pololu Servo protocol without issue.


----------



## kprimm (Mar 14, 2009)

Glad your up and running zombie. Alot of smart people...er in this case..clowns on this forum.


----------



## fritz42_male (May 5, 2009)

Maybe we better rename him SparkyDaClown!


----------



## MonkeyBasic (Mar 22, 2009)

Wish I saw this post earlier, but looks like you're in good hands


----------



## samseide (Jun 1, 2010)

Since this question falls in line with these posts I thought I'd continue this discussion further.

I too have a micro maestro I'm trying to use, and the mini SSC protocol does work sort of for movement in VSA or track skull for me, but not correctly.

I'm unable to change the minimum and maximum values to match what the pololu maestro control software uses as it's min and max values. This seems to confuse the servos as when I hit connect in say...track skull, it shoots the servos to the 992 position in the pololu maestro control software, which is the minimum value there, and the servo moves to it's minimum position on the skull. Track Skull believes the servo is at the default position of 127 at this point and will let me move the servo in the direction away from the minimum value in my maestro control software.

Whew. That's sort of confusing to explain.

So my question is, am I missing something? If I try to change the min. and max in track skull to match the pololu software and then run the program it crashes it. I'm including a screenshot that hopefully will help illustrate what I'm talking about.


----------



## HomeyDaClown (Oct 3, 2009)

If you are using the mini SSC protocol to talk to the Maestro you'll have to stick to that protocol's Min and Max position values: 0 to 254 (0 = 0 Degrees, 254 = 180 Degrees or possibly 90 depending on the servos you are using). I'd stick to those Min Max values all the way through. Trackskull talks to VSA and uses the setting protocol/values set there I believe. You may want to give Nelson a shout over at MonkeyBasic to confirm.


----------



## samseide (Jun 1, 2010)

I kinda figured that I was stuck with the 0 to 254 limits since I seem to have to use mini ssc. The micro maestro doesn't respond to the pololu setting in VSA or in Track Skull. What I'm confused about is why when I hit connect in Track Skull it's shooting the servo all the way over to the minimum value. I sent an email to monkey basic. Hopefully they have an idea what's going on. I'm wondering if the micro maestro doesn't run the same pololu protocol as the mini maestro line of boards. It'd be nice if the pololu setting worked on these boards in VSA and Track Skull so it wouldn't have to be a workaround option. I may have to just break down and buy a mini maestro if it'll work easier.

the micro boards have these specs:

Configurable pulse rate: 33–100 Hz 
Pulse range: 64–3280 μs 

and the mini's have these:

Configurable pulse rate: 1–333 Hz
Pulse range: 64–4080 μs


----------



## MonkeyBasic (Mar 22, 2009)

Hi Sam,

I haven't played around with the Maestro too much yet (I have a few laying around somewhere) but have you tried VSA to connect to it yet?

Homey is correct that the miniSSC protocol can only support 0 to 254.


----------



## MonkeyBasic (Mar 22, 2009)

samseide said:


> I kinda figured that I was stuck with the 0 to 254 limits since I seem to have to use mini ssc. The micro maestro doesn't respond to the pololu setting in VSA or in Track Skull. What I'm confused about is why when I hit connect in Track Skull it's shooting the servo all the way over to the minimum value. I sent an email to monkey basic. Hopefully they have an idea what's going on. I'm wondering if the micro maestro doesn't run the same pololu protocol as the mini maestro line of boards. It'd be nice if the pololu setting worked on these boards in VSA and Track Skull so it wouldn't have to be a workaround option. I may have to just break down and buy a mini maestro if it'll work easier.
> 
> the micro boards have these specs:
> 
> ...


If I recall, you are correct that the micro doesn't work on the Pololu protocol, kind of strange...


----------



## samseide (Jun 1, 2010)

I love the eureka moments talking to you guys on this forum give me. haha! when I went back into VSA I realized what was happening in Track Skull. When the default mini ssc values were used in Track Skull it shot one of my servos way over. I went back to VSA and noticed that my minimum values for all my servos were in the 41-150 range. Since that was the case of course it would shoot the servo whose minimum value was around the starting default. I adjusted and tweaked the values using the VSA software again and plugged them back into Track Skull and it now works like a champ. It's funny how you can sit and try to figure things out yourself and get stuck on a problem, come on here and ask others about it, and then the answer seems just so obvious once you guys point me back in the right direction!

My skull and I thank you!


----------



## MonkeyBasic (Mar 22, 2009)

Very cool, enjoy!


----------



## Dead Things (Apr 4, 2009)

I hope I'm not hijacking this thread. I'm a complete noob when it comes to this stuff. That being said, I am in the process of building a 3 axis mech a la Halloween2go. I also have a micro maestro. My question is: why VSA? My understanding is that the computer has to be hooked up to the servo controller. Doesn't that mean the laptop has to be close to the prop or use a very long usb cord? Part of the reason I bought the micro maestro is that it can be standalone. I'm not dissing VSA, just want to understand.


----------



## HomeyDaClown (Oct 3, 2009)

Dead Things said:


> I hope I'm not hijacking this thread. I'm a complete noob when it comes to this stuff. That being said, I am in the process of building a 3 axis mech a la Halloween2go. I also have a micro maestro. My question is: why VSA? My understanding is that the computer has to be hooked up to the servo controller. Doesn't that mean the laptop has to be close to the prop or use a very long usb cord? Part of the reason I bought the micro maestro is that it can be standalone. I'm not dissing VSA, just want to understand.


The key to VSA is the ability to synchronize voice (or audio in general) to servo position commands, not something easily done with just a servo controller without lots of extra memory and code. Adding MonkeyBasic's TrackSkull (free software) to VSA and a joystick makes programing 3 axis movements easy.

Without VSA, you would need a controller that could record servo movements and you'd still need someway to sync those movements to audio and soimething to play the audio.
For the money, an old cheapo laptop will do just fine, VSA dosen't require a powerhouse PC. You can run up to 15ft of USB cable or much longer with a booster/repeater.


----------



## samseide (Jun 1, 2010)

To add a little more to what HomeyDaClown is iterating:

The software that comes with the micro maestro is able to create scripts for your servos, but once you download it to the board, you lose the ability to sync that program with your audio. If your animatronic doesn't have any audio (like if it's just a bird that moves it's wings or something) then yes, you could program the movements, shove the board back in the animatronic and run it like that without the computer.

VSA is like the micro maestro software on steroids. MonkeyBasic's Trackskull program (free software but please donate to him so he keeps making great stuff!) is like the jelly that goes with VSA's peanut butter. Sure you can manually go in and program in each servo movement one by one in VSA or in the micro maestros software program, but it's time consuming and can lead to animation that isn't as natural. Recording the motions with a joystick as the audio is playing back is THE way to get the best looking animation in my opinion.

VSA also can do Jaw servo motion based on the volume of the wav file so you don't have to do any of that mess yourself. Huge time saver.


----------



## Dead Things (Apr 4, 2009)

OK, is VSA triggerable ( I don't even know if that's a word!)? My problem is weather. We can get it all here, rain (and lots of it), snow (and lots of it), cold. I have a way to protect from the first 2 but not the third if I run the show for 3-5 hours. I'm not even sure how the servos are going to react to cold temps.


----------



## samseide (Jun 1, 2010)

you can use another program from the maker of trackskull that will do triggering of VSA Routines:

http://www.monkeybasic.com/Products/Helmsman/

description from his website:

Create playlists of your VSA routines and allows external triggers to take your haunt to the next level.

Helmsman allows you to control and automate your Brookshire Software VSA routines. It also allows for external triggers to launch specific routines. Some have considered Helmsman similar to a media player for routines with some great extras. You can create playlists of routines and/or audio files, add delays, control a Kit74 relay board, and more.


----------



## HomeyDaClown (Oct 3, 2009)

With Helmsman, you can use a 25 pin plug (PC parallel printer port plug) or old printer cable to attach multiple triggers very easily. Each trigger can fire up VSA routines on demand. It also supports a USB based trigger interface now.

And by all means donate to support MonkeyBasic if you use any of his great software.


----------



## Dead Things (Apr 4, 2009)

So VSA, with the addition of some Monkeybasic software, could not only run the 3 axis and audio for the 3 axis, but also automate the haunt at the same time? I have 4 props that i would like to automate and am looking at some different ways to do that. can VSA assign sound to different props. that's my main focus for this year, getting sound to all my props.


----------



## samseide (Jun 1, 2010)

well..you would have one audio soundtrack that plays back, but you can have different channels going to different speakers in different areas in the haunt. So yes...it can all be done from VSA.


----------



## Dr Morbius (Sep 21, 2004)

If you want to have different audio going to different props in diffreent parts of your haunt playing at the same time, then VSA can, when hooked up to relays, trigger the play buttons on individual Mp3 players, all of which would need their own amplifier, of course. Seems to me that any servo controller that, if they can be also hooked to relays could also trigger Mp3 players as well which would make your props audio sync-able without using VSA or a PC at all, but they would be difficult to program.


----------



## JeffHaas (Sep 7, 2010)

It's the difference between individual props which can go through a set routine, but are not synchronized with each other, and one master control computer which runs everything off of one script. There's a definite advantage to having a single computer control everything (look at the fancy light displays that people do, for example) but it's a different level of commitment.


----------



## MonkeyBasic (Mar 22, 2009)

Thanks for promoting my software! Please feel free to ask me any questions.

Also, don't forget about the iPhone App, that will allow you to control (and trigger) routines.


----------



## Brett Baker (Aug 3, 2010)

I need to find a how to or instructions on hooking the triggers to the printer port with helmsman. Do you cut an old printer chord and splice the wires? if you cut the chord how can you tell which "pin" is which? an OHM meter? (im not so good with those meters so i would need a tutorial on that too lol). Or do you take a hammer to an old printer and use the attachment on that end? all of my printers are USB now.


----------

