Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Teknologi Industri

Buat Sumber Daya Variabel Kustom dengan Arduino UNO – Panduan Rangkaian & Kode Langkah demi Langkah

Cara Membuat Sumber Daya Variabel menggunakan Arduino UNO?

Sumber daya listrik adalah kebutuhan dasar dan penting untuk peralatan dan sirkuit elektronik dan listrik. Ada berbagai jenis sirkuit dan peralatan, oleh karena itu, kebutuhan sumber daya listriknya berbeda untuk berbagai sirkuit elektronik. Misalnya, modul Wi-Fi, relai, motor, dll membutuhkan tegangan yang berbeda. Di pasaran kita tidak mendapatkan sumber daya listrik yang berbeda untuk setiap elektronik jadi kita menghasilkan sumber daya listrik spesifik kita sendiri dari berbagai metode. Solusi sederhana untuk ini adalah menggunakan baterai.

Baterai umumnya digunakan untuk menyala Sirkuit Elektronik dan Proyek, karena mereka mudah didapat dan dapat dihubungkan dengan mudah. Namun mereka habis dengan cepat dan kemudian kita butuh baterai baru, juga baterai ini tidak dapat memberikan arus tinggi untuk mengemudikan motor yang kuat. Jadi baterai ini habis dan juga mereka membuat sirkuit menjadi membesar. Juga baterai menjadi panas ketika elektronik digunakan untuk lebih lama atau berlebihan dan seiring waktu umur baterai menurun. Untuk mengatasi masalah ini kami memperkenalkan solusi yang lebih baik dan efisien yang dapat digunakan dalam sirkuit apa pun. Dalam proyek ini kami akan menunjukkan kepada Anda bagaimana kita dapat menghasilkan Sumber Daya Variabel dari Arduino UNO.

Menggunakan proyek ini Anda akan dapat mendapatkan sumber daya variabel sesuai peralatan elektronik Anda tanpa khawatir tentang pengisian, pengurasan, pemanasan, dll. Ada banyak metode yang tersedia untuk menghasilkan sumber daya variabel tetapi ini adalah cara termudah karena memerlukan komponen murah dan mudah didapatkan. Jadi mari kita lihat komponen yang diperlukan untuk proyek ini.

Komponen yang Diperlukan

Perangkat Lunak: AURDINO Nightly atau Atmel Studio 6.2

Diagram Sirkuit Sumber Daya Variabel

Sebelum memasuki proyek ini mari kita ketahui beberapa hal tentang proyek ini.

Buat Sumber Daya Variabel Kustom dengan Arduino UNO – Panduan Rangkaian & Kode Langkah demi Langkah

Arduino UNO

Arduino UNO adalah platform open source yang digunakan untuk mengembangkan proyek elektronik. Ini dapat diprogram, dihapus dan diprogram ulang setiap saat. Ada banyak papan Arduino yang tersedia di pasaran seperti Arduino UNO, Arduino Nano, Arduino Mega, Arduino lily pad, dll. dengan spesifikasi yang berbeda sesuai penggunaannya. Dalam proyek ini kita akan menggunakan Arduino UNO untuk mengontrol alat rumah tangga secara otomatis. Ia memiliki IC mikrokontroler ATmega328 di dalamnya yang berjalan pada kecepatan jam 16MHz. Ini adalah yang kuat yang dapat bekerja pada protokol komunikasi USART, I2C dan SPI.

Papan ini biasanya diprogram menggunakan perangkat lunak Arduino IDE menggunakan kabel micro USB. ATmega328 datang dengan boot loader yang diprogram sebelumnya di papan yang memungkinkan unggah kode tanpa bantuan perangkat keras eksternal. Ia memiliki aplikasi luas dalam pembuatan proyek atau produk elektronik. Bahasa C dan C++ digunakan untuk memprogram papan yang sangat mudah dipelajari dan digunakan. Arduino IDE membuatnya jauh lebih mudah untuk memprogram. Ini memisahkan kode dalam dua bagian yaitu void setup () dan void loop (). Fungsi void setup () hanya berjalan sekali dan digunakan terutama untuk memulai beberapa proses sementara void loop () terdiri dari bagian kode yang harus dieksekusi terus-menerus.

Model ini terdiri dari 6 pin input analog dan 14 pin GPIO digital yang dapat digunakan sebagai input output 6 di antaranya menyediakan output PWM dan analog menggunakan fungsi pinMode(), digitalWrite(), digitalRead() dan analogRead(). 6 saluran input analog adalah dari pin A0 hingga A5 dan menyediakan resolusi 10 bit. Papan dapat diberi daya baik dari menggunakan kabel USB yang beroperasi pada 5 volt atau dengan jack DC yang beroperasi antara 7 hingga 20 volt.

Ada pengatur tegangan di papan untuk menghasilkan 3.3 volt untuk mengoperasikan perangkat daya rendah. Karena ATmega328 bekerja pada protokol komunikasi USART, SPI dan I2C, memiliki pin 0 (Rx) dan 1(Tx) untuk komunikasi USART, pin SDA (A4) dan SCL (A5) untuk I2C dan pin SS (10), MOSI (11), MISO (12) dan SCK (13) untuk protokol komunikasi SPI.

ADC pada Arduino UNO

Arduino UNO memiliki 6 saluran ADC di papan yang dapat digunakan untuk merasakan atau membaca sinyal analog yang berkisar dari 0 volt hingga 5 volt. Saat kita menghubungkan sensor dengan mikrokontroler seperti Arduino UNO maka sensor menghasilkan nilai output analog yang dirasakan oleh Arduino UNO sebagai nilai digital. Oleh karena itu ADC membantu mengonversi nilai sensor menjadi nilai analog dan memberikannya ke mikrokontroler. Ada banyak aplikasi ADC seperti pengukuran suhu, pengukuran jarak, pengukuran kecepatan dan banyak sensor yang menghasilkan nilai analog.

Arduino UNO memiliki ADC 10-bit yang berarti nilainya berubah dari 0 hingga 1023 setiap langkah. Ini disebut resolusi yang menunjukkan banyaknya nilai diskret yang dapat dihasilkannya dalam rentang nilai analog.

Karena tegangan maksimum ADC adalah 5 volt maka setiap langkah ADC yang berkisar dari 0 hingga 1023 memiliki nilai yang setara dengan 5 mV secara aproximatif. Ada 6 saluran ADC yang dari A0 hingga A5 pada papan Arduino UNO berarti pada satu waktu ia dapat mengontrol atau menghubungkan dengan 6 perangkat yang menghasilkan nilai analog.

Arduino IDE menyediakan fungsi built-in untuk membaca nilai analog: analogRead(pin).

Dengan cukup memberikan nomor pin dari A0 hingga A5 di mana perangkat terhubung fungsi ini membantu kita untuk membaca nilai analog.

PWM pada Arduino UNO

Modulasi Lebar Pulsa (PWM) adalah teknik yang digunakan untuk menghasilkan sinyal analog menggunakan sumber digital dengan memvariasi lebar pulsa sambil mempertahankan frekuensi tetap. Dua hal penting yang mendefinisikan PWM adalah: siklus kerja dan frekuensi.

Siklus Kerja Sinyal:

Pecahan selama sinyal ON dalam satu periode lengkap disebut Siklus Kerja.

Siklus Kerja = 100*Ton / (Ton + Toff)

Ini umumnya digunakan untuk mengontrol daya yang disampaikan ke beban dengan menyala dan mematikan sinyal. Misalnya dapat digunakan untuk mengontrol intensitas cahaya atau kecepatan beberapa motor. Setelah panggilan fungsi analogWrite(), pin akan menghasilkan gelombang persegi stabil dengan siklus kerja yang ditentukan hingga panggilan selanjutnya ke analogWrite() atau panggilan ke digitalRead() atau digitalWrite() pada pin yang sama.

Frekuensi Sinyal:

Frekuensi sinyal menunjukkan seberapa cepat sinyal menyelesaikan siklusnya artinya dalam waktu berapa lama ia beralih dari keadaan ON ke keadaan OFF atau sebaliknya. Dengan melakukan ini pada siklus kerja tertentu output berperilaku seperti tegangan analog konstan. Frekuensi sinyal PWM pada sebagian besar pin sekitar 490 Hz. Pada Uno dan papan serupa, pin 5 dan 6 memiliki frekuensi sekitar 980 Hz. Pin 3 dan 11 pada Leonardo juga berjalan pada 980 Hz

