İçindekiler:

Mikrodenetleyici Olmadan Step Motor Sürme: 7 Adım
Mikrodenetleyici Olmadan Step Motor Sürme: 7 Adım

Video: Mikrodenetleyici Olmadan Step Motor Sürme: 7 Adım

Video: Mikrodenetleyici Olmadan Step Motor Sürme: 7 Adım
Video: Mikrodenetleyici Programlama 16 - Tek ve Çift Fazlı Tam Adım Step Motor Sürme 2024, Temmuz
Anonim
Image
Image

Bu Eğitilebilir Kitapta, bir mikro denetleyici olmadan bazen x113647 olarak adlandırılan bir UNL2003 darlington dizi kartıyla 28-BYJ-48 adım motoru kullanacağım.

Başlat/durdur, ileri/geri ve hız kontrolüne sahip olacaktır.

Motor, tam adım modunda devir başına 2048 adımlı tek kutuplu bir adım motorudur. Motorun veri sayfası https://robocraft.ru/files/datasheet/28BYJ-48.pdf adresinde bulunur.

İki cihaz birden fazla satıcıdan birlikte satın alınabilir. benimkini kjell.com'dan aldım

Size en yakın satıcıyı bulmak için Bing veya google'da aratın.

İlk önce onu çalıştırmak için gereken bazı adımlardan ve kısımlardan geçeceğim ve ardından daha fazla kontrol için bazı adımlar ve parçalar ekleyeceğim.

Kullandığım parçaların hazine sandığımda bulunan parçalar olduğu ve amaca en uygun parçalar olmadığı konusunda uyarılmalıdır.

Ayrıca, bunun benim ilk Eğitilebilir Dersim olduğu ve elektronikte oldukça yeni olduğum konusunda uyarılmalıdır.

Yapmamam gereken bir şey yaptığımı düşünüyorsanız veya iyileştirme önerileriniz veya daha uygun parçalar için önerileriniz varsa lütfen yorum ekleyin.

Adım 1: Parça Listesi

Ana Parçalar
Ana Parçalar

Bu proje için kullanılan parçalar

  • ekmek tahtası
  • Step motor 28byj-48
  • Darlington transistör dizisi ULN2003 kartı (x113647)
  • 74HC595 vardiya kaydı
  • 74HC393 ikili dalgalanma sayacı
  • DS1809-100 Dallastat dijital potansiyometre
  • 74HC241 sekizli tampon
  • 3 × dokunsal düğmeler
  • 3 × 10kΩ dirençler
  • 2 × 0.1µF seramik kapasitörler
  • 1 × 0.01 µF seramik kapasitör
  • Bağlantı telleri
  • 5V güç kaynağı

Adım 2: Ana Parçalar

Ana Parçalar
Ana Parçalar

74HC595 kaydırma kaydı

Motor, UNL2003 kartının dört giriş pinine şu sırayı tekrar tekrar vererek hareket ettirilir:

1100-0110-0011-1001

Bu, motoru tam adım modunda çalıştıracaktır. 1100 deseni tekrar tekrar sağa kaydırılır. Bu, bir vardiya kaydı önerir. Bir kaydırma yazmacının çalışma şekli, her saat döngüsünde, yazmaçtaki bitlerin bir yer sağa kaydırılması ve en soldaki bitin o andaki giriş pininin değeriyle değiştirilmesidir. Bu nedenle, motorun daldırma modelini oluşturmak için iki saat çevrimi 1 ve ardından iki saat çevrimi 0 ile beslenmelidir.

Saat sinyallerini oluşturmak için, sabit bir dizi darbe, tercihen temiz bir kare dalga üreten bir osilatöre ihtiyaç vardır. Bu, motora giden sinyallerin değişen modelinin temelini oluşturacaktır.

"İki döngü bir ve ardından iki döngü 0" oluşturmak için parmak arası terlikler kullanılır.

74HC595 shift register'ım var. Bu, çok sayıda Instructables ve Youtube videosunda açıklanan çok popüler bir çiptir.

Veri sayfası https://www.ti.com/lit/ds/symlink/sn74hc595.pdf adresinde bulunabilir.

Güzel bir Eğitilebilirlik, bweaver6 tarafından 74HC595-Shift-Register-Demistified'dir, 74HC595 kaydırma yazmacı, her saat döngüsünde, 8 bitlik kaydındaki verilerin sağa kaydırılması ve en soldaki giriş pininin değerinde kaydırılması için çalışır. Bu nedenle, iki saat döngüsü 1 ve ardından iki saat döngüsü 0 ile beslenmelidir.

Veriler, saat darbesinin yükselen kenarında kaydırılır. Bu nedenle, flip-flop saatin düşen kenarında geçiş yapmalıdır, bu nedenle 74HC595, yükselen saat kenarında sabit veri girişine sahip olacaktır.

74HC595 şu şekilde kablolanabilir:

Pim 8 (GND) -> GND

Pin 16 (VCC) -> 5V Pin 14 (SER) -> Pin 12'deki veriler (RCLK) -> Clock girişi Pin 11 (SRCLK) -> Clock girişi Pin 13 (OE) -> GND Pin 10 (SRCRL) -> 5V Pinler 15 ve 1-3, motoru sürmek için kalıbı çıkaracaktır.

RCLK ve SRCLK'nın bağlanması, çip veri kaydının her zaman çıkış kaydı ile senkronize olmasını sağlar. Pin 13'ü toprağa koymak, çıkış yazmacının içeriğini çıkış pinleri (Q0 - Q7) tarafından hemen görünür hale getirir.

555 zamanlayıcı

Saat darbesini oluşturmak için 555 zamanlayıcı çipi kullanılabilir. Bu aynı zamanda çok popüler bir çiptir ve shift register'dan bile daha fazla açıklanır ve tartışılır. Wikipedia'nın https://en.wikipedia.org/wiki/555_timer_IC adresinde güzel bir makalesi var.

Veri sayfası burada:

Bu çip, diğer şeylerin yanı sıra kare dalga saat darbesi üretebilir. Frekansı ve görev döngüsünü (kesir üzerinde) kontrol etmek için harici dirençler ve kapasitörler kullanılır.

555 yongasının art arda darbe üretecek şekilde ayarlandığında kararsız modda olduğu söyleniyor. Bu, yukarıdaki resimde olduğu gibi kablolanarak yapılır. (resim jjbeard [Public domain] tarafından, Wikimedia Commons aracılığıyla):

Pin 1 -> GND

Pin 2 -> R1 (10kΩ) -> Pin 7 Pin 2 -> Pin 6 Pin 3 çıkıştır Pin 4 (reset) -> 5V Pin 5 -> 0.01µF -> GND Pin 6 -> 0.1µF -> GND Pin 7 -> R2 (10kΩ) -> 5V Pin 8 -> 5V

Pin 3'ün çıkışı, 74HC595 kaydırma yazmacının giriş saati pinlerine (Pin 11 ve Pin 12) bağlanacaktır.

Çıkış sinyalinin frekansı (ve dolayısıyla step motorun hızı), direnç R1 ve R2'nin değerleri ve C kondansatörünün değeri ile belirlenir.

T çevrim süresi ln(2) C (R1 + 2 R2) veya yaklaşık 0,7 C (R1 + 2 R2) olacaktır. Frekans 1/T'dir.

Görev döngüsü, sinyalin yüksek olduğu döngü süresinin kesri, (R1 + R2) / (R1 + 2R2)'dir. Görev döngüsü bu proje için çok önemli değil.

Hem R1 hem de R2 için 10kΩ ve C = 0.1µF kullanıyorum.

Bu, yaklaşık 480Hz'lik bir frekans verir ve step motorun durmadan idare edebileceğini bulduğum maksimum frekansa yakındır.

74HC595'ten 1100 kaydırılmış, tekrarlanan deseni oluşturmak için, pim 14 (SER) iki saat çevrimi için yüksek ve ardından tekrar tekrar iki saat çevrimi için düşük tutulmalıdır. Yani pim, saatin frekansının yarısı ile salınmalıdır.

74HC393 ikili ikili dalgalanma sayacı

