Yazılardaki ürünleri komponentci.net'te inceleyebilir, hemen sipariş verebilirsiniz.komponentci.net →
KomponentciBlog Mağaza

MT6701 Manyetik Encoder: 14 Bit Açı Sensörü Rehberi

MT6701 Manyetik Encoder: 14 Bit Açı Sensörü Rehberi
Kısa cevap

MT6701, MagnTek'in ürettiği, dönen bir mıknatısın açısını Hall algılayıcılarla temassız ölçen 14 bitlik manyetik açı sensörüdür. Açıyı I2C ya da SSI ile dijital, OUT ucundan analog ya da PWM, ayrıca A/B/Z ve UVW encoder darbeleri olarak verir. Çapsal mıknatıslanmış küçük bir mıknatıs çipin tam üstüne 0,5-2 mm mesafede yerleştirilir.

MT6701 manyetik encoder, bir milin açısını temas olmadan ve açılış anından itibaren mutlak olarak ölçmek isteyenlerin sık seçtiği bir çiptir. Fırçasız motor kontrolü, robot eklemleri, temassız potansiyometre ve döner düğme projelerinde kullanılır. Bu yazıda MT6701'in ne olduğunu, hangi çıkışları verdiğini, mıknatısın nasıl yerleştirileceğini, Arduino bağlantısını ve açı okuma kodunu anlatıyoruz.

MT6701 nedir?

MT6701, MagnTek firmasının ürettiği, çipin üstünde dönen iki kutuplu bir mıknatısın açısını Hall algılayıcılarla ölçen ve 0-360° aralığını 14 bit (16.384 adım) çözünürlükle veren bir manyetik açı sensörüdür. Bir adım yaklaşık 0,022°'ye karşılık gelir. SOP-8 ve 3x3 mm QFN-16 kılıfta üretilir, 3,0-5,5 V ile çalışır.

MT6701 mutlak açı verir: enerji verildiği anda milin nerede olduğunu bilir. Mekanik ve optik artımlı encoder'lar ise yalnızca dönüşü sayar; açılışta konumu bilmez. Ölçüm temassız olduğu için aşınma da yoktur. Hall etkisinin temellerini Hall effect sensör nedir yazımızda anlattık.

Çözünürlük ile doğruluğu karıştırmayın: veri sayfasındaki doğrusallık hatası (INL) tipik ±1°, en fazla ±1,5°'dir ve mıknatıs yerleşimine bağlıdır. Yani 14 bit, açıyı çok ince adımlarla izlemenizi sağlar, ancak mutlak açı hatası yaklaşık bir derece mertebesindedir.

MT6701 hangi çıkışları verir?

MT6701 açıyı aynı anda birkaç biçimde sunar: I2C ve SSI ile 14 bit dijital, OUT ucundan 12 bit analog ya da PWM, A/B/Z ucundan artımlı encoder darbesi ve UVW ile fırçasız motor komütasyon sinyali. A, B ve Z pinleri ABZ ile I2C/SSI arasında paylaşılır; hangisinin kullanılacağını MODE pini seçer.

ÇıkışPinler (SOP-8)AyrıntıNe için?
I2C6 SDA, 7 SCL14 bit; adres 0x06, açı 0x03-0x04 yazmaçlarındaOkuma ve tüm ayarların yapılması
SSI6 DO, 7 CLK, 8 CSN24 bit çerçeve: 14 bit açı + 4 bit durum + 6 bit CRCHızlı okuma, aynı hatta birden çok sensör
ABZ6 A, 7 B, 8 ZTur başına 1-1024 darbe, ayarlanabilir sıfırOptik encoder yerine
UVWA/B/Z pinleri ya da QFN U, V, W1-16 kutup çiftiFırçasız motor komütasyonu
Analog3 OUT12 bit DAC, beslemeye oranlıPotansiyometre yerine
PWM3 OUT994,4 Hz ya da 497,2 Hz, 12 bitTek telle açı aktarımı
Push5 PUSHMıknatıs yaklaşınca sinyalTemassız buton

Ayarlar (darbe sayısı, sıfır konumu, yön, çıkış türü) I2C ile yazılır ve çipin EEPROM'una kaydedilir. EEPROM'a yazarken besleme 4,5 V'un üzerinde olmalıdır. SSI çerçevesindeki durum bitleri mıknatıs alanının çok güçlü ya da çok zayıf olduğunu bildirir; bu, mıknatıs mesafesini ayarlarken işe yarar.

MT6701 için mıknatıs nasıl yerleştirilir?

MT6701, çapsal (diametral) mıknatıslanmış silindir bir mıknatısın, milin ucunda çipin tam ortasının üstünde dönmesiyle çalışır. Çapsal mıknatısta N ve S kutupları yan yanadır; mıknatıs dönünce çipin yüzeyindeki alan yönü de döner. N kutbu üstte, S kutbu altta olan eksenel mıknatıs döndüğünde alan değişmez ve açı okunamaz.

ParametreVeri sayfası değeri (Rev 1.8)
Önerilen mıknatısØ6 mm × 2,5 mm silindir, NdFeB, çapsal
Çip yüzeyindeki alan200-1000 Gauss (20-100 mT)
Hava boşluğu (mıknatıs - çip)0,5-2,0 mm, tipik 1,0 mm
Eksen kaçıklığıEn fazla 0,3 mm
En yüksek devir55.000 dev/dk
MT6701 mıknatıs yerleşimi çizimi: solda yandan görünüşte baskı devre kartı üzerinde SOP-8 MT6701 çipi, üstünde plastik ya da alüminyum tutucuyla mile bağlı, N ve S kutupları yan yana olan Ø6 × 2,5 mm çapsal neodyum mıknatıs, mıknatıs ile çip arasında 0,5-2 mm (tipik 1 mm) hava boşluğu ve mil ekseniyle çip merkezi arasında en fazla 0,3 mm kaçıklık; sağda doğru çapsal mıknatıs ile yanlış eksenel mıknatısın karşılaştırması ve üstten görünüşte mıknatıs izdüşümünün çip merkezine oturması; altta alan 200-1000 Gauss, en yüksek devir 55.000 dev/dk değerleri
Çapsal mıknatıs çipin tam ortasının üstünde, yaklaşık 1 mm boşlukla döner; eksenel mıknatısla açı okunamaz.

Yerleşim için şu adımları izleyin:

  1. Çapsal mıknatıslanmış mıknatıs kullanın; satın alırken "diametral" ya da "çapsal" ifadesini arayın. Sıradan disk mıknatısların çoğu ekseneldir.
  2. Mıknatısı milin ucuna, mil ekseniyle merkezli olacak şekilde yapıştırın ya da bir tutucuya oturtun.
  3. Çipin algılama merkezi kılıfın geometrik merkezidir; mil eksenini bu noktaya 0,3 mm içinde hizalayın.
  4. Mıknatısın alt yüzü ile çipin üst yüzü arasında yaklaşık 1 mm boşluk bırakın.
  5. Mili elle çevirip açıyı izleyin; değer zıplıyorsa ya da alan durumu "zayıf" diyorsa boşluğu azaltın, "güçlü" diyorsa artırın.

Mıknatısı mümkünse plastik, alüminyum ya da pirinç bir tutucuyla bağlayın; çelik parçalar ve yakındaki motor mıknatısları alanı bozabilir. Neodyum mıknatısların türleri ve güvenli kullanımı için neodyum mıknatıs nedir yazımıza bakabilirsiniz.

MT6701 Arduino'ya nasıl bağlanır?

MT6701 I2C ile Arduino Uno'ya dört kabloyla bağlanır: VDD → 5V, GND → GND, SDA (pin 6) → A4 ve SCL (pin 7) → A5. CSN (pin 8) I2C'de kullanılmaz; veri sayfası boş bırakır, yaygın Arduino kütüphanesinin örnekleri ise VDD'ye bağlar. Veri sayfasındaki referans devrede SDA ve SCL hatlarında 5 kΩ pull-up direnç vardır; çoğu modülde bu dirençler kart üzerindedir.

MT6701 manyetik encoder modülü Arduino Uno I2C bağlantı şeması: modülün VDD ucu Arduino 5V pinine, GND ucu GND'ye, SDA/DO ucu A4 pinine, SCL/CLK ucu A5 pinine bağlı; CSN ucu kesikli çizgiyle VDD'ye isteğe bağlı köprü; OUT ve PUSH boş; kart üzerinde mıknatısın çipin üstünde döneceği nokta; altta SOP-8 pin tablosu: 1 VDD, 2 MODE, 3 OUT, 4 GND, 5 PUSH, 6 A/SDA/DO, 7 B/SCL/CLK, 8 Z/CSN; sağda ESP32 ile SSI bağlantısı (DO GPIO19, CLK GPIO18, CSN GPIO5) ve I2C okuma formülü: adres 0x06, açı = (0x03 << 6) | (0x04 >> 2)
VDD 5V'a, GND GND'ye, SDA A4'e, SCL A5'e bağlanır; açı 0x06 adresindeki 0x03 ve 0x04 yazmaçlarından okunur.

Hazır MT6701 modüllerinde pin adları üreticiye göre değişir: "DO/SDA", "CLK/SCL", "CSN", "OUT", "PUSH" gibi. Modülünüzde MODE ucu ya da köprüsü varsa I2C/SSI konumunda olduğunu satıcının şemasından kontrol edin. ESP32-WROOM-32D geliştirme kartında modülü 3V3'ten besleyip SDA'yı GPIO21'e, SCL'yi GPIO22'ye bağlayabilirsiniz.

SSI ile okumak için DO ucu SPI'nin MISO pinine, CLK ucu SCK pinine, CSN ucu herhangi bir dijital pine bağlanır (Uno'da D12, D13 ve örneğin D10). SSI yalnızca okuma yapar; ayar değiştirmek için yine I2C gerekir. Her sensöre ayrı CSN pini vererek aynı hatta birden çok MT6701 okunabilir; I2C'de ise adres sabit olduğundan bir hatta tek sensör kullanmak en sorunsuz yoldur.

MT6701 açısı Arduino ile nasıl okunur?

MT6701 açısı, I2C üzerinden 0x03 ve 0x04 yazmaçları sırayla okunup 14 bitlik değer birleştirilerek bulunur: 0x03 açının üst 8 bitini, 0x04'ün üst 6 biti alt 6 bitini taşır. Aşağıdaki kod ek kütüphane gerektirmez:

#include <Wire.h>

const uint8_t MT6701_ADRES = 0x06;

float aciOku() {
  Wire.beginTransmission(MT6701_ADRES);
  Wire.write(0x03);                         // aci yazmacinin ilk byte'i
  if (Wire.endTransmission(false) != 0) return -1;
  Wire.requestFrom(MT6701_ADRES, (uint8_t)2);
  if (Wire.available() < 2) return -1;
  uint8_t ust = Wire.read();                // 0x03: Angle<13:6>
  uint8_t alt = Wire.read();                // 0x04: Angle<5:0> (bit 7..2)
  uint16_t ham = ((uint16_t)ust << 6) | (alt >> 2);   // 0..16383
  return ham * 360.0 / 16384.0;
}

void setup() {
  Serial.begin(115200);
  Wire.begin();
}

void loop() {
  float aci = aciOku();
  if (aci < 0) {
    Serial.println("MT6701 cevap vermiyor");
  } else {
    Serial.print("Aci: ");
    Serial.println(aci, 2);
  }
  delay(100);
}

Mili çevirdiğinizde değer 0 ile 359,98 arasında değişmelidir. Ayar yapmak ve SSI ile okumak için Arduino Kütüphane Yöneticisi'ndeki MT6701 kütüphaneleri kullanılabilir; fırçasız motor projelerinde SimpleFOC gibi FOC kütüphaneleri MT6701'i konum sensörü olarak destekler. Açıyı sahada görmek için değeri 0,96 inç I2C OLED ekrana yazdırabilirsiniz; OLED ile MT6701 farklı adreslerde olduğu için aynı I2C hattını paylaşır.

MT6701 mi, rotary encoder mı, optik encoder mı?

Mutlak açı, temassız ölçüm ve yüksek çözünürlük gerekiyorsa MT6701; menüde gezinmek gibi basit işler için mekanik rotary encoder yeterlidir. Optik encoder ise yüksek devirde güvenilir artımlı darbe verir, ancak açılışta konumu bilmez.

ÖzellikKY-040 mekanikOptik encoderMT6701
Ölçüm türüArtımlıArtımlıMutlak
ÇözünürlükÇoğunlukla 20 tık/tur360-400 darbe/tur (örnek modeller)16.384 adım/tur
Açılışta konumBilinmezBilinmezBilinir
AşınmaKontaklar aşınırYokYok
ÇıkışA/B + butonA/BI2C, SSI, ABZ, UVW, analog, PWM
Mekanik işPanele vidalanırMile kaplin ile bağlanırMile mıknatıs, karta çip

Menü düğmesi için KY-040 rotary encoder modülü en pratik seçenektir; kullanımını KY-040 rotary encoder yazımızda anlattık. Hazır gövdeli ve milli çözüm istenirse 400 darbe artımlı optik döner enkoder doğrudan mile bağlanır. Yalnızca bir mıknatısın yakında olup olmadığını bilmek yeterliyse açı sensörü yerine 3144E Hall effect sensör modülü kullanılır.

Sık sorulan sorular

MT6701 kaç bit çözünürlük verir?

MT6701'in çekirdek çözünürlüğü 14 bittir; I2C ve SSI ile okunan açı 0-16.383 arasında, yani yaklaşık 0,022° adımlarla gelir. OUT ucundaki analog ve PWM çıkışı 12 bit (4096 adım), ABZ çıkışı ise tur başına en fazla 1024 darbedir (4096 kenar). Mutlak doğruluk ise tipik ±1° mertebesindedir.

MT6701 için hangi mıknatıs kullanılır?

MT6701 için çapsal (diametral) mıknatıslanmış silindir neodyum mıknatıs kullanılır; veri sayfası Ø6 mm × 2,5 mm boyutunu önerir. Mıknatıs çipin tam ortasının üstünde, yaklaşık 1 mm mesafede (0,5-2 mm arası) dönmelidir. Kutupları üst ve alt yüzde olan sıradan eksenel disk mıknatıslarla doğru açı okunmaz.

