1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Tìm hiểu về nền tảng Arduino và xây dựng bộ báo cháy tự động

25 109 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 25
Dung lượng 2,25 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

LỜI NÓI ĐẦUNgày nay khi khoa học công nghệ phát triển một cách mạnh mẽ, việc ứng dụngcho các hệ thống nhúng ngày càng trở nên phổ biến vào đời sống, từ những ứng dụng đơngiản như : điều

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

KHOA CÔNG NGHỆ TỰ ĐỘNG HÓA

Trang 2

MỤC LỤC

DANH MỤC HÌNH ẢNH 4

LỜI NÓI ĐẦU 5

Chương 1 6

TÌM HIỂU VỀ LẬP TRÌNH ARDUINO 6

1.1.Lịch sử hình thành nền tảng Arduino 6

1.2.Giới thiệu môi trường lập trình Arduino - Arduino IDE 8

1.3.Cấu trúc của một chương trình Arduino IDE 11

Chương 2 12

TÌM HIỂU VỀ CÁC THIẾT BỊ PHẦN CỨNG 12

2.1.Vi điều khiển Atmega328 12

2.2.IC chuyển đổi USB sang UART CH340G 13

2.3.Còi báo 13

2.4.Cảm biến phát hiện khói MQ2 14

2.5.Cảm biến phát hiện lửa 15

Chương 3 16

THIẾT KẾ VÀ CHẾ TẠO BỘ BÁO CHÁY TỰ ĐỘNG 16

3.1.Sơ đồ khối 16

3.2.Nguyên lý hoạt động và mạch in 18

3.3.Code-chương trình 18

3.4.Giao diện tương tác người dùng HMI 20

3.5.Vận hành thiết bị 21

Chương 4 22

Trang 3

4.1 Những điều đã thực hiện trong đề tài 22

4.2 Hướng phát triển tiếp theo 22

TÀI LIỆU THAM KHẢO 23

PHỤ LỤC 24

Trang 4

DANH MỤC HÌNH ẢNH

Hình 1.1: Arduino Uno 7

Hình 1.2: Arduino mega 2560 7

Hình 1.3: Arduino Due 7

Hình 1.4: Phần mềm Arduino IDE 8

Hình 1.5: Menu File 9

Hình 1.6: Menu Tools 10

Hình 1.7: Chọn cổng Serial Port 10

Hình 1.8: Một chương trình Arduino cơ bản 11

Hình 2.1: Sơ đồ chức năng các chân của Atmega328 12

Hình 2.2: Chip CH340G 13

Hình 2.3: Còi báo 13

Hình 2.4: Cảm biến MQ2 14

Hình 2.5: Cảnh biến phát hiện lửa 15

Hình 3.1: Sơ đồ khối của hệ thống 16

Hình 3.2: Cáp USB type B 16

Hình 3.3: Sơ đồ nguyên lý khối điều khiển 17

Hình 3.4: Sơ đồ nguyên lý khối giao tiếp với máy tính và cấp nguồn 17

Hình 3.5: Sơ đồ nguyên lý khối cảm biến và còi cảnh báo 17

Hình 3.6: Hình 3D mạch in pcb 18

Hình 3.7: Chương trình của thiết bị 19

Hình 3.8: Giao diện HMI 20

Hình 3.9: Cắm module cảm biến vào header 21

Hình 3.10: Thông số hoạt động của thiết bị 21

Trang 5

LỜI NÓI ĐẦU

Ngày nay khi khoa học công nghệ phát triển một cách mạnh mẽ, việc ứng dụngcho các hệ thống nhúng ngày càng trở nên phổ biến vào đời sống, từ những ứng dụng đơngiản như : điều khiển LED, bật tắt các thiết bị điện tử… đến những ứng dụng cho xã hộinhư: điều khiển đèn giao thông, hệ thống thang máy, cửa tự động… cho đến những ứngdụng lớn như điều khiển robot, tên lửa…

Với những kiến thức đã được học và tìm hiểu từ trường học và cuộc sống hiện tại,

em cũng muốn góp phần phát triển xã hội bằng cách học hỏi và đưa ra những sản phẩm

có ích cho cuộc sống Đề tài “Tìm hiểu về nền tảng Arduino và xây dựng bộ báo cháy

tự động” là một ví dụ nhỏ về một thiết bị hữu ích trong gia đình.

Nội dung để tài gồm 3 chương:

- Chương 1: Tìm hiểu về lập trình Arduino

- Chương 2: Tìm hiểu về các thiết bị phần cứng

- Chương 3: Thiết kế và chế tạo bộ báo cháy tự động

Trong suốt quá trình thực hiện đề tài, em đã được sự giúp đỡ của các thầy trongKhoa Công nghệ Tự động hóa, và đặc biệt là thầy ThS Vũ Thành Vinh

Em xin chân thành cám ơn!

Trang 6

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ácnhà 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 yêu thích, sinh viên và giới chuyên nghiệp để tạo ranhữ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àmmột mạch Arduino bằng tay có thể tự mình thực hiện được (mã nguồn mở) Người ta ướctính khoảng giữ năm 2011 có trên 300.000 mạch Arduino chính thức đã được thương maihóa, và vào năm 2013 có khoảng 700.00 mạch đã đến tay người tiêu dùng

Trang 7

Phần cứng Arduino gốc được sản xuất bởi công ty Italy tên làm 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 chonhiều mục đích sử dụng:

Hình 1.1: Arduino Uno

Hình 1.2: Arduino mega 2560

Hình 1.3: Arduino Due

Trang 8

1.2.Giới thiệu môi trường lập trình Arduino - Arduino IDE

Giao diện của phần mềm Arudino IDE có nhiều phần, tuy nhiên chúng ta cần chú

ý đến những phần quan trọng như được nên trong hình dưới dây

Hình 1.4: Phần mềm Arduino IDE

Chức năng của từng phần như sau:

 Nút kiểm tra chương trình: Dùng để kiểm tra xem chương trình viết có lỗihay không Nếu chương trình bị lỗi thì phần mềm Arduino IDE sẽ hiện thị thông tin lỗi ởvùng thông báo thông tin

 Nút nạp chương trình xuống board Arduino: Dùng để nạp chương trìnhđược viết xuống dưới mạch Arduino Trong quá trình nạp, chương tình sẽ được kiểm tralỗi trước sau đó mới thực hiện nạp xuống Arduino

 Hiển thị màn hình giao tiếp máy tính: Khi nhấp vào biểu tượng cái kính lúpthì phần giao tiếp với máy tính sẽ được mở ra Phần này sẽ hiển thị các thông số màngười dùng muốn đưa lên màn hình Muốn đưa lên màn hình phải có lệnh Serial.print()mới có thể đưa thông số cần hiển thị lên màn hình

 Vùng lập trình: Vùng này để người lập trình thực hiện việc lập trình chochương trình của mình

Trang 9

 Vùng thông báo thông tin: Có chức năng thông báo các thông tin lỗi củachương trình hoặc các vấn đề liên quan đến chương trình được lập.

 Sử dụng một số menu thông dụng trên phần mềm Arduino IDE:

Có vài menu trong phần mềm IDE, tuy nhiên thông dụng nhất vẫn là menu File,ngoài những tính năng như mở một file mới hay lưu một file, phần menu này có một mụcđáng chú ý là Example Phần Example (ví dụ) đưa ra các ví dụ sẵn để người lập trình cóthể tham khảo, giảm bớt thời gian lập trình Hình bên dưới thể hiện việc chọn một ví dụcho led chớp tắt (blink) để nạp cho mạch Arduino Ví dụ về led chớp tắt này thường đượcdùng để kiểm tra board khi mới mua về

Hình 1.5: Menu File

Một menu thường được sử dụng khác là Menu Tools Khi mới bắt đầu kết nối boArduino với máy tính thì ta Click vào Tools -> Board để chọn loại board sử dụng Phầnmềm chọn sẵn kiểu board là Arduino Uno, nếu người dùng sử dụng kiểu board khác thìchọn kiểu board đang dùng

Trang 10

Hình 1.6: Menu Tools