74HC393 ikili olarak sayılır ve bu aynı zamanda darbe frekanslarını ikiye bölmek için kullanılabileceği anlamına gelir, Veri sayfası burada:

74HC393 çifttir, her iki tarafında birer 4 bitlik sayıcıya sahiptir.

Saat darbesinin düşen kenarında, ilk çıkış pimi açılır ve kapanır. Bu nedenle, çıkış pimi bir, giriş saatinin frekansının yarısı ile salınacaktır. Çıkış pimi 1'in düşen kenarında, çıkış pimi iki açılır ve kapanır. Ve böylece dört çıkış pininin tümü için. Pin n kapandığında, pin n+1 değişir.

Pin n+1, pin n'nin yarısı kadar sıklıkta değişir. Bu ikili saymadır. Sayaç tekrar sıfırdan başlamadan önce 15'e kadar (dört bitin tümü 1) sayabilir. Sayaç 1'in son çıkış pimi, sayaç 2'ye saat olarak bağlıysa, 255'e (8 bit) kadar sayıyor olabilir.

Giriş saatinin frekansının yarısı kadar bir darbe oluşturmak için sadece çıkış pini 1'e ihtiyaç vardır. Yani, sadece sıfırdan bire kadar saymak.

Bu nedenle, sayım 555'ten gelen saat darbesi ile yapılırsa, 74HC393 sayacındaki bit 2'yi temsil eden pim, saatin frekansının yarısı ile salınacaktır. Bu nedenle bu, istenen modeli oluşturmak için 74HC595 kaydırma yazmacının SER pinine bağlanabilir.

74HC393 ikili sayacının kablolaması şu şekilde olmalıdır:

Pim 1 (1CLK) -> 74HC595 Pim 11, 12 ve 555 Pim 3

Pin 2 (1CLR) -> GND Pin 4 (1QB) -> 74HC595 Pin 14 Pin 7 (GND) -> GND Pin 14 (VCC) -> 5V Pin 13 (2CLK) -> GND (kullanılmıyor) Pin 12 (2CLR) -> 5V (kullanılmıyor)

Adım 3: Çalıştırın

Çalıştır
Çalıştır
Çalıştır
Çalıştır

74HC595'in 0-3 pinleri sırasıyla ULN2003 kartının 1-4 pinlerine bağlıysa artık motoru çalıştırabiliriz.

Şimdilik, 555 zamanlayıcının Pin 6'sındaki 0.1µF kondansatörü 10µF ile değiştirin. Bu, saat döngüsünü yüz kat daha uzun hale getirecek ve kişi neler olup bittiğini görebilecek.

Bunun için ULN2003 kartlarındaki LED'ler kullanılabilir. Motoru ULN2003 kartından çıkarın. Kartın 1 ila 4 numaralı pinlerini 74HC595'in QA-QD çıkışına (7, 9, 10 ve 11 numaralı pinler) bağlayın. ULN2003 kartının - ve + uçlarını toprağa ve 5V'a bağlayın. Güç açıksa, LED'lerde istenen deseni görmelisiniz.

74HC393 ikili sayıcıda neler olduğunu görmek istiyorsanız, bunun yerine bunun 3-6 pinlerine bağlayın.

Model doğru görünüyorsa, gücü kapatın, kapasitörü tekrar 0.1µF ile değiştirin, ULN2003 kartının 1 - 4 giriş pinlerini 74HC595'in QA - QD çıkış pinlerine bağlayın ve motoru tekrar takın.

Güç açıkken, motor şimdi çalışmalıdır.

Adım 4: Hız Kontrolü

Hız kontrolü
Hız kontrolü

Adım motorunun hızı, 555 zamanlayıcının çıkış frekansı tarafından yönetilir. Bu da yine R1 ve R2 dirençlerinin ve buna bağlı C1 kondansatörünün değerleri tarafından yönetilir. 100kΩ'luk bir potansiyometreyi R2 ile seri bağlayarak, frekans 480Hz ile 63Hz arasında olabilir. Adımlar pr. motorun saniyesi, 555 zamanlayıcı frekansının yarısı olacaktır.

