Tải bản đầy đủ (.docx) (44 trang)

Thiết kế hệ thống điều khiển tưới tiêu cho vườn cây bằng vi điều khiển có link gg drive file mô phỏng cuối bài hoặc pm0799008541

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 (5.45 MB, 44 trang )

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT VINH
KHOA ĐIỆN
----------

ĐỒ ÁN MÔN HỌC
THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN VÀ TỰ ĐỘNG
Đề

tài: Thiết kế hệ thống điều khiển tưới tiêu cho vườn cây

Giáo viên hướng dẫn: Ngô Thị Lê
Sinh viên thực hiện: Phan Văn Khoái
Mã SV: 1305180074
Lớp: DHTDHCK13A

Vinh, Tháng 5/2021


Lời nhận xét của giáo viên hướng dẫn
……………………………………………………………………………………………………
………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………

Lời nhận xét của giáo viên phản biện


…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………


MỤC LỤC
MỤC LỤC........................................................................................................................ 1
LỜI MỞ ĐẦU...................................................................................................................2
CHƯƠNG I: TỔNG QUAN VỀ HỆ THỐNG TƯỚI CÂY TỰ ĐỘNG.......................3
1.1. Khái niệm về hệ thống tự động...............................................................................3
1.2. Vị trí và tầm quan trọng của hệ thống tự động........................................................3
1.3. Ứng dụng của tự động hóa trong tưới tiêu cho cây trồng........................................3
1.4. Một số hệ thống tưới cây tự động trên thị trường....................................................4
1.5 Giám sát nhiệt độ độ ẩm...........................................................................................4
1.6 Các thiết bị được sử dụng trong hệ thống.................................................................5
1.6.1 Động cơ 1 chiều................................................................................................5
1.6.2 Arduino Uno......................................................................................................7
1.6.3 Khối hiển thị LCD và I2C.................................................................................8
1.6.4 Cảm biến nhiệt độ, độ ẩm DHT 11..................................................................10
1.6.5 Giới thiệu về Module Relay 12VDC...............................................................11
1.6.6 Module thời gian thực DS 1307.......................................................................11
CHƯƠNG 2: TÌM HIỂU VI ĐIỀU KHIỂN ARDUINO VÀ PHẦN MỀM MÔ

PHỎNG PROTEUS.......................................................................................................13
2.1 Tổng quan về ArduinoUno R3...............................................................................13
2.1.1 Giới thiệu........................................................................................................13
2.1.2 Uno.................................................................................................................. 14
2.1.3 Cấu trúc, thông số............................................................................................16
2.2 Giới thiệu phần mềm mô phỏng.............................................................................26
CHƯƠNG 3: THIẾT KẾ MẠCH ĐIỀU KHIỂN VÀ HIỂN THỊ...............................30
3.1 Thiết kế mạch điều khiển.......................................................................................30
3.2 Chương trình điều khiển.........................................................................................30
3.3 Thiết kế mơ phỏng..................................................................................................33
CHƯƠNG 4: THUYẾT TRÌNH NGUYÊN LÝ VÀ CHẠY MÔ PHỎNG.................37
4.1 Kết nối Arduino với mô phỏng Proteus..................................................................37
4.2 Nguyên lý hoạt động của hệ thống.........................................................................38
KẾT LUẬN.....................................................................................................................40

1


LỜI MỞ ĐẦU
Nền công nghiệp của nước ta là nền cơng nghiệp vẫn cịn lạc hậu cũng như chưa có
nhiều ứng dụng khoa học kỹ thuật được áp dụng vào thực tế. Rất nhiều quy trình kỹ thuật
trồng trọt, chăm sóc được tiến hành 1 cách chủ quan và khơng đảm bảo được đúng u cầu.
Có thể nói trong nơng học ngồi những kỹ thuật trồng trọt, chăm sóc thì tưới nwóc là
một trong các khâu quan trọng nhất trong trồng trọt, để đảm bảo cây sinh trưởng và phát
triển bình thường, tưới đúng và tưới đủ theo yêu cầu nông học của cây trồng sẽ không sinh
sâu bệnh, hạn chế thuốc trừ sâu cho sản phẩm an toàn, đạt năng suất, hiệu quả cao.
Hiện nay nước ta đang trong giai đoạn cơng nghiệp hố, hiện đại hố các thiết bị
máy móc tự động được đưa vào phục vụ thay thế sức lao động của con người. Vì vậy
thiết bị tưới đang được nghiên cứu, thiết kế, chế tạo đưa vào thực tiễn ngày được áp dụng
càng nhiều.

