Rangkaian Penguat TDA7053

Fitur

Fitur Utama TDA 7053 adalah sebagai berikut

  • 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
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
Blok Diagram TDA7053

 

 

Rangkaian dasar 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 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.

Bridge Amplifier
Bridge Amplifier

 

Referensi

Transistor MOSFET Sebagai Pengganti Relay

MOSFET (Metal Oxide Semiconductor Field Effect Transistor) dapat menggantikan relay pada beberapa kondisi tertentu, namun tidak semua rangkaian relay dapat digantikan dengan MOSFET.

Relay
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.

Relay dikendalikan transistor NPN
Relay dikendalikan transistor NPN

Cara kerja rangkaian di atas dapat dilihat di artikel “Cara Kerja Rangkaian Penggerak Relay Dengan Transistor NPN

Berikut ini contoh rangkain sakelar menggunakan sebuah MOSFET kanal N. Cara kerja rangkaian dijelaskan di artikel “Teknik Menggunakan MOSFET Sebagai Sakelar“.

Output Digital Mikrokontroler Dengan MOSFET
Output Digital Mikrokontroler Dengan MOSFET

Perbandingan MOSFET dan relay sebagai sakelar:

MOSFET 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

Referensi

Output Digital Mikrokontroler Dengan MOSFET

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

Referensi

Mirror:

Kapasitas Aki Motor Versus Kapasitas Powerbank

Kapasitas aki motor tercantum 5Ah, sedangkan kapasitas powerbank tercantum 10000 mAh, nah manakah yang lebih besar?

Singkatnya: 5Ah = 60 Wh, sedangkan 10000 mAh =  36 WH, jadi 5Ah lebih besar daripada 10000 mAh.

Detailnya dapat diikuti di bawah ini.

Sebagai contoh aki, digunakan baterai aki sel bassah Yuasa Yumicron YB5L-B.

Penampang belakang
Aki motor Yuasa dengan kapasitas 5Ah

Aki motor juga ada yang berkapasitas 5,3Ah (YTZ6V) dan 6 AH (YT7C)

Aki Yuasa YTZ6V dan YT7C
Aki Yuasa YTZ6V (5.3 Ah) dan YT7C (6 Ah)
Powerbank mi.com 10000 mAh
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.

Untuk menghitung kemampuan arus aki kendaraan (motor/mobil) dalam watt, dapat dilihat di artikel “Aki Motor Berapa Watt” dan “Accu 12V 6Ah Berapa Watt“.

Referensi

Menghitung Kapasitas Powerbank

Powerbank 100 Wh Berapa mAh

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
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).

Referensi

Batere 9 volt berapa mAh (mili ampere hour)?

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 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 mAh


Batere 9 volt Lithium Polymer 720 mAh

Batere 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

kurva lithium polymer discharge
Batere 9 volt alkaline 565 mAh
Batere 9 volt alkaline 565 mAh
Batere 9 volt Alkaline (kiri) dan seng-karbon (kanan)
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.

Charger batere IMAX B6AC

Berikut ini charger NiMH Energizer tipe CHCC-EU. Charger ini cocok untuk mengisi batere tipe NiMH saja.

Charger Energizer CHCC EU
Charger Energizer tipe CHCC-EU
Charger Energizer CHCC EU

Referensi

1a Berapa mA, 1 ampere Berapa mA

Pertanyaan:

  • 1 A berapa mA?
  • 1 ampere berapa milliampere?
  • 1 ampere berapa mA?
  • 1 A berapa milliampere?

Jawaban singkat

  • 1 A = 1000 mA
  • 1 ampere = 1000 milliampere
  • 1 A = 1 ampere = 1000 mA = 1000 milliampere

Jawaban panjang

‘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:

  • yotta
  • zetta
  • exa
  • peta
  • tera
  • giga: 1000000000 (109)
  • mega: 1000000 (106)
  • kilo: 1000 (103)
  • hecto
  • deca
  • deci
  • centi
  • milli : 0.001 (10-3)
  • micro
  • nano: 0.000001 (10-6)
  • pico: 0.000000001 (10-9)
  • femto
  • atto
  • zepto
  • yocto

Referensi: https://en.wikipedia.org/wiki/Metric_prefix

Pengukuran Arus

Pengukuran arus dapat dilakukan dengan amperemeter, atau kalau sekarang umumnya menggunakan multimeter yang diset untuk mengukur arus.

Multimeter untuk mengukur arus
Multimeter untuk mengukur arus

Referensi

Teknik Output Digital pada Mikrokontroler

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
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:

Penguat output digital dengan transistor NPN
Penguat output digital dengan transistor NPN

Contoh rangkaian penguat arus dengan MOSFET sebagai berikut, cara kerjanya dijelaskan di artikel “Output Digital Mikrokontroler Dengan MOSFET“:

Output Digital Mikrokontroler Dengan MOSFET
Output Digital Mikrokontroler Dengan MOSFET

Tegangan Besar

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

Penguat arus digital dengan transistor NPN
Penguat arus digital dengan transistor NPN

Selain itu untuk menaikkan tegagnan dapat menggunakan komponen bidirectional logic converter.

Bidirectional level converter
Bidirectional level converter

3.3V 5V Bi Directional Level Converter
3.3V 5V Bi Directional Level Converter

Beban Induktif

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
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
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
Galvanic isolation

H-Bridge

H-Bridge diperlukan untuk beban yang memerlukan polaritas yang dapat diubah.

Contoh output pengendali motor dengan TB6612FNG:

Motor driver TB6612FNG untuk output PWM ke motor secara digital dari mikrokontroler
Motor driver TB6612FNG

Contoh lain adalah IC TLE 5205-2:

TLE 5025-2 kemasan TO-220
TLE 5025-2, H-Bridge dengan kemasan TO-220

Pulse Width Modulation

[under construction]

Serial to Paralel

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 sebagai output digital
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.

SNx4HC5958-Bit Shift RegistersWith 3-StateOutputRegisters
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.

Referensi

Teknik Input Digital Mikrokontroler

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
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
Rangkaian level converter

Modul 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.

[under construction]

Galvanic Isolation

[under construction]

Input Jarak Jauh

[under construction]

Paralel to Serial

[under construction]

Input Output Digital Dengan Raspberry PI

Percobaan input output digital Dengan Raspberry PI.

Input menggunakan 2 buah push button dan 1 buah sakelar toggle.

Output menggunakan 1 buah LED 7 segment.

Pemrograman dengan bahasa Python, dengan library IO menggunakan gpiozero [https://gpiozero.readthedocs.io/en/stable/]

Input Output Digital Dengan Raspberry PI
Input Output Digital Dengan Raspberry PI

Antar Muka Input Analog Multi Kanal

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

Input analog serentak versi 2
Input analog serentak versi 2

Komponen yang dapat dipakai

  • Sample & Hold dapat menggunakan “LF398 Monolithic Sample and Hold Circuit” ataupun rangkaian diskrit dengan op-amp dan kapasitor.
  • 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

Referensi

Komponen Pendukung Sistem Mikroprosesor

 

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

Lebih jauh tentang RAM dan memori sejenisnya dapat dilihat di artikel “Memori pada Sistem Mikroprosesor

EPROM

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
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
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
Motorola MC6820 dan MC6821

Fungsi input output digital dari bus mikroprosesor juga dapat dilakukan dengan komponen IC digital berikut ini

  • 74HC373 latch 8 bit
  • 74HC573 latch 8 bit

Referensi:

Bus Mikroprosesor

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

Contoh komponen H-Bridge:

Motor driver TB6612FNG
Motor driver TB6612FNG

Input Analog

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.
  • AD7705
  • MAX174
  • ADS1256
  • ADC0804
  • PCF8591
  • ADS1232

ADC dibahas secara lebih detail di artikel “ADC untuk Arduino

MCP3008

Output Analog

Untuk output analog diperlukan DAC (Digital to Analog to Converter). Mikrokontroler seperti ESP32 sudah dilengkapi DAC 8 bit, namun umumnya mikrokontroler tidak dilengkapi DAC.

Contoh DAC yang sering dipakai:

MCP4725
MCP4725

Komunikasi Digital

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

Contoh komponen DC to DC konverter dibahas di artikel “Cara menurunkan tegangan aki 12 volt ke 6 volt

Power Supply

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 12 volt 5 ampere

Power supply yang hemat energi adalah dari tipe switching power supply, misal power supply 12 volt berikut ini.

Perbandingan power supply omron 12 volt
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
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:

Referensi

 

Rangkaian Programmer pada Arduino UNO Dan Nano

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
Pin pada ATMega328

Berikut ini gambar konektor pada Arduino UNO:

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
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
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 ISP ATMega8535
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
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:

Memori bootloader di flash
Memori bootloader di flash

 

Percobaan Software Diagnostic pada Nu-LB-NUC140

Pada tulisan ini diuraikan ujicoba software diagnostic 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\Diagnostic

DevBoardDemo

  • Output ke UART
  • Demo kecepatan prosesor
  • Jika ada pin SW_INT ditekan, ditampilkan di LED RGB
  • Jika ada pin SW_INT ditekan, akan ada pergeseran frekuensi buzzer.
  • mustinya ada output ke buzzer, namun di software disebut buzzer di GPB12, padahal sesungguhnya ada di GPB11

Diagnostic pada Nuvoton NU-LB-NUC140
Diagnostic pada Nuvoton NU-LB-NUC140

Smpl_DataFlash

  • Demo penggunaan APROM sebagai Data Flash
  • Input output ke UART

Dataflash
Dataflash

Smpl_PowerManagement

  • Demo power down mode
  • interface ke UART

Powerdown pada NU-LB-NUC140
Powerdown pada NU-LB-NUC140

Referensi

Percobaan Software Sample dari Nu-LB-NUC140

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 NU-LB-NUC140 Nuvoton
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.
  • Penjelasan mengenai NAU7802: [2]

Demo NAU7802 Nuvoton NU-LB-NUC140
Demo NAU7802 Nuvoton NU-LB-NUC140

Smpl_SPI_Flash_PDMA

  • Demo akses Flash menggunakan PDMA

Demo flash PDMA Nuvoton NU-LB-NUC140
Demo flash PDMA Nuvoton NU-LB-NUC140

 

Smpl_SPI_Flashx2

  • Demo fitur SPI Flash

Demo Flash 2x Nuvoton NU-LB-NUC140
Demo Flash 2x Nuvoton NU-LB-NUC140

Smpl_Start_Kit

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
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 🙂

Demo watchdog timer, realtime clock Nuvoton NU-LB-NUC140
Demo watchdog timer, realtime clock Nuvoton NU-LB-NUC140

 

Smpl_UAC

  • Aplikasi ini memunculkan sebuah USB Audio Device di desktop PC.
  • Belum jelas bagaimana cara mengaksesnya dari windows.

Tampilan device manager di 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”
  • Hasil pencarian google menunjukkan referensi ke forum di http://bbs.21ic.com/redirect.php?tid=204413&goto=lastpost
  • Virtual USB COM dideteksi oleh Windows, namun tidak ada drivernya

Hasil Percobaan:

  • tidak jalan karena driver tidak tersedia