Tek Kart Bilgisayarlarda Arayüz Devreleri

Tek kart bilgisayarların GPIO pinlerini kullanırken temel aldığımız bazı kurallar mevcut. Örneğin, transistör, buton, MOSFET, diyot, sürücü gibi bileşenleri tek kart bilgisayara bağlarken temel olarak aşağıdaki kısımlardaki gibi bağlantılar yapmalıyız. Kısacası bu sayfa Raspberry Pi, Orange Pi, Banana Pi gibi tek kart bilgisayarların çeşitli diğer devrelerle arayüzlemek için kullanılan bir dizi ortak devreyi gösterir

tek kart bilgisayarlar buton

Giriş Devreleri / IN-INPUT

Buton ve Anahtarlar

tek kart bilgisayarlar buton

Basit bir buton ya da anahtar devresinin GPIO pinlerine bağlamak çok kolaydır, şemada görüldüğü üzere. Butona basıldığı zaman ya da anahtar kapandığı zaman GPIO pini “LOW” = “0” konumuna gelecektir. Buton bırakıldığı zaman ya da anahtar açıldığı zaman GPIO pini “HIGH” = “1” konumuna gelecektir. Bu olayın başlıca sebebi R1 olarak adlandırılan direncin burada  olarak kullanılmasıdır.

Voltaj Bölücüler

tek kart bilgisayarlar buton

Bu devre, 5V’luk bir cihazdan 3.3V giriş seviyesi gerektiren Pi üzerindeki bir GPIO pinine dijital bir sinyal bağlamak için kullanılabilir. Burada ki en önemli noktalardan biri iki cihazında GND pinlerinin bir birine bağlanması gerekmektedir. Burada önemli olan diğer husus ise R2’nin (R1 + R2) ‘ye oranıdır ; oran, 5V’nin 3.3V’a bölüneceği şekilde olmalıdır. Bu örnekte oran 0.647 (= 33 / (18 + 33)), dolayısıyla 5V 3.24V’a (= 0.647 * 5) bölünmüştür. Burada gösterilen değerler çoğu kullanım için uygundur fakat kendi kullanımıza uygun bir şekile getirmeniz sizin için daha iyi olabilir.

Voltaj Bölücünün Sakıncaları

Bu devre, çıkışa (R1 + R2) / R1 * R2’ye eşit bir direnç ekler, böylece zor bir yükü sürmek için daha az akıma sahip olursunuz. Çoğu durumda bu bir sorun değildir, ancak nispeten yüksek bir yük sürmek veya kapasitif bir yükün hızlı bir şekilde değiştirilmesini istiyorsanız daha iyi bir şeye ihtiyacınız olabilir. Diğer bir ayrıntı da, çıkış yüksek olduğunda zemine çok hafif bir akım sızmasıdır (5V / (R1 + R2) ~ = 0.1mA).

Çıkış Devreleri / OUT-OUTPUT

GPIO pinleri, tek kart bilgisayarın kalbindeki yongaya doğrudan bağlanır. Bunlar yalnızca 3.3V çıkış seviyesi sağlar ve fazla güç sağlayamaz. Daha da önemlisi, yanlış kullanım nedeniyle hasar görürlerse, tek kart bilgisayarın kendisinin değiştirilmesine sebep olacaktır.

Bu nedenle, GPIO çıkışına küçük bir LED’den başka bir şey bağlıyorsanız, voltajı ve / veya akımı artırmak için ek bir devre kullanmalısınız.

NPN Transistör Kullanımı

tek kart bilgisayarlar buton

