Dalam tutorial ini kita akan mengembangkan sumber tegangan variabel 5V dari Arduino Uno. Untuk itu kita akan menggunakan fitur ADC (Analog to Digital Conversion) dan PWM (Pulse Width Modulation).
Beberapa modul elektronik digital seperti akselerometer bekerja pada tegangan 3.3V dan beberapa bekerja pada 2.2V. Beberapa bahkan bekerja pada voltase yang lebih rendah. Dengan ini kita tidak bisa mendapatkan pengatur untuk semuanya. Jadi disini kita akan membuat rangkaian sederhana yang akan memberikan tegangan keluaran 0-5 volt pada resolusi 0.05V. Jadi dengan ini kami dapat memberikan voltase secara akurat untuk modul lain.
Sirkuit ini dapat memberikan arus hingga 100mA, jadi kami dapat menggunakan unit daya ini untuk sebagian besar modul sensor tanpa masalah. Output sirkuit ini juga dapat digunakan untuk mengisi baterai AA atau AAA yang dapat diisi ulang. Dengan tampilan di tempat kita dapat dengan mudah melihat fluktuasi daya dalam sistem. Unit catu daya variabel ini berisi antarmuka tombol untuk pemrograman tegangan. Cara kerja dan sirkuit dijelaskan di bawah ini.
Perangkat Keras: Arduino Uno, Power supply (5v), kapasitor 100uF (2 buah), tombol (2 buah), resistor 1KΩ (3 buah), LCD 16 * 2 karakter, transistor 2N2222.
Perangkat lunak: Atmel studio 6.2 atau AURDINO nightly.
Diagram Sirkuit dan Penjelasan Kerja
The sirkuit untuk unit tegangan variabel menggunakan Arduino ditunjukkan dalam diagram di bawah ini.
Tegangan keluaran tidak sepenuhnya linier; itu akan menjadi yang berisik. Untuk menyaring kapasitor kebisingan ditempatkan di terminal keluaran seperti yang ditunjukkan pada gambar. Dua tombol di sini adalah untuk kenaikan dan penurunan tegangan. Unit tampilan menunjukkan voltase di terminal OUTPUT.
Sebelum bekerja, kita perlu melihat fitur ADC dan PWM Arduino UNO.
Di sini kita akan mengambil tegangan yang disediakan di terminal OUTPUT dan memasukkannya ke salah satu saluran ADC Arduino. Setelah konversi kita akan mengambil nilai DIGITAL itu dan kita akan menghubungkannya dengan voltase dan menunjukkan hasilnya dalam tampilan 16 * 2. Nilai pada tampilan ini mewakili nilai tegangan variabel.
ARDUINO memiliki enam saluran ADC, seperti yang ditunjukkan pada gambar. Dalam salah satu atau semuanya dapat digunakan sebagai input untuk tegangan analog. UNO ADC memiliki resolusi 10 bit (jadi nilai integer dari (0- (2 ^ 10) 1023)). Ini berarti akan memetakan tegangan input antara 0 dan 5 volt menjadi nilai integer antara 0 dan 1023. Jadi untuk setiap (5/1024 = 4.9mV) per unit.
Di sini kita akan menggunakan A0 dari UNO.
|
Pertama-tama saluran ADC UNO memiliki nilai referensi default 5V. Ini berarti kita dapat memberikan tegangan input maksimum 5V untuk konversi ADC di saluran input mana pun. Karena beberapa sensor memberikan tegangan dari 0-2.5V, dengan referensi 5V kami mendapatkan akurasi yang lebih rendah, jadi kami memiliki instruksi yang memungkinkan kami untuk mengubah nilai referensi ini. Jadi untuk mengubah nilai referensi yang kita miliki ("analogReference ();") Untuk saat ini kita biarkan sebagai.
Sebagai default kami mendapatkan resolusi ADC papan maksimum yaitu 10 bit, resolusi ini dapat diubah dengan menggunakan instruksi (“analogReadResolution (bits);”). Perubahan resolusi ini dapat berguna untuk beberapa kasus. Untuk saat ini kami membiarkannya sebagai.
Nah jika kondisi di atas diset ke default, kita bisa membaca nilai dari ADC channel '0' dengan langsung memanggil function “analogRead (pin);”, disini “pin” mewakili pin tempat kita menghubungkan sinyal analog, dalam hal ini akan menjadi "A0".
Nilai dari ADC dapat diambil menjadi integer sebagai “float VOLTAGEVALUE = analogRead (A0); ", Dengan instruksi ini nilai setelah ADC disimpan dalam integer" VOLTAGEVALUE ".
PWM dari UNO dapat dicapai di salah satu pin yang disimbolkan sebagai "~" di papan PCB. Ada enam saluran PWM di UNO. Kami akan menggunakan PIN3 untuk tujuan kami.
analogWrite (3, VALUE); |
Dari kondisi diatas kita bisa langsung mendapatkan sinyal PWM pada pin yang sesuai. Parameter pertama dalam tanda kurung adalah untuk memilih nomor pin sinyal PWM. Parameter kedua adalah rasio tugas penulisan.
Nilai PWM dari UNO dapat diubah dari 0 menjadi 255. Dengan "0" sebagai yang terendah ke "255" sebagai yang tertinggi. Dengan 255 sebagai duty ratio kita akan mendapatkan 5V pada PIN3. Jika duty ratio diberikan sebagai 125 kita akan mendapatkan 2.5V pada PIN3
Seperti yang dikatakan sebelumnya, ada dua tombol yang terhubung ke PIN4 dan PIN5 dari UNO. Saat ditekan nilai duty ratio PWM akan meningkat. Ketika tombol lain ditekan nilai duty ratio PWM berkurang. Jadi kami memvariasikan rasio tugas sinyal PWM pada PIN3.
Sinyal PWM ini di PIN3 diumpankan ke basis transistor NPN. Transistor ini memberikan tegangan variabel pada emitornya, sekaligus bertindak sebagai perangkat switching.
Dengan rasio tugas variabel PWM di pangkalan akan ada tegangan variabel pada keluaran emitor. Dengan ini kami memiliki sumber tegangan variabel di tangan.
Output tegangan diumpankan ke UNO ADC, agar pengguna dapat melihat output tegangan.