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
1,32 MB
Nội dung
hận xét giáo viên hướng dẫn Thái Nguyên, Ngày Tháng Giáo Viên hướng dẫn (Ký ghi rõ họ tên) Năm 20 Nhận xét giáo viên chấm Thái Nguyên, Ngày Tháng Giáo Viên hướng dẫn (Ký ghi rõ họ tên) TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP KHOA ĐIỆN TỬ Bộ môn: KỸ THUẬT MÁY TÍNH Năm 20 ĐỒ ÁN MÔN HỌC MÔN HỌC Hệ Thống Nhúng Nhóm sinh viên: Vũ Đình Thăng Nguyễn Thế Thịnh Lê Văn Thành Lớp : K43kđt Giáo viên hướng dẫn : ThS Nguyễn Tuấn Linh Thái Nguyên – 2011 MỞ ĐẦU .6 Chương : Phân Tích Bài Toán .6 1.5 Lựa chọn phần mềm : .10 Chương 2: Thiết Kế Và Tính Toán Cho Hệ Thống 10 2.1 Sơ đồ khối khóa số 10 2.2.Sơ Đồ Đặc Tả Hệ Thống Và Sơ Đồ Call Graph: 11 2.3.Phân tích tính toán phần cứng 12 2.3.1 PIC 16F877 .12 2.3.2 LCD Hiển Thị .21 2.3.3.Bàn Phím 24 2.3.4.Mạch cầu điều khiển động 26 2.3.5.Động .30 2.3.6.Khối Nguồn .30 Chương 3: Xây dựng lưu đồ thuật toán viết chương trình cho hệ khóa số 31 3.1 lưu đồ giải thuật: 31 3.2 hoạt động sản phẩm 31 3.3 Chương trình quét phím bản: .33 MỞ ĐẦU Với gia đình, qua, xí nghiệp, trường học hay nơi đâu, để bảo vệ tài sản phòng Trên cánh cửa vào trang bị thêm khóa Hiện thị trường có nhiều loại khóa cửa khóa khí, khóa khí gặp vấn đề lớn tính bảo mật khóa không cao, nên dễ dàng bị phá khóa chìa khóa đa Đa số khoá kỹ thuật số có bán thị trường Hàn Quốc sản xuất, chủ yếu loại khoá tay nắm có giá cao Khoá sử dụng phương pháp cài đặt mã số (như khoá số loại va li hay cặp số) để khoá mở người sử dụng cài đặt số Hệ thống số khoá thiết kế phím bấm số điện thoại nên tiện lợi sử dụng Bên cạnh loại có chức khoá mã số, có loại kèm theo chức khoá chìa Chìa loại đặc biệt loại thông thường, làm cạnh, khó làm loại khoá cạnh Khoá kỹ thuật số có loại mở dấu vân Loại khoá đăng ký 25 40 vân tay khác Như bạn lưu lại nhiều vân tay người gia đình vào nhớ khoá Khi cho vân tay có lưu nhớ cửa mở Phần lớn loại không sử dụng chìa Vì để nâng cao yêu cầu tính bảo mật để bảo vệ tài sản, dao diện dễ sử dụng Nhóm nghiên cứu đề giải pháp dùng khóa số dựa tảng kỹ thuật vi điều khiển Chương : Phân Tích Bài Toán 1.1 Tổng quan khóa số: Khóa số nói chung loại khóa để bảo vệ thiết bị, tài sản….mà muốn mở phải tác động đến số mà ta cài đặt trước có loại khóa số thị trường có khóa số khí khóa số điện tử - Khóa số khí : mở khóa hay khóa lại ta phải xoay vòng số khóa cho dãy số hợp với mở khóa - Khóa số điện tử : mở khóa ta phải nhập mật dãy số liên tiếp nhau, nhập dãy số mở khóa Nhìn chung khóa số điện tử có nhiều ký tự, nhiều mã số để cài đặt hơn, độ dài mã số dài Vì tính bảo mật khóa số điện tử cao Bên cạnh đó, thao tác khóa số điện tử thực dễ dàng với phím bấm, vòng xoay khóa số khí Khi thao tác đổi mật dễ dàng thao tác phím bấm Khóa số điện tử tính bảo mật cao, thao tác dễ dàng có tính cảnh báo nhập mật mã nhiều sai số lần quy định Với dao diện người dùng, hiển thị thông báo nhập mật khẩu, cảnh báo, thay đổi mật khiến người dùng dễ sử dụng 1.2 Nguyên lý khóa số điện tử : Nhập mật mã đưa tới khối giao tiếp, hiển thị thông tin tới người dùng (nếu có) Rồi khối điều khiển gửi tín hiệu tới thiết bị chấp hành đóng cắt, điều khiển cho đóng mở cửa mật mã Và đưa thống báo (nếu có) nhập mật mã sai, có báo động nhập mật mã sai số lần quy định Khối giao tiếp hiển thị thông tin Khối điều khiển Hình 1.1: sơ đồ khối khóa số Thiết bị chấp hành 1.3 Các sản phẩm khóa số thị trường Trên thị trường có bán nhiều loại khóa số điện tử Hầu hết loại khóa điện tử có tính nắng đổi mật mã, cảnh báo Nhưng lại tính giao diện người dùng hình LCD khiến người dùng khó sử dụng sản phẩm Thiết bị mà khóa số thị trường điều khiển chủ yếu Roler để đóng, mở chốt cửa Hình 1.2: khóa số thị trường giao diện người dùng Một số loại thị trường có giao diện người dùng qua hình LCD 16x2 để hiển thị thông tin tới người dùng Như dễ sử dụng loại khác Hình 1.3: khóa số trang bị hình LCD giao diện người dùng 1.4 Các yêu cầu khóa số tính sản phẩm: Qua tham khảo sản phẩm khóa số thị trường Yêu cầu sản phẩm khóa số thông thường: - Dạo diện người dung dễ sử dụng - Mật có độ dài đảm bảo tính bảo mật cao - Có thể thay đổi mật - Tính cảnh báo nhập mật sai lần liên tiếp - Động quay để điều khiển cửa hết hành trình dừng lại - Hệ thống phải làm việc điện Các ràng buộc : - Thông thường hệ thống giao diện với người dùng để bên ngoài, nên phải an toàn, tránh tác động ngoại cảnh - Chi phí sản phẩm (không có động cơ) không 500.000vnđ - Chịu tải tải gặp chướng ngại vật thời gian dài Với yêu cầu tính trên, chọn thiết bị chính: • Vi điều khiển 16f877 với nhớ eeprom có khả lưu trữ liệu điện • Màn hình LCD 16x2 với mục đích hiển thị thông tin, giao tiếp vi điều khiển với người dùng • Bàn phím 16 phím có phím số phím chức đưa đầu vào mật khẩu, lệnh đóng mơ cửa tới vi điều khiển • Động để kéo cánh cửa đóng mở Với đề tài có yêu cầu sản phẩm mô thực tế, chọn động chiều công suất nhỏ • Nguồn dự trữ điện 1.5 Lựa chọn phần mềm : CCS trình biên dịch lập trình ngôn ngữ C cho Vi điều khiển PIC hãng Microchip Chương trình tích hợp trình biên dich riêng biết cho dòng PIC khác là: ‐ PCB cho dòng PIC 12‐bit opcodes ‐ PCM cho dòng PIC 14‐bit opcodes ‐ PCH cho dòng PIC 16 18‐bit Tất trình biên dich đuợc tích hợp lại vào chương trình bao gồm trình soạn thảo biên dịch CCS PIC 16f877a pic 14 Ta dùng phần mềm để lập trình cho PIC với ngôn ngữ C dễ sử dụng Cấu chúc chương trình vết với C: #include, #device, #use, #fuses // tiền xử lý #define, int8 //định nghĩa liệu khai báo hằng, biến Void tênhàm() {} dùng để khai báo, định nghĩa hàm Void main() {// chương trình chính.} Chương 2: Thiết Kế Và Tính Toán Cho Hệ Thống Khối Báo 2.1 Sơ Động đồ khối khóa số Khối Nguồn Màn Hình Hiển Thị LCD 16x2 Vi Điều Khiển PIC 16F877a 10 Động Cơ Khuếch Đại Tín Hiệu Bàn Phím Ma Trận 4x4 Ghi liệu vào nhớ EEPROM: Để ghi liệu vào EEPROM người sử dụng phải ghi địa vào ghi EEADR liệu vào ghi EEDATA sau phải thực ghi theo trình tự định để ghi cho byte Quá trình ghi không khởi động thứ tự ghi không thực xác cho byte phải cấm tất yêu cầu ngắt thực trình ghi Ngoài bit WREN ghi EECON2 phải set phép ghi Cơ chế ngăn chặn hoạt động ghi ngẫu nhiên vào EEPROM liên quan đến sai sót mã bảo bệ Người sử dụng nên giữ bit WREN trạng thái Clear , ngoại trừ truy cập liệu vào nhớ liệu EEPROM Bit WREN không xóa phần cứng Sau trình ghi khởi đọng ta xóa bit WREN không ảnh hưởng đến chu kỳ Bit WR bị chặn không cho lên trừ bit WREN set Khi hoàn tất chu kỳ ghi bit WR xóa phần cứng bit cờ báo ngắt hoàn thành xong trình ghi EEIF set Người dung cho phép ngắt kiểm tra bit để biết trình ghi kết thúc bit EEIF phải xóa phần mềm Tuy bước ghi liệu vào nhớ EEPROM có nhiều bước nhiều bit ghi để ý đến dùng C để làm việc với PIC ta cần ý đến lệnh ghi : WRITE_EEPROM(address,x) Trong lệnh :write_eeprom(address,x) Address : địa EEPROM ta cần ghi X : giá trị ta cần ghi (byte) 2.3.2 LCD Hiển Thị a Hình dáng kích thước: Có nhiều loại LCD với nhiều hình dáng kích thước khác nhau, hình hai loại LCD thông dụng 21 Hình 2.6: Hình dáng LCD Khi sản xuất LCD, nhà sản xuất tích hợp chíp điều khiển (HD44780) bên lớp vỏ đưa chân giao tiếp cần thiết Các chân đánh số thứ tự đặt tên bên : Hình 2.7: Sơ đồ chân LCD b Chức chân: Chân số Tên Vss Vdd Vee Rs R/w Chức Chân nối đất cho LCD, thiết kế mạch ta nối chân với GND mạch điều khiển Chân cấp nguồn cho LCD, thiết kế mạch ta nối chân với VCC=5V mạch điều khiển Chân dùng để điều chỉnh độ tương phản LCD Chân chọn ghi (Register select) Nối chân RS với logic “0” (GND) logic “1” (VCC) để chọn ghi + Logic “0”: Bus DB0-DB7 nối với ghi lệnh IR LCD (ở chế độ “ghi” - write) nối với đếm địa LCD (ở chế độ “đọc” - read) + Logic “1”: Bus DB0-DB7 nối với ghi liệu DR bên LCD Chân chọn chế độ đọc/ghi (Read/Write) Nối chân R/W với 22 E 7-14 DB0DB7 logic “0” để LCD hoạt động chế độ ghi, nối với logic “1” để LCD chế độ đọc Chân cho phép (Enable) Sau tín hiệu đặt lên bus DB0-DB7, lệnh chấp nhận có xung cho phép chân E + Ở chế độ ghi: Dữ liệu bus LCD chuyển vào(chấp nhận) ghi bên phát xung (high-to-low transition) tín hiệu chân E + Ở chế độ đọc: Dữ liệu LCD xuất DB0DB7 phát cạnh lên (low-to-high transition) chân E LCD giữ bus đến chân E xuống mức thấp Tám đường bus liệu dùng để trao đổi thông tin với MPU Có chế độ sử dụng đường bus : + Chế độ bit : Dữ liệu truyền đường, với bit MSB bit DB7 + Chế độ bit : Dữ liệu truyền đường từ DB4 tới DB7, bit MSB DB7 Bảng 2.1: Chức cán chân LCD c Các ghi Chíp HD44780 có ghi bit quan trọng : Thanh ghi lệnh IR (Instructor Register) ghi liệu DR (Data Register) - Thanh ghi IR : Để điều khiển LCD, người dùng phải “ra lệnh” thông qua tám đường bus DB0-DB7 Mỗi lệnh nhà sản xuất LCD đánh địa rõ ràng Người dùng việc cung cấp địa lệnh cách nạp vào ghi IR Nghĩa là, ta nạp vào ghi IR chuỗi bit, chíp HD44780 tra bảng mã lệnh địa mà IR cung cấp thực lệnh VD : Lệnh “hiển thị hình” có địa lệnh 00001100 (DB7…DB0) Lệnh “hiển thị hình trỏ” có mã lệnh 00001110 23 - Thanh ghi DR : Thanh ghi DR dùng để chứa liệu bit để ghi vào vùng RAM DDRAM CGRAM (ở chế độ ghi) dùng để chứa liệu từ vùng RAM gởi cho MPU (ở chế độ đọc) Nghĩa là, MPU ghi thông tin vào DR, mạch nội bên chíp tự động ghi thông tin vào DDRAM CGRAM Hoặc thông tin địa ghi vào IR, liệu địa vùng RAM nội HD44780 chuyển DR để truyền cho MPU Bằng cách điều khiển chân RS R/W chuyển qua lại giữ ghi giao tiếp với MPU Bảng sau tóm tắt lại thiết lập hai chân RS R/W theo mục đích giao tiếp RS 0 R/W 1 1 Khi cần Ghi vào ghi RS để lệnh cho ghi Đọc cờ bận DB7 giá trị đếm địa DB0-DB6 Ghi vào ghi DR Đọc liệu từ DR Trong chương trính sử dụng LCD chế độ 4bit Các lệnh sử dụng: lcd_send_byte( BYTE address, BYTE n ) để điều khiển LCD ví dụ lệnh : lcd_send_byte(0,0x01) dùng để xóa hình, lcd_send_byte(0,0x08) để đưa trỏ đầu dòng thứ nhất… lcd_gotoxy(a,b) để đưa trỏ vị trí mong muốn dòng khác LCD Lcd_gotoxy(x,1) đưa trỏ dòng vị trí x, vị trí x từ 1->16 LCD printf(lcd_putc,”…”): in xâu ký tự hình.xâu ký tự có độ dài < 16 ký tự để LCD hiển thị đầy đủ lcd_putc(‘…’) : in ký tự hình 2.3.3 Bàn Phím Hình 2.8: Ma Trận 16 Phím Thực chức giao tiếp với vi điều khiển PIC 16F87, dùng để hiển thị nhập password, thay đổi password, mở khóa cửa Sử dụng bàn phím ma trận 16 phím Với phím số từ =>9 phím chức mở cửa, khóa cửa, đổi mật Để kết nối với vi điều khiển ta treo đầu vào ma trận phím với trở treo lên dương nguồn, với giá trị cảu trở treo R8=4.7K 24 Dùng phím bấm có chân giống hình vẽ: Hình 2.9 : nút bấm sử dụng mạch Hình 2.10 : Sơ đồ chân nút bấm dùng làm mạch Ta sử dụng nút bấm thường mở, với chân nối chéo nhau, chân 1-3, 2-4 dùng nhau, nối mạch ta dùng cặp chân 25 2.3.4 Mạch cầu điều khiển động Các dạng cấu tạo mạch cầu H Mạch cầu H cấu tạo dạng chính: a Dạng Được cấu tạo transitor (Fet) Cùng kênh N Sơ đồ nguyên lý mạch cấu tạo sau (Chỉ vẽ mạch dùng transitor để họa) Đối với dạng cấu tạo transitor kênh N cần tín hiệu điều khiển kích mở transitor b Dạng 2: Được cấu tạo cặp đôi transitor P,N hay FET (Thuận, ngược) Sơ đồ nguyên lý cấu tạo cấu tạo bên :(Tôi dùng transitor họa Đối với thiết kế thấy ổn định điện áp đầu vào nhỏ khoảng 24V) Đối với mạch công suất lớn FET công suất lớn thường ko có kênh P nên ta ko dùng theo cách mà phải dùng theo cách c Nguyên tắc hoạt động mạch cầu H Chỉ xét đến nguyên lý hoạt động hoạt động mạch cầu H BJT chọn để ví dụ Fet gần tương đương Ta phân tích dạng mạch cầu H Hai dạng có nguyên lý hoạt động giống khác linh kiện cấu tạo lên cầu H việc đóng mở transitor hay Fet nào? Đối với dạng dùng Fet kênh phải 26 dùng mạch lái công suất lớn điện áp lớn Còn dạng dùng với công suất nhỏ với điện áp đầu vào nhỏ Ta phân tích nguyên lý hoạt động mạch dang sau: Mạch cầu H điều khiển tín hiệu đóng mở van tín hiệu tín hiệu 2( Như hình 2) điều khiển chiều (Có nghĩa đảo chiều dòng điện) Xét chế độ thuận nghịch Như bit điều kiện để đóng mở đê transitor thông là: + Đối với kênh N để mở Ube > mở transitor dòng điện 27 + Đới với transitor kênh P để mở Ube =3 MỞ CỬA - ĐỔI PASS END Hình 3.1 lưu đồ giải thuật 3.2 hoạt động sản phẩm Khi muốn mở cửa phải gõ mật với độ dài ký tự Nếu gõ động quay thuận, cửa mở Và gõ sai hình LCD hiển thị chữ nhập sai mật Khi động quay hết hành trình, công tắc hành trình mở xong đóng, LCD thông báo mở xong Nếu nhập mật sai lần liên tiếp hệ thống báo động hoạt động, thông qua chân RB5 31 Trong mở xong, nhấn khóa động quay cửa khóa lại, động quay nút công tắc hành trình khóa xong mở, công tắc hành trình mở xong đóng lại động ngừng quay, LCD báo mở xong Muốn đổi mật ta nhấn nút đổi mật bàn phím, LCD báo nhập mật cũ, ta phải nhập mật cũ đổi mật khẩu, nhập mật LCD thông báo nhập mật nhập xong nhấn OK, mật đổi Hình 3.2: Sơ đồ tổng thê hệ thống 32 3.3 Chương trình quét phím bản: void quetphim(){ PORTB=0xfe;// RB0=0;RB1=1; RB7=1: kiểm tra hàng bấm if(RB4==0) { chương trình;while(RB4==0) {không làm giữ phím} } if(RB5==0) { chương trình;while(RB4==0) {không làm giữ phím} } if(RB6==0) { chương trình;while(RB4==0) {không làm giữ phím} } if(RB7==0) { chương trình;while(RB4==0) {không làm giữ phím} } PORTB=0xfd;// RB0=1;RB1=0;RB2=1; RB7=1: kiểm tra hàng bấm 33 if(RB4==0) { chương trình;while(RB4==0) {không làm giữ phím} } if(RB5==0) { chương trình;while(RB4==0) {không làm giữ phím} } if(RB6==0) { chương trình;while(RB4==0) {không làm giữ phím} } if(RB7==0) { chương trình;while(RB4==0) {không làm giữ phím} } PORTB=0xfb;// RB0=1;RB1=1;RB2=0;RB3=1; RB7=1: kiểm tra hàng if(RB4==0) { chương trình;while(RB4==0) {không làm giữ phím} } if(RB5==0) { chương trình;while(RB4==0) {không làm giữ phím} } if(RB6==0) { chương trình;while(RB4==0) {không làm giữ phím} } if(RB7==0) { chương trình;while(RB4==0) {không làm giữ phím} } PORTB=0xf7;// RB0=1;RB1=1;RB2=1;RB3=0;RB4=1; RB7=1: hàng if(RB4==0) { chương trình;while(RB4==0) {không làm giữ phím} } if(RB5==0) { chương trình;while(RB4==0) {không làm giữ phím} } if(RB6==0) { chương trình;while(RB4==0) {không làm giữ phím} } if(RB7==0) { chương trình;while(RB4==0) {không làm giữ phím} } } Kết Luận: với hoạt động , từ mô phần mềm hoàn toàn đưa làm mạch thật Với hạn chế mô hình Vì dùng động công suất lớn để kéo cánh cửa vào phải tính toán nhiều Hướng phát triển: đưa sản phẩm vào thực tiễn, sản phẩm kinh doanh mang tính kinh tế Danh mục tài liệu tham khảo: Vi xử lý – Nguyễn Đình Phú Hệ Thống Nhúng - T.ĐHKTCN Thái Nguyên 34 Internet 35