Tải bản đầy đủ (.pdf) (75 trang)

Đồ án nông nghiệp thông minh IOT

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.36 MB, 75 trang )

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ - VIỄN THÔNG
----------

ĐỒ ÁN MÔN HỌC 1

Đề tài:

MÔ HÌNH NÔNG NGHIỆP THÔNG MINH

SVTH: NGUYỄN VĂN GIỎI
MSSV: 14119013
SVTH: DANH QUANG VŨ
MSSV: 14119068
GVHD: Ths. HUỲNH HOÀNG HÀ

TP.Hồ Chí Minh – tháng 7 năm 2017


LỜI CẢM ƠN

Nhóm nghiên cứu xin gửi lời cám ơn sâu sắc và chân thành tới
thầy HUỲNH HOÀNG HÀ đã tận tình giúp đỡ, chỉ bảo, hướng
dẫn nhóm thực hiện trong suốt quá trình thực hiện đề tài này.
Trong thời gian làm việc với thầy, nhóm không những tiếp thu
thêm nhiều kiến thức bổ ích mà còn học tập được tinh thần làm
việc, thái độ nghiên cứu khoa học nghiêm túc, hiệu quả của thầy
đây là những điều rất cần thiết cho nhóm trong quá trình học tập
và công tác sau này.
Chân thành cảm ơn đến các bạn đã luôn đồng hành, giúp


đỡ để nhóm có thể thực hiện đề tài này thành công.
Người thực hiện
Nguyễn Văn Giỏi
Danh Quang Vũ

i


TÓM TẮT
Hiện nay trên thế giới, việc ứng dụng các công nghệ điều khiển vào trong sản xuất là
rất nhiều và cần thiết trong các ngành nghề kể cả trong nông nghiệp. Trong nông nghiệp,
nhờ ứng dụng các công nghệ điều khiển hiện đại mà năng suất và chất lượng cây trồng
tăng lên đáng kể. Với công nghệ trồng rau có sự hỗ trợ của các thiết bị theo dõi và điều
khiển đã cho những kết quả ngoài mong đợi như: năng suất cao, chất lượng tốt, sạch, an
toàn mà còn có thể trồng những loại cây mà từ trước không phải là truyền thống của
vùng miền.
Ở Việt Nam, việc trồng rau ứng dụng công nghệ cũng đang từng bước phát triển nhanh
chóng, đem lại lợi ích cao cho người nông dân. Tuy nhiên, do chi phí đầu tư cao nên việc
ứng dụng chỉ hạn chế trong các nông trang lớn có khả năng về kinh tế, hoặc chỉ điều
khiển ở dạng bán tự động nên vẫn cần nhiều nhân công trong việc điều khiển vì hầu hết
các trang thiết bị điều khiển đều phải nhập từ nước ngoài nên giá thành cao. Do đó cần
phải có hướng nghiên cứu, thiết kế và chế tạo ra những thiết bị này ngay ở trong nước
để giảm chi phí, phù hợp với điều kiện kinh tế của người nông dân và điều kiện môi
trường, khí hậu ở Việt Nam.
Vì lý những do này, nhóm đã chọn lựa đề tài “Mô hình nông nghiệp thông minh”.
Trong quá trình thực hiện đề tài không tránh khỏi những sai sót do kiến thức có giới
hạn, cũng như tham khảo từ nhiều nguồn tài liệu từ internet, sách, báo…Rất mong nhận
được sự đóng góp của quý thầy cô cũng như các bạn để đề tài thực hiện thành công và
phát triển hơn nữa.
Chân thành cảm ơn.

Người thực hiện đề tài
Nguyễn Văn Giỏi
Danh Quang Vũ

ii


MỤC LỤC
CHƯƠNG 1..................................................................................................................... 1
TỔNG QUAN ĐỀ TÀI................................................................................................... 1
1.1

Tình hình nghiên cứu hiện nay. .......................................................................... 1

1.2

Lý do chọn đề tài. ............................................................................................... 1

1.3

Mục tiêu của đề tài.............................................................................................. 1

1.4

Đối tượng và phạm vi nghiên cứu. ..................................................................... 2

1.5

Giới hạn đề tài. ................................................................................................... 2


1.6

Bố cục của Đồ án môn học. ................................................................................ 2

CHƯƠNG 2..................................................................................................................... 4
CƠ SỞ LÝ THUYẾT ..................................................................................................... 4
2.1

Kit ARM STM32F103C8T6. ............................................................................. 4

2.1.1

Giới thiệu vi xử lý ARM. ............................................................................. 4

2.1.2

Lịch sử phát triển ARM. .............................................................................. 5

2.1.3

Giới thiệu về ARM Cortex. ......................................................................... 6

2.1.4

Các thành phần KIT STM32F103C8T6. ..................................................... 8

2.2

DHT11. ............................................................................................................... 9


2.2.1

Giới thiệu. .................................................................................................... 9

2.2.2

Thông số kỹ thuật. ..................................................................................... 10

2.2.3

Nguyên lý hoạt động. ................................................................................. 10

2.3

Module Cảm biến độ ẩm đất. ........................................................................... 13

2.3.1

