PDA

Orijinalini görmek için tıklayınız : 47. 6 Sargılı Doğrusal Motorun Arduino İle Çalıştırılması



bolubeyi
19.Eylül.2015, 12:35
Bir başka forumda ihtiyaç hasıl olmuştu. O nedenle hazırladım. Paylaşıyorum. 6 sargılı doğrusal motora ait arduino programı.

Motorda toplamda 6 sargı mevcut. Sargılar şu düzende enerji alacak:
Toplamda bu 6 sargıya ait 12 çıkış ve bu çıkışlara ait 12 klemens mevcut.
Klemenslere sırasıyla şu polariteleri alıyor.

Klemens 1 = +
Klemens 2 = +
Klemens 7 = -
Klemens 8 = -

Bekle .....ms (Periyot arttıkça frekans küçülür dolayısıyla da hız da azalır)

Klemens 2 = +
Klemens 3 = +
Klemens 8 = -
Klemens 9 = -

Bekle .....ms (Periyot arttıkça frekans küçülür dolayısıyla da hız da azalır)

Klemens 3 = +
Klemens 4 = +
Klemens 9 = -
Klemens 10 = -

Bekle .....ms (Periyot arttıkça frekans küçülür dolayısıyla da hız da azalır)

Klemens 4 = +
Klemens 5 = +
Klemens 10 = -
Klemens 11 = -

Bekle .....ms (Periyot arttıkça frekans küçülür dolayısıyla da hız da azalır)

Klemens 5 = +
Klemens 6 = +
Klemens 11 = -
Klemens 12 = -

Bekle .....ms (Periyot arttıkça frekans küçülür dolayısıyla da hız da azalır)

Klemens 6 = +
Klemens 7 = +
Klemens 12 = -
Klemens 1 = -

Bekle .....ms (Periyot arttıkça frekans küçülür dolayısıyla da hız da azalır)

Klemens 7 = +
Klemens 8 = +
Klemens 1 = -
Klemens 2 = -

Bekle .....ms (Periyot arttıkça frekans küçülür dolayısıyla da hız da azalır)

Klemens 8 = +
Klemens 9 = +
Klemens 2= -
Klemens 3 = -

Bekle .....ms (Periyot arttıkça frekans küçülür dolayısıyla da hız da azalır)

Klemens 9 = +
Klemens 10 = +
Klemens 3 = -
Klemens 4 = -

Bekle .....ms (Periyot arttıkça frekans küçülür dolayısıyla da hız da azalır)

Klemens 10= +
Klemens 11 = +
Klemens 4 = -
Klemens 5 = -

Bekle .....ms (Periyot arttıkça frekans küçülür dolayısıyla da hız da azalır)

Klemens 11 = +
Klemens 12 = +
Klemens 5 = -
Klemens 6 = -

Bekle .....ms (Periyot arttıkça frekans küçülür dolayısıyla da hız da azalır)

Klemens 12= +
Klemens 1 = +
Klemens 6 = -
Klemens 7 = -

Bekle .....ms (Periyot arttıkça frekans küçülür dolayısıyla da hız da azalır)

Buradan sonra başlangıca dönüyor.

Bu senaryoya göre
1. ve 7 klemensler 1. sargıya
2. ve 8. klemesler 2. sargıya
3. ve 9. klemesler 3. sargıya
4. ve 10. klemensler 4. sargıya
5. ve 11. klemensler 5. sargıya
6. ve 12. klemensler ise 6. sargıya enerji sağlar.

Yine bu senaryoya göre mikrodenetleyici (arduino) programımız şöyle olacaktır:


// DIJITAL CIKIS PIN TANIMLAMALARI BASLADI
int CIKIS1 = 1; // DİJİTAL 1 PİNİ
int CIKIS2 = 2; // DİJİTAL 2 PİNİ
int CIKIS3 = 3; // DİJİTAL 3 PİNİ
int CIKIS4 = 4; // DİJİTAL 4 PİNİ
int CIKIS5 = 5; // DİJİTAL 5 PİNİ
int CIKIS6 = 6; // DİJİTAL 6 PİNİ
int CIKIS7 = 7; // DİJİTAL 7 PİNİ
int CIKIS8 = 8; // DİJİTAL 8 PİNİ
int CIKIS9 = 9; // DİJİTAL 9 PİNİ
int CIKIS10 = 10; // DİJİTAL 10 PİNİ
int CIKIS11 = 11; // DİJİTAL 11 PİNİ
int CIKIS12 = 12; // DİJİTAL 12 PİNİ
// DIJITAL CIKIS PIN TANIMLAMALARI BITTI

// DIJITAL GIRIS / CIKISLARIN CIKIS MI YOKSA GIRIS MI OLDUKLARININ BELİRTİLMESİ BURADA BAŞLADI
void setup()
{
pinMode(CIKIS1, OUTPUT); // DİJİTAL 1 PİNİ ÇIKIŞ YAPILDI
pinMode(CIKIS2, OUTPUT); // DİJİTAL 3 PİNİ ÇIKIŞ YAPILDI
pinMode(CIKIS3, OUTPUT); // DİJİTAL 3 PİNİ ÇIKIŞ YAPILDI
pinMode(CIKIS4, OUTPUT); // DİJİTAL 4 PİNİ ÇIKIŞ YAPILDI
pinMode(CIKIS5, OUTPUT); // DİJİTAL 5 PİNİ ÇIKIŞ YAPILDI
pinMode(CIKIS6, OUTPUT); // DİJİTAL 6 PİNİ ÇIKIŞ YAPILDI
pinMode(CIKIS7, OUTPUT); // DİJİTAL 7 PİNİ ÇIKIŞ YAPILDI
pinMode(CIKIS8, OUTPUT); // DİJİTAL 8 PİNİ ÇIKIŞ YAPILDI
pinMode(CIKIS9, OUTPUT); // DİJİTAL 9 PİNİ ÇIKIŞ YAPILDI
pinMode(CIKIS10, OUTPUT); // DİJİTAL 10 PİNİ ÇIKIŞ YAPILDI
pinMode(CIKIS11, OUTPUT); // DİJİTAL 11 PİNİ ÇIKIŞ YAPILDI
pinMode(CIKIS12, OUTPUT); // DİJİTAL 12 PİNİ ÇIKIŞ YAPILDI
}
// DIJITAL GIRIS / CIKISLARIN CIKIS MI YOKSA GIRIS MI OLDUKLARININ BELİRTİLMESİ BURADA BITTI

