arduino uno etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
arduino uno etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

30 Ocak 2017 Pazartesi

ARDUINO UNO VE L298 İLE STEP MOTOR SÜRME

Bildiğiniz gibi bipolar step motorlarda 4 adet kablo bulunmaktadır. Genellikle bu kablo renkleri sabit olmakla birlikte eğer farklı renklerde kabloları olan bir step motora sahipseniz motor datasheetinden fazlara karşılık gelen kablo renklerini bulmanız mümkün. Bizim kullandığımız step motor 1.8 derece adım açısına sahip 12V ve anma akımı 330 mA olan bir servo motor...

Şimdi bağlantıları nasıl yapacağımıza bakalım:

Kablo Rengi
Kablo Harf Karşılığı
Motor Sürücü Pini
Kırmızı
A
OUT1
Yeşil
C
OUT2
Sarı
B
OUT3
Mavi
D
OUT4

Tablodaki şekilde motor kablolarını DC motor sürücümüzün çıkışlarına bağladıktan sonra, motor için gerekli beslemeyi de harici olarak pil ya da benzeri bir kaynaktan alabilirsiniz. Burada dikkat etmeniz gereken motor beslemesini Arduino'dan almamanız aksi takdirde kartınızı yakabilirsiniz.

Bağlantıları yaptıktan sonra aşağıdaki programı yükleyerek motorunuzun dönüşünü izleyebilirsiniz.

#include <Stepper.h>
#define STEPS 200  // motor 1.8 derece oldugundan 360/1.8
Stepper stepper(STEPS, 12, 13);  // yon pinleri dc motor surucude 12 ve 13. pinler
void setup() {
  // motor surucu pwm pinleri enable olarak kullanilacak
  pinMode(3,OUTPUT);
  pinMode(11,OUTPUT);
  stepper.setSpeed(30);
  digitalWrite(3,HIGH);
  digitalWrite(11,HIGH);
}

void loop() {
  // motor 200 adim ileri (1 tur)
  stepper.step(200);
  delay(1000);
  // motor 200 adim geri (1 tur)
  stepper.step(-200);
  delay(1000);
}

Kodda görüldüğü gibi Arduino Step motor kütüphanesini kullandık, kullandığımız motor sürücü de L298'in input pinleri 2 adet dijital pin ile kontrol edildiğinden Stepper stepper(STEPS,12,13); şeklinde sadece iki adet yön pini kullandık.

Anma gerilimi 5V dan düşük olan motorlarınız için başka step motor sürücüleri kullanmanızı öneririm. L298 lojik besleme gerilimden daha yüksek bir motor besleme gerilimi ile çalıştığından bu tip durumlarda size sıkıntı çıkartabilir.

ARDUINO UNO

Arduino Uno, ATMEGA328 mikrodenetleyicisi tabanlı bir geliştirme kartıdır. 14 adet dijital giriş çıkış pinine ( 6 adet PWM pini) ve 6 adet analog giriş pinine sahiptir.
Bu geliştirme kartının en önemi avantajlarından biri geliştirme kartına gerek olmaksızın direk olarak USB'den programlanabilme ve düşük akım gerektiren işlemler için USB beslenebilme özelliğidir. Bunun yanı sıra 7 ile 12V arasında çıkış verebilen bir adaptör ile de beslenebilir. Adaptör girşinden ya da Kart üzerinde bulunan Vin pininden 12V'a kadar besleme verilebilir. 
Kart üzerinde bulunan ATMEGA328 işlemcisi 32KB Flash, 2KB SRAM, 1KB EEPROM belleklerine sahiptir. 


Arduino UNO Pinleri