Giới thiệu. .................................................................................................. 13

2.3.2

Thông số kỹ thuật. ..................................................................................... 14

2.3.3

Nguyên lý hoạt động. ................................................................................. 15

2.4


LCD 16x02. ...................................................................................................... 16

2.4.1

Giới thiệu. .................................................................................................. 16
iii


2.4.2

Hình dáng và kích thước. ........................................................................... 16

2.4.3

Sơ đồ chân LCD 16x02.............................................................................. 16

2.4.4

Địa chỉ từng ký tự trên LCD 16x02. .......................................................... 17

2.4.5

Bộ điều khiển LCD và các vùng nhớ. ........................................................ 18

2.4.6

Mã ASCII hiển thị LCD 16x02. ................................................................ 19

2.5


Module relay 2 kênh. ........................................................................................ 20

2.5.1

Giới thiệu. .................................................................................................. 20

2.5.2

Cấu tạo relay. ............................................................................................. 20

2.5.3

Sơ đồ nguyên lý module relay 2 kênh. ...................................................... 21

2.6

Hệ điều hành thời gian thực RTOS. ................................................................. 23

2.6.1

Giới thiệu. .................................................................................................. 23

2.6.2

Tải thư viện hỗ trợ RTOS. ......................................................................... 23

2.7

Trình biên dịch Keil C cho ARM. .................................................................... 24


2.7.1

Lý do lựa chọn. .......................................................................................... 24

2.7.2

Giới thiệu về Keil C. .................................................................................. 25

CHƯƠNG 3................................................................................................................... 26
PHÂN TÍCH LỰA CHỌN PHẦN CỨNG HỆ THỐNG .......................................... 26
3.1

Yêu cầu hệ thống. ............................................................................................. 26

3.2

Sơ đồ khối hệ thống. ......................................................................................... 26

3.3

Phân tích và kết nối phần cứng. ........................................................................ 27

3.3.1

Khối Kit ARM STM32F103C8T6............................................................. 27

3.3.2

Khối nguồn. ............................................................................................... 28


3.3.3

Khối PC...................................................................................................... 29

3.3.4

Khối cảm biến. ........................................................................................... 30

3.3.5

Khối điều khiển bằng tay. .......................................................................... 31

3.3.6

Khối hiển thị LCD. .................................................................................... 32

3.3.7

Khối relay 2 kênh. ...................................................................................... 35
iv


3.4

Sơ đồ kết nối mạch. .......................................................................................... 36

CHƯƠNG 4................................................................................................................... 38
LƯU ĐỒ GIẢI THUẬT TRONG HỆ THỐNG ........................................................ 38
4.1


Hàm chính. ........................................................................................................ 38

4.2

Hàm con. ........................................................................................................... 39

4.2.1

Lưu đồ tạo và hiển thị ký tự ở CGRAM LCD. .......................................... 39

4.2.2

Lưu đồ nhấp nháy led C13. ........................................................................ 41

4.2.3

Lưu đồ đọc thông số cảm biến. .................................................................. 42

4.2.4

Lưu đồ hiển thị thông số lên LCD. ............................................................ 43

4.2.5

Lưu đồ điều khiển relay. ............................................................................ 44

CHƯƠNG 5................................................................................................................... 50
KẾT QUẢ VÀ ĐÁNH GIÁ ......................................................................................... 50
5.1


Sơ đồ thiết kế hệ thống. .................................................................................... 50

5.2

Sản phẩm hoàn thiện......................................................................................... 51

5.3

Đánh giá đề tài. ................................................................................................. 52

5.3.1

Ưu điểm. .................................................................................................... 52

5.3.2

Nhược điểm................................................................................................ 52

CHƯƠNG 6................................................................................................................... 54
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .................................................................. 54
6.1

Kết luận............................................................................................................. 54

6.1.1

Những vấn đề nghiên cứu. ......................................................................... 54

6.1.2


Những vấn đề hoàn thành. ......................................................................... 54

6.1.3

Những hạn chế của đề tài. .......................................................................... 54

6.2

Hướng phát triển của đề tài. ............................................................................. 54

TÀI LIỆU THAM KHẢO .............................................................................................. 55
PHỤ LỤC ....................................................................................................................... 56

v


DANH MỤC TỪ VIẾT TẮT
RTOS:
Real-time Operating System.
LCD:
Liquid Crystal Display.
ARM:
Advanced RISC Machine.
RISC:
Reduced Instruction Set Computer.
CPU:
Central Processing Unit.
CAN:
Controller Area Network.
DMA:

Direct Marketing Association.
USART: Universal Synchronous/Asynchronous Receiver/Transmitter.
SPI:
Serial Peripheral Interface.
USB:
Universal Serial Bus.
WDT:
Watchdog Timer.
SRAM: Static Random Access Memory.
Op-amp: Operational Amplifier.
DDRAM : Display Data RAM.
CGROM : Character Generator ROM.
CGRAM : Character Generator RAM.
ASCII:
American Standard Code for Information Interchange.

vi


DANH MỤC HÌNH
Hình 2. 1 Một sô ứng dụng của ARM.................................................................... 4
Hình 2. 2 Vi điều khiển ARM STM32F103C8T6 ................................................. 6
Hình 2. 3 Các thành phần của KIT STM32F103C8T6 .......................................... 8
Hình 2. 4 Hình ảnh thực tế và sơ đồ chân. ............................................................. 9
Hình 2. 5 Kích thước và khoảng cách chân DHT11 ............................................ 10
Hình 2. 6 Kết nối giữa MCU và DHT11.............................................................. 10
Hình 2. 7 Gửi tín hiệu........................................................................................... 11
Hình 2. 8 Nhận dữ liệu bit ‘0’ .............................................................................. 12
Hình 2. 9 Nhận dữ liệu bit “1” ............................................................................. 12
Hình 2. 10 Hình ảnh thực tế của module. ............................................................ 13

Hình 2. 11 Module chính của cảm biến độ ẩm đất .............................................. 14
Hình 2. 12 Hình ảnh thực tế và sơ đồ chân LM393 ............................................. 15
Hình 2. 13 Sơ đồ nguyên lý của module cảm biến .............................................. 15
Hình 2. 14 Hình dáng của loại LCD 16x02 ......................................................... 16
Hình 2. 15 Sơ đồ khối của bộ điều khiển LCD .................................................... 18
Hình 2. 16 Hình dáng thực của relay ................................................................... 20
Hình 2. 17 Cấu tạo của relay và sơ đồ chân ......................................................... 20
Hình 2. 18 Sơ đồ nguyên lý module relay 2 kênh................................................ 21
Hình 2. 19 Module relay dùng BJT PNP ............................................................. 22
Hình 2. 20 Giao diện trang chủ FreeRTOS.......................................................... 23
Hình 2. 21 Nguồn tải thư viện RTOS .................................................................. 24
Hình 2. 22 “FreeRTOSv9.0.0.exe” sau khi extract .............................................. 24
Hình 2. 23 Trang chủ để tải Keil C. ..................................................................... 25
Hình 2. 24 Giao diện Keil C................................................................................. 25
Hình 3. 1 Sơ đồ khối tổng quát của hệ thống. ...................................................... 26
Hình 3. 2 Pinout và chức năng từng chân của KIT STM32F103C8T6. .............. 28
Hình 3. 3 Sơ đồ khối nguồn cung cấp. ................................................................. 28
Hình 3. 4 Datasheet của LM7805C ...................................................................... 29
Hình 3. 5 Kết nối ST-Link V2 mini với KIT. ...................................................... 30
vii


Hình 3. 6 Kết nối nút nhấn với KIT ..................................................................... 31
Hình 3. 7 Dòng điện tại I/O của KIT ................................................................... 32
Hình 3. 8 Ký tự do nhóm nghiên cứu tự tạo tại vùng nhớ CGRAM ................... 32
Hình 3. 9 Các đoạn tạo nên ký tự lớn trên LCD .................................................. 33
Hình 3. 10 Ký tự tự tạo được lưu trong CGRAM ................................................ 34
Hình 3. 11 Hình ảnh thực tế module relay 2 kênh ............................................... 35
Hình 3. 12 Sơ đồ kết nối chân trong mô hình ...................................................... 36
Hình 4. 1 Lưu đồ hàm chính của chương trình. ................................................... 38

Hình 4. 2 Lưu đồ tạo ký tự và hiển thị từ CGRAM. ............................................ 39
Hình 4. 3 Lưu đồ hiển thị chữ “DA – 1”.............................................................. 40
Hình 4. 4 Lưu đồ nhấp nháy led C13. .................................................................. 41
Hình 4. 5 Đọc thông số thừ 2 cảm biến. .............................................................. 42
Hình 4. 6 Hiển thị thông số lên LCD. .................................................................. 43
Hình 4. 7 Lưu đồ điều khiển relay. ...................................................................... 44
Hình 4. 8 Lưu đồ điều khiển động cơ. ................................................................. 45
Hình 4. 9 Lưu đồ điều khiển đèn tự động. ........................................................... 46
Hình 4. 10 Lưu đồ điều khiển động cơ bằng tay.................................................. 47
Hình 4. 11 Lưu đồ điều khiển đèn bằng tay ......................................................... 48
Hình 5. 1 Sơ đồ layout thiết kế trên Proteus ........................................................ 50
Hình 5. 2 Sơ đồ mạch in ....................................................................................... 50
Hình 5. 3 Sản phẩm mạch in ................................................................................ 51
Hình 5. 4 Mặt trước của sản phẩm ....................................................................... 51
Hình 5. 5 Mặt nhìn từ trên xuống......................................................................... 52

viii


DANH MỤC BẢNG
Bảng 2. 1 Các dòng phát triển của ARM ............................................................... 5
Bảng 2. 2 Thông số kỹ thuật ARM STM32F103C8T6 ......................................... 7
Bảng 2. 3 Chức năng lựa chọn Boot trong kit ....................................................... 8
Bảng 2. 4 Chức năng các chân của LCD 16x02 .................................................. 17
Bảng 2. 5 Địa chỉ trên LCD 16x02 ...................................................................... 17
Bảng 2. 6 Bảng mã ASCII.................................................................................... 19
Bảng 3. 1 Kết nối giữa mạch nạp và KIT ............................................................ 30
Bảng 3. 2 Kết nối DHT11 với KIT ...................................................................... 30
Bảng 3. 3 Sơ đồ kết nối giữa cảm biến độ ẩm đất và KIT ................................... 31
Bảng 3. 4 Thiết lập địa chỉ CGRAM ................................................................... 33

