PDA

View Full Version : Pic18f452 pwm1 and pwm2 help



iw2fvo
- 14th September 2015, 16:06
Good day forum,
I am not able to have pwm1 and pwm2 working : I just have pwm1 working.
The system is like this:
>pic18f452 at 40 Mhz
>pbp 2.50
>windows 7 64 bit
I found on the specification that two PWM's are available but I also found that the same spec calls out pwm2 at pin 16 and pin 36 : any reason ?
What is the pibasic set_up to get both PWM's operating ?
Thanks in advance for the asistance.
regards,
Ambrogio

iw2fvo
- 14th September 2015, 17:25
correction:
I am really using the HPWM 1 and 2 in my code . I am sorry to have called it pwm1 and pwm2...
I used this lines of code:

HPWM 1,127,15000
HPWM 2,64,15000

but i only have output on hpwm 1 .
Any help please .
Thanks
regards,
Ambrogio

peterdeco1
- 14th September 2015, 19:00
Hi Ambrogio. Make sure you have HPWM2 enabled in your config's.

iw2fvo
- 14th September 2015, 19:11
thanks Peterdeco1,
could you please jnstruct me to do it?
Do I have to use some defines ? Which ones ?
hope to read from you.
regards,
Ambrogio

SUNFLOWER
- 15th September 2015, 01:48
I had that problem caused by the configs of tiny bootloader, redirects HPWM2 to another pin on 18F4620...

' __CONFIG _CONFIG3H, _MCLRE_ON_3H & _PBADEN_OFF_3H ; & _CCP2MX_PORTBE_3H ; NOTE CCP2MX_PORTBE_3H COMMENT OUT

iw2fvo
- 15th September 2015, 07:36
The point is that there is no output on any pin of the PIC18 relevant to the pwm2.
I did check all the pins using the scope.
I have good output for pwm1 only.
I uded the HPWM of the picbasic pbp2.50 as above: so the output should be at the hardware pins c1 and c2 if the spec os correct.
Is there someone that was able to get two PWM's output from the pic18f452 ? ( of course having the same frequency but a different duty cycle ).
Thanks
Ambrogio

richard
- 15th September 2015, 08:08
DEFINE CCP2_REG PORTC 'Channel-2 port
DEFINE CCP2_BIT 1 'Channel-2 bit

might help

assuming you are using portc.1 for ccp2

could even try trisc.1=0 also

iw2fvo
- 15th September 2015, 09:06
Thanks Richard,
no way for me to get output for both pwm's:
I did try your suggestion too.
Pls: see the attached code.
regards,
Ambrogio

richard
- 15th September 2015, 09:44
__CONFIG _CONFIG3H, _CCP2MX_OFF_3H puts ccp2 onto portb.3
use

DEFINE CCP2_REG PORTB 'Channel-2 port
DEFINE CCP2_BIT 3 'Channel-2 bit

or
__CONFIG _CONFIG3H, _CCP2MX_ON_3H


or set trisb.3 to 0 and trisc.2 to 0 and CCP2CON=12



from data sheet


bit 0 CCP2MX: CCP2 Mux bit
1 = CCP2 input/output is multiplexed with RC1
0 = CCP2 input/output is multiplexed with RB3

iw2fvo
- 15th September 2015, 10:18
Richard,
thanks very much for the great help in solving my problem.
The output of pwm2 is now available on B3: very good !
All the best
Ambrogio