Chức năng các chân điều khiển chính

Một phần của tài liệu Thiết kế hệ thống điều khiển xa qua đường dây thoại trên cơ sở của chip DTMF (Trang 42)

Chân số Tên chân Chức năng

1 4 P1.0 P1.3 Nhận dữ liệu từ MT8888

10 P3.0 Phát hiện sự cố

11 P3.1 Phát hiện tín hiệu chng

13 P3.3 Nhận tín hiệu từ chân IRQ/CP của MT8888 14 17 P3.4 P3.7 Điều khiển các thanh ghi trong MT8888 36, 37 P0.2, P0.3 Điều khiển relay bằng nút nhấn

21, 22 P2.0, P2.1 Điều khiển cấp nguồn cho các Relay 24 P2.3 Điều khiển cịi chíp

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Kết luận chƣơng 3: Tác giả đã thiết kế phần cứng cho hệ thống điều khiển từ xa.

Hệ thống sử dụng chíp vi điều khiển là AT89S52 và chíp thu tín hiệu DTMF là MT8888. Hệ thống có thể điều khiển hai thiết bị từ xa.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Chƣơng 4. THIẾT KẾ PHẦN MỀM VẬN HÀNH HỆ THỐNG

4.1. Lƣu đồ giải thuật vận hành Hệ thống Điều khiển thiết bị từ xa qua đƣờng dây thoại

4.1.1. Lƣu đồ giải thuật

Hình 4.1. Lưu đồ giải thuật

4.1.2. Giải thích

Khi hệ thống ở trạng thái đầu tiên (lắp đặt các thiết bị điện, đường Line, cấp nguồn...) thủ tục đầu tiên là phải khởi động hệ thống. Hệ thống bao gồm: Chíp vi điều khiển, màn hình LCD, các relay... Sau đó khởi động chíp DTMF MT8888 ở chế độ thu tín hiệu.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Chương trình chính gọi tiếp thủ tục kiểm tra cảnh báo xem có sự cố khơng vì ngay cả hệ thống chưa điều khiển bật hoặc tắt thiết bị, thì chức năng cảnh báo sự cố vẫn phải hoạt động ngay và nếu có sự cố sẽ cảnh báo bằng tín hiệu cịi và đèn. Nếu có sự cố xẩy ra, hệ thống phải được reset bằng phím cứng mới có thể trở về trạng thái ban đầu.

Trong trường hợp khơng có sự cố xẩy ra, chương trình chính sẽ ngay lập tức bỏ qua thủ tục thông báo cảnh báo và thực hiện ngay thủ tục kiểm tra chuông.

Thủ tục kiểm tra chuông tức là hệ thống ở trạng thái đợi cuộc gọi của người điều khiển tới hệ thống (Standby). Thủ tục này cũng có hai trường hợp xảy ra: + Trường hợp khơng có chng, chương trình sẽ quay về bắt đầu gọi lại thủ tục kiểm tra cảnh báo sự cố. Như vậy nếu khơng có chng, chương trình chính sẽ lặp vơ tận thủ tục kiểm tra cảnh báo sự cố, đồng thời định kỳ kiểm tra tín hiệu chuông.

+ Trường hợp có chng (vi điều khiển sẽ nhận mức logic 0 từ một mạch phát hiện tín hiệu chng đưa về chân P3.1). Sau một thời gian đợi chng chương trình chính sẽ gọi thủ tục tiếp theo là thủ tục đóng tải giả để thơng thoại. Sau khi chương trình chính gọi thủ tục đóng tải giả để hệ thống kết nối (thông thoại) với người điều khiển thì lúc này hệ thống sẽ chuyển sang thủ tục đợi và kiểm tra mã truy nhập của người sử dụng. Có hai trường hợp có thể xẩy ra:

- Nếu người điều khiển nhập mã truy nhập vào hệ thống không đúng ba lần, hệ thống sẽ ngắt kết nối với người điều khiển đồng thời khởi tạo lại hệ thống và quay trở về thủ tục kiểm tra cảnh báo sự cố.

