Search  
Tuesday, January 06, 2009 ..:: Forum ::.. Register  Login
 HomePage Minimize

 Print   

 Products Minimize

 Print   

 MSRS Minimize

 Print   

      
 RoboticsConnection Forum Minimize
SearchForum Home
  Discussions  Serializer Robot Controller  Encoders on the...
 Encoders on the Serializer WL
 
 4/30/2007 2:02:56 AM
micm66
9 posts


Encoders on the Serializer WL

Hello,

I'm in the process of getting things connected and tested, and I have some questions about using encoders with the Serializer WL.

I am attempting to use the Hamamatsu single encoders (with the 44-spoke encoder disks).  I have the encoder disks mounted after the gear train on my motors, the same as the wheels are mounted.  If I understand the example and other info in the user guide, then I would need an "L" of 1025, which cannot be entered.

I have Banebots 256:1 motors and 4" Colson wheels. The calculated RPM (at the wheel) is 108. Will the built-in algorithms work with this arrangement?  Also, when I run a PWM on the motors, and check the vel as suggested, I only get a reading on the right-hand (#2) encoder.  With single encoders, should the signal be connected to A or B on the board?  On the one side that I do get a reading on, with an L of 255, I only get a velocity of 12 or so.

Am I completely missing something simple? I do get a reading from the "getenc" command for both sides if I connect the signal to B on the controller, but again, I only get a velocity on the #2 side.

Thanks,

Mike

 4/30/2007 3:05:46 PM
jason
158 posts
5th


Re: Encoders on the Serializer WL

Mike,

In order for the PID loops to work properly, you need a relatively high encoder sample rate.   In the case of our Traxster, the motors have a 1:52 gear reduction, and the encoders mount to the motor shaft (before the gear reduction) instead of the output shaft.  Thus, we end up with 52 x 4 (w/ 4 spoke disks) 208 pulses per revolution.  The max speed of the motors is 175rpm, thus, we're getting about 607 pulses/sec. 

In your scenario, you have the 44 spoke encoder disks mounted to the output shaft turning at 108rpm. Thus you are getting 44 pulses per revolution, and around 79 pulses/sec. 

This isn't enough samples/sec to allow the PID loop to work properly.  The PID loop need to run about 50 times/sec to be effective, otherwise you'll see some odd oscillations in velocity.

Internally, the firmware has a periodic interrupt routine that runs every 1.6msec.  That routine keeps track of the L parameter, and if the internal counter matches the L value, then the PID calculations are performed. Once performed, the internal counter resets to count up until the next time to perform the calculation. The L value can be a maximum of 255. If you use the max value, the PID logic will update every 255 x 1.6msec = 0.408 seconds, or basically around half a second.   If you were able to increase the value of the L parameter further, you would just increase the time that the PID calculations are performed, and thus decreasing your PID resoluton.

Is there any way for you to put the motors before the gear reduction? The signal from the single encoders should be connected to encoder inputs B.   Input A is used for quadrature encoders.

You are the third customer who has run across this problem, and I'm glad you posted it.  We are discussing (and need to find) possible solutions to this problem, because 1.) It makes the Serializer more useful and 2.) We want to make our customers happy.

We are currently getting ready for Maker Faire, but while doing so, we'll discuss some possible solutions (which might occur at 32,000 feet in the air). :)

 


Jason Summerour
President,
Summerour Robotics Corp
Microsoft MVP
www.roboticsconnection.com
 5/1/2007 12:46:39 AM
micm66
9 posts


Re: Encoders on the Serializer WL

Ah, that makes sense.

I'm thinking it'd be pretty darn difficult to couple the encoder disks directly to the 385 motors that come with the Banebots.  I actually have a Traxster chassis that I bought from an individual a while back, and I notice your motors there nicely have that extra bit of shaft sticking out the back.

Matt has quadrature encoders from Banebots designed to fit my 36mm gear boxes (http://www.trossenrobotics.com/store/p/5069-Encoder-36mm-Gearbox-Mount-Full-kit.aspx).  They'd still be driven after the gearbox, but they have 128 ticks per revolution. At my max RPM I'd have about 230 pulses per second.  Did I interpret from above that I want at least 50 pulses per second?

Is there any way I could make or find higher-resolution disks and use them with Hamamatsus, or are the 44-spoke disks as fine as they'll go?

~Mike

 5/1/2007 1:21:52 PM
micm66
9 posts


Re: Encoders on the Serializer WL

Hm. There's just the minor detail that if I want to use the Banebots encoders, (>$75 for the pair) I have to have a dual-trace oscilloscope to callibrate them.

I'm starting to wonder if this was an ill-advised project.

~Mike

 5/1/2007 2:11:35 PM
jason
158 posts
5th


Re: Encoders on the Serializer WL

Mike,

You can use the Encoder Designer program (written by Scott Boskovich) to create new encoder disks w/ higher resolution, which you can attach to your wheel.

If you have a large wheel, which is sounds like you do, you should be able to increase encoder resolution.  You'll just need to make a bracket to hold the encoder module close to the disk.  Most people usually print out the pattern, glue it to a substrate, like lexan or plexiglass, then attach that to the wheel/hub.

You could at least run through the calculations using your wheel geometry, and see if it's feasible.   If it looks like it'll work, then you could print the pattern out and test it. :)

If you have a 4" diameter wheel, then you have a circumference of 12.6".  If you keep the same spoke width as the 44 spoke encoder disks (~0.06"), then you would get roughly 210 ticks out of it.


Jason Summerour
President,
Summerour Robotics Corp
Microsoft MVP
www.roboticsconnection.com
  Discussions  Serializer Robot Controller  Encoders on the...

SearchSearch  Forum HomeForum Home    Print   

Copyright 2004-2007 Summerour Robotics Corp   Terms Of Use  Privacy Statement
DotNetNuke® is copyright 2002-2009 by DotNetNuke Corporation