MT6701'in I2C adresi nedir?

MT6701'in varsayılan 7 bit I2C adresi 0x06'dır ve açı 0x03 ile 0x04 yazmaçlarından okunur. Adres EEPROM'a yazılarak bir alternatif değere çevrilebilir, ancak seçenek sınırlıdır. Aynı hatta birden çok sensör gerekiyorsa her biri ayrı CSN pini alan SSI bağlantısı daha uygundur.

MT6701 3,3 V ile çalışır mı?

Evet, MT6701 3,0-5,5 V aralığında çalışır; ESP32 gibi 3,3 V'luk kartlarla doğrudan kullanılabilir. Tek istisna EEPROM'a ayar kaydetmektir: veri sayfası bu işlem sırasında beslemenin 4,5 V'un üzerinde olmasını ister. Ayarları bir kez 5 V'ta kaydedip sonra 3,3 V'ta çalıştırabilirsiniz.

MT6701 açısı neden zıplıyor ya da yanlış çıkıyor?

Açının zıplamasının en yaygın nedeni mıknatısın yanlış türde, çok uzakta ya da eksenden kaçık olmasıdır. Mıknatısın çapsal olduğundan, boşluğun 0,5-2 mm arasında kaldığından ve mil ekseninin çip merkezine 0,3 mm içinde hizalandığından emin olun. Yakındaki çelik parçalar, motor mıknatısları ve uzun I2C kabloları da hatalı okumaya yol açabilir.

Özet

  • MT6701, dönen bir mıknatısın açısını Hall algılayıcılarla temassız ve mutlak olarak ölçen 14 bitlik (16.384 adım) bir manyetik açı sensörüdür.
  • Açıyı I2C (adres 0x06, yazmaç 0x03-0x04), SSI, ABZ (1-1024 darbe/tur), UVW, 12 bit analog ve PWM olarak verir.
  • Çapsal mıknatıslanmış Ø6 × 2,5 mm neodyum mıknatıs, çip merkezinin üstünde yaklaşık 1 mm (0,5-2 mm) boşlukla ve en fazla 0,3 mm kaçıklıkla döner.
  • 3,0-5,5 V ile çalışır; ayarları EEPROM'a kaydetmek için besleme 4,5 V'un üzerinde olmalıdır.
  • 14 bit çözünürlük ince izleme sağlar, mutlak doğruluk ise tipik ±1° mertebesindedir.

Bu yazıdaki ürünler

Diğer yazılar

12 Kasım 20268 dk okuma

AMG8833 Termal Kamera Sensörü: 8x8 Isı Haritası Rehberi

AMG8833, Panasonic Grid-EYE ailesinden 8x8 = 64 pikselli bir termopil kızılötesi dizi sensörüdür. 0-80 °C aralığındaki yüzeylerin sıcaklığın...

Devamını oku →
12 Kasım 20267 dk okuma

MG90S ve SG90 Servo Farkı: Tork, Dişli ve Seçim Rehberi

MG90S ile SG90 arasındaki temel fark dişlilerdir: MG90S metal, SG90 plastik dişli kullanır. İkisi de aynı boyda mikro servodur ve 4,8 V'ta y...

Devamını oku →
12 Kasım 20267 dk okuma

C5198 ve A1941 Transistör: Değerler, Bacaklar ve Muadil

C5198 (2SC5198), Toshiba'nın ses amplifikatörü çıkış katı için ürettiği 140 V, 10 A ve 100 W değerli NPN güç transistörüdür; PNP eşi A1941'd...

Devamını oku →
12 Kasım 20267 dk okuma

ZB2L3 Pil Kapasite Test Cihazı: Bağlantı ve Kullanım

ZB2L3 pil kapasite test cihazı, pili harici bir yük direnci üzerinden ayarladığınız sonlandırma gerilimine kadar boşaltıp gerçek kapasiteyi...

Devamını oku →
12 Kasım 20266 dk okuma

TC4427 MOSFET Sürücü: Pinout, Bağlantı ve TC4426 Farkı

TC4427, Microchip'in iki kanallı, evirmeyen (non-inverting) ve 1,5 A tepe akımlı MOSFET sürücü entegresidir. 4,5-18 V ile beslenir ve Arduin...

Devamını oku →
12 Kasım 20267 dk okuma

XL7015 Voltaj Düşürücü: 80V Girişten 5-20V Çıkış

XL7015, 5-80V girişi daha düşük bir gerilime indiren 150 kHz'lik bir buck dönüştürücü entegresidir; hazır modüllerde çıkış 5-20V arasında ay...

Devamını oku →