Selasa, 03 Juli 2018

Menghitung arus maksimum output gpio

Berapa besar arus yang aman untuk GPIO? dan bagaimana mengatur besarnya arus untuk GPIO?

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
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 26pin. 


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.
Sehinggaa nantinya masing masing GPIO dibebani hanya sampai 2 mA (masih aman di 1,9 mA).

    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 Î©)


    • Tentukan tegangan kerja di kaki basis transisor (0,7 adalah nilai tetap tegangan picu di transistor silicon/ada didatasheet) 
    3,3 – 0,7V= 2,6V


    • Tentukan arus kerja kaki basis transistor  dengan mengunakan Hfe dari transistor silicon (hfe 90/lihat di data sheet)
    dengan persamaan berikut:
    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
    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.



    https://raspberrypi.stackexchange.com
    https://elinux.org
    http://www.thebox.myzen.co.uk
    https://einhugur.com

    0 Please Share a Your Opinion.: