Đo lường sử dụng vi điều khiển 89s52 để đo điện áp DC ở 2 mức điện áp ... kết quả hiển thị trên giao diện thiết kế bằng VB6
BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA : ĐIỆN TỬ ĐỒ ÁN MÔN HỌC ĐỀ TÀI: THIẾT KẾ BỘ ĐO ĐIỆN ÁP HIỂN THỊ TRÊN MÁY TÍNH Giáo viên hướng dẫn: Vũ Thị Thu Hương Nhóm sinh viên thực hiện: Nguyễn Xuân Khánh 2.Nguyễn Viết Hưng 3.Bùi Minh Đức Mục lục Trang Mục lục……………………………………………………………………………2 Lời nói đầu……………………………………………………………………… Chương I Mơ tả ý tưởng: mơ hình ý niệm, xây dựng sơ đồ khối………………… I Sơ đồ khối,sơ đồ mạch nguyên lý mạch in …………… II Các vi mạch sử dụng khối nguyên lý hoạt động khối…………………………………………………………….….6 III Phần hiển thị Visual Basic 6.0 Chương II Quá trình thực hiện…………………………………………………………… 17 I Code lập trình C cho vi điều khiển…………….……………………… 18 II Hình dạng sản phẩm thưc tế hồn thành………………… 19 III.Tóm tắt báo cáo, vấn đề chưa làm được……….…… 20 LỜI NÓI ĐẦU Sự đời vi xử lí nói chung, vi điều khiển nói riêng tạo bước ngoặt lớn việc thiết kế hệ thống xử lí thơng tin, đo lường điều khiển truyền thông Kết tạo sản phẩm máy ảnh số,máy chơi nhạc MP3, đầu đĩa DVD, biến tần, PLC…ngày rẻ hơn, nhỏ gọn hơn, thông minh tiện dụng Hơn nữa, kỹ thuật vi điều khiển phát triển, ứng dụng vào nhiều lĩnh vực sản xuất công nghiệp, tự động hóa, đời sống cịn nhiều lĩnh vực khác So với kỹ thuật số kỹ thuật vi điểu khiển nhỏ gọn nhiều tích hợp lại có khả lập trình để điều khiển Nên tiện dụng động Với tính ưu việt vi điều khiển phạm vi đồ án nhỏ này, chúng em dùng vi điều khiển để đo điện áp, hiển thị vẽ đồ thị điện áp lên máy tính Mục đích đề tài hướng đến: tạo bước đầu cho sinh viên thử nghiệm ứng dụng vi điều khiển thực tiễn để từ tìm tịi, phát triển nhiều ứng dụng khác đời sống ngày cần đến Việc thực xong đồ án môn học kiến thức học, số sách tham khảo số nguồn tài liệu khác nên khơng tránh khỏi thiếu sót Vì nhóm mong góp ý thầy cô bạn Chương I Mô tả ý tưởng,mô hình ý niệm,xây dựng sơ đồ khối I Sơ đồ khối tổng quát,sơ đồ nguyên lý mạch in 1.Sơ đồ khối tổng quát: KHỐI GIAO TIẾP VỚI MÁY TÍNH KHỐI CHUYỂN ĐỒI TƯƠNG TỰ SANG SỐ: ADC0804 KHỐI TÍN HIỆU VÀO KHỐI XỬ LÝ TRUNG TÂM: 8051 Sơ đồ nguyên lý: KHỐI NGUỒN ỔN ÁP SỬ DỤNG IC7805 sơ đồ mạch in : II Các vi mạch sử dụng khối nguyên lý hoạt động khối Các vi mạch sử dụng khối Khối xử lý trung tâm: AT89S52 Khối tín hiệu vào: Khối chuyển đổi: ADC 0804 Khối giao tiếp máy tính Khối ổn áp: IC7805 Cấu tạo nguyên lý hoạt động vi mạch 2.1 Vi điều khiển AT89S52: 2.1.2 cấu tạo chức khối AT89S52 • CPU( CPU centralprocessing unit) bao gồm: Thanh ghi tích lũy A Thanh ghi tích lũy phụ B Đơn vị logic học (ALU) Thanh ghi từ trạng thái chương trình Bốn băng ghi Con trỏ ngăn xếp • Bộ nhớ chương trình( ROM) gồm 8Kbyte Flash • Bộ nhớ liệu( RAM) gồm 256 byte • Bộ UART, có chức truyền nhận nối tiếp • Timer/Counter 16 bit thực chức định thời đếm kiện • Khối điều khiển ngắt với nguồn ngắt ngồi nguồn ngắt • Bộ lập trình( ghi chương trình lên Flash ROM) cho phép người sử dụng nạp chương trình cho chíp mà khơng cần nạp chun dụng • Bộ chia tần số với hệ số chia 12 • cổng xuất nhập với 32 chân b, chức chân AT89S52 Port 0( P0.0=>P0.7) Port gồm chân, chức xuất nhập, port bus đa hợp liệu địa (AD0-AD7), chức sử dụng 89S52 giao tiếp với thiết bị ngồi có kiến trúc Bus vi mạch nhớ, mạch PIO… Port 1( P1.0=>P1.7) Chức Port chức xuất nhập Port khác Port1 xuất nhập theo bit theo byte Port 2( P2.0=>P2.7) Port chức cổng vào/ra Port byte cao bus địa sử dụng nhớ Port Mỗi chân Port ngồi chức xuất nhập cịn có chức riêng, cụ thể sau: Bit P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 Tên Chức RXD Dữ liệu nhận cho Port nối tiếp TXD Dữ liệu truyền cho Port nối tiếp INT0 Ngắt bên INT1 Ngắt TO Ngõ vào Timer/counter0 T1 Ngõ vào Timer/counter1 /WR Xung ghi nhớ liệu /RD Xung đọc nhớ liệu Chân /PSEN : chân điều khiển đọc chương trình nhớ ngồi Chân ALE ALE tín hiệu điều khiển chốt địa có tần số 1/6 tần số dao động vi điều khiển Tín hiệu ALE dùng phép vi mạch chốt bên ngồi 7473 Chân /EA Tín hiệu /EA cho phép chọn nhớ chương trình nhớ hay ngồi EA=1 thực chương trình RAM nội EA=0 thực RAM RST( reset) Ngõ vào reset chân số RST=1 vi điều khiển khởi động lại thiết lập ban đầu XTAL1, XTAL2 chân nối song song với thạch anh tần số max=33 Mhz Để tạo dao động cho vi điều khiển Vcc, GND : cung cấp nguồn nuôi cho vi điều khiển cấp qua chân 20 40 2.1.3 nguyên lý hoạt động +Chân nối với mạch reset Khi nhấn SW1 vi điều khiển khởi động lại từ đầu +điện trở băng U1: có tác dụng làm điện trở kéo lên nguồn + chân 18-19 nối // với thạch anh 12Mhz mạch có nhiệm vụ tạo dao động cho vi điều khiển +chân P3.5, P3.6, P3.7: chân nối với chân ADC (chân RD (Read), chân WR (Write) chân Ngắt INTR (Interupt)): Nhiệm vụ điều khiển hoạt động chuyển đổi số - tương tự + chân P1.0=>P1.7 giao tiếp với ADC0804 Cổng P1 có nhiệm vụ đọc điện áp thu từ chuyển đổi +P0.0=>P0.6: Lần lượt nối với chân a,b,c,d,e,f,g LED Và chân P2.3 => P2.7: nối với chân dig1=>dig chân dp LED nhằm mục đích điều khiển hiển thị LED +P3.0=>P3.2 : nối với switch kép để điều khiển chọn thang đo phù hợp 2.2 Khối tín hiệu vào: Đây khối làm nhiệm vụ nhận tín hiệu điện áp vào , chia thang đo điện áp trước tiến hành chuyển đổi a, Sơ đồ cấu tạo b Công tắc chuyển mạch - Làm nhiệm vụ chọn thang đo mức: 0-5V; 0-25V - Các giá trị phân áp: + Mức (0-5V): Ko dùng trở phân áp: Ur = Uv + Mức (0-25V): Phân áp điện trở R4=100K R5=10K Ur = Uv.R5/(R4+R5) = 10Uv/(100+10) => Ur ≈ 0,0909Uv c IC LM358 LM358 gồm có khuếch đại thuật tốn: Con thứ 1: chân ,3 vào, chân 1ra Con thứ 2: chân 5,6 vào, chân Công dụng mạch: làm đệm tín hiệu trước vào ADC, nhằm mục đích bảo vệ ADC 2.3 Bộ chuyển đổi tương tự-số: ADC 0804: a Cấu tạo: ADC 0804 chuyển đổi tương tự số Gồm có 20 chân DB0-DB7: chân liệu RD: lối vào đọc WR :lối vào ghi INTR: lối ngắt CLKR/CLKIN: lối vào điều khiển xung nhịp VIN: lối vào analog dương b sơ đồ: Chip ADC0804 chuyển đổi tương tự số thuộc họ ADC08xx hãng National Semiconductor Chip nhiều hãng khác sản xuất Chip có điện áp ni +5V độ phân giải bit Ngồi độ phân giải thời gian chuyển đổi tham số quan trọng đánh giá ADC Thời gian chuyển đổi định nghĩa thời gian mà ADC cần để chuyển đầu vào tương tự thành số nhị phân Đối với ADC0804 thời gian chuyển đổi phụ thuộc vào tần số đồng hồ cấp tới chân CLK CLK IN khơng bé 110µs Các chân khác ADC0804 có chức sau: • CS (Chip select) Chân số 1, chân chọn Chip, đầu vào tích cực mức thấp sử dụng để kích hoạt Chip ADC0804 Để truy cập ADC0804 chân phải mức thấp • RD (Read) Chân số 2, tín hiệu vào, tích cực mức thấp Các chuyển đổi đầu vào tương tự thành số nhị phân giữ ghi RD đ ược sử dụng để có liệu chyển đổi tới đầu ADC0804 Khi CS = có xung cao xuống thấp áp đến chân RD liệu dạng số bit đưa tới chân liệu (DB0 – DB7) • WR (Write) Chân số 3, chân vào tích cực mức thấp dùng để báo cho ADC biết bắt đầu trình chuyển đổi Nếu CS = WR tạo xung thấp lên cao ADC0804 bắt đầu trình chuyển đổi giá trị đầu vào tương tự Vin số nhị phân bit Khi việc chuyển đổi hồn tất chân INTR ADC hạ xuống thấp • CLK IN CLK R CLK IN (chân số 4), chân vào nối tới đồng hồ sử dụng để tạo thời gian Tuy nhiên ADC0804 có tạo xung đồng hồ riêng Để dùng đồng hồ riêng chân CLK IN CLK R (chân số 19) nối với tụ điện điện trở (như hình vẽ) Khi tần số xác định biểu thức: f = 1/(1,1RC) Với R=10 kΩ, C=150pF tần số f=606 kHz thời gian chuyển đổi l 110 às ã Ngt INTR (Interupt) Chõn s 5, chân tích cực mức thấp Bình thường chân trạng thái cao việc chuyển đổi hồn tất xuống thấp để báo cho CPU biết liệu chuyển đổi sẵn sàng để lấy Sau INTR xuống thấp, cần đặt CS = v gửi xung cao xuống thấp tới chân RD để đưa liệu • Vin (+) Vin (-) Chân số chân số 7, đầu vào tương tự vi sai, Vin = Vin (+) – Vin (-) Thơng thường Vin (-) nối tới đất Vin (+) dùng làm đầu vào tương tự chuyển đổi dạng số • Vcc Chân số 20, chân nguồn ni +5V • Vref/2 Chân số 9, chân điện áp đầu vào dùng làm điện áp tham chiếu Nếu chân hở điện áp đầu vào tương tự cho ADC0804 nằm dải - +5V Tuy nhiên, có nhiều ứng dụng mà đầu vịa tương tự áp đến Vin khác với dải - +5V Chân Vref/2 dùng để thực điện áp đầu khác - +5V Bảng quan hệ điện áp Vref/2 với Vin Vref/2 (V) 2.5 Vin (V) 0–5 Kích thước bước (mV) 5/256 = 19.53 2.0 0–4 4/256 = 15.62 1.5 0–3 3/256 = 11.71 1.28 – 2.56 2.56/256 = 10 10 1.0 0–2 2/256 = 7.81 0.5 0–1 1/256 = 3.90 D0 - D7 D0 - D7, chân số 18 – 11, chân liệu số (D7 bit cao MSB D0 bit thấp LSB) Các chân đệm ba trạng thái liệu chuyển đổi truy cập chân CS = chân RD đưa xuống mức thấp .CÁC BƯỚC CỦA Q TRÌNH CHUYỂN ĐỔI • Đặt WR =RD=1; • Bắt đầu biến đổi Đặt WR=0, trễ( )ms • Đặt lại WR=1; • Phát điểm kết thúc trình biến đổi INTR xuống mức thấp (được sử dụng ngắt) • Đặt RD=0 đọc liệu từ DB0=>DB7 • Đặt RD=1 => kết thúc chu trình 2.4 Khối giao tiếp máy tính Trên máy tính sản xuất gần đây, cổng COM dần biến thay cổng cổng USB Trong 89S52 lại ko thể giao tiếp trực tiếp với máy tính thơng qua chuẩn USB Do đó, để thiết bị giao tiếp với máy tính, ta phải dùng thêm thiết bị chuyển đổi USB sang COM Sơ đồ cấu tạo: 11 IC chuyển đổi Max 232 Lí điện áp cổng Com máy tính điện áp vi điều khiển hoạt động mức khác ( máy tính 12v vi điều khiển co 5v) Do cần phải có ic trung gian để giúp chúng giao tiếp với 12 Sơ Đồ Nối MAX 232 2.5 Khối ổn áp dùng IC 7805: LED đơn D2 làm nhiệm vụ báo hiệu có nguồn điện vào mạch III Phần hiển thị Visual Basic 6.0 3.1: Sơ lược Visual Basic 6.0 Visual Basic 6.0 (VB6), ngôn ngữ lập trình hướng đối tượng, trực quan mơi trường Windown VB cung cấp cơng cụ hồn chỉnh để đơn giản hóa việc triển khai lập trình ứng dụng Có thể nói cách nhanh tốt để học lập trình ứng dụng Windown Phần “Visual – trực quan” đề cập đến phương pháp sử dụng để tạo giao diện người sử dụng Người lập trình dùng cơng cụ có sẵn VB để “vẽ” giao diện chương trình theo ý muốn Việc thiết kế giao diện hình dung đơn giản việc ta dùng phần mềm Paint Windown Phần “Basic” đề cập đến ngôn ngữ BASIC (Beginers All-Purpose Symbolic Instruction Code), ngơn ngữ lập trình đơn giản, dễ học, viết cho khoa học gia, người ko có thời gian học lập trình điện tốn sử dụng Tuy nhiên, ngôn ngữ Basic VB cải tiến để phù hợp với phong cách lập trình đại Visual Basic có nhiều phiên bản, phiên tốt VB6.0 VB.Net VB6 phát triển ứng dụng dựa công nghệ COM (Common Object Model), cơng nghệ phát triển đến năm 2000 VB.Net dựa tảng công nghệ Net framework, công nghệ đại ưu chuộng 13 3.2: Giao diện thiết kế VB6 Chương II Quá trình thực I Lập trình cho vi điều khiển: #include #include #include #include sbit INT_A=P0^3; sbit W_R=P0^4; sbit R_D=P0^5; sbit QuaAp=P1^5; int ADC; 14 void delay(unsigned long int t) { int a; for(a=0; a