How to Control Your Linear Actuator with Solar Power

Doğrusal Aktüatörünüzü Güneş Enerjisiyle Nasıl Kontrol Edebilirsiniz?

Nathan Bong
Nathan Bong
PA Engineer

Progressive Automations'da, otomasyon sistemlerinizi kontrol etmek için birçok seçenek sunuyoruz. doğrusal aktüatörBasit çözümlerden, örneğin açma kapama düğmelerinden, daha gelişmiş çözümlerimize kadar. birden fazla aktüatörün kontrolü için kontrol kutularıPek çok tak ve çalıştır seçeneğimiz var. Ancak bazen proje gereksinimleri ve müşteri ihtiyaçları, bu seçeneklerin sunabileceğinden biraz daha özel olabiliyor. İşte burada devreye giriyor. mikrodenetleyiciler Işıklar gerçekten de dostlarımız olabilir. Bu yazıda, mevcut ışık miktarına bağlı olarak bir aktüatörün konumunu nasıl değiştirebileceğimizi ele alacağız ve size benzersiz ve gelişmiş bir doğrusal aktüatör kontrolü sunacağız.

Nelere İhtiyacınız Olacak?

Bu proje için ihtiyacımız olan tek şey bir Arduino (bu durumda bir Arduino UnoBir ışığa duyarlı direnç (foto direnç veya LDR olarak da bilinir), bir adet 10k ohm direnç, 2 kanallı bir röle modülü ve elbette bir aktüatör.

Bu proje için hayati öneme sahip olan Arduino Uno'muza bir göz atın!

Doğrusal Aktüatör Seçimi

Çoğu durumda, bu tip tetikleyiciyi güneş enerjili sistemler gibi dış mekan uygulamaları için kullanacağız. tavuk kümesi kapısı aktüatörüAktüatörünüzün çalışacağı ortamın türünü dikkate almanız ve aktüatörünüzün doğru IP derecesine sahip olduğundan emin olmanız gerekir. Bu konuda size yardımcı olması için IP derecelendirme kılavuzumuza göz atabilirsiniz. BuradaAyrıca, aktüatörünüz için doğru strok uzunluğunu ve kuvvet değerini bulduğunuzdan emin olmalısınız. Bu konuda yardım için diğer birçok blog yazımızdan birine başvurabilirsiniz. BuradaÖzetle, kullanacağınız aktüatör tipi tamamen uygulamanıza ve bulunduğunuz ortamın zorluk derecesine bağlıdır.

 

Kablolama

The wiring for this solar-powered actuator

 

Bu güneş enerjili aktüatör projesinin kablolaması aşağıdaki gibidir:

LDR'den Arduino'ya

  • LDR kurşun 1 – Yer
  • LDR ucu 2 – 5V (10k direnç üzerinden)
  • LDR kablosu 2 – Analog Pin 0

Röle Modülü - Arduino

  • VCC – 5V
  • GND – GND
  • IN1 – Pin 2
  • IN2 – Pin 3

Röle Modülü - Güç Kaynağı ve Aktüatör

  • +12V, NC1'e (birinci rölenin normalde kapalı terminali)
  • -12V, NO1'e (birinci rölenin normalde açık terminali)
  • NC1'den NC2'ye
  • NO1'den NO2'ye
  • COMMON1 - Aktüatör Kablosu 1
  • COMMON2'den Aktüatör Kablosu 2'ye

Yukarıdaki talimatlar, 2 kanallı bir röle modülü kullanarak bu projeyi nasıl bağlayacağınızı göstermektedir. Bu, kodlaması kolay, çok basit bir kurulumdur, ancak bazı sınırlamaları da vardır. Hız kontrolü veya kuvvet geri bildirimi gibi özellikler eklemek istiyorsanız, şunları kullanmayı düşünebilirsiniz: MegaMoto motor sürücü kalkanı Bunun yerine. Bununla ilgili daha fazla bilgi. Burada.

Güneş Enerjili Aktüatörünüzü Kodlama

Sağlanan kodun işlevselliği olabildiğince basit olacak şekilde tasarlanmıştır. Işık olduğunda aktüatör geri çekilir. Karanlık olduğunda aktüatör uzar. Aktüatörün yanlışlıkla tetiklenmesini önlemek için (birisi yanından geçip ışığı engellediğinde veya sensör bir ışık parlamasını algıladığında), karanlıktan aydınlığa (veya aydınlıktan karanlığa) geçiş en az otuz saniye sürmelidir. Bu gecikme, "const int triggerDelay" değerini değiştirerek kolayca değiştirilebilir.

Ortamdaki ışık miktarı, analog pin 0'a giden voltaj okunarak belirlenir. Ne kadar çok ışık varsa, ışığa duyarlı direncimizin direnci o kadar az olur. Bir pull-up direnci kullandığımız için, ortam daha parlak hale geldikçe voltaj düşecektir. Arduino bunu 0 ile 1028 arasında bir değer olarak okur. Aktüatörün durumunun değişeceği değeri değiştirmek isterseniz, "const int threshold" değerini değiştirmeniz yeterlidir (varsayılan olarak 650'ye ayarlanmıştır).

