
Bu proje, iki eksenli bir lazer gösterisi için hazırlanmış dsPIC30F2010 tabanlı bir denetleyicidir. Temel çalışma mantığı, MIDI verisini alıp bunu X ve Y eksenindeki açık döngü galvanometre aynalarını sürecek dalga biçimlerine dönüştürmektir. Böylece klasik sabit ışın yerine daire, elips ve Lissajous benzeri şekiller üretilebilmektedir.
Kaynak metindeki en önemli teknik nokta şudur: galvanometreleri doğrudan PWM kare dalga ile sürmek iyi sonuç vermediği için, bu projede SPI üzerinden çalışan bir DAC kullanılmıştır. Bu yaklaşım, özellikle daha yumuşak tarama hareketleri elde etmek açısından doğrudan anlamlıdır.
Sistemin genel çalışma yapısı
İçerik
Blok diyagrama göre sistem iki ana parçadan oluşur. Birinci parça ana denetleyici kartıdır; burada dsPIC30F2010, gelen MIDI komutlarını çözüp X ve Y eksenleri için uygun sayısal çıkış verisini üretir.
İkinci parça ise yardımcı izleme kartıdır; burada PIC24FJ64GA002 bulunan 28 pinli Microchip geliştirme kartı, 31250 baud hızındaki MIDI verisini izlemek ve bunu sanal seri port mantığıyla USB üzerinden bilgisayara aktarmak için kullanılır.
Bu yapı özellikle geliştirme aşamasında işe yarar. Çünkü lazer deseni üreten asıl dsPIC denetleyici ayrı çalışırken, MIDI verisinin gerçekten ne geldiği PC tarafında ayrıca gözlenebilir.
Benzer dsPIC tabanlı denemelere bakmak isteyenler için basit bir dsPIC deneme kartı da fikir verebilir.

MIDI giriş katı ve optik izolasyon
MIDI arabirimi klasik akım döngüsü mantığı ile çalıştığı için giriş tarafında optik izolasyon kullanılmıştır.
Şemada bu görev için U4 TLP2200 yer alıyor. Kaynak metinde HCPL2200 adı geçse de verilen şemada açıkça TLP2200 çizilmiş durumdadır.
U4 çıkışından sonra U5A 74HCT04 invertör katı kullanılarak sinyal, mikrodenetleyicinin UART girişine uygun hale getirilmiştir.
Bu yaklaşım, MIDI girişini elektriksel olarak ayırdığı için hem güvenlik hem de parazit bağışıklığı açısından doğrudur.
Ayrıca geliştirmenin ilk aşamalarında doğrudan PC’den komut gönderebilmek için hatta U3 MAX232 ve bir seçim bağlantısı eklenmiş olması pratik bir ayrıntıdır.
PC tarafında ham veri takibi yapmak için bir seri port terminal programı kullanmak da doğal bir tamamlayıcı olur.
dsPIC30F2010, DAC ve galvo sürme mantığı
Şemadaki ana denetleyici U1 dsPIC30F2010’dur. Bu entegre hem DSP yetenekli 16 bit mimariye sahip olduğu hem de SPI1, UART1 ve motor kontrol/PWM çevre birimlerini içerdiği için bu tür gerçek zamanlı işler için uygundur.
Ancak bu projede kilit nokta PWM üretmek değil, hesaplanan dalga örneklerini DAC’a aktarmaktır.
U2 MCP4822-E/P, iki kanallı 12 bit SPI DAC’tır. Şemada SDI, SCK, CS ve LDAC hatları ile dsPIC’e bağlanmıştır.
Böylece X ve Y eksenleri için ayrı analog değerler üretilebilir. PDF içindeki kod örneğinde de daire çizmek için sinüs ve kosinüs tabanlı değerlerin DACOut() fonksiyonu ile iki ayrı kanala gönderildiği görülüyor.
Daha hızlı çizim için de tam trigonometrik hesap yerine önceden tanımlı sinüs noktalarıyla çalışan bir yaklaşım tercih edilmiş.
Bu yöntem aslında projenin en güçlü tarafıdır. Çünkü açık döngü galvanometrelerde düzgün şekil elde etmek, yalnızca frekans üretmekten değil, uygun analog tarama dalga biçimini üretebilmekten geçer.
MIDI verisi ile sayısal desen üretme mantığına yakın başka bir örnek görmek isteyenler için dsPIC33FJ12GP202 tabanlı MIDI synthesizer projesi de ilgi çekebilir.