Bảng 3. 5 Vùng nhớ CGRAM.............................................................................. 33
Bảng 3. 6 Sơ đồ nối chân của LCD và KIT. ........................................................ 35
Bảng 3. 7 Kết nối chân của module relay 2 kênh. ............................................... 36

ix


CHƯƠNG 1
TỔNG QUAN ĐỀ TÀI
1.1 Tình hình nghiên cứu hiện nay.
Hiện nay, xã hội ngày càng phát triển và khoa học kỹ thuật ngày càng tiên tiến hơn
thì nhu cầu về kỹ thuật càng được quan tâm và phát triển hơn. Đặc biệt là những công
trình nghiên cứu khoa học nhằm thiết kế ra những sản phẩm ứng dụng có ý nghĩa thiết
thực vào cuộc sống. Nó có thể thay thế con người, giảm lao động chân tay hoặc giúp con
người quan sát, kiểm tra những nơi độc hai, nguy hiểm mà cơ thể con người không thể
chịu đựng được.

1.2 Lý do chọn đề tài.
Thấy được tầm quan trọng và nhu cầu thiết yếu của xã hội, đồng thời trong quá trình
học tập thì nhóm nghiên cứu được học khá nhiều về kít nhúng và cách hoạt động của các
cảm biến. Và bây giờ, thông qua đồ án môn học 1 này, nhóm nghiên cứu muốn tạo ra
một sản phẩm sử dụng các tính năng của kít nhúng và các loại cảm biến. Nên nhóm
nghiên cứu quyết định chọn đề tài: “Mô hình nông nghiệp thông minh”.

1.3 Mục tiêu của đề tài.
Đề tài triển khai nghiên cứu hướng tới mục tiêu sau:
Theo dõi nhiệt độ, độ ẩm không khí thông qua cảm biến dht11 và độ ẩm đất qua
cảm biến độ ẩm đất.
Điều chỉnh hệ thống thông qua 3 nút nhấn: nút chuyển chế độ điều khiển tự động
và điều khiển bằng tay, nút nhấn điều khiển relay đèn và nút nhấn điều khiển relay bơm

nước.
Nếu nút điều khiển chế độ online/offline ở chế độ online thì hệ thống điều khiển
đèn và bơm nước thông qua 2 relay sẽ dựa vào giá trị cài đặt tự động trong chương trình
để hoạt động phù hợp với loại cây mà chủ trang trại đang canh tác. Nếu nút điều khiển
chế độ online/offline ở chế độ offline thì hệ thống điều khiển đèn và bơm nước thông
qua 2 relay sẽ dựa vào trạng thái của 2 nút nhấn còn lại mà hoạt động, bất chấp giá trị
được đặt trước.
Tất cả các nhiệm vụ: đọc cảm biến, điều khiển nút nhấn, hiển thị thông số đều hoạt
động song song thông qua RTOS.
Và tất nhiên, tất cả trang thái và thông số đều được hiển thị trên màn hình LCD
16x02.

1


1.4 Đối tượng và phạm vi nghiên cứu.
Đối tượng:
Kit ARM STM32F103C8T6.
Module relay 2 kênh tích cực mức cao.
Nút nhấn điều khiển.
Cảm biến dht11, cảm biến độ ẩm đất.
Phạm vi nghiên cứu.
Nghiên cứu trong lĩnh vực lập trình nhúng trên STM32F103C8T6.
Nghiên cứu phần mềm hỗ trợ điều khiển trên STM32F103C8T6 như Keil C,
STM32CubeMX.
Nghiên cứu hệ thống RTOS – hoạt động song song giữa các tác vụ trên ARM.
Cách kết nối vật lý giữa cảm biến, nút nhấn, LCD với STM32F103C8T6.
Tìm hiểu nguyên lý hoạt động của các cảm biến cần sử dụng.
Phương pháp nghiên cứu.
Để giải quyết vấn đề, ta thực hiện phương pháp nghiên cứu như sau:

Nghiên cứu về kit STM32F103C8T6.
Thiết kế board mạch và hộp kết nối với kit để bảo vệ kit trong môi trường ngoài
trời.
Nghiên cứu viết code và kết nối với kit thông qua ST-Link V2 mini, chuẩn gian
tiếp USB.
Xử lý dữ liệu của các cảm biến để hiển thị lên LCD 16x02.

1.5 Giới hạn đề tài.
Đề tài chỉ tìm hiểu trong phạm vi như sau:
Tìm hiểu cách hoạt động của kit và các task vụ hoạt động song song dựa vào
RTOS.
Tìm hiểu các đọc các cảm biến dht11, độ ẩm đất và hiển thị lên LCD 16x02.
Theo dõi và điều khiển hệ thống trực tiếp, chưa hỗ trợ điều khiển và theo dõi từ
xa.

