Sau một thời gian tìm hiểu và nghiên cứu, cùng với những lời đóng góp ý kiến chân thành từ các ThầyCô giáo cùng các bạn sinh viên, đặc biệt được sự hướng dẫn nhiệt tình của thầy Vũ Đình
Trang 1ĐỒ ÁN TÍCH HỢP I Tên đề tài: Thiết kế chế tạo mạch đo và hiển thị cường độ từ trường trên LCD Giáo viên hướng dẫn: Vũ Đình Đạt
Nhóm sinh viên thực hiện:
Lớp : Đ_ĐTK10.1
Khoá học: 2012 – 2016
Ngành đào tạo: Tự Động Hóa Công Nghiệp
Nội dung cần hoàn thành:
1. Thiết kế, tính toán và chế tạo mạch điện đo hiển thị cường độ từ trường trên LCD
2. Sản phẩm của đề tài phải đảm bảo kỹ thuật, mỹ thuật
3. Quyển thuyết minh
Trang 2MỤC LỤC
PHẦN I GIỚI THIỆU………5
1 Lời nói đầu……… ……… 5
2 Giới thiệu chung về mạch……… ……… 6
PHẦN II NỘI DUNG………7
Chương I Các linh kiện sử dụng ……… ……… ….7
1.1 Giới thiệu về LCD 16TC2A……… ………….7
1.2 Giới thiệu về PIC 16F877A……… ….…10
1.3 Cảm biến từ trường A1302……… ….14
Chương II Thiết kế tính toán và chế tạo……….…… 17
2.1 Thiết kế sơ đồ mạch……… ……….……17
2.1.1 Sơ đồ khối mạch……… ……… 17
2.1.2 Khối nguồn……… ……… ….17
2.1.3 Khối cảm biến……….17
2.1.4 Khối hiển thị……… ……17
2.1.5 Khối điều khiển………….…… ……… …………18
2.1.6 Sơ đồ nguyên lý của mạch……… ………20
2.1.7 Sơ đồ board mạch……….… 22
2.1.8 Tính toán cường độ từ trường……… … 22
2.2 Chương trình……….………….23
2.2.1 Lưu đồ thuật toán………23
2.2.2 Thư viện LCD……….…23
2.2.3 Chương trình điều khiển……… ……26
Trang 3Chương III Kiểm thử sản phẩm… ……… … ……….…27
PHẦN III KẾT LUẬN……….……28
3.1 Ưu điểm………28
3.2 Nhược điểm……… 28
3.3 Lời cảm ơn……… ……29
Trang 4PHẦN I GIỚI THIỆU
LỜI NÓI ĐẦU
Trong những thập niên gần đây công nghiệp hoá hiện đại hoá ngày càng phát triển mạnh mẽ Kỹ thuật điện tử đã có những bước phát triển mạnh đặc biệt là trong
kỹ thuật điều khiển tự động, kỹ thuật vi điều khiển
Ở nước ta hiện nay, việc lập trình ghép nối máy tính sử dụng vi điều khiển đã
và đang là công cụ được ứng dụng rộng rãi trong lĩnh vực tự động hoá Nó phát triển nhanh chóng, đã mang lại những thay đổi to lớn trong công nghệ cũng như trong đời sống hàng ngày
Sau một thời gian tìm hiểu và nghiên cứu, cùng với những lời đóng góp ý kiến chân thành từ các Thầy(Cô) giáo cùng các bạn sinh viên, đặc biệt được sự hướng dẫn
nhiệt tình của thầy Vũ Đình Đạt nhóm đồ án chúng em đã quyết định chọn và thực
hiện đề tài:
“Thiết kế chế tạo mạch đo và hiển thị cường độ từ trường trên LCD”
Tuy nhiên, để có được sản phẩm có tính ổn định cao, đảm bảo về chất lượng là tương đối khó khăn Vì thời gian để hoàn thành đồ án này cũng có hạn, và tầm hiểu biết của nhóm thực hiện vẫn còn hạn chế nên đề tài khó tránh khỏi những thiếu sót, những khuyết điểm không mong muốn Nhóm đồ án chúng em rất mong có được những ý kiến đóng góp quý báu, chân thành của quý thầy cô cùng các bạn sinh viên
để đề tài này được hoàn thiện hơn
Trang 52 GIỚI THIỆU CHUNG VỀ MẠCH
2.1 Chức năng của mạch:
“ Mạch đo và hiển thị cường độ từ trường trên LCD" có các chức năng sau:
• Đo cường độ từ trường
• Hiển thị nhiệt độ trên màn hình LCD
2.2 Các thành phần chính của “ mạch đo và hiển thị cường độ từ trường “
1: LCD 16x2_R2
2: Cảm biến từ trường A1302
3: Vi điều khiển PIC 16F877A
4: Các nút nhấn,điện trở, tụ điện, …
2.3 Yêu cầu thiết kế:
• Mạch hoạt động đúng chức năng của đề tài
• Mạch hoạt động có độ ổn định và chính xác cao
• Thiết kế gọn nhẹ
• Giá thành phù hợp
Trang 6PHẦN II NỘI DUNGCHƯƠNG I CÁC LINH KIỆN SỬ DỤNG 1.1 Giới thiệu về LCD 16TC2A
LCD (Liquid Crytal Direct) TC16C2 là màn hình hiển thị thể lỏng gồm có: + LCD
+Bộ Driver (Mạch điều khiển )
Màn hình LCD và bộ Driver đã được thiết kế tích hợp sẵn với nhau bởi nhà sản xuất,khi sử dụng chỉ cần giao tiếp với bộ Driver qua các chân LCD TC16C2 Là loại màn hình hiển thị được 16 kí tự x2 dòng, bao gồm tất cả các kí tự chuẩn và một số kí tự đặc biệt nhưng không có kí tự có dấu tiếng Việt
1.1.1. Sơ đồ chân của LCD 16TC2A:
Hình 2.1: Sơ đồ chân của LCD 16TC2A
1.1.2. Chức năng và nhiệm vụ của các chân:
STT chân Kí hiệu Chức năng chân
1 Vss Chân nối đất cho LCD, khi thiết kế mạch ta nối
chân này với GND của mạch điều khiển
2 Vdd Chân cấp nguồn cho LCD, khi thiết kế mạch ta
nối chân này với VCC=5V của mạch điều khiển
Trang 73 Vee Lựa chọn độ tương phản của màn hình
4 RS Chân chọn thanh ghi (Register select) Nối chân
RS với logic “0” (GND) hoặc logic “1” (VCC) để chọn thanh ghi
+ Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh
IR của LCD (ở chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ “đọc” - read)
+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên trong LCD
5 R/w Chân chọn chế độ đọc/ghi (Read/Write) Nối
chân R/W với logic “0” để LCD hoạt động ở chế độ ghi, hoặc nối với logic “1” để LCD ở chế độ đọc
6 E Chân cho phép (Enable) Sau khi các tín hiệu
được đặt lên bus DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân E
+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào(chấp nhận) thanh ghi bên trong nó khi phát hiện một xung (high-to-low transition) của tín hiệu chân E
+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB7 khi phát hiện cạnh lên (low-to-high transition) ở chân E và được LCD giữ ở bus đến khi nào chân E xuống mức thấp
Tám đường của bus dữ liệu dùng để trao đổi thông tin với MPU Có 2 chế độ sử dụng 8 đường bus này :
+ Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường,
Trang 8với bit MSB là bit DB7.
+ Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB là DB7
15 Vdd Nguồn dương cho đèn nền
16 Vss GND cho đèn nền
Bảng 2.1: Chức năng và nhiệm vụ của các chân
1.1.3 Giá trị điện áp:
Kí
hiệu
Điềukiện
Giá trị chuẩn Đơn
Trang 9độ bình
thường
Vo
V
500C 3,6 4,0 4,4
700C - - Điện áp
-led màn
hình
LCD
VF 250C - 4,2 4,6 V
2.2: Bảng giá trị điện áp của màn hình LCD
1.2 Giới thiệu về PIC 16F877A
1.2.1 Sơ đồ chân và sơ đồ nguyên lí của PIC16F877A
Trang 10- 5 port của PIC16F877A bao gồm :
Việc xuất nhập dữ liệu ở PIC16F877A khác với họ 8051 Ở tất cả các PORT của PIC16F877A, ở mỗi thời điểm chỉ thực hiện được một chức năng :xuất hoặc nhập Để chuyển từ chức năng này nhập qua chức năng xuất hay ngược lại, ta phải xử lý bằng phần mềm, không như 8051 tự hiểu lúc nào là chức năng nhập, lúc nào là chức năng xuất
Trong kiến trúc phần cứng của PIC16F877A, người ta sử dụng thanh ghi TRISA ở địa chỉ 85H để điều khiển chức năng I/O trên Muốn xác lập các chân nào của PORTA
là nhập (input) thì ta set bit tương ứng chân đó trong thanh ghi TRISA Ngược lại, muốn chân nào là output thì ta clear bit tương ứng chân đó trong thanh ghi TRISA Điều này hoàn toàn tương tự đối với các PORT còn lại
Ngoài ra, PORTA còn có các chức năng quan trọng sau :
Trang 11- Ngõ vào Analog của bộ ADC : thực hiện chức năng chuyển từ Analog sang Digital
PORTC:
PORTC có 8 chân và cũng thực hiện được 2 chức năng input và output dưới sự điều khiển của thanh ghi TRISC tương tự như hai thanh ghi trên
Ngoài ra PORTC còn có các chức năng quan trọng sau :
- Ngõ vào xung clock cho Timer1 trong kiến trúc phần cứng
- Bộ PWM thực hiện chức năng điều xung lập trình được tần số, duty cycle: sử dụng trong điều khiển tốc độ và vị trí của động cơ v.v…
- Tích hợp các bộ giao tiếp nối tiếp I2C, SPI, SSP, USART
PORTD:
PORTD có 8 chân Thanh ghi TRISD điều khiển 2 chức năng input và output của PORTD tương tự như trên PORTD cũng là cổng xuất dữ liệu của chuẩn giao tiếp song song PSP (Parallel Slave Port)
Trang 12PORTE có 3 chân Thanh ghi điều khiển xuất nhập tương ứng là TRISE Các chân của PORTE có ngõ vào analog Bên cạnh đó PORTE còn là các chân điều khiển của chuẩn giao tiếp PSP
1.3 Giới thiệu về cảm biến từ trường A1302
Hình 2.2: sơ đồ chân của cảm biến từ trường A1302
Một thiết bị hiệu ứng Hall tạo ra một điện áp khi được đặt trong một từ trường Dưới đây là một số mã đơn giản để sử dụng một cảm biến hiệu ứng A1301 hoặc A1302 Hall, trong đó cung cấp đầu ra tỷ lệ thuận với cường độ trường ( Cảm biến hiệu ứng Hall khác có thể là đơn giản và chỉ cần chuyển đổi hoặc tắt khi từ trường vượt quá một giá trị nhất định )
Nếu không có từ trường áp dụng các kết quả đầu ra cảm biến khoảng một nửa số điện áp cung cấp , thường là 2.5V , giả sử việc cung cấp là 5V Sản lượng giảm tới 0V hoặc tăng đối với 5V, theo phân cực từ, với tốc độ 2.5mV / Gauss cho A1301 , hoặc 1.3mV / Gauss cho A1302
Trang 13Hướng dẫn lựa chọn:
Absolute maximum ratings(xếp hạng tối đa tuyệt đối):
Pin out drawings(Pin ra bản vẽ):
Danh sách đầu ra:
Trang 14Đặc điểm thiết bị:
Trang 15CHƯƠNG II THIẾT KẾ TÍNH TOÁN
2.1 Thiết kế sơ đồ mạch
2.1.1 Sơ đồ khối của mạch
Trang 16X2-1~x2-2: Cấp nguồn 12v xoay chiều.
Cầu chỉnh lưu B1: Biến đổi từ dòng xoay chiều thành dòng một chiều
Tụ C1: san phẳng điện áp
IC7805: chuyển dòng điện về 5V
Tụ gốm C2: loại bỏ thành phần sóng nhiễu của điện áp xoay chiều
Tụ C3: san phẳng dòng điện
LED1 : báo có dòng diện
Nguyên lý hoạt động: Dòng điện 12V xoay chiều qua cầu chỉnh lưu làm biến đổi từ dòng xoay chiều thành dòng một chiều rồi sẽ được san phẳng qua tụ C1 Khi qua IC
ổn áp 7805 sẽ cho dòng điện có điện áp 5V ổn định Sau đó điện áp 5V được cho qua tụC3 để san phẳng điện áp IC ổn áp 7805 mắc song với một tụ gốm để loại bỏ thành phần sóng nhiễu của điện áp xoay chiều IC 7805ta mắc song song với một led để báo mạch điều khiển có nguồn
2.1.3 Khối cảm biến
Cảm biến từ trường A1302: Chân 1 là Vout,chân 2 là GND,chân 3 là Vcc Dữ liệu chân 1 sẽ được đưa vào bộ đọc và chuyển đổi ADC được tích hợp trong bộ xử lý thông qua kênh AN0
2.1.4 Khối hiển thị
Trang 17Khối hiển thị LCD, gồm 1 LCD 16x2 LCD được truyền dữ liệu 4 bít từ vi điều khiển qua các chân D4, D5, D6, D7 Còn lại D0, D1, D2, D3 không xử dụng được nối GND
Ta cấp nguồn cho led màn hình LCD thông qua chân 15 và 16 của LCD
2.2.5 Khối điều khiển
Khối điều khiển là pic16f877a:
Trang 182.1.6 Sơ đồ nguyên lý của mạch
Trang 20• Nguyên lý làm việc của mạch: Khi bộ xử lý được cấp nguồn, vi xử lý sẽ khởi tạo truyền dữ liệu cho LCD hiển thị Tiếp theo bộ vi xử lý sẽ đọc dữ liệu gửi về từ cảm biến A1302 Dữ liệu này sẽ được xử lý và tính toán theo thuật toán mà người viết đã lập trình Sau khi được xử lý, bộ xử lý sẽ gửi kết quả ra màn hình LCD.
• Nguyên lý hoạt động của mạch:
- Nút nhấn S1 là nút reset: 1 đầu nối GND, đầu còn lại nối với trở treo tạo mức lên Vcc và nối vào chân MCLR/Vpp của vi xử lý Khi chưa tác động chân MCLR/Vpp ở mức cao, bộ vi xử lý hoạt động bình thường Khi được tác động thì chân MCLR/Vpp được đưa xuống mức thấp, bộ xử lý ngay lập tức được reset nhảy về thực hiện câu lệnh ở ngăn nhớ đầu tiên của bộ nhớ
- A1302: Chân 1 là Vout,chân 2 là GND,chân 3 là Vcc Dữ liệu chân 1 sẽ được đưa vào bộ đọc và chuyển đổi ADC được tích hợp trong bộ xử lý thông qua kênh AN0
- Khối tạo dao động: gồm thạch anh 20MHz và 2 tụ đất 33pF
- Khối hiển thị LCD, gồm 1 LCD 16x2 LCD được truyền dữ liệu 4 bít từ vi điều khiển qua các chân D4, D5, D6, D7 Còn lại D0, D1, D2, D3 không xử dụng được nối GND Ta cấp nguồn cho led màn hình LCD thông qua chân
15 và 16 của LCD
Ở mạch này ta chỉ xử dụng chức năng ghi dữ liệu lên LCD lên chân RW
ta nối GND
Biến trở tinh chỉnh R4 có tác dụng điều chỉnh độ tương phản cho LCD
- Khối mạch nạp: Gồm có chân 1 chân Reset, chân 2 là chân Vcc, chân 3 là chân nối GND, chân 4 là chân PGD, chân 5 là chân PGC ( chân PGD và PGC dùng để truyền dữ liệu từ máy tính thông qua mạch nạp vào IC
Trang 212.1.7 Sơ đồ board mạch:
Sơ đồ board mạch điều khiển:
Hình 2.3 Sơ đồ board mạch2.1.8 Tính toán cường độ từ trường
• Đối với A1302: 1.3mV = 1Gauss
• Chọn chế độ ADC 10 bit ( nghĩa là ADC có giá trị từ 0 đến 1023 )
1024 bước tương tự = 5V
• Để đọc được giá trị ADC ta dùng hàm red_adc();
• Từ giá trị ADC đọc được ta quy đổi lại từ cường độ từ trường :1 giá trị ADC = 3756mG
Trang 222.2 Chương trình
2.2.1 Lưu đồ thuật toán:
Hình 2.2 Sơ đồ lưu đồ thuật toán2.2.2 Chương trình điều khiển
#include <16F877A.h>
#device *=16 adc=10
#FUSES
NOWDT,HS,NOPUT,NOPROTECT,NODEBUG,NOBROWNOUT,NOLVP,N OCPD,NOWRT
#use delay(clock=20000000) // DUNG THACH ANH 20MHz
#include <lcd_lib_4bit.c> // LCD 4 BIT
#byte porta=0x05 // KHAI BAO DIA CHI TRONG PHAN CUNG
#byte portb=0x06
Bắt đầu
Đọc dữ liệu A1302
Tính toán với giá trị đọc được từ A1302 rồi hiển
thị ra LCD
Kết thúc
Trang 23#byte portc=0x07
#byte portd=0x08
#byte porte=0x09 // Thu vien ham cho LCD
unsignedintnghin, tram,chuc,donvi; //BIEN SO
float value; //BIEN TU TRUONG DO ADC
//========================================================
========;
voidhien_thi_so(unsigned char x); //HAM NGUYEN MAU
voidhien_thi_so(unsigned char x) //HAM HIEN THI SO LEN LCD
Trang 24set_tris_a(0xFF); //KHAI BAO PORTA LA DAU VAO
LCD_init(); //GOI HAM KHOI TAO LCD
set_adc_channel(0); //CAI DAT ADC 0
value = read_adc(); //DOC GIA TRI TU ADC 0
value=value-512; //TRU DI 512 DE LAY GIA TRI GOC CUA A1302
LCD_Putchar("DO TU TRUONG"); //VIET CHU LEN LCD
LCD_Putcmd(0xc0); //CHUYEN CON TRO VE DAU DONG THU 2 LCD
LCD_Putchar("T= "); //VIET CHU
hien_thi_so(value); //HIEN THI GIA TRI TU TRUONG LEN LCD
LCD_Putchar(" GAUSS"); //VIET CHU
delay_ms(100);
}
}
Trang 25CHƯƠNG III KIỂM THỬ SẢN PHẨM
Hình ảnh sản phẩm:
-Phần mềm chạy ổn định
- Đo được cường độ từ trường và hiển thị trên LCD
Trang 26CHƯƠNG III KẾT LUẬN
Trang 27LỜI CẢM ƠN
Chúng em xin chân thành cảm ơn thầy Vũ Đình Đạt đã tận tình chỉ dạy hướng dẫn,
đóng góp nhiều ý kiến quý báu và tạo điều kiện cho chúng em sửa sai và hoàn chỉnh kiến thức của mình trong suốt thời gian qua Sự chỉ dạy và những ý kiến của thầy mở đường cho chúng em nhanh chóng khắc phục được những khúc mắc khó khăn và sớm tìm ra được những phương án giải quyết hiệu quả trong quá trình thực hiện đề tài tốt nghiệp này
Chúng em xin cảm ơn quý thầy cô trong khoa Điện - Điện tử trường ĐHSPKT Hưng Yên đã hết lòng dạy dỗ, chỉ bảo chúng em trong thời gian qua
Nhóm thực hiện đồ án chúng em xin chân thành cảm ơn những người bạn, người thân, bạn bè đã giúp đỡ nhóm chúng em trong thời gian thực hiện và hoàn thành đố án
Chúng em xin chân thành cảm ơn!
Hưng yên, Ngày Tháng Năm 2015
Trang 28Tài liệu tham khảo