Bir sensör ve motorla çalışırken, her ikisini de kullanabilir miyim veya motor siperi mi kullanmalıyım?


11

Güncelleme: Şu anda proje ile ilgili birkaç şeyi değiştiriyorum. Bazılarına tavsiye aldım. Bir step motordan RC servo (PWM üzerinden kontrol edilir) olarak değiştirdim ve herhangi bir sorunla karşılaşırsam ve bunları anlayamıyorsam soracağım. Yardım için teşekkürler!

Bir arkadaşımla bir proje üzerinde çalışıyorum ve ilk kez Arduino'yu kullanıyorum. Bir sensörden (ivmeölçer) veri almak ve ardından motoru (6V, DC) açmak için bir Arduino kullanıyoruz.

Biraz kazma yapıyorum ve Arduino'dan gelen güç, aynı zamanda motor ve sensör için yeterli olmayabilir. Belki bir tür gecikme işe yarayabilir (bu mümkün olabilir mi?).

Motor kalkanı kullanmayı düşünüyorum . Hala ivmeölçeri motorla birlikte kontrol edebilecek miyim?

Tek bir harici güç kaynağı kullanmaya çalışıyorum (maks: 6 AA pil; taşınabilir kalmaya çalıştığımız için pillerin miktarını sınırlamaya çalışıyorum), bu yüzden bir kaynağı kullanmanın bir yolu var. Arduino ve motor kalkanı iki farklı güç kaynağına ihtiyaç duyuyor (benim anlayışımdan).


Hala diğer pinlerinizi kullanabilmelisiniz. Bu motor kalkanı güçlü bir kardeş gibi davranacak ve pimin söylediklerini dinleyecek ve elbette çok fazla güçle o büyük ağabey! Kullanacağınız AA pil miktarıyla ilgili daha ayrıntılı bilgi almak için sorunuzu düzenleyebilir misiniz?
abdullah kahraman

Tamam pillerin sayısını güncelledim. Arduinos ile gerçekten iyi çalıştıklarını duyduğum için bir step motorun daha iyi bir yedek olacağını düşünüyor musunuz?
Om23

@ Om23 Step, servo, fırçalı DC veya fırçasız DC seçimi, motorun yerine getirmesi gereken amaç ve (örneğin BLDC motorlar için) motoru kontrol etmek için mevcut donanım ile belirlenir. Hangi motorun hangi amaç için aklınıza geleceğini belirlemek için ilginç bir yeni soru olabilir. Böyle bir sorunun Arduino sitesi için ideal olduğundan emin değilim, belki de başka biri bunu yapabilir.
Anindo Ghosh

Yanıtlar:


12

Sorun 1 : Bir motoru doğrudan Arduino'dan sürmek

Bir motoru doğrudan Arduino pimlerinden sürmek birden fazla nedenden dolayı tavsiye edilmez:

  • Yük akımı , özellikle motor çalıştırma ve durma koşullarında. Soruda doğru bir şekilde belirtildiği gibi, Arduino pinleri yeterli akım sağlamak için derecelendirilmeyebilir. Arduino, sürekli yüksek akım çekmesi nedeniyle ısınabilir ve hatta zarar görebilir.
    ATmega tabanlı Arduinos için her Arduino pin 40 mA olarak derecelendirilirken, kişisel olarak sürekli yüklemeyi 30 mA'nın altında tutmayı tercih ediyorum, risk iştahınız farklı olabilir. Söz konusu motorun veri sayfasını görmeden, motorun ne kadar akım gerektirdiğini tahmin etmek imkansızdır
  • Motorun geri EMF'si , hem motor kapatma sırasında hem de muhtemelen motor değiştirme sırasında - Bir DC motor dönerken, kontak fırçaları, en azından geleneksel fırçalanmış DC motor tiplerinde, en az küçük üreten, halkalar arasında "iletişim kurar" her seferinde kıvılcım.
    Geri EMF temel olarak motor bobinleri (veya kapatma sırasında herhangi bir endüktif yük), mikrodenetleyici pimlerinin tolere edebileceği kabul edilebilir voltaj aralığını geçici olarak aşabilen geçici gerilimler (ani yükselmeler) tarafından üretilen ters voltajdır.
    Geri EMF, motorun uçları boyunca hızlı bir diyot ters yönde bağlanmış olsa bile, hafifletilmesine rağmen, bir risk olmaya devam etmektedir, şiddetle tavsiye edilen bir uygulamadır.
  • Bu nedenle, Arduino ve motor sürücüsü arasında bir çeşit izolasyon şiddetle tavsiye edilir. Uygulamanın basitliği için, bu bir motor kalkanı olacaktır.
    Temel elektronik cihazlardan memnunsanız, buna doğrudan uygun bir motor sürücü IC'si ve geri dönüş diyotları bağlayarak da ulaşılabilir. ( Düzenleme : Bu, Manishearth'ın cevabında mükemmel bir şekilde açıklanmaktadır. )
    Bir kalkan veya IC olsun, motor sürücüsü Arduino'dan bağımsız olarak, ancak iki güç kaynağı toprak hattı birbirine bağlı olarak çalıştırılmalıdır. Aşağıya bakınız.

Sorun 2 : İvmeölçer ve motor ekranını aynı anda kontrol

  • Evet, ivmeölçer, ivmeölçere erişmek için seçilen pimlerin gerçekte motor koruması tarafından kullanılmadığından emin olarak Arduino'dan motor kalkanı yerinde iken kontrol edilebilir ve okunabilir. Hepsi blendaja bağlanır, ancak blendajın içinde dahili bir işlev veya bağlantı olmaz. Seçilen kalkanın belgeleri genellikle bu bilgileri sağlayacaktır.
    Kolaylık sağlamak için, istiflenebilir başlıklara sahip bir motor kalkanına bakın , örneğin, akselerometre gibi ek donanım takmak için motor kalkanına çoğaltılan Arduino başlık pimleri. Tüm kalkanlar istiflenebilir üstbilgiler sağlamaz. Bu nedenle, kalkan tarafından kullanılmayan pimlerin kullanılmasını, PCB üzerindeki ilgili başlık pedlerine lehimlenmesi gereken telleri veya bu tür bir düzenlemeyi zorlaştırır.
    Seçtiğiniz motor kalkanının tüm GPIO pinlerini kullanması durumunda, birden fazla motoru sürmek için kalkanlarda olduğu gibi, bir sorununuz olabilir. Yalnızca 1 motor sürüleceğinden, yeterli kullanılmayan GPIO pini bırakmayan çok motorlu kalkanlardan kaçının.

Sorun 3 : Arduino ve motor kalkanı arasındaki güç dağılımı

  • Önerilen 6 x AA düzenlemesiyle ilgili sorun (maksimum 9 Volt nominal), birçok Arduino'da mevcut DC giriş jakı için yeterli voltaj sağlarken (genellikle 7 ila 12 Volt giriş için derecelendirilir), motorun doğrudan dışına sürülebilir.
  • Bununla birlikte, doğrudan güç girişini (örn. 7 ila 25 Volt) kabul eden ve daha sonra bağlı oldukları Arduino'ya güzel düzenlenmiş 5 Volt sağlayan birkaç motor kalkanı vardır. Bu yüzden Arduino'nun ayrı olarak çalıştırılmasına gerek yoktur ve her ikisi de olmamalıdır. Bu kesinlikle satın alınması gereken tek motor kalkanı türüdür .
  • Kludgier alternatifleri arasında motora güç vermek için 6 AA hücresinden 4'üne ve Arduino'nun DC jakına (PWRIN) güç sağlamak için 6 hücrenin tümüne dokunmak veya 9 Volt'u beslerken motor gücü için ayrı bir 6 Voltluk kova regülatörü kullanmak da dahildir. doğrudan Arduino DC jakına.
  • Arduino'yu pil takımı ile çalıştırmayı denemek ve daha sonra motoru Arduino'nun Vin pininden çalıştırmak kötü bir fikir çünkü
    • Birkaç Arduino referans tasarımında DC jakı ve Vin pin arasındaki M7 diyot 1 Amper için derecelendirilmiştir, motor en azından anlık olarak daha fazla çizebilir
    • Motor tarafından üretilen tüm elektromanyetik gürültü, komütasyon gürültüsü artı geri dönüş geçişleri, çok sert bir ayırma yapılmadığı sürece Arduino kartına geri beslenecektir, basit bir mesele değil. Bu EMI geri bildirimi, Arduino'nun çalışmasıyla ilgili kesintili, hata ayıklaması zor sorunlara neden olacaktır.

10

Çoğu kalkan birkaç iğne alır ve gerisini sizin için bırakır (bu yüzden çoğunda istiflenebilir başlıklar kullanarak Arduino pin sisteminin bir kopyası vardır). Mümkün olduğu kadar sorunsuz çalışacak şekilde tasarlanmıştır, bu nedenle bir kalkan elde etmek en kolay yoludur.

Şahsen motorları doğrudan tahtadan çalıştırmıyorum; bunun yerine L293D gibi motor sürücüleri kullanıyorum. Pimler akımı çıkarmak için gerçekten iyi değildir ve genellikle Arduino pimleri yerine sensörlere doğrudan güç vermek daha iyidir. Unutmayın, pimlerin bir akım limiti vardır ve eğer aşırı yüklerseniz yanarlar.

L293D kullanmak kolaydır:

resim açıklamasını buraya girin

1,9,16 pinlerini Vcc kaynağınıza bağlayın (Arduino'ya güç verdiğiniz 5V kaynağının pozitif terminali. Benim için genellikle LM7805'ten çekilen bir hat). Şimdi GND'nize (negatif terminal) 4,5,13,12 pinlerini bağlayın. Şimdi, pin 8'i daha yüksek voltajlı bir kaynağa bağlayın (6V, 12V veya motorlarınıza beslemek istediğiniz her şey). Tüm voltaj kaynaklarının negatif terminallerinin GND'ye kısa devre yapılması gerektiğini unutmayın.

Şimdi, motorunuzu bir sahadaki iki çıkış pimine bağlayın (solda 3,4). Giriş pimlerini (2,7) Arduino'daki iki farklı pime bağlayın. Her iki pime de aynı sinyali (YÜKSEK veya DÜŞÜK) verdiğinizde motor durur. Bir pimden YÜKSEK ve diğerinden DÜŞÜK verirseniz, hangi pime hangi sinyale sahip olduğuna bağlı olarak motor saat yönünde veya saat yönünün tersine gider.

Tek yönlü bir motor istiyorsanız ve pinleri kaydetmek istiyorsanız, giriş pinlerinden birini GND'ye kısa devre yapın. Şimdi, diğer giriş pimi DÜŞÜK olduğunda, motor kapanacak ve YÜKSEK olduğunda motor açık olacaktır.

İsterseniz çipin karşı ucundaki aynı prosedürü kullanarak başka bir motor takabilirsiniz.

L293D, Arduino'dan az miktarda akım çeker ve motoru pim 8'den çekilen akımdan besler ve genellikle bu gibi durumlar için idealdir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.