- Nếu người điều khiển nhập mã truy nhập vào hệ thống đúng, hệ thống sẽ yêu cầu người điều khiển nhập mã điều khiển thiết bị là phím số “6”. Nếu nhập đúng mã điều khiển thiết bị người sử dụng sau đó có thể điều khiển các thiết bị bật hoặc tắt. Để kết thúc quá trình điều khiển thiết bị, người điều khiển sẽ nhấn phím số “9”. Khi nhấn kết thúc q trình điều khiển hệ thống sẽ ngắt tải giả và quay trở lại khởi tạo lại hệ thống để quay trở về thủ tục kiểm tra cảnh báo sự cố.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Tóm lại, chương trình chính trong mọi trường hợp đều không kết thúc mà liên tục thực hiện các thủ tục con. Nó chỉ dừng lại khi hệ thống mất nguồn cung cấp và sau khi được cấp nguồn trở lại, nó lại tiếp tục q trình.

4.2. Chƣơng trình phần mềm vận hành hệ thống điều khiển thiết bị từ xa qua đƣờng dây thoại

Chương trình được viết trên phần mềm Keil C 4.0 bằng ngôn ngữ C. Đây là ngôn ngữ lập trình phổ biến nhất cho chíp vi điều khiển AT89S52. Ưu điểm của ngôn ngữ này là dễ hiểu, ngắn gọn.

Nội dung chƣơng trình:

Tham khảo phần phụ lục

Kết luận chƣơng 4: Tác giả đã thiết kế phần mềm cho hệ thống điều khiển từ xa.

Ngơn ngữ lập trình sử dụng cho hệ thống là ngơn ngữ C, nạp cho chíp vi điều khiển AT89S52. Hệ thống được xây dựng với khả năng hoạt động linh hoạt, có mã truy nhập để bảo mật hệ thống. Ngồi ra hệ thống cịn có khả năng cảnh báo sự cố khi phát hiện các sự cố khơng an tồn xẩy ra. (adsbygoogle = window.adsbygoogle || []).push({});

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Chƣơng 5. THỰC NGHIỆM

5.1. Giới thiệu hệ thống điều khiển xa qua đƣờng dây thoại

Hình 5.1. Sơ đồ hệ thống điều khiển từ xa Bảng 5.1. Vị trí các khối trong hệ thống điều khiển Bảng 5.1. Vị trí các khối trong hệ thống điều khiển

Vị trí Tên khối

1 Khối nguồn

2 Khối nhận tín hiệu từ đường dây điên thoại cố định 3 Khối các mạch điều khiển

4 Khối thông báo

5 Khối các nút nhấn điều khiển

6 Khối trung tâm điều khiển và hiển thị 7 Khối cảnh báo các sự cố

8 Khối mạch thu tín hiệu DTMF 9 Khối tải giả

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Khi hệ thống được cấp nguồn 220VAC, đường dây điện thoại cố định (Tip – Ring) đã được đấu nối, thì hệ thống bắt đầu hoạt động với tình trạng ban đầu (Standby) như sau:

Tất cả các tiếp điểm của Relay ở khối điều khiển đều hở (các thiết bị đều ngừng hoạt động). Chức năng cảnh báo sự cố sẵn sàng hoạt động (sẽ cảnh báo ngay sau khi có sự cố xảy ra). Chờ trung tâm điều khiển điều khiển hệ thống (sẵn sàng nhận lệnh từ trung tâm điều khiển qua đường dây).

Đây là hệ thống điều khiển từ xa bằng đường dây điện thoại. Đối tượng điều khiển là hệ thống, trung tâm điều khiển dùng điện thoại bấm phím (hoặc bấm ở bàn phím máy tính) để ra lệnh điều khiển, vì vậy phải có một bảng mã các mã số tương ứng với các chức năng điều khiển hệ thống thì trung tâm điều khiển mới có thể ra lệnh, hệ thống mới có thể hiểu được các lệnh và thực thi các lệnh đó một cách chính xác. Dưới đây là bảng mã các lệnh tương ứng với các phím bấm trên máy điện thoại.

