DONANIM KURSU - 8

Donanım kursumuzun şu ana kadar olan bölümünde temel elektronik bilgilerini edindikten sonra artık öğrendiklerimizi yavaş yavaş uygulamaya başlayabiliriz. Burada yine en önemli yardımcımız eski dost C-64 olacaktır. Geçen ayki yazımızın son bölümünde analog-dijital çeviriciler hakkında kısa bir bilgi vermiş ve bu arabirimin bilgisayarla dış dünya arasında bağlantısını kurmuştuk. Şimdi bu konuyu daha yakından ele alalım. İlk olarak dijital sinyalleri analog sinyallere çeviren devreleri inceleyeceğiz. Bu iki sinyal tipi arasındaki farkı geçen sayıda belirtmiştik: Dijital bir sinyal için belli sayıda farklı kanaldan gelen sadece 1 ve 0 değerleri söz konusu iken analog sinyallerde tek bir kanaldan çok sayıda değer gözlenebilir. Bunun ne işe yarayacağını biraz sonra basit bir örnekte göreceğiz. Resim 1'de bir dijital-analog dönüştürücünün prensip şemasını görmektesiniz. Bu devre aslında sadece bir toplam yükselticisinden ibarettir. Bu tür bir yükselticinin görevi girişlerindeki gerilimleri toplamak ve toplam gerilimi çıkıştan vermektir. Burada giriş geriliminin yükseltilme oranı Rr geri besleme direncine ve Rx giriş direncine bağlıdır. Dijital-analog dönüştürücülerde değişik seviyelerde giriş gerilimleri yerine sabit bir referans gerilimi olan Uref kullanılır. Bunun için her bir giriş için bir anahtar mevcuttur. Bu anahtarlar ise bilgisayarımızın dijital çıkışları tarafından yönetilir. User Port'taki D0-D7 çıkışları bu iş için tasarlanmıştır. Bu arada prensip şemasında görülen giriş dirençleri 1/2 oranlarında olmalıdırlar. En alçak Bit'e (0. Bit) karşılık gelen giriş direnci en yüksek değere sahiptir. İkinci girişteki direncin değeri ise ilkinin tam yarısı kadardır. Bir sonraki ise ikincinin yarısı kadardır ve bu böyle sürüp gider. Sonuçta en alçak Bit en büyük dirence sahip olduğu için buradan en düşük akım

Resim 1: Dijital-analog bir dönüştürücünün prensip şeması.

ANIL GÜL geçer. Buna karşılık en yüksek Bit'te ise çok düşük bir direnç olduğu için buradan oldukça büyük bir akım geçer. Aslında burada kullanılan toplam yükselticisi doğrudan doğruya gerilimleri değil akımları toplamaktadır. Her giriş gerilimi için o girişteki dirence bağlı olarak Ix = Ux/Rx büyüklüğünde bir akım oluşmaktadır. Tüm akımlar S noktasında birleşip Ir toplam akımını oluştururlar. Bu toplam akım ise Rr geri besleme direnci üzerinden tekrar bir Ur gerilimi oluşturur. Bu Ur gerilimi ise her zaman Ua çıkış gerilimi ile benzerdir. Böylelikle akımların toplanması sonucunda gerilimler de toplanmış olur. Bu açıklamalardan sonra herhalde neden en alçak Bit'e en yüksek direncin karşılık gelmesi gerektiğini anlamışsınızdır: Küçük değerler için az akım geçeceği için yüksek, büyük değerler için çok akım geçeceği için düşük direnç kullanılır. Eğer dirençler doğru seçilmişse akımlar birbirleriyle 1:2:4:8 oranlarında olmalıdırlar. Dijital-analog dönüştürücümüzün girişinde 0000 0000 değerinin olduğunu farz edelim. Bu durumda tüm anahtarlar açıktır ve girişlerde herhangi bir akım görülmez. Dolayısıyla çıkış gerilimi de sıfırdır. Bir başka örnekte dönüştürücünün girişinde 1111 değerinin olduğunu farz edelim. Tüm anahtarlar açık olacağı için çıkışta en yüksek gerilim gözlenmelidir. Bu gerilim Rr direncinin girişlerdeki dirençlere oranına bağlıdır. Bu dirençler aynı zamanda birim değere karşılık gelen gerilim değişmelerini de belirler. 8-Bit bir dönüştürücünün girişinde 255 değişik kombinasyon mümkündür. Eğer maksimum çıkış değeri 5 Volt ise her bir değere 5/255 = 19,6 milivolt karşılık gelir. Resim 2'de 4-Bit'lik bir dijital-analog dönüştürücüye ait bilgiler yer almaktadır. 2-Bit bir dönüştürücü için maksimum 4 değişik çıkış değeri mevcut iken 16-Bit bir dönüştürücüde bu sayı 65536'dır. Bu nedenle dijital-analog dönüştürücülerde Bit sayısı devrenin hassasiyetini belirler. Örnek olarak yakından tanıdığımız basit elektronik devre elemanları ile 4-Bit bir dönüştürücü yapacağız. Resim 3'te bu devrenin şemasını görmektesiniz. Toplam yükselticisi olarak burada 741 Opamp kullanılmıştır fakat benzer özelliklerdeki başka Opamp'lar da aynı şekilde kullanılabilir. Bu devrenin Resim 1'dekinden tek farkı referans geriliminin olmamasıdır. Dijital-analog dönüştürücümüz C-64'ün User Port'una bağlanacağı için bu Port'taki 5 Volt çıkış gerilimi referans gerilimi olarak kullanılır.

ler basamak 1/3 Volt

