PIC 18F4550 ISIS te Düzgün Çalışıyor ama Devre de Düzgün Çalışmıyor

mert07

Üye
Katılım
18 Kas 2011
Mesajlar
2
Puanları
1
Arkadaşlar merhaba pic18f4550 için Miklro C Pro For PIC derleyicisi ile yazdığım program ISIS simülasyonunda düzgün çalışıyor ama pic i programlayıp devreye bağlayınca düzgün çalışmıyor.
PIC te 10 MHz kristal osilatör kullanıyorum ve ECCP donanım birimini kullanılarak SPWM sinyali üretiyorum.
4 adet SPWM sinyalinin 2 si 50 Hz, 2 si de 10 kHz modüleli sinyal. Modüleli sinyallerde 100 pulse var ve simülasyonda düzgün şekilde 100 pulse oluşuyor ama pic i devreye bağlayınca 50 Hz sinyaller normal iken 10 kHz sinyaller alakasız bir şekilde tek pulse olarak çıkıyor bunun nedeni ne olabiliir. 100 pulse oluşturmak için bir tablodaki 100 tane değeri kullanıyorum.
Configürasyon ayarlarında HS osilatör seçiyorum, config sayfasının görüntüsünü, isis teki sinyallerin görüntüsünü ve pic i devreye bağlayıp osiloskop ile aldığım görüntüyü paylaşıyorum.
Configürasyon ayarlarında yada başka şekilde yapmam gereken başka birşey var mı tecrübeli arkadaşlar yardımcı olursa sevinirim.
ISIS simülasyonda mavi olan sinyal greçekte osiloskopta sarı olan sinyale denk geliyor.
 

Ekli dosyalar

  • WhatsApp Image 2024-06-07 at 21.30.08.jpeg
    355.2 KB · Görüntüleme: 8
  • WhatsApp Image 2024-06-07 at 21.30.22(1).jpeg
    103.8 KB · Görüntüleme: 8
  • WhatsApp Image 2024-06-07 at 21.30.22.jpeg
    56.4 KB · Görüntüleme: 6
  • WhatsApp Image 2024-06-07 at 21.30.23(1).jpeg
    50.8 KB · Görüntüleme: 7
  • WhatsApp Image 2024-06-07 at 21.30.23(2).jpeg
    51.5 KB · Görüntüleme: 6
  • WhatsApp Image 2024-06-07 at 21.30.23.jpeg
    51.2 KB · Görüntüleme: 7
  • WhatsApp Image 2024-06-07 at 21.32.43.jpeg
    199.4 KB · Görüntüleme: 8
Son düzenleme:
Şöyle problemler sıklıkla oluyor
Gerçek devrede kullanılan 10 MHz kristalin doğru şekilde bağlandığından ve çalıştığından emin olun.
Kondansatör değerleri genellikle 15-22 pF arası olmalıdır.

Config ayarlarında osilatör seçimi (#pragma config direktifleri).
Örneğin, #pragma config FOSC = HS kullanarak yüksek hızlı kristal osilatör modunu seçebilirsiniz.

Kodunuzda osilatör frekansını kontrol edin.
#define _XTAL_FREQ 10000000 ile 10 MHz frekansı tanımlayın

En doğrusu, kodunuzu yayınlayın
 
10 MHz kristali ve kondansatörleri değiştirip deneyeceğim ancak 50 Hz sinyal düzgün çıktığına göre osilatör çalışıyor diye düşünüyorum. Kondansatörler 22 pF.
Config ayarlarından HS osilatör seçili durumda, fotoğrafını paylaştım config ayarlarında yanlış olan yada yapmam gereken başka ayar var mı bilmıyorum.
Kodlara #define _XTAL_FREQ 10000000 komutunu ekleyip deneyeceğim.
Kodların main kısmını eklemiştim diğer kısmını da eklerim
Kodlar ve Config ayar sayfası
 

Ekli dosyalar

  • WhatsApp Image 2024-06-07 at 21.30.07.jpeg
    250.5 KB · Görüntüleme: 2
  • WhatsApp Image 2024-06-07 at 21.30.08.jpeg
    355.2 KB · Görüntüleme: 2
  • WhatsApp Image 2024-06-07 at 21.32.43.jpeg
    199.4 KB · Görüntüleme: 2
  • WhatsApp Image 2024-06-07 at 21.30.07.jpeg
    250.5 KB · Görüntüleme: 2
  • WhatsApp Image 2024-06-07 at 21.30.08.jpeg
    355.2 KB · Görüntüleme: 2
  • WhatsApp Image 2024-06-07 at 21.32.43.jpeg
    199.4 KB · Görüntüleme: 2
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…