Sử dụng chip 89S52 và ADC0804 để thiết kế bộ đo điện áp ở 3 dải 0-5V, 0-25V, 0-50V, hiển thị trên led 7 thanh. Sai số cho phép là ~10%
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 Ở DẢI ĐO 0-5V, 0-25V, 050V HIỂN THỊ TRÊN LED THANH “Sai số cho phép ± 10%” Giáo viên hướng dẫn: Nhóm sinh viên thực hiện: 1.Bùi Minh Đức 2.Nguyễn Viết Hưng 3.Hoàng Ngọc Anh 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 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,các 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 dĩa DVD,các 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 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 hiển để đo điện áp ba dải đo 0-5V , 0-25 , 50V , đồng thời cho hiển thị lên LED 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 HIỂN THỊ: SỬ DỤNG LED THANH KHỐI CHUYỂN ĐỒI TƯƠNG TỰ SANG SỐ: ADC0804 KHỐI XỬ LÝ TRUNG TÂM: 8051 KHỐI NGUỒN ỔN ÁP SỬ DỤNG IC7805 KHỐI TÍN HIỆU VÀO ĐẦU RA ỨNG DỤNG (đo điện áp ba thang đo: 0-5 V, 025V 0-50V) Sơ đồ nguyên lý: 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: AT89C52 Khối tín hiệu vào: Khối chuyển đổi: ADC 0804 Khối hiển thị: LED 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 AT89C52: 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 AT89C52 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 chỉ( AD0-AD7), chức sử dụng 89c52 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 chức xuất nhập cịn có chức riêng, cụ thể sau: Bit Tên Chức P3.0 RXD Dữ liệu nhận cho Port nối tiếp P3.1 TXD Dữ liệu truyền cho Port nối tiếp P3.2 INT0 Ngắt bên P3.3 INT1 Ngắt P3.4 TO Ngõ vào Timer/counter0 P3.5 T1 Ngõ vào Timer/counter1 P3.6 /WR Xung ghi nhớ liệu P3.7 /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; 0-50V - Các giá trị phân áp: + Mức (0-5V): Phân áp điện trở R12=R16=10K Ur = Uv.R16/(R12+R16) = 10Uv/(10+10) => Ur = 0,5Uv + Mức (0-25V): Phân áp điện trở R14= 47K R16=10K Ur = Uv.R16/(R14+R16) = 10Uv/(47+10) => Ur ≈ 0,1754Uv + Mức (0-50V): Phân áp điện trở R15=220K R16=10K Ur = Uv.R16/(R15+R16) = 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 chuyn 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 QUÁ 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 hiển thị LED thanh: a Led Led đoạn bao gồm nhiều led tích hợp bên trong, led nối chung mộtchân Trong thực tế có hai loại led đoạn led đoạn anod chung led đoạn katotchung Trong ta sử dụng led đoạn anod chung b LED quét 7x4 LED quét 7x4 LED tích hợp LED đoạn linh kiện nhất: 11 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 12 Chương II Quá trình thực I Lập trình cho vi điều khiển: #include #include sbit INTR_ADC = P3^7; sbit RD_ADC = P3^5; sbit WR_ADC = P3^6; sbit muc1 = P3^0; sbit muc2 = P3^1; sbit muc3 = P3^2; unsigned char M[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; int chuc,dvi,pchuc,ptram; long int k; float volt,x; void delay(int j) { int i; for (i=0;i 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 :... để đ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 hiển để đo điện áp ba dải đo 0-5V , 0-25 , 50V , đồng thời cho hiển thị lên LED Mục