Bảng 5.2. Mã lệnh điều khiển

Mã lệnh Chức năng

1 Mã cho phép điều khiển thiết bị 1 2 Mã cho phép điều khiển thiết bị 2 3 Cho phép mở thiết bị

4 Cho phép tắt thiết bị

6 Mã truy nhập điều khiển thiết bị 9 Ngắt kết nối, tắt tất cả các thiết bị 1234 Mã truy nhập hệ thống

Điều khiển thiết bị từ xa qua điện thoại:

Để điều khiển, đầu tiên người điều khiển phải gọi số máy điện thoại nơi lắp đặt thiết bị điều khiển. Điện thoại được gọi có mạch điều khiển mắc song song với đường dây điện thoại (thiết bị muốn điều khiển kết nối mạch điều khiển). Sau một thời gian đổ chuông nhất định, nếu khơng có ai nhấc máy thì mạch sẽ tự động điều khiển đóng mạch. Sự đóng mạch này là đóng tải giả để kết nối thuê bao. Đồng thời hệ thống sẽ phát câu thông báo yêu cầu nhập mật mã truy nhập hệ thống (password):“ Nhap Mat Khau :”. Sau đó, người điều khiển sẽ nhấn mật mã để xâm

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

nhập vào hệ thống điều khiển. Khi nhấn đúng mã số password mạch sẽ phát ra lời giới thiệu để người điều khiển biết với nội dung thông báo: “Xin Chao ! San Sang ...”. Lúc này, mạch điều khiển sẵn sàng nhận lệnh. Nếu nhấn sai mã password

thì hệ thống phát câu thơng báo:“ Mat Khau Sai” người điều khiển không thể xâm nhập vào hệ thống điều khiển được và hệ thống sẽ tự động ngắt kết nối sau 3 lần nhập sai mã pasword.

Sau khi nhấn đúng mã password thì người điều khiển người điều khiển sẽ nhập mã số truy nhập điều khiển thiết bị là số “6” để có thể điều khiển thiết bị. Muốn điều khiển thiết bị số 1, người điều khiển nhấn phím số “1”. Sau đó dùng các phím “3” hoặc “4” để bật hoặc tắt thiết bị.

Muốn điều khiển thiết bị số 2, người điều khiển nhấn phím số “2”. Sau đó dùng các phím “3” hoặc “4” để bật hoặc tắt thiết bị.

Hệ thống sẽ tự động sẽ ngắt mạch kết nối thuê bao, tắt các thiết bị khi người điều khiển ấn phím số “9”.

Ngồi ra, người điều khiển có thể bật hoặc tắt các thiết bị bằng các nút bấm trên mạch điều khiển: BT2 và BT3.

Tự động báo động khi có sự cố (adsbygoogle = window.adsbygoogle || []).push({});

Khi có sự cố thì từ bộ cảm biến sẽ cho ra một tín hiệu tác động đến vi điều khiển báo cho vi điều khiển biết là có sự cố xẩy ra. Vi điều khiển sẽ ra lệnh báo động bằng đèn nhấp nháy và cịi chíp kêu. Ngồi ra trên màn hình LCD cũng hiện ra số điện thoại của người phụ trách để những người xung quanh có thể liên lạc để giải quyết vấn đề.

Kết luận chƣơng 5: Tác giả đã chế tạo thành công hệ thống điều khiển xa

qua đường dây điện thoại. Hệ thống đã tận dụng mạng điện thoại rộng khắp để làm đường truyền điều khiển. Do đó hệ thống mang tính khả thi cao có thể áp dụng vào trong thực tế. Hệ thống là một sản phẩm có độ tin cậy nhưng giá thành sản phẩm hạ nhằm nâng cao đời sống tiện ích cho con người, góp phần vào cơng cuộc cơng nghiệp hóa, hiện đại hóa đất nước.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

KẾT LUẬN VÀ KIẾN NGHỊ