Bên cạnh việc chọn board thì một phần quan trọng nữa là chọn cổng COM Hìnhbên dưới minh họa cho việc chọn cổng COM Khi lần đầu gắn mạch Arduino vào máytính, người dùng cần nhấn chọn cổng COM bằng cách vào Tools ->Serial Port sau đónhấn chọn cổng COM, ví dụ như COM 5 Những lầm sau kh đưa chính board Arudino đóvào máy tính thì không cần chọn cổng COM, nếu đưa board khác vào thì phải chọn lạicổng COM

Hình 1.7: Chọn cổng Serial Port

Trang 11

1.3 Cấu trúc của một chương trình Arduino IDE

Phần này sẽ đưa ra cấu trúc của một chương trình trong Arduino IDE Hai hàm bắtbuộc phải có là hàm setup() và loop()

Các lệnh trong hàm setup() sẽ được chạy khi chương trình khởi động Ở hàm này

ta có thể sử dụng nó để khai báo giá trị của biến, thiết lập các thông số

Sau khi hàm setup() chạy xong, những lệnh trong hàm loop() sẽ được chạy Các lệnh trong hàm này sẽ lặp lại vô hạn

Bất cứ khi nào ta nhấn nút Reset , chương trình sẽ trở về trạng thái như khi

Arduino mới được cấp nguồn

Hình 1.8: Một chương trình Arduino cơ bản

Trang 12

Chương 2 TÌM HIỂU VỀ CÁC THIẾT BỊ PHẦN CỨNG

2.1.Vi điều khiển Atmega328

Vi điều khiển được sử dụng cho ứng dụng này là Atmega328

Hình 2.9: Sơ đồ chức năng các chân của Atmega328

Atmega328 là một chíp vi điều khiển được sản xuất bảng hãng Atmel thuộc họMegaAVR Nó là một vi điều khiển 8 bit dựa trên kiến trúc RISC bộ nhớ chương trình32kb ISP flash có thể ghi xóa hàng nghìn lần, 1kb EEPROM, 1 bộ nhớ RAM vô cùng lớntrong thế giới vi xử lý 8 bit (2kb SRAM)

Với 23 chân có thể sử dụng cho các kết nối vào hoặc ra I/O, 32 thanh ghi, 3 bộtimer/counter có thể lập trình, có các ngắt nội và ngoại, giao thức truyền thông nối tiếpUSART, SPI, I2C Ngoài ra có thể sử dụng bộ biến đổi tương tự ADC 10 bít mở rộng tới

8 kênh, …

Trang 13

2.2 IC chuyển đổi USB sang UART CH340G

IC CH340G là một chip chuyển đổi bus USB và nó có thể nhận ra chuyển đổiUSB sang truyền thông nối tiếp, chuyển USB sang IrDA hồng ngoại hoặc chuyển USBsang giao tiếp máy in

Trong chế độ truyền thông nối tiếp, CH340G cung cấp tín hiệu liên lạch MODEMchung, được sử dụng để khuếch đại giao tiếp nối tiếp bất đồng bộ của máy tính hoặc nângcấp trực tiếp thiết bị nối tiếp lên bus USB

Trang 14

2.4.Cảm biến phát hiện khói MQ2

MQ2 là cảm biến khí để phát hiện các khí có thể gây cháy Nó được cấu tạo từchất bán dẫn SnO2 Chất này có độ nhạy cảm thấp với không khí sạch, nhưng khí trongmôi trường có chất gây chấy, độ dẫn của nó thay đổi ngay Chính nhờ đặc điểm nàyngười ta thêm vào mạch đơn giản để biến đổi độ nhạy này sang điện áp

Khi môi trường sạch điện áp đầu ra của cảm biến thấp, giá trị điện áp đầu ra càngtăng khi nồng độ cháy xung quanh MQ2 càng cao

MQ2 hoạt động rất tốt trong môi trường khí hóa lỏng LPG, H2 và các khí dễ gâycháy khác Nó được sử dụng rộng rãi trong công nghiệp và dân dụng do mạch đơn giản,chi phí thấp

Trên thị trường có nhiều loại module cảm biến khí gas tích hợp sẵn có cách sửdụng đơn giản và hiệu quả Trong module có sử dụng cảm biến khí gas MQ2 Khi pháthiện khí gas rò rỉ module sẽ xuất tín hiệu ở 2 dạng là DOUT_ dạng số và AOUT_dạngtương tự Người sử dụng có thể tùy vào mục đích sử dụng để lựa chọn tín hiệu phù hợp

