Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   Encoder help (http://www.chiefdelphi.com/forums/showthread.php?t=40664)

Windward 29-11-2005 17:40

Encoder help
 
Hello,
We have been trying to use Kevin Watson's encoder code for our robot, but we can't tell if it is working. I've used Mr. Watson's code, unmodified and loaded it onto the robot. Even when I spin the encoder by hand, it doesn't count or print it out.

I've tested with different encoders and tried to have the electrician on the team re-wire it.

Any advice?

-Windward Robotics 1452

Mike 29-11-2005 18:01

Re: Encoder help
 
First step to solving any programming problem, is to isolate the problem. How do you know the problem is with Kevin's code... and you don't have a problem with your encoder?

With that being said, have you tried hooking the encoder up to an oscilloscope? That would tell you whether it is a bad encoder, or bad code.

Bharat Nain 29-11-2005 19:58

Re: Encoder help
 
Did you plug your it into the right pins? The correct way to wire it is on Kevins website in the encoder FAQ section. Check his encoder.h/reamde files to see where to plug in the right pins. Follow all the instructins carefully and then follow through and see why it is not working. His unedited code has always worked flawlessly for me.

devicenull 29-11-2005 20:43

Re: Encoder help
 
Also, how are you printing it out? If you are just using %i, be aware it will cause some strange things to happen. I believe the proper thing to use is %li, but I can't exactly remember. I do remember spending about a week trying to debug why the encoder worked eletrically, but it wasn't changing the variables in the code.

Kevin Watson 29-11-2005 20:51

Re: Encoder help
 
Quote:

Originally Posted by Windward
Hello,
We have been trying to use Kevin Watson's encoder code for our robot, but we can't tell if it is working. I've used Mr. Watson's code, unmodified and loaded it onto the robot. Even when I spin the encoder by hand, it doesn't count or print it out.

I've tested with different encoders and tried to have the electrician on the team re-wire it.

Any advice?

-Windward Robotics 1452

With as much detail as you can, describe how you've wired the encoders to the robot controller. Also, which encoders are you using?

-Kevin

Windward 01-12-2005 17:14

Re: Encoder help
 
Quote:

Originally Posted by Kevin Watson
With as much detail as you can, describe how you've wired the encoders to the robot controller. Also, which encoders are you using?

-Kevin

Well its the stock code (downloaded from http://kevin.org/frc/frc_encoder.zip).

The encoders are Grayhill 63R128 (recommended from http://kevin.org/frc/encoder_faq.html)

The encoder is plugged in to Digital In/Out 1 and 6, with the power and ground connected to the Digital In/Out 5. Is this a possible problem?

The only other problem I could possibly see is that the FRC Robot Controller is from 2004. Could this be another possible problem?

Thank you in advance,

-Windward Robotics 1452

--
Update: We think it might be a problem with the computer. Whenever we program it the yellow program state is constantly orange. Any advice? We are going to try to steal the 2005 FRC Robot Controller from the builders.

Kevin Watson 01-12-2005 20:14

Re: Encoder help
 
Quote:

Originally Posted by Windward
Update: We think it might be a problem with the computer. Whenever we program it the yellow program state is constantly orange. Any advice? We are going to try to steal the 2005 FRC Robot Controller from the builders.

Does it do this with the .hex file that's included in the .zip archive?

-Kevin

RbtGal1351 03-12-2005 19:04

Re: Encoder help
 
Try making the variables and functions that are longs ints instead.
e.g. instead of "long Get_Left_Encoder_Count()" change it to "int Get_Left_Encoder_Count()"

I had a problem much like that before; none of my variables (longs) would change ever. Then I changed them to ints and it worked.

Hope that helps,
~Stephanie

Alan Anderson 03-12-2005 21:54

Re: Encoder help
 
Quote:

Originally Posted by RbtGal1351
I had a problem much like that before; none of my variables (longs) would change ever. Then I changed them to ints and it worked.

I suspect they were changing as they should, and the problem was that they just weren't printing correctly. printf isn't very friendly, and expects to print ints unless you can convince it otherwise. If you try to print a long the way you print most things, you just get the top couple of bytes of the value, which is usually going to end up being either 0 or -1.

Windward 06-12-2005 16:58

Re: Encoder help
 
Sorry about posting only on Tuesdays and Thursday, until the competition starts that is the only time I can work on it.

I am pretty sure there is a problem with the printfs. When I basically added the same statement (minus the ++counter and just while 1==1) into User_initialization it worked properly; I believe when I added the ++counter part of the original printf in User_initialization it didn't work.

I assume I'm having printf problems. Could this be compiler/cable related (we are using a USB to Serial converter)

Thanks.

Windward 06-12-2005 17:12

Re: Encoder help
 
Quote:

Originally Posted by Kevin Watson
Does it do this with the .hex file that's included in the .zip archive?

-Kevin


Yes it still remains yellow, and still doesn't print.

Kevin Watson 07-12-2005 02:05

Re: Encoder help
 
Quote:

Originally Posted by Windward
Yes it still remains yellow, and still doesn't print.

I haven't a clue what the problem is. I just loaded encoder.hex, dated 1-6-05, into a 2004 full-size robot controller and it worked as advertised. Grasping at straws, what version of the loader and master code are you using? Did you try resetting the RC after loading? If so, did the behavor change? If not, can you do so and report back?

-Kevin

Windward 13-12-2005 16:55

Re: Encoder help
 
Quote:

Originally Posted by Kevin Watson
I haven't a clue what the problem is. I just loaded encoder.hex, dated 1-6-05, into a 2004 full-size robot controller and it worked as advertised. Grasping at straws, what version of the loader and master code are you using? Did you try resetting the RC after loading? If so, did the behavor change? If not, can you do so and report back?

-Kevin

The version I got from your website is dated 1-2-05.
IFI loader is 1.0.10
After I hit restart on the CPU, "IFI>" comes up in the COM4 Terminal but no encoder output using the precompiled .hex file.

Although after pressing reset, the Program Light state becomes green.

Kevin Watson 13-12-2005 17:27

Re: Encoder help
 
Quote:

Originally Posted by Windward
The version I got from your website is dated 1-2-05.
IFI loader is 1.0.10
After I hit restart on the CPU, "IFI>" comes up in the COM4 Terminal but no encoder output using the precompiled .hex file.

Although after pressing reset, the Program Light state becomes green.

Being clueless myself, I called the folks at IFI to see if they might have some insight into what's going on and they're of the opinion that your USB to serial converter is wonky. Do you have a PC with a real serial port you can try? Anyway, I'll send you a private message with information on who to contact at IFI for help.

-Kevin

Joe Johnson 13-12-2005 20:17

Re: Encoder help
 
Quote:

Originally Posted by Kevin Watson
...I called the folks at IFI to see if they might have some insight into what's going on and they're of the opinion that your USB to serial converter is wonky. ...

-Kevin

Whoa! Really?

The USB to Serial is good enough to download code but not to talk to the printf?

If that wasn't enough, he also says that his terminal program shows a "IFI>" on the screen.

Why the "IFI>" but not the stuff from the printf?

I have no clue what it is, but I will bet a case a Mt. Dew (at even odds) against it being the USB to Serial device's fault.

How about this? Is it possible that the printf is sending data to a different serial port on the controller than the one that the "IFI>" message is being sent?

Joe J.


All times are GMT -5. The time now is 04:32.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi