Đề 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

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:

pdf33 trang | Chia sẻ: huong20 | Ngày: 19/01/2022 | Lượt xem: 250 | Lượt tải: 0download
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:

  • pdfde_tai_thiet_ke_va_che_tao_8_mo_hinh_thuc_hanh_mon_vi_dieu_k.pdf