Trang 15

Ưu điểm:

Việc có chân ra số Dout thuận tiện để mắc các ứng dụng đơn giản, không cần đến

vi điều khiển Khi đó ta chỉ cần chỉnh biến trở tới giá trị nồng độ ta muốn cảnh báo Khinông độ MQ2 đo được thấp hơn mức cho phép thì Dout =1, đèn led tắt Khi nồng độ đođược lớn hơn nồng độ cho phép, Dout = 0, đèn led sáng

Nhược điểm:

Một điều khó khăn khi làm việc với MQ2 là ta khó có thể quy từ điện áp Aout ragiá trị nồng độ ppm

2.5.Cảm biến phát hiện lửa

Mọi vật có nhiệt độ lớn hơn 0°K đều phát ra tia hồng ngoại ở những bước sóngkhác nhau, ví dụ như hông ngoại ở trên remote điều khiển có bước sóng từ 0.75-1.4µm vàngọn lửa thường là ở dải 760-1100nm Cho nên ta sẽ dùng một led thu tín hiệu hồngngoại để bắt tín hiệu hồng ngoại mà ngọn lửa phát ra

 Nguyên lý hoạt động:

Khi modue hoạt động các chân tin hiệu sẽ báo tín hiệu về thiết bị điều khiển Lúc

đó tín hiệu chân Dout:

 Tín hiệu mức 1: Không có lửa

 Tín hiệu mức 0: Có lửa

Hình 2.13: Cảnh biến phát hiện lửa

Trang 16

Chương 3 THIẾT KẾ VÀ CHẾ TẠO BỘ BÁO CHÁY TỰ ĐỘNG

3.1.Sơ đồ khối

Hình 3.14: Sơ đồ khối của hệ thống

 Nguồn cấp cho các thiết bị trong đồ án này được lấy từ nguồn máy tínhthông qua cáp USB

Hình 3.15: Cáp USB type B

 Khối xử lý (Atmega328, CH340G…) xử lý tín hiệu nhận được từ cảm biếnphát hiện khói và cảm biến phát hiện lửa, sau đó truyền dữ liệu lên phần mềm trên máy

Trang 17

Hình 3.16: Sơ đồ nguyên lý khối điều khiển.

Hình 3.17: Sơ đồ nguyên lý khối giao tiếp với máy tính và cấp nguồn

 Khối cảm biến bao gồm cảm biến phát hiện khói và cảm biến phát hiện lửa.Khi xuất hiện khói hoặc lửa trong môi trường thì còi xe kêu lên để cho người dùng biết

Hình 3.18: Sơ đồ nguyên lý khối cảm biến và còi cảnh báo

Trang 18

3.2 Nguyên lý hoạt động và mạch in

 Nguyên lý hoạt động của thiết bị

Khi được cấp nguồn mạch sẽ hoạt động theo chương trình được thiết lập trên viđiều khiển Chu trình hoạt động của mô hình hệ thống này được bắt đầu từ sự thu nhậntín hiệu của các cảm biến Các tín hiệu được trung tâm xử lý và truyền tải lên phần mềmmáy tính để người dùng biết được các thông số môi trường, nếu phát hiện khói hay lửathì còi kêu để mọi người tìm cách khắc phục

 Mạch in pcb

Mạch in có thể được thiết kế từ các phần mềm vẽ mạch chuyên dụng như OrCad,Altium,… Đối với đồ án này thì mạch in được vẽ bằng Altium

Hình 3.19: Hình 3D mạch in pcb

3.3.Code-chương trình điều khiển thiết bị

Với môi trường lập trình đơn giản, dễ sử dụng, ngôn ngữ dể hiểu và dựa trên nền tảng C/C++ rất quen thuộc với người làm kỹ thuật thì Adruino IDE là một lựa chọn thích hợp

Trang 19

Hình 3.20: Chương trình của thiết bị.