1.6 Bố cục của Đồ án môn học.
Nội dung chính của đề tài được trình bày với năm chương như sau:
Chương 1 Tổng quan đề tài.
Trong chương này nêu ra được tình hình nghiên cứu hiện nay, lý do và mục tiêu
chọn đề tài, đối tượng và phạm vi nghiên cứu của đề tài, phương pháp nghiên cứu
và giới hạn của đề tài.
Chương 2: Cơ sở lý thuyết.
2


Các lý thuyết chính liên quan đến các thành phần phần cứng và phần mềm cả hệ
thống được trình bày như sau:
• STM32F103C8T6.
• Các loại cảm biến được dùng: cảm biến nhiệt độ, độ ẩm: dht11; cảm biến độ
ẩm đất.

• Màn hình hiển thị LCD 16x02.
• Module relay điều khiển động cơ và đèn.
• Hệ điều hành thời gian thực – RTOS.
• Trình biên dịch Keil C.
Chương 3: Phân tích lựa chọn hệ thống phần cứng.
Trong chương này, mục đích là thiết kế phần cứng cho hệ thống với những yêu
cầu đặt ra với hệ thống. Từ sơ đồ khối tổng quát và sơ đồ khối chi tiết để tiến hành
lựa chọn các linh kiện cho các khối.
Phân tích các khối của phần cứng hệ thống:
• Khối KIT STM32F103C8T6.
• Khối PC.
• Khối cảm biến.
• Khối điều khiển bằng tay.
• Khối hiển thị LCD.
• Khối relay 2 kênh.
Xây dựng chương trình trên STM32F103C8T6 để thực hiện quá trình thực hiện
song song các hoạt động: đọc cảm biến, hiển thị LCD 16x02, điều khiển relay thông
qua nút nhấn.
Chương 4: Lưu đồ giải thuật trong hệ thống.
Chương này trình bày về lưu đồ giải thuật của chương trình chính và của tất cả
các chương trình con trong hệ thống.
Giải thích hoạt động.
Chương 5: Kết quả và đánh giá.
Trình bày về kết quả thi công phần cứng, sản phẩm hoàn thiện.
Đánh giá ưu nhược điểm của hệ thống.
Chương 6: Kết luận và hướng phát triển.
Đưa ra các kết luận về những vấn đề mà trong quá trình nghiên cứu đã đạt được,
chưa đạt được và những hạn chế của đề tài.
Đưa ra hướng phát triển đề tài trong tương lai.
3



CHƯƠNG 2
CƠ SỞ LÝ THUYẾT
2.1 Kit ARM STM32F103C8T6.
2.1.1 Giới thiệu vi xử lý ARM.
Cấu trúc của ARM (Acorn RISC Machine) là cấu trúc vi xử lý 32 bit kiểu kiến trúc
tập lệnh RISC (thuộc kiến trúc Hardvard, có tập lệnh rút gọn) được sử dụng rộng rãi
trong ngành thiết kế và lập trình nhúng. Vì có ưu điểm là tiết kiệm năng lượng, các bộ
CPU ARM được ứng dụng rộng rãi trong các sản phẩm điện tử nhỏ gọn, vì đối với các
sản phẩm này thì việc tiêu tán công suất thấp là mục tiêu thiết kế quan trọng được đặt
lên hàng đầu.

Hình 2. 1 Một sô ứng dụng của ARM
Ngày nay, CPU ARM được tìm thấy khắp mọi nơi trong các sản phẩm thương mai
điện tử, thiết bị cầm tay (điện thoại di động, máy tính cầm tay,…) cho đến các thiết bị
ngoại vi máy tính (ổ đĩa cứng, bộ định tuyến router,..).

4


2.1.2 Lịch sử phát triển ARM.
Kiến trúc

Số bit

Tên lõi

ARM1.
ARM2, ARM250, ARM3.

ARM6, ARM7.
ARM8.
ARM7TDMI, ARM9TDMI, SecurCore SC100.
ARM7EJ, ARM9E, ARM10E.
ARM11.
ARM Cortex-M0, ARM Cortex-M0+,ARM Cortex-M1.
ARM Cortex-M3, SecurCore SC300.
ARM Cortex-M4, ARM Cortex-M7.
ARM Cortex-M23, ARM Cortex-M33.
ARM Cortex-R4, ARM Cortex-R5,ARM Cortex-R7.
ARM Cortex-A5, ARM Cortex-A7,ARM Cortex-A8, ARM
ARMv7-A
32
Cortex-A9,ARM Cortex-A12, ARM Cortex-A15,ARM CortexA17.
ARMv8-A
32
ARM Cortex-A32.
ARM Cortex-A35, ARM Cortex-A53, ARM Cortex-A57, ARM
ARMv8-A 64/32
Cortex-A72, ARM Cortex-A73.
Bảng 2. 1 Các dòng phát triển của ARM
ARM được bắt đầu thiết kế từ năm 1983 trong một dự án phát triển của công ty máy
tính Acorn.
Nhóm thiết kế hoàn thành việc phát triển mẫu vào năm 1985: ARM1, và vào năm
sau, nhóm hoàn thành sản phẩm ‘’thực’’ gọi là ARM2.
ARM2 có tuyến dữ liệu 32-bit, không gian địa chỉ 26-bit tức cho phép quản lý đến
64 Mbyte địa chỉ và 16 thanh ghi 32-bit. Thế hệ sau, ARM3, được tạo ra với 4KB cache
và có chức năng được cải thiện tốt hơn nữa cho các phiên bản tiếp theo.
Vào cuối thập niên 80, hãng Apple Computer hợp tác với Acorn để phát triển các lõi
ARM mới và tạo ra ARM6.