Buton kullanımı için yapılmış bir DS1809-100 dijital potansiyometre kullandım. Pin 2 (UC) ve Pin 7'yi (DC) 5V'a bağlayan butonlar, RH (Pin 1) veya RL (Pin 4) terminalleri ile silecek Pin 6 (RW) arasındaki direnci arttırır/azaltır. Bir düğmeyi bir saniyeden fazla basılı tutmak, düğmenin otomatik olarak tekrarlanmasını sağlar.

Veri sayfası burada bulunabilir:

Kablolama şöyle:

Pim 1 (RH) kullanılmamış

Pin 2 (UC) -> dokunsal tuş 1 Pin 3 (STR) -> GND Pin 4 (RL) -> 555 Pin 2 Pin 5 -> GND Pin 6 (RW) -> 10kΩ -> 555 pin 7 Pin 7 (DC) -> dokunsal düğme 2 Pin 8 -> 5V

Dokunsal düğme 1 için kablolama:

Pim 1/2 -> DS1809 Pim 2

Pim 3/4 -> 5V

Dokunsal düğme 2 için kablolama:

Pim 1/2 -> DS1809 Pim 7

Pim 3/4 -> 5V

Şimdi, hız düzenlenebilir.

Adım 5: Başlat / Durdur

Başla dur
Başla dur

Step motoru başlatmak ve durdurmak için 555 zamanlayıcının Pin 4'ü (Reset pini) kullanılabilir. Bu düşük çekilirse, Pin 3'ten çıkış darbesi olmayacaktır.

Başlatma ve durdurma arasında geçiş yapmak için dokunsal bir düğme kullanılacaktır. Düğmeye bir kez basıldığında motor çalıştırılmalı, tekrar basıldığında durmalıdır. Bu davranışı elde etmek için bir parmak arası terlik gereklidir. Ancak zaten mevcut olan 74HC393 de kullanılabilir. 74HC393'ün iki parçası vardır ve saat darbesi için frekans bölücü olarak yalnızca bir yarısı kullanılır.

İkili sayaç aslında sadece bir dizi geçişli parmak arası terlik dizisi olduğundan, diğer parçanın ilk parmak arası terliği kullanılabilir. Düğmeye basıldığında Pim 13 (2CLK) düşük, değilse yüksek olacak şekilde bir dokunsal düğme bağlayarak, Pim 12 her düşükte geçiş yapacaktır. 555'in Pin 12'sini Pin 4'e bağlamak, çıkışını ve dolayısıyla motoru başlatacak ve durduracaktır.

Dokunsal düğmeler mekanik oldukları için biraz zor. "Sıçrayabilirler", yani her basışta birden fazla sinyal gönderebilirler. Düğmeye 0,1 µF'lik bir kapasitör bağlamak, bundan kaçınmaya yardımcı olur.

