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

USB-TTL Dönüştürücü: CH340, CP2102 ve FT232 Kullanımı

USB-TTL Dönüştürücü: CH340, CP2102 ve FT232 Kullanımı
Kısa cevap

USB-TTL dönüştürücü, bilgisayarın USB portunu mikrodenetleyicilerin kullandığı 3,3V ya da 5V seviyeli seri porta (UART) çeviren küçük bir karttır. Bağlantıda dönüştürücünün TX'i karttaki RX'e, RX'i TX'e gider ve GND ortak olur. Lojik gerilim hedef karta göre seçilir; ESP8266 ve ESP32-CAM için 3,3V kullanılır.

ESP-01, ESP32-CAM ya da Arduino Pro Mini gibi kartların üzerinde USB girişi yoktur. Bu kartları programlamak ya da seri porttan mesajlarını okumak için araya bir USB-TTL dönüştürücü koymanız gerekir. Bu yazıda CH340, CP2102 ve FT232 çipli dönüştürücülerin farkını, sürücü kurulumunu, TX-RX çapraz bağlantısını, 3,3V ve 5V seçimini ve iki yaygın kartın programlanmasını adım adım anlatıyoruz.

USB-TTL dönüştürücü nedir?

USB-TTL dönüştürücü, bilgisayarın USB bağlantısını mikrodenetleyicilerin TX ve RX pinlerinde kullandığı TTL seviyeli seri haberleşmeye çeviren bir ara karttır. Bilgisayar kartı bir sanal COM port olarak görür; Arduino IDE ya da başka bir seri terminal bu porttan veri gönderir ve alır.

Tipik bir modülde GND, 5V, 3V3, TXD ve RXD pinleri bulunur; bazılarında otomatik reset için DTR pini de vardır. TTL seviyesi 0V ile 3,3V ya da 5V arasında değişir. Bilgisayarların eski RS232 portları ise çok daha yüksek ve ters mantıkta gerilim kullanır; bu yüzden TTL dönüştürücü bir RS232 portuna doğrudan bağlanmaz.

CH340, CP2102 ve FT232 arasındaki fark nedir?

Üç çip de aynı işi yapar; aralarındaki fark sürücü, üretici ve ek özelliklerdedir. Bir proje için üçü de yeterlidir, seçim çoğu zaman bulunabilirlik ve sürücü alışkanlığına göre yapılır.

ÇipÜreticiSürücüÖne çıkan özellik
CH340 / CH340GWCHCH341SER; Windows 10/11 çoğu zaman otomatik kurarEkonomik, Arduino klonlarında yaygın
CP2102Silicon LabsCP210x VCP sürücüsüÇip içinde 3,3V regülatör
FT232RLFTDIFTDI VCP sürücüsüAyrı lojik besleme (VCCIO), geniş yazılım desteği
PL2303ProlificProlific sürücüsüEski sürümleri yeni Windows'ta sorun çıkarabilir

Örneğin CH340G USB-TTL dönüştürücü modülü hem 3,3V hem 5V çıkış verir. CP2102 USB-TTL seri dönüştürücü modülü Windows'ta genellikle kendiliğinden tanınır. FT232 USB UART dönüştürücü ise endüstriyel yazılımlarla sık kullanılır. Piyasada sahte FT232 çipleri de bulunduğu için güvenilir kaynaktan almak önemlidir.

Sürücü nasıl kurulur?

Sürücü, Windows otomatik kurmadıysa çip üreticisinin sitesinden indirilip kurulur. Hangi sürücünün gerektiğini Aygıt Yöneticisi'nden anlarsınız.

  1. Dönüştürücüyü veri aktaran bir USB kabloyla bilgisayara takın. Yalnızca şarj eden kablolar veri taşımaz.
  2. Aygıt Yöneticisi'ni açın ve "Bağlantı noktaları (COM ve LPT)" bölümüne bakın.
  3. Cihaz sarı ünlemle "Diğer aygıtlar" altında görünüyorsa çip adını not alın ve üreticinin sürücüsünü kurun.
  4. Dönüştürücüyü çıkarıp yeniden takın; COM numarasını (ör. COM5) not alın.
  5. Arduino IDE'de Araçlar > Port menüsünden bu COM portunu seçin.

Linux'ta bu üç çipin sürücüsü çekirdekle birlikte gelir ve kart genellikle /dev/ttyUSB0 olarak görünür. Bağlantı noktasına erişim izni için kullanıcınızı dialout grubuna eklemeniz gerekebilir.

TX ve RX neden çapraz bağlanır?

TX ve RX çapraz bağlanır, çünkü bir cihazın gönderdiği (TX) veri, karşı cihazın alma (RX) girişine ulaşmalıdır. TX'i TX'e bağlarsanız iki çıkış birbirine bakar ve hiçbir veri geçmez.

  • Dönüştürücü TXD → kartın RX pini
  • Dönüştürücü RXD → kartın TX pini
  • Dönüştürücü GND → kartın GND pini (ortak toprak şarttır)

Bazı kartlarda pin adı, karşıya hangi pinin bağlanacağını gösterecek biçimde yazılmıştır. Bağlantı doğru görünmesine rağmen veri gelmiyorsa TX ve RX kablolarının yerini değiştirmeyi deneyin; bu işlem karta zarar vermez.

3,3V mi 5V mi seçilmeli?

Lojik gerilim, hedef kartın çalışma gerilimine göre seçilir: ESP8266, ESP32 ve ESP32-CAM için 3,3V, Arduino Uno, Nano ve Pro Mini 5V sürümü için 5V. Birçok modülde bu seçim bir atlama teli (jumper) ile yapılır. 5V lojik sinyal, 3,3V çalışan bir kartın RX girişini zorlar ve uzun vadede zarar verebilir.

Besleme ayrı bir konudur. Dönüştürücünün 3,3V pini sınırlı akım verir; örneğin CP2102'nin dahili regülatörü veri sayfasına göre en fazla 100 mA sağlar. ESP8266 ise Wi-Fi yayını sırasında bundan fazlasını çekebilir. Bu yüzden ESP-01'i ayrı bir 3,3V regülatörle besleyin ve GND'leri birleştirin.

ESP8266 ESP-01 USB-TTL ile nasıl programlanır?

ESP-01, GPIO0 pini GND'ye çekilerek açıldığında programlama moduna girer ve dönüştürücü üzerinden kod yüklenir. Lojik seçicinin 3,3V konumunda olduğundan emin olun.

  1. ESP-01'in VCC ve CH_PD (EN) pinlerini 3,3V beslemeye, GND'sini ortak GND'ye bağlayın.
  2. Dönüştürücü TXD'yi ESP-01 RX'e, RXD'yi ESP-01 TX'e bağlayın.
  3. GPIO0'ı GND'ye bağlayın, ardından RST'yi kısa süre GND'ye değdirin ya da beslemeyi kapatıp açın.
  4. Arduino IDE'de "Generic ESP8266 Module" kartını ve dönüştürücünün portunu seçip kodu yükleyin.
  5. Yükleme bitince GPIO0'ı GND'den ayırın ve kartı yeniden başlatın.

Bu kabloları her seferinde kurmak istemezseniz CH340 çipli ESP-01 programlama adaptörü işi tek parça hâlinde yapar. ESP8266 ile proje fikirleri için ESP8266 ve NodeMCU ile Wi-Fi projeleri yazımıza bakabilirsiniz.

ESP32-CAM USB-TTL ile nasıl programlanır?

ESP32-CAM, IO0 pini GND'ye bağlıyken yeniden başlatıldığında yükleme moduna girer ve U0R ile U0T pinleri üzerinden programlanır. Kartın besleme hassasiyeti nedeniyle 5V pininden beslenmesi önerilir.

  1. Dönüştürücünün lojik seçicisini 3,3V konumuna alın.
  2. Dönüştürücü 5V → ESP32-CAM 5V, dönüştürücü GND → ESP32-CAM GND.
  3. Dönüştürücü TXD → ESP32-CAM U0R, dönüştürücü RXD → ESP32-CAM U0T.
  4. ESP32-CAM'in IO0 pinini bir kabloyla GND'ye bağlayın ve kartın RST düğmesine basın.
  5. Arduino IDE'de "AI Thinker ESP32-CAM" kartını seçip kodu yükleyin.
  6. Yükleme bitince IO0-GND kablosunu çıkarın ve RST'ye yeniden basın.
USB-TTL dönüştürücü ile ESP32-CAM bağlantısı: 5V 5V pinine, GND GND pinine, TXD U0R pinine, RXD U0T pinine; yükleme için IO0 ile GND arasında köprü, lojik seçici 3,3V
Lojik seçici 3,3V, besleme 5V; TXD U0R'ye, RXD U0T'ye gider. IO0-GND köprüsü yalnızca yükleme sırasında takılır.

"Failed to connect" hatası alıyorsanız önce IO0 bağlantısını ve beslemeyi kontrol edin. Kablo kurmadan çalışmak için ESP32-CAM-MB USB programlama modülü kartın altına takılır ve yükleme modunu düğmeyle yönetir. Kamera projesinin tamamı için ESP32 kamera ile Wi-Fi kamera projesi yazımızı okuyabilirsiniz. Tüm modeller dönüştürücü kartlar kategorisinde yer alır.

Sık sorulan sorular

Bilgisayar USB-TTL dönüştürücüyü neden görmüyor?

Bilgisayarın dönüştürücüyü görmemesinin en sık iki nedeni yalnızca şarj eden USB kablo ve eksik sürücüdür. Önce veri aktardığından emin olduğunuz bir kabloyla deneyin. Ardından Aygıt Yöneticisi'nde cihazın ünlem işaretiyle görünüp görünmediğine bakın; görünüyorsa çipin üreticisinden sürücü kurun. Farklı bir USB portu ya da başka bir bilgisayar denemek de sorunun kaynağını ayırmanıza yardım eder.

"Failed to connect" hatası ne anlama gelir?

Bu hata, yükleme aracının ESP kartıyla konuşamadığı anlamına gelir ve çoğunlukla kart yükleme modunda değildir. GPIO0 ya da IO0 pininin açılış anında GND'de olduğunu kontrol edin. TX ve RX kablolarının çapraz bağlandığından, GND'nin ortak olduğundan ve beslemenin yeterli akım verdiğinden emin olun. Zayıf besleme, özellikle ESP32-CAM'de bu hatanın sık rastlanan bir nedenidir.

USB-TTL ile Arduino Pro Mini programlanabilir mi?

Evet, Arduino Pro Mini USB-TTL dönüştürücüyle programlanır. Dönüştürücünün DTR pinini Pro Mini'nin DTR pinine bağlarsanız yükleme sırasında kart otomatik olarak yeniden başlar. DTR pini olmayan modüllerde yükleme başladığı anda kartın reset düğmesine elle basmanız gerekir. 5V Pro Mini için 5V, 3,3V sürümü için 3,3V lojik seçilmelidir.

USB-TTL dönüştürücü RS232 portuna bağlanabilir mi?

Hayır, USB-TTL dönüştürücü RS232 portuna doğrudan bağlanmamalıdır. RS232 hatları TTL'den çok daha yüksek ve ters mantıkta gerilimler kullanır; bu gerilim dönüştürücüyü ya da karşı cihazı bozabilir. RS232 cihazlarla haberleşmek için MAX232 gibi bir seviye çevirici kullanan ya da doğrudan RS232 çıkışlı bir USB dönüştürücü seçmelisiniz.

Hangi çipi seçmeliyim?

Genel hobi kullanımında CH340 ve CP2102 aynı işi görür; ikisi de Arduino ve ESP kartlarını sorunsuz programlar. Windows'ta sürücü uğraşı istemiyorsanız CP2102 çoğu zaman kendiliğinden tanınır. Endüstriyel yazılımlar FTDI çipi istiyorsa FT232RL tercih edilir. Hangi çipi seçerseniz seçin, 3,3V ve 5V lojik seçimi olan bir modül almak işinizi kolaylaştırır.

Özet

  • USB-TTL dönüştürücü, USB'yi mikrodenetleyicilerin 3,3V ya da 5V seviyeli UART portuna çevirir.
  • Bağlantı çaprazdır: TXD karttaki RX'e, RXD TX'e gider; GND her zaman ortaktır.
  • CH340, CP2102 ve FT232 aynı işi yapar; fark sürücü ve ek özelliklerdedir.
  • ESP8266 ve ESP32 için 3,3V lojik seçilir; ESP-01 ayrı bir 3,3V regülatörle beslenmelidir.
  • ESP32-CAM 5V'tan beslenir; yükleme için IO0 GND'ye bağlanır, işlem bitince ayrılır.

Bu yazıdaki ürünler

Diğer yazılar