Üretken yapay zeka modelleri artık yalnızca metin üretmiyor; fiziksel makineleri de yönlendiriyor. Duvara monte edilen bir polargraph çizim makinesi, GPT-3.5 gibi bir dil modelinden aldığı metin komutlarını kalem hareketlerine çevirerek kağıda çizim yapıyor. Proje, bir dil modelinin çıktısını G-code'a dönüştürüp bir ESP32 üzerinden step motorlara aktarmanın somut bir örneği.
Aşağıda sistemin nasıl kurulduğunu, hangi bileşenlerin kullanıldığını ve çizim kalitesini belirleyen etkenleri adım adım açıklıyoruz.
Polargraph Çizim Makinesi Nedir?
Polargraph (asılı plotter), iki step motorun üst köşelere yerleştirildiği, aralarına gerilen iki ip veya kayışın ucunda bir kalem taşıyıcının (gondol) asılı olduğu bir çizim düzeneğidir. Kalemin konumu, doğrudan kartezyen X-Y koordinatlarıyla değil, iki ipin uzunluğuyla belirlenir; yani sistem kutupsal bir geometriyle çalışır. Yazılım, hedef X-Y noktasını her iki ipin uzunluğuna çevirir ve motorlar bu uzunlukları ayarlayarak kalemi taşır.
Bu yaklaşımın en büyük avantajı, büyük yüzeylere düşük maliyetle çizim yapabilmesidir: çerçeveyi büyüttükçe çizim alanı da büyür, ek donanım gerekmez. Karşılığında, ip gerginliği ve sarkma nedeniyle özellikle kenar bölgelerde hassasiyet düşebilir; bu yüzden doğru kalibrasyon kritik önemdedir.
Kalemin (x, y) hedef noktasına götürülmesi için yazılım, bu noktanın sol ve sağ motora olan uzaklıklarını hesaplar. İki motor arasındaki mesafe ve kalemin konumu bilindiğinde, her ipin uzunluğu basit bir geometriyle (dik üçgenlerin hipotenüsü) bulunur. Motorlar bu iki uzunluğu ayarladığında kalem doğru yere gelir. Kartezyen bir CNC'de her eksen bağımsız hareket ederken, polargraph'ta iki ipin uzunluğu birlikte değişir; bu yüzden düz bir çizgi çizmek bile her iki motorun eşgüdümlü çalışmasını gerektirir.
Yapay Zekadan G-code'a: Çalışma Zinciri
Sistemin akışı birkaç net adımdan oluşur:
- Kullanıcı, "soyut bir manzara çiz" gibi bir metin komutu verir.
- Dil modeli bu komutu yorumlayarak bir çizim planı ya da vektörel yol üretir.
- Python tabanlı bir ara katman, bu yolu G-code komutlarına çevirir.
- G-code, Wi-Fi veya seri bağlantı üzerinden ESP32'ye gönderilir.
- ESP32, komutları step sürücülerine sinyal olarak aktarır; kalem kağıda çizer.
G-code, CNC tezgahları ve 3B yazıcılarda kullanılan standart bir hareket dilidir. Örneğin G1 X100 Y50 F1000 komutu, kalemi (100, 50) koordinatına dakikada 1000 mm besleme hızıyla götürür; G0 ise çizim yapmadan hızlı konumlanmayı ifade eder. Kalemi kağıttan kaldırıp indirmek için genellikle küçük bir servo motor kullanılır ve bu hareket ayrı bir komutla tetiklenir. G-code standardı, komut setinin mantığını anlamak için başvurulabilecek bir referanstır.
Dil modelinin ürettiği plan çoğu zaman önce bir SVG (vektörel çizim) formatına, ardından G-code'a çevrilir. Gölgelendirme ve ton geçişleri, kalem tek renk çizdiği için doğrudan yapılamaz; bunun yerine tarama (hatching) ya da noktalama (stippling) gibi tekniklerle, çizgi ve nokta sıklığı değiştirilerek koyuluk hissi yaratılır. Bu dönüşümü yapan ara yazılımın kalitesi, sonucun ne kadar "resim gibi" göründüğünü doğrudan belirler.
Dil modelinin buradaki rolü, serbest metni makinenin işleyebileceği bir çizim planına indirgemektir; hassas hareketi sağlayan asıl katman ise G-code yorumlayıcı ve motor sürücüleridir. Yani "yaratıcılık" yazılımda, "hassasiyet" ise mekanik ve elektronikte gizlidir.
Donanım Bileşenleri
Tipik bir yapay zeka destekli polargraph şu parçalardan oluşur:
- Mikrodenetleyici: ESP32 — çift çekirdekli işlemci, Wi-Fi ve Bluetooth. Kablosuz komut almak ve G-code işlemek için yeterli güçtedir.
- Step motorlar: Genellikle iki adet NEMA17. 1.8° adım açısıyla tam turda 200 adım atarlar; mikroadımlama ile bu çözünürlük artırılabilir.
- Motor sürücüler: A4988 veya DRV8825. DRV8825 daha ince mikroadımlama (1/32'ye kadar) ve daha yüksek akım kapasitesi sunduğu için genellikle daha pürüzsüz hareket verir; A4988 (1/16'ya kadar) ise daha ekonomik bir seçenektir. Her iki sürücüde de üzerindeki küçük potansiyometreyle akım limiti (Vref) ayarlanır; bu ayar, motorun ısınmasını ve adım kaçırmasını doğrudan etkilediği için önemlidir.
- Kalem kaldırma: SG90 ya da metal dişlili MG90S mini servo. Kalemi yüzeye indirip kaldırarak çizimin nerede başlayıp biteceğini belirler.
- Güç kaynağı: Motorlar için genellikle 12V DC. Kararlı besleme, adım kaçırmayı (missed steps) azaltır.
- Mekanik parçalar: Kasnaklar, dişli kayış veya ip, kalem tutucu ve çerçeve; parçaların çoğu 3B baskıyla üretilebilir.
Kalibrasyon ve Çizim Kalitesi
Polargraph'ta çizim kalitesini belirleyen en önemli etken kalibrasyondur. Motorlar arası mesafe, ip başına düşen adım sayısı (steps/mm) ve gondolun ağırlık merkezi doğru tanımlanmazsa çizgiler kayar. İpin esnemesi ve kasnak çapındaki küçük farklar bile birikerek gözle görülür hataya yol açabilir.
Daha temiz sonuç için birkaç pratik ipucu: ip yerine dişli kayış kullanmak kaymayı azaltır; mikroadımlamayı artırmak titreşimi düşürür; besleme hızını (F değeri) yüzeye ve kaleme göre düşürmek çizgi kararlılığını iyileştirir. Kağıt yüzeyinin gergin ve düz olması da doğrudan sonucu etkiler.
Mikroadımlama, tam adımı elektronik olarak daha küçük parçalara bölerek hareketi yumuşatır. Örneğin 1.8° adım açılı bir NEMA17, 1/16 mikroadımlamada tam turda 3200 mikroadım atar. Bu, hareketi sessizleştirir ve titreşimi azaltır; ancak çok yüksek mikroadımlamada motorun her adımdaki torku düştüğü için pratikte bir denge noktası aranır.
Yaygın Sorunlar ve Çözümleri
Polargraph kuran çoğu kişinin karşılaştığı birkaç tipik sorun vardır. Adım kaçırma: Motor komut edilen konuma ulaşamaz ve çizim kayar; genellikle sürücü akımının düşük ayarlanması ya da hızın çok yüksek olmasından kaynaklanır. Titreşimli çizgiler: Kayış gerginliğinin yetersiz olması ya da mikroadımlama düşükse ortaya çıkar. Kenarlarda bozulma: Polargraph geometrisinin doğası gereği kenar bölgelerde ipler daha yatay açıyla çalışır ve hassasiyet düşer; çizim alanını çerçevenin ortasına yerleştirmek bu etkiyi azaltır. Kalem baskısının tutarsızlığı: Servo açısının ve kalem tutucu yayının doğru ayarlanması, çizginin her yerde eşit koyulukta olmasını sağlar.
Kimler İçin Uygun?
Bu proje, elektronik ve programlamaya ilgi duyan makerlar için iyi bir öğrenme platformudur: aynı anda motor kontrolü, G-code, kablosuz iletişim ve bir dil modeli API'siyle çalışmayı bir araya getirir. STEM eğitiminde robotik ve programlamayı somutlaştırmak için de kullanılabilir. Arduino resmi dokümantasyonu, ESP32'yi Arduino IDE veya PlatformIO ile programlarken başvurulabilecek bir kaynaktır.
Bileşenlerin çoğu yaygın ve uygun fiyatlıdır; bir ESP32, iki step motor, iki sürücü, bir servo ve bir güç kaynağı temel bir kurulum için yeterlidir. Dil modeli tarafında ise bir API kullanımı, kullanım hacmine bağlı olarak ek maliyet doğurabilir.
Polargraph'lar yalnızca sanat için değil; büyük ölçekli duvar yazıları, teknik çizim kopyalama ve eğitim amaçlı gösterimler için de kullanılır. Düşük maliyeti ve büyük çalışma alanı, onları sınıf ortamında hareket kontrolü ile koordinat sistemlerini anlatmak için görsel ve somut bir araç hâline getirir. Öğrenciler, verdikleri bir komutun kalemin fiziksel hareketine nasıl dönüştüğünü canlı olarak izleyebilir; bu da soyut kavramları elle tutulur kılar.
Sıkça Sorulan Sorular
Polargraph ile ne kadar büyük çizim yapılabilir?
Çizim alanı çerçeve boyutuna bağlıdır. Motorlar arası mesafeyi artırarak alanı büyütebilirsiniz; ancak alan büyüdükçe ip sarkması ve kenar hassasiyeti daha kritik hale gelir.
Dil modeli olmadan da çalışır mı?
Evet. Sistem özünde bir G-code plotter'dır. Dil modeli yalnızca çizim planını üreten katmandır; hazır SVG veya G-code dosyalarını doğrudan makineye göndererek de çizim yapabilirsiniz.
Hangi kalem ya da uç kullanılmalı?
Fineliner, keçeli kalem ya da tükenmez uçlar yaygın tercihlerdir. Kalemin ucu ne kadar tutarlı bir çizgi bırakırsa sonuç o kadar temiz olur; ağır kalemler gondolu sarkıtabileceği için hafif uçlar genellikle daha iyi sonuç verir. Kalem baskısını dengeleyen küçük bir yay ya da ağırlık, çizgi koyuluğunu her yerde eşit tutmaya yardımcı olur.
Hangi yazılım gerekir?
ESP32 için Arduino IDE veya PlatformIO ile yazılmış bir firmware, çizim yolunu G-code'a çeviren bir ara katman (genellikle Python) ve isteğe bağlı olarak dil modeli API entegrasyonu gerekir.
Yapay zeka destekli polargraph, bir dil modelinin soyut çıktısını fiziksel bir çizime bağlayan sade ama öğretici bir sistemdir. Asıl değeri, yazılım ile mekanik arasındaki köprüyü (metin → plan → G-code → adım sinyali) açıkça görünür kılmasında yatar.
Yorumlar 0
Yorum Bırakın