Trải qua nhiều thế hệ nhưng lõi ARM gần như không thay đổi kích thước. ARM2 có
30.000 transistors trong khi ARM6 chỉ tăng lên đến 35.000. Ý tưởng của nhà sản xuất
lõi ARM là: người sử dụng có thể ghép lõi ARM với một số bộ phận tùy chọn nào đó để
ARMv1
ARMv2
ARMv3
ARMv4
ARMv4T
ARMv5TE
ARMv6
ARMv6-M
ARMv7-M
ARMv7E-M
ARMv8-M
ARMv7-R

32/26
32/26
32
32
32
32
32
32
32
32
32
32

5



tạo ra một CPU hoàn chỉnh, một loại CPU mà có thể tạo ra trên những nhà máy sản xuất
bán dẫn cũ và vẫn tiếp tục tạo ra được sản phẩm với nhiều tính năng mà giá thành vẫn
thấp có thể.

2.1.3 Giới thiệu về ARM Cortex.

Hình 2. 2 Vi điều khiển ARM STM32F103C8T6
Dòng ARM Cortex là một bộ 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ệ. Mặc dù vi điều khiển 8-bit rất phổ biến trong quá khứ, nhưng
ARM-Cortex đã dần dần thay thế thị trường 8-bit vì giá rẻ hơn và tối ưu về hiệu suất
hơn. Để phù hợp với nhu cầu sử dụng, ARM Cortex được chia làm 3 dòng chính:
Cortex-A: bộ xử lý dành cho các ứng dụng cấp cao và phức tạp như hệ điều hành.
Cortex-R: bộ xử lý dành cho các hệ thống đòi hỏi sự khắc khe về đáp ứng thời gian
thực.
Cortex-M: bộ xử lý dành cho các dòng vi điều khiển, được thiết kế tối ưu về giá
thành.
Dòng ARM STM32 có lõi Cortex-M3. Dòng Cortex-M3 được thiết kế đặc biệt để
nâng cao hiệu suất hệ thống, kết hợp với tiêu thụ năng lượng thấp.
STM32F103C8T6 là một trong những kit nhúng được ứng dụng nhiều, có thể lập
trình điều khiển ngõ ra theo ý muốn của người lập trình. Ngôn ngữ lập trình điều khiển
không quá phức tạp.
Tên gọi
Mô tả
Nhà sản xuất

STM32F103C8T6
MCU ARM 64KB FLASH MEM 48-LQFP
STMicroelectronics

6


Loại
Mạch tích hợp
Bộ nhớ Flash
64KB (64K x 8)
Bộ nhớ RAM
20K x 8
Số lượng I/O
37
Kiểu đóng gói chân LQFP48
Tốc độ tối đa
72MHz
Kiểu xung
Dùng xung nội
Kiểu Memory
FLASH
Lõi
ARM® Cortex®-M3
Kích thước Core 32-Bit
Nhiệt độ hoạt động -40°C ~ 85°C
Kết nối
CAN, I2C, DMA, SPI, UART/USART, USB
Ngoại vi
DMA, động cơ servo PWM, động cơ bước, WDT
Điện áp hoạt động 2 V ~ 3.6 V
Bảng 2. 2 Thông số kỹ thuật ARM STM32F103C8T6
CPU do ST sản xuất dựa trên ARM Cortex-M3 chip xử lý 32-bit STM32F103C8T6
với hình dạng vỏ LQFP48 có 48 chân, có 64 KB bộ nhớ flash, có 20 KB bộ nhớ RAM

và tích hợp thêm các ngoại vi 12 bit ADC, DAC, PWM, CAN, SDIO và các nguồn tài
nguyên khác.
• Là vi xử lý hiệu suất xử lý 32-bit ARM Cortex-M3 với cấu trúc RISC.
• Tần số hoạt động là 72 MHz, với 1.25 DMIPS/MHZ.
• Kiểu đóng gói LQFP48 với 48 chân ngõ ra, kích thước 7x7 mm.
• Số lượng I/O giao tiếp ngoại vi là 37.
• Kiểu dao động: dùng xung nội, có thể dùng xung ngoại bằng thạch anh.
• Kiểu bộ nhớ: flash, có thể ghi và xóa bằng điện. Không mất dữ liệu khi ngừng
cung cấp điện.
• Có thể kết nối với 7 x DMA, điều khiển động cơ servo bằng PWM, động cơ bước
và watchdog timer.
• 3 x USARTs, 2x I2C, 4 x Timer, 10 x ADC, 2 x SPI, 1 x CAN, 2 x ADC (12 bit
và 16 kênh).
• Hoạt động ở mức điện áp 2 – 3.6v.

