đồ án xử lý tín hiệu âm thanh sử dụng cảm biến âm thanh KY037, có vẽ mạch in mạch mô phỏng,sử dụng RELAY 5V 220V, sử dụng PIC 18F4520, sử dụng để bật tắt đèn trong phòng ,dùng ngôn ngữ lập trình CCS, PROTEUS, đồ án gồm 39 trang
NGUYÊN LÝ HOẠT ĐỘNG CỦA VI ĐIỀU KHIỂN
Xây dựng mục tiêu và sơ đồ khối của hệ thống dùng vi điều khiển PIC
TÍNH CHỌN LINH KIỆN SỬ DỤNG TRONG HỆ THỐNG
Giới thiệu các linh kiện trong hệ thống
2.2 Tính toán linh kiện trong hệ thống
CHƯƠNG 3: Mô phỏng hệ thống
3.1 Thiết kế mạch nguyên lý
3.2 Chạy mô phỏng bằng phần mềm ứng dụng Proteus
CHƯƠNG 4: Chế tạo mạch thực tế
4.2 Lắp đặt thiết bị và hoàn thiện mạch
4.3 Chạy mạch và đánh giá kết quả
Xây dựng 2 chương trình riêng biệt gồm
➢ Dùng ngôn C để lập trình hệ thống
➢ Dùng hợp ngữ để lập trình phần thiết lập ban đầu
+ Hệ thống tối thiểu phải có: vi điều khiển, cảm biến, hiển thị, một số phím bấm + Chương trình vi điều khiển phải có sử dụng timer, ngắt
+ Số lượng sinh viên tối đa một nhóm: 4 sinh viên / Đề tài
IV TÀI LIỆU THAM KHẢO:
1 Trần Thái Anh Âu- Giáo trình Vi xử lý và vi điều khiển- Trung tâm học liệu Đại học Đà Nẵng – 2014
3 PIC Mocrocontrollers, Milan Verle Đà nẵng, ngày 20 tháng 02 năm 2020
Kiểm tra tiến độ thực hiện đồ án của sinh viên
( Giáo viên HD ký mỗi lần SV thông qua ĐA)
CHƯƠNG 1: NGUYÊN LÝ HOẠT ĐỘNG CỦA VI ĐIỀU KHIỂN
1.1 Xây dựng mục tiêu và sơ đồ khối của hệ thống dùng vi điều khiển PIC:
Ngày nay, vi điều khiển đã trở thành một phần không thể thiếu trong đời sống và sản xuất, hiện diện trong hầu hết các thiết bị điện Ứng dụng vi điều khiển trong thiết kế hệ thống giúp giảm chi phí và giá thành sản phẩm, đồng thời nâng cao tính ổn định của thiết bị Việc sử dụng vi điều khiển cho các công việc lặp đi lặp lại và thực hiện phép đo tự động đã thay thế sự giám sát của con người, mang lại hiệu quả cao trong hoạt động.
“Thiết kế hệ thống tự động bật đèn cảnh báo khi có âm thanh”
1.1.2 Tổng quan về họ vi điều khiển PIC:
PIC là họ vi điều khiển RISC do công ty Microchip Technology sản xuất, với dòng sản phẩm đầu tiên là PIC1650, được phát triển bởi bộ phận Microelectronics của General Instrument.
PIC, viết tắt của "Programmable Intelligent Computer" (Máy tính thông minh có thể lập trình được), là sản phẩm đầu tiên của hãng General Instrument, được đặt tên là PIC1650 Thiết bị này được thiết kế để giao tiếp với các thiết bị ngoại vi cho máy chủ 16bit CP1600, do đó còn được gọi là "Peripheral Interface Controller" (Bộ điều khiển giao tiếp ngoại vi) Mặc dù CP1600 là một CPU tốt, nhưng nó gặp khó khăn trong các hoạt động xuất nhập, dẫn đến sự phát triển của PIC 8-bit vào khoảng năm 1975 để hỗ trợ chức năng này PIC sử dụng microcode đơn giản trong ROM và mặc dù thuật ngữ RISC chưa được sử dụng vào thời điểm đó, nhưng thực tế nó là một vi điều khiển với kiến trúc RISC, hoạt động với một lệnh mỗi chu kỳ máy (4 chu kỳ của bộ dao động).
Năm 1985, General Instrument đã bán bộ phận vi điện tử của mình, dẫn đến việc chủ sở hữu mới hủy bỏ hầu hết các dự án lỗi thời Tuy nhiên, PIC đã được nâng cấp với EEPROM, trở thành một bộ điều khiển vào ra khả trình Hiện nay, nhiều dòng PIC được sản xuất với hàng loạt module ngoại vi tích hợp sẵn như USART, PWM, ADC, và có bộ nhớ chương trình từ 512 Word đến 32K Word.
-Hiện nay, tại Việt Nam, đã có một cộng đồng nghiên cứu và phát triển PIC, dsPIC và PIC32
-Họ vi điều khiển PIC phát triển và sử dụng phổ biến ở nước ta => việc tìm mua và trao đổi kinh nghiệm là hết sức thuận lợi
-Giá thành các dòng PIC là không quá mắc
-Các dòng PIC có đầy đủ tính năng để hoạt động độc lập
-Là sự bổ sung hợp lý về kiến thức cũng như ứng dụng cho họ vi điều khiển 8051
Nhà sản xuất cung cấp sự hỗ trợ mạnh mẽ cho các công cụ lập trình, trình biên dịch và mạch nạp PIC, từ cơ bản đến nâng cao Hơn nữa, các dòng PIC liên tục được phát triển với nhiều tính năng đa dạng.
Chip hiện đại tích hợp nhiều bộ phận ngoại vi như cổng vào/ra số, bộ biến đổi ADC, bộ nhớ EEPROM, bộ định thời và bộ điều chế độ rộng xung (PWM) Ngoài ra, cả bộ nhớ chương trình và bộ nhớ dữ liệu cũng được tích hợp ngay trên chip, giúp tối ưu hóa hiệu suất và giảm kích thước thiết bị.
Họ VĐK này được phát triển dựa trên kiến trúc RISC (Reduced Instruction Set Computer) với cấu trúc phức tạp Ngoài những tính năng tương tự như các họ VĐK khác, nó còn tích hợp nhiều tính năng mới tiện lợi cho nhà thiết kế và lập trình viên.
The PIC18F4520 is part of the Microchip product line including the PIC18F2420, PIC18F2520, and PIC18F4420, featuring 28/40/44-pin Enhanced Flash Microcontrollers with 10-Bit A/D and nanoWatt Technology This product line offers significant enhancements in functionality compared to previous PIC series.
+ Bộ nhớ chương trình được tăng cường ( 16Kbytes for PIC18F2420/4420 devices and 32Kbytes for PIC18F2520/4520 devices)
+ I/O ports ( 3 bidirectional ports on 28-pin devices, 5 bidirectional ports on 40/44- pin devices)
- Sử dụng công nghệ nanoWatt
Dòng sản phẩm PIC18F có nhiều tính năng tương đồng, được chia thành hai nhóm: PIC18F2420/2520 với 28 chân và PIC18F4420/4520 với 40 hoặc 44 chân Bài viết tập trung vào PIC18F4520, đặc biệt là loại PDIP, được sử dụng trong mạch thiết kế, trong khi các đặc điểm của các PIC khác trong dòng sản phẩm này cũng tương tự với các ký hiệu tương ứng.
1.1.3 Sơ đồ khối của hệ thống dùng vi điều khiển PIC :
1.2 Nguyên lý hoạt động của hệ thống :
Cảm biến âm thanh hoạt động dựa trên cơ chế của tai người, chuyển đổi rung động thành tín hiệu điện Chúng bao gồm một màng loa được thiết kế với nam châm quấn dây kim loại Khi tín hiệu âm thanh tác động vào màng loa, nam châm trong cảm biến sẽ rung và kích thích dòng điện từ cuộn dây.
Vi điều khiển PIC 18F4520 tích hợp bộ chuyển đổi ADC, cho phép tín hiệu từ cảm biến được truyền trực tiếp vào vi điều khiển Nhờ đó, PIC có khả năng chuyển đổi giá trị đọc từ cảm biến thành giá trị nhị phân.
CHƯƠNG 2: TÍNH CHỌN LINH KIỆN SỬ DỤNG TRONG
2.1 Giới thiệu các linh kiện trong hệ thống :
- Sử dụng công nghệ nanoWatl: Hiệu năng cao, tiêu thụ năng lượng ít
+ 75 lệnh mạnh, hầu hết các lệnh thực hiện trong bốn chu kì xung
+ Tốc độ thực hiện lên tới 10 triệu lệnh trong 1s với tần số 40Mhz + Có bộ nhân cứng
- Các bộ nhớ chương trình và dữ liệu cố định:
+ 32 Kbytes bộ nhớ flash có khả năng tự lập trình trong hệ thống có thể thực hiện được 100.000 lần ghi/xóa
+ 256 bytes EEPROM có thể thực hiện được 1.000.000 lần ghi/xóa
+256 bytes SRAM -Những ngoại vi tiêu biểu:
+4 bộ định thời/bộ đếm 8bit với các chế độ tỉ lệ đặt trước và chế độ so sánh
+Bộ đếm thời gian thực với bộ tạo dao động riêng biệt +2 kênh PWM
+13 kênh ADC 10 bit +Bộ truyền tin nối tiếp USART khả trình +Watchdog Timer khả trình với bộ tạo dao động bên trong riêng biệt +Bộ so sánh tương tự
-Các đặc điểm đặc biệt khác:
Power on Reset và chức năng dò Brown out đảm bảo hệ thống hoạt động ổn định Bộ tạo dao động RC được định cỡ bên trong giúp điều chỉnh tần số hoạt động Các nguồn ngắt, cả bên trong và bên ngoài, cung cấp sự linh hoạt trong thiết kế Đầu vào/đầu ra (I/O) và các kiểu đóng gói đa dạng hỗ trợ ứng dụng trong nhiều lĩnh vực khác nhau.
+32 đường I/O khả trình +Đóng gói 40-pin PDIP, 44-lead TQFP, và 44-pad MLF
Hình 2.1 Sơ đồ khối kiến trúc vi điều khiển PIC 18F4520
Hình 2.2 Sơ đồ chân vi điều khiển PIC 18f4520
Trong vi điều khiển PIC 18F4520 có 5 cổng:
- Cổng A gồm 6 chân: RA0, RA1 RA5
- Cổng B gồm 8 chân: RB0, RB1, RB7
- Cổng C gồm 8 chân: RC0, RC1, RC7
- Cổng D gồm 8 chân: RD0, RD1, RD7
- Cổng E gồm 3 chân: RE0, RE1, RE2
Mỗi cổng thực chất được quản lý bởi các thanh ghi PORTA, PORTB, PORTC, PORTD,PORTE nằm trong bộ nhớ RAM của vi điều khiển
Sau đây là giới thiệu cấu tạo chân loại 40 chân ( 40 Pin PDIP) :
- MCLR là đầu vào Master Clear ( reset) hoạt động ở mức thấp dể reset toàn bộ thiết bị
- VPP dùng để thay đổi điện áp đầu vào
Các chân thuộc cổng vào ra Port A
• Chân 2 ( RA0/AN0) :với RA0 là cổng vào ra số, AN0 là đầu vào tương tự Input0
• Chân 3 ( RA1/AN1) : RA1 là cổng vào ra số, AN1 là đầu vào tương tự Input1
Chân 4 (RA2/AN2/VREF+) bao gồm RA2 là cổng vào ra số, AN2 là đầu vào tương tự Input2 VREF+ là đầu vào tương tự dùng để chuyển đổi A/D với điện áp tham chiếu mức thấp, trong khi CVREF là đầu ra tương tự để so sánh điện áp chuẩn.
Chân 5 (RA3/AN3/VREF-) bao gồm RA3, cổng vào ra số, AN3, đầu vào tương tự Input3, và VREF-, đầu vào tương tự cho chuyển đổi A/D với điện áp tham chiếu mức cao.
• Chân 6 ( RA4/T0CKI/C1OUT) : RA4 là đầu vào ra số,T0CKI dầu vào xung bên ngoài của Timer0, C1OUT là đầu ra bộ so sánh 1
Chân 7 (RA5/AN4/SS/HLVDIN/C2OUT) bao gồm các thành phần quan trọng: RA5 là cổng vào ra số, AN4 là đầu vào tương tự (Input 4), SS để chọn đầu vào phụ thuộc SPI, HLVDIN là đầu vào tương tự để dò điện áp, và C2OUT là đầu ra của bộ so sánh 2.
Tính chọn linh kiện trong mạch
Cảm biến âm thanh thu thập tín hiệu âm thanh từ môi trường và chuyển đổi chúng thành tín hiệu điện, xuất ra qua các cổng A0 và D0 Ngưỡng âm thanh mà cảm biến có khả năng xử lý có thể được điều chỉnh thông qua biến trở gắn trên module.
2.2.2 Tính chọn điện trở cho led 7 đoạn
Dòng định mức qua led 7 đoạn: Imax = 20mA
Chọn dòng qua led: 10 mA ( sáng vừa)
Ta có công thức tính dòng qua led:
• Giá trị sụt áp trên led là 0.7v
R 1 Led sáng khi dòng qua led đó đạt giá trị 10mA ( I = 10mA)
Ta có: ID = IC = 10mA
R 3 + Led sáng khi dòng qua nó 10mA
→ Các tín hiệu 3 chân led đơn có dạng digital nên ta nối chúng vào các chân 37,38,39 của PIC 18F4520
MÔ PHỎNG HỆ THỐNG
Lưu đồ thuật toán
Hình 3.1 Lưu đồ hệ thống chính
Hình 3.2 Lưu đồ các chế độ hoạt động của hệ thống
Hình 3.4 Lưu đồ đọc giá trị analog
Hình 3.5 Chuyển đổi các giá trị âm thanh để đưa lên 4 led 7 đoạn
Hình 3.6 Luu đô xử lý tín hiệu âm thanh để bật tắt đèn
Mô phỏng bằng phần mềm ứng dựng Proteus
Hình 3.6 Sơ đồ mạch điều khiển hệ thống tự động bật đèn khi có âm thanh
Chương trình viết bằng PIC CCS
#define button pin_a2 const unsigned char led_number[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; float adc_result,sound; int times, ngan, tram, chuc, donvi, i, j;
RC0 RC1 RC2 RC3 RC4 RC5 RC6
RA2/AN2/C2IN+/VREF-/CVREF 4
RA5/AN4/SS/HLVDIN/C2OUT 7
RC0/T1OSO/T13CKI 15 RC1/T1OSI/CCP2B 16 RC2/CCP1/P1A 17 RC3/SCK/SCL 18 RC4/SDI/SDA 23 RC5/SDO 24 RC6/TX/CK 25 RC7/RX/DT 26
RD0/PSP0 19 RD1/PSP1 20 RD2/PSP2 21 RD3/PSP3 22 RD4/PSP4 27 RD5/PSP5/P1B 28 RD6/PSP6/P1C 29 RD7/PSP7/P1D 30
RE0/RD/AN5 8 RE1/W R/AN6 9 RE2/CS/AN7 10 RE3/MCLR/VPP 1
Sound Detector ww w.T he En gin ee rin gP ro je cts co m
#int_ad void interrupt_adc ()
{ times++; adc_result = adc_result + read_adc ( adc_read_only) ;
The code snippet processes a sound value to extract its digits for display on a LED It calculates the thousands, hundreds, tens, and units places using modular arithmetic and division Specifically, 'ngan' represents the thousands place, 'tram' the hundreds, 'chuc' the tens, and 'donvi' the units If 'ngan' equals 0xC0, it is set to 0xff, while 'tram' and 'chuc' are set to 0xff if the sound value is less than 100 and 10, respectively This ensures proper LED representation based on the sound input.
The code snippet demonstrates a series of operations involving output control for multiple pins It begins by outputting a signal to pin_b0, followed by a brief delay, then it switches to outputting to pin_b1 and pin_b2, each accompanied by similar delay intervals This sequence effectively manages the output states of the pins in a controlled manner, ensuring precise timing for each operation.
;delay_ms (1) ; output_c (donvi) ; output_high (pin_b3) ; delay_ms (1) ; output_low (pin_b3)
{ output_bit(pin_b7, 1); output_c(0xC0); output_high(pin_b2); delay_ms(1); output_low(pin_b2); output_c(0xC8); output_high(pin_b3); delay_ms(1); output_low(pin_b3);
The code snippet begins by sending a command to output data to port C, followed by activating pin B1 for a brief moment before deactivating it This process is repeated for pins B2 and B3, each time with a 1-millisecond delay Finally, the code ensures that all LED indicators connected to pins B4, B5, B6, and B7 are turned off by setting their states to low.
{ output_bit (pin_b4, 1) ; output_bit (pin_b5, 0) ; output_bit (pin_b6, 0) ; if (status)
} else if ( (sound>p) && (sound) // tieng on
{ output_bit (pin_b4, 0) ; output_bit (pin_b5, 0) ; output_bit (pin_b6, 1) ; output_bit (pin_c7, 1) ;
{ read_adc(adc_start_only);
{ times = 0; soundc_result*5*20/(1023*50); adc_result=0; decode();
To initialize the microcontroller, configure TRIS registers by setting TRISA to 0x0F, TRISB and TRISD to 0x00, and TRISC to 0xFF Set up the ADC with an internal clock and configure the ADC ports to use AN0 Select channel 0 for the ADC and enable global and ADC interrupts A loop is initiated with a variable 'times' initialized to zero, allowing for continuous operation.
{ delay_ms ( 10) ; while ( input ( button) ==0) {} status = ~status ; i=0;
{ display_on(); output_bit(pin_b7, 1);
} doc_adc(); output_bit(pin_b7, 1);
KẾT QUẢ MÔ PHỎNG BẰNG PROTEUS
Các trạng thái hoạt động của hệ thống ở chế độ tự động
Do không thể đưa tín hiệu âm thanh vào Proteus, chúng tôi đã sử dụng biến trở để thay thế tín hiệu âm thanh, đồng thời vẫn đảm bảo độ chính xác khi hệ thống hoạt động.
4.1.1 Hệ thống hoạt động khi âm thanh nhỏ
Hình 4.1 Hệ thống hoạt động khi âm thanh nhỏ
Khi cảm biến nhận diện âm thanh nhỏ, đèn xanh sẽ sáng lên trong khi các đèn khác tắt, đồng thời 4 đèn LED 7 đoạn sẽ hiển thị mức độ cường độ âm thanh đo được.
RC0 RC1 RC2 RC3 RC4 RC5 RC6
RA2/AN2/C2IN+/VREF-/CVREF
RA5/AN4/SS/HLVDIN/C2OUT
RC0/T1OSO/T13CKI 15 RC1/T1OSI/CCP2B 16 RC2/CCP1/P1A 17 RC3/SCK/SCL 18 RC4/SDI/SDA 23 RC5/SDO 24 RC6/TX/CK 25 RC7/RX/DT 26
RD0/PSP0 19 RD1/PSP1 20 RD2/PSP2 21 RD3/PSP3 22 RD4/PSP4 27 RD5/PSP5/P1B 28 RD6/PSP6/P1C 29 RD7/PSP7/P1D 30
RE0/RD/AN5 8 RE1/W R/AN6 9 RE2/CS/AN7 10 RE3/MCLR/VPP 1
Sound Detector ww w.T he En gin ee rin gP ro je cts co m
4.1.2 Hệ thống hoạt động khi âm thanh trung bình
Hình 4.2 Hệ thống hoạt động khi âm thanh trung bình
Khi cảm biến phát hiện âm thanh nhỏ, đèn vàng sẽ bật lên, cùng với đèn cảnh báo Đồng thời, 4 LED 7 đoạn sẽ hiển thị cường độ âm thanh được đo.
RC0 RC1 RC2 RC3 RC4 RC5 RC6
RA2/AN2/C2IN+/VREF-/CVREF
RA5/AN4/SS/HLVDIN/C2OUT
RC0/T1OSO/T13CKI 15 RC1/T1OSI/CCP2B 16 RC2/CCP1/P1A 17 RC3/SCK/SCL 18 RC4/SDI/SDA 23 RC5/SDO 24 RC6/TX/CK 25 RC7/RX/DT 26
RD0/PSP0 19 RD1/PSP1 20 RD2/PSP2 21 RD3/PSP3 22 RD4/PSP4 27 RD5/PSP5/P1B 28 RD6/PSP6/P1C 29 RD7/PSP7/P1D 30
RE0/RD/AN5 8 RE1/W R/AN6 9 RE2/CS/AN7 10 RE3/MCLR/VPP 1
Sound Detector ww w.T he En gin ee rin gP ro je cts co m
4.1.1 Hệ thống hoạt động khi âm thanh lớn
Hình 4.3 Hệ thống hoạt động khi âm thanh lớn
Khi cảm biến phát hiện âm thanh nhỏ, đèn đỏ và đèn cảnh báo sẽ tự động bật lên, đồng thời 4 đèn LED 7 đoạn hiển thị mức độ cường độ âm thanh đo được.
RC0 RC1 RC2 RC3 RC4 RC5 RC6
RA2/AN2/C2IN+/VREF-/CVREF
RA5/AN4/SS/HLVDIN/C2OUT
RC0/T1OSO/T13CKI 15 RC1/T1OSI/CCP2B 16 RC2/CCP1/P1A 17 RC3/SCK/SCL 18 RC4/SDI/SDA 23 RC5/SDO 24 RC6/TX/CK 25 RC7/RX/DT 26
RD0/PSP0 19 RD1/PSP1 20 RD2/PSP2 21 RD3/PSP3 22 RD4/PSP4 27 RD5/PSP5/P1B 28 RD6/PSP6/P1C 29 RD7/PSP7/P1D 30
RE0/RD/AN5 8 RE1/W R/AN6 9 RE2/CS/AN7 10 RE3/MCLR/VPP 1
Sound Detector ww w.T he En gin ee rin gP ro je cts co m
Các trạng thái hoạt động của hệ thống ở chế độ bằng tay
Hình 4.4 Hệ thống ở trạng thái tắt
Khi chuyển switch sang chế độ manual, hệ thống sẽ tự động tắt tất cả các đèn LED và màn hình 4 LED 7 đoạn sẽ hiển thị chữ OFF.
RC0 RC1 RC2 RC3 RC4 RC5 RC6
RA2/AN2/C2IN+/VREF-/CVREF
RA5/AN4/SS/HLVDIN/C2OUT
RC0/T1OSO/T13CKI 15 RC1/T1OSI/CCP2B 16 RC2/CCP1/P1A 17 RC3/SCK/SCL 18 RC4/SDI/SDA 23 RC5/SDO 24 RC6/TX/CK 25 RC7/RX/DT 26
RD0/PSP0 19 RD1/PSP1 20 RD2/PSP2 21 RD3/PSP3 22 RD4/PSP4 27 RD5/PSP5/P1B 28 RD6/PSP6/P1C 29 RD7/PSP7/P1D 30
RE0/RD/AN5 8 RE1/W R/AN6 9 RE2/CS/AN7 10 RE3/MCLR/VPP 1
Sound Detector ww w.T he En gin ee rin gP ro je cts co m
Hình 4.5 Hệ thống ở trạng thái bật
Khi chuyển switch sang chế độ manual, hệ thống sẽ tự động tắt Khi nhấn nút, màn hình LED 7 đoạn sẽ hiển thị "ON" trong 0.2 giây, sau đó hiển thị cường độ âm thanh Đồng thời, đèn cảnh báo sẽ bật và các đèn tương ứng với mức âm thanh từ thấp đến cao cũng sẽ sáng lên.
RC0 RC1 RC2 RC3 RC4 RC5 RC6
RA2/AN2/C2IN+/VREF-/CVREF
RA5/AN4/SS/HLVDIN/C2OUT
RC0/T1OSO/T13CKI 15 RC1/T1OSI/CCP2B 16 RC2/CCP1/P1A 17 RC3/SCK/SCL 18 RC4/SDI/SDA 23 RC5/SDO 24 RC6/TX/CK 25 RC7/RX/DT 26
RD0/PSP0 19 RD1/PSP1 20 RD2/PSP2 21 RD3/PSP3 22 RD4/PSP4 27 RD5/PSP5/P1B 28 RD6/PSP6/P1C 29 RD7/PSP7/P1D 30
RE0/RD/AN5 8 RE1/W R/AN6 9 RE2/CS/AN7 10 RE3/MCLR/VPP 1
Sound Detector ww w.T he En gin ee rin gP ro je cts co m
Mạch in
Hình 4.6 Mạch in hệ thống
Hình 4.7 Mạch mô phỏng hệ thống nhìn từ phía trước
Hình 4.8 Mạch mô phỏng của hệ thống nhìn phía dưới