DC volume control : volume dapat dikendalikan menggunakan input tegangan DC ke TDA7053
Few external components : hanya perlu beberapa komponen pasif untuk menjalankan TDA7053 sebagai amplifier
Mute mode : output dapat dibuat ‘mute’/sunyi dengan memberikan tegangan kurang dari 0.4 volt ke pin DC volume control.
Thermal protection : ada pengamanan terhadap panas yang berlebih, jika temperatur TDA7053 terlalu tinggi, maka penguat ini akan dinonaktifkan
Short-circuit proof : pendeteksian arus lebih pada output, jika arus output terlalu besar, maka amplifier dinonaktifkan/
No switch-on and switch-off clicks : ada pengamanan supaya tidak terjadi suara ‘klik’ ketika amplifier dinyalakan maupun dimatikan.
Good overall stability
Low power consumption : disipasi daya kecil
Low HF radiation
ESD protected on all pins : pengamanan terhadap elektrostatis pada setiap pin penguat.
Deskripsi Umum
The TDA7053A (2 x 1 W) dan TDA7053AT (2 x 0.5 W) adalah penguat stereo BTL dengan kendali volume menggunakan tegangan DC. Komponen ini dirancang untuk dipakai di perangkat televisi dan monitor, namun cocok juga untuk perangkat perekam dan radio yang menggunakan batere.
Referensi Singkat TDA7053
Tegangan supply dapat diberikan dari 4.5 volt sampai 18 volt, namun yg umum adalah 6 volt.
Daya output yang dapat diberikan ke speaker adalah masing-masing 1 watt, dengan tegangan supply 6 volt.
Blok Diagram TDA7053
Rangkaian dasar TDA7053
Pada rangkaian dasar TDA7053 nampak bahwa komponen tambahan yang diperlukan sangat sedikit.
Pada bagian input menggunakan resistor 5 kohm dan kapasitor 470 nF.
Power supply menggunakan kapasitor 220 uFdan 100 nF sebagai filter agar tegangan supply ‘bersih’ dari gangguan.
Output menggunakan 2 buah speaker 8 ohm. Daya maksimum setiap speaker adalah 1 watt.
Volume control menggunakan tegangan DC yang diberikan ke pin 2 dan 8, jadi pengaturan volume tidak perlu menggunakan potensiometer di input. Tegangan DC untuk volume ini dapat dibangkitkan dengan potensiometer, ataupun juga dengan menggunakan rangkaian lain, misal menggunakan digital to analog coverter (DAC) dari sebuah mikrokontroler.
Penguatan TDA7053 terhadap tegangan kendali
Penguatan TDA7053 dikendalikan oleh tegangan pada pin 2 dan 8. Pada tegangan kurang dari 0.4, praktis tidak ada tegangan output sama sekali, jadi masuk ke mode ‘sunyi’ (mute). Penguatan maksimum adalah 40 dB.
BTL adalah singkatan dari Bridge-Tied-Load. Pada konfigurasi BTL, satu sinyal diperkuat 2 kali, satu cabang diperkuat ke arah positif (dengan penguatan positif), satu cabang diperkuat ke arah negatif (dengan penguatan negatif). Kedua sinyal yang berlawanan ini kemudian disambungkan ke sebuah speaker. Dengan cara ini didapatkan ayunan tegangan 2x dibandingkan hanya menggunakan 1 buah amplifier. Cara ini praktis untuk mendapatkan ayunan tegangan tanpa perlu mengganti power supply dengan yang lebih besar.
MOSFET (Metal Oxide Semiconductor Field Effect Transistor) dapat menggantikan relay pada beberapa kondisi tertentu, namun tidak semua rangkaian relay dapat digantikan dengan MOSFET.
Relay [sumber]Relay pada prinsipnya adalah sakelar yang dikendalikan dengan arus. Transistor MOSFET adalah transistor yang dapat dioperasikan sebagai penguat, dan juga dapat dioperasikan sebagai sakelar.
Berikut ini contoh relay yang dikendalikan melalui sebuah transistor NPN. Terminal OUT dapat berasal dari rangkaian digital seperti mikrokontroler ataupun Arduino. Transistor NPN diperlukan karena arus dari rangkaian digital biasanya tidak cukup kuat untuk dapat langsung menggerakkan relay.
Resistansi ON ada, kurang dari 1 ohm. Misal untuk IRF520, Rds-on adalah 0.27 ohm
Resistansi ketika ON praktis tidak ada (0 ohm)
Ada arus bocor beberapa mikro ampere ketika OFF
Praktis tidak ada arus bocor ketika OFF
Ketika OFF, arus terblokir hanya untuk 1 arah saja, sedangkan jika arus dibalik, maka umumnya dapat lewat.
Ketika OFF, arus terblokir untuk dua arah. Jadi relay dapat dipakai untuk arus bolak-balik
Rangkaian pengendali dan rangkaian yang dikendalikan tidak terisolasi secara galvanis. Dalam contoh rangkaian di atas, rangkaian pengendali dan yang dikendalikan mempunyai ground (GND) yang sama.
Rangkaian pengendali dan rangkaian yang dikendalikan terisolasi secara galvanis.
Tegangan Drain-Source hanya dapat bertahan sampai suatu batas tertentu.
Relatif tahan terhadap lonjakan tegangan (spike)
Ukuran kecil
Ukuran besar
Umur siklus panjang
Umur siklus pendek, endurance 50 juta sampai 100 juta siklus.
Switching time (perubahan ON ke OFF dan sebaliknya) cepat.
Switching time (perubahan ON ke OFF dan sebaliknya) lambat, dalam orde 20 ms
Berikut ini contoh rangkaian penguat output digital suatu mikrokontroler dengan menggunakan MOSFET kanal N.
Arus keluaran dari mikrokontroler sangat terbatas. Pada ATMega328 misalnya, 1 pin hanya dapat memberikan maksimal 40 mA kalau hanya 1 pin yang aktif. Jika semua pin output aktif, maka arus maksimal setiap pin sekitar 8 mA.
Output Digital Mikrokontroler Dengan MOSFET
Cara Kerja Rangkaian
IRF520 adalah transistor jenis MOSFET kanal N, memerlukan tegangan gate (Vgs) sekitar 2 sampai 4 volt agar transistor ini aktif sebagai sakelar (ON). Tegangan gate ini diperoleh dari mikrokontroler, yang disambungkan ke terminal OUT pada gambar di atas.
Pada rangkaian minimalis, resistor 10 ohm di atas dapat diganti dengan kabel, dan transistor 22k ohm dapat dihilangkan. Namun pada rangkaian di atas ditambahkan resistor 10 ohm yang berfungsi sebagai ‘gate resistor’, yaitu untuk membatasi arus transien yang mengalir ke gate ketika pin OUT berubah dari 0 volt menjadi 5 volt. Arus transien ini tidak merusak transistor maupun mikrokontroler, namun dapat menjadi osilasi dan membangkitkan radiasi yang mengganggu komponen lainnya. Resistor 22k fungsinya untuk menjaga gate transistor dalam keadaan ‘LOW’ kalau terminal OUT dalam keadaan floating/mengambang. Kondisi floating ini terjadi umumnya ketika mikrokontroler baru direset, karena pada waktu mikrokontroler baru direset, biasanya semua pin dikonfigurasikan sebagai input, bukan sebagai output.
Transistor IRF520 mempunyai kemampuan arus drain (D) maksimal sebesar 9.2 ampere pada temperatur 25 derajat Celcius, dan 6.5 ampere pada temperatur 100 derajat Celcius.
Aki motor juga ada yang berkapasitas 5,3Ah (YTZ6V) dan 6 AH (YT7C)
Aki Yuasa YTZ6V (5.3 Ah) dan YT7C (6 Ah)Powerbank mi.com dengan kapasitas 10000 mAh
Secara sepintas 5Ah = 5000 mAh, sedangkan 10000 mAh lebih besar daripada 5000 mAh, jadi disimpulkan bahwa kapasitas power bank lebih besar daripada kapasitas aki motor, padahal ukuran powerbank jauh lebih kecil daripada aki motor.
Perhitungan di atas keliru, karena tidak memperhitungkan tegangan batere, padahal kapasitas energi tidak dapat hanya membandingkan mAh saja, namun juga mesti memasukkan tegangan batere.
Rumus energi:
energi = kapasitas (mAh) x tegangan (volt)
Maka:
energi aki = 5Ah x 12 volt = 60 ampere volt hour = 60 WH
energi powerbank = 10000 mAh x 3.6 volt = 36000 mili ampere volt hour = 36 WH
Jadi kapasitas energi aki lebih besar daripada kapasitas energi powerbank.
Aki motor dan aki mobil umumnya menggunakan batere tipe asam-timbal (lead acid), sedangkan batere untuk powerbank umumnya menggunakan tipe lithium-ion.
Batere asam-timbal mempunyai keuntungan utaka harganya paling murah untuk mendapatkan kapasitas tertentu, kelemahannya adalah berat. Untuk kendaraan bermotor, berat ini tidak terlalu masalah karena batere yang digunakan tidak terlalu berat dibandingkan berat kendaraan keseluruhan. Berbeda dengan kendaraan listrik, di mana bobot batere cukup besar.
Batere lithium ion mempunyai keuntungan yaitu lebih ringan dibandingkan asam-timbal, namun harganya lebih mahal dibandingkan asam-timbal.
Perbedaan Aki Motor Dan Powerbank
Aki motor mirip dengan powerbank, yaitu sama-sama menyimpan energi listrik. Namun demikian ada perbedaan utama. Pada aki motor/mobil, pemakaian utama aki tersebut adalah untuk starter motor di awal yang memerlukan arus sangat besar. Setelah mesin motor/mobil menyala, pemakaian arus kecil saja. Batere jenis ini dikenal dengan baterai starter atau baterai SLI (Starting, Lighting, Ignition) . Struktur di dalam aki starter ini lebih untuk mencapai kemampuan arus yang besar, biasanya dengan menambah luas permukaan pada elektroda yang dipakai.
Batere pada powerbank memiliki pemakaian yang berbeda, yaitu arus yang relatif kecil dengan jangka waktu yang panjang. Untuk mencapai kemampuan ini tidak perlu luas permukaan besar, namun lebih penting adalah ketebalan dari elektroda yang dipakai. Batere seperti ini dikenal juga dengan baterai deep cycle.
Jawaban ringkas: 100 Wh = 27778 mAh untuk tegangan 3.6 volt
Dalam aturan dari Direktorat Jenderal Perhubungan Udara ditentukan bahwa
powerbank yang mempunyai kapasitas di bawah 100 Wh dapat dibawa dalam bagasi kabin,
powerbank berkapasitas 100 Wh ~ 160 Wh harus melalui persetujuan maskapai yang bersangkutan,
powerbank berkapasitas lebih dari 160 Wh sama sekali dilarang dalam penerbangan
Masalahnya sekarang adalah ada powerbank yang tidak mencantumkan kapasitas dalam satuan Wh, namun hanya mencantumkan dalam satuan mAh.
Untuk mengubah mAh menjadi Wh perlu diketahui mAh itu untuk berapa volt.
Rumusnya:
tegangan x kapasitas (mAh) = kapasitas energi (Wh)
Powerbank mi.com 10000 mAh
Misal diketahui powerbank mi.com 10000 mAh di atas. Powerbank ini mencantumkan kapasitas dalam satuan yang lengkap, sehingga kita mudah membacanya:
kapasitas (mAh) = 10000 mAh , untuk tegangan 3.6 V
kapasitas 34.23 Wh / 36 Wh
Kapasitas tercantum dalam Wh jelas, yaitu 34.23 Wh atau 36 Wh, tergantung tegangan outputnya (5 volt atau 5.1 volt).
Dari perhitungan mAh juga dapat dihitung:
kapasitas = tegangan x kapasitas (mAh) = 3.6 V x 10000 mAh = 36000 volt mili ampere hour = 36 volt ampere hour = 36 watt hour = 36 Wh
Catatan:
1000 mili ampere = 1 ampere
volt x ampere = watt
Jadi berapakah 100 Wh dalam mAh? Jika diasumsikan tegangan 3.6 volt, maka:
kapasitas (mAh) = kapasitas (Wh) / tegangan (volt) = 100 Wh / 3.6 volt = 27.778 watt hour / volt = 27.778 ampere hour = 27778 mAh
Catatan:
watt dibagi volt = ampere
1 A = 1000 mA jadi 1 Ah = 1000 mAh
Dalam artikel dari Direktorat Jenderal Perhubungan Udara, sudah disebutkan juga bahwa, “powerbank yang bisa dibawa bebas ke dalam kabin adalah yang berkapasitas di bawah 27.000mAh dengan voltase 3.6V – 3.85V.” Jadi hasil perhitungan (27778 mAh) tidak berbeda jauh dengan yagn diumumkan (27.000 mAh).
Pertanyaan: Berapakah kapasitas batere kotak 9 volt dalam mAh?
Batere kotak 9 volt tersedia dalam beberapa tipe, namun yang paling umum dijumpai di pasaran Indonesia adalah sebagai berikut:
Zinc-Carbon, kapasitas sekitar 400 mAh, tidak dapat diisi/dicas ulang
Alkaline , kapasitas sekitar 550 mAh, tidak dapat diisi/dicas ulang
NiMh, 175~300 mAh, dapat diisi/dicas ulang
Angka mAh tersebut hanya perkiraan, karena angka pastinya tergantung dari arus yang dipakai. Pada arus yang besar, maka mAh lebih kecil, pada arus kecil maka mAh akan lebih besar.
Batere 9 volt NiMh
Berikut ini contoh batere 9 volt tipe Ni-MH dengan kapasitas 300 mAh:
Batere 9 volt NiMH 300 mAh
Batere 9 volt Li-Polymer
Batere kotak 9 volt tersedia juga versi Lithium-Polymer / Li-Polymer. Batere Li-Polymer satu sel nya mempunyai tegangan maksimum 4.2 volt, sedangkan batere 9 volt ini disusun oleh 2 sel batere, sehingga total tegangan outputnya sebenarnya 8.4 volt, tidak sampai 9 volt.
Batere 9 volt Lithium Polymer 720 mAhBatere 9 volt Li-Polymer 450 mAh
Batere lithium polymer ketika masih penuh 100% mempunyai tegangan maksimum 4,2 volt, sedangkan setelah dipakai sampai 50% maka akan menurun sampai 3,7 volt . Jadi sebenarnya batere kotak lithium polymer tersebut memiliki tegangan awal di 8,4 volt, dan rata-rata akan di sekitar 7,4 volt. Sumber gambar: https://learn.adafruit.com/li-ion-and-lipoly-batteries/voltages
Batere 9 volt alkaline 565 mAh
Batere 9 volt Alkaline (kiri) dan seng-karbon (kanan)
Catatan
Satuan tegangan batere adalah volt. Penulisan satuan ini ada dua cara, jika ditulis lengkap maka ditulis dengan huruf kecil ‘volt’. Jika ditulis singkat, maka menggunakan huruf besar ‘V’.
Satuan arus adalah ‘ampere’. Ditulis lengkap dengan huruf kecil ‘ampere’, ditulis singkat dengan huruf besar ‘A’.
Jadi contoh kalimat yang benar:
Batere 9 volt berapa mAh kapasitasnya
Batere 9 V berapa mAh kapasitasnya
Contoh yang keliru:
Batere 9v berapa mAh kapasitasnya (‘v’ mestinya ditulis ‘volt’ atau ‘V’, dan ditulis terpisah dari angka 9)
Batere 9 v berapa mAh kapasitasnya
Batere 9 Volt berapa mAh kapasitasnya
Batere 9 V berapa mah kapasitasnya (‘a’ pada mah seharusnya huruf besar , karena singkatan dari ‘ampere’
Mengisi Ulang Batere Kotak 9 V
Batere 9 volt ada yang dapat diisi ulang, ada juga yang tidak dapat. Batere tipe alkaline dan seng-karbon tidak dapat diisi ulang. Batere Li-Polymer dan Ni-Mh dapat diisi ulang dengan menggunakan charger yang sesuai.
Salah satu charger yang cocok untuk mengisi batere kotak 9 volt tipe Li-Polymer adalah charger batere serbaguna tipe IMAX-B6AC. Charger ini dapat diatur untuk mengisi ulang berbagai tipe batere, salah satunya Li-Polymer. Hanya saja kita perlu mengatur berapa jumlah sel batere yang ada, dan berapa kapasitas batere. Batere 9 volt Li-Po berisi 2 sel batere seri, sehingga tegangan sebenarnya adalah 8.4 volt.
Pada gambar berikut ini nampak setting IMAX-B6AC untuk mengisi batere tipe LiPo (Lithium Polymer) dengan jumlah sel 2 seri atau 7.4 volt. Setting arus di situ tertulis 1.9 A, namun sebenarnya perlu disesuaikan dengan kapasitas batere sesungguhnya.
Berikut ini charger NiMH Energizer tipe CHCC-EU. Charger ini cocok untuk mengisi batere tipe NiMH saja.
‘A’ adalah singkatan dari ‘ampere’, yang merupakan satuan besarnya arus listrik. Penulisan satuan arus ini jika disingkat adalah ‘A’ (huruf besar), sedangkan jika tidak disingkat adalah ‘ampere’ (huruf kecil).
Huruf ‘m’ pada ‘mA’ artinya adalah ‘mili’, atau 1 per seribu. Jadi ‘mA’ jika dipanjangkan adalah ‘mili ampere’, atau ‘seperseribu ampere’. Dengan demikian 1 ampere tentunya setara dengan 1000 x seperseribu, maka dengan demikian 1 A adalah 1000 mA.
Ampere sendiri berasal dari nama orang, yaitu ‘André-Marie Ampère’ dari Perancis.
Prefix
“milli” adalah termasuk prefix yang sering dipakai di elektronika sehari-hari. Selain milli, ada prefix lain pada sistem metrik yang standar, yaitu:
Mikrokontroler seperti Arduino sering perlu disambungkan ke berbagai perangkat digital, untuk itu diperlukan kemampuan output dari mikrokontroler yang perlu disesuaikan dengan sifat perangkat yang dituju. Berikut ini beberapa kemungkinan permasalahan output yang dijumpai:
Tegangan kecil, arus kecil (langsung)
Tegangan kecil, arus besar (perlu penguat arus BJT/MOSFET)
Tegangan besar (perlu pengubah tegangan BJT/MOSFET, Relay)
Beban Induktif (kumparan,motor)
Galvanic Isolation (dengan optocoupler)
H-Bridge untuk motor 2 arah
Pulse Width Modulation untuk mengatur pemberian energi
Serial to Paralel untuk menambah port I/O
Tegangan Kecil Arus Kecil
Tegangan kecil di sini maksudnya adalah tegangan perangkat output sama atau kurang dari tegangan output mikrokontroler.
Arus kecil di sini maksudnya adalah arus yang diperlukan perangkat output sama atau kurang dari kemampuan arus output mikrokontroler.
Pada kasus ini output dari mikrokontroler cocok dari sisi arus maupun tegangan, sehingga output mikrokontroler dapat langsung dihubungkan ke beban / perangkat output.
Misal, output yang diinginkan adalah menyalakan sebuah LED. LED mempunyai tegangan maju sekitar 2 volt, dengan arus 25 mA jika ingin cukup terang. Port pada ATMega328 dapat memberikan arus maksimal 40 mA, dengan tegangan output 5 volt, maka dalam hal ini, LED dapat langsung dihubungkan ke output ATMega328 tanpa perlu penguatan, cukup dengan resistor sebagai pembatas arus.
LED output
Tegangan Kecil Arus Besar
Tegangan kecil di sini maksudnya adalah tegangan perangkat output sama atau kurang dari tegangan output mikrokontroler.
Arus besar di sini maksudnya adalah arus yang diperlukan perangkat output lebih dari kemampuan arus output mikrokontroler.
Contoh kasus:
lampu LED perlu 25 mA, sedangkan output mikrokontroler hanya sanggup 8 mA karena pin output lain juga aktif
LED 7 segmen , setiap segmen 25 mA, jadi perlu total 25 mA x 8 = 200 mA untuk arus di pin common anoda/katoda.
Dalam hal ini maka diperlukan penguatan arus, yang antara lain dapat dilakukan dengan komponen berikut:
Transistor BJT NPN (misal BC548)
Transistor BJT PNP (misal BC557)
Transistor MOSFET kanal N (misal IRF520)
Transistor MOSFET kanal P
Transistor Darlington terintegrasi, seperti IC ULN2803
Secara teoritis, penguatan ini dapat juga dilakukan menggunakan penguat / amplifier analog ataupun op-amp, namun hal ini tidak praktis karena penguat analog umumnya menggunakan transistor dalam kondisi aktif sehingga penggunaan arus lebih besar. Penguat digital hanya menggunakan 2 keadaan transistor ON dan OFF, sehingga disipasi daya pada transistor lebih kecil.
Contoh rangkaian penguat arus dengan transistor NPN sebagai berikut:
Tegangan besar di sini maksudnya adalah tegangan yang diinginkan lebih tinggi dari tegangan output mikrokontroler. Misal output mikrokontroler adalah TTL 5 volt, sedangkan output diinginkan level CMOS, misal 9 volt. Maka dapat dipakai rangkaian berikut ini:
Konverter TTL 5 volt ke level CMOS
Pada contoh berikut ini , ada 5 buah LED seri yang ingin dinyalakan. 1 LED memerlukan tegangan 2 volt, sehingga total perlu 10 volt. Untuk itu diperlukan transistor NPN sebagai sakelarnya.
Beban induktif perlu dioda pengaman, karena ketika output dimatikan maka arus pada dioda masih ingin tetap mengalir.
Jika arus apda beban induktif melebihi kemampuan output port mikrokontroler maka arus perlu diperkuat dengan transistor BJT ataupun MOSFET.
Penguat output untuk beban induktif
Jika perlu banyak mengendalikan beban induktif, maka alternatif yang baik adalah IC ULN3803. ULN2803 di dalamnya sudah memiliki penguat arus dengan transistor dan dioda pengaman, sehingga cocok untuk beban induktif. Kemampuan arus setiap kanalnya adalah 500 mA.
ULN2803 diagram
Galvanic Isolation
Pada galvanic isolation, antara mikrokontroler dengan komponen yang dikendalikan tidak terdapat hubungan secara elektrik. Jalur ground dan sinyal betul-betul terpisah. Untuk mencapai galvanic isolation dapat menggunakan kopling magnetik ataupun optocoupler. Untuk aplikasi Arduino yang sederhana, yang praktis adalah menggunakan optocoupler jika dekat, dan menggunakan fiber optik jika jaraknya agak jauh.
Galvanic isolation
H-Bridge
H-Bridge diperlukan untuk beban yang memerlukan polaritas yang dapat diubah.
Penambahan port input output pada Arduino dapat dilakukan dengan menggunakan komponen antar muka serial ke paralel. Komponen yang sering dipakai di antaranya adalah “74HC164 8-Bit Parallel-Out Serial Shift Register” dan “PCF8574 Remote8-Bit I/O Expander for I2C Bus“.
Diagram logika 74HC164 shift register
Prinsip kerja 74HC164 adalah sebagai sebuah shift register 8 bit. Data serial dimasukkan pada pin A dan B. Setiap ada pulsa clock pada pin CLK, maka data 1 bit dimasukkan ke shift register. Data pada shift register ditampilkan pada pin Qa sampai dengan Qh. Jadi setiap 74HC164 dapat menambah 8 port output. Jika diinginkan lebih dari 8 port output, maka 74HC164 berikutnya dapat ditambahkan secara cascade. 74HC164 ini hanya dapat berfungsi sebagai output digital.
Alternatif lainnya adalah menggunakan IC 74HC595. Prinsip kerjanya serupa, namun kelebihan 74HC595 adalah terdapat tambahan register output selain shift register, sehingga perubahan output dapat dilakukan secara serentak. 74HC595 juga memiliki three-state buffer di bagian outputnya sehingga lebih fleksibel.
Blok diagram 74HC595
PCF8574 adalah periferal I2C yang memiliki 8 buah port input output digital. PCF8574 dapat disambungkan dengan protokol I2C ke mikroprosesor. Jika memerlukan lebih dari 8 port digital, maka dapat ditambahkan PCF8574 berikutnya. Setiap PCF8574 mesti memiliki alamat yang berbeda. Alamat dapat diatur dengan pin A0,A1 dan A2, sehingga dari kombinasi 3 pin ini kita dapat menghubungkan 8 buah PCF8574 ke sebuah mikroprosesor, total menjadi 8×8 = 64 port digital sebagai input ataupun output.
Suatu mikrokontroler perlu dapat menangani input digital dalam berbagai kondisi. Berikut ini beberapa kemungkinan input digital yang dapat dihadapi dalam merancang suatu sistem berbasis mikrokontroler:
Input tegangan normal (sama dengan VCC), artinya level tegangan digital sama dengan mikrokontroler
Input tegangan besar (>VCC), artinya level tegangan digital lebih tinggi daripada tegangan kerja mikrokontroler
Input tegangan kecil (<VCC), artinya level tegangan digital lebih rendah daripada tegangan kerja mikrokontroler
Galvanic Isolation (optocoupler), jika perbedaan level tegangan antara input dan mikrokontroler sangat besar, atau ground input dan mikrokontroler tidak boleh disatukan.
Input jarak jauh (1m, 10m, 100m, >100m), jika jarak antara sumber sinyal digital dan mikrokontroler cukup jauh, maka perlu rangkaian tambahan.
Paralel to Serial untuk menambah port I/O, jika port di mikrokontroler kurang, maka perlu teknik menambah port
Input Tegangan Normal
Pada keadaan tegangan masuk sudah sama dengan batas masukan tegangan mikrokontroler, maka paling mudah adalah langsung disambung ke pin masukan mikrokontroler.
Input Tegangan Besar
Yang dimaksud dengan ‘tegangan besar’ di sini adalah tegangan input yang lebih besar dari tegangan supply (VCC) mikrokontroler.
Beberapa alternatif solusi:
Tegangan input perlu dikurangi/dibagi supaya <=VCC (dengan resistor, transistor, dsb)
Tegangan input perlu dibatasi supaya <=VCC (dengan dioda/transistor)
Ide lain yang tidak konvensional:
diperkecil menggunakan operational amplifier, dengan rangkaian yang penguatannya kurang dari 1
tegangan di atas 5 volt diperkecil dengan menggunakan regulator 7805
Berikut ini rangkaian bidirectional level converter yang dapat digunakan untuk menaikkan tegangan maupun menurunkan tegangan.
Bidirectional level converter
Rangkaian level converter seringnya menggunakan transistor tipe MOSFET jenis SMD, yang agak repot memasangnya. Untuk itu banyak yang menyediakan modul-modul level converter siap pakai yang dapat dipasang di breadboard ataupun di PCB. Contohnya adalah rangkaian level converter berbasis transistor BSS138.
Rangkaian level converter
Modul Level Converter
Input Tegangan Kecil
Yang dimaksud dengan ‘tegangan kecil’ di sini adalah tegangan input yang lebih kecildari tegangan supply (VCC) mikrokontroler.
Berikut ini beberapa cara menyambungkan beberapa input analog ke suatu mikrokontroler.
Pencuplikan Sekuensial Konversi Sekuensial
Cara pertama adalah dengan menggunakan 1 buah ADC yang dipakai untuk membaca semua kanal secara bergantian. Agar dapat membaca beberapa kanal, maka di depan ADC dipasang sebuah multiplekser analog, yang dapat memilih input analog mana yang akan dibaca. Pada metode ini , pencuplikan / sampling pada setiap kanal input terjadi tidak serentak, namun secara berurutan.
Input analog sekuensial
Pencuplikan terjadi di waktu yang tidak sama, sehingga dapat menjadi noise/ jitter, terutama kalau waktu konversi ADC agak panjang.
Pencuplikan Serentak Konversi Sekuensial
Cara kedua adalah dengan menggunakan beberapa komponen sample/hold, agar memungkinkan terjadinya pencuplikan semua kanal pada waktu yang bersamaan. Konversi dari analog ke digital dilakuan satu per satu dengan sebuah ADC. Cara ini memiliki kelebihan yaitu semua data diambil pada waktu yang bersamaan, sehingga lebih mudah untuk pengolahan sinyal digitalnya.
Input analog serentak versi 1
Pencuplikan Serentak Konversi Serentak
Cara ketiga adalah melakukan pencuplikan secara bersamaan, dan melakukan konversi analog ke digital secara bersamaan juga. Cara ini lebih cepat dibandingkan cara kedua.
ADC dapat menggunakan ADC yang sudah built in di mikrokontroler, ataupun ADC eksternal seperti ADC MCP3008
Multiplexer analog dapat menggunakan built-in multiplekser di dalam ATMega328, atau menggunakan ADC yang sudah ada multiplexer (MCP3008), atau menggunakan switch analog seperti CD4066
Saat ini mikroprosesor sudah tersedia dalam bentuk mikrokontroler seperti ATmega328 yang sudah mengintegrasikan CPU, memori dan periferal input output di dalamnya. Akibatnya untuk membuat suatu sistem mikroprosesor tidak lagi diperlukan banyak komponen pendukung lain. Mikrokontroler ini masih memerlukan kristal, power supply dan beberapa komponen lain.
Selain itu juga banyak yang sudah tersedia dalam bentuk modul, seperti Arduino UNO, Arduino Nano, Blue Pill dan sebagainya. Pada modul seperti ini, kita dapat menjalankan sistem mikroprosesor tersebut cukup hanya dengan menambahkan catu daya USB saja.
Namun demikian, kadang-kadang fasilitas yang disediakan oleh mikrokontroler ataupun modul tersebut masih kurang, sehingga masih diperlukan tambahan komponen pendukung. Berikut ini beberapa komponen pendukung yang sering dipakai.
Mikroprosesor / CPU
Komponen utama suatu sistem mikroprosesor adalah sebuah CPU (Central Processing Unit). CPU ini belum dilengkapi dengan memori, sehingga untuk dapat dijalankan sebagai sistem minimum, CPU ini masih perlu ditambah memori RAM dan EEPROM. Berikut ini keluarga CPU yang (dulu) populer di Indonesia:
Keluarga Z80 buatan Zilog
Keluarga 6800 buatan Motorola
Zilog Z0840004PSC
Pada saat ini penggunaan CPU sudah jarang, biasanya kita menggunakan mikrokontroler yang lebih praktis.
Berikut ini contoh rangkaian mikroprosesor berbasis CPU tipe 6802, dari keluarga 6800 buatan Motorola. (https://www.sbprojects.net/projects/nano6802/index.php)
Sistem minimum 6802
Pada rangkaian tersebut, komponen utamanya adalah sebagai berikut:
6802 sebagai CPU
2732A sebagai EPROM
6821 sebagai antar muka digital
Pada rangkaian tersebut tidak ada SRAM, karena di dalam 6802 sudah ada RAM sebanyak 128 byte.
Sumber Clock
Mikroprosesor yang kita pakai sekarang umumnya termasuk ke dalam sistem digital sinkron sekuensial, sehingga suatu mikroprosesor memerlukan clock. Sumber clock yang umum digunakan adalah osilator internal menggunakan resistor dan kapasitor, serta bisa juga menggunakan kristal. Rangkaian osilator dengan resistor dan kapasitor sangat sederhana, namun kurang teliti. Kristal menghasilkan clock yang lebih teliti. Jika diperlukan ketelitian waktu yang lebih tinggi, dapat dilihat di artikel “Sumber Clock pada Rangkaian Elektronik“
Kristal 12 MHz dan resonator 18.083 MHz
RAM
RAM (Random Access Memori) fungsinya sebagai memori yang dapat dibaca dan ditulis oleh mikroprosesor.
Salah satu jenis static RAM yang populer dipakai adalah tipe 6264. RAM ini berkapasitas 8 kilobyte (8192 byte).
Static Random Access Memori 6264
Mikrokontroler versi terbaru umumnya sudah dilengkapi RAM di dalamnya, sehingga kita tidak perlu menambahkan RAM lagi.
Selain static RAM (SRAM), ada juga dynamic RAM (DRAM). DRAM lebih murah dibandingkan SRAM, namun rangkaiannya lebih kompleks. DRAM populer digunakan pada mikroprosesor yang memerlukan RAM besar.
EPROM atau Erasable Programmable Read Only Memory, adalah memori yang dapat diprogram dengan menggunakan perangkat programmer, dan dapat dihapus dengan menggunakan cahaya ultraviolet.
EPROM yang populer digunakan adalah tipe 27C64. EPROM ini berkapasitas 8 kilobyte (8192 byte)
EPROM 27C64
Input Output Digital Mikroprosesor
Untuk antar muka digital dari bus di dalam sistem mikroprosesor ke luar, diperlukan komponen antar muka digital. Komponen yang populer dipakai adalah IC PPI (Programmable Peripheral Interface) tipe 8255 buatan Intel dan 6821 dari Motorola.
Berikut ini PPI 8255 yang sering dipakai bersama mikroprosesor keluaran Intel, seperti 8088 dan 8086
Intel PPI 8255
Berikut ini IC Peripheral Interface Adapter (PIA) model MC6820 dan MC6821. Keduanya sering dipakai bersama mikroprosesor keluaran Motorola, seperti 6802 dan 6805.
Motorola MC6820 dan MC6821
Fungsi input output digital dari bus mikroprosesor juga dapat dilakukan dengan komponen IC digital berikut ini
Pada mikroprosesor model lama seperti Z80 dan Motorola 6800, masih diperlukan komponen register pada bus mikroprosesor. Pada mikrokontroler model baru seperti ATmega328 dan ESP32, bus mikroprosesor sudah built-in, jadi tidak perlu diutak atik lagi oleh pendesain sistem.
Komponen yang dipakai pada bus antara lain sebagai berikut:
74HC138 Multiplexer, sebagai address decoder
74HC245 buffer 2 arah 8 bit, sebagai input output digital , ataupun bus driver
74HC573 latch 8 bit, sebagai bus multiplexer
Input Digital
Mikrokontroler zaman sekarang sudah memiliki input output digital built-in, sehingga tidak memerlukan tambahan PPI atau PIA. Namun kadang perlu komponen tambahan untuk menambah jumlah port, ataupun untuk konversi tegangan.
Berikut ini beberapa komponen yang umum dipakai pada sistem mikroprosesor untuk menambah kemampuan input digital:
74HC164 serial input parallel output shift register tanpa output latch, dipakai untuk menambah jumlah port output
74HC165 parallel input serial output shift register, dipakai untuk menambah jumlah port input
PCF8574 untuk menambah jumlah port input output , antar muka ke mikrokontroler menggunakan protokol I2C
Level Converter jika tegangan input dari sensor/transduser tidak sama dengan tegangan input mikrokontroler. Detail dibahas di artikel “Teknik Input Digital“. Salah satu cara yang praktis dengan menggunakan bidirectional logic level converter.
Output Digital
Berikut ini beberapa komponen yang umum dipakai pada sistem mikroprosesor untuk menambah output digital:
74HC595 serial input parallel output shift register dengan output latch, dipakai untuk menambah jumlah port output
PCF8574 untuk menambah jumlah port input output , antar muka ke mikrokontroler menggunakan protokol I2C
Output digital dari mikrokontroler juga kadang-kadang perlu diperkuat arusnya, ataupun diubah tegangannya. Berikut ini beberapa komponen yang sering dipakai:
ULN2803 Darlington driver, untuk memperkuat arus dari port mikroprosesor, dapat menangani arus sampai 500 mA
Digital Level Converter jika tegangan output mikrokontroler tidak sama dengan tegangan perangkat yang dikendalikan. Salah satu cara yang praktis dengan menggunakan modul bidirectional logic level converter.
Transistor NPN, PNP, MOSFET kanal N, kanal P sebagai penguat arus. Dibahas detail di artikel “Teknik Output Digital“
3.3V 5V Bi Directional Level Converter
Referensi
https://www.ti.com/product/PCF8574
Penguat Output Dengan H-Bridge
H-Bridge adalah rangkaian output khusus untuk menggerakkan motor DC dengan 2 arah. Pada umumnya komponen utamanya adalah 4 buah transistor BJT/MOSFET yang dapat dikonfigurasikan sehingga polaritas output dapat dibalik.
Untuk input analog diperlukan ADC (Analog to Digital Converter). Pada mikrokontroler seperti ATmega328 sudah dilengkapi ADC. Jika ADC ini tidak cukup , atau mikrokontroler tidak ada ADC, maka kita perlu menambah ADC eksternal.
Contoh ADC yang mudah dipakai untuk mikrokontroler:
MCP3008: 8 kanal 10 bit, antar muka SPI
ADS1115: 4 kanal 16 bit, antar muka I2C
HX711: 2 kanal 24 bit, antar muka serial digital. Umumnya dipakai untuk timbangan digital.
Untuk output analog diperlukan DAC (Digital to Analog to Converter). Mikrokontroler seperti ESP32 sudah dilengkapi DAC 8 bit, namun umumnya mikrokontroler tidak dilengkapi DAC.
Komunikasi digital ke periferal sering menggunakan protokol I2C ataupun SPI. Namun jika level tegangan dengan periferal berbeda, maka perlu tambahan komponen bidirectional logic converter.
Mikrokontroler umumnya memiliki port komunikasi serial asinkron dengan level tegangan 3,3 volt ataupun 5 volt, sesuai dengan tegangan kerja mikrokontroler tersebut. Supaya dapat dihubungkan dengan perangkat lain yang menggunakan level tegangan RS232, perlu ada konverter TTL ke RS232, seperti MAX232
Jika komunikasi menggunakan RS-485, maka perlu mengubah level tegangan TTL menjadi RS-485 dengan komponen seperti MAX485.
Jika ingin menghubungkan port komunikasi asinkron dengan port USB di komputer, maka perlu menggunakan modul USB to Serial. Modul USB to serial yang populer adalah yang berbasis chipset FTDI dan chipset CH340
Modul USB to Serial TTL CH340
Regulator DC
Jika tegangan dari power supply/baterai tidak sama dengan tegangan kerja mikrokontroler, maka perlu ditambahkan regulator yang sesuai.
Regulator yang umum dipakai adalah dari tipe linear dan tipe switching.
Contoh regulator linear yang umum:
LM7805
LM317
Regulator LM7805
Contol regulator step down DC to DC converter adalah LM2596. IC ini sudah tersedia dalam bentuk modul, sehingga tidak perlu dirakit lagi dari komponen diskrit.
DC to DC Converter step down LM2596
Jika diinginkan konversi energi yang lebih efisien, lebih baik menggunakan DC to DC converter. Saat ini sudah banyak dijual berbagai macam modul DC to DC converter.
Power supply / adaptor diperlukan untuk mengubah tegangan jala-jala listrik 220 volt menjadi tegangan rendah yang dapat dipakai untuk mikroprosesor. Umumnya mikroproser memerlukan tegangan 5 volt DC, namun kadang ada juga perangkat seperti motor DC yang memerlukan tegangan 12 volt DC.
Jika memerlukan beberapa tegangan, dapat dipakai beberapa power supply, atau 1 power supply ditambah dengan regulator untuk mengubah tegangan output ke tegangan lain yang diinginkan. Misal jika diperlukan tegangan 12 volt dan 5 volt, bisa saja dipakai 1 power supply dengan output 12 volt DC dan ditambah regulator DC to DC converter step down 12 volt ke 5 volt DC.
Power Supply 12 volt 5 ampere
Power supply yang hemat energi adalah dari tipe switching power supply, misal power supply 12 volt berikut ini.
Beberapa macam power supply 12 volt
Baterai
Jika perangkat dirancang untuk mobile atau tidak ada akses ke jala-jala listrik, maka perlu sumber daya internal berupa baterai. Alternatif lain menggunakan sel surya plus baterai.
Baterai 18650 4200 mWh
Tegangan baterai jarang yang sesuai dengan tegangan kerja mikroprosesor. Tegangan baterai juga berubah (menurun) tergantung kapasitas baterai yang terpakai. Untuk menjaga tegangan supply yang konstan, biasanya output dari baterai ini perlu disambungkan ke regulator atau DC to DC converter.
Komponen lain yang diperlukan namun belum dibahas di artikel ini:
LED (Light Emitting Diode) untuk display dan indikator
Modul mikrokontroler Arduino sangat mudah digunakan, salah satunya karena pada modul Arduino sudah disertakan rangkaian pemrograman yang mudah dipakai, dan juga terintegrasi dengan perangkat lunak Arduino yang dipakai untuk membuat software.
Berikut ini diuraikan rangkaian programmer pada Arduino UNO dan Arduino Nano. Kedua jenis Arduino ini sangat mirip, menggunakan komponen yang sama, hanya bentuknya berbeda. Komponen paling penting adalah mikrokontroler ATMega328.
Pin pada ATMega328
Berikut ini gambar konektor pada Arduino UNO:
Pin pada Arduino UNO
Konektor yang terkait pemrograman adalah USB-Plug dan In Circuit Serial Programmer (ICSP). Seringnya yang dipakai untuk pemrograman adalah USB Plug, sedangkan ICSP jarang dipakai.
Arduino Nano
Pada Arduino Nano konektor untuk pemrograman adalah USB Mini dan ICSP (In Circuit Serial Programmer).
Konektor ICSP yang dipakai pada Arduino UNO dan Nano menggunakan header 3×2, dengan daftar pin sebagai berikut:
Konektor ICSP pada Arduino Nano dan UNO
Pin yang dipakai adalah MISO, MOSI, SCK, Reset, GND dan +5V. Semua pin ini terhubung langsung ke ATMega328:
MISO (pin 18 / PB4)
MOSI (pin 17 / PB3)
SCK (pin 19 / PB5)
Reset (pin 1 / PC6)
GND (pin 8 & pin 22)
+5V (pin 7 / VCC)
Pin-pin ini sesuai dengan rangkaian dasar pemrograman ISP sebagai berikut:
Rangkaian In System Programming pada ATMega
Cara lain untuk pemrograman Arduino UNO dan Nano adalah menggunakan port USB. Port USB ini masuk ke suatu konverter USB ke Serial, kemudian pin serial TX dan RX dihubungka ke pin RX dan TX pada ATMega, jadi program dikirim melalui port serial pada ATMega. Selain itu pin DTR juga dipakai untuk melakukan reset pada ATMega.
Rangkaian USB to serial pada Arduino UNO dan Nano
Supaya program dapat dimasukkan melalui port serial, perlu ada software bootloader yang dimasukkan ke dalam flash memory di ATMega. Program bootloader ini belum ada pada ATMega yang keluaran pabrik, jadi bootloader ini perlu dimasukkan dulu ke dalam ATMega melalui programmer ISP (In System Programming) atau programmer paralel, seperti dijelaskan lebih lanjut di artikel “Programmer AVR“.
Bootloader ini memakai sebagian kecil memori flash, kurang lebih 512 byte, jadi memori aplikasi yang tersisa adalah 32 kilobyte dikurangi memori yang terpakai untuk bootloader. Diagram memori bootloader dan aplikasi dapat dilihat pada gambar berikut:
Pada tulisan ini diuraikan ujicoba software sample dari BSP (Board Support Packages).
Percobaan di bawah ini menggunakan BSP terbaru: NUC100Series BSP_CMSIS V1.05.001.zip [1]
Project file yang digunakan didapat di direktori berikut: NUC100SeriesBSP_v1.05.001\NuvotonPlatform_Keil\Sample\NUC1xx-LB_002
Smpl_ADC_PWM
Test ADC dengan input dari potensiometer
Test PWM dengan output RGB LED
Hasil:
Posisi potensio menghasilkan tegangan analog yang diukur oleh mikrokontroler
Angka hasil pengukuran ditampilkan di LCD
RGB LED menyala dengan PWM, menghasilkan kecerahan sesuai dengan posisi potensiometer
Demo ADC PWM NUC140
Smpl_CDROM_HID
Memunculkan sebuah device USB CDROM di windows
Dapat melakukan pengiriman data ke flash di board melalui aplikasi “HID AP.exe” di direktori \NUC100SeriesBSP_v1.05.001\NuvotonPlatform_Keil\Sample\NUC1xx-LB_002\Smpl_CDROM_HID\Software GUI\Release
Smpl_Capture
Nampaknya percobaan Capture Timer
Tidak jelas juga apa yang dikerjakan, karena variabel “CaptureValue” selalu bernilai 0
Smpl_FATFS_SDCard
Akses ke FAT file system di SD Card
Termasuk fungsi melakukan formatting
Smpl_FMC
Akses ke Flash Memory Controller
Literatur detail ada di Training File: “07_NuMicro FMC.pdf”
Smpl_HID_FILE_IO
Belum dicoba
Smpl_HID_IO
Belum dicoba
Smpl_I2C_24LC64
Input dari keypad onboard (K1 ~ K9)
Akses ke on board EEPROM (24LC64)
Demo menulis ke EEPROM dengan fungsi Write_24LC64() dan membacanya dengan fungsi Read_24LC64()
Penjelasan ada di Training Material “06_NuMicro I2C.pdf”
Application Note: “AN1009EN How to access 24C64 via IIC V1.00.pdf”
Smpl_Interrupt
Demo interupsi dari switch SW_INT dan Deep Sleep (PWCON)
Output ke UART
Smpl_LIN_Master
Belum dicoba. Nampaknya sulit dicoba karena memerlukan 2 buah prosesor yang mempunyai LIN interface
Smpl_LIN_Slave
Belum dicoba. Nampaknya sulit dicoba karena memerlukan 2 buah prosesor yang mempunyai LIN interface
Smpl_NAU7802
Nampaknya tidak kompatibel dengan board NU-LB-NUC140 rev 2.1, karena tidak ada ADC NAU7802 . Kemungkinan ADC ini ada di revisi sebelumnya.
Software ini berisi contoh akses periferal berikut:
LED 7 segment
LCD (tanpa backlight)
LED 5 ~ LED 8
Timer auto reload
Hasil percobaan & catatan penting
Software ini menyalakan LCD graphic dan LED 7 segment
LED 7 segment menyala bergantian dengan delay software, bukan timer
Untuk menyalakan backlight LCD dapat dilakukan dengan mengubah GPD14 menjadi 0
LED5 ~ LED8 diaktifkan oleh interupsi timer
LED5 ~ LED8 tidak terdapat di skematik. Keterangan tentang LED ini hanya ada di file “Nu-LB-NUC140 User’s Guide v2.0.pdf” pada halaman 8. Menurut tabel di tersebut, LED5 ~ LED8 dikendalikan oleh pin GPIO GPC12 ~ GPC15. Hal ini sesuai dengan kode di software.
Berikut ini kode untuk menyalakan backlight LCD:
DrvGPIO_ClrBit(E_GPD,14);
Berikut ini kode untuk mematikan backlight LCD:
DrvGPIO_SetBit(E_GPD,14);
Berikut ini kode untuk menyalakan Buzzer:
DrvGPIO_ClrBit(E_GPB,11);
Berikut ini kode untuk mematikan Buzzer:
DrvGPIO_SetBit(E_GPB,11);
Demo sample starter kit Nuvoton NU-LB-NUC140
Smpl_Timer_WDT_RTC
Demonstrasi penggunaan Watch Dog Timer dan Real Time Clock
Teorinya bisa dibaca di “04_NuMicro WDT_Timer_RTC_UART.pdf”
Application note WDT: “AN1005EN How to use WDT V1.01.pdf”
Application note RTC: “AN1013SC How to use RTC.pdf” in Simplified Chinese 🙂
Aplikasi ini memunculkan sebuah USB Audio Device di desktop PC.
Belum jelas bagaimana cara mengaksesnya dari windows.
Tampilan device manager di windows
Smpl_UDC_SDCard
Aplikasi ini membuat sebuah USB Disk. Untuk itu memerlukan sebuah memory tipe SD yang dimasukkan ke slot SD di bagian bawah board
Cara kerja software ini dijelaskan di Application Note “AN1020EN_USB MassStorage V1.00.pdf”. Detail tentang USB dijelaskan di “NuMicro NUC100 Series Driver Reference Guide.pdf”
Hasil percobaan:
jika ada SD card maka akan muncul pesan di PC
file-file di SD Card dapat dibaca dari PC.
Software ini menyalakan LEDS1 yang nampaknya adalah LED indikator bahwa SD card mendapat catu daya. Rangkaian LEDS1 dapat dilihat di file “Nu-LB-NUC140 Board Schematic v2.0.pdf” bagian SD Interface.
Smpl_VCOM_IO
Program ini nampaknya membuat sebuah port serial virtual di PC melalui port USB.
Penjelasan mengenai VCOM ada di file “Training/12_NuMicro VCOM.pdf”