NPN transistörlere bir çok konuda kolaylık sağladığı için kullanıyoruz, daha önce NPN transistör kullanarak “Orange Pi için otomatik işlemci soğutma fanı” uygulaması yapmıştık. Buradaki kullanımı da tıpkı örnekte verdiğimiz gibi anahtarlama devresi olarak kullanılıyor, GPIO pini “HIGH” = “1”  olduğunda, tetiklenme başlayacak ve “load” kısmı çalışacak. GPIO pini “LOW” = “0” olduğunda ise tetiklenme olmayacak bu yüzden “load” kısmı çalışmayacaktır. R1 direnci koruma olarak eklenmiştir. Burada kullanılan 2N3904 transistörü ile 40V’a kadar bir besleme hattı kullanılabilir (bu, transistörün veri sayfasında verilen V CEO değeridir). 100mA’ya kadar yük akımınada uygundur. Daha güçlü transistörler gerektiren projelerde, transistöre soğutucu blok eklemeyi unutmayın.

FET Kullanımı

tek kart bilgisayarlar buton

FET yani alan etkili transistor , yukarıda gösterilen bipolar(çift kutuplu) transistöre bir diğer alternatiftir. Yine, GPIO pini “HIGH” = “1” olduğunda, yük açılacak ve “LOW = “0” olduğunda yükü kapatacaktır. Direnç R1 güvenlik için kullanılmıştır; Ayrıca GPIO bir giriş olarak ayarlanmışsa yükün kapatılmasını sağlar. İki kutuplu transistör devresinde olduğu gibi, yük için 5V’den yüksek besleme voltajları kullanılabilir. 2N7000 FETin maksimum (V DS ) voltajı 60V’dur ; yaklaşık 100mA’lık yük akımları için uygundur. Daha büyük yükler için daha büyük bir FET seçebilirsiniz: akım değeri (I D ) ve gerilim derecesi (V DS ) veri sayfasında(datasheet) verilmiştir. Bipolar transistörlerin aksine, FET’lerin endişelenecek bir ‘kazanımı’ yoktur. Bunun yerine, 3V veya daha düşük bir ‘eşik’ voltajı (FET’in açılmaya başladığı giriş voltajı) aramalısınız, böylece GPIO’nun 3.3 volttan çalıştırıldığında düzgün bir şekilde ‘açık’ olur. Bazı veri sayfaları bir eşik voltajı vermez – bunun yerine 2.5 veya 2.7 voltta ölçülen bir R DS (açık) değeri verirler . FET, 3.3V lojik giriş için uygun değilse, bu değer verilmeyecektir. Fairchild’in FQP30N06L’si düşük bir eşik voltajına (2.5V maks.) Sahiptir ve 60 voltta 32 amper değiştirebilir.

İki kutuplu transistörlerde olduğu gibi, bir güç FET’inin nominal akımına yakın herhangi bir yerde kullanıyorsanız iyi bir soğutucuya ihtiyacı olacaktır.

Röle Kullanımı

tek kart bilgisayarlar buton

Endüktif bir yük bağlıyorsanız (esasen bu, bir röle, motor veya solenoid gibi sargılı herhangi bir şey anlamına gelir), yukarıda gösterildiği gibi bir diyot D1 takmanız önerilir ( katotun pozitif besleme rayına bağlı olduğunu unutmayın. ). Endüktif bir yük kapatıldığında, Q1 transistörünün maksimum değerini aşabilen bir voltaj yükselmesi oluşur(zıt emk); diyot, hasarı önlemek için bu voltajı ‘kelepçeler’.

Level Shifter / Lojik Seviye Değiştirici Kullanımı

Çoğu dijital mantık devresi (özellikle daha eski olanlar) 5 voltluk bir güç kaynağı kullanır. Bunlar, 3.3V güç kaynağı kullanan tek kart bilgisayarların GPIO pinlerine bağlanamaz. İki durum vardır:

a) bir çevre biriminin girişini süren bir çıkış

b) bir tek kart bilgisayarın girişini süren bir çevre biriminin çıktısı.

a) durumunda GPIO, çoğu 5V CMOS mantığının gerektirdiği 3.5V’den (= 0.7 * V DD ) daha düşük olan bir mantık ‘yüksek’ için + 3.3V çıktı verecektir .

b) durumunda bir 5V mantık çıkışı GPIO girişine aşırı yüksek voltaj gönderecek ve bu da her ikisine de zarar verebilecektir. Ancak bu sorun bir voltaj bölücü ile kolayca çözülebilir.