Böylece dokunsal bir düğme (düğme 3 eklenir ve 555'in Pin 4'üne bağlantı değiştirilir.

Düğmenin kablolaması:

Pim 1/2 -> 10kΩ -> 5V

Pim 1/2 -> 0.1µF -> Pim 3/4 -> 74HC393 Pim 13 (2CLK)

555'te aşağıdaki değişiklikler yapılmıştır:

Pin 4 (Reset) -> 74HC393 Pin 11 (2QA)

Düğme 3 şimdi bir başlat/durdur geçişi olarak çalışmalıdır.

Bu şekilde durdurulan bir motorun hala güç tüketeceğini unutmayın.

Adım 6: Yön Kontrolü

Yön Kontrolü
Yön Kontrolü

Motorun yönünü kontrol etmek için başka bir buton ve ardından başka bir parmak arası terlik gereklidir. Ancak, açma/kapama flip-flop'undan sonra 74HC393'ün bir sonraki flip-flop'unu ve açma/kapama düğmesini kullanarak hile yapacağım.

Yön pimi (Pin 2QA) alçaldığında, sonraki pim (Pin 2QB) değiştirilir. Bu nedenle, basma düğmesine art arda basmak KAPALI - İLERİ - KAPALI - GERİ AÇIK - KAPALI - İLERİ AÇIK vb.

Motorun geriye doğru çalışmasını sağlamak için ULN2003'e beslenen model ters çevrilmelidir. Bu, çift yönlü bir kaydırma yazmacıyla yapılabilir, ama bende yok. 74HC595 çift yönlü değildir.

Ancak, 74HC241 sekizli arabelleğimi kullanabileceğimi öğrendim. Bu tampon, ayrı OE (çıkış etkinleştirme) pinlerine sahip iki adet 4 bitlik parçaya sahiptir. İlk OE pini ilk dört çıkış pinini, ikincisi ise son dört çıkış pinini kontrol eder. OE açıkken çıkış pinleri karşılık gelen giriş pinleriyle aynı değere sahipken, kapalıyken çıkış pinleri sanki bağlı değilmiş gibi yüksek empedans durumunda olacaktır. Ayrıca, OE pinlerinden biri aktif düşük ve diğeri aktif yüksek, bu yüzden onları birbirine bağlarken, o anda tamponun sadece yarısı aktif olacaktır.

Böylece, aynı giriş için, tamponun bir yarısı motoru ileri, diğer yarısı ise geri hareket ettirebilir. Hangi yarının aktif olduğu OE pinlerinin değerine bağlıdır.

74HC241 için veri sayfası https://www.ti.com/lit/ds/symlink/sn54hc241.pdf adresinde bulunur.

Kablolama şöyle olabilir:

Pim 1 (1OE) -> 74HC293 Pim 10 (2QB)

Pin 2 (1A1) -> 74HC595 Pin 15 Pin 3 (1Y4) -> ULN2003 Pin 1 Pin 4 (1A2) -> 74HC595 Pin 1 Pin 5 (1Y3) -> ULN2003 Pin 2 Pin 6 (1A3) -> 74HC595 Pin 2 Pin 7 (1Y2) -> ULN2003 Pin 3 Pin 8 (1A4) -> 74HC595 Pin 3 Pin 9 (1Y1) -> ULN2003 Pin 4 Pin 10 (GND) -> Toprak Pin 11 (2A1) -> Pin 2 (1A1) Pin 12 (1Y4) -> Pin 9 (2Y1) Pin 13 (2A2) -> Pin 4 (1A2) Pin 14 (1Y3) -> Pin 7 (2Y2) Pin 15 (2A3) -> Pin 6 (1A3) Pin 16 (1Y2) -> Pin 5 (2Y3) Pin 17 (2A3) -> Pin 8 (1A4) Pin 18 (1Y2) -> Pin 3 (2Y4) Pin 19 (2OE) -> Pin 1 (1OE) Pin 20 (VCC)) -> 5V

Şimdi, kablolama sadece 5V ile güç verilerek tamamlanmalıdır. Güç kaynağının hem motoru hem de devreleri sürmek için yeterli akımı sağlayabildiğinden emin olun.

7. Adım: Sonuçlar

Sonuçlar
Sonuçlar

Step motor, mikrodenetleyici olmadan kontrol edilebilir.

Burada kullanılan IC'ler, daha önce sahip olduğum bazılarıydı. Çoğu bunun için uygun değildir ve birkaç alternatif kullanılabilir.

  • Darbeleri oluşturmak için 555 zamanlayıcı çipi iyi bir şıktır, ancak birkaç alternatif mevcuttur, örneğin bu Talimatta açıklanan alternatif.
  • Hız kontrolü için sadece dijital değil, herhangi bir potansiyometre kullanılabilir. 100kΩ yerine 10kΩ potansiyometreniz varsa, 10kΩ dirençler 1KΩ ve 0,1 µF kapasitör 1µF kapasitör ile değiştirilebilir (zamanlamayı korumak için tüm dirençleri bölün ve kondansatörü aynı sayı ile çarpın).
  • Çift yönlü kaydırma yazmacı kullanma, örn. 74HC194, yön kontrolünü kolaylaştırır.
  • Düğme kontrolü için 74HC393, bir parmak arası terlik ile değiştirilebilir, örn. 74HC73. 555 ayrıca bir geçiş işlevi görecek şekilde kablolanabilir.

Önerilen: