Jump to content
Sign in to follow this  
bkdavy

Help trouble shooting RCFS

Recommended Posts

I need help trying to figure out what's going wrong. I built the RCFS per plan, using the Digikey parts. It's built on a .1 inch perf board using point to point wiring with the 30 guage insulated wire wrapping wire. Used the 12C508 chip. I checked continuity at all points and looked for shorts (everything checked out okay)

The 12C508 was programmed (I think) with the JDM programmer (version 2, JDM Programmer) modified per his web page to include 2-9 volt batteries and a 220 ohm current limiting resistor across C2. I used IC Prog to do the programming, with the fuses set per the instructions, and code verification turned off. Note that I've never successfully programmed a 12C508 (or any other chip for that matter), as I built the JDM for this project.

The results - When I plugged the RCFS into the line between the reciever and the servo, turn on the transmitter, then turn on the receiver, the servo operates properly for a random period of time, then stops responding entirely. The servo does not go into the fail safe position, as it can be turned by hand. At some random time later, it begins responding again. Changing positions of the DIP switches has no effect I cannot trace this to an identifiable behavior. Note that Pin 3 of the 12C508 is high through out. It never goes low, even when I turn off the transmitter.

Is there a way to verify that the 12C508 is properly programmed? Can the chip be read with the programmer, or does the code protect fuse prevent this?

Any recommendations on where to start looking for the problem would be greatly appreciated.

Share this post


Link to post
Share on other sites

It sounds to me like the PIC was not programmed. But let's poke at some basics first.

(1) What voltage do you read on PIC pin 1 when pic pin 8 is used as the meter ground?

(2) Move the meter to the CD4011. With CD4011 pin 7 as the meter gnd, what voltage is on Pin 14?

Can the chip be read with the programmer, or does the code protect fuse prevent this?

The code is scrambled with code protect on. But as a workaround, read the chip with your programmer and then save it as a hex file (call it rcfsx.hex). Then zip the file and attach it to a post on this thread. I will look to see if what is there is reasonable.

You can also burn another chip with the code protect fuse turned off. You should be able to perform a verify on it to determine if your programmer is working.

Lastly, are you sure the fuse settings were correct? That seems to be where most folks make their mistake.

Share this post


Link to post
Share on other sites

Well, I found another site that describes in great detail how to check out the JDM programmer. I walked through the entire setup. There is one minor problem in that the MCLR value is only 10.37 volts. I'm not sure what the minimum for the 12C508 is. I had the delay set to 10, and was using the Direct i/o in ICPROG. I changed the Delay to 1 (trying to get MCLR as high as possible), and switched to the Windows API. Just for grins and giggles, I put the same chip (thought it was already programmed, but what the hey) into the programmer and read the chip. It looked like it hadn't been programmed at all, so I ran the program utility. Plugged it into the RCFS, plugged the RCFS into the plane, and VOILA - it looks like its working! I don't know if it was the delay or the Windows API, but it works.

Now I'm working on a layout to make a quick PCB by hand. I need to make 8 of these devices.

One interesting observation - with the RCFS on only one receiver channel, there appears to be some back signal generated to the receiver that causes all the other servos to flutter badly on loss of Transmitter signal. Consequently, it looks like all channels will need the RCFS.

Thanks for an excellent design.

Brad

Share this post


Link to post
Share on other sites
One interesting observation - with the RCFS on only one receiver channel, there appears to be some back signal generated to the receiver that causes all the other servos to flutter badly on loss of Transmitter signal.

The issue is that with a total loss of RF carrier, the R/C Rx will go wide open and try to decode noise. This will cause the servos to dance. This will happen to most folks that use PPM Rx's, even without RCFS. I suppose with one servo being driven by RCFS, there is probably enough EMI from the motor to start the ball rolling on Rx's that did not dance without it.

Share this post


Link to post
Share on other sites
Now I'm working on a layout to make a quick PCB by hand. I need to make 8 of these devices.

Well I gave up on the hand drawn PCB, since it really needs a 2 sided board, and vias were too difficult. I didn't trust the point to point wiring in an airplane. Instead, I went with ExpressPCB. I could fit 8 boards onto one of the miniboards. Unfortunately, there is a minimum of 3 miniboards. Consequently I have enough boards for 24 RCFS devices. For $59 delivered, thats about $2 per board. Not a bad price. ~$2 for the 4011 and the 12c508, $.25 for the capacitor. Now I'm waiting for the connector plugs and pins from Digikey (went with the 3mm Universal Micro Mate-N-Lock connectors) to splice the RCFS into the servo line. Enough for 10 servos cost $39. Bottom line, less that $10 per device. Its a nice compact design and putting it together once all the components are collected is a breeze.

If anyone is interested in the ExpressPCB file to order the boards, let me know. I'll be happy to share.

Brad

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×