Chương trình của thiết bị được chia thành 3 phần:

 Phần 1: từ dòng 1 -> dòng 4: phần này có nhiệm vụ là khai báo các chân kếtnối của cảm biến với vi điều khiển

 Phần 2: hàm void setup(): có nhiệm vụ là : khởi tạo serial để kết nối vớimáy tính và định nghĩa các chân vào ra

 Phần 3: hàm void loop(): ta đọc giá trị analog của cảm biến phát hiện khóiMQ2 và đọc giá trị digital của cảm biến phát hiện lửa rồi in lên máy tính và đưa ra cảnhbáo nếu có

Trang 20

3.4 Giao diện tương tác người dùng HMI

Hình 3.21: Giao diện HMI

Giao diện HMI được viết bằng ngôn ngữ C# trên Visual Studio 2013 gồm 2 phần:

 Phần 1: Cài đặt các thông số cho việc truyền nhận giữa máy tính và vi điềukhiển

 Phần 2: Dữ liệu đo được sẽ hiển thị 2s/lần lên màn hình và có thể lưu dữliệu dưới dạng file Excel

Trang 21

3.5 Vận hành thiết bị

 B1: Cắm các module cảm biến phát hiện lửa và phát hiện khói lên cácheader tương ứng

Hình 3.22: Cắm module cảm biến vào header.

 B2: Cấp nguồn cho mạch thông qua dây cáp USB type B

 B3: Kết nối giao diện HMI với bo mạch thông qua cổng USB Khi mà pháthiện ra lửa hoặc khói thì dòng chữ đo thông số sẽ hiển thị màu đỏ để cảnh báo ngườidùng và còi sẽ kêu lên

Hình 3.23: Thông số hoạt động của thiết bị

Trang 22

Chương 4 KẾT LUẬN

Sau một thời gian nghiên cứu và tìm hiểu đề tài này, đến nay thiết bị báo cháy tựđộng đã được thiết kế, chế tạo thành công

4.1 Những điều đã thực hiện trong đề tài

 Tìm hiểu và biết được cách thức hoạt động của nền tảng Arduino

 Tìm hiểu được nguyên lý hoạt động của cảm biến phát hiện khói và cảmbiến phát hiện lửa

 Tìm hiểu và biết được thêm ngôn ngữ lập trình C# để viết giao diện theodõi thông số của thiết bị

 Thiết kế và chế tạo thiết bị báo cháy tự động

4.2 Hướng phát triển tiếp theo

 Nghiên cứu chế tạo sản phẩm có thể phát hiện nhiều khí có thể gây nguy hại đến con người và mội trường

 Tích hợp thiết bị và hệ thống nhà tự động, smarthome để nâng cao chất lượng và đảm bảo an toàn cho người dùng

Do thời gian và kiến thức còn hạn hẹp nên không thể tránh được thiếu sót khi thựchiện đề tài Rất mong nhận được những đánh giá, góp ý quý báo của quý thầy cô và các bạn

Trang 23

TÀI LIỆU THAM KHẢO

1 https://components101.com/sites/default/files/component_datasheet/MQ2%20Gas

%20sensor.pdf

2 http://rogerbit.com/wprb/wp-content/uploads/2018/01/Flame-sensor-arduino.pdf

3 http://arduino.vn/

Trang 24

PHỤ LỤC

1 Code chương trình nạp vào vi điều khiển

#define buzzer 2 // Định nghĩa chân điều khiển Còi

int smoke_sensor = A3; // Định nghĩa chân analog để đọc dữ liệu từ cảm biến khói

#define flame_sensor 11 // Định nghĩa chân đoc tín hiệu digital của cảm biến lửa

int flame_detected;

void setup()

{

Serial.begin(115200); // khởi tạo serial và baudeatr là 115200

pinMode(buzzer,OUTPUT); // định nghĩa còi là đầu ra

pinMode(flame_sensor,INPUT); // định nghĩa chân Dout của cảm biến lửa là đầu vào }

if(inChar=='d') { break;}

int adc_value = analogRead(smoke_sensor); // đọc tín hiệu analog từ chân A3 Serial.print(adc_value); // in dữ liệu lên phần mềm máy tính Serial.print("\r");

flame_detected = digitalRead(flame_sensor); // đọc giá trị của cảm biến lửa Serial.print(flame_detected); //in dữ liệu lên phần mềm máy tính Serial.print("\n");

Ngày đăng: 29/07/2020, 07:30

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w