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

Catu Daya Variabel Menggunakan Arduino UNO – Sirkuit dan Kode

Bagaimana Cara Membuat Catu Daya Variabel menggunakan Arduino UNO?

Suatu catu daya adalah persyaratan dasar dan esensial untuk peralatan dan sirkuit elektronik dan listrik. Ada berbagai jenis rangkaian dan peralatan, oleh karena itu, permintaan catu daya mereka berbeda untuk rangkaian elektronik yang berbeda. Misalnya, modul Wi-Fi, relai, motor, dll memerlukan voltase yang berbeda. Di pasar kami tidak mendapatkan catu daya yang berbeda untuk setiap elektronik sehingga kami menghasilkan catu daya khusus kami sendiri dari berbagai metode. Solusi sederhana untuk ini adalah menggunakan baterai.

Baterai umumnya digunakan untuk menyalakan Sirkuit Elektronik dan Proyek, karena mudah tersedia dan dapat dihubungkan dengan mudah. Tapi mereka terkuras dengan cepat dan kemudian kita membutuhkan baterai baru, juga baterai ini tidak dapat memberikan arus tinggi untuk menggerakkan motor yang kuat. Jadi baterai habis dan juga membuat sirkuit menjadi besar. Juga baterai menjadi panas ketika elektronik digunakan lebih lama atau digunakan secara berlebihan dan seiring waktu masa pakai baterai berkurang. Untuk mengatasi masalah ini, kami memperkenalkan solusi yang lebih baik dan efisien yang dapat digunakan di sirkuit apa pun. Dalam proyek ini kami akan menunjukkan kepada Anda bagaimana kami dapat menghasilkan Variabel Power Supply dari Arduino UNO .

Dengan menggunakan proyek ini, Anda akan bisa mendapatkan catu daya variabel sesuai dengan peralatan elektronik Anda tanpa khawatir tentang pengisian daya, pemakaian, masalah pemanasan, dll. Ada banyak metode yang tersedia untuk menghasilkan variabel power supply tetapi ini adalah cara termudah karena membutuhkan komponen yang murah dan mudah didapat. Jadi mari kita lihat komponen yang diperlukan untuk proyek ini.

Komponen yang Diperlukan

Perangkat Lunak: AURDINO Nightly atau Atmel Studio 6.2

Diagram Rangkaian Catu Daya Variabel

Sebelum masuk ke proyek ini, beri tahu kami beberapa hal tentang proyek ini.

Arduino UNO

Arduino UNO adalah platform open source yang digunakan untuk mengembangkan proyek elektronik. Itu dapat dengan mudah diprogram, dihapus, dan diprogram ulang kapan saja. Papan Arduino yang tersedia di pasaran banyak sekali seperti Arduino UNO, Arduino Nano, Arduino Mega, Arduino lily pad dll dengan spesifikasi yang berbeda-beda sesuai dengan penggunaannya. Dalam proyek ini kita akan menggunakan Arduino UNO untuk mengontrol peralatan rumah tangga secara otomatis. Ini memiliki IC mikrokontroler ATmega328 di atasnya yang berjalan pada kecepatan clock 16MHz. Ini sangat kuat yang dapat bekerja pada protokol komunikasi USART, I2C dan SPI.

Board ini biasanya diprogram menggunakan software Arduino IDE menggunakan kabel micro USB. ATmega328 hadir dengan boot loader on board yang telah diprogram sebelumnya yang memudahkan untuk mengunggah kode tanpa bantuan perangkat keras eksternal. Ini memiliki aplikasi yang luas dalam membuat proyek atau produk elektronik. Bahasa C dan C++ digunakan untuk memprogram papan yang sangat mudah dipelajari dan digunakan. Arduino IDE membuatnya lebih mudah untuk diprogram. Ini memisahkan kode dalam dua bagian yaitu void setup () dan void loop (). Fungsi void setup () hanya berjalan satu kali dan digunakan terutama untuk memulai beberapa proses sedangkan void loop () terdiri dari bagian kode yang harus dijalankan terus menerus.

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

Ada regulator tegangan terpasang untuk menghasilkan 3,3 volt untuk mengoperasikan perangkat berdaya 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 SS (10), MOSI (11) , MISO (12) dan SCK (13) pin untuk protokol komunikasi SPI.

ADC di Arduino UNO

Arduino UNO memiliki 6 saluran ADC yang dapat digunakan untuk merasakan atau membaca sinyal analog mulai dari 0 volt hingga 5 volt. Ketika kita menghubungkan sensor dengan mikrokontroler seperti Arduino UNO maka sensor menghasilkan nilai output analog, Arduino UNO merasakan nilai digital. Oleh karena itu ADC membantu mengubah nilai sensor menjadi nilai analog dan memasukkannya ke dalam mikrokontroler. Ada banyak aplikasi ADC seperti penginderaan suhu, pengukuran jarak, pengukuran kecepatan, dan banyak sensor yang menghasilkan nilai analog.

Arduino UNO memiliki ADC 10-bit yang artinya nilainya berubah dari 0 menjadi 1023 di setiap langkah. Ini disebut sebagai resolusi yang menunjukkan jumlah nilai diskrit yang dapat dihasilkan melalui rentang nilai analog.

Karena tegangan maksimum ADC adalah 5 volt, maka setiap langkah ADC mulai dari 0 hingga 1023 memiliki nilai kira-kira setara dengan 5 mV. Ada 6 saluran ADC yang dari A0 sampai A5 pada papan Arduino UNO berarti pada suatu waktu dapat mengontrol atau antarmuka dengan 6 perangkat yang menghasilkan nilai analog.

Arduino IDE menyediakan fungsi bawaan untuk membaca nilai analog:analogRead(pin).

Dengan hanya memberikan nomor pin dari A0 hingga A5 ke perangkat mana yang terhubung, fungsi ini membantu kita membaca nilai analog.

PWM di Arduino UNO

Pulse Width Modulation (PWM) adalah teknik yang digunakan untuk membangkitkan sinyal analog menggunakan beberapa sumber digital dengan memvariasikan lebar pulsa sambil menjaga frekuensi tetap konstan. Dua hal penting utama yang mendefinisikan PWM adalah:duty cycle dan frekuensi.

Siklus Tugas Sinyal:

Bagian di mana sinyal AKTIF dalam satu periode penuh disebut sebagai Siklus Tugas.

Duty Cycle =100*Ton / (Ton + Toff)

Ini umumnya digunakan untuk mengontrol daya yang dikirim ke beban dengan menyalakan dan mematikan sinyal. Misalnya dapat digunakan untuk mengontrol intensitas cahaya atau kecepatan beberapa motor. Setelah panggilan fungsi analogWrite(), pin akan menghasilkan gelombang persegi yang stabil dari duty cycle yang ditentukan hingga panggilan berikutnya ke analogWrite() atau panggilan ke digitalRead() atau digitalWrite() pada pin yang sama.

Frekuensi Sinyal:

Frekuensi sinyal menandakan seberapa cepat sinyal menyelesaikan siklusnya berarti berapa lama ia beralih dari status ON ke status OFF atau sebaliknya. Dengan melakukannya pada siklus tugas tertentu output berperilaku seperti tegangan analog konstan. Frekuensi sinyal PWM pada sebagian besar pin kira-kira 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 atasnya. Kita dapat memperoleh tegangan analog menggunakan fungsi fungsi analogWrite di Arduino IDE:

analogWrite (pin, Siklus tugas)

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

Duty Cycle:Dibutuhkan rentang nilai dari 0 (min) hingga 255 (max) sebagai input untuk mengubah Duty Cycle.

Layar LCD 16×2

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

Deskripsi Pin dari modul LCD 16×2:

Pin pada LCD Deskripsi
VSS Pin Tanah
VCC catu daya +5V
VEE Sematkan untuk mengubah kontras LCD
RS Pilih Daftar:Mode Data atau Mode Perintah
RW Mode Baca atau Tulis
E Aktifkan LCD
DB0-DB7 Data dan perintah diumpankan menggunakan pin ini
LED+ Anoda lampu latar LED
LED- Katoda lampu latar LED

LCD ini tidak memiliki lampu sendiri sehingga ada LED di belakang layar yang berfungsi sebagai lampu latar untuk tampilan. Menghubungkan LCD ini dengan Arduino UNO cukup mudah karena Arduino IDE menyediakan perpustakaan LiquidCrystal yang memiliki banyak fungsi bawaan untuk memudahkan inisialisasi dan mencetak apa pun di layar. Fungsi LCD yang terutama akan kita gunakan dalam proyek ini adalah:

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

Bekerja Variabel Power Supply menggunakan Arduino

Hubungkan kabel seperti yang diberikan dalam diagram sirkuit dengan benar. Dalam proyek ini kita akan mendapatkan tegangan yang diperoleh di terminal output dan memberikannya sebagai input ke salah satu saluran ADC. Selanjutnya saluran ADC memberikan nilai digital yang kemudian ditampilkan pada layar LCD 16x2. Tombol-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 ADC maksimum adalah 5 volt, maka satu bit sama dengan 5/1024 =4,9 mili volt (perkiraan). Jadi penambahan dan pengurangan mana yang kita pindahkan nilai digitalnya bervariasi dari 0 hingga 1023.

Sekarang kita membaca nilai ADC pada saluran A0. Arduino IDE menyediakan fungsi inbuilt analogRead(pin) untuk membaca nilai ADC, di sini pin adalah A0 karena salurannya adalah A0 pada Arduino UNO. Selanjutnya kami menggunakan pin 3 untuk Pwm Arduino UNO. Arduino IDE menyediakan fungsi analogWrite(pin,Duty Cycle) untuk membangkitkan tegangan keluaran yang diinginkan dengan duty cycle yang diberikan pada pin 3.

Sekarang dengan menekan dua tombol kita mengubah duty cycle dari sinyal pwm yang hasilnya mengubah tegangan output. Satu tombol adalah untuk menambah siklus kerja dan yang lainnya adalah untuk mengurangi siklus kerja. Nilai PWM Arduino Uno berubah dari 0 menjadi 255 dimana 0 minimum untuk mencapai 0 volt dan 255 untuk maksimum 5 volt. Pin 3 selanjutnya diumpankan ke transistor NPN yang memberikan tegangan variabel pada emitornya dan bertindak sebagai perangkat switching.

Basis transistor akan memiliki rasio tugas variabel pwm dan karenanya kita dapat memperoleh tegangan output variabel di terminal. Karena tegangannya tidak linier, maka kami menghubungkan kapasitor untuk menyaring gangguan pada tegangan keluaran variabel.

Penjelasan Kode

Termasuk Perpustakaan:

#include <LiquidCrystal.h>

Ini adalah perpustakaan bawaan untuk menggunakan layar LCD. Ini menyediakan fungsi yang dapat digunakan dengan mudah untuk menampilkan karakter di layar LCD.

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

lcd kristal cair mengambil nomor pin di mana pin data dan pin RS, RW dan E dari layar LCD terhubung. Karena kita menyetel tegangan referensi ke 2.5volt, maka kita menyetel siklus kerja ke 50% dengan menempatkan ref_volt ke 125.

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

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

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

lcd.begin berfungsi mengatur jumlah karakter layar LCD. Pada awalnya kami menampilkan “Variable voltage” di layar.

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

Variabel nilai membaca nilai digital yang diperoleh dari saluran ADC A0 dan mengubah nilai digital ini menjadi nilai tegangan. AnalogWrite menyediakan PWM di pin 3 Arduino UNO.

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

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

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

Ini memeriksa apakah tombol pengurangan ditekan atau tidak. Jika seseorang menekan tombol penurunan maka ref_volt akan berkurang.

Dengan cara ini Anda dapat menghasilkan catu daya variabel 5 volt menggunakan Arduino UNO tanpa terlalu mengkhawatirkan baterai dan membuat sirkuit menjadi besar.


Teknologi Industri

  1. Menggunakan AI untuk Mengungkap Perdagangan Manusia dan Satwa Liar dalam Rantai Pasokan
  2. Decoder DTMF Hanya Menggunakan Arduino
  3. Voltmeter DIY Menggunakan Arduino dan Smartphone
  4. WebServerBlink Menggunakan Arduino Uno WiFi
  5. Python3 dan Komunikasi Arduino
  6. Radio FM Menggunakan Arduino dan RDA8057M
  7. Robotcar Dikendalikan Menggunakan Smartphone G-Sensor
  8. Arus, daya, dan torsi dalam penggerak kecepatan variabel
  9. Diagram Sirkuit Catu Daya Ganda – 230VAC hingga ±12VDC
  10. Catu Daya Tanpa Transformator:Cara Mengatasi Biaya dan Ruang yang Disetujui