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ụ của mạch: Hệ thống phát hiện và cảnh báo rò rỉ khí gas được sử dụng trong các hộ gia đình, nó giảm thiểu cá
Trang 1Báo cáo thực tập công nhân
Đề tài: Hệ thống báo động phát hiện rò rỉ khí GAS
GIÁO VIÊN HƯỚNG DẪN : LÊ HỒNG NAM
Trang 2CHƯƠ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ụ của mạch:
Hệ thống phát hiện và cảnh báo rò rỉ khí gas được sử dụng trong các hộ gia đình, nó giảm thiểu các nguy cơ từ việc rò rỉ khí gas như cháy nổ bằng 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 Ngoài ra hệ thống còn có chức năng đo đạc nhiệt độ thông qua cảm biến nhiệt độ
1.2 Sơ đồ khối và nhiệm vụ từng khối
Sơ đồ khối
Nhiệm vụ từng khối
1.2.1 Khối nguồn: cung cấp nguồn cho toàn bộ hệ thống
1.2.2 Khối cảm biến: gồm các cảm biến khí GAS và cảm biến nhiệt độ Nhiệm vụ
chuyển các giá trị vật lý cần đo đạc về mức điện áp để phù hợp cho việc xử lý của khối xử lý trung tâm
1.2.3 Khối xử lý: nhiệm vụ khối này là chuyển đổi (ADC) mức điện áp đo được từ khối
cảm biến thành các giá trị nhị phân để có thể xử lý được Các dữ liệu nhị phân được đưa vào vi xử lý trung tâm, so sánh với các ngưỡng đã được thiết lập, thực hiện việc xử lý và gửi báo động đến khối báo động
1.2.4 Khối báo động: thực hiện nhiệm vụ báo động qua điện thoại và chuông
1.3 Tính chọn các linh kiện
1.3.1 Khối cảm biến dung để đo nồng độ gas trong không khí và nhiệt độ môi trường Nồng độ khí gas trong không khí là 0ppm, nồng độ khí gas tối thiểu có thể gây nguy hiểm là 500ppm, vậy ta chọn cảm biến gas có mức đo tối thiểu phải dưới 500ppm Vậy
ta chọn cảm biến MQ6 có than đo từ 100ppm đến 10000ppm
Trang 3Cảm biến MQ6
MQ6 là cảm biến sử dụng SnO2, dựa vào sự thay đổi khả năng dẫn điện( tức điện trở) của SnO2 khi nồng độ khí gas hay các chất dễ cháy khác trong không khí thay đổi Khi nồng độ tăng thì độ dẫn điện càng tăng tức điện trở càng giảm
Đặc tính , thông số kỹ thuật của cảm biến MQ6
Trang 4Đặc tuyến chỉ ra sự thay đổi điện trở Rs vối với sự thay đổi nhiệt độ môi trường1.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 và 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 trên thị trường
Hình dạng và sơ đồ chân
Thông số kỹ thuật
Điện áp cung cấp: -0.2V đến 35V Điện áp ra: -1V đến 6V Dải nhiệt độ đo được: từ -50 đến 1500C
Độ nhạy 10mV/0C Đặc tuyến nhiệt độ điện áp
Trang 51.3.3 Khối xử lý trung tâm và 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 dữ liệu cho khối xử
lý trung tâm Để thuận tiện cho việc thiết kế và gia công mạch, ta kết hợp 2 khối này thành 1
khối Vậy ta sẽ sử dụng vi điều khiển có tích hợp cả ADC Vậy ta dùng vi điều khiển
MSP430G2553 để thực hiện điều này
Tổng quan về vi xử lý msp430:
- Hãng sản xuất: Texas Instrument.
- Mixed-signal Microcontroller (mixed-signal tức là được tích hợp cả Analog signal và Digital signal )
- Nó được xây dựng trên lõi CPU 16-bit.
- Đặc tính quan trọng của các dòng MSP430 là tiêu thụ năng lượng rất thấp (low power consumption)
- Họ MSP430 rất đa dạng về chủng loại Từ những chip ít I/O, ít chức năng,
ít chân cẳng với giá tầm 0.2 $ / con
- Nó là một trong các lựa chọn cho các ứng dụng nhúng (embedded aplications).
Thông tin tổng quát về MSP430G2553
- Có 20 chân, trong đó có 15 chân là các chân I/O => vừa đủ cho thiết kế của hệ thống này
- Được tích hợp rất nhiều chức năng: UASRT, SPI, I2C, timer, PWM, và đặc biệt
là 8 kênh 10bit ADC để phục vụ cho thiết kế hệ thống
- Tốc độ tối đa là 25Mhz, Có tích hợp sẵn bộ dao động nội chính xác
- Điện áp hoạt động thấp có thể hoạt động trong dải điện áp 1.8V đến 5V
- Có 16KB flash và 512B RAM
Sơ đồ chân của msp430g2553
Trang 6Sơ đồ khối chức năng tổng quát :
Chức năng: các chân của MSP430G2553
PORT1: các chân 2,3,4,5,6,7,14,15 của VDK: mỗi chân này có nhiều chức năng khác nhau như 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 ( 8 chân), hay là các chân ngắt ngoài (8 chân)
PORT2: gồm 6 bit, các chân từ 8-> 13 của vi điều khiển, bao gồm chức năng I/O Ngoài ra còn chân Reset( mức thấp) tại chân 16
Chân Test (số 17) phục vụ cho việc lập trình , debug Chân 18,19 là 2 chân dao động của dao động ngoài Chân 1,20 lần lượt là 2 chân nguồn cung cấp và nối đất
Tổ chức bộ nhớ và thanh ghi của của MSP430
Các thanh ghi tổng quát
Trang 7Bao gồm các thanh ghi PC, SP, SR…
Các thanh ghi liên quan đến xuất nhập PxDIR: chọn Input/ouput cho các chân VDK, nếu PxDIR=0 , các chân VDK có chức năng Input PxDIR=1: các chân VDK là các chân OUTPUT
PxIN: dùng để đọc dữ liệu từ các PORT khi các PORT đc cấu hình là input
PxOUT: dùng để xuất dữ liệu mong muốn ra các port nếu các port được cấu hình là output PxREN: kích hoạt điện trở kéo lên tại từng chân của port
PxIE, PxIES,PxIFG: dùng để bật ngắt ngoài (PxIE) và chọn cạnh ngắt (PxIES) (ngắt lên, ngắt xuống) tại từng chân tương ứng của port Và khi có ngắt xảy ra, cờ ngắt tương ứng sẽ được bật lên tại PxIFG
PxSELx: Vì mỗi PORT của msp430 có nhiều chức năng khác nhau nên tồn tạo thanh ghi PxSELx để
Trang 8Các thanh ghi phục vụ cho ADC Msp430g2553 tích hợp sẵn 8 kênh ADC 10BIT tại port1 Bộ ADC trong msp430 hoạt động theo chế độ lấy mẫu kênh đơn hoặc lấy mẫu nhiều kênh Để phục vụ cho việc điều khiển ADC,
có các thanh ghi sau
ADC10CTL1, ADC10CTL0 : Thanh ghi điều khiển 16 bit ADC sô 0 và số 1 dùng để điều khiển việc hoạt động lấy mẫu:
ADC10MEM: Giá trị ADC được lấy mẫu sẽ được lưu vào đây ADC10AE: Chọn các chân tại PORT 1 dùng để thực hiện chức năng ADC, các bit này
có mức ưu tiên cao hơn cách bit của thanh 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ì vậy ta cần tất cả 11 ngõ vào điều khiển Để tiết kiệm chân điều khiển, ta sử dụng 4 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 tại ngõ vào : 1mA Dòng vào tối đa tại ngõ ra : 20mA
Sơ đồ chân:
Các chân từ 0-> 15: 16 ngõ ra, mức tích cực mức thấp
Trang 9Chân 12: chân đất
Chân 24 Chân nguồn
Chân 18-23: các đầu vào, trong đó các chân 20-23 là các chân BCD ngõ vào, còn chân 18,19 là
các chân điều khiển xuất dữ liệu
Bảng chân trị
Hoạt động IC:
Các chân ABCD nhận dữ liệu BCD vào, nếu 1 trong 2 đầu điều khiển G1,G2 mức cao, thì tất cả 16
ngõ ra đều mức cao
Nếu 2 đầu vào G1, G2 đều là mức thấp, thì dữ liệu được BCD tương ứng được đưa vào các chân
ABCD được giải mã mà được xuất ra 16 ngõ ra, các ngõ ra có mức tích cực là mức thấp
Opto PC817A Cấu tạo :
Trang 111.3.5 Hiển thị màn hình Text LCD: Text LCD là các loại màn hình tinh thể lỏng nhỏ dùng để hiển thị các dòng chữ hoặc số trong bảng mã ASCII Kích thước của Text LCD được dùng ở đây có kích thước 16x2 có 2 dòng và mỗi dòng có thể hiển thị tối đa 16 ký tự LCD 16x2 điều khiển bởi chip
HD44780U của hãng Hitachi
Sơ đồ chân được mô tả bằng bảng sau
Text LCD có 2 chế độ hoạt động là 8bit và 4bit TRong đồ án này ta sử dụng chế độ hoạt động 4 bit được mắc theo sơ đồ dưới
Trang 13Cầu diode là KBP 206 có VF = 1V, Imax=2A
Điện áp sau chỉnh lưu:
2200u/50v
D3 LED C5
104
D4 LED
J11
Output 5V_DC
1
R1 1K
R4 330
4148
DIODE
C2 2200u/50v
C4 2200u/50v
D2 LED
KHOI NGUON
C3 104
Trang 14Ta có: VrPP= = 2V
Với I0 = 2A, f=100Hz
C1 = = = 5000
Chọn tụ C1: C1 = 10000
Diode chống xả ngược, chọn Diode 4148
LED D4 , R1: Báo hiệu nguồn hoạt động (R1 là trở hạn dòng cho LED, chọn R1= 1k)
Chọn LED:
Chọn dong qua LED D3 là 10mA
Ta có: R3 =
= 1kΩ Chọn R3 = 1kΩ
Chọn dong qua LED D4 là 10mA
Ta có: R4 =
= 330Ω Chọn R4 = 330kΩ
Nguyên lý hoạt động:
Mạch vào và chỉnh lưu:
-Dùng cầu Diode A chỉnh lưu điện áp xoay chiều lấy từ biến áp Ta lấy áp ra ở đây là Vhd = 24V
Trang 15Mạch ổn áp:
-Dùng IC LM 7812, LM 7805 để tạo ra áp ổn định lần lượt là 12V và 5V hạn chế thấp nhất sự thay đổi của tín hiệu ra theo sự thay đổi của tín hiệu ngõ vào.
Như đã trình bày ở trên ta sử dụng cảm biến MQ6 cho cảm biến nồng độ GAS và cảm biến LM35 cho cảm biến nhiệt độ
2.1 Cảm biến MQ6:
Vậy nên ta mắc sơ đồ mạch cho cảm biến MQ6 như sau:
Ta sử dụng biến trở 20K để có thể hiệu chỉnh giá trị điện áp ra để thuận tiện cho ADC sau nay
Trang 162.2 Cảm biến LM35
Cảm biến LM35 được mắc theo sơ đồ mạch như sau:
Opamp LM358 được mắc theo kiểu mạch đệm nhằm mục đích nâng cao trở kháng vào và cách ly dòng
Điện áp đầu ra của LM35 có thể bị can nhiễu bởi điện áp nguồn 5v hay vài nguyên nhân khác, vì vậy ta mắc một mạch lọc thông thấp RC để lọc bỏ các thành phần nhiễu cao
Các thành phần nhiễu cao có tần số khoảng :
Chọn tụ có giá trị 1uF Suy ra điện trở có giá trị
Trang 173.1.2 Nguyên lí hoạt động của mạch:
Ic 74hc154 có nhiệm vụ giải mã được gửi từ vi điều khiển
Đầu ra của nó tích cực mức thấp khi đầu ra mức thấp thì điện áp từ Vcc -> chân ra của ic là 5v đủ để kích sang led và thông mạch opto PC817 , hai chân 3,4 opto được nối thông làm thông
Trang 18số 6(nối với nút 5 của điện thoại) làm thông nút 5 Nút 5 được ‘nhấn’
3.1.2 Tính toán linh kiện :
+ Để bấm hoàn chỉnh 1 số điện thoại và gọi ta cần thực hiện bấm nhiều nút (khoảng chừng 11,12 nút) và yêu cầu tiết kiệm chân điều khiển của vi điều khiển nên ta cần dung 1 ic để điều khiển gián tiếp , ta chọn ic giải mã 74hc154 giải mã 4bits dùng 4 chân vào điều khiển A,B,C,D và EN1, chân EN2 nối mass
+ Yêu cầu cách li điện áp giữa điện thoại và mạch ta dung cách li quang opto PC817
Trang 193.2.2 Nguyên lí hoạt đông:
Khi ta điều khiển đầu vào chân J4 xuống mức thấp , điện áp từ ngồn J3 -> J4 là 5v cấp áp cho led D2 và ledopto sáng làm thông 2 chân 3 và 4 của opto khi đó có dòng đi qua 2 điện trở R2 và R3 làm điện áp chân B của BJT Q1 tăng lên và kích dẫn cho BJT , BJT được kích dẫn > có dòng chạy qua cuộn dây rơ le làm đống tiếp điểm thường hở
3.2.3 Tính toán linh kiện :
Trang 20R3= Vr3 / Ir3 = 0.7 v/ 2.145mA = 326 Ω Chọn R3 = 330 Ω
Vr2 = 12v – 0.7v = 11.3v R2 = 11.3v / 2.145mA = 5268 Ω Chọn R2 = 5,6 KΩ
Tính R1:
Để led sáng tốt ta chọn áp 2 đầu led là 1,8v ,dòng 10mA
Vr1 = 5v -1,8v -1,8v =1,4v R1 = 1,4v / 10mA =140 Ω Chọn R1 = 100 Ω
3.2.4 Layout :
Trang 214 Khối hiển thị:
Phần hiển thị được hiển thị bằng LCD text 16x2 Để có thể hiển thị được ta mắc LCD theo sơ đồ sau
Trang 225 Khối xử lý trung tâm:
Nhiệm vụ của khối này vừa dùng để ADC vừa xử lý và ra quyết đị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 của cả hệ thống như sau:
Trang 24CHƯƠNG 3: THIẾT KẾ PHẦN MỀM
Tại chương này trình bày về lưu đồ thuật toán của từng khối và của trương trình chính
1 Chương trình đọc dữ liệu ADC: sẽ thực hiện việc cấu hình module ADC, các mode hoạt động, và lấy mẫu ADC
1.1 Cấu hình hoạt động ADC
1.2 Lấy mẫu ADC
Trang 252 Chương trình nhấn phím điện thoại: gồm 2 chương trình: hàm thực hiện chức năng nhấn từng phím bấm riêng lẻ, và gọi đến 1 số điện thoại
2.1 Nhấn từng nút riêng lẻ
Trang 262.2 Gọi điện thoại
Trang 273 Chương trình hiển thị LCD: hiển thị LCD đã được cấu hình hoạt động theo chế độ 4bit
3.1 Ghi vào LCD: vì LCD hoạt động theo chế độ 4 bit nên muốn ghi 1 dữ liệu 8 bit vào LCD ta cần phải ghi lần lượt nibble cao và nibble thấp vào LCD
Trang 283.2 Cấu hình, khởi động LCD
Trang 293.3 Xuất 1 ký tự LCD
Trang 304 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
Trang 31CODE
include <msp430g2553.h>
#include "lcd16.h"
//#define LED0 BIT0
//#define LED1 BIT6
#define ADC_CHANNELS 2 //We will sample 5 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
Trang 33// Wait for ADC Ref to settle
ADC10CTL0 &= ~(ENC+ADC10SC); // ADC10 disable
Trang 34bic_SR_register_on_exit(CPUOFF); // Return to active mode
}