What do you have connected to the PIC?
Do you have TRIS? statements at the beginning of your code to control the pin's direction?
What do you have connected to the PIC?
Do you have TRIS? statements at the beginning of your code to control the pin's direction?
Dave
Always wear safety glasses while programming.
Hi,
I got such a surprise , years ago with a 16C84 ... ( Andeas Voggender R/C Esc , showns in Elektor Magazine - project 960095-11 ).
While receiving too much glitches, the PIC begins to heat ... one and only solution : power OFF !!!
No overloaded output ...
Back to the " constructive " side ... you must take great care to the config sequence of your PIC, and especially to the reset circuitry.
these lines are "not so innocent" ...When the device starts normal operation (exits the
reset condition), device operating parameters (voltage,
frequency, temperature, ...) must be met to ensure
operation. If these conditions are not met, the device
must be held in reset until the operating parameters are
met
see Datasheet related pages for that ...
Alain
PS : could you join the " faulty " program ???
Last edited by Acetronics2; - 18th July 2009 at 13:16.
************************************************** ***********************
Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
************************************************** ***********************
IF there is the word "Problem" in your question ...
certainly the answer is " RTFM " or " RTFDataSheet " !!!
*****************************************
Hello Acetronics
I think the problem is the Pic itself. I have until 2 years ago 1000 boards that
have not this problems, for 4 Months have make more 200 units and receive 6
boards back from customers that have this problems.
The init part of the code is very simple
sorry, this a original init code, the previous was experiments
The rest of the code is a loop to look for shut down by the user or if the sepic not workingCode:DEFINE OSCCAL_2K 1 ' sepic_ok var GPIO.3 call_shutdown var GPIO.4 sepic_on_off var GPIO.5 pulsador var GPIO.2 am_on_off var GPIO.1 'sense var GPIO.0 ' TRISIO = %11001111 ' low sepic_on_off low call_shutdown ' ciclo var word conta var byte conta2 var byte flag_pulsador var byte ' DEFINE DEBUG_REG GPIO DEFINE DEBUG_BIT 4 DEFINE DEBUG_BAUD 2400 DEFINE DEBUG_MODE 1 '1= direct to pic DEFINE DEBUG_PACING 1000 ' DEBUG "V1.1 08/07",10,13 ' pause 500 'estabilise ini:low call_shutdown ciclo = 1:pause 10 if pulsador = 1 then ini for ciclo = 1 to 100 ' "debounce" if pulsador = 1 then ini pause 1 next ciclo 'Learn if it a switch or a press button inicia: High sepic_on_off 'set Buck/Boost on pause 1000 for ciclo = 1 to 50 'test if the Buck/Boost works if sepic_ok = 0 then for conta = 1 to 100 pause 10 if sepic_ok = 1 then learn next conta low sepic_on_off 'sepic not OK, shut down pause 3000 goto ini endif
Best regards
Pedro
Last edited by Pedro Pinto; - 18th July 2009 at 15:54.
Bad set of boards. Seems pretty clear now.
Dave
Always wear safety glasses while programming.
Hello mackrackit
What do you mean?
Bad set of boards. Seems pretty clear now.
Regards
Pedro
Same old code, same chip, new batch of boards.
Check for a bad trace.
Dave
Always wear safety glasses while programming.
OR... new revision silicon is acting up (doubtful).
Interesting problem, current is going somewhere, but current isn't a directly measurable quantity suck as voltage is. Good news is you only have 6 I/O pins to check.
Depending on how repeatable the problem and how disposable a board is you could try removing one pin at a time to see who the current hog is, then seeing if you can switch on the big current if you put the offending pin back in.
One thing to check is if an INPUT is causing the problem: if an input goes to about half Vdd then it will draw a big current (thru Vdd->Vss, not the pin itself).
Bookmarks