// ANA PROGRAM BURADA BASLADI
void loop() {
digitalWrite(CIKIS1, HIGH);
digitalWrite(CIKIS2, HIGH);
digitalWrite(CIKIS7, LOW);
digitalWrite(CIKIS8, LOW);
delay(1000); // 1s BEKLE
digitalWrite(CIKIS1, LOW);
digitalWrite(CIKIS2, LOW);

digitalWrite(CIKIS2, HIGH);
digitalWrite(CIKIS3, HIGH);
digitalWrite(CIKIS8, LOW);
digitalWrite(CIKIS9, LOW);
delay(1000); // 1s BEKLE
digitalWrite(CIKIS2, LOW);
digitalWrite(CIKIS3, LOW);

digitalWrite(CIKIS3, HIGH);
digitalWrite(CIKIS4, HIGH);
digitalWrite(CIKIS9, LOW);
digitalWrite(CIKIS10, LOW);
delay(1000); // 1s BEKLE
digitalWrite(CIKIS3, LOW);
digitalWrite(CIKIS4, LOW);

digitalWrite(CIKIS4, HIGH);
digitalWrite(CIKIS5, HIGH);
digitalWrite(CIKIS10, LOW);
digitalWrite(CIKIS11, LOW);
delay(1000); // 1s BEKLE
digitalWrite(CIKIS4, LOW);
digitalWrite(CIKIS5, LOW);

digitalWrite(CIKIS5, HIGH);
digitalWrite(CIKIS6, HIGH);
digitalWrite(CIKIS11, LOW);
digitalWrite(CIKIS12, LOW);
delay(1000); // 1s BEKLE
digitalWrite(CIKIS5, LOW);
digitalWrite(CIKIS6, LOW);

digitalWrite(CIKIS6, HIGH);
digitalWrite(CIKIS7, HIGH);
digitalWrite(CIKIS12, LOW);
digitalWrite(CIKIS1, LOW);
delay(1000); // 1s BEKLE
digitalWrite(CIKIS6, LOW);
digitalWrite(CIKIS7, LOW);

digitalWrite(CIKIS7, HIGH);
digitalWrite(CIKIS8, HIGH);
digitalWrite(CIKIS1, LOW);
digitalWrite(CIKIS2, LOW);
delay(1000); // 1s BEKLE
digitalWrite(CIKIS7, LOW);
digitalWrite(CIKIS8, LOW);

digitalWrite(CIKIS8, HIGH);
digitalWrite(CIKIS9, HIGH);
digitalWrite(CIKIS2, LOW);
digitalWrite(CIKIS3, LOW);
delay(1000); // 1s BEKLE
digitalWrite(CIKIS8, LOW);
digitalWrite(CIKIS9, LOW);

digitalWrite(CIKIS9, HIGH);
digitalWrite(CIKIS10, HIGH);
digitalWrite(CIKIS3, LOW);
digitalWrite(CIKIS4, LOW);
delay(1000); // 1s BEKLE
digitalWrite(CIKIS9, LOW);
digitalWrite(CIKIS10, LOW);

digitalWrite(CIKIS10, HIGH);
digitalWrite(CIKIS11, HIGH);
digitalWrite(CIKIS4, LOW);
digitalWrite(CIKIS5, LOW);
delay(1000); // 1s BEKLE
digitalWrite(CIKIS10, LOW);
digitalWrite(CIKIS11, LOW);

digitalWrite(CIKIS11, HIGH);
digitalWrite(CIKIS12, HIGH);
digitalWrite(CIKIS5, LOW);
digitalWrite(CIKIS6, LOW);
delay(1000); // 1s BEKLE
digitalWrite(CIKIS11, LOW);
digitalWrite(CIKIS12, LOW);

digitalWrite(CIKIS12, HIGH);
digitalWrite(CIKIS1, HIGH);
digitalWrite(CIKIS6, LOW);
digitalWrite(CIKIS7, LOW);
delay(1000); // 1s BEKLE
digitalWrite(CIKIS12, LOW);
digitalWrite(CIKIS1, LOW);
}
// ANA PROGRAM BURADA BITTI



Sarı ve kırmızı ledler ters paralel bağlanmıştır. Kırmızı yandığında sargı klememnslerinde doğru polarize, sarı yandığında ters polarize vardır. Sargı klemenslerine güç transistörleri ile tamponlanmalıdır. Devre bu haliyle sargıları sürmek için yeterli değildir. Orjinal konu (https://temrinlerim.org/index.php?topic=232.0) ekinde devreye ait ilgili program dosyaları (üyelik gerektirir) mevcuttur.

https://temrinlerim.org/images/dogrusal.jpg

c_fVm9WMC6c

mO90ZHnjeng

ISIS Devre Şeması
https://temrinlerim.org/images/dogrusal_isis.PNG

WeBMasteR
19.Eylül.2015, 15:32
Eline sağlık hocam.

bolubeyi
19.Eylül.2015, 23:29
Teşekkürler Sinan Bey.