GPIO adalah
general purpose input output dari raspberry pi yang mampu mengeluarkan tegangan
listrik ataupun menerima signal listrik dari luar.
GPIO sendiri adalah pin atau
kaki atau terminal untuk raspi kita agar bisa berinteraksi dengan dunia luar. Lalu
seberapa besar kemampuan arus kerja GPIO yang aman di tanggung oleh GPIO
raspberry pi?
Tentunya ada perhitungan atau katakanlah pendekatan yang bisa tetap menjaga raspi kita
aman. Gak mau dong raspi tiba tiba terbakar atau short tiba tiba raspi
mati total karena gk mampu menahan beban arus yang melewati pin GPIO.
Maksimal arus GPIO 50 mA
Dengan
mengetahui arus yang aman untuk GPIO maka bisa memperpanjang umur dari
raspberry. Menurut sumber dari raspberry foundation Pin GPIO dapat diberikan
beban sampai 50 mA dengan aman (tapi bukan setiap pin dapat 50 mA melainkan
terbagi kesemua pin)
Maksimal arus tiap pin 16 mA
Maksimal arus tiap pin 16 mA
Setiap pin raspberry secara default diberikan nilai maksimum arus 16 mA dan tidak
boleh melebihi 16 mA
Raspberry pi yang memiliki GPIO header 40 pin maka input outputnya
adalah hanya 26 pin (karna yang lain gnd, Vcc dls tidak dihitung sebagai GPIO)
Jadi GPIO dengan header 26 kaki hanya memiliki 17 pin GPIO, GPIO dengan header 40 kaki hanya memiliki 26 pin GPIO.
Untuk lebih jelas sesuai dengan gambar port GPIO raspi dibawah ini model header 40 pin dan model header 26 pin
Jika setiap pin dibatasi sampai 16 mA,
sedangkan batas aman diberikan total sekitaran 50 mA berarti total pin yang bisa dipakai adalah
50 mA/16 mA = 3 pin (hanya boleh 3 pin pengunaan arus maksimal)
dan
23 pin sisanya tidak terpakai (26pin-3 pin = 23 pin).
Seandainya
sobat memaksa menggunakan lebih dari 4,5,6 GPIO dst... maka raspi akan kolaps
Membagi arus merata di setiap pin.
Sobat bisa menghitung ulang agar total 26 pin (yg model 40 pin) bisa digunakan, yaitu arus maksimal yang diperbolehkan dibagi total pin GPIO manjadi 50mA/26mA =
1,9 mA per pin. Sehingga arus 50 mA dibagi merata ke setiap pin 1.9 mA.
Agar lebih aman lagi bisa melakukan konfigurasi output ke 2 mA , konfigurasi ampere
output ini disebut drive strength
Drive Strength ( konfigurasi drive strength di posting yang akan datang)
- 0= 2mA
- 1 = 4mA
- 2 = 6mA
- 3 = 8mA
- 4 = 10mA
- 5 = 12mA
- 6 = 14mA
- 7 = 16mA.
Arus 1.9 mA terlalu kecil
Masalahnya sekarang adalah arus 1,9 mA dengan tegangan 3,3 volt tidak akan cukup kuat untuk menghidupkan lampu LED yang umumnya menggunakan arus 20 mA.
Untuk menggunakan output GPIO yang hanya mengeluarkan maksimal 2 mA, adalah membuat rangkaian tambahan dengan memanfaatkan transistor, menghitung tahanan resistor dan menambah eksternal source Power 5 volt yang dirangkai seperti gambar dibawah.
Contoh kita punya LED dengan konsumsi tegangan 2,2 v dan arus kerja 16 mA dan source tegangan pi 5 volt.
R = V / I
(5V – 2,2V) / 0,016 A = 175 Ω (gunakan resistor dipasaran 180 Ω)
I(B) = I(C) / β.
0,016 / 90 =0,00018 A
R2 = 2,6 V / 0,00018 A = 14,4 kΩ (didapat resistor 15 kΩ untuk R2 )
- Pertama adalah Gunakan rumus persamaan hukum ohm untuk menetukan tahanan R1 :
R = V / I
(5V – 2,2V) / 0,016 A = 175 Ω (gunakan resistor dipasaran 180 Ω)
- Tentukan tegangan kerja di kaki basis transisor (0,7 adalah nilai tetap tegangan picu di transistor silicon/ada didatasheet)
- Tentukan arus kerja kaki basis transistor dengan mengunakan Hfe dari transistor silicon (hfe 90/lihat di data sheet)
I(B) = I(C) / β.
0,016 / 90 =0,00018 A
- Sekarang untuk mendapatkan arus 0,00018 A kita butuh memasang resistor R2 masih dengan hukum ohm
R2 = 2,6 V / 0,00018 A = 14,4 kΩ (didapat resistor 15 kΩ untuk R2 )
Dengan menggunakan rangkaian transistor diatas sobat bisa mengunakan total 17 atau 26 GPIO yang disediakan raspberry pi dengan aman.
Jika menggunakan 16 mA.
Sekarang jika kita ambil contoh pengunaan GPIO secara langsung menghidupakan LED dengan arus dibawah 16 mA yaitu dengan cara menambah resistor saja maka didapat seperti berikut ini:
Saya punya LED warna merah biasanya memiliki
spesifikasi : ~1.8 volt, 20mAmpere (0,02A) dengan menurunkan menjadi 10 mA
saja untuk kebutuhan arus nya LED masih cukup terang
U = 3.3V - 1.8V = 1.5V
jadi untuk menjaga arus tetap berada di 10 mA kita bisa menggunakan resistor 150 ohm sebagai pembatas arus kurang (lebih kecil dari 16 mA) rangkaian dengan hanya resistor jelas tidak mampu menghidupkan total 17 atau 26 GPIO raspberry pi.
https://raspberrypi.stackexchange.com
https://elinux.org
http://www.thebox.myzen.co.uk
https://einhugur.com
U = 3.3V - 1.8V = 1.5V
R = U / I
1.5V/0.01A = 150 ohm
jadi untuk menjaga arus tetap berada di 10 mA kita bisa menggunakan resistor 150 ohm sebagai pembatas arus kurang (lebih kecil dari 16 mA) rangkaian dengan hanya resistor jelas tidak mampu menghidupkan total 17 atau 26 GPIO raspberry pi.
Sebagai tambahan berikut port tidak hanya GPIO ada port lain juga yang mengunakan arus untuk masing masing output raspi (diluar dari arus 50 mA GPIO)
- Port HDMI menggunakan 50mA,
- Modul Kamera memerlukan 250mA,
- Keyboard dan mouse kira kira 100mA atau lebih tergantung tipe perangkat.
Berikut tabel kebutuhan arus masing masing type raspi:
Product
|
Recommended PSU current capacity
|
Maximum total USB peripheral current draw
|
Typical bare-board active current consumption
|
Raspberry
Pi Model A
|
700mA
|
500mA
|
200mA
|
Raspberry
Pi Model B
|
1.2A
|
500mA
|
500mA
|
Raspberry
Pi Model A+
|
700mA
|
500mA
|
180mA
|
Raspberry
Pi Model B+
|
1.8A
|
600mA/1.2A
(switchable)
|
330mA
|
Raspberry
Pi 2 Model B
|
1.8A
|
600mA/1.2A
(switchable)
|
350mA
|
Raspberry
Pi 3 Model B
|
2.5A
|
1.2A
|
400mA
|
Raspberry
Pi Zero W
|
1.2A
|
Limited by
PSU, board, and connector ratings only.
|
150mA
|
Raspberry
Pi Zero
|
1.2A
|
Limited by
PSU, board, and connector ratings only
|
100mA
|
Berikut ini
adalah tabel yang membandingkan jumlah arus yang dipakai dalam A (amp) saat
raspi beroprasi:
Pi1 (B+)
|
Pi2 B
|
Pi3 B
(amps)
|
Zero
(amps)
|
||
Boot
|
Max
|
0.26
|
0.40
|
0.75
|
0.20
|
Avg
|
0.22
|
0.22
|
0.35
|
0.15
|
|
Idle
|
Avg
|
0.20
|
0.22
|
0.30
|
0.10
|
Video
playback (H.264)
|
Max
|
0.30
|
0.36
|
0.55
|
0.23
|
Avg
|
0.22
|
0.28
|
0.33
|
0.16
|
|
Stress
|
Max
|
0.35
|
0.82
|
1.34
|
0.35
|
Avg
|
0.32
|
0.75
|
0.85
|
0.23
|
Kebutuhan
spesifik saat ini dari masing-masing model tergantung pada pengunaa :
rekomendasi PSU didasarkan pada konsumsi maksimum.
Raspberry Pi
Model A, A +, dan B dapat menyediakan maksimal 500mA ke periferal USB hilir.
Jika Anda ingin menghubungkan perangkat USB daya tinggi, disarankan untuk
menghubungkan hub USB yang ditenagai ke Pi dan menyambungkan periferal Anda ke
hub USB.
Raspberry Pi
B + dan 2 Model B dapat menyediakan 600mA / 1.2A ke periferal USB hilir, dapat
diaktifkan oleh pengaturan firmware. Hal ini memungkinkan sebagian besar
perangkat USB untuk dihubungkan langsung ke model ini, dengan asumsi pasokan
listrik hulu memiliki arus yang tersedia cukup. Perangkat atau perangkat yang
sangat tinggi saat ini yang dapat menarik arus lonjakan seperti modem dan hard
disk USB tertentu masih memerlukan hub USB eksternal. Kebutuhan daya Raspberry
Pi meningkat saat Anda menggunakan berbagai antarmuka pada Raspberry Pi. Sobat juga bisa membaca artikel mengenai transistor, resistor, kapasitor, transformator atau IC di blog ini. semoga bermanfaat..salam :)
https://raspberrypi.stackexchange.com
https://elinux.org
http://www.thebox.myzen.co.uk
https://einhugur.com