Ynt: pic18f2431'e program atamama ve ir2110 problemi

Başlatan apsis, 21 Mayıs 2014, 01:17:36

apsis

Elimde 2 adet pic18f2431 var bunlara program atamıyorum. okuma yaptığım zaman hex buffer ları 0000 okunuyor ve program atamıyorum içine atarken şu hatayı veriyor:



Bide ir2109 ile motor sürücü yapmaya çalışıyorum. 18f2431e program atamadığım için şimdilik denemelerimi 16f628a yada 16f877a da deniyorum ancak pwm çıkışını ir2109 a bağladığım zaman işlemciyi sapıtmaya başlıyor. Yani pwm duty ayarı bir süre sonra azalıyor. devre şemam ve kod.




// PIC16F628A Configuration Bit Settings

// 'C' source line config statements

#include <htc.h>
#include "delay.h"
// #pragma config statements should precede project file includes.
// Use project enums instead of #define for ON and OFF.


__CONFIG(FOSC_HS & WDTE_OFF & PWRTE_ON & MCLRE_ON & BOREN_OFF & LVP_OFF & CPD_OFF & CP_OFF);



#define _XTAL_FREQ 20MHz


void main(void)
{

unsigned int duty1=0,duty=250;
CMCON=0X07;
TRISA=0X03;
TRISB=0X00;


PORTA=0X00;
PORTB=0X00;
PR2=124;
CCPR1L=duty>>2;
CCP1X=1;
CCP1Y=0;
T2CKPS1=0;
T2CKPS0=1;




CCP1M0=1;
CCP1M1=1;
CCP1M2=1;
CCP1M3=1;
TMR2ON=1;




for(;;)
{

    if(RA0)
    {
        while(RA0);

        duty-=125;

        if(duty<=125)
        duty=125;

        CCP1X=duty & 2;
        CCP1Y=duty & 1;
        CCPR1L=duty>>2;

        DelayMs(100);

    }
    if(RA1)
    {
        while(RA1);

            duty+=125;

        if(duty>=450)
            duty1=450;

         CCP1X=duty1 & 2;
         CCP1Y=duty1 & 1;
         CCPR1L=duty1>>2;
         DelayMs(100);



  }

 PR2=124;
}
}


pwm çıkışını yükün olduğu devreye yani ir 2110 a bağladığım zaman butonların bağlı olduğu pinlerde şöyle bir görüntü oluşuyor(osilaskop denemesini gerçekte yaptım proteus göstermelik):



ancak çıkışı bir lede bağladığım zaman buton pinlerinde böyle birşey olmuyor.

app.note daki bazı uygulamaları yaptım olmadı. kondansatörleri değiştirdim olmadı.  2110 ile mcu arasına optokuplör bağlayıp tamamen sürücü katıyla mcu katını yalıttım ve gndleri de ayırdım yine olmadı. ancak bu şekilde duty değeri istediğim aralıkda bir süre kaldı ( 2-3 dk civarı) ve bir süre sonra yine sapmaya başladı kendiliğinden 10 gündür uğraşıyorum bir sonuca varamadım. acil yardımınızı bekliorum.
Teşekkürler.


mesaj birleştirme:: 21 Mayıs 2014, 15:49:36

programlayıcı şeması




mesaj birleştirme:: 21 Mayıs 2014, 02:08:25

işlemciyi okuduktan sonra:
ftp://

"Makineye Beyin" MEKATRONİK