Arduino UNO memiliki 6 saluran PWM 8-bit dengan simbol ~ di dalamnya. Kami dapat memperoleh tegangan analog menggunakan fungsi analogWrite di Arduino IDE:

analogWrite (pin, Siklus kerja)

Pin: Menerima pin pada Arduino UNO yang digunakan untuk menghasilkan output analog.

Siklus Kerja: Menerima nilai yang berkisar dari 0 (min) hingga 255 (max) sebagai input untuk mengubah Siklus Kerja.

Tampilan LCD 16×2

Membuat karakter kustom pada LCD tidak sulit. Memerlukan pengetahuan tentang memori akses acak yang dihasilkan secara kustom (CG-RAM) dari LCD dan pengontrol chip LCD. Ini adalah tentang menghubungkan Arduino UNO ke modul LCD 16×2 JHD162A. JHD162A adalah modul LCD 16×2 berdasarkan driver HD44780 dari Hitachi. JHD162A memiliki 16 pin dan dapat dioperasikan dalam mode 4-bit (menggunakan hanya 4 garis data) atau mode 8-bit (menggunakan semua 8 garis data). Dalam proyek ini, kita akan menggunakan dalam mode 4-bit karena memerlukan kabel penghubung yang lebih sedikit.

Deskripsi Pin modul LCD 16×2:

Pin pada LCD Deskripsi
VSS Pin Ground
VCC Sumber daya +5V
VEE Pin untuk mengubah kontras LCD
RS Register Select: Mode Data atau Mode Perintah
RW Mode Baca atau Tulis
E Aktifkan LCD
DB0-DB7 Data dan perintah diinput menggunakan pin ini
LED+ Anoda LED backlight
LED- Katoda LED backlight

LCD ini tidak memiliki lampu sendiri jadi ada LED di belakang layar yang bertindak sebagai backlight untuk tampilan. Menghubungkan LCD ini dengan Arduino UNO cukup mudah karena Arduino IDE menyediakan library LiquidCrystal yang memiliki banyak fungsi built-in untuk membuat inisialisasi dan mencetak apa pun pada tampilan lebih mudah. Fungsi LCD yang akan kita gunakan dalam proyek ini adalah:

LiquidCrystal lcd(rs, en, d4, d5, d6, d7); lcd.begin() lcd.clear() lcd.print()

Kerja Sumber Daya Variabel menggunakan Arduino

Hubungkan kabel seperti yang diberikan dalam diagram sirkuit dengan benar. Dalam proyek ini kita akan mengambil tegangan yang didapat di terminal output dan memberikannya sebagai input ke salah satu saluran ADC. Selanjutnya saluran ADC memberikan nilai digital yang kemudian ditampilkan pada tampilan LCD 16×2. Tombol yang digunakan dalam proyek ini adalah untuk menaikkan dan menurunkan tegangan dan terhubung ke pin 4 dan pin 5 Arduino UNO. Karena Arduino UNO memiliki resolusi 10 bit yang berarti bervariasi dari 0 hingga 1023 dan tegangan maksimum ADC adalah 5 volt maka satu bit sama dengan 5/1024 = 4,9 milivolt (aproksimasi). Jadi saat menaikkan dan menurunkan nilai digital bervariasi dari 0 hingga 1023.

Sekarang kita membaca nilai ADC pada saluran A0. Arduino IDE menyediakan fungsi built-in analogRead(pin) untuk membaca nilai ADC, di sini pin adalah A0 karena saluran kami adalah A0 pada Arduino UNO. Selanjutnya kita menggunakan pin 3 untuk PWM Arduino UNO. Arduino IDE menyediakan fungsi analogWrite(pin,Duty Cycle) untuk menghasilkan output tegangan yang diinginkan dengan siklus kerja yang diberikan pada pin 3.

Sekarang saat menekan dua tombol kita mengubah siklus kerja sinyal PWM yang berakibat mengubah output tegangan. Satu tombol untuk menaikkan siklus kerja dan yang lain untuk menurunkan siklus kerja. Nilai PWM Arduino Uno bervariasi dari 0 hingga 255 yang 0 sebagai minimum untuk mencapai 0 volt dan 255 sebagai maksimum untuk mencapai 5 volt. Pin 3 kemudian diinput ke transistor NPN yang memberikan tegangan variabel di emitternya dan bertindak sebagai perangkat switching.

Dasar transistor akan memiliki rasio siklus kerja PWM yang variabel dan oleh karena itu kita dapat memperoleh output tegangan variabel di terminal. Karena tegangan tidak linier jadi kita menghubungkan kapasitor untuk menyaring kebisingan pada output tegangan variabel.

Penjelasan Kode

Menambahkan Library:

#include <LiquidCrystal.h>

Ini adalah library built-in untuk menggunakan tampilan LCD. Ini menyediakan fungsi yang dapat digunakan dengan mudah untuk menampilkan karakter pada tampilan LCD.

LiquidCrystal lcd(8, 9, 10, 11, 12, 13); int ref_volt =125; float flag =0; 

liquid crystal lcd menerima nomor pin di mana pin data dan pin RS, RW dan E tampilan LCD terhubung. Karena kita mengatur tegangan referensi kita menjadi 2,5 volt maka kita mengatur siklus kerja menjadi 50% dengan memasukkan ref_volt menjadi 125.

pinMode (3, OUTPUT); pinMode (4, INPUT); pinMode (5, INPUT); 

Pin3 Arduino UNO diatur sebagai output PWM, pin 4 dan pin 5 diatur untuk mengambil input untuk peningkatan dan penurunan tegangan.

lcd.begin(16, 2); delay(100); lcd.setCursor(1, 0); lcd.print("Variable Voltage"); lcd.clear(); delay(1000);

fungsi lcd.begin mengatur jumlah karakter tampilan LCD. Pada awalnya kita menampilkan “Variable voltage” pada layar.

float value = (analogRead(A0)); value = (value*5)/1024; analogWrite(3,ref_volt);

Variabel value membaca nilai digital yang didapat dari saluran ADC A0 dan mengonversi nilai digital ini menjadi nilai tegangan. AnalogWrite menyediakan PWM pada pin 3 Arduino UNO.

if (digitalRead(4)==LOW)  {  if (ref_volt<250)  {  ref_volt=ref_volt+1;  delay(100);  }  }

Ini memeriksa apakah tombol peningkatan ditekan atau tidak. Jika seseorang menekan tombol peningkatan maka itu meningkatkan ref_volt.

 if (digitalRead(5)==LOW)  {  if (ref_volt>0)  {  ref_volt=ref_volt-1;  delay(100);  }  }

Ini memeriksa apakah tombol penurunan ditekan atau tidak. Jika seseorang menekan tombol penurunan maka itu menurunkan ref_volt.

Dengan cara ini Anda dapat menghasilkan sumber daya variabel 5 volt menggunakan Arduino UNO tanpa banyak khawatir tentang baterai dan membuat sirkuit menjadi membesar.


Teknologi Industri

  1. AI Mendeteksi Perdagangan Manusia dan Satwa Liar di Rantai Pasok Global
  2. Membangun DTMF Decoder Hanya Menggunakan Arduino – Tidak Perlu IC Tambahan
  3. Buat Voltmeter Cerdas dengan Arduino & Smartphone – Proyek DIY Mudah
  4. Arduino Uno WiFi Web Server: Nyalakan/Matikan LED Melalui Browser
  5. Python 3 ke Arduino UNO: Kontrol Perintah Mudah dan Demo LED
  6. Membuat Radio FM Kompak dengan Arduino Nano dan RDA8057M
  7. Mobil Robot Kendali Sensor G Smartphone dengan Arduino dan Bluetooth
  8. Menguasai Arus, Daya, dan Torsi pada Drives Kecepatan Variabel
  9. Sumber Daya Dual ±12 VDC dari 230 VAC – Diagram Rangkaian & Panduan
  10. Sumber Daya Listrik Tanpa Trafo: Solusi Teruji untuk Hemat Biaya dan Ruang