7


2.1.4 Các thành phần KIT STM32F103C8T6.

Boot0

Boot1

Hình 2. 3 Các thành phần của KIT STM32F103C8T6
Micro usb: Cấp nguồn 5v cho kit, có mạch chuyển đổi 5v -> 3.3v tích hợp trong kit.
Không hỗ trợ tải hay debug.
Boot select:
Boot 1
Boot 0

Chức năng
X
0
Sử dụng bộ nhớ flash.
0
1
Khởi động nạp chương trình qua USART1 vào bộ nhớ hệ thống.
1
1
Sử dụng bộ nhớ SRAM.
Bảng 2. 3 Chức năng lựa chọn Boot trong kit
Khi boot0 = 0, boot1 = 0 hoặc để hở thì KIT dùng bộ nhớ flash để sử dụng.
Khi boot0 = 1, boot1 = 0 thì KIT dùng bộ nhớ hệ thống để nạp code qua USART1.
Khi boot0 = 1, boot1 = 1 thì chương trình được thực hiện trong SRAM.
Power light: Đèn báo nguồn, có thể xem nguồn điện có ổn định hay không.
Debug interface: hỗ trợ mô phỏng, nạp code và gỡ lỗi.
8


PC13 Light: đèn kết nối với chân C13,tích cực mức cao. Dùng để kiểm tra I/O hoặc
thử nghiệm chương trình.
Main Crystal: thạch anh 8 Mhz, cấp xung chính cho KIT tối đa là 72Mhz.
MCU: bộ xử lý trung tâm – STM32F103C8T6.
Reset button: khởi động lại MCU với chương trình đang chạy.
40 chân giao tiếp: bao gồm I/O, nguồn, reset,…

2.2 DHT11.
2.2.1 Giới thiệu.
DHT11 là cảm biến nhiệt độ và độ ẩm.
Là cảm biến rất thông dụng hiện nay vì chi phí rẻ và rất dễ lấy dữ liệu thông qua

giao tiếp onewire (giao tiếp 1 dây truyền dữ liệu duy nhất). Bộ tiền xử lý tín hiệu tích
hợp trong cảm biến giúp có được dữ liệu chính xác mà không cần phải qua bất kỳ tính
toán phức tạp nào.

Hình 2. 4 Hình ảnh thực tế và sơ đồ chân.
Chân 1 – VCC: cấp nguồn 3-5v.
Chân 2 – Data: lấy dữ liệu kiểu tín hiệu số: 0, 1.
Chân 3 – NC: Not Connect, không được kết nối, nhà thiết kế thêm vào để đúng
chuẩn 2.54 mm, và co thể sẽ chắc chắn hơn là 3 chân.
Chân 4 – GND: nối đất.

9


2.2.2 Thông số kỹ thuật.

Hình 2. 5 Kích thước và khoảng cách chân DHT11
Nguồn cung cấp: 3-5v DC.
Dòng sử dụng: 2.5mA.
Hoạt động tốt ở độ ẩm 20 - 80% với sai số 5%.
Hoạt động tốt ở nhiệt độ 0 tới 50 oC với sai số ±2oC.
Kích thước 15mm x12mm x5.5 mm
Có 4 chân. Khoảng cách chân 2.54 mm.

2.2.3 Nguyên lý hoạt động.
Để có thể giao tiếp với DHT11 theo chuẩn onewire, vi xử lý cần thực hiện theo 2
bước như sau:
Gửi tín hiệu muốn đo (tín hiệu start) tới DHT11, sau đó DHT11 xác nhận lại.
Khi đã giao tiếp được với DHT11, cảm biến sẽ gửi lại 5 byte dữ liệu bao gồm nhiệt
độ, độ ẩm đo được và checksum để kiểm tra.


Hình 2. 6 Kết nối giữa MCU và DHT11
10


Bước 1: gửi tín hiệu start.

Hình 2. 7 Gửi tín hiệu
MCU thiết lập chân DATA của DHT11 là Output.au đó kéo chân DATA xuống mức
0 trong khoảng thời gian lớn hơn 18ms (code để 25ms). Khi đó DHT11 sẽ hiểu MCU
muốn đo giá trị nhiệt độ và độ ẩm.
MCU đưa chân DATA lên mức 1, và thiết lập lại chân DÂT là chân đầu vào.
Sau khoảng thời gian từ 20-40us, DHT11 sẽ kéo chân DATA xuống mức 0. Nếu lớn
hơn 40us mà chân DATA ko được kéo xuống thấp nghĩa là ko giao tiếp được với DHT11.
Nếu giao tiếp được với DHT11 thì chân DATA sẽ ở mức thấp 80us sau đó nó được
DHT11 kéo nên cao trong 80us.Bằng việc giám sát chân DATA, MCU có thể biết được

11


