Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 35 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
35
Dung lượng
2,37 MB
Nội dung
TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG KHOA ĐIỆN TỬ VIỄN THƠNG Báo cáo thực tập cơng nhân Đề tài: Hệ thống báo động phát rị rỉ khí GAS GIÁO VIÊN HƯỚNG DẪN : LÊ HỒNG NAM Báo cáo thực tập công nhân CHƯƠNG 1: GIỚI THIỆU HỆ THỐNG PHÁT HIỆN VÀ CẢNH BÁO RỊ RỈ KHÍ GAS 1.1 Nhiệm vụ mạch: Hệ thống phát cảnh báo rị rỉ khí gas sử dụng hộ gia đình, giảm thiểu nguy từ việc rị rỉ khí gas cháy nổ việc cảnh báo sớm việc rị rỉ khí gas ,và đồng thời cảnh báo qua điện thoại đến người giám sát Ngồi hệ thống cịn có chức đo đạc nhiệt độ thông qua cảm biến nhiệt độ 1.2 Sơ đồ khối nhiệm vụ khối Sơ đồ khối Nhiệm vụ khối 1.2.1 Khối nguồn: cung cấp nguồn cho toàn hệ thống 1.2.2 Khối cảm biến: gồm cảm biến khí GAS cảm biến nhiệt độ Nhiệm vụ chuyển giá trị vật lý cần đo đạc mức điện áp để phù hợp cho việc xử lý khối xử lý trung tâm 1.2.3 Khối xử lý: nhiệm vụ khối chuyển đổi (ADC) mức điện áp đo từ khối cảm biến thành giá trị nhị phân để xử lý Các liệu nhị phân đưa vào vi xử lý trung tâm, so sánh với ngưỡng thiết lập, thực việc xử lý gửi báo động đến khối báo động 1.2.4 Khối báo động: thực nhiệm vụ báo động qua điện thoại chng 1.3 Tính chọn linh kiện 1.3.1 Khối cảm biến dung để đo nồng độ gas khơng khí nhiệt độ mơi trường Nồng độ khí gas khơng khí 0ppm, nồng độ khí gas tối thiểu gây nguy hiểm 500ppm, ta chọn cảm biến gas có mức đo tối thiểu phải 500ppm Vậy ta chọn cảm biến MQ6 có than đo từ 100ppm đến 10000ppm HT phát báo động rị rỉ khí GAS Báo cáo thực tập công nhân Cảm biến MQ6 MQ6 cảm biến sử dụng SnO2, dựa vào thay đổi khả dẫn điện( tức điện trở) SnO2 nồng độ khí gas hay chất dễ cháy khác khơng khí thay đổi Khi nồng độ tăng độ dẫn điện tăng tức điện trở giảm Đặc tính , thông số kỹ thuật cảm biến MQ6 HT phát báo động rị rỉ khí GAS Báo cáo thực tập công nhân Đặc tuyến thay đổi điện trở Rs vối với thay đổi nhiệt độ mơi trường 1.3.2 Cảm biến nhiệt có đặc tuyến nhiệt độ có thang đo mơi trường , tức từ 00C đến 1000C có đáp ứng nhiệt độ-điện áp tuyến tính Ta chọn cảm biến nhiệt độ LM35 phổ biến thị trường Hình dạng sơ đồ chân Thông số kỹ thuật Điện áp cung cấp: Điện áp ra: Dải nhiệt độ đo được: Độ nhạy Đặc tuyến nhiệt độ điện áp HT phát báo động rị rỉ khí GAS -0.2V đến 35V -1V đến 6V từ -50 đến 1500C 10mV/0C Báo cáo thực tập công nhân 1.3.3 Khối xử lý trung tâm khối xử lý trung tâm: KHối ADC chuyển đổi tín hiệu tương tự sang số để cung cấp liệu cho khối xử lý trung tâm Để thuận tiện cho việc thiết kế gia công mạch, ta kết hợp khối thành khối Vậy ta sử dụng vi điều khiển có tích hợp ADC Vậy ta dùng vi điều khiển MSP430G2553 để thực điều Tổng quan vi xử lý msp430: - Hãng sản xuất: Texas Instrument Mixed-signal Microcontroller (mixed-signal tức tích hợp Analog signal Digital signal ) Nó xây dựng lõi CPU 16-bit Đặc tính quan trọng dòng MSP430 tiêu thụ lượng thấp (low power consumption) Họ MSP430 đa dạng chủng loại Từ chip I/O, chức năng, chân cẳng với giá tầm 0.2 $ / Nó lựa chọn cho ứng dụng nhúng (embedded aplications) Thông tin tổng quát MSP430G2553 - Có 20 chân, có 15 chân chân I/O => vừa đủ cho thiết kế hệ thống - Được tích hợp nhiều chức năng: UASRT, SPI, I2C, timer, PWM, đặc biệt kênh 10bit ADC để phục vụ cho thiết kế hệ thống - Tốc độ tối đa 25Mhz, Có tích hợp sẵn dao động nội xác Điện áp hoạt động thấp hoạt động dải điện áp 1.8V đến 5V - Có 16KB flash 512B RAM Sơ đồ chân msp430g2553 HT phát báo động rị rỉ khí GAS Báo cáo thực tập công nhân Sơ đồ khối chức tổng quát : Chức năng: chân MSP430G2553 PORT1: chân 2,3,4,5,6,7,14,15 VDK: chân có nhiều chức khác I/O (8 chân) , phục vụ cho truyền thông nối tiếp ( chân P1.1, P1.2), hay ADC ( chân), chân ngắt (8 chân) PORT2: gồm bit, chân từ 8-> 13 vi điều khiển, bao gồm chức I/O Ngồi cịn chân Reset( mức thấp) chân 16 Chân Test (số 17) phục vụ cho việc lập trình , debug Chân 18,19 chân dao động dao động Chân 1,20 chân nguồn cung cấp nối đất Tổ chức nhớ ghi của MSP430 Các ghi tổng quát HT phát báo động rò rỉ khí GAS Báo cáo thực tập cơng nhân Bao gồm ghi PC, SP, SR… Các ghi liên quan đến xuất nhập PxDIR: chọn Input/ouput cho chân VDK, PxDIR=0 , chân VDK có chức Input PxDIR=1: chân VDK chân OUTPUT PxIN: dùng để đọc liệu từ PORT PORT đc cấu hình input PxOUT: dùng để xuất liệu mong muốn port port cấu hình output PxREN: kích hoạt điện trở kéo lên chân port PxIE, PxIES,PxIFG: dùng để bật ngắt (PxIE) chọn cạnh ngắt (PxIES) (ngắt lên, ngắt xuống) chân tương ứng port Và có ngắt xảy ra, cờ ngắt tương ứng bật lên PxIFG PxSELx: Vì PORT msp430 có nhiều chức khác nên tồn tạo ghi PxSELx để chọn chức tương ứng: Vì P1 có chức chân, nên có ghi P1SEL1 P1SEL2 để chọn chức cho chân HT phát báo động rị rỉ khí GAS Báo cáo thực tập công nhân Các ghi phục vụ cho ADC Msp430g2553 tích hợp sẵn kênh ADC 10BIT port1 Bộ ADC msp430 hoạt động theo chế độ lấy mẫu kênh đơn lấy mẫu nhiều kênh Để phục vụ cho việc điều khiển ADC, có ghi sau ADC10CTL1, ADC10CTL0 : điều khiển việc hoạt động lấy mẫu: ADC10MEM: Thanh ghi điều khiển 16 bit ADC sô số dùng để Giá trị ADC lấy mẫu lưu vào ADC10AE: Chọn chân PORT dùng để thực chức ADC, bit có mức ưu tiên cao cách bit ghi P1SEL 1.3.4 Khối cảnh báo qua điện thoại: Tại khối này, ta điều khiển việc quay số điện thoại Vì ta cần tất 11 ngõ vào điều khiển Để tiết kiệm chân điều khiển, ta sử dụng to 16 IC74hc154 Đồng thời ta dùng opto PC817A IC74HC154: Thông số kỹ thuật Điện áp hoạt động : 3.3 -> 7V Tốc độ hoạt động tối da: Dòng vào tối đa ngõ vào : 1mA Dòng vào tối đa ngõ : 20mA Sơ đồ chân: Các chân từ 0-> 15: 16 ngõ ra, mức tích cực mức thấp HT phát báo động rị rỉ khí GAS Báo cáo thực tập công nhân Chân 12: chân đất Chân 24 Chân nguồn Chân 18-23: đầu vào, chân 20-23 chân BCD ngõ vào, chân 18,19 chân điều khiển xuất liệu Bảng chân trị Hoạt động IC: Các chân ABCD nhận liệu BCD vào, đầu điều khiển G1,G2 mức cao, tất 16 ngõ mức cao Nếu đầu vào G1, G2 mức thấp, liệu BCD tương ứng đưa vào chân ABCD giải mã mà xuất 16 ngõ ra, ngõ có mức tích cực mức thấp Opto PC817A Cấu tạo : HT phát báo động rị rỉ khí GAS Báo cáo thực tập công nhân Thông số kỹ thuật Hoạt động: Mắc sơ đồ trên: điện áp Input =0 , Led ko sáng, nên OPto ko dẫn, điện áp VCC Khi điện áp vào Input = Vcc , Led sáng, Optp dẫn , nên điện áp 0: HT phát báo động rị rỉ khí GAS Báo cáo thực tập công nhân Khối hiển thị: Phần hiển thị hiển thị LCD text 16x2 Để hiển thị ta mắc LCD theo sơ đồ sau HT phát báo động rị rỉ khí GAS 20 Báo cáo thực tập công nhân Khối xử lý trung tâm: Nhiệm vụ khối vừa dùng để ADC vừa xử lý định Vì vi điều khiển msp430g2553 tích hợp sẵn khối ADC, nên sơ đồ khối tổng quát hệ thống sau: HT phát báo động rị rỉ khí GAS 21 Báo cáo thực tập công nhân HT phát báo động rị rỉ khí GAS 22 Báo cáo thực tập công nhân CHƯƠNG 3: THIẾT KẾ PHẦN MỀM Tại chương trình bày lưu đồ thuật tốn khối trương trình Chương trình đọc liệu ADC: thực việc cấu hình module ADC, mode hoạt động, lấy mẫu ADC 1.1 Cấu hình hoạt động ADC 1.2 Lấy mẫu ADC HT phát báo động rị rỉ khí GAS 23 Báo cáo thực tập công nhân Chương trình nhấn phím điện thoại: gồm chương trình: hàm thực chức nhấn phím bấm riêng lẻ, gọi đến số điện thoại 2.1 Nhấn nút riêng lẻ HT phát báo động rò rỉ khí GAS 24 Báo cáo thực tập cơng nhân 2.2 Gọi điện thoại HT phát báo động rị rỉ khí GAS 25 Báo cáo thực tập cơng nhân Chương trình hiển thị LCD: hiển thị LCD cấu hình hoạt động theo chế độ 4bit 3.1 Ghi vào LCD: LCD hoạt động theo chế độ bit nên muốn ghi liệu bit vào LCD ta cần phải ghi nibble cao nibble thấp vào LCD HT phát báo động rị rỉ khí GAS 26 Báo cáo thực tập cơng nhân 3.2 Cấu hình, khởi động LCD HT phát báo động rị rỉ khí GAS 27 Báo cáo thực tập công nhân 3.3 Xuất ký tự LCD HT phát báo động rò rỉ khí GAS 28 Báo cáo thực tập cơng nhân Chương trình chính: tổng hợp tất cả, phối hợp tạo thành hệ thống hoàn chỉnh HT phát báo động rị rỉ khí GAS 29 Báo cáo thực tập công nhân CODE include #include "lcd16.h" //#define LED0 BIT0 //#define LED1 BIT6 #define ADC_CHANNELS //We will sample channels #define EN1 BIT6 #define chuong BIT7 unsigned int samples[ADC_CHANNELS]; unsigned int temperature; char display[16] = {"temp: "}; char display1[16] = {"ppm : "}; int x=0; void ConfigureAdc(void) { /* Configure ADC Channel */ ADC10CTL1 = ADC10DIV_0 ; // Channel 5, ADC10CLK/4 ADC10CTL0 = SREF_0 + ADC10SHT_2 + ADC10ON + ADC10IE; //Vcc & Vss as reference ADC10AE0 |= BIT0+BIT1; //P1.5 ADC option } void press_number(int number){ P1OUT|=EN1; int temp= number