12F675 Led Dimmer

Başlatan onurinci, 17 Mart 2018, 23:29:58

onurinci

uzun zamandır elim değmedi herhalde bir sürü şeyi unuttum,elde 12F675 bol idi ,ziyan olmasın diye soft pwm üretmeye gayret ettim,
isis simulasyonda tüm kaynakları tükettiğimi rapor ediyor,birde PWM sinyali dansöz gibi ,stabil değil,daha evvel 12F683 ile HPWM üretmiştim hiç titremeden isis'te simule edebilmiştim,acaba yazılım kurallarınımı ihlal ettim,saygılar..



@ Device PIC12F675,WDT_OFF,PWRT_ON,PROTECT_ON, CPD_ON,MCLR_OFF,BOD_OFF,INTRC_OSC_NOCLKOUT

DEFINE OSCCAL_1K 1
DEFINE OSC 4

DEFINE ADC_BITS 10' ADCIN resolution (Bits)
DEFINE ADC_SAMPLEUS 10 ' ADC sampling time (uSec)

CMCON = 7
ANSEL = %00010011
ADCON0=%10000000
TRISIO=%00000001
GPIO=0
WPU=0

RAW VAR WORD
SYMBOL Dimm_Out=GPIO.5
GOSUB ADCAL
PAUSE 200
'-------------------------------------------------------------------------------
Start:
  gosub adcal
  PWM Dimm_Out,RAW,3
  GOTO Start

ADCAL:
  ADCIN 0,RAW
  RETURN

ete

#1
12F683 de donanımsal PWM özelliği mevcut ve muhtemelen bununla PWM ürettiğin için hiç bir sorunla karşılaşmadın.
12F675 de ise bu özellik yok. PWM komutu ise beklediğin PWM çıkışını sağlayabilecek özelliğe sahip değil.
Üstelik PWM komutunuda yanlış kullanmışsın gibi geliyor bana,

PWM Dimm_Out, RAW, 3  şeklindeki kullanımda Dimm_out çıkış pini oluyor burada sorun yok.
RAW ise duty Cycle değeridir 0-255 arasında değer alabilir sen ise oraya 10 bitlik RAW değerini yazmışsın hata burada.
ADC okumasını 8 bşt üzerinden yap daha düzgün sinyal alırsın.
3 ise Puls süresini belirliyor her bir puls (buna puls treni deniliyor) süresi 4 Mhz de 5 ms süre alıyor 3 yaarak 3*5=15 ms lik bir puls üretimiş oluyorsun. Ama 15ms sonunda sinyal kesiliyor ve program başa giderek yeniden aynı sinyali oluşturuyor ama aradaki kesinti sıkıntı çıkartabilir.
Belkide puls adedini artırıp daha uzun sinyaller elde etmek mümkün olabilir. Oraya 255 yaz bence.
Bu komutun en berbat tarafı PWM frekansına hiç bir şekilde müdahale edemiyor olmandır ayrıca.
Çok gerekiyor ise MIBAM kullanarak mükemmel PWM sinyalleri yakalamak mümkün belirteyim.

Ete


black_wolf465

Erol hocam merhaba, belirttiğiniz düzenlemeleri yaparak 2 giriş 2 çıkışlı olanını nasıl yapabilirim?

ete

Yapılacak olan nedir?

Söz konusu olan hangi düzenlemeler?
Aradan zaman geçmiş ne istediğini açıklaman gerek.
Birde her zaman söylerim bana genel anlamda soru sormayın lütfen. Bu sorunun anlamı bunu sen yapıver oluyor ki bu hiç istemediğim bir şey. Yapın bir şeyler tıkandığınız yerde o nokta ile ilgili soru sorun.
Ete

black_wolf465

Haklısınız EROL hocam kusura bakmayın görmüşken hızlı sormuş oldum. Estağfurullah yapın demek istemedim. 2 renk ledi kontrol etmek için arıyorum. komutları az çok biliyorum ama pot girişini pek anlamadığım için kaldım. Yapmak istediğim ise devre üzerinde 2 pot olacak 2 de çıkış, birine beyaz led bağlayacağım, diğerine gün ışığı burada bazen beyazı bazen gün ışığını kısmam gerekiyor. Kodlarda ise pot girişini nasıl 2 adet yapabilirim @ete  EROL hocam.

ete

#5
İşlemcileri işe uydurmayı sevmem. Aksine işe uygun işlemci seçerim daima. Standart işler için zaten elde ne varsa kullanılabilir ama özel işler (analog kanal kullanımı, HPWM hemde 2 adet kullanımı özel işlere giriyor) Bu iş için en uygun işlemci 16F1825.
Bu entegre de hem iki hpwm çıkışı var hem analog kanalları var pot kolaylıkla bağlanabilir, hemde 14 bacaklı mükemmel işlemci.
Potları analog pinlere ledleride CCP1 ve CCP2 pinlerine bağladınmı gerisi bir kaç komut eklemeye kalır.
8 bacaklılarda iki pwm çıkışı yok. Ancak mibam ile yapılır ve nasıl yapılacağını daha önce mübam konusunda anlatmıştım.
Ete

Powered by EzPortal