
Arduino tabanlı matkap motor kontrol devresi, 12V DC motorun hızını PWM ile ayarlayan ve motorun geri EMK bilgisinden yararlanarak devir sayısını sensörsüz şekilde tahmin eden gelişmiş bir kontrol uygulamasıdır. Devre, küçük masaüstü matkaplar, PCB delme makineleri ve düşük gerilimli DC motor hız kontrol uygulamaları için hazırlanmıştır.
Devrenin Temel Amacı
İçerik
- 1 Devrenin Temel Amacı
- 2 Temel Özellikler
- 3 Potansiyometreli Temel Devre Şeması
- 4 Display ve Encoderli Gelişmiş Devre Şeması
- 5 Devrenin Ana Blokları
- 6 Geri EMK ile Sensörsüz Hız Ölçümü
- 7 PI Kontrol Mantığı
- 8 Encoder ve Display Kullanımı
- 9 Firmware Seçimi
- 10 Parça Listesi
- 11 Bağlantı Notları
- 12 İlk Çalıştırma
- 13 Yumuşak Kalkış
- 14 Sıkışma Koruması
- 15 Besleme Seçimi
- 16 Ölçüm Doğruluğu ve Sınırlar
- 17 Sık Görülen Sorunlar
- 18 Güvenlik ve Montaj Önerileri
- 19 Kullanım Alanları
- 20 Arduino Matkap Makinesi Kontrol Ünitesi Test Videosu
Küçük DC motorlar basit PWM devreleriyle kolayca sürülebilir; ancak yük değiştiğinde devir sayısı da değişir.
Matkap ucu karta bastırıldığında motor yavaşlar, boştayken hızlanır. Bu durum özellikle PCB delme gibi hassas işlerde istenmeyen sonuçlar doğurabilir.
Bu projede Arduino, motoru yalnızca açık-kapalı oranıyla sürmekle kalmaz; motorun geri EMK gerilimini ölçerek devir hakkında bilgi alır.
Yazılım bu bilgiyi değerlendirir ve PI kontrol mantığıyla PWM değerini ayarlayarak motor devrini daha kararlı tutmaya çalışır.
Temel Özellikler
- 12V DC motor sürme
- IRLZ44NPBF MOSFET ile PWM kontrol
- Harici optik veya manyetik sensör olmadan geri EMK ile hız ölçümü
- PI regülatör ile devir sabitleme
- Yumuşak kalkış
- Motor sıkışmasına karşı yazılımsal koruma
- Potansiyometreli basit sürüm
- Encoder ve 595 display kullanılan gelişmiş sürüm
Potansiyometreli Temel Devre Şeması

İlk şemada hız ayarı potansiyometreyle yapılır. Arduino Nano, D3 çıkışından PWM sinyali üretir. Bu PWM sinyali 100Ω seri direnç üzerinden IRLZ44NPBF MOSFET’in gate ucuna uygulanır. MOSFET, motorun eksi hattını anahtarlayan düşük taraf anahtarı olarak çalışır.
Motorun bir ucu doğrudan +12V hattına bağlıdır. Diğer ucu MOSFET drain ucuna gider.
MOSFET iletime geçtiğinde motor akımı +12V hattından motora, oradan MOSFET üzerinden GND’ye akar. PWM oranı arttıkça motorun ortalama besleme gerilimi artar ve devir yükselir.
Display ve Encoderli Gelişmiş Devre Şeması

İkinci şema, aynı motor sürücü katının üzerine kullanıcı arayüzü eklenmiş sürümdür. Bu sürümde potansiyometre yerine rotary encoder ve buton kullanılır. Ayrıca 595 display modülüyle hedef devir, ayar veya çalışma durumu gösterilebilir.
Bu yapı, motor hızını daha kontrollü ayarlamak isteyen uygulamalar için daha kullanışlıdır.
Encoder çevrilerek hedef RPM değiştirilebilir, butona basılarak motor başlatılıp durdurulabilir.
Yazılım içinde Kp ve Ki gibi PI kontrol parametreleri de ayarlanabilir.
Devrenin Ana Blokları

12V Besleme Girişi
Devre 12V DC besleme ile çalışır. Aynı hat hem motoru hem de Arduino Nano’nun Vin girişini besler.
Girişteki 100uF kondansatör, motorun ani akım çekişlerinde besleme hattındaki gerilim dalgalanmalarını azaltmaya yardımcı olur.
Motor akımı Arduino üzerinden geçirilmez. Arduino yalnızca kontrol sinyali üretir. Motorun gerçek akımı MOSFET ve güç hattı üzerinden akar.
Bu nedenle motor akımına uygun kablo, klemens ve güç kaynağı seçilmelidir.
Arduino Nano’nun Vin girişine 12V uygulanabilir; ancak uzun süreli kullanımda kart üzerindeki regülatör ısınabilir.
Display ve encoder gibi ek modüller fazla akım çekiyorsa 12V’tan 5V üreten ayrı bir buck dönüştürücü kullanmak daha sağlıklı olabilir.
IRLZ44NPBF MOSFET Sürücü Katı
IRLZ44NPBF, logic-level N-kanal MOSFET’tir.
Gate ucuna Arduino’dan gelen 5V seviyeli PWM sinyali uygulandığında motor akımını anahtarlayabilir. Bu nedenle küçük ve orta güçlü 12V DC motorlarda pratik bir seçimdir.
Gate hattındaki 100Ω direnç, Arduino pinini ani gate şarj akımından korur ve anahtarlama kenarlarını bir miktar yumuşatır.
Gate ile GND arasındaki 10K direnç ise Arduino reset durumundayken MOSFET’in rastgele iletime geçmesini önler.
MOSFET yüksek akımlı motorda ısınabilir. Isınma yalnızca MOSFET’in modeline değil; PWM frekansına, motor akımına, kablo uzunluğuna ve soğutmaya da bağlıdır. Uzun süreli testte MOSFET gövde sıcaklığı mutlaka kontrol edilmelidir.
Motor Koruma Diyodu
Motor endüktif bir yük olduğu için MOSFET kapandığında ters gerilim darbeleri oluşabilir. Şemadaki 1N4007 diyot, motor üzerinde oluşan bu darbeleri sınırlamak için kullanılır.
Küçük motorlarda 1N4007 yeterli olabilir; fakat daha yüksek akımlı veya yüksek PWM frekanslı uygulamalarda hızlı diyot ya da uygun akım kapasiteli Schottky diyot daha iyi sonuç verebilir. Diyotun yönü yanlış bağlanırsa besleme hattı kısa devreye yakın davranabilir.
Geri EMK Ölçüm Bölümü
DC motor dönerken aynı zamanda jeneratör gibi davranır. Motor uçlarında oluşan geri EMK gerilimi, motorun dönme hızıyla ilişkilidir. Arduino bu gerilimi belirli anlarda ölçerek motor devri hakkında fikir edinir.
Şemadaki direnç bölücüler, 12V seviyesindeki gerilimleri Arduino analog girişlerinin güvenli okuyabileceği seviyeye düşürür. 10K dirençlerin oluşturduğu bölücü sayesinde analog girişe doğrudan 12V gitmez. 0.1uF kondansatörler ise ölçüm hattındaki ani PWM dalgalanmalarını yumuşatır.
A0 ve A1 girişleri bu ölçüm işinde kullanılır. Biri besleme hattını, diğeri motor tarafındaki gerilimi izler. Yazılım bu iki bilgiyi kullanarak motorun gerçek çalışma durumunu hesaplamaya çalışır.
A2 Potansiyometre Girişi
Temel sürümde A2 girişi hız ayar potansiyometresine bağlanır. Potansiyometre, kullanıcı tarafından belirlenen hedef seviyeyi Arduino’ya analog gerilim olarak verir.
Bu sürümde hız ayarı gerçek RPM değeriyle doğrudan ilişkilendirilmez; yazılımda belirtilen minimum ve maksimum geri EMK gerilimleri arasında ayar yapılır.
Bu yapı basit ve ucuzdur. Display veya encoder gerektirmez. Ancak hedef devir sayısını doğrudan görmek veya hassas RPM ayarı yapmak isteyen kullanıcılar için ikinci sürüm daha uygundur.
Geri EMK ile Sensörsüz Hız Ölçümü
Sensörsüz ölçümün temel fikri şudur: Motor PWM ile sürülürken kısa aralıklarda motor uçlarındaki gerilim incelenir.
Motorun mekanik hızı arttıkça geri EMK de artar. Arduino bu bilgiyi ölçerek motorun yaklaşık hızını tahmin eder.
Bu yöntem harici hall sensörü, optik disk veya encoder gerektirmez. Bu en büyük avantajıdır.
Ancak ölçüm, motorun yapısına ve PWM zamanlamasına bağlıdır. Fırçalı DC motorlarda parazit fazladır.
Bu yüzden analog girişte filtreleme, sağlam topraklama ve iyi yazılım zamanlaması önemlidir.
PI Kontrol Mantığı

