Here's a collection of notes to help you with those pesky questions along the way!
1) I know the PIC-EL was designed to use the PIC16F84 controller, but how I use the PIC16F628, which is cheaper and more powerful?
Two easy modifications are all that's required for the PIC-EL to use the '16F628. See the instructions.
2) I have a 16-pin connector on my LCD ... how do I plug this into the 14-pin socket on tyhe PIC-EL board?
No problem - just connect pins 1-14 from the LCD to the socket in the board. The ipper two pins are for powering the LCD backlight, which isn't used on the PIC_EL board.
3) When I try to program a PIC, I get the message on FPP "Failed to program code". If I read the test PIC that came with the project, it reads and displays the data just fine. If I try to erase the PIC, it says it was erased but the data is still there because I can do another read and read the data. I've been through the FPP setup procedure several times and don't see anything unusual.
The problem sort of sounds like a GIVEIO problem. I would remove GIVEIO, then reinstall it EXACTLY according to the instructions in Lesson 10. It is important to note that skipping silly instructions like rebooting between steps will cause it to fail. We have had literally dozens of folks who have missed a step here or there in the GIVEIO installation.
If you have installed SP2 on your XP system, reboot between EVERY step of the GIVEIO installation procedure. (Yes, it's dreary but you only have to do it once). Then go to the device manager and set GIVEIO to boot. (Pre-SP2 there is no boot choice, LOADDRV should leave it in automatic).
It goes like this (except for the last step, this will work pre-SP2 as well, but there are more reboots than you actually need).
Log onto a privileged account
With LOADDRV, stop GIVEIO
With LOADDRV, remove GIVEIO
Check device manager to be sure GIVEIO is gone (don't forget to check Show hidden devices)
With LOADDRV, install GIVEIO
With LOADDRV, start GIVEIO (you didn't need to reboot that step)
Check GIVEIO in device manager ... it should be started. Set it to Boot (automatic for pre-SP2)
It is also possible that you aren't wiggling RB6 with enough feeling. After you have the GIVEIO thing straight, try checking out the programmer using the procedure in Lesson 10. Since you can read the PIC, it sounds to me like !MCLR is good. He is usually the troublemaker.
If the voltages all check OK, then try stretching out the I/O delay and Prog Cycle delay in FPP's setup. The I/O delay has the most effect on performance, but you can change it quite a bit without a really noticeable effect. If I recall, it defaults to 20, but you might try 40 or 60 to make up for your longer serial cable. The Prog Cycle delay could be doing it to you as well, I think that one is normally 20 but you could make it quite large without ever seeing an ill effect.
4) During checking your instructions on how to modify the PICEL board to work with 16F628, I have noticed a discrepancy between PCB layout and schematic. In the schematic R20 is connected at a junction with R34, R35 and Pin 1 of U1. In the PCB layout R20 is connected across PB3, on the other side of R35. It does not change the operation of the board, but nevertheless the schematic has to be corrected.
Yup! We decided not to point this out because, as you say, it does not really affect the way the board works. This error was introduced in one of the last-minute changes we made to the board. We will correct this error on the next rev of the board. Then we will correct the schematic as well. Changing the schematic now would just add confusion.
5) Is there an easy way to check if D2 or Q2 went bad, maybe using an LED and a resistor, or do you believe it is something else?
The easiest way to do this is to use the Debug feature of FPP. First, make sure your PIC-EL switch is DOWN (in program mode).
Start FPP, and then press the SETUP button. Now press the DEFINE/TEST button. You should see the pin setup as follows:
OUT on pin 4
Clock on pin 7
MCLR on pin 11
IN on pin 8.
ALL of these should have the check box for INVERTED checked. If any of these are not this way, stop. That's the problem.
Assuming they are all correct, we need to manually toggle the OUT pin. This is done by first clicking on the "APPLY" button, and then checking the Enable box. Now you change the value on a data pin by clicking on the appropriate circle, making it high or low. (It is inverted, of course.) OK?
Next, find resistor R4 on the PIC-EL board. It is just to the right side of Q2. Put your VOM ground on the ground test point and then measure the voltage at the RIGHT side of R4 (away from Q2). As you hold your VOM probe on this pin, you should see it change from about -11.5v to +11.5v or so. This shows the voltages right on the RS232 interface. OK?
Now move your probe to the LEFT side of R4. Here it will only change from +0.65 to -0.65 or so. That is enough voltage change to make Q2 switch between ON and OFF states. Does it do this?
Now move your VOM probe to the collector side of R12. (The "left" side of R12.) As you toggle the DATA OUT pin back and forth on FPP, you should see the collector side of R12 change from near zero to about 3.8v or so. The voltage on the "right" side of R12 will change in the same way but will only get up to about 3.5v or so. hat do you see here?
6) My PIC El doesn't seem to program. I have 'wiggled' the outputs and checked all the voltages, but FPP still says Failed to program Code! Or Failed to Program Config! Or some such nonsense. I have tried to program the pic in my PICALL programmer with PICALLW software and it doesn't seem to work the first time but then I will retry to program it in the PIC El and bingo programming Success! Have any of you encountered this problem? I have only been able to get this to work with T-PICEL.HEX 4.0, the siggen hex doesn't seem to want to program the config, hence...Failed to Program Config! Does anyone have any idea what I am doing wrong?
Two things ... the fact that the PIC seems to be willing to program sometimes sounds to me as if maybe the "Prog Cycle Delay" is too short. Try increasing that. Normally it's 20 msec, you might try 30 or 40. More common is for the I/O delay to be too short. You might also try playing with that. I think the default is 40 although quite often a smaller number will work sometimes. If you are getting programming failures, though, I would make it longer.
3.56 sounds a little low, but several others have reported success with a similar voltage.
Lesson 11 has some more info about troubleshooting.
7) How can I mount the LCD to the PIC-EL Board? It doesn't seem to have the same dimensions as the LCD in the origiunal kit.
The original LCD was mounted with a locking header, but this did done come in the latest partial kit. I happened to have some 4-40 threaded standoffs that were the right height, so I used those to firmly fasten the LCD to the board. This makes it somewhat more mechanically stable, but if you don't have that stuff available, don't worry about it on the LCD. You can make your own standoffs for the daughtercard with a couple of 2-56 by 3/4" screws and six 2-56 nuts. Use 2 of the nuts to mount the screws to the board, leaving them stick up. use 2 more nuts to set the desired height above the chassis (about 3/8 to 1/2") and lock the board down with 2 more nuts. Adjust them so that the DDS board looks level. Then put the socket on the DDS Card pins and now you can solder the wires between the pins and the main board. Use the stiffest wire you can find. I had a bunch of old 1 watt resistors in values that I'll never use, and I cut the leads from those to use for my wires. Nice and stiff, and they don't look to bad in the finished version either.
Back to PIC-EL Kit page
Back to AmQRP Home Page
Page last updated: October 1, 2005