12F683 adc

Başlatan gigabytetr, 30 Mart 2017, 18:14:30

gigabytetr

12f683 ile 4 adc girişinden motor akımı ölçüyorum ve belli bi sınırda çıkış verdirip motoru  durduruyorum, for next ile de kalkış akımını yok saymaya çalıştım ama zaman mı kısa geliyor yada başka bişeymi anlamadım bazen kalkışta üstsüte  ikaz veriyor . yazdığım kodda muhtemelen hatalarım vardır yanlışlarım nelerdir  ve yöntem yanlışsa nasıl yapılabilir.

@  __config _FCMEN_OFF & _IESO_OFF & _CP_OFF & _CPD_OFF & _BOD_OFF & _MCLRE_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT

DEFINE OSC 4
DEFINE ADC_BITS 10     ' ADCIN resolution  (Bits)
DEFINE ADC_CLOCK 1     ' ADC clock source  (Fosc/8)
DEFINE ADC_SAMPLEUS 20 ' ADC sampling time (uSec)

GPIO=0
TRISIO=%00011111
OPTION_REG.7=1

ANSEL=%00001111
ADCON0=%10000000

SYMBOL YESIL=GPIO.5
SYMBOL GIRIS=GPIO.3

M1  VAR word
M2   VAR word
M3   VAR word 
M4  VAR word
 
IM1  VAR BIT
IM2 VAR BIT
IM3  VAR BIT
IM4  VAR BIT

I VAR BYTE

IM1=0
IM2=0
IM3=0
IM4=0
     
BASLA:
     
      ADCIN 0,M1
      ADCIN 1,M2
      ADCIN 2,M3
      ADCIN 3,M4
   
   IF M1<520 AND M2<520 AND M3<10 AND M4<10  then
        YESIL=0
        IM=0
        IM2=0
        IM3=0
        IM4=0
        ENDIF     
         
   IF GIRIS=1 AND M1>550  THEN : IM1=1
 
   IF GIRIS=0 AND M2>550  THEN : IM2=1
                           
   IF M3>50   THEN : IM3=1
     
   IF M4>50  THEN  : IM4=1

        IF IM1=1 OR IM2=1 OR IM3=1 OR IM4=1   THEN   
      For I=1 TO 5 step 1
Pause 100 
if IM1=0 AND IM2=0 AND IM3=0 AND IM4=0  then goto BASLA
 
Next
GOSUB IKAZ
   ENDIF

GOTO BASLA

    IKAZ:
     
   HIGH YESIL 
         
     RETURN
     
  END

ete

AC motormudur DC midir belirtmemişsin. 500 ms lik bir gecikme verdiğini görüyorum. Bu genelde azdır.
Motoru üzerinde bir ampermetre bağlı iken kaldır ve akımı bir yandan izle bir kaç sn akımın stabil olduğunu kolaylıkla görebilirsin.
Bana kalırsa akım beklenen den yüksek ise 1000 ms gecikme koy gecikmenin ardından yeniden bak yine yüksekise bir 1000 ms daha ver. ikinci gecikmeden sonra tekrar bak normale dönmüş ise çalışmaya devam et. Hala yüksek ise motoru durdur ve ikazını ver. Kademeli bakmak en doğrusudur.

Birde motor AC ise bu şekilde akım ölçmek pek sağlıklı değil. Nedenini sorunun cevabı evet ise açıklayayım.

Ete

gigabytetr

hocam motorlar dc , süreyi uzattım  ampermetre ile takip ediyorum ama arada anlık bişey oluyo herhalde ikaz veriyor ampertrede akım sınırını geçmediği halde ,2. kontrolü ne şekilde yapmam gerekir yine for next döngüsü ilemi birde yöntemim doğrumudur?

ete

Ortada ne şema var nede yöntemin konusunda açıklama ben nasıl sana doğrudur yada yanlıştır diyebilirimki ?
4 adet ADC okuması tek motorun akım kontrolü içinmidir? Bak belkide saçma sorular soruyorum ama sebebi bilgilendirmediğin için.

Ete

gigabytetr

kusura bakmayın hocam 4 ad. dc motorun 4 ad. l6203 ile sürüldüğü bi devre var 6203 ün sens bacağından çıkan sinyalleri 12f683'ün adc  pinlerine pot ile bağlıyorum pice  ortalama bir ikaz sınırı verip pot ile adc pinine gelen sinyali istediğim yere düşürüyorum,kalkınma akımlarını yok sayarak herhangi bir adc okuma sınıra ulaştığında ikaz vermesi için uğraşıyorum

ete

Daha önce hiç denemediğim bir usul bu. Bu nedenle bir öneride bulunamayacağım.
Dene bizde görelim bakalım.
Ama işin zor söyleyeyim. Sürekli inip çıkan bir gerillim olacak orada.
Ete

Powered by EzPortal