![]() |
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 |
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. |
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.
|
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.
|
Re: Encoder help
Quote:
-Kevin |
Re: Encoder help
Quote:
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. |
Re: Encoder help
Quote:
-Kevin |
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 |
Re: Encoder help
Quote:
|
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. |
Re: Encoder help
Quote:
Yes it still remains yellow, and still doesn't print. |
Re: Encoder help
Quote:
-Kevin |
Re: Encoder help
Quote:
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. |
Re: Encoder help
Quote:
-Kevin |
Re: Encoder help
Quote:
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. |
Re: Encoder help
Quote:
Windward: "Update: We think it might be a problem with the computer. Whenever we program it the yellow program state is constantly orange." Windward: "Could this be compiler/cable related (we are using a USB to Serial converter)" Kevin: "Does it do this with the .hex file that's included in the .zip archive?" Windward: "Yes it still remains yellow, and still doesn't print." If the RC never comes out of programming mode, of course it's not going to send anything to the terminal because the code isn't executing. Mark at IFI says that he's seen this many times with USB to serial converters that tend to buffer large amounts of data and then send it all at once in a continuous burst, which screws-up the proper timing between the loader and bootloader. Quote:
Quote:
|
Re: Encoder help
Kevin, you are right, I am obviously an wrong.
Even so, this is what I read: Quote:
Quote:
I defer to Kevin's greater knowledge, but again, it seems strange to me that the USB-Serial is the problem. From above, they are able to download code using the same USB-Serial cable. I don't see an obvious reason for the code size to be very differnent in the two cases. Yet one code runs and another does not. It is obvious to others that the reason one runs and the other does not is because one downloads and another does not. I missed that but I still don't understand it. There is the additional data that the "IFI>" is getting back to through the USB-Serial link with the precompiled .hex code. Is the .hex downloading? Is it running? I am not sure, again, something is not adding up, in my mind at least. I made some suggestions and asked questions. I am sorry if my thoughts on the process caused more confusion. Even with Kevin's assurances, the USB argument seems sketchy to me. But again I defer to his greater knowledge. As to the case of Mt. Dew, I may send you one gratis, Kevin, even if you don't take me up on the bet. According to a number of books including this one caffeine often has a civilizing affect on humans. Joe J. |
Re: Encoder help
Never underestimate the ability of a USB to Serial converter to screw things up. Any server software like apache or SQL server can also interfere with the timing.
|
Re: Encoder help
Joe,
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
-Kevin |
Re: Encoder help
Quote:
|
Re: Encoder help
Thank you all for the great debate over the problem. I am very sorry about not replying for 3 weeks, as I was on break and unable to apply.
I don't currently have a serial computer to test out, and with the new compitition starting I can't put my resources into making it work right now because the '06 competition just started. We hope it will work with the new cpu etc, and if there is a problem I will find a serial computer somewhere on campus to test. Thank you all very much again. |
Re: Encoder help
sorry we haven't replied lately. We have our hands full now with a lot of things. We were able to get the printf to work and haven't gotten to check the encoders yet.
|
| All times are GMT -5. The time now is 00:10. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi