İçindekiler:

Seri Kontrollü Değişken Hızlı Motor: 6 Adım
Seri Kontrollü Değişken Hızlı Motor: 6 Adım

Video: Seri Kontrollü Değişken Hızlı Motor: 6 Adım

Video: Seri Kontrollü Değişken Hızlı Motor: 6 Adım
Video: 16 - Servo Motorun Mutlak Pozisyonlanması - DDRVA Komutu Nasıl Kullanılır? 2024, Temmuz
Anonim
Seri Kontrollü Değişken Devirli Motor
Seri Kontrollü Değişken Devirli Motor

Bilgisayarınızdaki seri bağlantı noktası, tek bir MOSFET ve bazı önemsiz yazılımlar dışında hiçbir şey olmadan küçük bir DC motorun hızını kontrol edin. (MOSFET ve seri bağlantı noktası "hız kontrolünü" oluşturur; yine de bir motora ve o motor için uygun bir güç kaynağına ihtiyacınız olacak; seri bağlantı noktası bir mosfet'i açıp kapatmak için voltaj sağlayabilirken, bunu yapabilir. t Tipik bir motorun ihtiyaç duyduğu akımı sağlayın.)

Adım 1: Devreye Bakın

Devreye Bakın
Devreye Bakın

Bilgisayarın rs232 portundan İletim veri pinine bağlı genel bir N-kanallı güç MOSFET kullanarak Darbe Genişliği Modülasyonu yapacağız. Seri port boştayken pin, rs232'ye çevrildiği zaman -12V gibi bir şey olan "1" durumuna oturur (sürücülere bağlı olarak -9V veya -5V'a daha yakın olabilir) ve transistör oldukça KAPALI olacaktır. Seri portta "0" bitleri ilettiğimizde, rs232 pini +12V'a kadar gidecek, bu da çoğu mosfeti oldukça iyi açmak için yeterli.

Arka arkaya çok sayıda "0" bis iletirsek, motor tamamen AÇIK'a yakın olacak ve motor hızlı çalışacaktır. Çoğunlukla "1" bit iletirsek, motor daha yavaş çalışacaktır.

Adım 2: Bağlayın

Bağla
Bağla

Yalnızca tek bir bileşen ve yalnızca birkaç bağlantı olduğundan, yalnızca "serbest biçimli" kablolar ekleyebilirsiniz.

MOSFET'ler statik duyarlıdır, bu yüzden biraz dikkatli olun, ancak çok azı kritiktir.

3. Adım: Dosyaları PWM Değerleriyle Ayarlayın

PWM Değerleri Olan Dosyaları Ayarlayın
PWM Değerleri Olan Dosyaları Ayarlayın

HERHANGİ BİR yazılım yazmak zorunda kalmadan motoru kontrol etmenin bir yolu, uygun baytlar (az ya da çok 0 bit ile) içeren bazı dosyalar hazırlamak ve bunları motorun bağlı olduğu COM portuna KOPYALAMAKTIR. Birkaç dosya hazırladım (emacs kullanarak, ancak sizin için ne işe yararsa sorun değil):

  • 0.pwm:: 5000 NULL karakter içerir (çoğu klavyede kontrol alanı)[br] Bu, bu teknikle elde edebileceğimiz "tam hız"a en yakın değerdir.
  • 1.pwm:: 5000 kontrol-A karakteri içerir (ascii 01) (karakter başına bir "1" bit)
  • 3.pwm:: 5000 kontrol-C karakteri içerir (ascii 03) (karakter başına iki "1" bit)
  • 7.pwm:: 5000 kontrol-G karakteri içerir (ascii 07) (karakter başına üç "1" bit)
  • 15.pwm:: 5000 kontrol-O karakteri içerir (ascii 15) (karakter başına dört "1" bit)
  • 31.pwm:: 5000 kontrol-_ karakteri içerir (ascii 31) (karakter başına beş "1" bit)
  • 63.pwm:: 5000 "?" içeriyor karakterler (ascii 63) (karakter başına altı "1" bit)
  • 127.pwm:: 5000 DEL karakteri içerir (ascii 127) (karakter başına yedi "1" bit)

(Şimdi resimleri çizdiğime göre, gerçek bit kalıplarının ideal olmadığını fark edeceksiniz. rs232 serisi önce LSB'yi ilettiğinden, gerçekten birler yerine sıfırları kaydırmak istiyoruz. Öğrenci için bir alıştırma!)

Adım 4: DOS ile Oynayın: COM Bağlantı Noktanızı Yapılandırın ve Dosyaları Kopyalayın

DOS ile Oynayın: COM Bağlantı Noktanızı Yapılandırın ve Dosyaları Kopyalayın
DOS ile Oynayın: COM Bağlantı Noktanızı Yapılandırın ve Dosyaları Kopyalayın

9600 bps yaygın bir bit hızıdır. Milisaniye başına "yaklaşık" bir bayt ile güzel bir şekilde eşleşir, bu nedenle bu durumda 1000Hz'lik bir PWM frekansına karşılık gelir, bunun ufacık motorlar için uygun olması gerektiğini düşünüyorum. İşlerin nasıl çalıştığını görmek için farklı bit hızlarıyla deneyler yapabilirsiniz, bu yöntemin avantajlarından biridir. Bir DOS (veya "Komut İstemi") penceresi oluşturun (bir Windows işletim sistemi kullandığınızı varsayarak) ve com bağlantı noktanızı aşağıdaki gibi yapılandırın.:mode com1: 9600, n, 7, 1"Bu, iletişim bağlantı noktasına 9600bps'de çalışmasını ve her karakterde 7 bit göndermesini söyler (7 farklı bit uzunluğumuzla eşleşmesi için). "n", NO eşlik anlamına gelir, yani bunlar sadece veri bitleri olacak. "1" bir "dur" biti olacağı anlamına geliyor, bu da motoru tamamen açmamızı engelleyecek (oh iyi.) Artık motoru komutlarla açabilirsiniz. like:copy 0.pwm com1:Milisaniyede yaklaşık 1 hızda 5000 karakter gönderdiğimiz için motor yaklaşık 5 saniye boyunca tam hıza yakın bir hızda açılmalıdır.5 saniyeden az istiyorsanız daha kısa bir dosya yapın. Benzer şekilde, şunları yapabilirsiniz:kopyala 127.pwm com1:motoru mümkün olan en düşük hızda çalıştırmak için. Yaptığım kurulumla, motor 31.pwm'den "yavaş" hiçbir şeyle dönmezdi, ancak YMMV (ben ince k 5V pille çalışan bir 12V motorum vardı.)KOPYALA komutu dosyaları bir araya getirmenize izin verir, bu nedenle motorunuzun hızlanmasını ve ardından tekrar yavaşlamasını istiyorsanız, şunun gibi bir şey yapabilirsiniz:31.pwm+15 kopyala. pwm+7.pwm+0.pwm+7.pwm+15.pwm+31.pwm com1:

Adım 5: Motoru Bir Programdan Kontrol Edin

Motoru Bir Programdan Kontrol Edin
Motoru Bir Programdan Kontrol Edin

Bir program yazıyorsanız, muhtemelen COM1:'i bir dosya olarak açabilir ve ona başka bir dosyaymış gibi yazabilirsiniz. Belirli sayıda karakter çıktısı alarak motorun açık olduğu periyotları zamanlayabilmek çok kullanışlı gibi görünüyor. Sistemin seri bağlantı noktasına gönderdiğiniz karakterleri ara belleğe alma olasılığının çok yüksek olduğunu unutmayın, bu nedenle bir WRITE çağrısının geri dönmesi, motorun ona söylediğiniz her şeyi yapmayı bitirdiği anlamına gelmez. Com port sinyalleriyle "süslü" bir şey yapmadığımız için, destekleyebileceği gizli seçenekleri araştırmanız gerekmemelidir. (yine de, com bağlantı noktasına bir BREAK sekansının nasıl gönderileceğini çözebilirseniz, bu sürekli bir "0" durumudur ve motoru TÜM yol boyunca sürecektir; sürekli 0 karakter göndermekten daha fazlası.)

Programlama diliniz COM1:'e çıktı almanıza izin vermiyorsa, kopyalama komutlarını yapmak için DOS'u "çağırarak" motoru kontrol edebilirsiniz. (Tamam. Microsoft'un Visual Basic Express 2005'ini (ücretsiz) indirdim ve seri port üzerinden kontrol edilen yatay bir kaydırma çubuğunu motor hızına bağlamayı başardım. Zip takılı. Muhtemelen programı kopyalamak için gerekenden daha fazlası var. sisteminizde, ancak tam olarak hangi bitlerin gerekli olduğunu çözemedim. Program çok iş parçacıklı olduğu için hem basitleştirilmiş hem de anlaşılması daha zor (üzgünüm) yapılmıştır. Bir iş parçacığı seri bağlantı noktasına çıktı vermekten başka bir şey yapmaz ve ana iş parçacığı kaydırma çubuğunu okur ve seri iş parçacığı tarafından kullanılan bilgileri günceller.)

Adım 6: Deneyin

Deney!
Deney!

İşler temelde çalışıyorsa, bu deney için çok fazla alan sağlar.

  • Bit kalıplarımı düzeltin!
  • Bit hızı çok önemli mi?
  • "Açık" ve "kapalı" darbelerin genişliğini kontrol etmek zorunda mısınız, yoksa oranlarını kontrol etmek yeterli mi?
  • Yalnızca oranı kontrol etmeniz gerekiyorsa, daha fazla hız düzeyi elde etmek için çok karakterli dizileri daha yüksek bit hızlarında düşünebilirsiniz. 0 ve ardından 127 çıktısı yaklaşık yarı yarıya olacaktır.
  • Bu, el feneri ampullerini de karartmak için çalışmalıdır.

Önerilen: