6 Eylül 2014 Cumartesi

Arduino Uno ile DC Motor Hız Kontrolü

Merhaba arkadaşlar, uzun bir aradan sonra ANSYS yerine bu sefer Arduino ile ilgili bir çalışmayı size anlatmak istiyorum. Uzun süredir BLDC Motor kontrolü üzerine çalışma yaptığım için aralarda geçtiğim birçok aşama var. Bu aşamalardan basit olanlarından bir tanesi ise DC motor kontrolüdür.
Bu çalışmada motorumuzu Arduino Uno ile kontrol ediyoruz. İlk olarak başlayacağımız nokta 1K lık bir adet direnç, N4001 diyot, küçük boyutta bir adet DC motor(benimkisi CYFF-050SH-11180), 10K’lık bir adet potansiyometre. BC547 transistör(NPN) ve 9V’luk bir adet pil almamız gerektiğidir. Burada potansiyometremizin orta bacağını analog girişlerden bir tanesine bağlamalıyız(Ben A0’a bağladım). Diğer bacaklardan birisini 9V’luk pile diğer ucunu 5V a bağlamalıyız. DC Motoru transistöre ve dirence seri bağlamalıyız. Diyotu ise bilindiği üzere motora seri bağlamalıyız.


Şimdi de Arduino’ya yazacağımız kodu ekliyorum.
const int analogGirisPini = A0;
const int motorPini = 12;
int potansDegeri = 0;
void setup(){
  Serial.begin(9600);
}
void loop() {
  potansDegeri = analogRead(analogGirisPini);
  potansDegeri = map(potansDegeri,0,1023, 0, 255);
  analogWrite(motorPini, potansDegeri);
  delay(200);
}
Burada son olarak bir şey eklemek istiyorum. Eğer elinizde diyot yoksa aynı çalışmayı bunun gibi küçük motorlar için yapabilirsiniz. Çünkü oluşan ters akım çok çok küçük olacağı için(o da dönmeden kaynaklanır.) sotun çıkarmaz. En fazla transistör gümler herhalde J

Bu konu haricinde de makine mühendisliği üzerine sorularınız ve projeleriniz var ise mail adresine yazabilirsiniz. 

Bu çalışmanın bir adet videosunu dad youtube'a yükledim.