Any common cause for Invalid OSCCAL on ACL Strobe?

CaptKirk

New elf
Joined
Sep 3, 2011
Messages
35
Location
Placerville - near Lake Tahoe
I'm hoping people have found the root cause for " Invalid OSCCAL" from Pickit2 software when programming. I have a few boards where I just seem unable to find solder issues that cause it. Is there a weak-spot in the layout that causes a board short that causes the error? Is it overheating the Pic during soldering? Is it just a bad Pic? is it bad thru-holes at the programming port? I've done some ohming out of the board and I just cannot find any opens or obvious shorts!

[font=tahoma, sans-serif]THX, Kirk[/font]
 
I'd try replacing the PIC on one and seeing if that sorts it. If so, remove and reinstall the same PIC on another PCB. That will tell you if it's the actual PIC or just the resoldering that fixed it.
 
But do I want to take a known working board, take the PIC off, then solder on the suspect one in order to be sure it worked? I think I have had the error, and went ahead and put it on a new board and had at least one or two work then but I've done so many and reworked so many, the mind loses track.
 
Yeah I have a few more added to the dead pile so I really want to correct this issue and find out what I am doing wrong.


A new thing I have is applying power and having the transistor try to burn up on a couple of boards. It gets HOT fast and I have not found what could cause it. This issue stays with the board (new transistors also try to fry).


Maybe when I am done debugging the hardware I will have a list of common issues and fixes...
 
David_AVD said:
Sounds like components in wrong places or wrong values.
Its not the wrong value as these are the exact same values used in the original batch of strobes which have worked without issue unless a resistor has been put in the wrong place.

What is the method used to solder the pic in place, could it be caused by heat damage, if too much heat is put on the pic or the pins for too long on the pic then you will damage it. So im wondering if you can shed some info on how you put these together (hot air, soldering iron, oven), what temp used, how long, ect.
 
When I had that it almost always (ok it happened about 10 out of 180) turned out to be I had missed a pin on the pic, so a quick resolder fixed it.
 
As the transistor is simply providing a link between the 6 pin pic and the 8 pin NUD led driver I'd be thinking that for the transisitor to be getting hot there will either be a short between a couple of the pins on the NUD chip, a short around R1 and R3 or you have the 3.3 ohm resistor in the wrong place. Page 6 of http://www.src.net.au/Personal/Projects/TPR1Strobe/Assembling_TPR1-Strobe.pdf shows the circuit and if all goes well the transistor is probably only switching under 1mA.
 
The OSCCAL error has happened with hand soldering and with hot air both. In the case where I hand soldered, it programmed OK before adding the transistor and LED, but then after adding those, there was no blink (with the data to gnd) and going back to check the PIC to see if I forgot to program resutled in the OSCCAL error.





The Transistor issue is NOT the wrong resistor values as I have verified those (even ohmed them with a multimeter.)


The transistor reads around 10 ohms base to collector (assuming EBC is correct looking at the transistor from the flat side) on bad boards but I do not see any shorts around the NUD. Have not looked under the NUD but I have checked under the resistors - all clean. Sounds like pulling the NUD may be next or give up on those boards.


<sigh>
 
Depending on the programmer and method, you may get an error if trying to read/verify the chip again. The OSCAL value is treated in a somewhat special way, so the error message may not be a real issue. Have you tried to read a good board to see if you get the same message?

If you have low resistance readings on the bad boards, you'll just need to trace where the short or damaged part is. It could also be a faulty PCB (shorted copper).
 
I dont know which PIC chip it is, but with the "12F" series devices the osccal is stored in the chip itself and it can be erased when you erase the chip. You have to write it back. There is a procedure for doing this - several in fact and a google search will reveal the methods.
The Microchip website probably has an App note on it as well. I know it is in the device datasheet.

Here is one link that came up in a google search re osccal and pickit, there will be plenty of others!
http://www.microchip.com/forums/m382082.aspx
 
Yeah, that's what I was alluding to (but trying to simplify). Most of the time the programming hardware / software takes care of that for you.
 
It looks like the pic chip used in the ACL strobe is the 10F200.
The datsheet can be found here - go down to documentation and software:
http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en019863

The information you need is found on page 42, including what I suspect is the cause of the problem, ie.
"Note: Erasing the device will also erase the preprogrammed internal calibration value for the internal oscillator. The calibration value must be read prior to erasing the part so it can be reprogrammed correctly later."
 
damo1271 said:
It looks like the pic chip used in the ACL strobe is the 10F200.
The datsheet can be found here - go down to documentation and software:
http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en019863

The information you need is found on page 42, including what I suspect is the cause of the problem, ie.
"Note: Erasing the device will also erase the preprogrammed internal calibration value for the internal oscillator. The calibration value must be read prior to erasing the part so it can be reprogrammed correctly later."

If you open the memory programing specification pdf document - also available from the link above - it appears that backup osccal value is stored in location 104H. It should be possible to recover the osccal value from that backup location and reprogram - assuming you havent overwritten it with a bulk erase. See sections 2.4 and 2.5.
 
Back
Top