SCT-013 ile ON/OFF
  • Merhabalar,
    SCT-013 30A akım sensörü satın aldım ve bununla çok basit bir şey yapmak istiyorum. Normalde emonlib diye bir kütüphane vasıtasıyla okunabildiğini gördüm ancak kütüphane olmadan yapmak istiyorum ki çok basit diye düşünüyorum. Kablodan akım geçiyorsa ON, geçmiyorsa OFF yazacak ekrana.
    Ayrıca belirtmemde fayda var. Kablodan geçen akım belirli pikler yaparak 16 Ampere kadar çıkıyor ve 20ms akım akmıyor. Yani 16 amperlik akımlar ve 20ms bekleme, 16 amperlik akımlar ve 20ms bekleme gibi çalışması var.

    Eğer yardımcı olabilirseniz çok sevinirim.
    İyi çalışmalar.
    Coşkun.
  • yazdıgınız bır kod varsa paylaşın olmayan yerı bakalım.
  • Cevap verdiğiniz için teşekkür ederim. Python ile kodlama yapmıştım. Aşağıdan görebilirsiniz.

    import spidev
    import time
    import os
    import urllib
    import RPi.GPIO as GPIO
    GPIO.setmode(GPIO.BCM)

    spi=spidev.SpiDev()
    spi.open(0,0)

    def ReadChannel (channel):
    adc = spi.xfer2([1,(8+channel)<<4,0])<br /> data = ((adc[1]&3)<<8) + adc[2]<br /> return data

    def ConvertVolts(data,places):
    volts = (data*3.1815)/float(1023)
    volts = round(volts,places)
    return volts

    sensor1_channel = 1

    previous_Status = None

    foldtime = time.time()
    fnewtime = time.time()
    fstore = 3.0

    while True:
    fnewtime = time.time()
    fdtime = fnewtime-foldtime

    if fdtime >= fstore:
    foldtime = fnewtime
    sensor1_level = ReadChannel(sensor1_channel)
    sensor1_volts = ConvertVolts(sensor1_level,9)

    if sensor1_volts > 1.60:
    Status = 'ON'
    elif sensor1_volts <= 1.60:<br /> Status = 'OFF'

    if Status != previous_Status:
    print('------------------------')
    print("Sensor1 : {} V, {}".format(sensor1_volts,sensor1_level))
    print("Status : {}".format;(Status))
    previous_Status = Status

    time.sleep(delay)
  • Bu sensoru okumak icin arduino adc girisi yeterli bir kac direncle beraber sensorden gecen akimi voltaja donusturup adc degeri elde edecegiz. Adc degerini diyelim her 1ms de bir okuyup yiksek akim ve dusuk akim zamanlarini tespit etmis olursun. Kalibrasyonu nasil yaparsin bilmiyorum deneme yaparsin. Bu kodu raspi de cslistiriyorsun sanirim. Arduino kodlari internette bolcana var onlardan faydalan derim.
  • Tüm bunlar kafama oturdu ancak şu konuda soru işaretleri var. Yüksek akım ve düşük akım seviyelerini sinus dalgasını ölçmek için kullanıcam sanırım. Peki bu yüksek akım ve düşük akım seviyelerini nasıl belirliyorum? Nasıl o noktaların yüksek-düşük olduğunu anlayabilirim.
  • Sensorun cekilen akima gore voltaj hesaplanabilir adc ile voltaji olcup bunun akim karsiligini kullanacaksin. Sinus dalgasi dediginiz seyin genligi voltajdir dalga tepelerinin zaman karsiligida frekanstir. Akimin karsiligi sinus dalga yada frekans degildir. Ohm kanununa gore voltaj akim ve direnc arasinda bir baginti vardir. Cekilen akimin zamana gore degisimi bir grafik verir ama buna sinus dalga denmez. Biraz fizik ve elektronik calisin...

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook

Tagged

Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.