Elektronik kart

Bu soru bir çok üniversitede bitirme ödevi ya da yüksek lisans tezidir. Anlattıklarınıza dayanarak istediğiniz kartın 27 sargılı bir doğrusal motoru sürmek için kullanılacağı hissini uyandırıyor. Buna dayanarak 6 sargılı bir doğrusal motoru örnek göstererek kendi sargılarınızı nasıl sürmeniz gerektiği konusunda fikir sahibi olmanızı amaçlayım.

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.

Aslında bu kadar çok sargı kullanmaya gerek yok. 3 sargı yeterli olur.

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

Kod:
// 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.

Bu örnek anlatıma ait resim ve video aşağıdadır. Kodlamayı kendi klemens sayısına göre düzenleyerek işin altından çıkmaya çalışınız.

dogrusal.jpg




ISIS Devre Şeması

dogrusal_isis.png
 
Son düzenleme:
Bu soru bir çok üniversitede bitirme ödevi ya da yüksek lisans tezidir. Anlattıklarınıza dayanarak istediğiniz kartın 27 sargılı bir doğrusal motoru sürmek için kullanılacağı hissini uyandırıyor. Buna dayanarak 6 sargılı bir doğrusal motoru örnek göstererek kendi sargılarınızı nasıl sürmeniz gerektiği konusunda fikir sahibi olmanızı amaçlayım.

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 24 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.

Aslında bu kadar çok sargı kullanmaya gerek yok. 3 sargı yeterli olur.

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

Kod:
// 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.

Bu örnek anlatıma ait resim ve video aşağıdadır. Kodlamayı kendi klemens sayısına göre düzenleyerek işin altından çıkmaya çalışınız.

dogrusal.jpg




ISIS Devre Şeması

dogrusal_isis.png
Hocam tam olarak istediğim böyle bişey, yanlız 1,2,7 uçları + 8 ucu - yapmişsiniz. 1 ve 7 aynı sargının uçları olduğuna gore niye iki ucada + giriyor. Diğer çikişlardada aynısını yapmişsiniz.
 
Evet tarif ederken o şekilde yazmışım. Kopyala yapıştır hatası. Düzelttim. Gerçi programda ve simülasyonda o şekilde değildi. Doğruydu.
 
Bu iş için sargıya hem + hem - vermek gerekmiyor ki bknz: aşağıdaki resim, nerden duyduysan yanlış bilgilendirilmişsin, bir de ilk hareketi verdikten sonra (ilk hareketten sonra eylemsizlikle daha az enerji harcanır ivmeyi koruyacak kadar) diğer bobin araları ya sıklaşmalı ya da bobinler arası aktivleştirme süresi azaltılmalı benim sınırlı bilgimle.
Coilgun_animation.gif
 
Bu iş için sargıya hem + hem - vermek gerekmiyor ki bknz: aşağıdaki resim, nerden duyduysan yanlış bilgilendirilmişsin, bir de ilk hareketi verdikten sonra (ilk hareketten sonra eylemsizlikle daha az enerji harcanır ivmeyi koruyacak kadar) diğer bobin araları ya sıklaşmalı ya da bobinler arası aktivleştirme süresi azaltılmalı benim sınırlı bilgimle.
Coilgun_animation.gif
Bu iş için derken, ben hangi iş olduğunu yazmadimki. Bu gifdeki olayla benim projenin bir alakası yok. Benim projenin çalışıp çalişmayacağıylada alakalı bir endişem yok. Dersime iyi çalıştım. Projenin diğer bileşenlerinde uzmanım ama elektronikten anlamıyorum, onun için buradayim.
 
Arkadaşlar, bu kartı hala yaptıramadım. 18 çıkışlı, uygun fiyata yapabilecek kimse yokmu formda,
 

Forum istatistikleri

Konular
130,069
Mesajlar
932,772
Kullanıcılar
453,065
Son üye
jros

Yeni konular

Geri
Üst