Các kết quả công bố trong ĐATN là trung thực và không sao chép từ bất kỳ công trình Tên của đề tài: NGHIÊN CỨU KIT VI ĐIỀU KHIỂN MULTIPURPOSE TRAINING VÀ BIÊN SOẠN TÀI LIỆU HƯỚNG DẪN THỰ
Trang 1KHOA ĐIỆN - ĐIỆN TỬ
ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN - ĐIỆN TỬ
NGHIÊN CỨU KIT VI ĐIỀU KHIỂN MULTIPURPOSE TRAINING VÀ BIÊN SOẠN TÀI LIỆU HƯỚNG DẪN THỰC HÀNH KỸ NĂNG NGHỀ CHO SINH VIÊN
NGÀNH SƯ PHẠM KỸ THUẬT ĐIỆN – ĐIỆN TỬ
GVHD: TS NGUYỄN THỊ LƯỠNG SVTH: TRẦN HỮU NHÂN
MSSV: 10901015 SVTH: TRẦN DƯƠNG LONG MSSV: 10901050
Tp Hồ Chí Minh, tháng 2/2016
S K L 0 0 4 2 8 7
Trang 22 Thông tin đề tài
Mục đích của đề tài: Khai thác bộ kit thực tập MULTIPURPOSE TRAINING
Đồ án tốt nghiệp được thực hiện tại: Bộ môn Điện Tử Công Nghiệp, Khoa Điện - Điện
Tử, Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Thời gian thực hiện: Từ ngày 1/10/2015 đến 22/01/2016
3 Các nhiệm vụ cụ thể của đề tài
- Khảo sát sơ đồ nguyên lí, đặc tính kỹ thuật của các module trên Kit thực hành
- Tìm hiểu phần mềm CCS lập trình cho PIC, CodeVision lập trình cho AVR
- Biên soạn tài liệu hướng dẫn thực hành kỹ năng nghề gồm:
Bài giảng tích hợp thực hành bao gồm đề cương chi tiết và giáo án cho vi xử
lí PIC ( 16F877A ) trên Kit MULTIPURPOSE TRAINING
Bài giảng tích hợp thực hành bao gồm đề cương chi tiết và giáo án cho vi xử
lí AVR ( ATMEGA32 ) trên Kit MULTIPURPOSE TRAINING
4 Lời cam đoan của sinh viên
Chúng tôi – Trần Hữu Nhân và Trần Dương Long cam đoan ĐATN là công trình nghiên cứu của bản thân chúng tôi dưới sự hướng dẫn của tiến sĩ Nguyễn Thị Lưỡng Các kết quả công bố trong ĐATN là trung thực và không sao chép từ bất kỳ công trình
Tên của đề tài: NGHIÊN CỨU KIT VI ĐIỀU KHIỂN MULTIPURPOSE TRAINING
VÀ BIÊN SOẠN TÀI LIỆU HƯỚNG DẪN THỰC HÀNH KỸ NĂNG NGHỀ CHO SINH VIÊN NGÀNH SƯ PHẠM KỸ THUẬT ĐIỆN – ĐIỆN TỬ
1 Thông tin sinh viên
Họ và tên: TRẦN HỮU NHÂN MSSV: 10901015
Tel: 0937188221 Email: huunhan.spkt@gmail.com
Họ và tên: TRẦN DƯƠNG LONG MSSV: 10901050
Tel: 0938923132 Email: tranduonglong@gmail.com
Trang 3Bộ Môn Điện Tử Công Nghiệp
Tp Hồ Chí Minh, ngày 20 tháng 1 năm 2016
Tên đề tài: Nghiên cứu Kit Vi điều khiển MULTIPURPOSE TRAINING và biên
soạn tài liệu hướng dẫn thực hành kỹ năng nghề cho sinh viên ngành sư phạm Kỹ thuật Điện- Điện tử
7-10-2015 Xác định hướng đề tài
14-10-2015 Tìm hiểu đặc tính cấu tạo các module vi xử lí đi kèm theo Kit (PIC, AVR)
21-10-2015 Nghiên cứu phần mềm lập trình CCS, CodeVision
28-10-2015 Khảo sát và vẽ lại sơ đồ nguyên lí các module trên Kit
12-10-2015 Viết code bài tập mẫu cho vi xử lí PIC 16F877A và ATMEGA32 trên các Module Led đơn, Button &
Switch, Led 7 đoạn, ma trận phím, ma trận led
22-10-2015
Viết code bài tập mẫu cho vi xử lí PIC 16F877A và ATMEGA32 trên các Module LCD 16x2, ADC0809, REALTIME DS1307
2-11-2015
Viết code bài tập mẫu cho vi xử lí PIC 16F877A và ATMEGA32 trên các Module DC Motor, Steep Motor, Relay
14-11-2015 Viết code bài tập mẫu cho vi xử lí PIC 16F877A và
ATMEGA32 trên các Module RS232, Graphic LCD
1-12-2015 Biên soạn tài liệu thực hướng dẫn hành kỹ năng nghề gồm giáo án và đề cương chi tiết cho PIC16F877A
trên Kit MULTIPURPOSE TRAINING
14-12-2015 Biên soạn tài liệu thực hướng dẫn hành kỹ năng nghề gồm giáo án và đề cương chi tiết cho ATMEGA32
trên Kit MULTIPURPOSE TRAINING
2-1-2016 Viết báo cáo
GV HƯỚNG DẪN (Ký và ghi rõ họ và tên)
Trang 4Nhóm thực hiện đề tài xin chân thành gửi lời cảm ơn đến TS Nguyễn Thị Lưỡng giảng viên trường ĐH Sư phạm Kỹ thuật Tp.HCM, đã chỉ ra một hướng nghiên cứu, học tập mới cho sinh viên và truyền đạt những kiến thức và kinh nghiệm quý báu trong suốt quá trình thực hiện đề tài
Nhóm thực hiện đề tài cũng xin gửi lời cảm ơn đặc biệt sâu sắc đến quý thầy cô Khoa Điện – Điện tử nói riêng và tất cả quý thầy cô của trường ĐH Sư Phạm Kỹ Thuật TP.Hồ Chí Minh nói chung những người đã tạo dựng nền tảng kiến thức chuyên ngành vững chắc cho nhóm thực hiện đề tài trong quá trình học tập và nghiên cứu tại trường
Cuối cùng nhóm thực hiện đề tài cũng xin gửi lời cảm ơn đến gia đình và bạn
bè đã luôn khích lệ tinh thần tạo động lực mạnh mẽ để dành thời gian nghiên cứu và làm việc tích cực hoàn thành đề tài kịp tiến độ
Xin chân thành cảm ơn!
Trang 5PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i
LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP ii
LỜI CẢM TẠ iii
MỤC LỤC iv
LIỆT KÊ HÌNH VẼ vi
TÓM TẮT viii
Chương 1 DẪN NHẬP 1
1.1 ĐẶT VẤN ĐỀ 1
1.2 LÝ DO CHỌN ĐỀ TÀI 1
1.3 ĐỐI TƯỢNG NGHIÊN CỨU 2
1.4 MỤC TIÊU VÀ GIỚI HẠN ĐỀ TÀI 3
1.4.1 MỤC TIÊU 3
1.4.2 GIỚI HẠN ĐỀ TÀI 3
1.5 DÀN Ý NGHIÊN CỨU 3
1.5.1 MULTIPURPOSE TRAINING KIT 3
1.5.2 CÁC CHUẨN GIAO TIẾP VỚI KIT 3
1.6 TÌNH HÌNH NGHIÊN CỨU 4
1.7 Ý NGHĨA THỰC TIỄN 4
Chương 2 KIT MULTIPURPOSE TRAINING 5
2.1 TỔNG QUAN VỀ KIT MULTIPURPOSE TRAINING 5
2.2 CẤU TẠO KIT MULTIPURPOSE TRAINING 5
2.3 MẠCH NẠP BURN-E CHO CÁC VI ĐIỀU KHIỂN 23
2.3.1 GIỚI THIỆU 23
2.3.2 NẠP CHƯƠNG TRÌNH CHO VI ĐIỀU KHIỂN SỬ DỤNG MẠCH NẠP BURN-E 24
Chương 3 CÁC CHUẨN GIAO TIẾP MỞ RỘNG 27
3.1 CHUẨN GIAO TIẾP I2C 27
3.1.1 GIỚI THIỆU 27
3.1.2 ĐẶC ĐIỂM TRUYỀN THÔNG 27
3.1.3 GIAO THỨC TRUYỀN THÔNG 29
3.2 CHUẨN GIAO TIẾP UART (truyền dữ liệu nối tiếp) 31
3.2.1 GIỚI THIỆU 31
Trang 6Chương 4 XÂY DỰNG TÀI LIỆU THỰC HÀNH KỸ NĂNG NGHỀ 33
4.1 THIẾT KẾ BÀI GIẢNG TÍCH HỢP THỰC HÀNH CHO PIC 16F877A TRÊN KIT MULTIPURPOSE TRAINING 33
4.1.1 GIỚI THIỆU 33
4.1.2 ĐỀ CƯƠNG CHI TIẾT BÀI DẠY TÍCH HỢP VÀ GIÁO ÁN 34
4.2 THIẾT KẾ BÀI GIẢNG TÍCH HỢP THỰC HÀNH CHO ATMEGA32 TRÊN KIT MULTIPURPOSE TRAINING 56
4.2.1 GIỚI THIỆU 56
4.2.2 ĐỀ CƯƠNG CHI TIẾT BÀI DẠY TÍCH HỢP VÀ GIÁO ÁN 56
Chương 5 KẾT QUẢ NGHIÊN CỨU 74
5.1 KẾT QUẢ 1 74
5.2 KẾT QUẢ 2 75
5.3 KẾT QUẢ 3 75
Chương 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 76
6.1 KẾT LUẬN 76
6.2 HƯỚNG PHÁT TRIỂN ĐỀ TÀI 76
TÀI LIỆU THAM KHẢO 78
PHỤ LỤC 79
Trang 7LIỆT KÊ HÌNH VẼ
Hình 2-1: Bộ thí nghiệm Vi điều khiển MULTIPURPOSE TRAINING 5
Hình 2-2: Sơ đồ khối bố trí các module trên bộ thí nghiệm Vi điều khiển MULTIPURPOSE TRAINING 6
Hình 2-3 : Module vi điều khiển PIC ( PIC16F877A, PIC16F628A,PIC18F2550) 7
Hình 2-4 : Module vi điều khiển họ AT (AT89S52, AT89C2051) 7
Hình 2-5 : Module vi điều khiển AVR ( ATMEGA32,ATMEGA8, ATTINY2313V) 7
Hình 2-6 : Module led đơn 8
Hình 2-7: Sơ đồ nguyên lý Module led đơn 8
Hình 2-8: Module button và switch 9
Hình 2-9 : Sơ đồ nguyên lý Module button và switch 9
Hình 2-10 : Sơ đồ nguyên lý Module led 7 đoạn 10
Hình 2-11 : Sơ đồ nguyên lý Module led 7 đoạn 10
Hình 2-12 : Module led ma trận 8x8 2 màu đỏ và vàng 11
Hình 2-13 : Sơ đồ nguyên lý kết nối ma trận led 8x8 2 màu đỏ và vàng 11
Hình 2-14 : Module LCD 16x2 12
Hình 2-15: Sơ đồ kết nối module LCD 12
Hình 2-16: Module ADC0809 13
Hình 2-17 : Sơ đồ nguyên lý module ADC0809 13
Hình 2-18: Module giao tiếp DS1307 14
Hình 2-19: Sơ đồ nguyên lý kết nối của DS1307 14
Hình 2-20: Module Relay 15
Hình 2-21: Sơ dồ nguyên lý của Module Relay 15
Hình 2-22: Module DC Motor 16
Hình 2-23: Sơ đồ nguyên lý module DC motor 16
Hình 2-24: Module Step Motor 17
Hình 2-25: Sơ đồ nguyên lý kết nối của Module Step Motor 17
Hình 2-26: Module DAC0808 18
Hình 2-27: Sơ đồ nguyên lý Module DAC0808 18
Trang 8Hình 2-29 : Sơ đồ nguyên lý mạch giao tiếp RS232 19
Hình 2-30: Module giao tiếp LPT 20
Hình 2-31 : Sơ đồ nguyên lý mạch giao tiếp LPT 20
Hình 2-32 : Module LCD Graphic 21
Hình 2-33 : Sơ đồ nguyên lý kết nối của module GLCD 21
Hình 2-34: Module Analog 22
Hình 2-35: Module Pulse Power 22
Hình 2-36: Mạch nạp BURN-E 23
Hình 2-37: Kết các chân vi điều khiển với mạch nạp BURN-E 24
Hình 2-38: Chọn chip vi điều khiển cần nạp 24
Hình 2-39 : Kiểm tra kết nối với giữa mạch nạp với vi điều khiển 25
Hình 2-40: Chọn file Hex cần nạp cho vi điều khiển 25
Hình 2-41: Tiến hành nạp file Hex cho vi điều khiển 26
Hình 3.1 Bus I2C và các thiết bị ngoại vi 27
Hình 3.2 Kết nối thiết bị vào bus I2C ở chế độ chuẩn (Standard mode) và chế độ nhanh (Fast mode) 28
Hình 3.3 Truyền và nhận giữa thiết bị chủ/tớ 29
Hình 3.4 Giao thức I2C 30
Hình 3.5 Mô tả kết nối UART 31
Hình 3.6 định dạng khung truyền dữ liệu UART 32
Trang 9TÓM TẮT
Ngày nay, kỹ thuật vi điều khiển đã trở nên quen thuộc trong các ngành kỹ thuật và trong dân dụng Từ các dây chuyền sản xuất lớn trong công nghiệp dến các dây chuyền sản xuất nhỏ lẻ hay đến một số thiết bị trong gia đình đều thấy sự hiện diện của vi điều khiển Các ứng dụng phức tạp có thể được sử dụng tối ưu hóa bởi các
bo mạch vi diều khiển nhỏ gọn, dễ sự dụng Vì vậy, để nước ta có đuổi kịp trình độ về
kỹ thuật, công nghệ, xa hơn là nền kinh tế thì việc trang bị kiến thức môn vi điều khiển đến sinh viên là một vấn đề cấp thiết
Hiện nay Trường Trung Học Kỹ Thuật Thực Hành TPC-HCMUTE có nhiều bộ kit thực hành vi xử lí MULTIPURPOSE TRAINING có thể giúp rất nhiều cho sinh viên nghề tiếp cận, thực hành các kiến thức vi xử lí trên mô hình Tuy nhiên các bộ Kit còn khá mới mẻ nên chưa được nghiên cứu để đưa vào khai thác và sử dụng Nhận thấy những vấn đề cấp thiết trên, nhóm sinh viên quyết định tiến hành khảo sát Kit MULTIPURPOSE TRAINING và xây dựng tài liệu hướng dẫn thực hành kỹ năng nghề cho những sinh viên trung cấp nghề và sinh viên ngành sư phạm kỹ thuật điện-điện tử
Vận dụng những kiến thức và kinh nghiệm đã được học, nhóm sinh viên đã khảo sát được sơ đồ nguyên lí, đặc tính kỹ thuật của từng module trên bộ Kit thực hành, xây dựng các chương trình ứng dụng, bài tập mẫu cho vi xử lí trên từng module, đồng thời biên soạn tài liệu thực hành kỹ năng nghề cho sinh viên gồm bài giảng tích hợp thực hành cho vi xử lí PIC (16F877A) và bài giảng tích hợp thực hành cho AVR (ATMEGA32) trên bộ Kit MULTIPURPOSE TRAINING này
Với hy vọng những kết quả ban đầu thu được của mình có thể giúp sinh viên tiếp cận được với một mô hình thực hành vi điều khiển hoàn toàn mới, xa hơn là góp phần trang bị kiến thức môn vi điều khiển cho những sinh viên kỹ thuật được chắc chắn hơn, góp phần giải quyết nhu cầu thiết bị thực hành vi điều khiển cho các trường
kỹ thuật
Trang 10Chương 1 DẪN NHẬP
1.1 ĐẶT VẤN ĐỀ
Ngày nay, kỹ thuật vi điều khiển đã trở nên quen thuộc trong các ngành kỹ thuật và trong dân dụng Từ các dây chuyền sản xuất lớn trong công nghiệp đến các dây chuyền sản xuất nhỏ lẻ hay đến một số thiết bị trong gia đình đều thấy sự hiện diện của vi điều khiển Các ứng dụng phức tạp có thể được sử dụng tối ưu hóa bởi các
bo mạch vi điều khiển nhỏ gọn, dễ sử dụng Vì vậy, để nước ta có thể đuổi kịp trình độ
về kỹ thuật, công nghệ, xa hơn là nền kinh tế thì việc trang bị kiến thức môn vi điều khiển đến sinh viên là một vấn đề cấp thiết
Với sự phát triển mạnh mẽ của khoa học công nghệ, những nền tảng thiết bị phần cứng hỗ trợ cho nghiên cứu, học tập cũng luôn luôn biến đổi cho phù hợp nhu cầu công nghệ hiện nay Trong quá khứ, các nhà giáo dục gặp nhiều khó khăn trong việc tiếp cận với các công cụ và công nghệ với giá thành phải chăng để cung cấp cho sinh viên những kinh nghiệm thực hành Trong khi đó, nhu cầu của người học cần được vận dụng những lí thuyết một cách trực quan lên những mô hình thực hành, thí nghiệm là rất lớn
Vì vậy, với sự phát triển của công nghệ kỹ thuật hiện nay, những thiết bị mô hình hiện đại phục vụ cho việc học tập không còn khan hiếm như trước nên nhu cầu khai thác những mô hình này đưa vào giảng dạy thực là vấn đề cần thiết và cấp bách
Trên thế giới cũng có rất nhiều mô hình thực hành vi điều khiển, nước ta cũng đã có thể sản xuất được nhiều bộ rất hiện đại nhưng số lượng vẫn còn hạn chế MULTIPURPOSE TRAINING KIT là một mô hình mới mẻ sẽ góp phần giúp cho sinh viên kĩ thuật có thể đa dạng hơn trong tiếp cận môn học vi xử lý thông qua các buổi thực hành, thí nghiệm trực quan, từ đó tích lũy được kinh nghiệm để ứng dụng vào thực tiễn sau này
1.2 LÝ DO CHỌN ĐỀ TÀI
Ngày nay khoa học kỹ thuật phát triển rất mạnh mẽ, những phát minh công nghệ
Trang 11lao động Đối với sinh viên cũng không nằm ngoài quy luật đó, do vậy sinh viên luôn phải trao dồi, tìm hiểu và nghiên cứu kiến thức mới để làm chủ công nghệ, những kiến thức mới được phát triển dựa trên những kiến thức cơ bản Mà ở đây việc tìm hiểu và nghiên cứu một bộ Kit mới, một phương pháp lập trình mới là ưu tiên hàng đầu, đây cũng là một thách thức lớn Qua những tiếp cận tìm hiểu nghiên cứu sinh viên sẽ kiểm tra lại những kiến thức cơ bản đã học kết hợp với những kiến thức mới để tạo ra một ứng dụng thực tế
Để dễ dàng nắm bắt tốt tính năng, đặc điểm của Kit MULTIPURPOSE TRAINING và các phần mềm lập trình cho từng vi điều khiểntrên Kit, đồng thời xây dựng tài liệu giảng dạy xoay quanh mô hình, người nghiên cứu cần phải phát huy tối
đa khả năng tìm hiểu cấu tạo, ngôn ngữ lập trình, vận dụng những kiến thức đã được học để xây dựng cơ sở lí thuyết xoay quanh vi điều khiển (PIC, AVR) và bộ Kit, phát triển những ví dụ minh họa để người học dễ dàng tiếp cận với mô hình MULTIPURPOSE TRAINING này Nhận thấy được tính cần thiết của nhiệm vụ và những yêu cầu về năng lực khi thực hiện đề tài là phù hợp với khả năng của nhóm, cho
nên nhóm thực hiện đồ án quyết định thực hiện đề tài: “Nghiên cứu Kit Vi điều
khiển MULTIPURPOSE TRAINING và biên soạn tài liệu hướng dẫn thực hành
kỹ năng nghề cho sinh viên ngành sư phạm Kỹ thuật Điện- Điện tử.”
1.3 ĐỐI TƯỢNG NGHIÊN CỨU
Trong giới hạn của đề tài, người thực hiện đề tài chỉ tập trung nghiên cứu đặc tính kỹ thuật của kit MULTIPURPOSE TRAINING,dựa vào đó có thể trực quan hóa đặc tính của kit MULTIPURPOSE TRAININGthông qua các phần mềm lập trình cho
vi điều khiển như CCS cho PIC, CODEVISION cho AVR, từ đó đi xây dựng tài liệu giảng dạy thực hành trên kit MULTIPURPOSE TRAINING cho sinh viên nghề và sinh viên ngành sư phạm kỹ thuật điện-điện tử
Với sự hạn chế về thời gian cũng như kiến thức chuyên môn, tuy chưa nắm vững hoàn toàn công nghệ kỹ thuật về MULTIPURPOSE TRAINING để có thể khai thác triệt để các đặc tính song người thực hiện đề tài đã cố gắng hoàn thiện được một số ứng dụng trên KIT MULTIPURPOSE TRAINING
Trang 121.4 MỤC TIÊU VÀ GIỚI HẠN ĐỀ TÀI
- Tổng quan về MULTIPURPOSE TRAINING Kit
- Sơ đồ nguyên lí các Module
- Ngôn ngữ lập trình CCS
- Ngôn ngữ lập trình CodeVision
1.5.2.CÁC CHUẨN GIAO TIẾP VỚI KIT
- Chuẩn giao tiếp I2C
- Chuẩn giao tiếp UART
1.5.3 TRIỂN KHAI ỨNG DỤNG
- Biên soạn bài giảng tích hợp thực hànhbao gồm đề cương chi tiết và giáo án cho vi xử lí PIC (16F877A) trên kit MULTIPURPOSE TRAINING
Trang 13- Biên soạn bài giảng tích hợp thực hành bao gồm đề cương chi tiết và giáo án cho vi xử lí AVR (ATMEGA32) trên kit MULTIPURPOSE TRAINING
1.6 TÌNH HÌNH NGHIÊN CỨU
MULTIPURPOSE TRAINING là một bộ kit thực hành vi điều khiển còn mới lạ
và ít được biết đến tại các trường Đại học, Cao đẳng Có rất ít thông tin về mô hình cũng như tài liệu về bộ kit này
Hiện tại trường Trung học Kỹ Thuật Thực Hành TPC-HCMUTE đã trang bị 10
bộ kit MULTIPURPOSE TRAINING song các bộ kit vẫn chưa được tìm hiểu, nghiên cứu sâu Do đó nghiên cứu kit MULTIPURPOSE TRAINING là công việc cần thiết cho việc học tập và tiếp cận dễ dàng đối với mô hình thực tập mới
1.7 Ý NGHĨA THỰC TIỄN
Khảo sát và biên soạn tài liệu thực hành cho kit sẽ là tiền đề cho những nghiên cứu tiếp theo, giúp bộ kit được đưa vào khai thác, vận dụng nguồn tài nguyên có sẵn, phục vụ cho nhu cầu học tập của sinh viên
Kit lập trình cùng với các bài tập mẫu giúp người nghiên cứu có cái nhìn trực quan hơn với những kiến thức đã tiếp nhận, từ đó nâng cao thêm hiệu quả học tập, rút ngắn khoảng cách giữa lý thuyết và thực tiễn
Trang 14Chương 2 KIT MULTIPURPOSE TRAINING
2.1 TỔNG QUAN VỀ KIT MULTIPURPOSE TRAINING
MULTIPURPOSE TRAINING kit là một mô hình thực hành vi điều khiển được tích hợp rất nhiều Module khác nhau với mục đích phục vụ thực hành, áp dụng những kiến thức lý thuyết được học kiểm chứng trực quan lên mô hình Thông qua những buổi thực tập, sinh viên nắm vững, hiểu sâu hơn những kiến thức lý thuyết, vận dụng được vào thực tế
Bộ kit có trang bị sẵn 3 Module vi điều khiển là Module vi điều khiển PIC, Module vi điều khiển AVR và Module vi điều khiển họ AT89 Vì vậy bộ kit có thể thực hành được với nhiều loại vi điều khiển khác nhau
2.2 CẤU TẠO KIT MULTIPURPOSE TRAINING
Hình 2-1: Bộ thí nghiệm Vi điều khiển MULTIPURPOSE TRAINING
Trang 15Hình 2-2: Sơ đồ khối bố trí các module trên bộ thí nghiệm Vi điều khiển
MULTIPURPOSE TRAINING
Bộ kit vi điều khiển MULTIPURPOSE TRAINING đƣợc tích hợp rất nhiều Module phục vụ cho việc thực hành
Các Module trên kit thực hành vi điều khiển bao gồm:
Các module vi điều khiển
Các vi điều khiển đƣợc đặt trên những module riêng, và đƣợc kết nối với các pin header ra bên ngoài, kết nối sẵn với mạch reset và dao động Khi muốn sử dụng vi điều khiển mình cần thì chỉ cần chọn module vi điều khiển đó, cắm vào bộ thí nghiệm, kết nối nguồn cho module vi điều khiển thì có thể sử dụng
Trang 16Hình 2-3 : Module vi điều khiển PIC ( PIC16F877A, PIC16F628A,PIC18F2550)
Hình 2-4 : Module vi điều khiển họ AT (AT89S52, AT89C2051)
Hình 2-5 : Module vi điều khiển AVR ( ATMEGA32,ATMEGA8, ATTINY2313V)
Trang 17 Các module chức năng:
Module led đơn
Led sẽ đƣợc sáng khi đƣợc cấp điện áp mức cao ( mức 1) và tắt khi đƣợc cấp điện
áp mức thấp ( mức 0 ) Đây là một trong những ứng dụng đơn giản giúp chúng ta dễ dàng tiếp cận với lập trình cho các vi điều khiển
Hình 2-7: Sơ đồ nguyên lý Module led đơn
Hình 2-6 : Module led đơn
Trang 18Module button switch
Module bao gồm 8 button và 8 switch
Button và switch được kết nối với GND, tức là khi nhấn (button) hoặc gạc qua vị trí ON (switch) thì tín hiệu điện áp sẽ được đưa xuống mức thấp ( mức 0 ) và ngược lại, khi ở trạng thái bình thường sẽ là điện áp mức cao ( mức 1)
Hình 2-9 : Sơ đồ nguyên lý Module button và switch
Hình 2-8: Module button và switch
Trang 19Module led 7 đoạn
Hình 2-11 : Sơ đồ nguyên lý Module led 7 đoạn
Module led 7 đoạn giúp người điều khiển hiển thị thông tin ra bên ngoài để dễ dàng cho việc theo dõi
Module này được thiết kế theo phương pháp quét led để giao tiếp với 4 led 7 đoạn anode chung Mục đích chính của việc sử dụng phương pháp quét led là để tiết kiệm được số chân điều khiển từ các vi xử lý
Hình 2-10 : Sơ đồ nguyên lý Module led 7 đoạn
Trang 20Module led ma trận 8x8
Hình 2-13 : Sơ đồ nguyên lý kết nối ma trận led 8x8 2 màu đỏ và vàng
Hình 2-12 : Module led ma trận 8x8 2 màu đỏ và vàng
Trang 21Hình 2-15: Sơ đồ kết nối module LCD Hình 2-14 : Module LCD 16x2
Trang 22- 3 đường tín hiệu điều khiển để chọn kênh: AA, AB, AC – tín hiệu vào
- 2 đường tín hiệu điều khiển EOC để cho biết quá trình chuyển đổi kết thúc hay chưa – tín hiệu ra
Hình 2-17 : Sơ đồ nguyên lý module ADC0809
Hình 2-16: Module ADC0809
Trang 23Module RTC: kết nối giao tiếp với DS1307
Module RTC tích hợp IC DS1307 có chức năng lưu giá trị thời gian thực, module kết nối với vi điều khiển dùng làm đồng hồ số, hiển thị thời gian
Hình 2-19: Sơ đồ nguyên lý kết nối của DS1307 Hình 2-18: Module giao tiếp DS1307
Trang 24Module Relay
Module Relay giúp cho việc điều khiển những tải lớn trở nên dễ dàng hơn Bản thân các vi điều khiển cho có thế điều khiển thiết bị với điện áp thấp (khoảng 5V), vì thế đối với những tải có công suất lớn hơn thì vi điều khiển phải điều khiển gián tiếp thông qua những thiết bị hổ trợ điều khiển khác
Hình 2-21: Sơ dồ nguyên lý của Module Relay
Hình 2-20: Module Relay
Trang 26Module Step Motor
Module step motor tích hợp 1 động cơ bước 12VDC, được điều khiển thông qua 4 transistor TIP122, vi điều khiển giao tiếp với động cơ thông qua 4 transistor này Module giúp ta tiếp cận và làm quen với việc điều khiển động cơ bước bằng các loại vi
xử lí
Hình 2-25: Sơ đồ nguyên lý kết nối của Module Step Motor
Hình 2-24: Module Step Motor
Trang 27Module DAC0808
Module tích hợp IC DAC0808 giúp chuyển tín hiệu tương tự thành tín hiệu số
Hình 2-27: Sơ đồ nguyên lý Module DAC0808
Hình 2-26: Module DAC0808
Trang 28Module giao tiếp RS232/RS485
Module tích hợp cổng COM và 2 IC MAX232, MAX485 giúp vi điều khiển giao tiếp với máy tính, truyền và nhận dữ liệu thông qua hai giao diện RS232 và RS485
Hình 2-29 : Sơ đồ nguyên lý mạch giao tiếp RS232
Hình 2-28: Module giao tiếp RS232
Trang 29Module giao tiếp LPT
Module LPT có tích hợp cổng LPT 25 chân và các IC giúp vi điều khiển giao tiếp với máy tính
Hình 2-31 : Sơ đồ nguyên lý mạch giao tiếp LPT
Hình 2-30: Module giao tiếp LPT
Trang 30Module LCD Graphic
Module Graphic LCD đƣợc trang bị một màn hình LCD 64x128, hiển thị các dạng text, kí tự, ảnh động…Module giao tiếp với vi điều khiển với 2 nhóm chân chính là nhóm chân điều khiển và nhóm chân dữ liệu
Hình 2-33 : Sơ đồ nguyên lý kết nối của module GLCD
Hình 2-32 : Module LCD Graphic
Trang 31Module Analog
Module Analog tích hợp 2 ngõ ra điện áp 0-5 VDC, dùng để cấp tín hiệu tương tự cho
vi điều khiển khi cần hoặc trong quá trình thực hành cần đến tín hiệu tương tự
Module Pulse Power
Tương tự như Module Aalog, Module Pulse Power cung cấp một nguồn ra chuẩn có giá trị điện áp là 5V, dùng để cấp nguồn khi cần trong quá trình thực hành
Hình 2-35: Module Pulse Power
Hình 2-34: Module Analog
Trang 322.3 MẠCH NẠP BURN-E CHO CÁC VI ĐIỀU KHIỂN
2.3.1 GIỚI THIỆU.
Hình 2-36: Mạch nạp BURN-E
So với một số mạch nạp cho vi điều khiển khác thì mạch mạch nạp Burn-E khá là nhỏ gọn, gần giống như những USB thông thường mà chúng ta thường sử dụng
Mạch nạp Burn-E được cấu thành bởi 3 yếu tố gắn bó mật thiết với nhau:
Hardware, Firmware và Software Các yếu tố này được Pduytech phát triển và phối hợp ưu điểm từ tính tiện lợi, mềm dẻo trong điều chỉnh Configuration registers của GTP-USB [Plus] và tính an toàn trong cấp nguồn cùng với tính đa dạng, dễ dàng nâng cấp của PICKit 2
Hệ điều hành mà Burn-E sử dụng được bao gồm Window XP, Window Vista, Window 7/8 cả 32-bits và 64-bits.Burn-E không yêu cầu cài đặt driver, sản phẩm có
chức năng Plug and Play
Phần mềm Burn-E khá là dễ sử dụng và có thể dùng để nạp code cho nhiều họ vi điều khiển khác nhau ( ví dụ : họ AVR, PIC….)
Trang 332.3.2 NẠP CHƯƠNG TRÌNH CHO VI ĐIỀU KHIỂN SỬ DỤNG MẠCH
Để nạp một file Hex cho vi điều khiển chúng ta sẽ thực hiện một số bước như sau:
Bước 1: Khởi động Burn-E Programmer và chọn vi điều khiển muốn sử dụng như
hình:
Hình 2-38: Chọn chip vi điều khiển cần nạp
Trang 34Bước 2: Chọn biểu tương Detect Device để kiểm tra kết nối giữa vi điều khiển với
chương trình, ví dụ như trong hình 2-39 khi bảng thông báo để “Detected a PIC16F877A” thì xem như đã kết nối vối PIC thành công
Bước 3: Chọn thư mục chứa file Hex cần nạp cho vi điều khiển như hình:
Hình 2-40: Chọn file Hex cần nạp cho vi điều khiển
Hình 2-39 : Kiểm tra kết nối với giữa mạch nạp với vi điều khiển
Trang 35Bước 4: Chọn vào biểu tượng Program All như hình 2-41 để tiến hành nạp file cho vi
điều khiển:
Nếu phần mềm thông báo Programming Successful thì xem như đã nạp thành công
Hình 2-41: Tiến hành nạp file Hex cho vi điều khiển
Trang 36Chương 3 CÁC CHUẨN GIAO TIẾP MỞ RỘNG
3.1 CHUẨN GIAO TIẾP I2C
3.1.1 GIỚI THIỆU
Đầu năm 1980 Phillips đã phát triển một chuẩn giao tiếp nối tiếp 2 dây được gọi
là I2C I2C là tên viết tắt của cụm từ Inter-Intergrated Circuit Đây là đường Bus giao tiếp giữa các IC với nhau I2C mặc dù được phát triển bới Philips, nhưng nó đã được rất nhiều nhà sản xuất IC trên thế giới sử dụng I2C trở thành một chuẩn công nghiệp cho các giao tiếp điều khiển, có thể kể ra đây một vài tên tuổi ngoài Philips như: Texas Intrument(TI), MaximDallas, analog Device, National Semiconductor Bus I2C được
sử dụng làm bus giao tiếp ngoại vi cho rất nhiều loại IC khác nhau như các loại Vi điều khiển 8051, PIC, AVR, ARM chip nhớ như: RAM tĩnh (Static Ram), EEPROM, bộ chuyển đổi tương tự số (ADC), số tương tự(DAC), IC điểu khiển LCD, LED
Hình 3.1 Bus I2C và các thiết bị ngoại vi
3.1.2 ĐẶC ĐIỂM TRUYỀN THÔNG
Một giao tiếp I2C gồm có 2 dây: Serial Data (SDA) và Serial Clock (SCL) SDA
là đường truyền dữ liệu 2 hướng, còn SCL là đường truyền xung đồng hồ để đồng bộ
và chỉ theo một hướng Như ta thấy trên hình 3.2, khi một thiết bị ngoại vi kết nối vào đường bus I2C thì chân SDA của nó sẽ nối với dây SDA của bus, chân SCL sẽ nối với dây SCL
Trang 37Hình 3.2 Kết nối thiết bị vào bus I2C ở chế độ chuẩn (Standard mode)
và chế độ nhanh (Fast mode)
Mỗi dây SDA hãy SCL đều được nối với điện áp dương của nguồn cấp thông qua một điện trở kéo lên (pullup resistor) Sự cần thiết của các điện trở kéo này là vì chân giao tiếp I2C của các thiết bị ngoại vi thường là dạng cực máng hở (opendrain hay opencollector) Giá trị của các điện trở này khác nhau tùy vào từng thiết bị và chuẩn giao tiếp, thường dao động trong khoảng 1K đến 4.7k
Mỗi thiết bị kết nối đến bus I2C sẽ được nhận ra bởỉ một địa chỉ duy nhất với một quan hệ chủ/tớ tồn tại trong suốt thời gian kết nối Mỗi thiết bị có thể hoạt động như là thiết bị nhận hoặc truyền dữ liệu hay có thể vừa truyền vừa nhận Hoạt động truyền hay nhận còn tùy thuộc vào việc thiết bị đó là chủ (master) hãy tớ (slave)
Một thiết bị hay một IC khi kết nối với bus I2C, ngoài một địa chỉ (duy nhất) để phân biệt, nó còn được cấu hình là thiết bị chủ hay tớ Tại sao lại có sự phân biệt này?
Đó là vì trên một bus I2C thì quyền điều khiển thuộc về thiết bị chủ Thiết bị chủ nắm vai trò tạo xung đồng hồ cho toàn hệ thống, khi giữa hai thiết bị chủ-tớ giao tiếp thì thiết bị chủ có nhiệm vụ tạo xung đồng hồ và quản lý địa chỉ của thiết bị tớ trong suốt quá trình giao tiếp Thiết bị chủ giữ vai trò chủ động, còn thiết bị tớ giữ vai trò bị động trong việc giao tiếp.Theo Hình 3.4 ta thấy xung đồng hồ chỉ có một hướng từ chủ đến
tớ, còn luồng dữ liệu có thể đi theo hai hướng, từ chủ đến tớ hay ngược lại tớ đến chủ
Trang 38Hình 3.3 Truyền và nhận giữa thiết bị chủ/tớ
3.1.3 GIAO THỨC TRUYỀN THÔNG
Các bus I2C có thể hoạt động ở ba chế độ, hay nói cách khác các dữ liệu trên bus I2C có thể đƣợc truyền trong ba chế độ khác nhau:
- Chế độ tiêu chuẩn (Standard mode)
- Chế độ nhanh (Fast mode)
- Chế độ cao tốc High-Speed (Hs) mode
Chế độ tiêu chuẩn:
- Đây là chế độ tiêu chuẩn ban đầu đƣợc phát hành vào đầu những năm 80
- Nó có tốc độ dữ liệu tối đa 100kbps
- Nó sử dụng 7-bit địa chỉ, và 112 địa chỉ tớ
Chế độ nhanh:
- Tốc độ dữ liệu tối đa đƣợc tăng lên đến 400 kbps
- Để ngăn chặn gai tiếng ồn, Ngõ vào của thiết bị Fast-mode là triggered
Schmitt Chân SCL và SDA của một thiết bị tớ I2C ở trạng thái trở kháng cao khi không cấp nguồn
Chế độ cao tốc (High-Speed):
Chế độ này đã đƣợc tạo ra chủ yếu để tăng tốc độ dữ liệu lên đến 36 lần nhanh hơn so với chế độ tiêu chuẩn Nó cung cấp 1.7 Mbps (với Cb = 400 pF), và 3.4Mbps (với C> b = 100pF)
Một bus I2C có thể hoạt động ở nhiều chế độ khác nhau:
Trang 39- Một chủ nhiều tớ (one master - multi slave)
- Nhiều chủ nhiều tớ (Multi master - Multi slave)
Thiết lập giao tiếp giữa 2 thiết bị:
START và STOP là những điều kiện bắt buộc phải có khi một thiết bị chủ muốn thiết lập giao tiếp với một thiết bị nào đó trên bus I2C START là điều kiện khởi đầu, báo hiệu bắt đầu của giao tiếp, còn STOP báo hiệu kết thúc một giao tiếp Hình dưới đây mô tả điều kiện START và STOP
Ban đầu khi chưa thực hiện quá trình giao tiếp, cả hai đường SDA và SCL đều ở mức cao (SDA = SCL = HIGH) Lúc này bus I2C được coi là rỗi (“bus free”), sẵn sàng cho một giao tiếp Hai điều kiện START và STOP là không thể thiếu trong việc giao tiếp giữa các thiết bị I2C với nhau Giao thức I2C được thể hiện trong hình 3.5
Hình 3.4 Giao thức I2C
Điều kiện START: một sự chuyển đồi trạng thái từ cao xuống thấp trên đường SDA trong khi đường SCL đang ở mức cao (cao = 1; thấp = 0) báo hiệu một điều kiện START
Đỉều kiện STOP: Một sự chuyển đổi trạng thái từ mức thấp lên cao trên đường SDA trong khi đường SCL đang ở mức cao Cả hai điều kiện START và STOP đều được tạo ra bởi thiết bị chủ Sau tín hiệu START, bus I2C coi như đang trong trạng
Trang 40thái làm việc (busy) Bus I2C sẽ rỗi, sẳn sàng cho một giao tiếp mới sau tín hiệu STOP
từ phía thiết bị chủ
Sau khi có một điều kiện START, trong quá trình giao tiếp, khi có một tín hiệu START được lặp lại thay vì một tín hiệu STOP thì bus I2C vẫn tiếp tục trong trạng thái bận Tín hiệu START và lặp lại START (Repeated START) đều có chức năng
giống nhau là khởi tạo một giao tiếp
3.2 CHUẨN GIAO TIẾP UART (truyền dữ liệu nối tiếp)
3.2.1 GIỚI THIỆU
UART (Universal Asynchronous Receiver Transmitter) bộ truyền/ nhận nối tiếp không đồng bộ, là chuẩn truyền thông được thực hiện vào những năm 60
Hình 3.5 Mô tả kết nối UART
3.2.2 ĐẶC ĐIỂM TRUYỀN THÔNG
- UART có 2 đường truyền và nhận dữ liệu riêng biệt do đó nó có thể đồng thời vừa truyền, vừa nhận dữ liệu một lúc (truyền song công)
- UART: giao tiếp không đồng bộ , vì thế hai bên muốn giao tiếp với nhau cần quy định các đặc điểm tốc độ truyền , cấu trúc khung truyền giống nhau
- Tốc độ truyền nhận dữ liệu của UART gọi là Baud Rate (tốc độ Baud): Số bit truyền được trong 1s
3.2.3 GIAO THỨC TRUYỀN THÔNG
Dữ liệu được truyền/nhận theo dạng frame khung truyền, hình 3.14 thể hiện một định dạng frame khung truyền trong chuẩn truyền thông UART