MỞ ĐẦU1CHƯƠNG 1. TỔNG QUAN21.1. Lý do chọn đề tài21.2. Tìm hiểu các bộ điều khiển thiết bị điện và rèm cửa trên thị trường21.2.1. Một số bộ điều khiển thiết bị điện trên thị trường21.2.2. Một số loại rèm cửa trên thị trường51.3. Nội dung nghiên cứu71.3.1. Đối tượng nghiên cứu71.3.2. Tính năng của sản phẩm cần đặt được71.3.3. Sơ đồ khối tổng quan của hệ thống7CHƯƠNG 2. CƠ SỞ LÝ THUYẾT82.1. Điều khiển từ xa sử dụng IC PT224882.1.1. Giới thiệu82.1.2. Sơ đồ chân92.1.3. Nguyên lý hoạt động92.1.4. Dạng xung phát ra102.2. Led thu hồng ngoại TL1838112.2.1. Giới thiệu112.2.2. Thông số chính của TL1838112.3. Cảm biến vật cản122.3.1. Giới thiệu122.3.2. Thông số kỹ thuật và tính năng122.4. Giới thiệu về vi điều khiển ARM122.4.1. Giới thiệu sơ lược về họ vi điều khiển ARM – CORTEX122.4.2. Công cụ lập trình152.4.3. Ngoại vi GPIO162.4.4. Ngoại vi Systick172.5. IC eeprom AT24C02202.5.1. Giới thiệu IC eeprom AT24C02202.5.2. Thông số kỹ thuật202.6. Tìm hiểu về giao tiếp I2C212.6.1. Đặc điểm của giao thức I2C212.6.2. Giao tiếp I2C với IC AT24C02222.7. Tìm hiểu về IC L298n232.7.1. Giới thiệu về IC L298n232.7.2. Thông số kỹ thuật24CHƯƠNG 3. THIẾT KẾ BỘ ĐIỀU KHIỂN THIẾT BỊ ĐIỆN253.1. Sơ đồ khối bộ điều khiển thiết bị điện từ xa253.1.1. Yêu cầu kỹ thuật cho hệ thống253.1.2. Sơ đồ khối hệ thống253.2. Thiết kế phần cứng263.2.1. Khối Thu phát hồng ngoại263.2.2. Thiết kế khối nguồn263.2.3. Thiết kế khối lưu trữ273.2.4. Thiết kế khối động cơ273.2.5. Thiết kế khối relay283.2.6. Thiết kế khối nút nhấn và led báo hiệu283.2.7. Thiết kế khối cảm biến283.2.8. Sơ đồ nguyên lý toàn bộ hệ thống293.3. Thi công hệ thống293.3.1. Giới thiệu303.3.2. Thi công bo mạch303.4. Thiết kế phần mềm313.4.1. Lập trình chương trình chính313.4.2. Giải mã tín hiệu hồng ngoại353.4.3. Đọc ghi với IC AT24C02373.5. Thực nghiệm393.5.1. Sản phẩm sau khi hoàn thành393.5.2. Bật tắt thiết bị điện403.5.3. Điều khiển rèm cửa40KẾT LUẬN41TÀI LIỆU THAM KHẢO42PHỤ LỤC43
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
-ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CNKT ĐIỆN TỬ - VIỄN THÔNG
THIẾT KẾ BỘ ĐIỀU KHIỂN THIẾT BỊ ĐIỆN TỪ XA
Hà Nội – 2020
Mã sinh viên : 1141050117
Trang 2
Hà Nội, ngày… tháng… năm 2020
Người nhận xét
Trang 3MỞ ĐẦU 1
CHƯƠNG 1 TỔNG QUAN 2
1.1 Lý do chọn đề tài 2
1.2 Tìm hiểu các bộ điều khiển thiết bị điện và rèm cửa trên thị trường 2
1.2.1 Một số bộ điều khiển thiết bị điện trên thị trường 2
1.2.2 Một số loại rèm cửa trên thị trường 5
1.3 Nội dung nghiên cứu 7
1.3.1 Đối tượng nghiên cứu 7
1.3.2 Tính năng của sản phẩm cần đặt được 7
1.3.3 Sơ đồ khối tổng quan của hệ thống 7
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 8
2.1 Điều khiển từ xa sử dụng IC PT2248 8
2.1.1 Giới thiệu 8
2.1.2 Sơ đồ chân 9
2.1.3 Nguyên lý hoạt động 9
2.1.4 Dạng xung phát ra 10
2.2 Led thu hồng ngoại TL1838 11
2.2.1 Giới thiệu 11
2.2.2 Thông số chính của TL1838 11
2.3 Cảm biến vật cản 12
2.3.1 Giới thiệu 12
2.3.2 Thông số kỹ thuật và tính năng 12
2.4 Giới thiệu về vi điều khiển ARM 12
2.4.1 Giới thiệu sơ lược về họ vi điều khiển ARM – CORTEX 12
2.4.2 Công cụ lập trình 15
2.4.3 Ngoại vi GPIO 16
2.4.4 Ngoại vi Systick 17
2.5 IC eeprom AT24C02 20
2.5.1 Giới thiệu IC eeprom AT24C02 20
2.5.2 Thông số kỹ thuật 20
2.6 Tìm hiểu về giao tiếp I2C 21
2.6.1 Đặc điểm của giao thức I2C 21
2.6.2 Giao tiếp I2C với IC AT24C02 22
2.7 Tìm hiểu về IC L298n 23
2.7.1 Giới thiệu về IC L298n 23
Trang 4CHƯƠNG 3 THIẾT KẾ BỘ ĐIỀU KHIỂN THIẾT BỊ ĐIỆN 25
3.1 Sơ đồ khối bộ điều khiển thiết bị điện từ xa 25
3.1.1 Yêu cầu kỹ thuật cho hệ thống 25
3.1.2 Sơ đồ khối hệ thống 25
3.2 Thiết kế phần cứng 26
3.2.1 Khối Thu phát hồng ngoại 26
3.2.2 Thiết kế khối nguồn 26
3.2.3 Thiết kế khối lưu trữ 27
3.2.4 Thiết kế khối động cơ 27
3.2.5 Thiết kế khối relay 28
3.2.6 Thiết kế khối nút nhấn và led báo hiệu 28
3.2.7 Thiết kế khối cảm biến 28
3.2.8 Sơ đồ nguyên lý toàn bộ hệ thống 29
3.3 Thi công hệ thống 29
3.3.1 Giới thiệu 30
3.3.2 Thi công bo mạch 30
3.4 Thiết kế phần mềm 31
3.4.1 Lập trình chương trình chính 31
3.4.2 Giải mã tín hiệu hồng ngoại 35
3.4.3 Đọc ghi với IC AT24C02 37
3.5 Thực nghiệm 39
3.5.1 Sản phẩm sau khi hoàn thành 39
3.5.2 Bật/ tắt thiết bị điện 40
3.5.3 Điều khiển rèm cửa 40
KẾT LUẬN 41
TÀI LIỆU THAM KHẢO 42
PHỤ LỤC 43
Trang 5Hình 1.1: Bộ điều khiển từ xa sử dụng sóng vô tuyến 3
Hình 1.2: Bộ điều khiển sử dụng internet 4
Hình 1.3: Bộ điều khiển sử dụng SMS và cuộc gọi 4
Hình 1.4: Bộ điều khiển tù xa sử dụng sóng hồng ngoại 5
Hình 1.5: Rèm vải buông 6
Hình 1.6: Rèm cầu vồng 6
Hình 1.7: Rèm vải buông tự động 6
Hình 1.8: Rèm cuốn tự động 6
Hình 1.9: Sơ đồ khối tổng quan 7
Hình 2.1: Hình ảnh điều khiển hồng ngoại thực tế 8
Hình 2.2: Hình ảnh IC PT2248 8
Hình 2.3: Sơ đồ chân IC PT2248 9
Hình 2.4: Khung truyền mã của một nút nhấn 10
Hình 2.5: Dạng xung đầu ra 10
Hình 2.6: Hình ảnh thực tế TL1838 11
Hình 2.7: Module cảm biến thu phát hồng ngoại 12
Hình 2.8: Kiến trúc vi xử lí ARM Cortex – M3 13
Hình 2.9: STM32F103C8T6 13
Hình 2.10: Sơ đồ chân STM32F103C8T6 14
Hình 2.11: cấu trúc cơ bản của một cổng I/O 16
Hình 2.12: Thanh ghi trạng thái và điều khiển Systick 18
Hình 2.13: Thah ghi chứa giá trị reload của Systick 18
Hình 2.14: Thanh ghi chứa giá trị đếm hiện tại của Systick 19
Hình 2.15: Sơ đồ chân AT24C02 20
Hình 2.16: Hình ảnh thực tế AT24C02 20
Hình 2.17: Giao tiếp I2C 21
Hình 2.18: Khung địa chỉ của AT24C02 22
Trang 6Hình 2.20: Khung truyền ở chế độ đọc 23
Hình 2.22: Hình ảnh thực tế IC L298n 23
Hình 2.21: Cấu hình chân của IC L298n 23
Hình 3.1: Sơ đồ khối hệ thống 25
Hình 3.2: Sơ đồ nguyên lý khối phát hồng ngoại 26
Hình 3.3: Sơ đồ nguyên lý khối thu hồng ngoại 26
Hình 3.4: Sơ đồ nguyên lý khối nguồn 27
Hình 3.5: Sơ đồ nguyên lý khối lưu trữ 27
Hình 3.6: Sơ đồ nguyên lý phần điều khiển động cơ 27
Hình 3.7: Sơ đồ nguyên lý khối relay 28
Hình 3.8: Sơ đồ nguyên lý phần nút nhấn và led báo hiệu: 28
Hình 3.9: Sơ đồ nguyên lý khối cảm biến 28
Hình 3.10: Sơ đồ nguyên lý toàn bộ hệ thống 29
Hình 3.11: Mạch in bộ điều khiển 30
Hình 3.12: Mạch in hệ thống chính 30
Hình 3.13: Mạch in PCB 3D 30
Hình 3.14: Mạch in PCB 2D 30
Hình 3.15: Mạch in PCB 3D 31
Hình 3.16: Mạch in PCB 2D 31
Hình 3.17: Hình ảnh hệ thống thực tế 31
Hình 3.18: Hình ảnh điều khiển thực tế 31
Hình 3.19: Lưu đồ chính của hệ thống 32
Hình 3.20: Tín hiệu của nút số 7 35
Hình 3.21: Tín hiệu của nút số 8 35
Hình 3.22: Tín hiệu của nút số 9 35
Hình 3.23: Tín hiệu của nút nhấn số 10 35
Hình 3.24: Lưu đồ giải mã tín hiệu hồng ngoại 36
Hình 3.25: Lưu đồ ghi dữ liệu xuống AT24C02 37
Trang 7Hình 3.27: Sản phẩm sau khi hoàn thánh 39
Hình 3.28: Bật tắt thiết bị điện 40
Hình 3.29: Kéo thả rèm cửa hết cỡ 40
Hình 3.30: Điều chỉnh vị trí rèm cửa theo ý muốn 40
DANH MỤC BẢNG Bảng 2.1: Mã cụ thể của từng phím 11
Bảng 2.2: Cấu hình chân AT24C02 20
Bảng 2.3: Cấu hình chân IC L298n 24
Trang 8Viết tắt Tiếng anh Tiếng việt
I2C Inter-Integrated Circuit Truyền thông nối tiếp 2 dâyEEPROM Electrically
Erasable ProgrammableRead – Only Memory
Bộ nhớ không mất dữ liệukhi ngừng cung cấp điện
GPIO General-Purpose
Input/Output
Nơi giao tiếp chung giữa tínhiệu ra và tín hiệu vào
SMS Short Message Services Tin nhắn
WIFI Wireless Fidelity Mạng kết nối không dây
Trang 9Em chân thành cám ơn quý thầy, cô trường Đại Học Công Nghiệp HàNội đã tận tình dạy dỗ trong suốt những năm qua Trong đó phải kể đến quýthầy cô trong khoa điện tử đã tạo điều khiện cho em thực hiện đồ án tốtnghiệp này.
Đặc biệt, em xin chân thành cảm ơn giáo viên hướng dẫn ThS PhạmVăn Chiến đã tận tình giúp đỡ em trong quá trình lựa chọn và hỗ trợ em trongquá trình thực hiện đề tài Cung cấp cho em những kiến thức quý báu cũngnhư những lời khuyên cực kỳ hữu ích Tạo động lực cho em hoàn thành tốtnhiệm vụ của mình
Em xin cám ơn những ý kiến đóng góp của các thầy cô giáo đã giúp emthực hiện đề tài này Để hoàn thành em đã nỗ lực nghiên cứu, thiết kế và chếtạo, nhưng do thời gian và kiến thức còn hạn chế nên không thể tránh khỏinhững thiếu sót Em rất mong nhận được những lời góp ý chân thành từ thầy
cô và các bạn để có thêm những hiểu biết và hoàn thiện hơn trong quá trìnhlàm việc sau này
Em xin chân thành cảm ơn!
Trang 10MỞ ĐẦU
Ngày nay với sự phát triển của ngành điện tử và ứng dụng điện tử đãgiúp sự sáng tạo của con người trở thành hiện thực Các lĩnh vực của cuộcsống đều áp dụng những thiết bị điện tử và dường như nhìn đâu trong gia đìnhchúng ta cũng có thiết bị điện tử Ngành điện tử và ứng dụng đã tạo chỗ đứng
và khẳng định được tầm quan trọng của mình đối với nhu cầu của con người
Với những ứng dụng cho các hệ thống nhúng ngày càng trở nên phổbiến, từ những ứng dụng đơn giản như điều khiển 1 chốt đèn giao thông địnhthời, đếm sản phẩm trong một dây chuyền sản xuất, điều khiển tốc độ động cơđiện một chiều, một đồng hồ thời gian thực Đến những ứng dụng phức tạpnhư hệ thống điều khiển robot, bộ kiểm soát trong nhà máy hoặc hệ thốngkiểm soát các máy năng lượng hạt nhân Các hệ thống tự động trước đây sửdụng nhiều công nghệ khác nhau như các hệ thống tự động hoạt động bằngnguyên lý khí Các thiết bị, hệ thống này có chức năng xử lý và mức độ tựđộng thấp so với các hệ thống tự động hiện đại được xây dựng trên nền tảngcủa các hệ thống nhúng
Trong nhiều năm trước, các dòng vi điều khiển 8051 được sinh viên sửdụng nhiều với tính năng đơn giản, dễ PIC với ưu thế tốc độ cao, chi phí thấphơn cũng được nghiên cứu, sử dụng nhiều Nhưng một vài năm trở lại đây cómột dòng vi điều khiển mới càng ngày càng nắm vị trí quan trọng trong cáclĩnh vực với tốc độ xử lý cao và có nhiều tính năng vượt trội nên trong đề tàitốt nghiệp này, em đã sử dụng vi điều khiển STM32F103C8T6 thuộc họ vi
điều khiển ARM để thực hiện đề tài “Thiết kế bộ điều khiển thiết bị điện từ xa”.
Trang 11Như chúng ta đã biết, tại mỗi hộ gia đình Việt Nam hiện nay sử dụngrất nhiều thiết bị điện như: Tivi, tủ lạnh, quạt điện, hệ thống đèn chiếu sáng,
hệ thống rèm cửa tự động, bình nóng lạnh, hệ thống âm thanh, hế thống cửa
tự động…Đa phần những thiết bị này khi sử dụng đang gây ra những sự bấttiện vì chúng hoạt động độc lập và đòi hỏi người sử dụng phải chủ động đếntừng thiết bị để điều khiển Thử tưởng tượng, khi đang xem tivi bạn muốn tắtđèn, bật quạt và kéo rèm cửa, thì bạn sẽ phải đứng dậy đi đến những thiết bị
đó để bật/ tắt chúng Điều đó thật bất tiện phải không? Nhưng nếu chỉ cầnngồi tại ghế xem tivi mà có thể bật/ tắt được những thiết bị này thì sẽ rất tiệnlợi
Chính vì những bất cập trên cùng với xu hướng công nghệ nên em chọn
đề tài “ Thiết kế bộ điều khiển thiết bị điện từ xa” để có thể điều khiển
những thiết bị điện được thuận tiện hơn
Trang 121.2 Tìm hiểu các bộ điều khiển thiết bị điện và rèm cửa trên thị trường 1.2.1 Một số bộ điều khiển thiết bị điện trên thị trường
Trên thị trường hiện nay có nhiều bộ điều khiển thiết bị điện trong giađình rất đa dạng phong phú từ mẫu mã cho tới giá tiền với nhiều phương thứcđiều khiển khác nhau Sau đây là một số bộ điều khiển thông dụng:
1.2.1.1 Bộ điều khiển sử dụng sóng vô tuyến.
Là loại điều khiển từ xa xuất hiện đầu tiên, đến nay vẫn giữ một vai tròquan trong trong đời sống Đây là loại điều khiển sử dụng ở không gian lớn,
có vật che chắn
Nó điều khiển các thiết bị điện bằng cách nhấn bất kỳ phím nào trênđiều khiển từ xa, tạo ra các tín hiệu vô tuyến tương ứng và các tín hiệu nàyđược nhận bởi phần thu từ đó điều khiểu đầu ra
- Ưu điểm:
+ Phạm vi truyền tải rộng( khoảng 30 mét)
+ Có thể đi xuyên tường
- Nhược điểm:
+ Trong không gian sẽ có vô số thiết bị có tín hiệu vô tuyến,điều này có thể gây ra nhiễu trong quá trình điều khiển
1.2.1.2 Bộ điều khiển sử dụng internet
Bộ điều khiển có thể bật tắt thiết bị điện từ xa ở bất kì nơi đâu có sóngwifi – 3G dùng cho điện thoại, máy tính bảng, laptop,… có thể truy cập vào
Hình 1.1: Bộ điều khiển từ xa sử dụng sóng vô tuyến
Trang 13phần mềm từ đó theo dõi được trạng thái hiện tại của thiết bị điện ở bất kỳ nơiđâu.
Ưu điểm:
+ Điều khiển thiết bị điện ở khoảng cách không giới hạn
+ Quản lý rất tốt thiết bị điện qua phần mềm
+ Giao diện dễ dàng khi sử dụng
- Nhược điểm:
+ Chỉ hoạt động khi có kết nối internet
1.2.1.3 Bộ điều khiểu từ xa sử dụng tin nhắn SMS và cuộc gọi đến
Điều khiển các thiết bị điện bằng tin nhắn hoặc cuộc gọi tại vị trí cóphủ sóng mạng điện thoại di động.Tự động gửi lại tin nhắn báo trạng thái củathiết bị
- Ưu điểm:
+ Sóng điện thoại bao phủ rộng khắp, nhờ thế bạn có thể điềukhiển được hệ thống tưới dù ở bất kì đâu
- Nhược điểm:
+ Bạn phải tốn kém vì phải nạp thẻ (nạp tiền) cho sim
+ Mới chỉ đáp ứng khả năng bật hoặc tắt thiết bị điện
Hình 1.2: Bộ điều khiển sử dụng internet
Trang 141.2.1.4 Bộ điều khiển từ xa sử dụng sóng hồng ngoại
Thiết bị sử dụng sóng hồng ngoại để điều khiển Đây là loại điều khiểnđược sử dụng ở không gian hẹp và không có vật che chắn Thích hợp để điềukhiển những thiết bị trong một căn phòng
- Ưu điểm:
Hình 1.3: Bộ điều khiển sử dụng SMS và cuộc gọi
Hình 1.4: Bộ điều khiển từ xa sử dụng sóng hồng ngoại
Trang 15+ Hoạt động ổn định trong phạm vi dưới 10 mét.
Hiện nay hệ thống rèm cửa tự động hay rèm cửa thông minh trong hộgia đình đang được sử dụng phổ biến, vì thế những bộ điều khiển cần có khánăng điều khiển cả hệ thống rèm cửa tự động
1.2.2 Một số loại rèm cửa trên thị trường
Rèm cửa hay màn cửa theo định nghĩa chung nhất là vật dùng để checửa sổ, tác dụng chính là cản sáng, che nắng và làm đẹp Hiện nay trên thịtrường chủ yếu được phân loại thành rèm cửa truyền thống và rèm cửa tựđộng
Trang 161.2.2.1 Rèm truyền thống
Rèm truyền thống có thế mạnh là chi phí rẻ, dễ dàng chế tạo và lắp đặt.Nhưng loại rèm này không có khả năng tự vận hành
Hình 1.6: Rèm cầu vồng Hình 1.5: Rèm vải buông
Trang 171.2.2.2 Rèm tự động
Trang 18Rèm tự động hay còn gọi là rèm thông minh, người sử dụng có thể điềukhiển, điều chỉnh rèm tự xa mà không hề tốn chút sức lực Ngoài ra, rèm cửa
tự động cũng làm cho ngôi nhà của bạn thêm phần hiện đại hơn
1.3 Nội dung nghiên cứu
1.3.1 Đối tượng nghiên cứu
- Phương thức điều khiển bằng sóng hồng ngoại
1.3.2 Tính năng của sản phẩm cần đặt được
- Gửi được tín hiệu hồng ngoại trong khoảng cách 5 m đến 7 m
- Sản phẩm bật tắt được các thiết bị điện
Hình 1.8: Rèm cuốn tự động Hình 1.7: Rèm vải buông tự động
Trang 19- Sản phẩm điều khiển được rèm cửa từ xa.
1.3.3 Sơ đồ khối tổng quan của hệ thống
- Khối nguồn: Cung cấp điện áp phù hợp cho hệ thống hoạt động
- Khối điều khiển trung tâm: Sử dụng vi điều khiển STM32F103C8T6
- Khối đầu vào: Cảm biến vật cản, điều khiển phát hồng ngoại, led thuhồng ngoại, nút nhấn và khối lưu trữ
- Khối đầu ra: Khối động cơ , khối relay, led báo và khối lưu trữ
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
Hình 1.9: Sơ đồ khối tổng quan
Trang 202.1 Điều khiển từ xa sử dụng IC PT2248
2.1.1 Giới thiệu
Tia hồng ngoại là các bức xạ điện từ mà mắt ta không nhìn thấyđược( còn gọi là các bức xa ngoài vùng khả biến), có bước sóng từ 700nmdến 1mm Mọi vật có nhiệt độ lớn hơn 0° K( - 273,15℃) đều phát ra tia hồngngoại Dùng để sấy, sưởi; chụp ảnh hay quay phim ban đêm; theo dõi nhiệt độ
cơ thể trong y tế và truyền tín hiệu điều khiển trong các bộ điều khiển từ xa
Điều khiển từ xa là một thiết bị phát sóng hồng ngoại, sử dụng trongcác mục đích điều khiển từ xa( tầm khoảng 7m) Điều khiển từ xa nhận lệnh
từ người điều khiển thông qua các phím bấm, sau đó xuất ra một khung dữliệu ứng với phím được bấm
Hình 2.10: Hình ảnh điều khiển hồng ngoại thực tế
Trang 21Để xây dựng điều khiển hồng ngoại chúng ta sử dụng IC PT2248[1].Đây là một mạch điện sử dụng công nghệ CMOS, là linh kiện phát xạ mã hóatia hồng ngoại rất thông dụng, có điện áp nguồn là 2,2V ~ 5,0V
2.1.2 Sơ đồ chân
IC PT2248 sử dụng 16 chân vỏ nhựa kiểu cắm thẳng hàng
- Vss là đầu âm của dòng điện nối đất
- XT và /XT: là đầu vào của bộ phận dao động bên trong
- K1 ~ K6 là những đầu vào tín hiệu của bàn phím kiểu ma trận
- T1 ~ T3 kết hợp với các chân K1 ~ K6 có thể tạo thành 18 phím
- CODE là đầu vào của mã số, dùng mã số để truyền tải và tiếpnhận
- TEST là đầu đo thử, bình thường khi sử dụng có thể bỏ trống
- TXOUT là đầu ra tín hiệu truyền tải tín hiệu, 12 bit thành mộtchu kỳ, sử dụng sóng mang 38KHz để điều chế
- Vcc là đầu dương nguồn điện 2,2V ~ 5,0V
2.1.3 Nguyên lý hoạt động
Để có thể phát đi xa, ta cần có một xung có tần số Fc = 38 Khz để làmsóng mang, nhưng trên thị trường khó tìm được thạch anh đúng tần số nên tachọn tần số của thạch anh là 455 Khz cho bộ tạo dao động Sau đó tần số sẽđược đưa qua bộ phân tần để chia nó ra thành 12 lần
Hình 2.12: Sơ đồ chân IC PT2248
Trang 22Tín hiệu mà PT2248 gửi đi là một chuỗi bit gồm 3 phần: Phần codebits, phần continuous single – shot code và phần key input code.
Lệnh phát ra của do mã 12 bit tạo thành, trong đó C1 ~ C3 ( CODE) là
Code Bits Các bit mã C1, C2, C3 được thực hiện bằng việc nối hay không
nối các chân T1, T2, T3 với các chân code bằng các diode Nếu nối qua diodethì các C tương ứng sẽ thành 1 và là 0 khi không được nối H, S1, S2 là đại
diện cho mã số phát xạ liên tục( Continuos single code) hoặc mã số phát xạ không liên tục( Single-shot code), chúng đối xứng với các phím T1, T2, T3 D1 đến D6 là mã số của nút nhấn( Key input code) Dưới đây là mã số cụ thể
của từng nút nhấn:
2.1.4 Dạng xung phát ra
Trong một bit, tỉ lệ của phần xung dương là ¼ đại diện cho bit 1, khi tỉ
lệ này là ¾ thì đại diện cho bit 0
Việc phát ra của mỗi một chu kì theo thứ tự nối tiếp C1, C2, C3, H, S1,S2, D1, D2, D3, D4, D5, D6 có tổng chiều dài đo được sấp sỉ 21 ms Gọi độdài một bit là 4a, vậy ta tính được a sấp sỉ 0,4375 ms
Hình 2.13: Khung truyền mã của một nút nhấn
Trang 232.2 Led thu hồng ngoại TL1838
2.2.1 Giới thiệu
Hình 2.14: Dạng xung đầu ra
Bảng 2.1: Mã cụ thể của từng phím
Trang 24Trên thị trường có nhiều chủng loại led thu hồng ngoại[2] khác nhau, từled thu 2 chân cho đến led thu 3 chân Led thu 3 chân gọi là phototransistor làloại có 3 chân, nó có độ nhạy cao hơn Đối với led thu 2 chân là photodiodethì cấp nguồn ngược, khi có anh sáng hồng ngoại nó sẽ dẫn Còn đối vớitransistor thì nó có 3 chân riêng biệt: V+, GND, OUT.
2.2.2 Thông số chính của TL1838
- Làm việc ở mức điện áp: 2,7 ~ 5,5V
- Tần số hoạt động: 38KHz
- Dòng tiêu thụ: 1,4 mA
- Khoảng cách nhận biết: Khoảng 15m với góc 45°
- Tương thích với TTL và CMOS
- Có tích hợp tiền khuyếch đại
Hình 2.15: Hình ảnh thực tế TL1838
Trang 252.3 Cảm biến vật cản
2.3.1 Giới thiệu
Cảm biến vật cản[3] có khả năng thích nghi với môi trường, có một cặptruyền và nhận tia hồng ngoại.Tia hồng ngoại phát ra một tần số nhất định,khi phát hiện hướng truyền có vật cản( mặt phản xạ), phản xạ vào đèn thuhồng ngoại, sau khi so sánh, đèn sẽ sáng lên, đồng thời cho tín hiệu đầu ra
2.3.2 Thông số kỹ thuật và tính năng
Trang 26- Khoảng cách làm việc: 2 ~ 5 cm.
Trang 272.4 Giới thiệu về vi điều khiển ARM
2.4.1 Giới thiệu sơ lược về họ vi điều khiển ARM – CORTEX
Trang 28STM32 là một trong những dòng chip phổ biến của ST với nhiều họthông dụng như F0, F1, F2, F3, F4… Dòng ARM CORTEX[4] là một xử lý thế
hệ mới đưa ra một kiến trúc chuẩn cho nhu cầu đa dạng về công nghệ Khônggiống như các chip ARM khác, dòng cortex là một lõi xử lí hoàn thiện, đưa ramột chuẩn CPU và kiến trúc hệ thống chung STM32 thiết kế dựa trên dòngCortex – M3, có khả năng đáp ứng các ứng dụng tiêu thụ năng lượng thấp vàtính điều khiển thời gian thực khắt khe STM32F103 thuộc họ F1 với lõi làARM CORTEX-M3 STM32F103 là vi điều khiển 32 bit, tốc độ tối đa là72Mhz Có chí phí cũng khá rẻ so với các loại vi điều khiển có cùng chứcnăng tương tự Mạch nạp cũng như công cụ lập trình khá đa dạng và dễ sửdụng
Hình 2.17: Kiến trúc vi xử lí ARM Cortex – M3
Trang 292.4.1.1 Giới thiệu về vi điều khiển STM32F103C8T6
Hiện nay trên thị trường có rất nhiều các họ vi điều khiển được sử dụngnhư 8051, PIC, AVR, … Tuy nhiên với sự xu hướng tạo ra các sản phẩm cầnphải đáp ứng nhanh các yêu cầu cũng như khả năng làm việc chính xác nên
em đã quyết định chọn họ vi điều khiển ARM để mở rộng vốn kiến thức vàphát triển các ứng dụng trên thiết bị này và cụ thể là STM32F103C8T6 cùngvới một số nguyên nhân khác như:
- Họ vi điều khiển này có thể được tìm mua dễ dàng trên thị trường ởViệt Nam, giá thành cũng không quá đắt
- Số lượng người sử dụng vi điều khiển này khá phổ biến và rộng rãi, cónhiều cộng đồng chia sẻ và nguồn tài liệu lớn
- Có sự hỗ trợ của nhà sản xuất về trình biên dịch, công cụ lập trình, nạp
chương trình từ đơn giản đến phức tạp, đặc biệt hỗ trợ debug chươngtrình bằng mạch nạp rất tốt
- Có tích hợp các ngoại vi hay chuẩn giao tiếp như (GPIO, I2C, SPI,ADC, USB, Ethernet, …)
Hình 2.18: STM32F103C8T6
Trang 302.4.1.2 Sơ đồ chân
2.4.1.3 Thông số kỹ thuật
- STM32F103C8T6 hiệu suất cao và tiêu thụ năng lượng thấp
- Đây là vi điều khiển 32 bit cung cấp những tính năng sau:
+ Lõi ARM Cortex M3
+ 64K bytes bộ nhớ chương trình dạng Flash và 20K Byte SRAM.+ Độ rộng bus dữ liệu là 32 bit
+ Tần số đồng hồ tối đa là 72MHz
+ Độ phân giải ADC 12 bit
+ Số lượng kênh ADC là 10 kênh
+ Số lượng chân I/O là 37 I/O
+ Điện áp cấp vận hành từ 2V đến 3,6V
+ Nhiệt độ làm việc tối thiểu - 40°C
+ Nhiệt độ làm việc tối đa + 85°C
+ Loại giao tiếp CAN, I2C, SPI, USART, USB
+ Số bộ hẹn giời timer là 4 bộ
+ Không có bộ nhớ EEPROM
Hình 2.19: Sơ đồ chân STM32F103C8T6
Trang 312.4.2 Công cụ lập trình
2.4.2.1 Phần mềm KeilC v5
Keilc v5 là một phần mềm hỗ trợ cho người dùng trong việc lập trìnhcho vi điều khiển các dòng khác nhau(Atmel, AVR,…) Đây là một chươngtrình máy tính làm công việc dịch một chuỗi các câu lệnh được viết bằngngôn ngữ lập trình( ở đây có thể là C hoặc Assembly) thành một chương trình
ở dạng một ngôn ngữ máy tính( ngôn ngữ máy tính hiểu được)
- Ưu điểm:
+ Trình biên dịch này khá nhanh, mạnh, được nhiều người sử dụng,
hỗ trợ nhiều loại debugger, tối ưu hóa cao cho các ứng dụng có
2.4.2.2 Bộ thư viện STM32F10x_StdPeriph_Lib_V3.5.0
Đây là gói thư viện chuẩn phục vụ cho việc lập trình ARM STM32.Thư viện gồm nhiều thu viện C dành cho ngoại vi của STM32 Phù hợp vớicác developer có kiến thức về C tốt
Trang 322.4.3 Ngoại vi GPIO
Generral – purpose Input/ Output( GPIO)[5] được hiểu là nơi giao tiếpchung giữa tín hiệu ra và tín hiệu vào, một chức năng ngoại vi cơ bản của cácloại vi điều khiển
Nó cũng tương tự như các dòng vi điều khiển 8 bit như 8051, PIC… Ởcác vi điều khiển 32 bit như ARM thì có đến 16 chân I/O trên 1 port được
Hình 2.20: cấu trúc cơ bản của một cổng I/O
Trang 33đánh số từ 0 đến 15 tương ứng mỗi chân là 1 bit STM32F103C8T6 gồm có 3port chính là PORTA, PORTB và PORTC.
2.4.3.1 Các chế độ của GPIO của STM3
- Input float: Cấu hình chân I/O là ngõ vào và để nổi
- Input pull-up: Cấu hình chân I/O là ngõ vào và có trở kéo lên nguồn
- Input pull-down: Cấu hình chân I/O là ngõ vào và có trở nối xuốngmass
- Analog: Cấu hình chân I/O là analog dùng cho các mode có sử dụngADC và DAC
- Output open – drain: cấu hình chân I/O là ngõ ra, khi output control = 0thì N- MOS sẽ dẫn, chân I/O sẽ nối VSS, còn khi output control = 1 thìP-MOS và N- MOS đều không dẫn, chân I/O được để nổi
- Output push-pull: cấu hình chân I/O là ngõ ra, khi output control = 0 thìN-MOS sẽ dẫn, chân I/O sẽ nối VSS, còn khi output control = 1 thì P-MOS dẫn, chân I/O nối với VDD
- Alternate function push-pull: sử dụng chân I/O vừa là ngõ ra, vừa làngõ vào, tuy nhiên sẽ không có trở kéo lên và kéo xuống ở input, chứcnăng output giống Output push-pull Ngoài ra nó còn sử dụng chứcnăng remap
- Alternate function open-drain: sử dụng chân I/O vừa là ngõ ra, vừa làngõ vào, tuy nhiên sẽ không có trở kéo lên và kéo xuống ở input, chứcnăng output giống Output open-drain
2.4.3.2 Lập trình với ngoại vi GPIO
- Xuất dữ liệu ra các chân vi điều khiển:
+ Mức logic 0: GPIO_ResetBits( GPIOx, GPIO_Pin_y);
+ Mức logic 1: GPIO_SetBits( GPIOx, GPIO_Pin_y);
- Đọc tín hiệu đầu vào trên vi điều khiển:
+ GPIO_ReadInputData( GPIOx) & ( 1 << y);
- Đọc tín hiệu đầu ra trên vi điều khiển:
Trang 34+ GPIO_ReadOutputDataBit(GPIOx, GPIO_Pin_y);
Trong đó: x là tên PORT: A, B; y là tên PIN: 0, 2, 3,…., 15
Ví dụ: Ghi mức logic 1 trên PIN 13 PORT C: GPIO_SetBits( GPIOC,GPIO_Pin_13);
2.4.4 Ngoại vi Systick
Ngoại vi Systick[6] là một module của nhân ARM – CORTEX M3,cũng chính là một timer đếm lùi 24 bit Module này thường được sử dụng chonhững ứng dụng hệ điều hành, tạo thời gian trễ với độ chính xác cao
Systick là một bộ đếm xuống 24 bits Giá trị đếm được tự động nạp lạikhi bộ đếm đếm về 0 Nguồn Clock có thể chọn từ nguồn Clock của hệ thống(AHB) hoặc nguồn Clock của hệ thống /8( AHB/8) Systick sẽ đếm từ giá trịnạp lại( được khởi tạo sẵn) về 0 và giá trị này tự động được nạp lại trong chu
kỳ đếm tiếp theo
2.4.4.1 Các thanh ghi trạng thái và điều khiển Systick
- Thanh ghi trạng thái và điều khiển Systick( CTRL):
+ Khi reset giá trị của CTRL sẽ bằng 0
Hình 2.21: Thanh ghi trạng thái và điều khiển Systick
Trang 35+ Bit COUNT FLAG: Được set lên 1 khi bộ đếm về 0.
+ Bit CLKSOURCE: Lựa chọn nguồn Clock cho SysTick.CLKSOURE = 1 sử dụng nguồn Clock hệ thống( AHB).CLKSOURE = 0 sử dụng nguồn Clock hệ thống/ 8( AHB/ 8)
+ Bit TICKINIT: Cho phép một yêu cầu ngoại lệ xảy ra khi bộ đếmđếm về 0 TICKINIT = 1: Cho phép TICKINIT = 0: Không chophép
+ Bit ENABLE = 1: Cho phép bộ đếm STK hoạt động ENABLE = 0:Không cho phép bộ đếm STK hoạt động
- Thanh ghi chứa giá trị Reload của SysTick( LOAD):
Khi Reset, giá trị STK_LOAD = 0 Để tạo ra một khoảng thời gian Nchu kỳ xung nhịp thì cần nạp giá trị vào LOAD giá trị: N-1
Hình 2.22: Thah ghi chứa giá trị reload của Systick