Vin : 7 - 12V arasında besleme giriş pinidir. Adaptör girişinden karta besleme verildiğinde aynı gerilim değeri bu pinde de görülebilir. Örneğin adaptör girişinden karta 12V verdiğinizde Vin pininde göreceğiniz gerilim değeri yaklaşık 12V'dur(adaptör girişi ile bu pin arasında akım koruma için bir adet diyot konulmuştur bu diyotun yönü sebebi ile kartı Vin pininden beslediğinizde adaptör girişinde verdiğiniz besleme değerini göremezsiniz).
5V/IOREF : Bu iki pin kart üzerinde kısa devredir. Bu pinlerden 5V vererek kartı besleyebilirsiniz. Kartı harici bir adaptör ile , Vin pininden ya da  USB'den beslediğinizde bu pinlerden 5V çıkış alabilirsiniz.
RESET : Mikrodenetleyicinin reset pinidir. Bu pini 0V(GND)'a çektiğinizde mikrodenetleyici içerisindeki kod baştan başlayacaktır. Flash ve EEPROM belleklerde olan değerler kaybolmayacak ve değişmeyecektir fakat RAM değerleriniz sıfırlanacaktır.
3.3V : Kart üzerinde bulunan regülatör sayesinde kartı herhangi bir güç girişinden beslediğinizde bu pinden 3.3V 50mA çıkış alabilirsiniz. Bu pin sadece çıkış içindir bu pinden 3.3V vererek kartı besleyemezsiniz. 
GND : 0V referans voltajı yani bildiğimiz ground(toprak) pini :)
0(Rx) : UART Rx pinidir. Seri haberleşme(TTL UART, RS232 değil) işlemleri yapılırken kullanılır. Seri haberleşme için kullanılmadığından normal bir dijital giriş çıkış pini olarak kullanılabilir.
1(Tx) : UART Tx pinidir. Seri haberleşme(TTL UART, RS232 değil) işlemleri yapılırken kullanılır. Seri haberleşme için kullanılmadığından normal bir dijital giriş çıkış pini olarak kullanılabilir.
2 : Dijital giriş çıkış pinidir, harici kesme kaynağı pini olarak da kullanılabilir.
3 : Dijital giriş çıkış pinidir, harici kesme kaynağı ya da PWM pini olarak da kullanılabilir.
4 : Dijital giriş çıkış pinidir.
5 : Dijital giriş çıkış pinidir, PWM pini olarak da kullanılabilir.
6 : Dijital giriş çıkış pinidir, PWM pini olarak da kullanılabilir.
7 : Dijital giriş çıkış pinidir.
8 : Dijital giriş çıkış pinidir.
9 : Dijital giriş çıkış pinidir, PWM pini olarak da kullanılabilir.
10 : Dijital giriş çıkış pinidir, SPI protokolü kullanılırken CS(Chip Select) pini olarak ya da PWM pini olarak da kullanılabilir.
11 : Dijital giriş çıkış pinidir, SPI protokolünde MOSI(Master Out Slave In) pini olarak ya da PWM pini olarak da kullanılabilir.
12 : Dijital giriş çıkış pinidir, SPI protokolünde MISO(Master In Slave Out) pini olarak da kullanılabilir.
13 : Dijital giriş çıkış pinidir, kart üzerinde bu pine bağlı  bir led bulunmaktadır. İlk denemenizi yaparken bu pini kullanabilirsiniz. 
GND : GND : 0V referans voltajı yani bildiğimiz ground(toprak) pini :) (13. pinin yanındaki)
AREF :  Analog referans gerilimi, analog dijital çevirici pinleri kullanılırken bu pinde görülen gerilim değeri referans alınarak bu değere göre hesaplamalar mikrodenetleyici tarafından yapılmaktadır. Bağlantısız bırakıldığında referans değer 5V olarak alınmaktadır. 
SDA : A4 pini ile kısa devredir.10 bit çözünürlükte ADC(Analog Digital Converter) pini olarak ya da I2C protokolünde SDA(Serial Data) pini olarak da kullanılabilir.
SCL : A5 pini ile kısa devredir.10 bit çözünürlükte ADC(Analog Digital Converter) pini olarak ya da I2C protokolünde SCL(Serial Clock) pini olarak da kullanılabilir.
A0 : 10 bit çözünürlükte ADC pinidir. ADC pini olarak kullanılmadığında dijital giriş çıkış pini olarak da kullanılabilir.
A1 : 10 bit çözünürlükte ADC pinidir. ADC pini olarak kullanılmadığında dijital giriş çıkış pini olarak da kullanılabilir.
A2 : 10 bit çözünürlükte ADC pinidir. ADC pini olarak kullanılmadığında dijital giriş çıkış pini olarak da kullanılabilir.
A3 : 10 bit çözünürlükte ADC pinidir. ADC pini olarak kullanılmadığında dijital giriş çıkış pini olarak da kullanılabilir.
A4: 10 bit çözünürlükte ADC pinidir. ADC pini olarak kullanılmadığında dijital giriş çıkış pini olarak da kullanılabilir. Ayrıca bakınız SDA...
A5 : 10 bit çözünürlükte ADC pinidir. ADC pini olarak kullanılmadığında dijital giriş çıkış pini olarak da kullanılabilir. Ayrıca bakınız SCL...