Thiết bị tưới cũng rất đa dạng về chủng loại (vòi phun mưa, phun sương, vịi nhỏ
giọt bù áp,….) có thơng số khác nhau phục vụ cho các loại cây khác nhau được chế tạp từ
nhiều nước như Israsel, Hàn Quốc, Đài Loan,…. Sẽ rất thuận tiện cho người sử dụng lựa
chọn phù hợp vs nhu cầu sử dụng của mình. Hệ thống tưới phun đáp ứng độ ẩm gốc, độ
ẩm lá và khơng khí cho cây trồng phát triển tốt, hệ thống tiết kiệm nước tạo điều kiện cho
cây trồng thấp thụ dinh dưỡng khơng gây rửa trơi, thối hố đất, khơng gây ô nhiễn môi
trường. Hệ thống tưới nước tự động có thể kết hợp vs bón phân và phun thuốc hoá học.
Trong thời gian thực hiện đề tài với nội dung nghiên cứu, thiết kế và chết tạo hệ
thống tưới cây tự động, em đã cố gắng vận dụng những kiến thức đã học ở trường, trong
thực tế.
Cùng với sự giúp đỡ của cô giáo Ngô Thị Lê cho tới nay đã hoàn thành những yêu
cầu của đề tài . Em xin chân thành cảm ơn !

2


CHƯƠNG I: TỔNG QUAN VỀ HỆ THỐNG TƯỚI CÂY TỰ ĐỘNG
1.1. Khái niệm về hệ thống tự động
Hệ thống tự động là hệ thống bao gồm quá trình thu thập thơng tin, xử lí thơng tin
và tác động lên hệ thống điều khiển các quá trình xảy ra trong thiên nhiên, cuộc sống mà
khơng có sự tham gia trực tiếp của con người.
Hiện nay, hệ thống tự động rất phổ biến, nó xuất hiện trong nhiều lĩnh vực. Có thể
kể đến một số hệ thống tự động rất phổ biến hiện nay:
- Hệ thống quạt, điều hòa, tủ lạnh
- Hệ thống báo chuông giờ học
- Hệ thống đèn giao thông, v.v…
- Trong công nghiệp
- Các dây chuyền tự động.
- Hệ thống điều khiển robot, dây chuyền lắp ráp tự động, v.v…


1.2. Vị trí và tầm quan trọng của hệ thống tự động
Lịch sử hồn thiện của cơng cụ, phương tiện sản xuất trên cơ sở cơ giới hóa và
điện khí hóa. Khi có những đột phá mới trong lĩnh vực công nghệ vật liệu và tiếp theo là
điện tử tin học thì cơng nghệ tự động có cơ hội phát triển mạnh mẽ đem lại mn vàn lợi
ích thiết thực cho xã hội. Đó là mấu chốt của năng suất, chất lượng, giá thành. Trong thực
tiễn khi áp dụng tự động hóa vào sản xuất sẽ mang lại những hiệu quả không nhỏ cho
phép giảm giá thành và nâng cao năng suất lao động, cái thiện điều kiện sản xuất, đáp
ứng cường độ cao về sản xuất hiện đại, thực hiện chun mơn hóa và hốn đổi sản xuất.
Từ đó sẽ tăng khả năng cạnh tranh, đáp ứng yêu cầu sản xuất. Trong tương lai gần tự
động hóa sẽ đóng vai trị vơ cùng quan trọng và khơng thể thiếu bởi vì nó khơng chỉ ứng
dụng trong sản xuất mà nó cịn ứng dụng phục vụ đời sống. Tronag sản xuất nó thay thế
con người những cơng việc cơ bắp nặng nhọc,công việc nguy hiểm, độc hại, công việc
tinh vi hiện đại… Cịn trong đời sống con người những cơng nghệ này sẽ được ứng dụng
phục vụ nhu cầu sống. Nõ sẽ là phương tiện không thể thiếu trong đời sống chúng ta.

1.3. Ứng dụng của tự động hóa trong tưới tiêu cho cây trồng
Mặc dù tự động hóa được ứng dụng từ rất lâu cho việc tưới tiêu, song nó chỉ phát
triển ở một số nước phát triển, cịn ở các nước chậm phát triển tuy nền nông nghiệp
chiếm tỉ lệ lớn nhưng việc ứng dụng tự động hóa cho việc tưới cây vẫn còn rất chậm.
Hiện nay,được sự trợ giúp của các nước đang phát triển đã đưa dần tự động hóa vào đời
3


sống sản xuất, đặc biệt các nước Đông Nam Á trong đó có Việt Nam. Ngày nay với sự
phát triển mạnh mẽ của công nghệ chế tạo thiết bị tự động hóa,kết hợp với thành tựu
cơng nghệ vi điện tử và công nghệ thông tin, đã cho phép tạo nên một giải pháp tự động
hóa trong mọi lĩnh vực. Có thể nói tự động hóa trở thành xu hướng tất yếu cho mọi lĩnh
vực, cho bất kì quốc gia, vùng lãnh thổ nào.