Çıkış katında hangi elemanlar var?
DAC çıkışları doğrudan galvanometre bobinine verilmemiş, bunun yerine şemada Q1 MJF6388 ve Q2 MJF6388 transistörleri ile bir çıkış sürme katı kurulmuştur.
Bu bölüm +18V besleme ile çalışır ve Galv1 ile Galv2 uçlarına gider. Buradan da görüldüğü gibi kart yalnızca sayısal çözümleme yapmıyor; aynı zamanda galvanometre yükünü sürebilecek ayrı bir çıkış katı da içeriyor.
Kaynak dosyadaki açıklamaya göre kullanılan galvolar oldukça yavaş ve yaklaşık 100 Hz civarına kadar çalışan açık döngü tiplerdir. Bu yüzden sistem yüksek hızlı görüntü taramasından çok deneysel lazer şekilleri ve Lissajous desenleri için daha uygundur.
Şemadaki başlıca devre blokları
| Bölüm | Şemadaki elemanlar | Görev |
|---|---|---|
| MIDI giriş | MIDI soketi, 1N4148, U4 TLP2200 | MIDI akım döngüsü girişini alır ve optik izolasyon sağlar. |
| Seviye/invertör katı | U5A 74HCT04 | Optokuplör çıkışını UART için uygun mantık seviyesine dönüştürür. |
| Ana denetleyici | U1 dsPIC30F2010, 8 MHz kristal, C4, C9 | MIDI verisini çözer, dalga biçimlerini hesaplar ve SPI ile DAC’a gönderir. |
| PC haberleşme katı | U3 MAX232, P1 RS232, C5, C6, C7, C8 | Geliştirme ve test aşamasında PC ile seri haberleşme sağlar. |
| D/A çevirme | U2 MCP4822-E/P | X ve Y eksenleri için iki ayrı analog kontrol sinyali üretir. |
| Galvo çıkış katı | Q1 MJF6388, Q2 MJF6388 | DAC’tan gelen sinyali galvanometre yüküne uygun sürme katına taşır. |
| Görsel durum göstergesi | Kırmızı, sarı, yeşil LED ve 220 ohm dirençler | Durum veya çalışma bilgisi göstermek için kullanılır. |
Donanım açısından dikkat edilmesi gerekenler
- Açık döngü galvanometre sistemi, kapalı çevrim profesyonel tarama kafaları kadar hassas değildir. Bu nedenle desen doğruluğu sınırlıdır.
- MIDI girişinde optik izolasyonun korunması önemlidir; bu katı sadeleştirmek parazit ve topraklama sorunlarına yol açabilir.
- Galvo sürme katı +18V ile çalıştığı için güç bölümü ve topraklama düzeni dikkatsiz kurulursa şekiller bozulabilir.
- Projede 8 bit mikrodenetleyiciler yerine dsPIC tercih edilmesinin sebebi yalnızca hız değil, gerçek zamanlı hesap ve DAC besleme tarafındaki esnekliktir.
- Şemada programlama ve haberleşme hatları birbirine yakın geçtiği için PCB yerleşiminde kısa ve düzenli bağlantı tercih edilmelidir.
Bu çalışma, sıradan bir MIDI arayüz devresinden daha fazlasıdır.
dsPIC30F2010 ile MIDI verisini yorumlayıp MCP4822 DAC üzerinden iki analog eksene dönüştüren, optik izolasyonlu girişe ve ayrı galvo sürme katına sahip gerçek bir deneysel lazer kontrol kartıdır. Özellikle açık döngü galvo kullanan hobi ve laboratuvar tipi sistemlerde, dijital veriden analog tarama sinyali üretmenin mantığını görmek için öğretici bir örnektir.