Yazılımda PI regülatör kullanılır. P terimi, hedef devir ile ölçülen devir arasındaki anlık hataya tepki verir.
I terimi ise hatanın zaman içindeki birikimini değerlendirerek motorun yük altında kalıcı şekilde yavaşlamasını azaltmaya çalışır.
Kp değeri çok yüksek ayarlanırsa motor hızı dalgalanabilir. Ki fazla yüksek olursa sistem geç tepki verebilir veya hedef çevresinde salınım oluşabilir.
Çok düşük değerlerde ise motor yük değişimine yeterince hızlı cevap vermez.
Display ve encoderli sürümde bu değerlerin menüden ayarlanabilmesi büyük avantajdır. Böylece motor, güç kaynağı ve mekanik yük değiştiğinde yazılım yeniden derlenmeden ayar yapılabilir.
Encoder ve Display Kullanımı
Gelişmiş şemada D8, D7 ve D6 pinleri 595 display modülüne gider. Bu modül, Arduino’dan gelen seri bilgiyle göstergeyi sürer. D5 ve D4 encoder yön sinyallerini, D2 ise encoder butonunu okuyacak şekilde bağlanmıştır.
Çalışma sırasında encoder çevrilerek hedef RPM değiştirilebilir. Encoder butonuna kısa basıldığında motor durdurulabilir veya yeniden başlatılabilir. Butona uzun basıldığında ayar menüsüne girilerek Kp ve Ki değerleri düzenlenebilir.
Kaynak projedeki kullanım notuna göre başlangıçta buton basılı tutulursa RPM ayar menüsüne girilir. Gerçek devir harici bir takometreyle ölçülür, encoder ile değer ayarlanır ve buton basılı tutularak menüden çıkılır.
Firmware Seçimi
Bu proje için iki farklı yazılım vardır.
| Firmware | Kullanılan Devre | Açıklama |
|---|---|---|
| drill | Potansiyometreli basit şema | Hız, A2 potansiyometresiyle ayarlanır. Gerçek RPM gösterimi yoktur. |
| drill-disp | Encoder ve displayli şema | Hedef RPM, display ve encoder üzerinden ayarlanır. Kp/Ki menüsü kullanılabilir. |
Potansiyometreli sürüm, hızlı kurulum için daha uygundur. Displayli sürüm ise matkap standı gibi kalıcı uygulamalarda daha kullanışlıdır.
Parça Listesi
| Parça | Değer / Model | Görevi |
|---|---|---|
| Arduino Nano | ATmega328 tabanlı | PWM üretimi, analog ölçüm ve kontrol algoritması. |
| MOSFET | IRLZ44NPBF | 12V DC motoru düşük taraftan PWM ile anahtarlar. |
| Diyot | 1N4007 | Motorun ters gerilim darbelerini sınırlar. |
| Giriş kondansatörü | 100uF | 12V besleme hattındaki ani dalgalanmaları azaltır. |
| Gate direnci | 100Ω | Arduino D3 çıkışı ile MOSFET gate arasında akımı sınırlar. |
| Pulldown direnç | 10K | MOSFET gate ucunu boşta kalmaktan korur. |
| Ölçüm dirençleri | 10K | 12V seviyesini Arduino analog girişlerine uygun değere düşürür. |
| Filtre kondansatörleri | 0.1uF | Analog ölçüm hatlarını filtreler. |
| Potansiyometre | 10K | Basit sürümde hız ayarı için kullanılır. |
| Encoder | Rotary encoder + buton | Displayli sürümde hedef devir ve menü ayarlarını yapar. |
| Display | 595 Disp | Hedef veya ölçülen değerlerin gösterilmesini sağlar. |
Bağlantı Notları
- Motor akımı Arduino üzerinden geçirilmemelidir.
- Arduino GND, motor besleme GND ve ölçüm bölücü GND hattı ortak olmalıdır.
- IRLZ44NPBF bacak dizilimi takılmadan önce kontrol edilmelidir.
- MOSFET drain ucu motorun eksi tarafına, source ucu GND’ye bağlanır.
- D3 pini PWM çıkışı olarak kullanılır.
- A0 ve A1 ölçüm girişleri 12V’a doğrudan bağlanmamalıdır; direnç bölücü üzerinden bağlanmalıdır.
- Display ve encoder kullanılıyorsa 5V hattı Arduino regülatörünü aşırı zorlamamalıdır.
İlk Çalıştırma
İlk denemede motor yerine küçük bir 12V lamba veya düşük güçlü test motoru kullanmak daha güvenlidir. Güç verildiğinde Arduino normal şekilde başlamalı, MOSFET kapalıyken motor dönmemelidir. Motor kendiliğinden dönüyorsa gate pulldown bağlantısı veya MOSFET yönü kontrol edilmelidir.
Potansiyometreli sürümde A2 potansiyometresi en düşük konuma alınarak başlanmalıdır. Daha sonra yavaşça çevrilerek motorun kalkış davranışı izlenir. Motor aniden tam devire çıkıyorsa analog ölçüm veya yazılım ayarları kontrol edilmelidir.
Displayli sürümde encoder butonuyla motor başlatılıp durdurulabilir. Hedef RPM ayarı encoder çevrilerek değiştirilir. İlk kurulumda gerçek devir değerini doğrulamak için harici takometre kullanmak faydalıdır.
Yumuşak Kalkış
DC motor ilk anda durduğu için geri EMK üretmez ve kalkış akımı yüksek olabilir.
Yazılımın yumuşak kalkış uygulaması, PWM değerini birden maksimuma çıkarmak yerine kademeli artırır.
Bu sayede motor, MOSFET ve güç kaynağı daha az zorlanır.
Yumuşak kalkış özellikle küçük güç kaynaklarında önemlidir. Güç kaynağı kalkış akımını karşılayamazsa Arduino reset atabilir veya motor düzensiz çalışabilir.
Sıkışma Koruması
Matkap ucu iş parçasına fazla bastırıldığında veya motor mekanik olarak sıkıştığında devir hızla düşer.
Bu durumda motor akımı yükselir. Proje yazılımı geri EMK bilgisinden motorun beklenenden çok yavaşladığını anlayarak koruma davranışı uygulayabilir.
Bu koruma, mekanik kilitlenme durumlarında MOSFET ve motorun aşırı ısınmasını azaltmaya yardımcı olur.
Yine de tamamen sigorta yerine geçmez. Güç hattına uygun akım değerinde sigorta eklemek güvenliği artırır.
Besleme Seçimi
Kullanılacak 12V adaptör veya güç kaynağı motorun kalkış akımını karşılayabilmelidir. Motorun etikette yazan çalışma akımı yeterli bilgi vermeyebilir; kalkış ve sıkışma akımı bunun birkaç katına çıkabilir.
Küçük PCB matkabı için 12V 2A-5A aralığında bir güç kaynağı çoğu zaman yeterli olabilir. Daha büyük 775 tipi motorlarda çok daha yüksek akım gerekebilir. Kablo kesiti, MOSFET soğutması ve diyot akımı buna göre seçilmelidir.
Ölçüm Doğruluğu ve Sınırlar
Geri EMK ölçümü pratik bir sensörsüz çözümdür; ancak gerçek optik encoder kadar kesin değildir. Fırça paraziti, motor tipi, PWM frekansı, besleme dalgalanması ve yük momenti ölçümü etkiler.
Bu nedenle devre, hassas CNC spindle kontrolü gibi yüksek doğruluk gereken yerlerde sınırlı kalabilir. PCB delme, küçük matkap standı ve hobi motor kontrolü gibi uygulamalarda ise harici sensör gerektirmemesi büyük kolaylık sağlar.
Sık Görülen Sorunlar
| Belirti | Olası Neden | Kontrol Noktası |
|---|---|---|
| Motor hiç dönmüyor | MOSFET bağlantısı, D3 PWM çıkışı veya besleme hatası olabilir. | Gate sinyali, 12V motor hattı ve GND ortaklığı kontrol edilmeli. |
| Motor sürekli tam hızda dönüyor | MOSFET kısa devre olmuş veya gate boşta kalıyor olabilir. | IRLZ44NPBF yönü, gate pulldown ve D3 bağlantısı incelenmeli. |
| Arduino reset atıyor | Motor kalkış akımı beslemeyi düşürüyor olabilir. | Daha güçlü besleme, ek kondansatör ve ayrı 5V regülatör denenmeli. |
| Devir ölçümü kararsız | Geri EMK hattı parazitli veya filtreleme yetersiz olabilir. | A0/A1 bölücüleri, 0.1uF kondansatörler ve kablo düzeni kontrol edilmeli. |
| Yük altında hız çok düşüyor | PI ayarı zayıf veya motor gücü yetersiz olabilir. | Kp/Ki değerleri, güç kaynağı ve motor kapasitesi kontrol edilmeli. |
| MOSFET ısınıyor | Motor akımı yüksek veya MOSFET tam iletime geçmiyor olabilir. | Soğutucu, gate bağlantısı ve MOSFET modeli kontrol edilmeli. |
Güvenlik ve Montaj Önerileri
Devre düşük gerilimli olsa da motor akımı yüksek olabilir. Gevşek bağlantılar ısınma yapabilir.
Motor besleme hattına sigorta eklemek, özellikle güçlü motorlarda faydalıdır.
Motor uçları ve MOSFET çevresi kısa tutulmalıdır. Analog ölçüm hatları motor kablolarından uzak geçirilirse geri EMK ölçümü daha kararlı olur.
Kart metal gövde içine alınacaksa GND ve izolasyon düzeni dikkatli yapılmalıdır.
Kullanım Alanları
- PCB delme makinesi hız kontrolü
- Küçük masaüstü matkap standı
- 12V DC motorlu mini torna veya zımpara uygulamaları
- Yük değişiminde hızı koruması istenen hobi motor kontrol sistemleri
- Geri EMK tabanlı sensörsüz motor kontrol deneyleri
Arduino Matkap Makinesi Kontrol Ünitesi Test Videosu
Arduino Nano, IRLZ44NPBF MOSFET ve geri EMK ölçüm bölücülerinden oluşan bu matkap motor kontrol devresi, basit PWM sürücülerden daha gelişmiş bir çözümdür.
Potansiyometreli sürüm hızlı kurulum sağlar; encoder ve displayli sürüm ise hedef RPM ayarı, PI parametre düzenleme ve daha kullanışlı arayüz sunar.
Doğru besleme, sağlam MOSFET bağlantısı ve temiz analog ölçüm hattı devrenin güvenilir çalışması için en önemli noktalardır.
Kaynak: alexgyver.ru/drill-pid/