1.4. Một số hệ thống tưới cây tự động trên thị trường

Ở nước ta có nhiều nghiên cứu và ứng dụng hệ thống tự động vào trong cuộc sống.
Ngươi dân đã sáng tạo ra các hệ thống tưới cây bán tự động giúp tiết kiệm sức lao động,
hiệu quả hơn so với tưới thủ công. Tuy nhiên những hệ thống này vẫn còn nhiều nhược
điểm cần khắc phục để mang lại hiệu quả cao nhất có thể
Ở các trường đại học chuyên nghành kĩ thuật đã có nhiều đề tài hệ thống tự động do sinh
viên thực hiện tuy nhiên vần còn nhiều mặt hạn chế cần khắc phục.
* Một số hệ thống ở Việt Nam
Hệ thống tưới rau bằng điện thoại: Bằng cách soạn tin nhắn thông thường, nội
dung là mã code rồi gửi tới hộp điều khiển, sau 10s, các béc nước bắt đầu hoạt động. Đó
là sáng kiến tưới rau bằng nhắn tin điện thoại độc nhất của anh Bùi Ngọc Minh Tâm ở
tp.HCM giúp trồng rau sạch tại nhà. Nếu điều khiển bằng tay, nơng dân chỉ cần bấm nút
là có thể bơm được. Cịn khi khơng ở nhà nơng dân muốn tưới rau thì có thể tưới bằng
cách soạn tinh nhắn theo cú pháp rồi gửi yêu cầu, tủ điều khiển sẽ phản hồi lại và thực
hiện thao tác tưới rau như yêu cầu cuả tin nhắn.
Hệ thống tưới phun tự động đa năng: Một cơng trình khoa học của hai giảng viên
trường Cao Đẳng Công Nghiệp Huế: Tiến sĩ Lê văn Luận và thạc sĩ Lê Đình Hiếu. Các
thiết bị chính của hệ thống tưới phun đa năng này gồm 1 cảm biến đo nhiệt độ và 1 cảm
biết đo độ ẩm của đất được cài đặt tại nhà màng trồng hoa, hệ điều khiển được lập trình
trên PLC-S7-1200. Khi các cảm biến cho thông số độ ẩm của đất hoặc nhiệt độ khơng khí
tại nhà màng báo hiệu cần nước, tín hiệu này sẽ đưa đến hộp điều khiển PLC. Tại đây các
chức năng sẽ được điều khiển tự động để nhận nước và tự động tưới phun theo các vòi
phun lắp đặt và sẽ tự ngừng trong đúng 5 phút, khi cảm biến báo độ ẩm hoặc nhiệt độ đã
đạt yêu cầu. Hệ thống tưới phun tự động đa năng là sản phẩm khoa học có ý tưởng hay,
tính ứng thiết thực và đã được thử nghiệm có hiệu quả thực tế.

1.5 Giám sát nhiệt độ độ ẩm

4



Sử dụng một cảm biến đọ ẩm và nhiệt độ kết nối với một Arduino và điều khiển
động cơ tạo ra hệ thống tưới tiêu tự động. Tất cả mọi việc đều tự động diễn ra trong quá
trình cài đặt sẵn và qua các cảm biến để điều tiết việc tưới cây hợp lí trong mọi thời tiết.
Ứng dụng đơn giản qua thao tác nút bấm cài đặt thời gian hẹn giờ để tưới cây và làm việc
thông minh qua các cảm biến. Trước hết về cảm biến nhiệt độ và độ ẩm được áp dụng với
khí hậu thời tiết nhiệt đới ẩm gió mùa với 4 mùa rõ rệt vậy nên cảm biến nhiệt độ độ ẩm
có tầm quan trọng trong khâu tự động. Đo được các mức nhiệt độ cần thiết đáp ứng cho
cây trồng sau đó hiển thị trên màn hình LCD để người điểu khiển có thể theo dõi, kiểm
tra. Hệ thống đảm bảo về mảng thời gian cài đặt, đảm bảo về nhiệt độ thay đổi qua mùa,
độ ẩm theo khí hậu tất cả được kết hợp tạo thành hệ thống thông minh đáp ứng đúng
nghĩa với người trồng cây.