Đánh giá kết quả đạt đƣợc:

 Trong chương 1: Tác giả đã xây dựng tổ chức hệ thống điều khiển từ xa qua đường dây điện thoại.

 Trong chương 2: Tác giả đã giới thiệu và phân tích phương thức làm việc giữa tổng đài và các thuê bao điện thoại cố định.

 Trong chương 3 và 4: Tác giả đã thiết kế phần mềm và phần cứng cho hệ thống điều khiển từ xa.

 Trong chương 5: Tác giả đã giới thiệu mơ hình thực nghiệm hệ thống điều khiển từ xa bao gồm các khối chức năng và nguyên lý hoạt động của hệ thống.

Hệ thống đã hoàn thành yêu cầu điều khiển thiết bị và đáp ứng tốt các yêu cầu đã đặt ra ban đầu. Nhưng vẫn cịn nhiều thiếu sót và chưa tối ưu về một số vấn đề sau:

 Mạch thu tone DTMF chưa ổn định, do nhiều nguyên nhân khách quan như: tín can nhiễu của mơi trường, sai số linh kiện và kinh nghiệm thiết kế mạch còn hạn chế.

 Các lưu đồ giải thuật, và chương trình chưa thật sự tối ưu.  Hệ thống có độ trễ lớn trong quá trình điều khiển thiết bị.  Mạch điều khiển thiết kế chưa đẹp, cồng kềnh.

Hƣớng phát triển đề tài:

Để đề tài có thể hồn thiện thêm, tác giả mong muốn trong thời gian tới sẽ phát triển đề tài theo hướng sau:

- Xây dựng phần mềm có thể thực hiện cuộc gọi tới người điều khiển để thông báo trạng thái của thiết bị.

- Tối ưu hóa sản phẩm bằng giải thuật phần mềm để: tăng khả năng bảo mật, có thể thay đổi mật khẩu từ bàn phím điện thoại và nhiều chế độ điều khiển hơn.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

TÀI LIỆU THAM KHẢO Tiếng Việt

1. Nguyễn Tăng Cường, Phan Quốc Thắng (2004): “Cấu trúc và lập trình họ vi điều khiển 8051”, NXB Khoa học và Kỹ Thuật.

2. Phạm Minh Hà (1999): “Kỹ thuật mạch điện tử”, NXB Khoa học và Kỹ

Thuật.

3. Tống Văn Ôn (2001): “Họ vi điều khiển 8051”, NXB Lao động – Xã hội. 4. Trần Viết Thắng (2007): “Giáo trình Thiết bị đầu cuối viễn thơng”, Trường

Đại Học Kỹ Thuật Cơng Nghệ Thành Phố Hồ Chí Minh.

5. Vũ Đức Thọ (2003): “Giáo trình thiết bị đầu cuối thơng tin”, NXB Giáo Dục.

Tiếng Anh

6. AT89S52 Datasheet (2008), www.alldatashet.com, ngày 21/07/2013

7. Dual Tone Multi Frequency Signaling (2011), http://en.wikipedia.org/wiki/,

ngày 16/06/2013.

8. MT8888C datasheet (2005), www.alldatashet.com, ngày 22/07/2013. 9. Nagabhooshan S. Shet, Device Control Using Telephone, (adsbygoogle = window.adsbygoogle || []).push({});

http://electrosofts.com/dtmf/, ngày 01/08/2013.

10. Tuljappa M Ladwa, Sanjay M Ladwa, R Sudharshan Kaarthik, Alok Ranjan Dhara, Nayan Dalei (2009), Control Of Remote Domestic System Using DTMF, http://dspace.nitrkl.ac.in/dspace/bitstream/2080/1232/1/, ngày 01/08/2013.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

PHỤ LỤC

Chương trình phần mềm vận hành hệ thống nạp cho chíp AT89S52.

Nội dung chƣơng trình:

#include <REGX52.H> #define MT8888_DPORT P1 #define CSN_PASS 4 #define RINGDETECT 1 #define ALARM 2 #define CSN_PHONE 10

sbit MT8888_RS0 = P3^4; // Cac chan dieu khien MT8888 sbit MT8888_CS = P3^5; //

sbit MT8888_WR = P3^6; // sbit MT8888_RD = P3^7; //

