Keşfet

Zeolit Reaktörü Ve Başlangıç Araştırmaları

Kodu ufak bazı düzeltmelerle yayınlayacağım. 

Şimdiye kadarki tartışmalarda açık kalan bir nokta oldu. Motorun ne kadar zamanda bir çalışacağı ve ne kadar süre çalışacağı sisteme nasıl girilecek.
Ne kadar süre çalışacağı ufak kod düzenlemesi ile halledilebilir gözüküyor ancak benim görüşüm ne zaman çalışması gerektiğini zaman ayarlı priz veyahut benzeri alternatiflerle çözmek daha akıllıca olur gibi. 7/24 devrenin programına bağlantı sağlanması biraz sıkıntılı olabilir diye mantık yürütüyorum. Belki bazı ekleme teçhizat vb gerekebilir. Motorun geri akım vermesi gibi bir şeylerden bahsediliyordu yabancı forumlarda. Çok teknikti anlamamıştım. Anlayan açıklık getirebilir. Belki Motor ile Shield arasına bir malzeme girmesi öneriliyordu diyot mu direnç mi bilemiyorum.

 
Motor sürücünün geri akımı halletmesi gerekiyor. Eğer halletmiyorsa zaten motor sürücü kullanmanın çok anlamı yok. Yine de bir araştırayım. Hiç step motor kullanmadım.

Arduinonun sürekli çalışmasında bir mahsur yok. Zaman ayarlı priz fazladan bir eleman olmaktan pek öteye geçmeyecektir. Ben hobicilere de basit olması açısından 2 adet potansiyometre mi olsa diye düşündüm. Ama ekran ve tuş takımı da takılabilir.

 
Başlangıç Malzemeleri:

wva4p5.jpg


Dişi Jak ı Motor Shield Rev3 ümüze bağladık, Dişi Jak ın " +" ucunu Motor Shield Rev 3 ümüzün  "Vin " soketine ,Dişi Jak ın "-" ucunu Motor Shield Rev3 ümüzün "GND" soketine bağladık. Yetkililer bu yöntem ile motorun torkunun bir nebze güçleneceğini belirttiler. 

2i8yyj5.jpg


Şimdi geldik Arduino Uno muz ile Motor Shield Rev3 ümüzü birleştirmeye ; dikkatlice incelersek hata yapma şansımız bulunmamakta. Motor Shield Rev3 ile Arduino Uno nun üzerindeki PİN kod ve isimleri AYNI olacak şekilde üst üstte gelecek ve hafif bir parmağımızla baskı uygulayıp yerine yerleştirdik. 

2955oid.jpg


8zipv8.jpg


Son olarak bu işlemleri yapar iken devre kartlarına muazzam özen gösteriniz. Düzgün temiz bir ortamda çalışın. Ve mutlaka alt taraflarına devrenin çizilmesini önleyici bir malzeme koyun. Biz Motor Shield Rev 3 ün içinden çıkan süngerimsi yapıyı kullandık.

 
2zfjq5v.jpg


Motor bağlantı şeması ve fotoları programlamanın tam şekil almasını bekleyecek :)

 
Motor sürücünün geri akımı halletmesi gerekiyor. Eğer halletmiyorsa zaten motor sürücü kullanmanın çok anlamı yok. Yine de bir araştırayım. Hiç step motor kullanmadım.

Arduinonun sürekli çalışmasında bir mahsur yok. Zaman ayarlı priz fazladan bir eleman olmaktan pek öteye geçmeyecektir. Ben hobicilere de basit olması açısından 2 adet potansiyometre mi olsa diye düşündüm. Ama ekran ve tuş takımı da takılabilir.
İlk size ÖM yolu ile sorduğum bir ürün vardı Amerikada. 145$ lık ekranlı herşeyin ekrandan halledilebildiği. Buna benzer bütçesi olan hobici uygulama yapabilir.

stepduino-arduino-stepper-motor-controller-1.jpg




 
Çok ucuzmuş ekran. 
Peki bu modelin kullandığı PIN no'lara bakılınca bunu Motor Shield Rev 3 ün üzerine oturtabilir miyiz diye düşünüyorum. Eğer uygulanabilirse süper olacaktır denemek isteyenlere. Peki program için kendi hafızası ayrı değil mi? Yoksa UNO dan mı yer hafızayı? 

 
Kodun düzenlenmiş hali;

Kod:
// İlgili Pinleri İsimlendiriyoruz
const int PWM_A = 3;
const int YON_A = 12;
const int FREN_A = 9;
const int SNS_A = A0;
const int BREAK_DURATION = 500; // fren suresi
const int MOTOR_SPEED = 255; //Motor hizi


/**
* Motor surucuyu ilklendir
*/
void initMotorShield(){
	// A Çıkışını Konfigure etme
	pinMode(FREN_A, OUTPUT);                                       // Kanal A daki Fren Pin i
	pinMode(YON_A, OUTPUT);                                        // Kanal A daki Yön
}

/**
* Arduinoyu karistirma suresi gelene dek bekletir.
* (bekleme suresinin ekrana bastirilmasi eklenecektir.)
* @param duration Bekleme suresi
*/
void waitForMix(int duration){
	delay(duration);
}

/**
* Zeoliti karistirir.
* @param stepDuration Motorun karistirmak icin bir adimdaki hareketinin suresi
* @param count Toplam karistirma sayisi.
*/
void mixZeolit(int stepDuration,int count){
	int i;
	for(i=0; i < count; i++){
		// pozitif yon
        digitalWrite(FREN_A, LOW); // LOW Komutu ile Freni engelleme
        digitalWrite(YON_A, HIGH); // HIGH komutu ile motoru İleri Çalıştırma
	    analogWrite(PWM_A, MOTOR_SPEED); // Motorun çalışma hızını ayarlama 255 maksimum
        delay(stepDuration); // Motoru yüksek hızda tutma
		// fren
        digitalWrite(FREN_A, HIGH); // Fren e bastık
        delay(BREAK_DURATION);
		//negatif yon
        digitalWrite(FREN_A, LOW); // Motor Frenlemesi İptali 
        digitalWrite(YON_A, LOW); // YON_A daki pin i düşürmek motoru geriye doğru çalıştıracaktır
        analogWrite(PWM_A, MOTOR_SPEED); // Motor Hızı Maksimumda
        delay(stepDuration);
		// fren
        digitalWrite(FREN_A, HIGH); // Fren e bastık
        delay(BREAK_DURATION);
	}
	analogWrite(PWM_A, 0); // Motorun gücünü kestik
}

/**
* Tus takimi, analog girdi gibi yontemlerle ayarlanmis karistirma 
* adim suresini dondurur.
*/
int getStepDuration(){
	//TODO bir girdiden alinmasi saglanacak
	return 2000;
}

/**
* Arka arkaya iki yonlu hareket ile karistirma sayisini dondurur.
*/
int getMixCount(){
	//TODO bir girdiden alinmasi saglanacak
	return 10;
}

/**
* Karistirma periyodunu dondurur.
*/
int getMixPeriod(){
	//TODO bir girdiden alinmasi saglanacak
	return 10800000; // 3 saat
}
 
 
void setup() {
    initMotorShield();                                                             
}
 
void loop() {
	
    int stepDuration, mixCount, mixPeriod;
    int waitDuration; // bekleme suresi
    stepDuration = getStepDuration();
    mixCount = getMixCount();
    mixPeriod = getMixPeriod();
    waitDuration=mixPeriod - mixCount * stepDuration;
    
    mixZeolit(stepDuration,mixCount); // karistir. 
    waitForMix(waitDuration); // Bir sonraki karistirmaya dek bekle
}
 
sketch_mar11a.ino:53:14: error: 'PWM_A' was not declared in this scope
Derleme sırasında hata oluştu.
Bu hatayı veriyor IDE , Hüseyin bey

 
Moderatör tarafında düzenlendi:
const int PWM_A = 3;
const int YON_A = 12;
const int FREN_A = 9;
const int SNS_A = A0;
const int BREAK_DURATION = 500; // fren suresi
const int MOTOR_SPEED = 255; //Motor hizi

kısmını aşağıdaki şekilde değiştirelim. Arduino IDE olmadığından kontrol edemiyorum şuan eve gidince kesin düzeltebilirim.

#define PWM_A 3
#define YON_A 12
#define FREN_A 9
#define SNS_A A0
#define BREAK_DURATION 500 // fren suresi
#define MOTOR_SPEED 255 //Motor hizi

Buradan kopyala yapıştır yaparken görüntülenmeyen karakter hatasıda oluşuyor olabilir. 

 
Çalışıyor mu peki deneme şansınız oldu mu?

 
ÖNEMLİ UYARI 2:    Yaptığımız programlar ve bağlantıların hepsi DC Gear Motor üzerine kurgulanmıştır. Step Motor kullanıcılarının bağlantı şekli ve programlaması farklılık gösterecektir. Yeniden hatırlatmak gerekirse Nema 23 tarzı motorların ağırlıkları 1 kg dır ve reaktörün akrilik kısmının inşasında bu göz ardı edilmemelidir.!!!!

 
Çalışıyor mu peki deneme şansınız oldu mu?
Yok henüz motor bağlantısı kurmadım ve Uno yu tanıtmadım. Akşama fırsat bulursam yaparım olmadı yarına kalacaktır. Akvaryumun su değişim vakti ile kesiştiği için aksıyor :)

 
Hüseyin bey, peki diyelim programı yükledik ve çalıştı, ve çok daha güzel program tasarladık sonra ve yüklemek istediğimizde Uno ve shield ten eski programı silme şansımız var mı? Yoksa kısaca reset tuşuna basmak yeterli olacak mı eski programı silmek için?

 
Yine yalnız kalacağım ama hiç akrilik kısmı hakkında araştırma yapan var mı? Fish Street teki  satıştaki reaktör şekli güzel duruyor ancak iç içe bu kadar keskin geçişi yapmak yaptırmak zor olur. Ve fiyatı uçurabilir. 

z60logo3.jpg


 
Sponsorlardan Kemal Örgücüler'de de zeolit reaktörleri mevcut. Hatta bir iki gün önce konuştum kendisiyle. Ürünleri bir haftaya kadar hazır olacakmış.

 
Arkadaşlar kusura bakmayın, hastalıktan ve hastanelerden konudan koptum, gözleri açık tutmak bile güç serumlardan ve oksijenden. Deniz Bey, ellerinize sağlık harika bir çalışma olmuş. 

 
Reset tuşu bilgisayarınızdaki reset tuşunun aynısı. Yani sistemi yeniden başlatır. 

Yeni programı yüklemek için ilk yüklediğinizde yaptığınızın aynısını yapacaksınız. USB ile bilgisayarınıza bağlayıp IDE aracılığı ile tekrar yükleyeceksiniz.

 
Arkadaşlar kusura bakmayın, hastalıktan ve hastanelerden konudan koptum, gözleri açık tutmak bile güç serumlardan ve oksijenden. Deniz Bey, ellerinize sağlık harika bir çalışma olmuş. 
Çok ama çok geçmiş olsun.  Sağlığınız önemli. Zaten biz ağır adımlarla ilerliyoruz, 5dk da okuyup bize yetişmemek mümkün değil :D

 
birşey sormak istiyorum karıştırma mantığı ile ilgili, bu motorun mili , Hulusi beyin yüklemiş olduğu resimdeki reaktörün karıştırıcısınımı döndürüp karışıtıracak, yoksa milin üzerine bir tabla koyulup bu tablaya kenarına ortasına vs reaktör yerleştirilip tabla döndükçemi karıştırma işlemi sağlanacak merkez kaç kuvveti ile, eğer 2. si olabiliyorsa 2 reaktör bağlanabilir kendim için düşünüyorum ben tabii coralx aio ve xxl reaktörü, sağa yaptığı dönüşün sayısı kadar solada yaparsa kablo ıvırı zıvırda karışmaz hem :)

 
Moderatör tarafında düzenlendi:

Konu görüntüleyen kullanıcılar

Benzer konular

Geri
Üst