1.6 Các thiết bị được sử dụng trong hệ thống
1.6.1 Động cơ 1 chiều
Cấu tạo máy bơm chìm:
Trục chính: Bộ phận trục chính của máy bơm chìm nước thải sẽ nối liền từ động cơ
cho đến cánh quạt. Trục bơm thường được sản xuất bằng các vật liệu cứng như thép
không gỉ với độ bền cao, có tính năng chống mài mịn tốt. Nhờ đó, máy bơm chìm nước
sẽ hoạt động tốt và ít phải tiến hành sửa chữa, bảo dưỡng.
Bánh công tác: Thường được làm bằng vật liệu gang, thép, inox,... nhờ đó chúng có
khả năng chống ăn mòn và hạn chế mài mòn để có thể chịu được sự tác động của axit và
hóa chất khi làm việc.
Bộ phận gioăng: Được làm bằng cao su để có thể tăng độ kín và giúp bảo vệ được
cho động cơ máy bơm. Nhờ đó, nước sẽ khơng có cơ hội để xâm nhập vào động cơ và
gây ra các hỏng cho chúng.
Trục nâng dầu: Nhiệm vụ của bộ phận này của máy bơm tõm Trung Quốc là phân
phối đều lượng dầu nhớt bôi trơn cho động cơ. Nó nhằm đảm bảo cho máy có khả năng
hoạt động trơn tru, vận hành nhịp nhàng đối với toàn bộ hệ thống bơm.
Vòng bi: Đây cũng là bộ phận vơ cùng quan trọng, góp phần cấu thành nên chiếc
máy bơm chìm nước thải. Vịng bi thường được sản xuất từ những vật liệu tốt, có chất

lượng cao và đặc biệt là có khả năng chịu lực, chịu mài mịn tốt.
Cảm ứng nhiệt: Một bộ phận khác không thể thiếu trong cấu tạo máy bơm chìm
tsurumi là cảm ứng nhiệt. Nhiệm vụ của thiết bị này chính là bảo vệ động cơ trong trường
5


hợp nhiệt độ của máy bơm tăng quá cao. Khi động cơ máy bơm q nóng thì cảm ứng
nhiệt sẽ thực hiện ngắt nguồn động cơ máy. Như vậy, máy bơm của bạn sẽ khơng bị
hỏng, khơng bị cháy vì nhiệt độ đang tăng cao.
Nguyên lý làm việc:
Khi máy bơm ly tâm làm việc, nhờ phần khớp nối giữa động cơ dẫn động và bơm
làm quay bánh công tác quay. Các phần chất lỏng trong bánh công tác dưới ảnh hưởng
của lực li tâm bị dồn từ trong ra ngoài chuyển động theo các máng dẫn và đi vào ống đẩy
với áp suất cao hơn, đó là q trình đẩy của bơm. Đồng thời, ở lối vào của bánh công tác
tạo nên một vùng chân không và dưới tác dụng của áp suất trong bể chứa lớn hơn áp suất
ở lối vào, chất lỏng ở bể hút liên tục bị đẩy vào bơm theo ống hút. Đó là q trình hút của
bơm. Quá trình hút và quá trình đẩy là hai q trình liên tục, tạo lên dịng chảy liên tục
qua bơm. Bộ phận dẫn dịng chảy ra thường có dạng xoắn ốc nên gọi là buồng xoắn ốc.
Buồng xoắn ốc của bơm dẫn chất lỏng từ bánh công tác ra ống đẩy. Nó có tác dụng điều
hịa ổn định dòng chảy và biến đổi một phần động năng của dịng chảy thành áp năng cần
thiết do đó làm tăng hiệu suất của máy bơm.
Chọn máy bơm cho hệ thống:
Máy bơm chìm Dapavina 7HP (5.5kW)
Thơng số kỹ thuật:
Cơng suất: 7 HP
Điện áp: 380V
Cột áp: 45m
Lưu lượng: 45m3/h
Họng xả: 50mm


6


Hình 1.1: Máy bơm chìm Dapavina

1.6.2 Arduino Uno
Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là ATmega8, ATmega168,
ATmega328. Bộ não này có thể xử lí những tác vụ đơn giản như điều khiển đèn LED
nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm một trạm đo nhiệt độ - độ ẩm và
hiển thị lên màn hình LCD,…
Arduino Uno là một board mạch vi điều khiển được phát triển bởi Arduino.cc, một nền
tảng điện tử mã nguồn mở chủ yếu dựa trên vi điều khiển AVR Atmega328P. Với Arduino
chúng ta có thể xây dựng các ứng dụng điện tử tương tác với nhau thông qua phần mềm
và phần cứng hỗ trợ.

7


Hình 1.2 . Arduino Uno

