BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÀ RỊA-VŨNG TÀU
--------
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC HỢP TÁC
Co-operative research project between BVU and La Croix Rouge
TÊN ĐỀ TÀI:
Thiết kế và chế tạo 8 mô hình thực hành môn vi điều khiển
sử dụng vi điều khiển pic 18f4520 cho viện kỹ thuật – kinh
tế biển
Trình độ đào tạo: Chương trình trao đổi sinh viên với trường
La Croix Rouge in Brest (Pháp)
Giảng viên hướng dẫn: Ts. LÊ NGỌC TRÂN
Sinh viên thực hiện:
33 trang |
Chia sẻ: huong20 | Ngày: 19/01/2022 | Lượt xem: 369 | Lượt tải: 0
Tóm tắt tài liệu Đề tài Thiết kế và chế tạo 8 mô hình thực hành môn vi điều khiển sử dụng vi điều khiển pic 18f4520 cho viện kỹ thuật – Kinh tế biển, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Grégory LEROY
Lớp : Digital System
Niên khóa : 2016-2018
Bà Rịa-Vũng Tàu, năm 2018
2
[Date]
INTERNSHIP REPORT
Grégory LEROY
3
TABLE OF CONTENTS
PERSONAL INFORMATION..page 3
THANKSpage 4
I. INTRODUCTION.. page 5
II. DESIGN OF ELECTRICAL BOARD...page 7
1. Introduction of microprocessor PIC.......page 7
2. Design of PIC board by EAGLE softwarepage 10
III. IMPLEMENTATION..page 27
VI. CONCLUSIONpage 31
REFERENCE
4
PERSONAL INFORMATION
First name : Grégory
Name : LEROY
Phone number : +33 7 82 37 90 78
Email : leroy7@lacroixrouge-brest.fr
School: La Croix Rouge La Salle, 2 rue Mirabeau Brest, 29200, France
I write this information if you want contact me.
5
THANKS
I thank Mister Vo and Mrs Jézéquel who helped me find this internship.
I also thank the Vietnamese students who welcomed me and helped me.
I thank my tutor M.TRAN who guided me and taught me a lot of new interesting
things.
I thank Mrs. Phuong who helped me in the daily life.
I thank and I am extremely grateful to my guide who allowed me to visit and
discover great unforgettable places of Vung tau.
6
I. GIỚI THIỆU
Ngày nay, những ứng dụng của Vi điều khiển đã đi sâu vào đời sống sinh
hoạt và sản xuất của con người. Thực tế hiện nay là hầu hết các thiết bị điện dân
dụng hiện nay đều có sự góp mặt của Vi Điều Khiển và vi xử lí . Ứng dụng vi
điều khiển trong thiết kế hệ thống làm giảm chi phí thiết kế và hạ giá thành sản
phẩm đồng thời nâng cao tính ổn định của thiết bị và hệ thống.Trên thị trường có
rất nhiều họ vi điều khiển: họ 4520 của Intel, 68HC11 của Motorola, Z80 của
hãng Zilog, PIC của hãng Microchip, H8 của Hitachi,vv
Việc phát triển ứng dụng các hệ vi xử lý đòi hỏi những hiểu biết cả về phần
cứng cũng như phần mềm, nhưng cũng chính vì vậy mà các hệ vi xử lý được sử
dụng để giải quyết những bài toán rất khác nhau. Tính đa dạng của các ứng dụng
phụ thuộc vào việc lựa chọn các hệ vi xử lý cụ thể cũng như vào kỹ thuật lập
trình. Ngày nay các bộ vi xử lý có mặt trong rất nhiều thiết bị điện tử hiện đại: từ
đầu đĩa CD, máy thu hình, máy ghi hình, dàn âm thanh HiFi, bộ điều khiển lò
sưởi cho đến các thiết bị điều khiển dùng trong công nghiệp.
Lĩnh vực ứng dụng của các hệ vi xử lý cũng rất rộng lớn: từ nguyên cứu
khoa học, truyền dữ liệu, đến công nghiệp, năng lượng, giao thông và y tế
Tùy theo kinh nghiệm và mức độ thông thạo mà chúng ta có thể sử dụng các
ngôn ngữ khác ngoài hợp ngữ như: C, C++, Visual basic để có những chương
trình chất lượng cao hơn.
Từ các thông tin trên các diễn đàn Internet và các trung tâm học tập thực
hành, cho thấy nhu cầu học tập và nghiên cứu cũng như tự mài mò tìm hiểu về
nhiều lĩnh vực trong ngành điện tử nói chung, tự động hóa nói riêng là rất cao.
Trong nhiều lĩnh vực được quan tâm, có một lĩnh vực về vi điều khiển được
quan tâm rất nhiều hiện nay đó là vi điều khiển PIC. Việc tìm hiểu và ứng dụng
hết khả năng của nhiều loại PIC là cả một quá trình dài lý thú và hữu ích, vì sự
thuận tiện, tính gọn, khả năng phát triển cũng như sự đa dạng các dòng sản
phẩm phù hợp nhiều quy mô ứng dụng của nó.
7
Một lĩnh vực khác được quan tâm đông đảo trên các diễn đàn học tập
ngành cơ khí – cơ điện tử, nhưng chưa có một tài liệu chính thống phổ biến
hướng dẫn hay cung cấp thông tin về nó, cũng như chưa được giảng dạy ở nhiều
trung tâm đó là ứng dụng PIC 18F4520 để truy xuất tín hiệu cảm biến nhiệt độ
LM35 lên màn hình LCD và thể hiện một sự linh hoạt mà trong thực tế rất phù
hợp với nhu cầu giám sát chất lượng nước đa dạng trong các hệ thống từ công
nghiệp cho đến dân dụng. Thuận tiện cho người vận hành trình bày một cách
sinh động hơn.
Lựa chọn PIC trong đề tài này là một bước đi phù hợp với những yêu cầu
giới hạn cần có của một đồ án vi điều khiển cũng như đáp ứng những nhu cầu
ứng dụng thực tế trong các lĩnh vực của ngành cơ khí – cơ điện tử đã theo học.
Tuy đã có nhiều cố gắng nhưng do vốn kiến thức còn hạn chế cũng như thời
gian còn hạng chế nên sẽ không tránh khỏi những sai sót và khuyết điểm trong
qúa trình tính toán cũng như thi công công mô hình, rất mong được sự thông
cảm và góp ý kiến của qúi thầy cô cũng như các bạn sinh viên.
Khoa cơ khí trường Đại học Bà Rịa- Vũng Tàu được thành lập từ năm 2014
gồm 3 chuyên ngành:
• Cơ khí chế tạo máy
• Cơ khí ô tô
• Cơ điện tử
Trong rất nhiều môn học trong ngành Cơ khí thì môn học vi điều khiển
không thể thiếu được trong thời đại của cuộc cách mạng lần thứ 4, tiếp cận môn
học này ngoài vấn đề học ngôn ngữ lập trình C++ sinh viên còn phải thiết kế
mạch phần cứng. Tuy nhiên trong điều kiện nhà trường còn nhiều khó khăn chưa
đầu tư phòng thực hành vi điều khiển,do đó trong đợt thực tập này đề tài của tôi
là nghiên cứu, thiết kế và xây dựng 8 kit thực hành môn vi điều khiển PIC phục
vụ đào tạo thực hành môn học vi điều khiển cho chuyên ngành cơ điện tử trường
ĐH Bà Rịa – Vũng Tàu.
8
II. THIẾT KẾ MẠCH VI ĐIỀU KHIỂN
II.1. Giới thiệu về vi điều khiển PIC
PIC (Programmable Interlligent Computer) là một sản phẩm của hãng
General Intruments đặt cho dòng sản phẩm đầu tiên của họ là PIC 1605. Vào
thập kỷ 70 của thế kỷ 20, General Intruments và Honeywell kết hợp sản xuất ra
bộ vi xử lý 16 bit CP1600. Đây là bộ vi xử lý khá mạnh vào thời điểm đó nhưng
lại hạn chế về hoạt động vào/ra. PIC 1650 được sản xuất để hỗ trợ vi xử lý CP
1600 trong các máy tính sử dụng bộ vi xử lý này. PIC 1650 hoạt động với tập
lệnh đơn giản nằm trong ROM. Vào thời điểm đó chưa có khái niệm về
RISC(Reduced Intructions Set Code), tuy nhiên PIC 1650 thực sự là một bộ vi
điều khiển được thiết kế theo kiểu kiến trúc RISC. Tập lệnh của PIC 1650 vơi
khoảng 30 lệnh và độ dài của mỗi lệnh là 14 bit. Mỗi lệnh được PIC 1650 thực
hiện trong 1 chu kỳ máy(4 chu kỳ của bộ dao động). Năm 1985 General
Intruments bán bộ phận sản xuất vi điện tử của họ và chủ sở hữu mới hủy bỏ hầu
hết các dự án liên quan( do các dự án lúc trước đó đã lỗi thời). Năm 1989
Microchip Technology tiếp tục phát triển PIC, bắt đầu bằng việc thêm bộ nhớ
EEPROM để tạo thành một bộ điều khiển vào ra khả trình. Tiếp đến là tích hợp
các tính năng như ngắt, ADC( Analog Digital Convertr) để tạo thành cá bộ vi
điều khiển( Micro Controller).
Đến năm 1992 Microchip Technology đã cho ra đời 6 loại chip với 3 dòng
khác nhau:
• Dòng chip có độ dài mã lệnh bằng 12 bit gồm 4 chip PIC 15C5x. Các -
chip này có từ 12 đến 28 chân vào/ra.
• Dòng chip độ dài mã lệnh băng 14 bit là PIC 16C71. Bộ vi điều khiển
này đã được tích hợp thêm hai tài nguyên là ngắt ADC.
• Dòng chip độ dài mã lệnh bằng 16 bit là PIC 17C41, tuy nhiên dòng chip
này không được chú trọng phát triển vào thời điểm đó.
Cùng thời gian này hàng loạt các công cụ hỗ trợ cũng được các công ty khác
nhau cho ra đời. Điển hình là PICMASTER emulator, PIC Pro II programmer và
9
cả trình dịch C( C Compiler). Các công cụ này cùng với việc thay bộ nhớ OTP
(one – time programmable parts) bằng bộ nhớ EEP (Electically Erasable Parts)
đã mang đến rắt nhiều tiện lợi cho người lập trình, ví dụ như: người lập trình có
thể nạp chương trình mà không cần gỡ chip ra khỏi mạch. PIC 16C84 là bộ vi
điều khiển đầu tiên có bộ nhớ kiểu EEP.
Không lâu sau đó Microchip Technology tiếp tục đưa vào bộ vi điều khiển
với mã lệnh dài 14 bit PIC16F877 tính năng gỡ rối (Flash debugging). Tính
năng này cho phép người lập trình có thể kiểm soát từng thanh ghi, từng câu
lệnh trong chương trình. Nhờ những cải tiến liên tiếp, PIC16F87 trở thành bộ vi
điều khiển bán chạy nhất vào thời điểm đó( năm 1995 đến 1998).
Đến năm 2000, Microchip Technology tái phát triển lại dòng chip có độ dài
mã lệnh bằng 16bit đã có trước đó 8 năm. Đại diện cho dòng chip này là
PIC18F4520 với tốc độ mã lệnh bằng 16bit đã có trước đó 8 năm. Đại diện cho
dòng chip này là PIC18F452 với tốc độ , dung lượng bộ nhớ được cải thiện và
khá nhiều tính năng được bổ sung như các bộ định thời(timer), truyền thông nối
tiếpDòng vi điều khiển PIC 8 bit đã dẫn đầu số lượng bộ bán ra mỗi năm liên
tục từ năm 2002 đến nay.
Trước nhu cầu về tốc độ xử lý cũng như các tính năng đặc biệt khác,
Microchip Technology tiếp tục cho ra đời các dòng vi điều khiển tiên tiến hơn
như: PIC24, PIC33, dsPIC..
Ngày nay đã có đến hàng chục dòng PIC với hàng trăm loại chip khác nhau.
Tại Việt Nam cũng như trên thế giới, họ vi điều khiển này được sử dụng khá
rộng rãi. Điều này tạo nhiều thuận lợi trong quá trình tìm hiểu và phát triển các
ứng dụng như: số lượng tài liệu, số lượng các ứng dụng mở đã phát triển thành
công, dễ dàng trao đổi, học tập, dễ dàng tìm được sự chỉ dẫn khi gặp khó khăn...
Bộ vi xử lý có khả năng vượt bậc so với các hệ thống về khả năng tính
toán, xử lý và thay đổi chương trình linh hoạt theo mục đích người dùng, đặc
biệt hiểu quả đối với các bài toán và hệ thống lớn. Tuy nhiên đối với các ứng
dụng nhỏ, tầm tính toán không đòi hỏi khả năng tính toán lớn thì việc ứng dụng
10
vi xử lý cần cân nhắc. Bởi vì hệ thống dù lớn hay nhỏ, nếu dùng vi xử lý thì
cũng đòi hỏi các khối mạch điện giao tiếp phức tạp như nhau. Các khối này bao
gồm bộ nhớ để chứa dữ liệu và chương trình thực hiện, các mạch điện giao tiếp
ngoại vi để xuất nhập và điều khiển trở lại, các khối này cũng liên kết với vi xử
lý thì mới thực hiện được công việc. Để kết nối khối này đòi hỏi người thiết kế
phải hiểu biết tinh tường về các thành phần vi xử lý, bộ nhớ, các thiết bị ngoại
vi. Hệ thống được tao ra khá phức tạp, chiếm nhiều không gian, mạch in phức
tạp và vấn đề chính là trình độ người thiết kế, Kết quả là giá thành sản cuối cùng
rất cao, không phù hợp để áp dụng cho các hệ thống nhỏ.
Vì một số nhược điểm trên nên các nhà chế tạo đã tích hợp một ít bộ nhớ
và một số mạch giao tiếp ngoại vi cùng với vi xử lý vào IC duy nhất được gọi là
Microcontroller-Vi điều khiển.
Một số điểm khác nhau giữa vi xử lý và điều khiển:
✓ Về phần cứng: VXL cần được ghép thêm các thiết bị ngoại vi bên ngoài
như bộ nhớ, và các thiết bị ngoại vi khác, Để có thể tạo thành một bản
mạch hoàn chỉnh. Đối với VĐK thì bản thân nó đã là một hệ máy tính
hoàn chỉnh với CPU, bộ nhớ, các mạch giao tiếp, các bộ định thời và
mạch điều khiển ngắt được tích hợp bên trong mạch.
✓ Về đắc trưng tập lênh: Do ứng dụng khác nhau nên các bộ VXL và VĐK
có những yêu cầu khác nhau đối với tập lênh của chúng. Tập lênh của các
VXL thường mạnh về các kiểu định địa chỉ với các lệnh cung cấp các
hoạt động trên các dữ liệu lớn như 1 byte,1/2 byte, word, Ở các bộ
VĐK, các tập lệnh rất mạnh trong việc xử lý các kiểu dữ liệu nhỏ như bit
hoặc một vài bit.
✓ Do VDK cấu tạo về phần cứng và khả năng xử lý thấp hơn nhiều so với
VXL nên giá thành của VĐK cũng rẻ hơn nhiều. Tuy nhiên nó vẫn đủ khả
năng đáp ứng được tất cả các yêu cầu của người dùng.
Vi điều khiển được ứng dụng trong các dây chuyền tự động loại nhỏ, các
robot có chức năng đơn giản, trong máy giặt ôtô v.v..
11
II.2. Thiết kế mạch vi điều khiển trên phần mềm Eagle
Hình 1: Mạch vi điều khiển PIC 18F4520 thiết kế trên phần mềm EAGLE
* Các thành phần trong mạch thiết kế:
II.2.1. Vi điều khiển PIC 18F4520:
• CPU: Tần số tối đa 40MHz, kiến trúc Havard, được sản xuất bằng công
nghệ nano Watt.
• Bộ nhớ:
➢ Bộ nhớ chương trình FLASH: 32K
➢ RAM: 1536 bytes
➢ Bộ nhớ dữ liệu EEPROM: 256 bytes
• Cổng vào ra: A,B,C,D,E
➢ Cổng A: RA0-RA7
➢ Cổng B: RB0-RB7
➢ Cổng C: RC0-RC7
12
➢ Cổng D: RD0-RD7
➢ Cổng E: RE0-RE3
• Định thời/đếm: 4 bộ (Timer2: 8bit; Timer0,1,3: 16 bit)
• PWM: 2 bộ (CCP1:RC2; CCP2:RC1)
• Truyền thông nối tiếp L2 module: MSSP và EUSART Module MSSP
gồm 2 module: SPI(Serial Peripheral Interface) và IC (Intergrated Circuit)
• ADC: 13 kênh ADC với độ phân giải 10bit
Sơ đồ chân và sơ đồ khối của vi điều khiển PIC 18F4520 giới thiệu trên hình 2
và 3
Hình 1: Sơ đồ chân PIC 18F4520
13
Hình 3: Sơ đồ khối PIC 18F4520
14
Hình 4: PIC18F4520 I/O
Sau đây là giới thiệu cấu tạo chân loại 40 chân (40 Pin PDIP):
• Chân 1(MCLR /VPP/RE3) :
- MCLR là đầu vào Master Clear (reset) hoạt động ở mức thấp dể reset toàn bộ
thiết bị.
- VPP dùng để thay đổi điện áp đầu vào.
- RE3 đầu vào số.
Các chân thuộc cổng vào ra Port A
• Chân 2(RA0/AN0):với RA0 là cổng vào ra số, AN0 là đầu vào tương tự
Input0.
• Chân 3(RA1/AN1): RA1 là cổng vào ra số, AN1 là đầu vào tương tự Input1.
• Chân 4(RA2/AN2/VREF+): RA2 là cổng vào ra số, AN2 là đầu vào tương tự
Input2. VREF+ đầu vào tương tự chuyển đổi A/D điện áp tham chiếu(mức
thấp), còn CVREF là đầu ra tương tự để so sánh điện áp chuẩn.
• Chân 5(RA3/AN3/VREF-/CVREF ): RA3 là cổng vào ra số, AN3 là đầu vào
tương tự Input3. VREF- đầu vào tương tự chuyển đổi A/D điện áp tham
chiếu(mức cao).
15
• Chân 6(RA4/T0CKI/C1OUT): RA4 là đầu vào ra số,T0CKI dầu vào xung bên
ngoài của Timer0, C1OUT là đầu ra bộ so sánh 1.
• Chân 7(RA5/AN4/ SS /HLVDIN/C2OUT): trong đó RA5 là cổng vào ra só,
AN4 là đầu vào tương tự Input 4, SS chọn đầu vào phụ thuộc SPI, HLVDINđầu
vào tương tự để dò điện áp, C2OUT đầu ra bộ so sánh 2.
• Chân 13(OSC1/CLKI/RA7): với OSC1 là đầu vào bộ dao động thạch anh hoặc
là đầu vào nguồn xung từ bên ngoài, khi ta nối dây với các thiết bị tương tự thì
đầu vào này dạng ST( Schmitt Trigger input ưith CMOS levels). CLKI là đầu
vào CMOS cho nguồn xung bên ngoài và luôn được ghép nối với chân OSC1.
Còn RA7 là chân vào ra sử dụng chung .
• Chân 14(OSC2/CLKO/RA6): OSC2 là đầu ra bộ dao động thạch anh được nối
với thạch anh hoặc bộ công hưởng dể lựa chọn dạng bộ dao động thạch anh.
CLK0 có tần số bằng ¼ tần số của OSC1 đọ rộng chu kì lệnh, RA6 là đầu vào ra
chung. Các chân cổng vào ra hai chièu Port B. Port B có thể lập trình bằng phần
mềm khi cho kéo đầu vào bên trong yếu lên trên toàn bộ đầu vào.
• Chân 33(RB0/INT0/FLT0/AN12): Với RB0 là cổng vào ra số, INT0 là đầu vào
ngắt ngoài Interrup 0, FLT0 là đầu vào báo lỗi PWM được tăng cường CCP1,
AN12 đầu vào tương tự Input 12.
• Chân 34(RB1/INT1/AN10): RB1 là đầu vào ra số, INT1 đầu vào ngắt ngoài
Interrup1, AN10 đầu tương tự Input 10.
• Chân 35(RB2/INT2/AN8): RB2 là đầu vào ra số, INT2 đầu vào ngắt ngoài
Interrup2, AN8 đầu tương tự Input 8.
• Chân 36 (RB3/AN9/ccp2): RB3 là đầu vào ra số, AN9 đầu tương tự Input 9,
CCP2 ( Capture 2 input/Compare 2 output/PWM2 output.)
• Chân 37(RB4/KBI0/AN11):): RB4 là đầu vào ra số, KBI0 thay đổi mở ngắt,
AN11 đầu tương tự Input 9.
• Chân 38(RB5/KBI1/PGM): RB5 đầu vào ra số, KBI1 thay đổi mở ngắt, PGM
cho phép có thể lập trình ISCPTM ở điện áp thấp.
• Chân 39(RB6/KBI2/PGC): RB6 là đầu vào ra số, KBI2 thay đổi mở ngắt, PGC
16
chân dùng trong mạch chạy và xung lập trình ICSP.
• Chân 40(RB7/KBI3/PGD): RB7 đầu vào ra số, KBI3 thay đổi mở ngắt, PGD
chân dùng trong mạch chạy và xung lập trình ICSP. Các chân công Port C
• Chân 15(RC0/T1OSO/T13CKI):RC0 đầu vào ra số, T1OSO đầu ra bộ dao
động Timer1, T13CKI đầu vào xung bên ngoài Timer1/Timer3.
• Chân 16(RC1/T1OSI/CCP2): RC1 đầu vào ra số, T1OSI đầu vào bộ dao động
Timer1, CCP2(Capture 2 input/Compare 2 output/PWM2 output.).
• Chân 17(RC2/CCP1/P1A): RC2 lầ đầu vào ra số, CCP1(Capture1
input/Compare 1 output/PWM1 output.), P1A đầu ra tăng cường CCP1.
• Chân 18(RC3/SCK/SCL): RC3 là đầu vào ra số, SCK đầu vào ra đư chuỗi
xung vào ra cho SPI lựa chọn, SCL đầu vào ra đưa chuỗi xung vào ra cho
I2CTM lựa chọn.
• Chân 23(RC4/SDI/SDA): RC4 là đầu vào ra số, SDI đầu vào dữ liệu API,
SDA đầu vào ra dữ liệu cho I2C.
• Chân 24(RC5/SDO): RC5 đầu vào ra số, SDO đầu ra dữ liệu SPI.
• Chân 25(RC6/TX/CK): RC6 đầu vào ra số, TX đầu ra chuyển đổi dị bộ
EUSARRT, CK dầu vào ra xung đồng bộ EUSART.
• Chân 26(RC7/RX/DT): RC7 đầu vào ra số, RX đầu vào nhận dị bộ EUSART,
DT đầu vào ra dữ liệu đồng bộ EUSART. Các chân cổng Port D( Port D có thể
vào ra hai hướng hoặc cổng song song phụ thuộc(PSP) cho giao diên vi xử lý và
khi đó các đầu vào phải là TTL..
• Chân 19(RD0/PSP0): RD0 đầu vào ra số, PSP0 cổng dữ liệu song song phụ
thuộc.
• Chân 20(RD1/PSP1): RD1 đầu vào ra số, PSP1cổng dữ liệu song song phụ
thuộc
• Chân 21(RD2/PSP2): RD2đầu vào ra số, PSP2 cổng dữ liệu song song phụ
thuộc
• Chân 22(RD3/PSP3): RD3 đầu vào ra số, PSP3 cổng dữ liệu song song phụ
thuộc
17
• Chân 27(RD4/PSP4): RD4 đầu vào ra số, PSP4 cổng dữ liệu song song phụ
thuộc
• Chân 28(RD5/PSP5/P1B): RD5 đầu vào ra số, PSP5 cổng dữ liệu song song
phụ thuộc, P1B đầu ra được tăng cường CCP1.
• Chân 29(RD6/PSP6/P1C): RD6 đầu vào ra số, PSP6 cổng dữ liệu song song
phụ thuộc, P1C đầu ra được tăng cường CCP1.
• Chân 30(RD7/PSP7/P1D): RD7 đầu vào ra số, PSP7 cổng dữ liệu song song
phụ thuộc, P1D đầu ra được tăng cường CCP1. Các chân cổng Port E
• Chân 8(RE0/ RD/AN5): RE0 đầu vào ra số, RD đầu vào điều khiển đọc cho
cổng PSP, AN5 đầu vào tương tự Input5.
• Chân 9(RE1/WR /AN6): RE1 đầu vào ra số, WR đầu vào điều khiển viết dữ
liệu cổng PSP, AN6 đầu vào tương tự Input6.
• Chân 10(RE2/CS /AN7): RE2 đầu vào ra số, CS điều khiển chọn Chip cho
cổng PSP, AN7 đầu vào tương tự Input7.
- Đầu RE3 nằm ở chân 1
Các chân khác
• Chân 12,31(VSS): nối đất chuẩn cho I/O và logic.
• Chân 11,32(VDD): cungcấp nguồn dương cho I/O và logic.
Loại 44 chân có thêm một số chân phụ khác khi cần thiết ta có thể dễ dàng tra
trong DataSheet. Chi tiết hơn chúng ta có thể thấy qua sơ đồ khối của
Pic18F4420/4520 trong tài liệu do microchip cung cấp sẽ có hoàn toàn đầy đủ
thông tin. đặc điểm cấu tạo.
II.2.2. Màn hình lcd
II.2.2.1. Phân loại LCD
Có thể chia các module LCD làm hai loại chính:
✓ Loại hiện thị ký tự (character LCD) gồm có các kích cỡ 16x1( 16 ký tự 1
dòng), 16x2( 16 ký tự 2 dòng); 16x4 ( 16 ký tự 4 dòng); 20x1 (20 ký tự 1
dòng) v.v..
18
Hình 2: Màn hình LCD 16x2
✓ Loại hiển thị đồ họa (graphic LCD) đen trắng hoặc màu, gồm các kích cỡ
1,47 inch (128x 128 điểm ảnh); 1.8 inch (128x 160 điểm ảnh ); 2.4 inch
(240x 320 điểm ảnh) v.v..
Hình 3:Graphic LCD
Hình 4:Màn hình LCD Mô phỏng trong Proteus
19
II.2.2.2. Mô tả về các chân của màn hình LCD 16x2
Chân Ký hiệu I/O Mô tả
1 VSS - Đất
2 VCC - Nguồn +5v
3 VEE - Cấp nguồn điều khiển
phản
4 RS I RS =0 Chọn thanh ghi
lệnh
RS =1 chọn thanh dữ
liệu
5 R/W I R/W =1 Đọc dữ liệu.
R/W =0 ghi dữ liệu
6 E I/O Cho phép
7 DB0 I/O Các bit dữ liệu
8 DB1 I/O Các bit dữ liệu
9 DB2 I/O Các bit dữ liệu
10 DB3 I/O Các bit dữ liệu
11 DB4 I/O Các bit dữ liệu
12 DB5 I/O Các bit dữ liệu
13 DB6 I/O Các bit dữ liệu
14 DB7 I/O Các bit dữ liệu
Chức năng của các chân:
- Chân Vcc: cấp nguồn dương
- Chân Vss: Cấp nguồn âm
- Chân VEE: Điều khiển độ tương phản của LCD
- Chân chọn thanh ghi RS: có 2 thanh ghi rất quan trọng trong LCD, Chân
RS( register select) được dùng để chọn thanh ghi như sau: Nếu RS-1 thì thanh
ghi dữ liệu được chọn cho phép người dùng gửi dữ liệu cần hiện thị về LCD;
20
nếu RS= 0 thì thanh ghi mã lệnh được chọn để cho phép người dùng gửi một
lệnh chẳng hạn như lệnh xóa màn hình, đưa con trỏ chuột về đầu dòng
- Chân đọc/ ghi (R/W) : đầu vào đọc/ ghi cho phép người dùng ghi thông
tin lên LCD khi R/W =0 hoặc đọc thông tin từ nó khi R/W=1
- Chân cho phép E(Enable): Chân cho phép E sử dụng bởi LCD để chốt dữ
liệu của nó. Khi dữ liệu được cấp đến chân dữ liệu thì một xung mức cao xuống
thấp phải được áp đến chân này để LCD chốt dữ liệu trên các chân dữ liệu.
Xung này phải rộng tối thiểu 450ns.
- Chân D0 => D7: Đây là 8 chân dữ liệu 8bit, được dùng để gửi thông điệp
lên LCD hoặc đọc nội dung các thanh ghi trong LCD. Để hiện thị các chữ cái và
các con số, chúng ta gửi mã ASCII của các chữ cái tù A đến Z, a đến z và các
con số từ 0 đến 9 đến các chân này khi bật RS=1. Cũng có các mã lệnh có thể
gửi đến LCD để xóa màn hình hoặc đưa con trỏ về đầu dòng hoặc nhấp nháy
con trỏ.
- Chú ý: Chúng ta cũng được sử dụng RS= 0 để xem LCD có sẵn sàng
nhận thông tin mới. Lưu ý chúng ta nên kiểm tra cờ bân trước khi bất kì dữ liệu
nào lên LCD.
II.2.3. Encoder switch
Encoder là loại cảm biến vị trí được sử dụng để xác định vị trí góc của trục
quay. Nó tạo ra tín hiệu điện, tương tự hoặc kỹ thuật số, theo chuyển động quay.
Hình 5: Encoder Switch
Có nhiều loại Encoder khác nhau được phân loại theo Tín hiệu đầu ra hoặc
Công nghệ cảm biến. Bộ mã hóa quay đặc biệt mà chúng ta sẽ sử dụng trong
21
hướng dẫn này là một bộ encoder tương đối và đó là bộ cảm biến vị trí đơn giản
nhất để đo vòng quay.
Encoder này còn được gọi là bộ mã hóa cầu phương hoặc bộ mã hóa quay
tương đối và đầu ra của nó là một loạt các xung sóng vuông.
Hình 6: Sơ đồ khối encoder
a. Encoder là gì ?
Encoder là một loại cảm biến vị trí, đưa ra thông tin về góc quay dưới dạng
số mà không cần bộ ADC.
Khái niêm Encoder là đo lường dịch chuyển thẳng hoặc góc. Đồng thời
chuyển đổi vị trí góc hoặc vị trí thẳng thành tín hiệu nhị phân và nhờ tín hiệu
này có thể xác định được vị trí trục hoặc bàn máy. Tín hiệu ra của Encoder cho
dưới dạng tín hiệu số. Encoder được sử dụng làm phần tử chuyển đổi tín hiệu
phản hồi trong các máy CNC và robot. Trong các công cụ điều khiển số, chuyển
động của bàn máy được dẫn động từ một động cơ qua vít me đai óc bi tới bàn
máy. Vị trí của bàn máy có thể xác định được nhờ encoder lắp trong cụm chuyền
dẫn
b. Cấu tạo của encoder
- Đĩa quay được khoét lỗ gắn vào trục động cơ .
- Một đèn led làm nguồn phát sáng và 1 mắt thu quang điện được bố trí thẳng
hàng.
- Mạch khuếch đại tín hiệu
22
Hình 7:Cấu tạo Encoder
c. Nguyên lý hoạt động
Hình 8:Mô Phỏng Encoder
Chúng ta hãy xem xét kỹ hơn bộ mã hóa và xem nguyên tắc làm việc của
nó. Đây là cách các xung sóng vuông được tạo ra: Bộ mã hóa có đĩa với các
vùng tiếp xúc cách đều nhau được nối với chân C chung và hai chân tiếp xúc
riêng biệt khác A và B, như minh họa bên dưới.
Khi đĩa sẽ bắt đầu xoay từng bước, các chân A và B sẽ bắt đầu tiếp xúc với
chốt chung và hai tín hiệu đầu ra sóng vuông sẽ được tạo ra tương ứng.
Bất kỳ đầu ra nào trong hai đầu ra đều có thể được sử dụng để xác định vị trí
xoay nếu chúng ta chỉ đếm các xung của tín hiệu. Tuy nhiên, nếu chúng ta muốn
xác định hướng xoay là tốt, chúng ta cần xem xét cả hai tín hiệu cùng một lúc.
23
Chúng ta có thể nhận thấy rằng hai tín hiệu đầu ra được di dời ở 90 độ ra
khỏi pha từ nhau. Nếu bộ mã hóa quay theo chiều kim đồng hồ thì đầu ra A sẽ ở
phía trước đầu ra B.
Hình 9:Xung Encoder
Như vậy là encoder sẽ tạo ra các tín hiệu xung vuông và các tín hiệu xung
vuông này được cắt từ ánh sáng xuyên qua lỗ. Nên tần số của xung đầu ra sẽ phụ
thuộc vào tốc độ quay của tấm tròn đó.
Hình 10:Biểu đồ dang xung Encoder
d. Phân loại Encoder:
Encoder được chia làm 2 loại: Encoder tuyệt đối (Absolute encoder) và Encoder
tương đối (Incremental encoder).
• Encoder tuyệt đối: được gọi như vậy bởi vì tín hiệu trả về từ encoder cho
biết chính xác vị trí của encoder mà người dùng không cần sử lí gì thêm.
• Encoder tương đối : là encoder chỉ có 1,2 hoặc tối đa 3 vòng lỗ. Encoder
tương đối thường có thêm một lỗ định vị ( channel Z)
24
e. Bảng mô tả các chân của Encoder switch:
Hình 11:Encoder Switch
Chân Ký hiệu I/O Mô tả
1 GND - Nối đất
2 VSS - Nối nguồn 5v
3 SW O Đầu ra của nút
bên trong
4 DT O Output A hoặc
Data
5 CLK O Output B hoặc
Clock
* Tính năng và thông số kỹ thuật:
• Xoay 360º.
• 20 bước hoặc chu kỳ quay.
• Kiểu Encoder tương đối
• Có thể làm việc trên điện áp thấp
• Nhiệt độ hoạt động tối đa: 0 ° C đến + 80 ° C
• Giao diện dễ dàng
• Tuổi thọ cao.
25
II.2.4. Cảm biến nhiệt độ LM35
Hình 12:Cảm biến nhiệt độ LM35
Cảm biến LM35 là bộ cảm biến nhiệt mạch tích hợp chính xác cao mà điện
áp đầu ra của nó tỷ lệ tuyến tính với nhiệt độ theo thang độ Celsius. Chúng cũng
không yêu cầu cân chỉnh ngoài vì vốn chúng đã được cân chỉnh. Cảm biến
LM35 hoạt động bằng cách cho ra một giá trị hiệu điện thế nhất định tại chân
Vout (chân giữa) ứng với mỗi mức nhiệt độ.
Các thông số kỹ thuật
• Điện áp đầu vào từ 4V đến 30V
• Điện áp ra: -1V đến 6V
• Công suất tiêu thụ là 60µA
• Độ phân giải điện áp đầu ra là 10mV/ºC
• Độ chính xác cao ở 25ºC là 0.5ºC
• Trở kháng đầu ra thấp 0.1 cho 1mA tải
• Độ chính xác thực tế: 1/4°C ở nhiệt độ phòng và 3/4°C ngoài khoảng -
55°C tới 150°C
Hình 13:Các chân của LM35
26
Chân 1: Chân nguồn Vcc
Chân 2: Đầu ra Vout
Chân 3: GND
Tính toán nhiệt độ đầu ra và sai số của hệ thống
Ta có hàm truyền sau
Hình 14:Sơ đồ khối nguyên lý làm việc của LM35
Từ hàm truyền ta có:
U=t.K
Trong đó: K là điện áp đầu ra của LM35: K=10mV/°C
T là nhiệt độ môi trường [K]
U=t.10mV/°C
Có ADC = 11 bit
Dải đo : A= [0-5]V
Bước thay đổi : n= 5/2023 = 2.44 (mV)
Giá trị ADC đo được từ giá trị điện áp đầu vào
ADC_value = U/n = (t . 10mV) / 2.44mV
Giá trị nhiệt độ đo được: t = ADC_value * 2.44/10 (ºC)
Sai số của hệ thống đo
+ Tại 0ºC thì điện áp của LM35 là 10mV
+ Tại 150ºC thì điện áp của LM35 là 1.5V
==> Giải điện áp ADC biến đổi là 1.5 - 0.01 = 1.49 (V)
+ ADC 11 bit nên bước thay đổi của ADC là : n = 2.44mV
Vậy sai số của hệ thống đo là : Y = 0.00244/1.49 = 0.164 %
Các thuật toán xử lý
Thuật toán xử lý rất đơn giản cho bài toán này là sử dụng biến đổi ADC. Tín
hiệu đưa về từ cảm biến là tín hiệu tương tự mà vi xử lý của chúng ta không xử
lý được tín hiệu này nên ta phải biến đổi nó sang dạng số để xử lý. Từ giá trị số
27
biến đổi từ đó chúng ta quay đổi ra được nhiệt độ tương đương như cách tính ở
trên. Từ đó chúng ta tính ra giá trị nhiệt độ và hiển thị trên LCD.
Code LM35:
unsigned int adc_value;
unsigned int voltage;
unsigned int nhietdo;
char buffer[6];
trisa=0xff;
lcd_init();
lcd_cmd(_LCD_cursor_off);
adc_init();
while(1)
{
adc_value=adc_get_sample(0);
voltage=adc_value*5000.0f/1023;
nhietdo=voltage/10;
Lcd_Out(1,1,"Nhiet do:");
bytetostr(nhietdo,buffer);
lcd_out(1,10,buffer);
delay_ms(500);
}
Kết quả mô phỏng hệ thống
28
Hình 15:Kết quả mô phỏng trên proteus
III. THI CÔNG MÔ HÌNH HỆ THỐNG
During this course, I realized a project which is the making of 8 electronics
education models with the microprocessor PIC 18F4520 for the School of
Maritime Economics and Technology. At the end, I prepared this internship
report for the presentation of our project.
Figure 19. Implementation of PIC board in BVU Lab
29
I showed the electronics schematics to make the electronic boards by the
students.
Electronic schematic :
Figure 20: Designing principle PIC board
We need this to weld the different devices on the board.
30
The electronic devices:
- Capacitors ( C1, C2, C3, C4, C5, C10, C13, C14, C15, C16, C30, C33)
- Resistances ( R1, R2, R3, R5, R14 )
- LCD screen ( LCD1 )
- Encoder switch
- Microprocessor PIC 18F4520
- Crystal ( Q1 )
- Programmer
- Coil ( L1 )
- Regulator R-78B5.0 ( IC11 ) and regulator UA78M33 ( IC12 )
- Semiconductor MC14490 ( IC9 )
- Schottky diodes ( D1, D4 )
- Potentiometer ( R3 )
The welding:
I showed the students how to weld then the students welded the electronic
devices on the electronic boards. With their help, the welding it was more fast
than if I made the welding alone.
Figure 21: Project team
31
Programming:
After welding these electronic devices, I needed to put in the microprocessor the
program that directs this electronic board to allow at the LCD screen to show
information.
First I made an example that allowed the LCD screen to display “TEMP:
20.5°C”:
Then I made a program that allowed to use the encoder switch.
And to finish, I made a program to use the temperature sensor
The results of project
- The practical PIC boards for mechatronic students of BVU:
32
Figure 22: Researches for practical kit:
IV. KẾT LUẬN
I was very interested in my internship. It allowed me to get familiar with a new
country. I was able to reconcile what I had learned in the course of our project in
Vietnam, which was not always easy because the country is very different.
33
It also allowed me to overcome our apprehension of travel in a country
completely different from mine and to adapt to new situations. I was also able to
increase my curiosity by looking for the way in which I would succeed in my
project. Teamwork with student was very important because it allowed to make
the project more quickly.
A very good atmosphere prevails in the university and all the people that I met
have been very cooperative and attentive to my questions. This has been a very
rewarding experience. Finally, I would like to thank so much all the professors
and the students whom I worked with during this internship. I was so happy to
do it.
Now, I am more autonomous, more curious, more serious. It was an amazing
experience.
REFERENCES
1. https://www.microchip.com/wwwproducts/en/PIC18F4520
2. PIC18F2420/2520/4420/4520 Data Sheet
3. Vi điều khiển PIC PIC16F887 – Nguyễn Đình Phú – Năm 2014
4. Cad trong điện và điện tử - Vi điều khiển và ứng dụng – TS.Lê Ngọc Bích và
KS.Phạm Quang Huy – Nhà xuất bản Bách Khoa Hà Nội.
5. Các bộ cảm biến trong kỹ thuật đo lường và điều khiển - Nhà xuất bản: Khoa
học Kỹ thuật
Các file đính kèm theo tài liệu này:
- de_tai_thiet_ke_va_che_tao_8_mo_hinh_thuc_hanh_mon_vi_dieu_k.pdf