Bu kod amacına olduğu gibi hizmet edecektir, ancak bu tür projelerin en güzel yanı her zaman iyileştirme alanı olmasıdır. Güneş enerjili doğrusal aktüatör uygulamanıza daha iyi uyacak şekilde bu kodu değiştirmekten çekinmeyin! Bu koda eklenebilecek birkaç ek fonksiyon örneği şunlardır: belirli bir süre içinde limit anahtarına çarpmazsa aktüatörün hareketine devam etmesini önlemek için bir zaman aşımı; akım çekimi izleme yoluyla çarpışma tespiti (bir MegaMoto sürücüsü röleler yerine); veya aktüatörün ışık miktarına bağlı olarak çeşitli konumlara ayarlanmasına olanak tanıyan bir fonksiyon (sadece tamamen yukarıda veya tamamen aşağıda değil).

Dış mekan uygulamaları bu tip tetikleyicilerden faydalanır. Sunduğumuz yüksek koruma seviyesine sahip aktüatörlere göz atın!

 /*The hardware required for this project is an Arduino, one light dependant resistor (LDR), a 10K resistor and a 2-channel 5V relay module. Its purpose is to control the extension and retraction of an actuator based on the amount of light that is present. Written by Progressive Automations 12/02/2020
*/ #define relay1 2 //relay used to extend actuator
#define relay2 3 //relay used to retract actuator
int ldr; //analog reading from light dependent resistor int countOpen = 0;//counts how long sensor is recieving light
int countClose = 0;//counts how long the sensor is not recieving light
const int triggerDelay = 3000;//number of seconds x 100 to wait after lighting changes before triggering actuator const int threshold = 650;//
void setup() {
Serial.begin(9600);
pinMode(relay1,OUTPUT);
pinMode(relay2,OUTPUT);
digitalWrite(relay1,HIGH);
digitalWrite(relay2,HIGH);
} void loop() {
checkSensor();
} void checkSensor()
{
ldr = analogRead(0);
Serial.println(ldr);
if(ldr> threshold)//if reading is greater than threshold, start counting
{ countOpen++;//count how long the sensor is not recieving light delay(10);
}
else
{ countOpen = 0;//reset count to zero if statement is not true
}
if(countOpen> triggerDelay)// wait x seconds before triggering actuator { extend();//extend actuator
} if(ldr < threshold)//if reading is less than threshold, start counting
{ countClose++;//count how long sensor is recieving light delay(10);
}
else
{ countClose = 0;
}
if(countClose> triggerDelay)// wait x seconds before triggering actuator { retract();
} } void extend()
{ digitalWrite(relay1,LOW); digitalWrite(relay2,HIGH);
} void retract()
{ digitalWrite(relay2,LOW); digitalWrite(relay1,HIGH);
} 

Çözüm

İşte bu kadar! Doğrusal aktüatör ışık sensörünü kullanarak aktüatörünüzü güneş enerjisiyle kontrol etme yöntemimiz bu şekilde. Her uygulamanın aynı olmadığını biliyoruz, bu nedenle bu proje hakkında bazı sorularınız olabilir veya mühendis ekibimizle görüşmek istediğiniz bazı değişiklikler olabilir. Hiç sorun değil – bize bir e-posta göndermeniz yeterli. satış@progressiveautomations.comYa da 1-800-676-6123 numaralı ücretsiz hattımızdan bizi arayabilirsiniz.

Nathan Bong

Progressive Automations, Progressive Desk'te Mühendis ve Metin Yazarlığı Uzmanı
Progressive Automations, Progressive Desk'te Mühendis ve Metin Yazarlığı Uzmanı olarak görev yapan Nathan Bong, makaleler, veri sayfaları, kullanım kılavuzları, teknik videolar ve vaka çalışmaları gibi teknik içeriklerin oluşturulması ve revizyonundan sorumludur. BCIT mezunu olan Bong, elektrik ve bilgisayar mühendisliği alanında akademik bir geçmişe sahip olmasının yanı sıra elektrikli ekipman ve aletlerle çalışma konusunda da uygulamalı deneyime sahiptir.