DC motorları MOSFET ve mikrodenetleyici ile mi sürüyorsunuz?


13

3.3V ile çalışan Atmega328 mikrodenetleyici ve çok küçük fırçalı DC motorlar kullanarak bir nano quadcopter geliştiriyorum. Bu motorlar tarafından kullanılan ortalama akım yaklaşık 800mA @ 3.7V'dir.

Başlangıçta, onları sürmek için bir L293D motor sürücüsü kullandım, ancak bu bileşen oldukça verimsizdi. Motorlar maksimum güçte çalıştığında ölçülen akım yaklaşık 500mA idi ve bu nedenle itme, olması gerektiğinden çok daha düşüktü.

Şimdi, bu sorunu çözmek için, o motor sürücüsünü 4 mantık seviyesi MOSFET ile değiştirirdim. Uzun bir araştırmadan sonra, ben bulmak bu birini (2SK4033).

İşe yarayıp yaramayacağını biliyor musunuz? Bir diyotla birlikte kullanmam gerekiyor mu? Cevabın ne hakkında "evet" ise ise bu one (MBR360RLG)?

Bu bileşenleri de seçtim çünkü aynı çevrimiçi mağazadan satın alabiliyorum.


2
Andy, sorunuzun MOSFET bölümünü yanıtladı, ancak kimse daha temel bir sorudan bahsetmedi: bu L293D'yi 4 N MOSFET ile nasıl değiştirmeyi planlıyorsunuz? N MOSFET'in üst tarafa yerleştirilmesi verimlilik sorunlarına neden olabilir. Bir şematik çizim, fikrinizi netleştirmeye yardımcı olabilir.
Laszlo Valko

"Yüksek taraf" ile ne demek istiyorsun? Şu anda sahip olduğum tek şema L293D'ye sahip olan şemadır. Eğer yardımcı olabilirse, gönderebilirim. Benim fikrim, her motorun bir mosfet (genel olarak 4) tarafından çalıştırılması ve gerekirse bir diyot da olması. Daha verimli bir çözüm ne olabilir?
supergiox

Her L293D çıkışı, bir "yüksek taraf" transistörü (Vcc ve çıkış arasında) ve bir "düşük taraf" transistörü (GND ve çıkış arasında) içerir. "Yüksek taraf" transistörü bir N MOSFET ile değiştirirseniz, çıkış voltajının üzerinde Vgs (en az 2..3..4V) sağlayabilecek bir güç kaynağına ihtiyacınız olacaktır. Veya maks. çıkış gerilimi Vcc - Vgs olacak
Laszlo Valko

Vg'ler 3.3V ve çıkış (Vds) 3.7V olmalıdır (pilin aynı voltajı, benzersizdir). Peki, bu sorun varsa, nasıl yapabilirim? Başka bir çözüm önerebilir misiniz?
supergiox

2
Aşağıdaki seçenekleriniz vardır: a) yüksek taraf için P MOSFET kullanın; b) yüksek taraf MOSFET kapılarını sürmek için 2 * Vcc sağlamak için ayrı bir voltaj katlayıcı veya DC-DC dönüştürücü devresi kullanın; c) yüksek taraf MOSFET kapılarını sürmek için uygun Vout + Vcc voltajını sağlamak için bir önyükleme devresi kullanın. Bunların her birinin dezavantajları ve / veya sınırlamaları vardır.
Laszlo Valko

Yanıtlar:


17

MOSFET'ler bu uygulama için çok iyi çalışmalıdır. Düşünülmesi gereken şeyler var:

1:

Bir yükü sürmek için bir FET kullanırken, yüksek taraf veya düşük taraf konfigürasyonu seçebilirsiniz. Yüksek taraf FET'i güç rayı ile yük arasına yerleştirir ve yükün diğer tarafı toprağa bağlanır. Düşük taraf konfigürasyonunda, yükün bir ucu güç rayına bağlanır ve FET, yük ve toprak arasında konumlandırılır:

HighVsLow

Motorunuzu (veya başka bir yükü) sürmenin en basit yolu, düşük taraf konfigürasyonunda bir N-Kanal MOSFET kullanmaktır. Bir N-FET, geçit voltajı kaynağından daha yüksek olduğunda çalışmaya başlar. Kaynak toprağa bağlı olduğundan, kapı normal açma-kapama mantığı ile sürülebilir. FET iletilmeden önce geçit voltajının aşması gereken ("Vth") bir eşik vardır. Bazı FET'lerde onlarca voltta Vth vardır. Vcc'nizden önemli ölçüde daha düşük bir eşik değerine sahip bir "mantık düzeyinde" N-FET istiyorsunuz.

Düşük taraf FET yapılandırmasının iki dezavantajı vardır:

  • Motor sargısı doğrudan güç rayına bağlanır. FET kapalıyken, tüm sargı "sıcaktır". Güç bağlantısını değil, zemini değiştiriyorsunuz.

  • Motorun gerçek bir toprak referansı olmayacak. En düşük potansiyeli, FET'in ileri voltajı ile topraktan daha yüksek olacaktır.

Bunların hiçbiri tasarımınızda önemli olmamalıdır. Ancak, beklemiyorsanız sorunlu olabilirler! Özellikle yüksek güç devrelerinde :)

Bu sorunların üstesinden gelmek için, yüksek taraf konfigürasyonunda bir P-FET kullanabilirsiniz. Bununla birlikte, sürüş devresi biraz daha karmaşık hale gelir. Bir P-FET anahtarının kapısı genellikle güç rayına çekilir. Bu güç rayı uC'nin Vcc'sinden daha yüksektir, bu nedenle uC'nin G / Ç pimlerini doğrudan kapıya bağlayamazsınız. Yaygın bir çözüm, yüksek taraf P-FET'in kapısını aşağı çekmek için daha küçük bir düşük taraf N-FET kullanmaktır:

DualFet

Q1 sürülene kadar FET'leri kapalı tutmak için R1 ve R3 mevcuttur. Düşük taraf konfigürasyonunda bile R3'e ihtiyacınız olacak.

Sizin durumunuzda, basit bir düşük taraf N-FET'in (R3 ile) size daha iyi hizmet edeceğini düşünüyorum.


2:

Son diyagramda R2'ye dikkat edin. Bir MOSFET geçidi, drenaj kaynağı akımı akmaya başlamadan önce şarj edilmesi gereken bir kondansatör görevi görür. İlk güç sağladığınızda önemli ani akım olabilir, bu nedenle uC'nin çıkış sürücüsüne zarar vermemek için bu akımı sınırlamanız gerekir. Kapak sadece bir an için kısa görünecek, bu nedenle büyük bir hata payına gerek yok. Örneğin, özel Atmel'iniz 40mA kaynak yapabilir. 3.3V / 35mA => 94.3 Ohm. 100 Ohm'luk bir direnç harika çalışır.

Bununla birlikte, bu direnç FET'in açma ve kapama zamanlarını yavaşlatacak ve bu da anahtarlama frekansınıza bir üst sınır getirecektir. Ayrıca, FET'in gücü harcayan doğrusal çalışma bölgesinde olduğu süreyi uzatır. Yüksek frekansta geçiş yapıyorsanız, bu bir sorun olabilir. Bir gösterge, FET'in çok ısınmasıdır!

Bu sorunun çözümü FET Sürücüsü kullanmaktır. Daha fazla akım sağlayabilen ve böylece sınırlayıcı bir dirence ihtiyaç duymadan kapıyı daha hızlı şarj edebilen etkili tamponlardır. Ayrıca, çoğu FET Sürücüsü tipik Vcc'den daha yüksek bir güç rayı kullanabilir. Bu yüksek geçit voltajı, FET'in direncini azaltır ve ek güç tasarrufu sağlar. Sizin durumunuzda, FET Sürücüsüne 3.7V ile güç verebilir ve uC'nin 3.3V ile kontrol edebilirsiniz.

FetDriver


3:

Son olarak, motorun neden olduğu voltaj yükselmelerine karşı korumak için bir Schottky diyot kullanmak isteyeceksiniz. Endüktif yükü her değiştirdiğinizde bunu yapın:

LowSideWithDiode

Motor sargısı büyük bir indüktördür, bu nedenle akım akışındaki herhangi bir değişikliğe direnecektir. Akımın sarımdan aktığını düşünün ve sonra FET'i kapatın. Endüktans, elektrik alanları çöktükçe akımın motordan akmaya devam etmesine neden olacaktır. Ama o akımın gidebileceği yer yok! Bu yüzden FET'i delip geçiyor ya da aynı derecede yıkıcı bir şey yapıyor.

Yüke paralel yerleştirilen Schottky, akımın seyahat etmesi için güvenli bir yol sağlar. Gerilim artışı, diyotun ileri voltajında ​​maksimum değerdedir;

Önceki resim, flyback diyot ile düşük taraf konfigürasyonu, kolay, ucuz ve oldukça etkilidir.


MOSFET çözümünü kullanırken gördüğüm diğer tek sorun, özünde tek yönlü olmasıdır. Orijinal L293D'niz, çoklu yarım köprü sürücüsüdür. Bu, bir motoru her iki yönde de sürmeyi mümkün kılar. 1Y ile 2Y arasında bir motor bağlayan görüntüleme. L293D 1Y = Vdd ve 2Y = GND yapabilir ve motor bir yönde döner. Veya 1Y = GND ve 2Y = Vdd yapabilir ve motor diğer yöne dönecektir. Oldukça kullanışlı.

İyi şanslar ve iyi eğlenceler!


Güzel! Mikro uç ve kapı arasında bir dirence ihtiyacım var mı? 220 Ohm iyi bir değer mi? (3.3V / 0.02A = 170 Ohm ~ 220 Ohm)
supergiox

1
İyi soru. İdeal dünyada, kapı hiç akım akmaz. Bu FET'lerin BJT'lere göre avantajlarından biridir. Ancak, gerçek dünyada kapı, drenaj kaynağı akımı akmaya başlamadan önce şarj edilmesi gereken küçük bir kondansatör görevi görür. Hızlı şarj olmasını, FET'i hızlı bir şekilde açmasını istiyorsunuz. UC pinini ilk açtığınızda, geçit kapasitansı kısa devre olarak görünür. ATmega328 pin başına 40mA kaynak yapabilir. Kapak sadece bir an için kısa görünecek, bu yüzden çok fazla hata payı ile uğraşmazdım. Diyelim ki, 3.3V, 35mA: ~ 100-Ohm. Bunu bugün, daha sonra birleştireceğim!
Mart'ta bitsmack

1
Oh, ve motoru yüksek frekanslarda değiştiriyorsanız, bu direnç bir sorun haline gelir. Anahtarlama frekansınızı yavaşlatan kapının şarj ve deşarjını yavaşlatır. Ayrıca, FET'in gücü harcayan doğrusal çalışma bölgesinde olduğu süreyi uzatır. Bunun bir sorun olduğunu fark ederseniz, "FET Driver" veya başka bir tampon kullanın; Sonra direnci en aza indirebilirsiniz (veya ortadan kaldırabilirsiniz).
Mart'ta bitsmack

Anahtar frekansının pwm frekansı olduğunu düşünüyorum, bu yüzden yaklaşık 500Hz olmalıdır.
supergiox

1
Güzel :) Kıskanıyorum; Uzun süredir dörtlü bir helikopter inşa etmek istiyordum! Bize bildirin ...
bitsmack

12

İşte herhangi bir MOSFET için bakacağım şey. Bu, 2SK4033'in veri sayfasından: -

resim açıklamasını buraya girin

800mA'nın ortalama akım olduğunu söylüyorsunuz, ancak bu yük altında 1A'nın üzerine çıkabilir mi? Her neyse, 1A'da ve 3.3V bir kapı tahrik voltajı ile MOSFET, 1A yüküne güç verirken terminalleri boyunca yaklaşık 0.15V düşer. Bu güç kaybıyla (150mW) ve daha da önemlisi, akü voltajı 3V'un altına düştüğünde yaşayabilir misiniz?

Bu soruya yalnızca siz cevap verebilirsiniz. Bundan daha iyi MOSFET'ler vardır, ancak görmeyi beklediğiniz motor için gerçek yük akımlarını hesaplamanız gerekir.

DÜZENLEMELER

