Ngày nay, với sự phát triển mạnh mẽ của khoa học kỷ thuật hiện đại, việc ứng dụng điện tử vào phục vụ cho cuộc sống con người là không thể thiếu, để phòng tránh việc nguy hiểm của khí ga
Trang 1ĐỒ ÁN TỐT NGHIỆP
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG CẢNH BÁO KHÍ GAS TRONG CÁC CỬA HÀNG THỨC ĂN NHANH DÙNG
ARDUINO
Người hướng dẫn: TS VÕ ĐÌNH TÙNG Người thực hiện: NGUYỄN TRUNG CƯỜNG
Lớp : 10040002
Khoá : 14
THÀNH PHỐ HỒ CHÍ MINH, NĂM 2015
Trang 2thực hiện đề tài là không nhiều và gặp một số hạn chế trong việc tìm hiểu tài liệu liên quan nên chắc chắn không thể tránh khỏi thiếu sót, rất mong sự đóng góp ý kiến chân thành của quý Thầy Cô và bạn bè để đồ án của em được hoàn thiện hơn
Em xin gửi lời cảm ơn sâu sắc tới thầy TS Võ Đình Tùng Thầy đã trực tiếp hướng dẫn, theo sát, ân cần chỉ bảo em từng bước một cách nhiệt tình từ khi bắt đầu
đồ án cho tới khi hoàn thành đồ án
Em xin chân thành cảm ơn quý Thầy Cô trong Khoa Điện-Điện Tử trường Đại học Tôn Đức Thắng đã truyền thụ kiến thức trong suốt thời gian học tập ở trường và cũng xin cám ơn tất cả các bạn khóa 14 đã đóng góp và giúp đở em trong quá trình thực hiện
TP Hồ Chí Minh, ngày tháng năm
Tác giả
Trang 3Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi và được sự hướng dẫn khoa học của thầy TS Võ Đình Tùng Các nội dung nghiên cứu, kết quả trong đề tài này là trung thực và chưa công bố dưới bất kỳ hình thức nào trước đây Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính tác giả thu thập từ các nguồn khác nhau có ghi rõ trong phần tài liệu tham khảo
Ngoài ra, trong luận văn còn sử dụng một số nhận xét, đánh giá cũng như số liệu của các tác giả khác, cơ quan tổ chức khác đều có trích dẫn và chú thích nguồn gốc
Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm về nội dung luận văn của mình Trường đại học Tôn Đức Thắng không liên quan đến những vi phạm tác quyền, bản quyền do tôi gây ra trong quá trình thực hiện (nếu có)
TP Hồ Chí Minh, ngày tháng năm
Tác giả (ký tên và ghi rõ họ tên)
Trang 4MỤC LỤC
DANH MỤC CÁC HÌNH VẼ VI DANH MỤC CÁC BẢNG BIỂU VIII DANH MỤC CÁC TỪ VIẾT TẮT IX LỜI MỞ ĐẦU XI
CHƯƠNG 1 GIỚI THIỆU HỆ THỐNG CẢNH BÁO KHÍ GAS 1
1.1 THÀNH PHẦN, TÍNH CHẤT NGUY HIỂM CHÁY, NỔ CỦA GAS 1
1.1.1 Thành phần và tính chất lý, hóa của gas 1
1.1.2 Tính chất nguy hiểm cháy, nổ của gas 1
1.2 HỆ THỐNG CẢNH BÁO KHÍ GAS 3
1.2.1 Các thành phần của một hệ thống cảnh báo khí gas 3
1.2.2 Chi tiết các thiết bị 3
1.2.2.1 Bộ điều khiển trung tâm cảnh báo 3
1.2.2.2 Thiết bị đầu vào 4
1.2.2.3 Thiết bị đầu ra 4
CHƯƠNG 2 TÌM HIỂU LINH KIỆN 5
2.1 TỔNG QUAN VỀ VI ĐIỀU KHIỂN 5
2.1.1 Khái quát về vi điều khiển 5
2.1.2 Giới thiệu vi điều khiển Arduino 6
2.1.3 Giới thiệu vi điều khiển Inter Galileo 8
2.1.3.1 Giới thiệu chung 8
2.1.3.2 Sơ đồ nguyên lý của Galileo 9
2.1.3.3 Các đặc tính kỷ thuật 10
2.1.3.4 Cấu trúc của Galileo 11
2.1.3.5 Sơ đồ chân Inter Galileo 13
2.1.3.6 Các cổng giao tiếp của Inter Galileo 14
2.1.4 Bảng so sánh các loại vi điều khiển phổ biến hiện nay 15
2.1.5 Phần mềm lập trình Inter Galileo IDE 16
2.2 MODULE CẢM BIẾN KHÍ MQ 22
Trang 52.2.1 Tổng quan 22
2.2.2 Thông số kỷ thuật 23
2.2.3 Cấu trúc cảm biến MQ 24
2.2.4 Nguyên lý hoạt động MQ 24
2.3 IC555 25
2.3.1 Giới thiệu 25
2.3.2 Thông số tiêu thụ và chức năng của IC555 25
2.3.3 Chức năng các chân IC555 26
2.4 LCD HD44780 27
2.4.1 Giới thiệu 27
2.4.2 Chức năng của các chân 28
2.5 R ELAY (R Ơ LE ) 30
2.5.1 Giới thiệu 30
2.5.2 Nguyên tắc hoạt động của relay 30
CHƯƠNG 3 TÍNH TOÁN THIẾT KẾ HỆ THỐNG 32
3.1 TÍNH TOÁN THIẾT KẾ 32
3.1.1 Sơ đồ thiết kế hệ thống 32
3.1.2 Sơ đồ khối 33
3.1.3 Chức năng của các khối 33
3.2 THIẾT KẾ PHẦN CỨNG 33
3.2.1 Khối nguồn 33
3.2.2 Khối cảm biến 34
3.2.2.1 Sơ đồ nguyên lý của khối cảm biến 34
3.2.2.2 Nguyên lý hoạt động của khối cảm biến 34
3.2.3 Khối cảnh báo 35
3.2.3.1 Sơ đồ nguyên lý của khối cảnh báo 35
3.2.3.2 Nguyên lý hoạt động của khối cảnh báo 36
3.2.4 Khối điều khiển 36
3.2.5 Khối hiển thị 37
3.2.5.1 Sơ đồ nguyên lý của khối hiển thị 37
3.2.5.2 Nguyên lý hoạt động của khối hiển thị 37
CHƯƠNG 4 THI CÔNG MẠCH 39
Trang 64.1 SƠ ĐỒ NGUYÊN LÝ CỦA HỆ THỐNG 39
4.2 LƯU ĐỒ THUẬT TOÁN 40
4.3 NGUYÊN LÝ HOẠT ĐỘNG CỦA HỆ THỐNG 40
4.4 SƠ ĐỒ MẠCH IN 41
4.4.1 Mạch cảnh báo 41
4.4.2 Mạch hiển thị 42
4.5 PHẦN CỨNG HOÀN CHỈNH 43
4.6 CODE CHƯƠNG TRÌNH 45
CHƯƠNG 5 TỔNG KẾT ĐÁNH GIÁ VÀ HƯỚNG PHÁT TRIỂN 50
5.1 KẾT LUẬN VÀ ĐÁNH GIÁ ĐỀ TÀI 50
5.2 HƯỚNG PHÁT TRIỂN 50
TÀI LIỆU THAM KHẢO 52
Trang 7DANH MỤC CÁC HÌNH VẼ
Hình 1.1 : Nổ gas một quán phở ở Đà Lạt 2
Hình 1.2 : Cháy nổ gas ở Quận 8, TP.HCM 3
Hình 1.3 : Cảm biến khí 4
Hình 1.4 : Các thiết bị đầu ra 4
Hình 2.1 : Symbol của vi điều khiển Arduino 6
Hình 2.2 : Một vài thành viên trong gia đình Arduino 7
Hình 2.3 : Mặt trước và sau của Intel Galileo 8
Hình 2.4 : Sơ đồ nguyên lý Intel Galileo 9
Hình 2.5 : Sơ đồ chân mặt trên Intel Galileo 13
Hình 2.6 : Galileo IDE 16
Hình 2.7 : update driver 17
Hình 2.8 : Chọn đường dẫn để update driver 18
Hình 2.9 : Chọn board tương ứng để lập trình 19
Hình 2.10 : Kiểm tra lỗi cho code lập trình Galileo 21
Hình 2.11 : Module cảm biến MQ 22
Hình 2.12 : Cấu trúc của MQ 24
Hình 2.13 : IC555 25
Hình 2.14 : Sơ đồ chân của IC555 26
Hình 2.15 : Hình dáng loại LCD thông dụng 28
Hình 2.16 : Sơ đồ chân của LCD 28
Hình 2.17 : Relay 5V Dc 30
Hình 2.18 : Kí hiệu của relay 30
Hình 3.1 : Sơ đồ thiết kế hệ thống 32
Hình 3.2 : Sơ đồ khối 33
Hình 3.3 : Vị trí lấy nguồn 5V và GND trên Galileo 34
Hình 3.4 : Khối cảm biến 34
Hình 3.5 : Khối cảnh báo 35
Trang 8Hình 3.6 : Khối hiển thị 37
Hình 4.1 : Sơ đồ nguyên lý hệ thống 39
Hình 4.2 : Lưu đồ thuật toán 40
Hình 4.3 : Mạch in của mạch cảnh báo 41
Hình 4.4 : Mạch cảnh báo mô phỏng 3D 42
Hình 4.5 : Mạch in của mạch hiển thị 42
Hình 4.6 : Mạch hiển thị mô phỏng 3D 43
Hình 4.7 : Mô hình hệ thống cảnh báo khí gas 43
Hình 4.8 : Cảm biến 1 phát hiện gas 44
Hình 4.9 : Cảm biến 2 phát hiện gas 44
Trang 9DANH MỤC CÁC BẢNG BIỂU
Bảng 1.1 : Khoảng giới hạn nồng độ nguy hiểm gây cháy nổ của gas 2
Bảng 2.1 : Bảng đặc tính kỷ thuật một số vi điều khiển 16
Bảng 2.2 : Các icon ứng dụng trên Galile IDE 20
Bảng 2.3 : Thông số kỷ thuật MQ 23
Bảng 2.4 : Cấu tạo bên trong của MQ 24
Bảng 2.5 : Chức năng các chân LCD 29
Trang 10DANH MỤC CÁC TỪ VIẾT TẮT
BJT Bipolar Junction Transistor
LPG Liqid Petrolium Gas
LCD Liquid Crystal Display
CPU Central Processing Unit
IDE Integrated Development Environment
PIC Programmable Intelligent Computer
USB Universal Serial Bus
LED Light-Emiting Diode
3G Third-generation technology
GPRS General Packet Radio Service
GPS Global Positioning System
SMS Short Message Services
UART Universal Asynchronous Receiver – Transmitter. Micro-SD Micro Secure Digital
PCI Provincial Competitiveness Index
I/O Input/Output
SoC System on Chip
ISA Industry Standard Architecture
SRAM Static Random Access Memory
PICe Programmable Intelligent Computer Express SPI Serial Peripheral Interface
DRAM Dynamic Random Access Memory
PWM Pulse Width Modulation
VIN Voltage Input
ICSP In-Circuit Serial Programming
SDA Serial Data
SCL Serial Clock
Trang 11I2C Inter ‐ Intergrated Circuit ARM Acorn RISC Machine PPM Part Per Million
Trang 12LỜI MỞ ĐẦU
Hiện nay, với xu hướng công nghiệp hóa – hiện đại hóa đất nước đang phát triển mạnh mẽ thì nhu cầu con người cũng không ngừng được tăng cao, các cơ sở vật chất hạ tầng liên tục xuất hiện mạnh tạo điều kiện cho sự phát triển mạnh của đất nước và cuộc sống của người dân, với việc phát triển mạnh về mọi mặt thì cuộc sống cũng trở nên cạnh tranh khốc liệt hơn, chính vì thế mà việc dành thời gian cho nấu ăn đối với những người luôn bận rộn trong công việc là không có Nắm bắt được tâm lý và khó khăn như thế, các cửa hàng thức ăn nhanh liên tục xuất hiện và phát triển mạnh mẽ, nhằm đáp ứng nhu cầu cũng như giải quyết khó khăn trong việc phục vụ ăn uống cho các thực khách luôn dành thời gian cho công việc của mình
Với tính chất là nhanh chóng và đảm bảo chất lượng để phục vụ thức ăn cho thực khách thì các cửa hàng thức ăn nhanh luôn sử dụng chất đốt với tính bắt lửa cao và nhanh chóng, vì vậy gas là chất đốt rất được sử dụng nhiều cho việc nấu ăn nhanh mà không cần phải tốn nhiều thời gian cho việc châm lửa trong các cửa hàng Tuy nhiên việc sử dụng khí gas cũng rất nguy hiểm, vì khí gas có thể làm tắt nghẽn đường hô hấp gây khó thở, ngạt thở có thể dẫn đến tử vong đối với những người hít phải một lượng khí gas lớn, mặt khác khí gas còn dễ gây cháy nổ dẫn đến thiệt hại lớn về người và vật chất nếu xảy ra hiện tượng rò rỉ gas ra ngoài mà không có sự phòng chống hoặc xử lý kịp thời
Ngày nay, với sự phát triển mạnh mẽ của khoa học kỷ thuật hiện đại, việc ứng dụng điện tử vào phục vụ cho cuộc sống con người là không thể thiếu, để phòng tránh việc nguy hiểm của khí gas gây ra cho cuộc sống con người thì với việc ứng dụng khoa học kỷ thuật để xây dựng một hệ thống cảnh báo, báo động khi có
sự xuất hiện của khí gas trong trường hợp bị rò rỉ ra bên ngoài là một điều rất cần thiết cho việc phòng chống cháy nổ, đảm bảo cho cuộc sống con người để làm tiền
đề cho sự phát triển của đất nước
Trang 13Để hiểu rõ về tính thực tiễn của hệ thống cảnh báo khí gas nên em chọn đề tài Đồ án tốt nghiệp của em là :” Thiết kế và thi công hệ thống cảnh báo khí gas cho cửa hàng thức ăn nhanh sử dụng vi điều khiển Arduino”
Thực hiện Đồ án Tốt Nghiệp chuyên ngành Điện tử Viễn thông là dịp để kiểm tra lại và vận dụng những kiến thức đã được học trên giảng đường vào thực tế,
và càng có giá trị hơn khi đề tài của Đồ án có tính ứng dụng cao trong cuộc sống con người ở thời kỳ mà công nghiệp hóa hiện đại hóa đang phát triển mạnh Đây không chỉ là dịp để kiểm nghiệm khả năng của bản thân mà còn là cơ hội để cho mỗi sinh viên phát huy khả năng nghiên cứu, sáng tạo riêng của mình
Vì kiến thức và sự hiểu biết còn ít ỏi và trình độ chuyên môn còn hạn chế và
do lần đầu làm mô hình thực tế còn gặp những khó khăn nên khi thực hiện Đồ án này chắc chắn còn nhiều thiếu sót và khuyết điểm Em rất mong nhận được sự đóng góp chân thành từ Thầy và các bạn để mô hình này hoàn thiện hơn trong thực tế
Em xin chân thành cám ơn
Trang 14Hệ Thống Cảnh Báo Khí Gas SVTH: Nguyễn Trung Cường CHƯƠNG 1 GIỚI THIỆU HỆ THỐNG CẢNH BÁO KHÍ GAS
1.1 THÀNH PHẦN, TÍNH CHẤT NGUY HIỂM CHÁY, NỔ CỦA GAS
1.1.1 Thành phần và tính chất lý, hóa của gas
Tên đầy đủ của gas là khí đốt hóa lỏng, viết tắt là LPG Gas là hỗn hợp của các chất Hydrocacbon, trong đó thành phần chủ yếu là khí Propane (C3H8), Butane (C4H10) và một số thành phần khác LPG tồn tại trong thiên nhiên ở các giếng dầu hoặc giếng gas và cũng có thể sản xuất ở các nhà máy lọc dầu LPG có những đặc tính cơ bản:
- Không màu
- Không mùi
- Dễ cháy
- Nặng hơn không khí
- Không chứa chất độc nhưng có thể gây ngạt thở
Gas được nén vào bình trở thành thể lỏng, khi thoát ra ngoài lại chuyển thành thể khí (1kg gas thể lỏng ở trong bình, khi thoát ra ngoài tạo thành 250 lít thể khí) Gas ở trạng thái nguyên chất không có mùi, không có màu Sở dĩ trong thực tế gas
có mùi là do nhà sản xuất pha trộn thêm chất tạo mùi đặc trưng để giúp phát hiện hơi gas khi xảy ra sự cố rò rỉ Nhiệt độ của gas khi cháy rất lớn, có thể đạt từ
1900oC đến 1950oC
1.1.2 Tính chất nguy hiểm cháy, nổ của gas
Khi thoát ra khỏi thiết bị chứa, gas chuyển thành thể khí nên rất khó bảo quản Mặt khác, do không có mùi, không có màu nên gas thoát ra thiết bị chứa rất khó phát hiện, do đó nhà sản xuất phải đưa thêm vào hỗn hợp gas chất tạo ra mùi
Trang 15Hệ Thống Cảnh Báo Khí Gas SVTH: Nguyễn Trung Cường
bắp cải thối để dễ phát hiện gas bị rò rĩ Tỷ trọng của gas nặng hơn không khí (Propan gấp 1,55 lần; Butan gấp 2,07 lần) nên khi thoát khỏi thiết bị chứa, gas tích
tụ ở những chỗ trũng trên mặt đất và tạo thành hỗn hợp nguy hiểm cháy nổ
Hình 1.1 : Nổ gas một quán phở ở Đà Lạt
Do nhiệt độ ngọn lửa của gas khi bị cháy rất cao (1900oC đến 1950oC) nên
dễ gây bỏng cho người và gia súc đồng thời gây cháy lan, khó khăn cho việc chữa cháy (vận tốc cháy lan của Butan là 0,38m/s, của Propan là 0,46m/s) Khoảng giới hạn nồng độ nguy hiểm cháy, nổ của gas rất rộng được tính theo phần trăm thể tích như sau:
Trang 16Hệ Thống Cảnh Báo Khí Gas SVTH: Nguyễn Trung Cường
Hình 1.2 : Cháy nổ gas ở Quận 8, TP.HCM 1.2 HỆ THỐNG CẢNH BÁO KHÍ GAS
1.2.1 Các thành phần của một hệ thống cảnh báo khí gas
Một hệ thống cảnh báo khí gas sẽ có ba thành phần sau:
- Bộ điều khiển trung tâm cảnh báo: được thiết kế theo dạng tủ, bao gồm các thiết bị chính như: board mạch vi điều khiển chính, biến áp, ác quy…
- Thiết bị đầu vào: là các cảm biến khí
- Thiết bị đầu ra: là các chuông, còi báo động; đèn báo động; LCD hiển thị; van đóng ngắt khí gas…
1.2.2 Chi tiết các thiết bị
1.2.2.1 Bộ điều khiển trung tâm cảnh báo
Đây là thiết bị quan trọng nhất trong hê thống và quyết định đến chất lượng
hệ thống Có khả năng nhận và xử lý tín hiệu cảnh báo từ các đầu báo, hiển thị các thông tin về hệ thống và phát lệnh báo động, chỉ thị nơi xảy ra rò rỉ gas
Trang 17Hệ Thống Cảnh Báo Khí Gas
1.2.2.2 Thiết bị đầu v
Là thiết bị nhạy cảm với hiện t
nhiệm vụ nhận thông tin xảy ra sự cố r
mọi người nhận biết đang có hiện t
ết bị đầu vào
ết bị nhạy cảm với hiện tượng như khí gas bên ngoài không khí, và có
ệm vụ nhận thông tin xảy ra sự cố rò rỉ và truyền tín hiệu về bộ điều khiển trung
Hình 1.3 : Cảm biến khí
ầu ra
ết bị có nhiệm vụ nhận tín hiệu từ bộ điều khiển trung tâm cảnh
à có tính năng phát đi các thông tin bằng âm thanh (chuông, cằng tín hiệu phát sáng (đèn, led), bằng thông tin dữ liệu trên màn hình (LCD) giúp
ận biết đang có hiện tượng rò rỉ gas xảy ra
Hình 1.4 : Các thiết bị đầu ra
SVTH: Nguyễn Trung Cường
ư khí gas bên ngoài không khí, và có
ền tín hiệu về bộ điều khiển trung
ệm vụ nhận tín hiệu từ bộ điều khiển trung tâm cảnh
ằng âm thanh (chuông, còi),
ên màn hình (LCD) giúp
Trang 18Hệ Thống Cảnh Báo Khí Gas SVTH: Nguyễn Trung Cường
CHƯƠNG 2 TÌM HIỂU LINH KIỆN
2.1 TỔNG QUAN VỀ VI ĐIỀU KHIỂN
2.1.1 Khái quát về vi điều khiển
Bộ vi xử lý có khả năng vượt bậc so với các hệ thống khác về khả năng tính toán, xử lý và thay đổi chương trình linh hoạt theo mục đích người dùng, đặc biệt hiệu quả đối với các bài toán và hệ thống lớn Tuy nhiên đối với các ứng dụng nhỏ, tầm tính toán không đòi hỏi khả năng tính toán lớn thì việc ứng dụng vi xử lý cần cân nhắc Bởi vì hệ thống dù lớn hay nhỏ, nếu dùng vi xử lý thì cũng đòi hỏi các khối mạch điện giao tiếp phức tạp như nhau Các khối này bao gồm bộ nhớ để chứa
dữ liệu và chương trình thực hiện, các mạch điện giao tiếp ngoại vi để xuất nhập và điều khiển trở lại, các khối này cùng liên kết với vi xử lý thì mới thực hiện được công việc Để kết nối các khối này đòi hỏi người thiết kế phải hiểu biết tinh tường
về các thành phần vi xử lý, bộ nhớ, các thiết bị ngoại vi Hệ thống được tạo ra khá phức tạp, chiếm nhiều không gian, mạch in phức tạp và vấn đề chính là trình độ người thiết kế Kết quả là giá thành sản phẩm cuối cùng rất cao, không phù hợp để
áp dụng cho các hệ thống nhỏ
Vì một số nhược điểm trên nên các nhà chế tạo tích hợp một ít bộ nhớ và một
số mạch giao tiếp ngoại vi cùng với vi xử lý vào một IC duy nhất được gọi là Microcontroller - Vi điều khiển Một số đặc điểm khác nhau giữa vi xử lí và vi điều khiển :
- Về phần cứng: vi xử lý cần được ghép thêm các thiết bị ngoại vi bên ngoài như bộ nhớ, và các thiết bị ngoại vi khác, … để có thể tạo thành một bản mạch hoàn chỉnh Đối với vi điều khiển thì bản thân nó đã là một
hệ máy tính hoàn chỉnh với CPU, bộ nhớ, các mạch giao tiếp, các bộ định thời và mạch điều khiển ngắt được tích hợp bên trong mạch
- Về các đặc trưng của tập lệnh: do ứng dụng khác nhau nên các bộ vi xử lý
và vi điều khiển cũng có những yêu cầu khác nhau đối với tập lệnh của
Trang 19Hệ Thống Cảnh Báo Khí Gas SVTH: Nguyễn Trung Cường
chúng Tập lệnh của các vi xử lý thường mạnh về các kiểu định địa chỉ với các lệnh cung cấp các hoạt động trên các lượng dữ liệu lớn như 1byte,
½ byte, word, double word, Ở các bộ vi điều khiển, các tập lệnh rất mạnh trong việc xử lý các kiểu dữ liệu nhỏ như bit hoặc một vài bit
Do vi điều khiển cấu tạo về phần cứng và khả năng xử lí thấp hơn nhiều soi với vi xử lý nên giá thành của vi xử lý cũng rẻ hơn nhiều Tuy nhiên nó vẫn đủ khả năng đáp ứng được tất cả các yêu cầu của người dùng
Vi điều khiển được ứng dụng trong các dây chuyền tự động loại nhỏ, các robot có chức năng đơn giản, trong máy giặt, ôtô
2.1.2 Giới thiệu vi điều khiển Arduino
Hình 2.1 : Symbol của vi điều khiển Arduino Arduino là một nền tảng mã nguồn mở được sử dụng để xây dựng các ứng dụng điện tử Arduino gồm có board mạch có thể lập trình được ( thường gọi là vi điều khiển ) và các phần mềm hỗ trợ phát triển tích hợp IDE dùng để soạn thảo, biên dịch code và nạp chương cho board
Arduino ngày nay rất phổ biến cho những người mới bắt đầu tìm hiểu về điện tử vì nó đơn giản, hiệu quả và dễ tiếp cận Không giống như các loại vi điều khiển khác, Arduino không cần phải có các công cụ chuyên biệt để phục vụ việc nạp code, ví dụ để nạp code cho PIC cần phải có Pic Kit Đối với Arduino rất đơn giản, ta có thể kết nối với máy tính bằng cáp USB Thêm vào đó việc lập trình cho
Trang 20Hệ Thống Cảnh Báo Khí Gas SVTH: Nguyễn Trung Cường
Arduino rất dễ dàng, trình biên dịch Arduino IDE sử dụng phiên bản đơn giản hóa của ngôn ngữ C++
Hình 2.2 : Một vài thành viên trong gia đình Arduino Một hệ thống Arduino có thể cung cấp rất nhiều sự tương tác với môi trường xung quanh:
Hệ thống cảm biến đa dạng về chủng loại (đo đạc nhiệt độ, độ ẩm, gia tốc, vận tốc, cường độ ánh sáng, màu sắc vật thể, lưu lượng nước, phát hiện chuyển động,…)
Các thiết bị hiển thị ( màn hình LCD, đèn LED,…)
Các module chức năng (shield ) hỗ trợ các kết nối có dây với các thiết bị khác hoặc các kết nối không dây thông dụng ( 3G, GPRS, Wifi, Bluetooth,…)
Định vị GPS, nhắn tin SMS
Trang 21Hệ Thống Cảnh Báo Khí Gas SVTH: Nguyễn Trung Cường
2.1.3 Giới thiệu vi điều khiển Inter Galileo
2.1.3.1 Giới thiệu chung
Galileo là một board mạch vi điều khiển dựa trên bộ xử lý ứng dụng Intel Quark SoC X1000 - một bộ xử lí thuộc dòng Pentium 32bit system-on-chip (tích hợp tất cả các thành phần hệ thống vào trong 1 chip xử lí duy nhất) Galileo là board mạch tương thích với Arduino đầu tiên dựa trên Intel Architecture Phần cứng lẫn phần mềm của Galileo đều tương thích với các Arduino Shield vốn được thiết kế cho Arduino UNO R3 với chuẩn chân cắm Arduino 1.0 pinout
Hình 2.3 : Mặt trước và sau của Intel Galileo
Galileo có chiều dài 10.67cm, rộng 7.11cm với các cổng USB, jack UART, cổng Ethernet jack nguồn mở rộng ra ngoài kích thước board mạch
Có 4 lỗ bắt vít cho phép mạch có thể được gắn lên các bề mặt hoặc hộp đựng
Galileo có thể chạy được các shield của Arduino ở cả 2 mức điện áp 3.3V và 5V mặc dù điện áp hệ thống của nó chỉ là 3.3V Galileo có được điều này là nhờ các
bộ chuyển đổi điện áp được tích hợp ngay trên board mạch Theo mặc
định, Galileo chạy shield ở mức 5V và có thể chuyển xuống 3.3V bằng cách thay
đổi các chân cắm (jumper) trên mạch
Trang 22Hệ Thống Cảnh Báo Khí Gas SVTH: Nguyễn Trung Cường
Ngoài các tương thích về mặt phần mềm lẫn phần cứng với nền tảng
Arduino, Galileo cũng hỗ trợ các chuẩn giao tiếp trên máy tính cá nhân hiện nay Vì vậy, Galileo có thể giao tiếp với nhiều thiết bị khác ngoài các shield trong hệ sinh thái Arduino Mặc định, trên board mạch Galileo hỗ trợ:
- Cổng full sized mini-PCI Express
- Cổng Ethernet 100MB
- Khe cắm thẻ nhớ Micro-SD
- Cổng Serial RS-232
- Cổng USB Host và USB Client
- 8MB bộ nhớ NOR Flash mặc định trên mạch
Đây là board mạch đầu tiên trong họ hàng của Arduino có khe cắm mini-PCI Express haft- sized lẫn full sized
2.1.3.2 Sơ đồ nguyên lý của Galileo
Hình 2.4 : Sơ đồ nguyên lý Intel Galileo
Trang 23Hệ Thống Cảnh Báo Khí Gas SVTH: Nguyễn Trung Cường
2.1.3.3 Các đặc tính kỷ thuật
Các bộ xử lý của Intel và các tương thích I/O của SoC đi kèm cung cấp hầu như tất cả các tính năng cần thiết cho người sử dụng Điều này cực kì hữu ích và hiệu quả đến những thiết kế vi xử lý Intel Atom hay những thiết kế dựa trên Intel Core-processor như Galileo:
Bộ xử lí 400Mhz Intel Pentium 32bit tương thích với kiến trúc tập lệnh ISA (ISA-compatible)
- 16KB bộ nhớ đệm L1
- 512KB bộ nhớ SRAM on-die embedded
- Dễ dàng lập trình: đơn luồng, đơn nhân, xung nhịp cố định (single thread, single core, constant speed)
- Mạch thời gian thực tích hợp (RTC intergrated) với 1 pin nút áo 3V
Cổng kết nối 10/100 Ethernet
Cổng PCI Express mini-card với chuẩn PICe 2.0
Cổng kết nối USB 2.0 Host: hỗ trợ tới 128 thiết bị USB đầu cuối
Cổng kết nối USB Client dùng để lập trình: ngoài chức năng là một cổng lập trình, nó cũng có thể đóng vai trò như một USB Host chuẩn 2.0
10 chân header chuẩn JTAG hỗ trợ việc dò lỗi hệ thống
Nút Reboot dùng để reboot vi xử lí trung tâm
Nút reset dùng để reset chương trình Arduino đang chạy hay bất kì shield nào đang kết nối
- 512KB bộ nhớ SRAM nhúng được mở mặc định bởi firmware
Trang 24Hệ Thống Cảnh Báo Khí Gas SVTH: Nguyễn Trung Cường
- 256MB DRAM được mở mặc định bởi firmware
- Tùy chọn thẻ nhớ ngoài SD có thể cung cấp lên tới 32GB dung lượng lưu trữ
- Lưu trữ USB có thể làm việc với bất kì ổ đĩa USB 2.0 nào tương thích 2.1.3.4 Cấu trúc của Galileo
Galileo tương thích với các Arduino UNO Shield và được thiết kế để làm việc với các shield chạy ở cả hai mức điện áp 3.3V và 5V Galileo có các tính năng
hỗ trợ:
Chân Digital I/O: trong đó 6 chân có thể phát xung PWM Chúng có thể được sử dụng ở cả 2 chế độ INPUT và OUTPUT, sử dụng được với các hàm pinMode, digitalWrite và digitalRead như trên các mạch Arduino
- Các chân giao tiếp có thể hoạt động ở 2 mức điện áp 3.3V và 5V Dòng cấp tối đa 10mA, dòng đỉnh là 25mA
- Mỗi chân đều có một điện trở pull-up trong, có trị số khoảng 5.6KΩ đến 10KΩ Mặc định, các điện trở này bị ngắt
6 chân Analog: từ A0 đến A5 giao tiếp qua chip AD7298 (chuyển đổi Analog-to-Digital) Mỗi chân Analog có thể cung cấp độ phân giải 12 bit với 4096 giá trị khác nhau
I2C bus, TWI: với 2 chân SDA và SLC nằm cạnh chân AREF
TWI: gồm 2 chân SDA (A4) và SCL (A5) Hỗ trợ giao tiếp TWI thông qua thư viện Wire tương tự như trên Arduino
SPI: chạy ở xung mặc định là 4Mhz để làm việc với các Arduino shield, có thể lập trình lên đến mức 25Mhz
UART (cổng Serial): là một cổng UART với tốc độ có thể lập trình được, 2 chân giao tiếp là 0 (RX) và chân 1 (TX)
ICSP (SPI): gồm 6 chân tích hợp Serial Programming dùng để kết nối với các shield Các chân này hỗ trợ giao tiếp SPI thông qua thư viện SPI
Trang 25Hệ Thống Cảnh Báo Khí Gas SVTH: Nguyễn Trung Cường
VIN: chân cấp nguồn cho Galileo khi nó sử dụng nguồn ngoài (trái ngược với điện áp chuẩn 5V từ chân cắm nguồn) Ta có thể cấp nguồn cho Galileo từ chân này hoặc nếu cấp nguồn từ chân cắm nguồn phía trước, có thể lấy ra điện áp chuẩn 5V từ chân này
Chân 5V output: chân này cấp nguồn ra 5V từ nguồn ngoài cấp cho Galileo hay từ nguồn USB Dòng ra tối đa ở chân này cho các shield là 800mA
Chân 3.3V output: cấp điện áp ra 3.3V được điều chế từ các mạch điều áp trên Galileo Dòng ra tối đa ở chân này cho các shield là 800mA
GND: chân nối cực âm của nguồn điện
IOREF: cho phép các shield điều chỉnh hoạt động phù hợp với điện áp hoạt động trên Galileo Chân IOREF được kiểm soát bởi các jumper trên mạch để lựa chọn 2 mức điện áp làm việc của shield là 3.3V và 5V
RESET: chân/nút nhấn RESET Kéo chân này xuống GND để reset chương trình Arduino đang chạy trên Galileo Thường chân này được dùng để reset các shield
AREF: không được sử dụng trên Galileo Trên Arduino, chân này cung cấp một điện áp tham chiếu ngoài cho các chân đọc tín hiệu analog Galileo không thể điều chỉnh điện áp đỉnh (upper end) của độ rộng tín hiệu analog đi vào bằng chân AREF hay hàm analogReference()
Trang 26Hệ Thống Cảnh Báo Khí Gas SVTH: Nguyễn Trung Cường
2.1.3.5 Sơ đồ chân Inter Galileo
Hình 2.5 : Sơ đồ chân mặt trên Intel Galileo Ethernet: Giúp mạch Intel Galileo kết nối với các modem/router để kết nối với Internet (tốc độ tối đa lên đến 10/100 Mb/s)
RS-232 port: cổng này là một trong 2 cổng UART (Serial) vật lý trên Intel Galieo Nó có hình dáng giống hệt một jack cắm tai nghe 3.5mm trên điện thoại
USB Client: Cổng này là cổng Micro USB (uUSB) vì vậy có thể lấy dây sạc điện thoại thông minh để sử dụng Cổng này dùng để lập trình với chương trình Arduino từ máy tính Cổng này là cổng serial ảo duy nhất của Intel Galileo và nó được thiết kế ra để lập trình với chương trình Arduino
USB 2.0 Host: đây là cổng USB dùng cho việc nhận tín hiệu các thiết bị ngoại vi như webcam, usb micro, usb, Intel Galileo hỗ trợ lên đến 128 thiết bị ngoại vi
Power Pin : 8 chân cấp điện (5V, 3.3V, RESET, GND, )
Analog Pin : 6 chân Analog (A0 - A5)
Trang 27Hệ Thống Cảnh Báo Khí Gas SVTH: Nguyễn Trung Cường
Digital Pin : 14 chân Digital (D0-D13) trong đó bao gồm 2 chân TX 1, RX 0 (cổng UART vật lý cuối cùng của Intel Galileo), và 6 chân xung PWM tại các chân D3, D5, D6, D9, D10, D11
Cổng 2x3 ICPS dùng để giao tiếp SPI
Reboot Button: Nút này sẽ khởi động lại toàn bô board Intel Galileo
2.1.3.6 Các cổng giao tiếp của Inter Galileo
Galieo có thể dễ dàng kết nối với máy tính, mạch Arduino hay các vi điều khiển khác bằng nhiều phương thức:
Galieo cung cấp giao tiếp UART TTL Serial ở cả 2 mức 3.3V và 5V ở 2 chân 0 (RX) và 1 (TX) Thêm vào đó, 1 cổng UART khác hỗ trợ RS-232 có thể được sử dụng qua jack cắm 3.5mm
Cổng USB Client cho phép giao tiếp Serial (CDC-ACM) qua USB Nó cung cấp cho ta kết nối Serial đến Serial Monitor (một chức năng trong IDE) hoặc các ứng dụng khác trong máy tính Có thể tải chương trình Arduino lên Galieo qua cổng này
Cổng USB Host cho phép Galieo kết nối tới các thiết bị khác như chuột, bàn phím, điện thoại thông minh, với vai trò là một USB Host
Galieo là mạch Arduino đầu tiên cung cấp một cổng mini PCI Express (mPCIe) Cổng này cho phép kết nối các module mPCIe full-size lẫn half-sized (với adapter) cũng như cung cấp thêm một cổng USB Host khác Một
module chuẩn mPCIe có thể kết nối và cung cấp cho Galieo nhiều ứng dụng
như WiFi, Bluetooth hay kết nối mạng di động Bước đầu, cổng mPCIe sẽ hỗ trợ thư viện WiFi
Cổng kết nối Ethernet RJ45 cho phép Galieo kết nối đến các mạng có dây Giao tiếp Ethernet được hỗ trợ đầy đủ trên Galieo, do đó không cần phải sử dụng giao tiếp SPI như trên Arduino shield
Trang 28Hệ Thống Cảnh Báo Khí Gas SVTH: Nguyễn Trung Cường
Đầu đọc thẻ nhớ microSD tích hợp trên mạch có thể được truy cập thông qua thư viện SD Giao tiếp giữa Galieo và thẻ nhớ microSD được hỗ trợ bởi một trình điều khiển SD tích hợp, do đó không cần phải sử dụng giao tiếp SPI như trên mạch Arduino Giao tiếp SD có thể chạy với tần số đến 50Mhz phụ thuộc vào Class của thẻ nhớ Thẻ nhớ có 2 loại Class thông dụng là Class 4 và Class 10
Phần mềm như trên Arduino bao gồm thư viện Wire giúp dễ dàng sử dụng bus I2C/TWI
Với giao tiếp SPI, hãy sử dụng thư viện SPI
2.1.4 Bảng so sánh các loại vi điều khiển phổ biến hiện nay
máy in 3D, robot, thiết
bị bay không người lái UAV, điều khiển ánh sáng, kích hoạt chụp ảnh tốc độ cao…
ứng dụng doanh nghiệp, các hệ thống ô tô, mạng gia đình và công nghệ mạng không dây
Ứng dụng trong kỷ thuật điều khiển, robot, mạng gia đình…
Trang 29Hệ Thống Cảnh Báo Khí Gas
UART
Bảng 2.1 :2.1.5 Phần mềm lập tr
Galileo có thể đ
về máy, hãy kết nối máy tính với Galileo qua cổng USB Client (gần cổng
nhất) trên mạch, bước tiếp theo l
cho Inter Galileo Với mỗi hệ điều h
vậy để hãy chọn đúng hệ điều h
ảng 2.1 : Bảng đặc tính kỷ thuật một số vi điều khiển
ập trình Inter Galileo IDE
Hình 2.6 : Galileo IDE
ể được lập trình với IDE của Arduino Khi đ
ết nối máy tính với Galileo qua cổng USB Client (gần cổng
ớc tiếp theo là phải cài Driver cho máy tính đ
ới mỗi hệ điều hành khác nhau, ta có những b
ọn đúng hệ điều hành của mình để cài đặt Driver
SVTH: Nguyễn Trung Cường
Có ảng đặc tính kỷ thuật một số vi điều khiển
ới IDE của Arduino Khi đã tải chương trình
ết nối máy tính với Galileo qua cổng USB Client (gần cổng Ethernet
ài Driver cho máy tính để có thể lập trình
ững bước khác nhau Vì
Trang 30thư mục mà đã cài đặt phần mềm Inter Galileo Sau đó kích nút Next.
ở Device Manager, trong bảng Device Manager tìm thi
ở mục Other device, sau đó click chuột phải vào ch
Hình 2.7 : update driver
ẽ có một panel hiện lên, chọn Browse my computer for driver softwarevào Browse… và chọn đến thư mục …\hardware\arduino
ặt phần mềm Inter Galileo Sau đó kích nút Next
SVTH: Nguyễn Trung Cường
tìm thiết bị tên là “Gadget vào chọn Update Driver
ọn Browse my computer for driver software Sau
arduino\x86\tools trong
ặt phần mềm Inter Galileo Sau đó kích nút Next
Trang 31Hệ Thống Cảnh Báo Khí Gas
Kích vào Install trong b
ta sẽ nhận được thông báo
software” Như vậy là ta đ
khung Device Manager, lúc này s
Galileo (COM #)” (dấu # đ
trọng, vì ta sẽ dùng cổng COM n
chương trình Arduino Galileo IDE
Sau khi cài đặt xong driver,
arduino.exe trong folder đ
Galileo” và ở mục Serial Port th
update driver
Hình 2.8 : Chọn đường dẫn để update driverKích vào Install trong bảng Windows Security sẽ hiện ra
ợc thông báo “Windows has successfulle updated your driver
à ta đã cài xong Driver cho mạch Inter Galileo
khung Device Manager, lúc này sẽ có một cổng COM mới xuất hiện có t
ấu # được thay bằng một số nguyên nào đó) Điổng COM này cho việc lập trình mạch Inter Galileo thông qua ình Arduino Galileo IDE
ặt xong driver, hãy khởi động phần mềm IDE bằng cách chọn ong folder đã tải về Trong IDE vào mục Tools
ở mục Serial Port thì hãy chọn cổng COM tương ứng với cổng m
SVTH: Nguyễn Trung Cường
ờng dẫn để update driver ảng Windows Security sẽ hiện ra sau đó Đợi một lúc
“Windows has successfulle updated your driver
ạch Inter Galileo Bây giờ, ở
ẽ có một cổng COM mới xuất hiện có tên là “Inter
ên nào đó) Điều này rất quan ạch Inter Galileo thông qua
ần mềm IDE bằng cách chọn
ục Tools chọn board là “Inter
ứng với cổng mà ta đã
Trang 32Hệ Thống Cảnh Báo Khí Gas
Sau khi đã thực hiện xong update driver v
này khi nào muốn lập tr
USB Client trên board Galileo là ta có th
cài đặt driver nữa Sau đó,
mỗi ứng dụng mà code l
Hình 2.9 : Chọn board tương ứng để lập tr
ực hiện xong update driver và chọn board đ
ốn lập trình thì ta chỉ cần kết nối dây USB từ máy tính vUSB Client trên board Galileo là ta có thể lập trình cho Galileo mà không c
Sau đó, có thể lập trình cho Galileo với IDE,
à code lập trình cho Galileo sẽ khác nhau
SVTH: Nguyễn Trung Cường
ứng để lập trình board để lập trình thì sau
ỉ cần kết nối dây USB từ máy tính vào cổng
ình cho Galileo mà không cần phải
ới IDE, tùy vào yêu cầu của