Picproje Elektronik Sitesi

DERLEYİCİLER => CCS C => Konuyu başlatan: poyraz4224 - 02 Ağustos 2023, 16:42:59

Başlık: CCS C PWM sinyali değerine göre port çıkışı alma yardım
Gönderen: poyraz4224 - 02 Ağustos 2023, 16:42:59
Herkese merhaba bir adet pot ile pwm sinyali üretiyorum. Bu PWM sinyali ile DC motor sürüyorum buraya kadar sorun yok çalışıyor, fakat DC motor belli bir voltaj değerinin altına düşünce istediğim bir portun çıkış 1 vermesini istiyorum ve burada tıkandım yapamadım konu ile alakalı üstadlarımız yardımcı olursa sevinirim teşekkürler.

#include <16F877A.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#device ADC = 10
#use delay(clock = 8000000)
#use fast_io(B)
#use fast_io(C)

unsigned int16 i=0 ;
void main(){
  port_b_pullups(TRUE);                 
  output_b(0);                         
  set_tris_b(7);                       
  output_c(0);                           
  set_tris_c(0);                       
  setup_adc(ADC_CLOCK_DIV_32);     
  setup_adc_ports(AN0);               
  set_adc_channel(0);                 
  setup_timer_2(T2_DIV_BY_16, 255, 1); 
  delay_ms(100);                       
  while(TRUE){
    i = read_adc();                   
    if(input(PIN_B6) == 1)           
      set_pwm2_duty(i);             
    if(input(PIN_B7) == 1)             
      set_pwm2_duty(i);                 
    delay_ms(10);                       
    if(input(PIN_B0) == 0){             
      if(input(PIN_B6) == 0){         
        output_b(0);                   
        setup_ccp1(CCP_OFF);           
        setup_ccp2(CCP_OFF);           
        output_c(0);                   
        delay_ms(100);               
        setup_ccp2(CCP_PWM);           
        output_high(PIN_B6);         
        output_high(PIN_B3);           
        }}
    if(input(PIN_B1) == 0){             
      if(input(PIN_B7) == 0){         
        output_b(0);                   
        setup_ccp1(CCP_OFF);         
        setup_ccp2(CCP_OFF);           
        output_c(0);                   
        delay_ms(100);                 
        setup_ccp2(CCP_PWM);         
        output_high(PIN_B7);           
        }}
       
 
       
       
    if(input(PIN_B2) == 0){           
      setup_ccp1(CCP_OFF);             
      setup_ccp2(CCP_OFF);           
      output_c(0);                     
      output_b(0);}                     
  }
 
}
Başlık: Ynt: CCS C PWM sinyali değerine göre port çıkışı alma yardım
Gönderen: mehmet - 03 Ağustos 2023, 14:06:38
Motor üzerindeki gerilimi ölçüp buna
göre mi adc değeri okuyacaksınız?

CCS C bilmiyorum, devre konusunda
yardım edebilirim.
Başlık: Ynt: CCS C PWM sinyali değerine göre port çıkışı alma yardım
Gönderen: sifirzero - 03 Ağustos 2023, 19:26:48
merhaba voltaj degerini belirtmemissin galiba. yada ben goremedim
Başlık: Ynt: CCS C PWM sinyali değerine göre port çıkışı alma yardım
Gönderen: poyraz4224 - 04 Ağustos 2023, 01:04:14
Alıntı yapılan: mehmet - 03 Ağustos 2023, 14:06:38Motor üzerindeki gerilimi ölçüp buna
göre mi adc değeri okuyacaksınız?

CCS C bilmiyorum, devre konusunda
yardım edebilirim.

Hayır pot ile motorun voltajını ayarlıyorum örnek veriyorum 12v luk motor 5 volt ve altına düşünce işlemcinin istediğim bir portunu lojik 1 yada sıfır yapmak istiyorum
Başlık: Ynt: CCS C PWM sinyali değerine göre port çıkışı alma yardım
Gönderen: poyraz4224 - 04 Ağustos 2023, 01:14:30
Alıntı yapılan: sifirzero - 03 Ağustos 2023, 19:26:48merhaba voltaj degerini belirtmemissin galiba. yada ben goremedim
Merhaba Voltaj değeri 0 ile 110 volt arası olacak. Aslında motor değil de elektro manyetik mıknatıs süreceğim elektro manyetik mıknatısa 0 ile 110 voltluk bir gerilim uyguluyorum. Takıldığım kısım mıknatısın gerilimi 30 voltun altına düşünce istediğim bir portun 0 yada 1 olmasını istiyorum. aşağıdaki devre bu şekli ile çalışıyor. Butonlar mıknatısın polaritesini değiştirmek ve gerilimi kesmek için.

https://hizliresim.com/gsi5v9v

(https://i.hizliresim.com/gsi5v9v.jpg)
Başlık: Ynt: CCS C PWM sinyali değerine göre port çıkışı alma yardım
Gönderen: necati - 04 Ağustos 2023, 16:07:32
tam olarak ne yapmak istiyorsunuz
Başlık: Ynt: CCS C PWM sinyali değerine göre port çıkışı alma yardım
Gönderen: sifirzero - 04 Ağustos 2023, 21:01:07
degisemesi gereken voltaji girmemissin. 30v taki degerde lojik 1 veya sıfir yapacaksin ya o degeri girmemissin
Başlık: Ynt: CCS C PWM sinyali değerine göre port çıkışı alma yardım
Gönderen: JOKERAS - 06 Ağustos 2023, 15:11:36
sifirzero 'nun dediği gibi İki Adc kanalı olmalı.Biri ile Giriş gerilimini dedetkte
(UVLO (UNDER VOLTAGE LOCK OUT)) edeceksiniz.

Diğer Adc kanalı ile de Pwm'i kontrol edeceksiniz.

0-110 Power hattına 3 adet seri direnç ve bir tane de Şaseye, direnç değerlerini 110Voltta Max 5Volt çıkış verecek şekilde  gerilim bölücü yapın ve Adc kanalına girip bunu ölçün.
30 Volta denk gelen değeri sorgulayıp Led'i yakın Pwm'i susturun.

Yalnız burada şöyle bir sıkıntı olabilir.
Gerilim tekrar 30 voltu geçtiği anda Pwm değeriniz eski değer veya çöp değer vs ise Bobin aşırı şekilde sürülmüş olacak.Bunun sonucunda Giriş geriliminizde çökme meydana gelir.
Bu çökme Tüm sistemin sapıtmasına sebep olabilir.

Onun için Bobini her yeni sürmede Soft Start, yani 0'dan belirlenmiş değere kadar Artan bir Pwm ile sürmek icab edebilir.