1.6.3 Khối hiển thị LCD và I2C
Khối hiển thị LCD
Ngày nay thiết bị hiển thị LCD được sử dụng rộng rãi trong rất nhiều ứng dụng của
vi điều khiển. LCD có rất nhiều ưu điểm so với các dạng hiển thị khác, nó có khả năng
hiện ký tự đa dạng, trực quan (chữ, số và ký tự đồ họa), dễ dàng đưa vào mạch ứng dụng
theo nhiều giao thức giao tiếp khác nhau tốn rất ít tài nguyên hệ thống và giá thành rẻ...
Hình dáng và kích thước:

Hình 1.3. LCD 16X2


8


Có rất nhiều loại LCD với nhiều hình dáng và kích thước khác nhau, hình trên là
một loại LCD thơng dụng.
+ Màn hình LCD 16X2 sử dụng driver HD44780, có khả năng hiển thị 4 dòng với
mỗi dòng 16 ký tự, màn hình có độ bền cao, rất phổ biến, nhiều code mẫu và dễ sử dụng
thích hợp cho những người mới học và làm dự án.
Thông số kỹ thuật:
+ Điện áp hoạt động là 5 V.
+ Kích thước: 86.96 x 60 x 13 mm
+ Chữ đen, nền xanh lá/xanh dương
+ Khoảng cách giữa hai chân kết nối là 0.1 inch tiện dụng khi kết nối với
Breadboard.
+ Tên các chân được ghi ở mặt sau của màn hình LCD 16x2 hỗ trợ việc kết nối, đi
dây điện.
+ Có đèn led nền, có thể dùng biến trở hoặc PWM điều chình độ sáng để sử dụng ít
điện năng hơn.
+ Có thể được điều khiển với 6 dây tín hiệu.
+ Có bộ ký tự được xây dựng hổ trợ tiếng Anh và tiếng Nhật.
Module I2C
LCD có quá nhiều nhiều chân gây khó khăn trong quá trình đấu nối và chiếm dụng
nhiều chân trên vi điều khiển.
+ Module I2C LCD ra đời và giải quyết vấn để này cho bạn.
Thay vì phải mất 6 chân vi điều khiển để kết nối với LCD 16x2 (RS, EN, D7,
D6, D5 và D4) thì module IC2 bạn chỉ cần tốn 2 chân (SCL, SDA) để kết nối.
Module I2C hỗ trợ các loại LCD sử dụng driver HD44780(LCD 16x2, LCD
20x4,...) và tương thích với hầu hết các vi điều khiển hiện nay.
+ Ưu điểm:
- Tiết kiệm chân cho vi điều khiển.

- Dễ dàng kết nối với LCD.
+ Thông số kĩ thuật:
- Điện áp hoạt động: 2.5-6V DC.
- Hỗ trợ màn hình: LCD1602,1604,2004 (driver HD44780).
- Giao tiếp: I2C.
- Địa chỉ mặc định: 0X27 (có thể điều chỉnh bằng ngắn mạch chân A0/A1/A2).
- Tích hợp Jump chốt để cung cấp đèn cho LCD hoặc ngắt.
9


- Tích hợp biến trở xoay điều chỉnh độ tương phản cho LCD.

Hình 1.4. LCD 16x4 và Module I2C

1.6.4 Cảm biến nhiệt độ, độ ẩm DHT 11
DHT 11 là cảm biến nhiệt độ và độ ẩm, cảm biến này ra đời sau và được sử dụng
thay thế cho dòng SHT1x ở những nơi khơng cần độ chính xác cao về nhiệt độ và độ ẩm.

Hình 1.5. Cảm biến nhiệt độ và độ ẩm DHT 11

1.6.5 Giới thiệu về Module Relay 12VDC
Module 1 relay 12V được sử dụng để đóng ngắt các thiết bị cần điều khiển.
Mạch được thiết kế nhỏ gọn với đầy đủ đèn led báo nguồn, led báo tình trạng relay, có
opto cách ly giúp tín hiệu điều khiển khơng bị nhiễu khi hoạt động. Ngồi ra với
10


module này có thể thay đổi tín hiệu kích đóng ngắt relay là mức cao hoặc mức thấp
bằng cách chuyển jumper trên mạch. Mạch sử dụng điện áp 12V thông dụng với ngõ
ra Domino 3 chân NO(thường mở), COM(chung), NC(thường đóng) của relay giúp

thuận tiện hơn khi sử dụng.
Relay hình 3.6 là thiết bị đóng cắt cơ bản, nó được sử dụng rất nhiều trong cuộc
sống và trong các thiết bị đièu khiển điện tử. - Cấu tạo relay gồm 2 phần:
+ Cuộn hút: tạo ra năng lượng từ trường để hút các tiếp điểm về mình.
+ Cặp tiếp điểm: khi không cấp điện tiếp điểm 1 được tiếp xúc tiếp điểm 2 (tiếp
điểm thường đóng). Khi cấp điện tiếp điểm 1 bị hút chuyển sang tiếp điểm 3 (tiếp điểm
thường mở)

