[ developer94 @ 16.03.2012. 23:11 ] @
Da li neko moze da pogleda (potencijalno iskompajlira i pokrene - pic18f4550 i 8MHz xtal) ovaj kod:

Code:
#include <p18f4550.h>

#pragma config FOSC     = HSPLL_HS
#pragma config WDT      = OFF
#pragma config LVP      = OFF
#pragma config PLLDIV   = 4
#pragma config CPUDIV   = OSC1_PLL2

#define T0L 0b10111111
#define T0H 0b11100000

#define PWM_PR2             99

void init(void)
{
    TRISCbits.RC2 = 0;
    TRISDbits.RD5 = 0;

    T2CON = 0b00000101;
    PR2 = PWM_PR2;
    CCP1CON = 0b10001100;
    CCPR1L = 0b00011110;

    INTCONbits.TMR0IE = 1;
    INTCONbits.GIE = 1;
}

void main(void)
{
    init();
    while(1)
        CCPR1L = 50;
}


Desava mi se da RC2 (P1A) i RD5 (P1B) nisu komplementarni vec se poklapaju.
Deadtime je ignorisan (kada ga dodam uz pomoc ECCP1DEL to jest). Tacnije postoji mogucnost da nije, vec da su RC2 i RD5 jedan te isti signal, posto kada ECCP1DEL postoji, trajanje signala na 50% DC je manje od pola.

Ovo je kod skracen kolko je bilo moguce ne bih li izolovao problem, i sad sam konacno ostao bez ideja. Verovatno (ili pak sigurno) je neka moja greska/previd, ali vise ne znam u sta da gledam...

Pomagajte ako mozete!
[ goran_68 @ 17.03.2012. 08:00 ] @
Omogućen ti je TMR0 prekid (INTCONbits.TMR0IE = 1;). Gde ti je prekidna rutina? Ako ti ne treba obriši tu liniju.
[ developer94 @ 17.03.2012. 08:20 ] @
Da, ostalo je od prethodnog koda, inace ne smeta ... ali bez obzira, obrisacu tu liniju. Sto je najgore pre par dana je radilo.. gledao na osciloskopu... nocna mora.
[ goran_68 @ 17.03.2012. 09:21 ] @
Pogledaj PIC18F2455/2550/4455/4550 Family Silicon/Data Sheet Errata. Možda daje odgovor za tvoj slučaj:

25. Module: ECCP (PWM Mode)
When configured for half-bridge operation with
dead band (CCPxCON<7:6> = 10), the PWM
output may be corrupted for certain values of the
PWM duty cycle. This can occur when these
additional criteria are also met:
• a non-zero dead-band delay is specified
(PDC6:PDC0 > 0); and
• the duty cycle has a value of 0 through 3, or
4n + 3 (n ≥ 1).
Work around
None.
Date Codes that pertain to this issue:
All engineering and production devices.
[ zoran968 @ 17.03.2012. 15:27 ] @
E hvala, pogledacu detaljno ali tek sutra... moram na neko slavlje pa dajem izvestaj tek sutra =)
[ ZAS011 @ 17.03.2012. 16:18 ] @
Tatko, sinak da gleda a ne ti
[ zoran968 @ 17.03.2012. 17:24 ] @
xaxaxa.. iskoristio je moj vec otvoren nalog i ode... nego, i tata bi sine... ;o)
[ zoran968 @ 18.03.2012. 13:06 ] @
'ajde da ja dam izvestaj jer se developer94 jos nije vratio . Smesna stvar... niko od nas dvoje nije primetio da je na osciloskopu greskom prebacen preklopnik za sinhronizaciju na 'vert. sincr'.
Kod je ispravan. Zahvaljujem se u ime Nikole (developer94) i moje, na pokusaju za pomoc.
[ goran_68 @ 18.03.2012. 17:43 ] @
Smešna stvar je ovo što piše u errata. Izem ti microchip i PIC ...