I built my first programmer, and I went to test it with the software supplied on the site that i got the schematic from, however it is refusing to program my chip (Pic 16F88).
I had a look at the pin levels and found that MCLR is always sitting at +13V even when the program says it has been disabled, could this be the cause of the programming failure?
The procedure Im using is Start software, place PIC in socket, attach programmer to computer, power up programmer from an 18V power source, Erase All, Program all, Verify (Verify fails at 0000h, Read All (Returns hex data as 3FFF), Check Blank (Returns the PIC is blank).
Hi,
First check the voltage on pin 5 of the cable to see if the your PC is trying to switch VPP, if it is switching the problem is most likely the transistor (probably inserted wrongly in the board or blown).
The voltage on pin5 is rising from 0.1V to 4.36V when VPP is enabled.
The Voltage on the programmer is sitting at 12.66V and rising to 13.41V when VPP is enabled.
So does that mean I need to replace my transistor?
There's a red LED on Vpp, this should ONLY light when you try and enter programming mode - so it should normally be OFF. Check the output voltage of IC1 buffer 4 - this should normally be around 12-13V, and go low (near 0V) when programming.
No, it's working! it's not able to shut off... I would suggest changing the resistors (values) around it. You can do this test without inserting the PIC in the socket.
There's a red LED on Vpp, this should ONLY light when you try and enter programming mode - so it should normally be OFF. Check the output voltage of IC1 buffer 4 - this should normally be around 12-13V, and go low (near 0V) when programming.
Well, the LED is always on, i have only ever seen it off when the programmer has no power, I thought that was a bad sign.
I made it myself, designed the PCB and everything.
eng1 said:
No, it's working! it's not able to shut off... I would suggest changing the resistors (values) around it. You can do this test without inserting the PIC in the socket.
Presumably you did use an open-collector buffer chip?, if you used a normal buffer this is the effect you would get. Otherwise, check the voltage on buffer 4 output as I suggested.
Ok, so i need to increase the resistor value of the resistor coming off pin 8?
hehe... funny you should mention that chip *tugs collar* its non buffering, I could only get hold of a Non-Buffering Hex inverter, no other inverters are available where I live, I hoped it wouldnt matter, and until now it doesnt seem to have mattered, I will check the voltage on that pin and get back to you.
hehe... funny you should mention that chip *tugs collar* its non buffering, I could only get hold of a Non-Buffering Hex inverter, no other inverters are available where I live, I hoped it wouldnt matter.
It's ABSOLUTELY crucial! - it's what makes the programmer work, you MUST have an O/C buffer!.
If it's urgent to get it working, replace that single buffer with an NPN transistor, with a resistor feeding the base (say 10K), and another base to emitter.
It's ABSOLUTELY crucial! - it's what makes the programmer work, you MUST have an O/C buffer!.
If it's urgent to get it working, replace that single buffer with an NPN transistor, with a resistor feeding the base (say 10K), and another base to emitter.
Ok, well thats a real kick in the pants.
What does Open Collector mean anyway?
Will a BC548 do?
so I would take the line from pin 5 and run it via a 10K resistor to the Base of the NPN, then connect a 10K from the Emitter to the Base, do I then take the output from the collector and run that to where the buffer out put is?
I would completely disagree, perhaps you would care to suggest any values that you think could do that? - are you perhaps forgetting the driver IC is supposed to be open-collector?.
It means what it says, a connection JUST from the collector of a transistor, with no other component connected to it. This means it can SINK current, but not SOURCE it - which is what we're looking for in this case.
If you check my PIC tutorials (Hardware Extras) there are some examples of using transistors for it, which you could use for your buffer.
so I would take the line from pin 5 and run it via a 10K resistor to the Base of the NPN, then connect a 10K from the Emitter to the Base, do I then take the output from the collector and run that to where the buffer out put is?
Hmmmm... what if you consider a small leakage current? I'd like to simulate that case... do you still think that the transistor would switch off with any resistance (base to emitter)?
As Nigel already said, o.c. means that the collector of the output transistor (of each gate) is left unconnected. In order to operate the transistor as a switch you have to add an external pull-up resistor. That's useful when interfacing different voltage levels for example.
I hope you'll have your programmer working!