4
\$\begingroup\$

After posting: Programming/Debugging with ICD3 and PIC16F819-I/P

I'm still getting the MPLAB error:
ICD3Err0045 - You must connect a target device to use MPLAB ICD 3

My Setup (pinout and wireup): PIC16F819 Pinout and Current Configuration

MPLAB Screen (You may need to zoom in a bit): enter image description here

I did notice that under Programmer > Settings > Status:

enter image description here

  • Target Vdd seems wrong (0.02 persist even after clicking 'refresh').
  • "Allow ICD 3 to select memories and ranges" is set
  • "Power target circuit from MPLAB ICD3" is unchecked.
  • Voltage between PIC pins 5 and 14 is 5.14, but once I try to connect to ICD3 and click "Reconnect" this voltage drops to 3.4
  • My voltage supply is an AC to DC adapter from a wireless mic receiver (SHURE PS21US, output 12V, 400 mah) put through a voltage divider L7805CV to give me 5.08 volts.
  • The datasheet for the PIC16F819 can be found here.

EDIT: I added a 5V voltage regulator, and a .01uF cap across Vdd and GND (before it even goes to the regulator), and a 2.6k resistor in series with !MCLR. Still getting the same error (Programmer status remains unchanged even after refresh - it's like ICD3 isn't grounded...just guessing though).

What am I doing wrong?

\$\endgroup\$
  • \$\begingroup\$ You should have a pullup on MCLR. Did you try programming with external power provided from your 5V supply (disconnecting power from ICD3?) \$\endgroup\$ – Adam Lawrence Feb 10 '13 at 21:21
  • \$\begingroup\$ Also, you absolutely need a ~0.1 uF capacitor between the Vdd and Vss pins for decoupling. If you don't have any capacitors across your power rails, you will almost definitely have weird issues. \$\endgroup\$ – Connor Wolf Mar 10 '13 at 4:26
  • \$\begingroup\$ Ah, so my 0.01 uF isn't going to cut it? \$\endgroup\$ – sacredfaith Mar 12 '13 at 16:23
4
\$\begingroup\$

That error indicates that the target device isn't powered. Check that the supply to the Vdd pin is present.

The use of a voltage divider is probably the cause of the problem. Use a proper regulator.

The Vdd pin should be decoupled.

\$\endgroup\$
  • \$\begingroup\$ Thank you so much for your suggestion! I'll (hopefully) be able to test this soon. I think you're right about the voltage divider. \$\endgroup\$ – sacredfaith Feb 14 '13 at 15:08
  • \$\begingroup\$ Supply voltage is good, swapped divider for a regulator, decoupled Vdd...any other ideas? \$\endgroup\$ – sacredfaith Feb 16 '13 at 13:56
1
\$\begingroup\$

I guess you wanted to supply the MCU with a voltage divider of maybe 1K and 1K2. If so, probably your circuit has no power after drawing 10 mA or else it's destroyed and shorted with a voltage over 7V5. Use a 78L05 or similar, do things well.

\$\endgroup\$
  • \$\begingroup\$ I'll check my IC's to see if I have a regulator lying around. Thank you! \$\endgroup\$ – sacredfaith Feb 14 '13 at 15:08
  • \$\begingroup\$ Found one!! See edits. \$\endgroup\$ – sacredfaith Feb 16 '13 at 13:56
0
\$\begingroup\$

Did you check your RJ11 connector to ensure that everything was wired up correctly?

E.G.

From the ICD3 Quick Start Poster:
icd3poster

what that means is that from the ICD3, that is:
icd3

PGM will be on the far left, Vpp will be on the far right...

Note that the numbers on your RJ11 connector will be upside down, AND the mapping will be exactly like "Target Connection Pinout" on the rest of the poster!
TargetDeviceICD3Poster

After all that, to find out my connector was just upside down! All I had to do was re-wire the lines from the connector to the breadboard and boom: MPLAB detected everything! Now I'm off to the software side!
RJ11

Thanks again to all who helped out!!

\$\endgroup\$
  • \$\begingroup\$ Did I feel kind of silly? Yes. Oh well, sometimes it pays to take a step back, and start looking at the forest :) \$\endgroup\$ – sacredfaith Mar 10 '13 at 0:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.