Hình 1.6: Module Relay 12VDC

1.6.6 Module thời gian thực DS 1307
Module thời gian thực RTC DS1307 có chức năng lưu trữ thông tin ngày tháng năm
cũng như giờ phút giây, nó sẽ hoạt động như một chiếc đồng hồ và có thể xuất dữ liệu ra
ngồi qua giao thức I2C.
Module thời gian thực RTC DS1307 được thiết kế kèm theo một viên pin đồng hồ
có khả năng lưu trữ thông tin lên đến 10 năm mà không cần cấp nguồn 5V từ bên ngoài.
Module đi kèm với EEPROM AT24C32 có khả năng lưu trữ thêm thơng tin lên đến
32KBit.
Điện áp làm việc: 3.3V đến 5V
Bao gồm 1 IC thời gian thực DS1307
Các thành phần cần thiết như thạch anh 32768kHz, điện trở pull-up và tụ lọc nguồn
đều được tích hợp trên board
LED báo nguồn
Có sẵn pin dự phịng duy trì thời gian khi mất điện
11


5-pin bao gồm giao thức I2C sẵn sàng giao tiếp: INT (QWO), SCL, SDA, VCC và
GND
Dễ dàng thêm một đồng hồ thời gian thực để dự án của bạn

Nhỏ gọn và dễ dàng để lắp thêm vào bo mạch hoặc test board

Hình 1.7. Module thời gian thực

CHƯƠNG 2: TÌM HIỂU VI ĐIỀU KHIỂN ARDUINO VÀ PHẦN MỀM MÔ
PHỎNG PROTEUS
2.1 Tổng quan về ArduinoUno R3

12


2.1.1 Giới thiệu
Arduino được khởi động vào năm 2005 như là một dự án dành cho sinh viên trại
Interaction Design Institute Ivrea (Viện thiết kế tương tác Ivrea) tại Ivrea, Italy. Cái tên
"Arduino" đến từ một quán bar tại Ivrea, nơi một vài nhà sáng lập của dự án này thường
xuyên gặp mặt.
Các thiết bị dựa trên nền tảng Arduino được lập trình bằng ngơn ngữ riêng. Ngơn
ngữ này dựa trên ngơn ngữ Wiring được viết cho phần cứng nói chung trên một mơi
trường phát triển tích hợp (IDE) chạy trên các máy tính cá nhân. Và Wiring lại là một
biến thể của C/C++. Một số người gọi nó là Wiring, một số khác thì gọi là C hay C/C++.
Sau khi nền tảng Wiring hoàn thành, các nhà nghiên cứu đã làm việc với nhau để
giúp nó nhẹ hơn, rẻ hơn, và khả dụng đối với cộng đồng mã nguồn mở. một trong số các
nhà nghiên cứu là David Cuarlielles, đã phổ biến ý tưởng này. Những nhà thiết kế của
Arduino cố gắng mang đến một phương thức dễ dàng, khơng tốn kém cho những người
u thích, sinh viên và giới chuyên nghiệp để tạo ra những thiết bị có khả năng tương tác
với môi trường thông qua các cảm biến và các cơ cấu chấp hành.
Thông tin thiết kế phần cứng được cung cấp công khai để những ai muốn tự làm
một mạch Arduino bằng tay có thể tự mình thực hiện được (mã nguồn mở). Người ta ước
tính khoảng giữa năm 2011 có trên 300 ngàn mạch Arduino chính thức đã được sản xuất
thương mại, và vào năm 2013 có khoảng 700 ngàn mạch chính thức đã được đưa tới tay

người dùng.
Phần cứng Arduino gốc được sản xuất bởi công ty Italy tên là Smart Projects. Một
vài board dẫn xuất từ Arduino cũng được thiết kế bởi công ty của Mỹ tên là SparkFun
Electronics. Nhiều phiên bản của Arduino cũng đã được sản xuất phù hợp cho nhiều mục
đích sử dụng:

13


Hình 2.1: Những phiên bản của Arduino

2.1.2 Uno
"Uno" có nghĩa là một bằng tiếng Ý và được đặt tên để đánh dấu việc phát hành sắp
tới của Arduino 1.0. Uno và phiên bản 1.0 sẽ là phiên bản tài liệu tham khảo của Arduino.
Uno là mới nhất trong các loại board Arduino, và các mơ hình tham chiếu cho các nền
tảng Arduino.
Arduino Uno là một “hội đồng quản trị” dựa trên ATmega328. Nó có 14 số chân
đầu vào / đầu ra, 6 đầu vào analog, 16 MHz cộng hưởng gốm, kết nối USB, một jack cắm
điện, một tiêu đề ICSP, và một nút reset. Nó chứa tất cả mọi thứ cần thiết để hỗ trợ các vi
điều khiển; chỉ cần kết nối nó với máy tính bằng cáp USB hoặc cấp điện cho nó để bắt
đầu.