Çözüm, seviye değiştiren bir devredir. Seviye değiştiriciler IC formunda veya birçok tedarikçiden önceden oluşturulmuş modüller olarak (örn. Adafruit, Sparkfun, Cool Components) mevcuttur, ancak kendinizinkini yapmak oldukça kolaydır.

MOSFET Seviye Değiştirici Kullanımı

tek kart bilgisayarlar buton

Bu tarzda tek MOSFETli seviye değiştirici devrelerde, GPIO pini “LOW” yani “0” olduğunda MOSFET çalışmaya başlar çünkü gate-source arasındaki potansiyel fark yani voltaj 3.3 Volttur. Bu sebeple, GPIO pini 5V tarafına bağlanmış olur. GPIO pini “HIGH” yani “1” olduğunda MOSFET çalışmaz çünkü gate-source arası neredeyse 0 Volttur ve R2 direnci, 5Voltluk kısmı pull-up dirence çekerek 0 olur.

Bu devre aynı zamanda yukarıdaki anlatımın tam tersi yönde de çalışabilmektedir. Bu sayede 5Voltluk bir kaynakla, 3.3Voltluk GPIO pinlerini kullanabilirsiniz. Buradaki MOSFET’in source-drain bacaklarına bir diyot bağladımız zaman; 5V logic kısmı “LOW” yani “0” olursa, GPIO pinini “0” a çeker. Eğer 5V logic kısmı “HIGH” yani “1” olursa, her şey kapanır ve GPIO pini 3.3Volta, R1 direnci ile pull olur.

Bu nedenle, yukarıdaki devre genellikle I2C gibi çift yönlü veri yollarındaki seviyeleri dönüştürmek için kullanılır. Bir I2C veriyolu için, biri SDA hattı ve diğeri SCL için olmak üzere bu devreden iki taneye ihtiyacınız olacağını unutmayın.

Diyot Kullanımı

tek kart bilgisayarlar buton

Aslında bu şematik, Arduino(PIC,AVR,ATmel) gibi mikroişlemcilerin, tek kart bilgisayarın seri portuna bağlanma şeklidir. Tek kart bilgisayarın TxD pinindeki 0 ve 3.3V mantık seviyeleri (D1 ve R1 aracılığıyla) yaklaşık 0.7V ve 4.0V’a kaydırılır. Bu, ATMega328’in RxD pini için spesifikasyon dahilindedir, bu nedenle mantık seviyeleri doğru şekilde tanınır. Yalnızca spesifikasyon dahilinde olduğunu unutmayın; bu, elektriksel gürültünün (parazit), ‘uygun’ bir seviye değiştirici kullanılmasına göre daha kolay hatalara neden olabileceği anlamına gelir.

ATMega328’in TxD’si ile Pi’nin RxD’si arasında seviye dönüşümü yoktur. Bunun yerine, direnç R2, bir cihazdan diğerine akan akımı güvenli bir değere (0,5 mA’nın altında) sınırlar.

IC / Entegre Devre Kullanımı

tek kart bilgisayarlar buton

SN7407 aslında open-collector olarak adlandırılan bir arabellek entegresidir, çeşitli seviye kaydırma ve çıktı sürücüsü görevleri için kullanışlıdır. GPIO çıkışı “0” (LOW) olduğunda, 7407 çıkışı düşük olacaktır. GPIO pini “1” olduğunda, 7407 çıkışı ‘çalıştırılmaz’ ve R1 devre çıkışını yüksek konumuna çeker. Çıkış yüksek voltajı 30V kadar yüksek olabilir.

7407ün çıkış düşük olduğunda 30mA’ya kadar düşebilir, bu nedenle düşük akım yükleri (örn.LED’ler) doğrudan R1’in yerine bağlanabilir. IC, 14 pinli bir DIP paketinde altı bağımsız devreye sahiptir ve oldukça ucuzdur.