Digital Değer

Resim 2: Dönüştürücünün çıkış gerilimleri.

Ri-120K 4 12K TR2-25 K TR3-10 K TR4=10 K R5 = 10K

Devreyi kurduktan sonra User Port bağlantılarına çok dikkat edin. Bu bağlantılarda kesinlikle krokodil veya benzeri bir kıskaç kullanmayın, zira User Port çıkışları çift taraflıdır. Eğer devrede opampı besleyecek +9V ve -9V besleme kaynaklarına sahip değilseniz bu iş için iki tane 9 Voltluk pil kullanabilirsiniz. 741 opampı maksimum +15 Volt, minimum -6 Volt gerilimle çalışabilmektedir. Tüm bağlantıları kontrol edip devrenizin hazır olduğuna kanaat getirirseniz dönüştürücüyü denemeye başlayabilirsiniz. Yalnız ilk önce PRG2 ve PRG3'ü yazmalısınız.

MDE'yi kullanarak yazacağımız PRG1, SYS 49152 ile çalışmaktadır ve devamlı olarak ekranın sağ üst köşesinde User Port'un durumunu göstermektedir. Üst satırda User Port'un veri kanalları, alt satırda ise bunların durumları A ve E ile gösterilmektedir. “A” harfi çıkış, “E” harfi ise giriş yerine geçmektedir. Üçüncü satırda ise bunların o anki değerleri yer almaktadır (0 ve 1 olarak). PRG 2 ile dönüştürücünün gerekli ayarlamaları yapılmaktadır. Tam 1:2 oranına sahip sabit dirençler bulunmadığı için bunlar trimpotlar ile ayarlanmalıdır. PRG 3 ise yaptığımız dönüştürücünün çıkışında devamlı artan ve azalan

PROGRAM

PRG 1

: 78 AS OD 8D 14 03
8D 15 63 58 60 AS
: 1F 84 8D 47 84 8D
: A8 IF 85 FA AS
* RO 68 ce Si
: DO Fa AB Ba AS A7
CcO30 * A9 84 AD 83 DD 4A
CcO38 : A2 Bi 40 3F ca A2
: BA 81 FA 68 Sa DO
CO48 : B8 AS EF 85 FA AS
cesa : FB AD Bi DD 4A 88
ce58 : Bi 4C SE CO A2 BE
: 81 FA 68 88 DO EE
CO68 : EA 37 36 35 34 33
CcO70 : 30 FF 88 FF 88
Kullanılacak dirençler ve trimpotlar — bir gerilim olacak şekilde yönetmek-
şu değerlerde olmalıdır: tedir (Üçgen Dalga). Bunu devrenin çı-
BOL PRO Z
cezi REM ves AYAR PROORANI
“99200 96379.
m
00020 PRİNT DONUSTURUCUNUN
GERİLİM ser
As ce ca FORE
cen
sA 8D 43 00080 PRİNT GERİLİMİ TL
&r 64 FO
85 FB DA POKE
"e
FA 88 vE 00080 PRİNT GERİLİMİ İL
<ess>
en ea 00000 “SEKİLDE AYARLAYIN?
se 65 B4 00100
en ma
SEKİLDE AYARLAYIN:
AR: ha 00130
can
ca 00140 GERİLİMİ
OLACAK”
31 Ba PRTNT "SEKİLDE AYARLAYIN Gitar
se sı en
bere
00100

C-64'ün User Port'undan

Resim 3: C-64 için bir D/A dönüştürücü.

çıkışına bağlayacağınız bir voltmetre ile kolaylıkla gözleyebilirsiniz. İsterseniz PRG 3'ü başka şekillerde dalga üretecek şekilde değiştirebilirsiniz. Bunun için User Port'un alt dört Bit'i çıkış olacak şekilde ayarlanmalıdır. 56579 adresine değerini yazarsanız bu iş gerçekleşir. Yalnız bu adrese herhangi bir değer yazarken çok dikkatli davranın, zira çıkış olarak tanımlanmış bir User Port kanalına dışarıdan bir gerilim uygulanırsa kolaylıkla tahrip olabilir. 56577 adresi User Port'un o anki durumunu göstermektedir. Bu adresteki değeri girişler için PEEK ile okuyabilir veya çıkışlar için POKE ile değer yazabilirsiniz. Devreye şimdilik ufak motor veya lamba gibi şeyler bağlamayın, çünkü 741 opampı maksimum 25 mA verebilir. Resim 4'teki devre ile dönüştürücüye 5 Volt'luk lambalar veya ufak motorlar bağlayabilirsiniz. Bu şekilde PRG4'ü de kullanarak bir lambanın parlaklığını ve bir motorun devir sayısını ayarlayabilirsiniz.

Resim 4: Büyük yükler için dönüştürücünün çıkışına bağlanacak devre.

PROGRAM ADI 1 PRG 3

POKE 56578.15
880016 FOR TO 15
©0038 POKE 56577.1
FOR Xs8 TO
©8250 NEXT |
FOR IsiS TO 8 STEP
POKE 56577.1
FOR TO SO1NEXT
©0090 NEXT I
GOTO 10
-1
x
<a24>
<884>
<134>
<174>

PROGRAM ADI 1 PRG 4

IF
00125 POKE 56577.1
00136 PRİNT
16-1)
60140
PRİNT 16)
00038 PRİNT TUSLAR
INI KULLANIN_ằị_
00040 POKE
00050 I¿ẠĐ
A$** (DOWN›* THEN
1>15 THEN I=15
<a17>
<es6>
<0s8>
<154>
<ı7e>
<a43>
(118›