14


Hình 2.2: Arduino Uno

Uno khác với tất cả các phiên bản trước ở chỗ nó khơng sử dụng các FTDI chip
điều khiển USB-to-serial. Thay vào đó, nó có tính năng Atmega 16U2 lập trình như là
một cơng cụ chuyển đổi USB-to-serial.

Phiên bản 2 (R2) của Uno sử dụng Atmega8U2 có một điện trở kéo dòng 8U2
HWB xuống đất, làm cho nó dễ dàng hơn để đưa vào chế độ DFU.
Phiên bản 3 (R3) của Uno có các tính năng mới sau đây:
 Thêm SDA và SCL gần với pin Aref và hai chân mới được đặt gần với pin
RESET, các IOREF cho phép thích ứng với điện áp cung cấp.
 Đặt lại mạch khỏe mạnh hơn.
 Atmega 16U2 thay thế 8U2.

15


2.1.3 Cấu trúc, thông số

Bảng 2.1: Một vài thông số của Arduino UNO R3

a. Vi điều khiển & bộ nhớ
Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là ATmega8, ATmega168,
ATmega328. Bộ não này có thể xử lí những tác vụ đơn giản như điều khiển đèn LED
nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm một trạm đo nhiệt độ - độ ẩm và
hiển thị lên màn hình LCD,…

Hình 2.3: Vi điều khiển Atmega328 tiêu chuẩn

32KB bộ nhớ Flash: những đoạn lệnh lập trình sẽ được lưu trữ trong bộ nhớ Flash
của vi điều khiển. Thường thì sẽ có khoảng vài KB trong số này sẽ được dùng cho
16


bootloader nhưng đừng lo, hiếm khi nào cần quá 20KB bộ nhớ này. 2KB cho SRAM
(Static Random Access Memory): giá trị các biến khai báo khi lập trình sẽ lưu ở đây.

Khai báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM. Tuy vậy, thực sự thì cũng
hiếm khi nào bộ nhớ RAM lại trở thành thứ phải bận tâm. Khi mất điện, dữ liệu trên
SRAM sẽ bị mất.
1Kb cho EEPROM (Electrically Eraseble Programmable Read Only Memory): đây
giống như một chiếc ổ cứng mini – nơi có thể đọc và ghi dữ liệu vào mà không phải lo bị
mất khi cúp điện giống như dữ liệu trên SRAM.
b. Cấu tạo

Hình 2.4: Arduino đời đầu

Một board Arduino đời đầu gồm một cổng giao tiếp RS-232 (góc phía trênbên trái)
và một chip Atmel ATmega8 (màu đen, nằm góc phải-phía dưới); 14 chân I/O số nằm ở
phía trên và 6 chân analog đầu vào ở phía đáy.
Board Arduino sẽ đưa ra hầu hết các chân I/O của vi điều khiển để sử dụng cho
những mạch ngoài. Diecimila, Duemilanove, và bây giờ là Uno đưa ra 14 chân I/O kỹ
thuật số, 6 trong số đó có thể tạo xung PWM (điều chế độ rộng xung) và 6 chân input
analog, có thể được sử dụng như là 6 chân I/O số. Những chân này được thiết kế nằm
phía trên mặt board, thơng qua các header cái 0.10-inch (2.5 mm). Các board Arduino
Nano, và Arduino-compatible Bare Bones Board và Boarduino có thể cung cấp các chân
header đực ở mặt trên của board dùng để cắm vào các breadboard.
Chiều dài tối đa và chiều rộng của Uno PCB là 2,7 và 2,1 inch tương ứng, với kết nối
USB và jack điện mở rộng vượt ra ngoài khơng gian cũ. Bốn lỗ vít cho phép được gắn
vào một bề mặt khác:

17


Hình 2.5: Các lỗ vít giúp cố định vị trí Arduino

c. Vị trí & chức năng các chân

Nếu khơng có sẵn nguồn từ cổng USB, có thể cấp nguồn cho Arduino UNO từ một
bộ chuyển đổi AC→DC hoặc pin. Các bộ chuyển đổi có thể được kết nối bằng một plug2.1mm trung tâm tích cực vào jack cắm điện.
Trường hợp cấp nguồn quá ngưỡng trên sẽ làm hỏng Arduino UNO.
Các chân năng lượng:
 GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO. Khi dùng các thiết bị