Karşılaştığım MOSFET'lerin yerine oldukça kullanışlı olabilecek bir çip. Bu var DRV8850 TI. İki yarım köprü içerir ve bu, geri dönüş diyotlarına ihtiyaç duymadan 4 motordan ikisini bağımsız olarak sürdürebileceği anlamına gelir (aslında, üst FET senkron bir doğrultucu olarak çalışır ve bu elbette kayıpları azaltır). Her FET için açık direnç 0.045 ohm'dur ve 5A olarak derecelendirilmiştir (harcanan güç yaklaşık 1.1 watt'tır), ancak OP'nin 1A hakkında istediği göz önüne alındığında, bu çok önemsiz hale gelir. Güç voltajı aralığı 2V ila 5.5V arasındadır, bu yüzden yine çok uygundur: -

resim açıklamasını buraya girin


Çok teşekkürler. Evet, motorlar akımı 1A'nın biraz üzerinde artırabilir, ancak sadece kısa bir süre için. Bildiğim pratik bir kural, ortalamanın (1.6A) iki katı olan bir akımı düşünmektir. 150mW güç kaybının büyük bir sorun olmadığını düşünüyorum.
supergiox

Kapı sürücüsü zayıfladığında ve kayıp daha büyük hale geldiğinde düşük pil voltajlarında ne olur? Tabii ki şeytanlar savunucusu oynuyorum!
Andy aka

Pil voltajı 3V'un altına düştüğünde, ne demek istediğini anlayıp anlamadığımı bilmiyorum. Her neyse, ATmega'ya 3.3V güç sağlamak için bir voltaj regülatörü (LE33CZ) kullanıyorum. Voltajın "daima" 3.3V olduğu anlamına gelmez mi? Bir soru daha. Diyot ne olacak?
supergiox

1
Akü voltajı 3,4 volt'a düştüğünde, regülatör çıkışı da düşmeye başlayacaktır ve bu, kapıya giden sürücü voltlarının düşmeye başladığı ve filoların daha verimsiz hale geldiği anlamına gelir. Diyotlardan önce bu senaryo ile ilgilenin. Diyotlar kıyaslandığında önemsizdir.
Andy aka

1
Her motoru kontrol etmek için bir Fet veya iki tane gerekiyor mu? Laszlo, başlangıçta bir L293 kullandığınız için 2'ye ihtiyacınız olduğunu varsayar.
Andy aka

6

Fırçalı bir DC motor kullanıldığından, mutlaka sürücü olarak bir H-Bridge'e ihtiyacınız yoktur. Sadece iki vaka gerçekten bir H-Köprüsü gerektirir; motoru harici olarak değiştirmeli (örneğin fırçasız PM motorları düşünmelisiniz) veya geri dönmelidir. Bunların hiçbiri burada geçerli görünmüyor. Tek bir yön veya Tek Çeyrek Sürücü (SQD) kullanmak, yapmaya çalıştığınız şeyi büyük ölçüde basitleştirir.

Kullanmayı düşündüğünüz FET (2SK4033) mevcut sürücü voltajı için harika bir eşleşme değil (Andy zaten nedenini belirtti) ve daha sonra FET'leri seçme hakkında daha fazla ayrıntıya gireceğiz.

Fırçalı DC motorları Tek Çeyrek Tahrikli (SQD) sürmek

Vth

resim açıklamasını buraya girin

VωRwindRgRpdVbVdrv

ImIdpkIdrmsIcr-ave

  • IdpkIm
  • Id-rms2Im2
  • Icr-aveIm

Bir FET seçmek için temel kriterler (bir FET seçmenin ABC'si):

  • VDS1.5VB-max

VDS

  • Vth-maxVDrv-min3

    Vth-maxRds

  • ΔTJA

    Isı artışı gerçekten önemlidir. Tüm kayıpları açıklar ... iletim kaybı, kapı kaybı ve anahtarlama kaybı.

3 kritere göre örnek parça seçimi:

VB-maxVDrv-minVDSVth-maxRDS

  • VDSVth-max

Rth

PTPcondPsw

nerede

PcondRdsIm2

Psw12ImVbFPWM(τf+τr)

VgsVdsVgsVmpVds

resim açıklamasını buraya girin

QmpVmpVdrvRgVmpVdrv

QmpτVdrv2Rgτ2RgQmpVdrv2(100Ohms)(4nC)3.3V

ImRdsRds

PT0.9(33mOhm)(1.2A)2(3.3V)(1.2A)(242nSec)(20kHz)

Im

Yarım kalmış işler

  • Tahrik devresini ve anahtarları motora yakın yerleştirin.

  • Mikroun FET'i doğrudan sürmesi mümkün olsa da, mikroun korunması için bir sürücü iyi bir fikirdir ( NC7WZ16 gibi bir şey burada çalışabilir).

  • Ciss

  • Im

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.