void Fn_Delay(int x);

void Fn_MT8888_Init(void);

void Fn_MT8888_WriteCmd(unsigned char vrc_Cmd); // Dua cac thanh ghi ve trang thai phat

void Fn_MT8888_WriteData(unsigned char vrc_Data); // Ghi du lieu len thanh ghi phat

unsigned char Fn_MT8888_ReadSts(void); // Doc status unsigned char Fn_GetData(void); // Doc du lieu nhan duoc

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

unsigned char A_Recieved [4]; // Mang nhan duoc

unsigned char vruc_GLB_Check; // Kiem tra Pass

unsigned char vruc_GLBSYS_ReadData; // Doc phim nhan duoc

unsigned char vruc_GLBSYS_ReadDataOld; // Phim nhan duoc truoc day unsigned char vruc_GLBSYS_Ok; // Kiem tra dung ca 4 so cua Pass unsigned char vruc_iSeek1;

unsigned char A_Phone [CSN_PHONE] = {10,9,7,7,10,7,6,6,2,2}; // So dien thoai

// KHAI BAO CAC CHAN

sbit dialdetect = P2^5; // Phat hien cuoc goi sbit inputenable = P2^7; // Dong tai gia sbit Coichip = P2^3; // Bat coi bao dong

// 2 CHAN DIEU KIEN CUA NUT BAM sbit RL1 = P2^0; // Thiet bi 1 sbit RL2 = P2^1; // Thiet bi 2

// 2 CHAN LED BAO SU CO

sbit incorrect = P2^4; // Led bao su co sbit correct = P2^6; // Led bao su co

// 2 CHAN NUT BAM

sbit BT_RL1 = P0^2; // Dieu khien tai cho thiet bi 1 sbit BT_RL2 = P0^3; // Dieu khien tai cho thiet bi 2

// 2 CHAN NGAT

sbit IRQ_ALARM = P3^0; // Chan dk bao su co

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ (adsbygoogle = window.adsbygoogle || []).push({});

// TRANG THAI HOAT DONG

unsigned char vruc_GLB_STATUS_ALARM;

unsigned char vruc_GLB_STATUS_RINGDETECT;

// KHAI BAO BIEN TOAN CUC unsigned char vruc_GLB_iSeek; unsigned char vruc_GLB_Value; unsigned char vruc_GLB_CheckPass;

unsigned char vruc_GLB_UnLock; // Bien khi nhap dung mat khau unsigned char vruc_GLBSYS_ConTrol; // Khi nhap dung ma dk (So 6)

unsigned char vruc_GLBSYS_ConTrol_1; // Khi nhap dung ma dk thiet bi 1 unsigned char vruc_GLBSYS_ConTrol_2; // Khi nhap dung ma dk thiet bi 2 unsigned char vruc_iSeek;

unsigned char vruc_GLB_PassError; // Dem so lan Pass sai

// KHAI BAO NGUYEN MAU HAM CON

void Fn_CTrol_DelayTime (unsigned int _vrui_Time); void Fn_CTrol_Button (void);

void Fn_CTrol_Init (void); void Fn_CTrol_Proc (void);

void Fn_SYS_Init (void); // Khoi tao he thong

sbit LCD_RS = P0^0; // sbit LCD_EN = P0^1; sbit LCD_D4 = P0^4;

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

sbit LCD_D5 = P0^5; sbit LCD_D6 = P0^6; sbit LCD_D7 = P0^7;

void delay_us (unsigned int _vrui_Time); void LCD_Enable(void);

void LCD_Send4Bit( unsigned char Data );

void LCD_SendCommand (unsigned char command ); void LCD_Init ( void );

void LCD_Gotoxy(unsigned char x, unsigned char y); void LCD_Clear(void);

void LCD_PutChar ( unsigned char Data ); void LCD_Puts (unsigned char *s);

// TRINH XU LY NGAT

Một phần của tài liệu Thiết kế hệ thống điều khiển xa qua đường dây thoại trên cơ sở của chip DTMF (Trang 42)