sử dụng những nguồn điện riêng biệt thì những chân này phải được nối với nhau.
 5V: cấp điện áp 5V đầu ra. Dòng tối đa cho phép ở chân này là 500mA.
 3.3V: cấp điện áp 3.3V đầu ra. Dòng tối đa ở chân này là 50mA.
 Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, ta nối cực dương của
nguồn với chân này và cực âm với chân GND.
 IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo ở chân
này. Và dĩ nhiên nó ln là 5V. Mặc dù vậy khơng được lấy nguồn 5V từ chân này để sử
dụng bởi chức năng của nó khơng phải là cấp nguồn.
 RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc
chân RESET được nối với GND qua 1 điện trở 10KΩ.
Các chân Input/Output:

Hình 2.6: Các ngõ vào/ngõ ra của Arduino

18


Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu. Chúng chỉ có 2 mức
điện áp là 0V và 5V với dòng tối đa trên mỗi chân là 40mA.
Một số chân digital có các chức năng đặc biệt như sau:
 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive – RX)
dữ liệu TTL Serial. Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chân này.
Kết nối bluetooth thường thấy nói nơm na chính là kết nối Serial không dây. Nếu không
cần giao tiếp Serial, không nên sử dụng 2 chân này nếu không cần thiết
 Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ phân giải

8bit (giá trị từ 0 → 28 -1 tương ứng với 0V → 5V) bằng hàm analogWrite(). Nói một
cách đơn giản, có thể điều chỉnh được điện áp ra ở chân này từ mức 0V đến 5V thay vì
chỉ cố định ở mức 0V và 5V như những chân khác.
 Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ngồi các chức năng
thơng thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI với các
thiết bị khác.
 LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L). Khi bấm nút Reset,
ta sẽ thấy đèn này nhấp nháy để báo hiệu. Nó được nối với chân số 13. Khi chân này
được người dùng sử dụng, LED sẽ sáng.
Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit (0 →
210 -1) để đọc giá trị điện áp trong khoảng 0V → 5V. Với chân AREF trên board, ta có
thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog. Tức là nếu cấp điện áp
2.5V vào chân này thì ta có thể dùng các chân analog để đo điện áp trong khoảng từ 0V
→ 2.5V với độ phân giải vẫn là 10bit.
Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với
các thiết bị khác
d. Extension shield

Hình 2.7: Các shield xếp chồng lên Arduino

19


Arduino cũng sử dụng chip AVR của Atmel làm nền tảng, thế nê n hầu hết cái gì
PIC/AVR làm được thì Arduino làm được. Nếu muốn điều khiển động cơ, sẽ có các mạch
cơng suất tương thích hồn tồn với Arduino. Nếu muốn điều khiển qua mạng Internet,
cũng có một mạch Ethernet/Wifi tương thích hồn tồn với Arduino. Và cịn rất nhiều thứ
khác nữa.
Những mạch được đề cập như trên được gọi là các extension shield (mạch mở rộng). Các
shield này giúp tăng tính linh hoạt của Arduino.


Hình 2.8: Một số shield thơng dụng

e) Các bước để nạp chương trình arduino
Bước 1: Kết nối Arduino UNO R3 vào máy tính

20


Bước 2: Tìm cổng kết nối của Arduino Uno R3 với máy tính
Khi Arduino Uno R3 kết nối với máy tính, nó sẽ sử dụng một cổng COM
(Communication port - cổng dữ liệu ảo) để máy tính và bo mạch có thể truyền tải dữ liệu
qua lại thơng qua cổng này. Windows có thể quản lí đến 256 cổng COM. Để tìm được
cổng COM đang được sử dụng để máy tính và mạch Arduino UNO R3 giao tiếp với
nhau, bạn phải mở chức năng Device Manager của Windows.
Bạn mở cửa sổ Run và gõ lệnh mmc devmgmt.msc.

Sau đó bấm Enter, cửa sổ Device Manager sẽ hiện lên.

Mở mục Ports (COM & LPT), bạn sẽ thấy cổng COM Arduino Uno R3 đang kết nối

21


Cổng kết nối ở đây là COM3.
Thông thường, trong những lần kết nối tiếp theo, Windows sẽ sử dụng lại cổng COM3 để
kết nối nên bạn không cần thực hiện thêm thao tác tìm cổng COM này nữa.
Bước 3: Khởi động Arduino IDE

Bước 4: Cấu hình phiên làm việc cho Arduino IDE

Vào menu Tools -> Board -> chọn Arduino Uno

22


Vào menu Tools -> Serial Port -> chọn cổng Arduino đang kết nối với máy tính. Ở máy
của mình là COM3.

Xác nhận cổng COM của Arduino IDE ở góc dưới cùng bên phải cửa sổ làm việc

23


×