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 support@ccsinfo.com

unexpected PWM signal on PIN B3 with 18F46K22

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



Joined: 01 Apr 2014
Posts: 3
Location: Belgique

View user's profile Send private message

unexpected PWM signal on PIN B3 with 18F46K22
PostPosted: Tue Apr 01, 2014 2:50 pm     Reply with quote

Hello,

I am using PCH version 4.130 to program a PIC 18F46K22.
I have strange problem.
I generate PWM signals on RC1 and RC2, and this works well.
Code:

// Sets CCP1 for PWM
setup_ccp1(CCP_PWM);
// Sets CCP2 for PWM
setup_ccp2(CCP_PWM);

However, i noticed that an unexpected PWM signal appears also on the pin RB3. However it should not appear...
The magnitude of the voltage of the PWM is about 0.6 V.

Do you have any idea why this signal might appear?

RB3 is an alternate PIN for CCP2.

In the CCS compiler help, for CCP1, it is said:

"Some chips also have fuses which allows to multiplex the ccp/pwm on different pins. So check the fuses to see which pin is set by default. Also fuses to enable/disable pwm outputs."

As i understand, fuse "CCP2B3" allows to enable a PWM on PIN B3, but i did not used it.

Is there maybe a fuse to _disable_ the multiplexing of the PWM on PIN B3 ? I did not find it in the CCSS documentation.

I am pretty stuck with this issue, i would be very interested by your expert opinion.

Best regards,

Micha
Ttelmah



Joined: 11 Mar 2010
Posts: 19454

View user's profile Send private message

PostPosted: Wed Apr 02, 2014 1:24 am     Reply with quote

I'd suggest leak through. Remember that the switching is a MOSFET multiplexer, which has some impedance (several Mohm), when 'off'. If the pin is left set as an input, with nothing driving it (a thing you should never really do - all pins _should_ have something driving them - either set as outputs, or with an external resistor driving them....), then the off impedance of the multiplexer, is probably a few mega ohms, and assuming the input impedance is similar, and you are measuring with something like a 10MR input impedance scope, then some leakage may well be visible.
Alternatively (worse), it is possible the multiplexer has been damaged. On chips where high voltage spike events have happened (things like driving a solenoid, and not trapping the flyback externally, but relying on the internal diodes), one result can be an increase in leakage inside the chip...
Then finally, are you sure the signal is not being coupled externally on your board?.
gpsmikey



Joined: 16 Nov 2010
Posts: 588
Location: Kirkland, WA

View user's profile Send private message

PostPosted: Wed Apr 02, 2014 8:12 am     Reply with quote

Along the lines of what Ttelmah was saying - you don't show a schematic, so the question is what is (if anything) connected to RB3? Is that an open pin or is there something connected? If it is open, what happens to that .6v signal you see if you put say a 10k resistor to ground so the pin is not floating? It does sound like a crosstalk issue of some sort, but without knowing what kind of load is on that pin it is tough to figure if there is an internal problem or it is just floating (which it should not be doing).

mikey
_________________
mikey
-- you can't have too many gadgets or too much disk space !
old engineering saying: 1+1 = 3 for sufficiently large values of 1 or small values of 3
temtronic



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

View user's profile Send private message

PostPosted: Wed Apr 02, 2014 8:46 am     Reply with quote

I have to agree with the others it could be crosstalk however you should post your 'fuses'(all of them) as well as a schematic or at least what's connected to RB3 as it's muxed with ADC, COMP and other peripherals.
uC defaults ADC pins to the ADC , so 'noise' could be getting in there.

hth
jay
Micha



Joined: 01 Apr 2014
Posts: 3
Location: Belgique

View user's profile Send private message

PostPosted: Wed Apr 02, 2014 2:44 pm     Reply with quote

Hello!

Firstly, thank you for your three kind answers and for your time. I really appreciate your help! Very Happy

The pin RB3 is not floating. It is only connected to the input of an optocoupler (pin 5 of a CNY74-4H). A resistance of 56 Ohm is connected between pin 6 of the CNY74-4H and the ground.

http://www.vishay.com/docs/83526/83526.pdf

Normally, i should have in output of pin RB3 a signal changing from time to time from 0V to 5 V and conversely.

If i let floating the pin RB3, the signal i get in output from RB3 is perfect.

But if connect RB3 to the optocoupler, then the small "PWM noise" of 0.6 V appears instead of the 0 - 5 V signal expected.

So the logical conclusion seems to be that the "PWM noise" is created somewhere between the RB3 output and the optocoupler input.

BUT, if i replace output RB3 by another pin of the PIC, PIN_D0 for example, and connect this PIN D0 to the optocoupler output exactly through the electrical PCB path normally followed by the current in output of RB3, i get the right signal 0-5V. So it let me think that the issue is not in the PCB, but is rather related to the output RB3 of the PIC...

Here are the fuses used:
Code:

#fuses HSH, NOWDT, PUT, BROWNOUT, NOLVP, NOPBADEN

Now, if i connect a 10 kOhms resistor between PIN RB3 and the ground (instead of the optocoupler) as gpsmikey requested, i have the right signal 0-5V.

I can also tell that i am using a free sample PIC from Microchip. Maybe this sample could be damaged? A good test would be to try with another PIC (but i have to order a new one to test this assumption).


Best regards,

Micha
Mike Walne



Joined: 19 Feb 2004
Posts: 1785
Location: Boston Spa UK

View user's profile Send private message

PostPosted: Wed Apr 02, 2014 4:03 pm     Reply with quote

Quote:
But if connect RB3 to the optocoupler, then the small "PWM noise" of 0.6 V appears instead of the 0 - 5 V signal expected.

What is RB3 set as?
If it's set as input, then it's essentially floating up to the ~0v6 you're observing.
In other words you've got your answer.

Mike
temtronic



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

View user's profile Send private message

PostPosted: Wed Apr 02, 2014 5:36 pm     Reply with quote

I'm thinking the 56r current limiting resistor of the optocoupler is too low a value. Rough math says it might try to pull 50ma from the PIC whereas 20ma is about the limit, so it could stress the I/O circuitry.
I'd try 150r and see what you observe.

hth
jay
Micha



Joined: 01 Apr 2014
Posts: 3
Location: Belgique

View user's profile Send private message

PostPosted: Sun Apr 06, 2014 2:49 pm     Reply with quote

Hello,

For Mike, pin RB3 is always well set as an output, not as an input.

For Jay, with a 150 Ohm resistor instead of 56 Ohm, the problem is the same: the unexpected PWM signal is still there.

I will try to replace the PIC, and tell you what happens.

Thank you again for your help Smile

Micha
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