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

Generator Gelombang Persegi Sederhana DIY Hingga 1MHz

Komponen dan persediaan

Arduino Nano R3
× 1
Adafruit LCD Standar - 16x2 Putih di Atas Biru
× 1
Sakelar Tombol Tekan, Sesaat
× 3
Potensiometer Putaran Tunggal- 10k ohm
× 1

Aplikasi dan layanan online

Arduino IDE

Tentang proyek ini

Ini adalah generator gelombang persegi sederhana yang pada dasarnya menggunakan perpustakaan TimerOne yang memungkinkan Anda menghasilkan sinyal PWM pada pin 9 dalam kisaran dari sekitar 5Hz hingga 1 Mhz, dan Anda dapat menyesuaikan siklus kerja dari 0 hingga 100%.

Perangkat sangat mudah dibuat dan hanya terdiri dari beberapa komponen:

- Mikrokontroler Arduino Nano

- Layar LCD

- Tiga resistor tarik

- dan tiga tombol tekan

Generator pulsa memiliki kemampuan untuk mengatur periode pengulangan pulsa menggunakan tombol yang terhubung ke input digital 6 dan 7 dari Arduino. 13 pin input memungkinkan Anda untuk menyesuaikan siklus kerja. Pembacaan durasi dan siklus kerja ditampilkan pada baris pertama indikator LCD 16 × 2, dan pembacaan frekuensi ditampilkan pada baris kedua. Langkah minimal untuk mengatur periode pengulangan pulsa adalah 1 s, sehingga frekuensi akan berubah secara diskrit, misalnya, 1 s adalah 1 MHz, 2 s adalah 500 kHz, 3 s adalah 333.333 Hz, dan seterusnya, dan seiring dengan penurunan frekuensi , kelancaran penyesuaiannya meningkat. Ini cukup tidak praktis pada frekuensi yang lebih tinggi tetapi itu adalah harga kesederhanaan. Dalam salah satu video saya sebelumnya, saya telah menjelaskan konstruksi perangkat serupa tetapi dengan bantuan chip DDS khusus yang tidak memiliki kekurangan ini dan memiliki jangkauan yang jauh lebih besar, tetapi lebih kompleks untuk dibuat

Untuk memvisualisasikan sinyal keluaran saya menggunakan osiloskop saluran tunggal kecil. Terakhir, perangkat dipasang dalam kotak yang sesuai, dan merupakan alat lain yang berguna di laboratorium elektronik.

Kode

  • Kode Arduino
Kode ArduinoC/C++
#include #include LiquidCrystal lcd(12, 11, 5, 4, 3, 2);// RS,E,D4,D5,D6,D7unsigned long t=1000 ,f,k=512;// default 1000 s (1000 Hz), berkelok-kelok, byte pulsa k1,kn,kn1,kn2;int drive,drive0;void setup(){ lcd.begin(16, 2);// LCD 16X2 pinMode (9, OUTPUT); pinMode(6,INPUT);// tombol pada input 6 pinMode(7,INPUT);// tombol pada input 7 pinMode(13,INPUT);// tombol pada input 13}void loop(){ Timer1.initialize(t ); // periode Timer1.pwm(9, k); // k - mengisi faktor 0-1023. kn=digitalRead(6);// input tombol 6 (- periode pulsa) kn1=digitalRead(7);// input tombol 7 (+ periode pulsa) kn2=digitalRead(13);// input tombol 13 (+ isi lingkaran faktor) if(kn==HIGH){ // mengurangi periode drive++; if(berkendara<30){ t=t-1; } // jika tombol ditahan lama, koreksi pulsa else if(drive>30 &&drive<60 ){ t=t-10; } else if(drive>=60 &&drive<100){ t=t-100; } else if(drive>=100){ t=t-1000; } } lain{ drive=0; } if(kn1==HIGH){// menambahkan periode drive0++; if(drive0<30){ t=t+1; // jika tombol ditahan lama, koreksi } else if(drive0>30 &&drive0<60 ){ t=t+10; } else if(drive0>=60 &&drive0<100){ t=t+100; } else if(drive0>=100){ t=t+1000; } } lain{ drive0=0; } if(t==0 || t>300000){ // membatasi durasi pulsa ke minimum, jika t=1; } if(t>200000 &&t<300000){ // membatasi durasi pulsa ke t=2000000; } f=1000000/t; // hitung frekuensi k1=k*100/1024; // hitung% faktor pengisian if(kn2==HIGH){// tombol untuk menyesuaikan faktor pengisian (dalam lingkaran dari k=k+16;// langkah 16 dari 1024 (Anda dapat melakukan 8 untuk penyesuaian yang lebih halus) } if(k==1024){ k=0; }// menampilkan informasi pada indikator lcd.setCursor(0,0); lcd.print("T="); lcd.print(t); lcd.print( " kami"); lcd.setCursor(12,0); lcd.print(k1); lcd.print(" %"); lcd.setCursor(0,1); lcd.print("F="); lcd .print(f); lcd.print(" Hz"); delay(300); lcd.setCursor(0,0); lcd.print(" "); lcd.setCursor(0,1); lcd.print( " ");}

Skema


Proses manufaktur

  1. Sinyal Gelombang Persegi
  2. DIY LUMAZOID Arduino Music Visualizer
  3. Jam Kata Sederhana (Arduino)
  4. DIY Sederhana 20 kHz Arduino Oscilloscope pada LCD Nokia 5110
  5. Voltmeter DIY Menggunakan Arduino dan Smartphone
  6. JX Wave Generator
  7. Sensor Kendala Sederhana dengan Arduino
  8. Skateboard Realitas Virtual DIY
  9. Kalkulator UNO sederhana
  10. Roda Pengukur Sederhana DIY dengan Rotary Encoder