CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to CCS Technical Support

18f2553 USB failure after low voltage operation

 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
dan king



Joined: 22 Sep 2003
Posts: 119

View user's profile Send private message

18f2553 USB failure after low voltage operation
PostPosted: Fri Mar 06, 2015 8:27 am     Reply with quote

I have code that makes use of the USB VCP for the 18f2553. The code has been working well for a project that drives a DC motor using PWM for speed control. The HW uses the UBW board purchased from Sparkfun. To debug I was developing the code with the pic powered from the USB port but got to a point where I finally untethered the USB connection and powered the pic from the same DC supply as the motor.

On the first standalone attempt I found that when the motor starts, the DC supply sagged severely but the PIC continued to function properly, or so I thought. After running for a little while I decided to make some further code changes on the PIC so I reconnected the USB connection to use the bootloader to update and suddenly realized the bootloader was no longer functional. After further investigation I found that the VCP was no longer functioning as well. It appears that the USB transceiver was damaged due to the low voltage event? I replicated the problem with a second UBW board. I used the NOLVP fuse so it doesn't appear to be a program memory problem.

Any insight on why this might be happening? The fuses listed are shown below:




Thanks,

Dan
CCS PCH C Compiler, Version 4.074, 44415

Code:
#include <18F2553.h>
#device ADC=12         //18f2553 has 12 bit adc (8 or 12)

#fuses CPUDIV1         //oscillator postscaler = PLL/2
#fuses HSPLL         //HS crystal option with PLL
#fuses PLL6            //PLL postscaler div 6 for UBW ver 2.0 with 24Mhz crystal = 4Mhz to PLL input
//#fuses PLL5            //PLL postscaler div 5 for UBW ver 1.0
#fuses USBDIV
#fuses NOWDT         //no wdt
#fuses NOPROTECT      //no code protect
#fuses NOLVP         //no Low voltage Programming
#fuses NOXINST         //no extended instructions
#fuses vregen         //usb voltage regulator enable
#fuses MCLR            //enable external reset so bootloader can be started !!!
#fuses WRTB            //disable write to boot block to protect bootloader
#fuses NOPBADEN         //configure port B as digital I/O on reset
temtronic



Joined: 01 Jul 2010
Posts: 9245
Location: Greensville,Ontario

View user's profile Send private message

PostPosted: Fri Mar 06, 2015 8:57 am     Reply with quote

Sounds like the PIC got zapped by the sagging power supply, not that uncommon.
When running PICs( any micro) from a 'motor' power supply it is very,very important to have proper 'decoupling' as well as EMI suppression on the motors.decoupling includes R-C-L in the right spots.
A 'sagging' power suppy means it doesn't have enough current capacity. general 'rule of electrons' for me is 5* the starting or stall current of ALL motors in the project.
IE 2 motors ,stall current 1 amp ....2*1*5=10 amps would be the spec for the PSU.

yes, overkill BUT reliablilty is more important than pinching pennies.

Jay
dan king



Joined: 22 Sep 2003
Posts: 119

View user's profile Send private message

PostPosted: Fri Mar 06, 2015 9:02 am     Reply with quote

surprisingly the PIC is still running, just no USB.

The motor system is from a production design and does have RLC suppresion and decoupling. The supply sags because it was never intended to have electronics, battery operated without control.

this was setup for data measurement. I have modified the system so the sensitive electronics run off its own supply so no issues now but I still wanted to figure out why the USB transceiver died when not connected.

Thanks for your input
temtronic



Joined: 01 Jul 2010
Posts: 9245
Location: Greensville,Ontario

View user's profile Send private message

PostPosted: Fri Mar 06, 2015 9:50 am     Reply with quote

Iit could have been airborne EMI or more likely came in through the power pins of the PIC. Within the die of the PIC, the USB subsection might be close to those pins. All a guess based on past experiences of 'magic smoke leaving a micro'. If the PIC has 2 sets of VDD,VSS you need to put caps on both sets, real close to PIC.
As for it still kinda working, well, in the early days I installed a 16C84 backwards, it got hot, I put in back in correctly and it RAN ! Tough little guys...
If you stop to think what is 'under the hood', inside the epoxy you kinda wonder HOW it does work...

Jay
PCM programmer



Joined: 06 Sep 2003
Posts: 21708

View user's profile Send private message

PostPosted: Fri Mar 06, 2015 10:03 am     Reply with quote

Quote:
I decided to make some further code changes

And then it failed.

Put your original working code back in before assuming hardware failure.
dan king



Joined: 22 Sep 2003
Posts: 119

View user's profile Send private message

PostPosted: Fri Mar 06, 2015 12:10 pm     Reply with quote

I was never able to load modifed code. When I decided to make the changes is when I found I could no longer access the USB port. I first thought the bootloader somehow got overwritten but then I realized that the VCP was gone too.
Ttelmah



Joined: 11 Mar 2010
Posts: 19550

View user's profile Send private message

PostPosted: Fri Mar 06, 2015 12:44 pm     Reply with quote

Minimum supply voltage for the chip is 4.2v.
A simple undervoltage shouldn't damage it, but a motor can easily introduce spikes onto the supply, and if for example the voltage oscillates, this could blow the USB regulator. Trapping the spikes cased by a motor, needs good design.
I think you have now found why all the 'old hands' here will harp on and on, about really careful decoupling and protection. The PIC's are quite rugged, but parts _will_ become damaged, if you do not treat them with care.

The one that would kill the USB regulator, is if there is more smoothing on Vusb, than on the Vdd rail, and the voltage on the Vdd rail dropped sharply, reverse biasing the USB regulator. This applies to all voltage regulators, and can kill any of them.
ELCouz



Joined: 18 Jul 2007
Posts: 427
Location: Montreal,Quebec

View user's profile Send private message

Re: 18f2553 USB failure after low voltage operation
PostPosted: Fri Mar 06, 2015 3:08 pm     Reply with quote

Quote:

CCS PCH C Compiler, Version 4.074, 44415


This is often the pirated version (4.074) of CCS ... very old ( 7 years ago!!!) and very very buggy...

Btw, consider upgrading to at least 4.141 (if you want to stay in the v4 compiler) or get the v5.042


Just saying!
_________________
Regards,
Laurent

-----------
Here's my first visual theme for the CCS C Compiler. Enjoy!
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group