có giao tiếp được với DHT11 không. Nếu tín hiệu đo được DHT11 kéo lên mức cao, khi
đó hoàn thiện quá trình giao tiếp của MCU với DHT11.
Bước 2: đọc giá trị trên DHT11.
Sau khi giao tiếp được với DHT11, DHT11 sẽ gửi liên tiếp 40 bit 0 hoặc 1 về MCU,
tương ứng chia thành 5 bute kết quả của nhiệt độ và độ ẩm.
DHT11 trả giá trị nhiệt độ và độ ẩm về dưới dạng 5 byte (mỗi byte 8bit). Trong đó:
Byte 1: giá trị phần nguyên của độ ẩm (%).
Byte 2: giá trị phần thập phân của độ ẩm (%).
Byte 3: giá trị phần nguyên của nhiệt độ (oC).
Byte 4 : giá trị phần thập phân của nhiệt độ (oC).

Byte 5 : tổng của byte1, byte2, byte3, byte4.
Nếu Byte 5 = (Byte1 +Byte2 +Byte3 + Byte4) thì giá trị độ ẩm và nhiệt độ là chính
xác, nếu sai thì kết quả đo không có nghĩa.
Quy trình nhận dữ liệu bit 0:

Hình 2. 8 Nhận dữ liệu bit ‘0’
Quy trình nhận dữ liệu bit 1:

Hình 2. 9 Nhận dữ liệu bit “1”
12


Sau khi tín hiệu được đưa về 0. Đợi chân DATA của MCU được DHT11 kéo lên 1
Nếu chân DATA là 1 trong khoảng 26-28 us thì có giá trị là 0 như hình 2.8, còn nếu
tồn tại 70us thì có giá trị là 1 như hình 2.9.
Do đó trong lập trình, nhóm nghiên cứu bắt sườn lên của chân DATA (bắt đầu kéo
lên mức 1),sau đó delay 50us. Nếu giá trị đo được là 0 thì ta đọc được bit 0, nếu giá trị
đo được là 1 thì giá trị đo được là 1.
Cứ như thế ta đọc các bit tiếp theo sẽ có kết quả mong muốn.

2.3 Module Cảm biến độ ẩm đất.
2.3.1 Giới thiệu.

Hình 2. 10 Hình ảnh thực tế của module.
Đây là cảm biến độ ẩm đơn giản, được sử dụng để cảm nhận độ ẩm của đất thông
qua các ion có trong nước.
Nó hoạt động dựa vào các ion dẫn điện trong nước để chuyển đổi về mức độ nước
có trong đất. Vì vậy số liệu chỉ là ở mức tương đối.
Bình thường đầu ra ở mức thấp, khi đất thiếu nước thì đầu ra sẽ mức cao, độ nhạy
có thể điều chỉnh được bằng biến trở.

Mạch có thể sử dụng tưới cây tự động khi không có người quan lý khu vườn trong
gia đình hoặc tự động tưới cây khi đất có dấu hiệu thiếu nước mà nhóm đang nghiên cứu.

13


2.3.2 Thông số kỹ thuật.

Hình 2. 11 Module chính của cảm biến độ ẩm đất
Kích thước module: 1.6cm x 3cm.
Các chân giao tiếp của module:
VCC: 3.3 – 5v.
GND: Nối đất.
D0: Đầu ra tín hiệu số: 0 và 1.
A0: Đầu ra analog (tín hiệu tương tự).
Đầu tiếp xúc đất: kết nối với đầu cắm vào đất để phát hiện độ ẩm của đất. Khi độ
ẩm của đất đạt ngưỡng thiết lập, sẽ có tín hiệu ngõ ra tương ứng ở D0 và A0.
Led báo độ ẩm: Sáng khi độ ẩm tại đầu cắm đạt đến ngưỡng thiết lập.
Led báo nguồn: Báo nguồn cung cấp đầu vào.
Biến trở chỉnh độ nhạy: thiết lập độ nhạy của module bằng việc chỉnh biến trở này,
làm tăng độ nhạy của đầu cắm với nước trong đất.
Op-amp LM393:

14


Hình 2. 12 Hình ảnh thực tế và sơ đồ chân LM393
LM393 là vi mạch gồm hai bộ so sánh hoạt động độc lập, hoạt động với cả nguồn
cấp đơn hoặc hai nguồn đối xứng. Trong module cảm biến độ ẩm đất thì chỉ sử dụng một
mạch so sánh.

Theo biểu diễn trong ký hiệu mạch so sánh, với V1 ở ngõ vào thuận, thì

• Nếu V1 > V2, Vout là logic 1 (high).
• Nếu V1 < V2, Vout là logic 0 (low).
2.3.3 Nguyên lý hoạt động.

Hình 2. 13 Sơ đồ nguyên lý của module cảm biến
Theo sơ đồ mạch nguyên lý: khi module cảm biến độ ẩm được kích hoạt, khi đó sẽ
có sự thay đổi điện áp tại đầu vào của IC LM393. IC này nhận biết có sự thay đổi nó sẽ
đưa ra một tín hiệu thấp để báo hiệu và thay đổi sẽ được tính toán để đọc độ ẩm đất.
Đầu cắm của cản biến được kết nối với “INA-” và “GND”, LM393 sẽ so sánh điện
áp của “INA-” và “INA+” để đưa mức điện áp ngõ ra tại “OUT”.
Để việc đo độ ẩm được chính xác, nhóm nghiên cứu chỉ dùng ngõ ra A0, không
dùng đến ngõ ra D0.

15


×