Đề xuất hướng phát triển của đề tài
Đây là một đề tài liên quan đến nhiều lĩnh vực khác nhau, đòi hỏi
người thiết kế phải có nhiều kinh nghiệm và thời gian, do đó rất mong rằng nhà
trường sẽ bố trí học viên thực hiện phát triển tiếp đề tài để kết quả được tốt hơn và
ứng dụng mạnh mẽ hơn cho đời sống.
123 trang |
Chia sẻ: builinh123 | Lượt xem: 1298 | Lượt tải: 5
Bạn đang xem trước 20 trang tài liệu Luận văn Thiết kế hệ thống giám sát điều khiển thiết bị điện ứng dụng công nghệ Zigbee 802.15.4 và Ethernet, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
n yêu cầu
kết cấu hệ thống phải đảm bảo tín hiệu đƣợc truyền đi chính xác nhanh chóng
Hình 2.2. Hệ thống điều khiển thiết bị điện từ xa
Thiết bị phát: biến đổi lệnh điều khiển thành tin tức tín hiệu điện và phát đi.
Đƣờng truyền: đƣa tín hiệu tin tức từ thiết bị phát đến thiết bị thu.
Thiết bị thu: nhận tín hiệu điều khiển từ đƣờng truyền, biến đổi ngƣợc lại tin tức
thành lệnh điều khiển và thực hiện chấp hành theo lệnh điều khiển.
2.4 Hệ thống chống trộm
Hệ thống chống trộm gồm một bộ điều khiển trung tâm đƣợc liên kết với các
cảm biến đặt trong khu vực cần quản lý. Các cảm biến có thể liên kết với hệ thống
sử lý trung tâm qua hệ thống truyền dữ liệu hữu tuyến hoặc vô tuyến. Các cảm biến
này thƣờng dùng: cảm biến quang, cảm biến hồng ngoại, cảm biến từ .Bộ điều
khiển trung tâm sẽ nhận các thông tin đƣợc thu thập từ cảm biến để xử lý, tùy vào
ngƣời lập trình mà bộ điều khiển trung tâm sẽ đƣa ra các phản ứng khác nhau để
cảnh báo và thông báo đến ngƣời sử dụng. Thiết bị cảnh báo thƣờng là loa, còi, điện
thoại Ngoài ra, hệ thống còn đƣợc tích hợp thêm các chức năng phụ nhƣ pin dự
phòng khi mất điện, tắt bật hệ thống điện hay kết nối với các hệ thống thông minh
khác.
Thiết bị
phát
Đƣờng
truyền
Thiết bị thu
50
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
Hình 2.3. Hệ thống chống trộm tiêu biểu
Các loại cảm biến dùng trong hệ thống chống trộm:
Cảm biến báo động đơn giản, phổ biến nhất là các bộ cảm biến báo
động cửa. Cảm biến tƣơng tự có thể đƣợc lắp vào cửa sổ. Nó thƣờng dựa trên
chuyển mạch cộng từ khi bạn mở và đóng cửa. Một mô-đun từ tính đƣợc gắn
vào cánh cửa và các mô-đun chuyển đổi đƣợc gắn dọc vào khung cửa. Bảng
điều khiển sẽ đƣợc thông báo nếu cửa bị mở, hay bị phá hủy để nó kích hoạt các
hành động tiếp theo. Thƣờng là kích hoạt âm thanh báo động ngay lập tức hoặc trì
hoãn báo động với một khoảng thời gian xác định. Sự trễ này là để cho phép ngƣời
sử dụng vào nhà và tắt báo động nếu là báo động giả.
51
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
Hình 2.4. Cảm biến từ phát hiện mở cửa
Cảm biến chuyển động PIR là một loại cảm biến thụ động, nguồn kích
thích là tia hồng ngoại. PIR cảm biến phát hiện chuyển động bằng cách cảm nhận
sự thay đổi nhiệt độ. Vì vậy, khi có ngƣời đi vào một căn phòng, cảm biến sẽ ngay
lập tức phát hiện sự hiện diện của ngƣời đó. PIR cảm biến đƣợc thiết kế để kích
hoạt với những thay đổi nhanh chóng của nhiệt - trong một vài giây. Chúng không
đáp ứng với những thay đổi tinh tế dƣới ánh sáng mặt trời, chúng có thể cho kích
hoạt báo động sai.
52
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
Hình 2.5. Cảm biến chuyển động PIR
Cảm biến ánh sáng: là loại cảm biến thụ động nguồn kích thích là ánh
sáng cảm biến đo cƣờng độ sáng và chuyển thành tín hiệu điện (dòng điện hoặc điện
áp ) sau đó tín hiệu điện đƣợc khuếch đại và qua mạch so sánh mức ngƣỡng để xuất
tín hiệu điều khiển.
2.5 Kết luận chƣơng
,
ị
53
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
CHƢƠNG 3 - NGHIÊN CỨU PHƢƠNG ÁN THIẾT KẾ HỆ THỐNG ĐIỀU
KHIỂN GIÁM SÁT THIẾT BỊ ĐIỆN QUA WEB SERVER
Trong chƣơng này, ta sẽ đƣa đề xuất cơ bản về mô hình hệ thống giám
sát điều khiển thiết bị điện. Giới thiệu về trình biên dịch Arduino, tìm hiểu về
chức năng, nguyên lý các bản mạch và linh kiện điện tử dùng để thiết kế mô
hình thực nghiệm.
3.1 Mô hình hệ thống giám sát điều khiển thiết bị điện
Giới thiệu về mô hình
Trong mô hình, bộ điều khiển đƣợc đặt trong một mạng LAN (và coi
nhƣ một phần tử trong mạng) trong mạng gồm 1 SWITCH, 1 DHCP Server và bao
gồm nhiều máy trạm (các máy PC) có cài chƣơng trình duyệt WEB, các phần mềm
duyệt web phổ biến là IE (Internet Explorer), FireFox,...
Khi kết nối cáp mạng vào switch, thì hệ thống địa chỉ IP . Hệ
thống này đóng vai trò nhƣ một Mini Web Server, tất cả các máy trong mạng có yêu
cầu Web đến địa chỉ IP của bộ điều khiển đều đƣợc trả về dƣới dạng 1 trang WEB.
Hình 3.1. Mô hình của hệ thống điều khiển và giám sát từ xa
54
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
ệ thống sẽ đọc giá trị các cảm biến, đọc trạng thái các thiết
bị điện
tr và điều
khiển trạng thái ON/OFF của thiết bị điện
đến (tƣơng đƣơng với các khối
ngoại vi), hiển thị thông điệp đăng nhập để điều khiển hệ thống lên màn hình
GLCD. Nhƣ vậy, tất cả các máy trong mạng, dù bất kỳ ở đâu cũng đều nhận đƣợc
thông tin và điều khiển đƣợc nhờ một trình duyệt web sẵn có.
:
H
.
:
.
3.2 Giới thiệu về Arduino và trình biên dịch [ 10 ]
3.2.1 Giới thiệu chung về Arduino
Arduino đã thực sự gây sóng gió trên thị trƣờng ngƣời dùng DIY ( là
những ngƣời chế ra sản phẩm của mình ) trên toàn thế giới trong vài năm gần
đây. Số lƣợng ngƣời dùng cực lớn và đa dạng với trình độ trải rộng từ bậc phổ
thông đến bậc đại học đã làm cho chính những ngƣời tạo ra chúng phải ngạc
nhiên về mức độ phát triển và phổ biến.
Arduino là gì mà khiến cả những sinh viên và các nhà nghiên cứu tại
các trƣờng đại học danh tiếng nhƣ MIT, Stanfor, Carnegie Mellon phải sử dụng.
55
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
Ngay cả Google cũng hỗ trợ khi cho ra đời bộ kít Arduino Mega ADK dùng để phát
triển các thiết bị Android tƣơng tác với cảm biến và thiết bị khác.
Arduino thực sự là một bo mạch vi xử lý đƣợc dùng để lập trình tƣơng
tác các thiết bị phần cứng nhƣ cảm biến, động cơ, đèn và thiết bị khác. Điểm nổi
trội của Arduino là môi trƣờng phát triển ứng dụng cực kì dễ sử dụng với ngôn ngữ
lập trình dễ học ngay cả với ngƣời ít rành về điện tử và lập trình. Điều làm nên hiện
tƣợng Arduino là mức giá rất thấp và mã nguồn mở từ phần cứng đến phần mềm.
Chỉ với khoảng 30USD ngƣời dùng có thể sở hữu một bo Arduino với 20 ngõ
In/Out có thể tƣơng tác điều khiển từng ấy thiết bị.
Arduino ra đời tại thị trấn Ivrea thuộc nƣớc Ý và đặt theo tên một vị
vua vào thế kỷ thứ IX là King Arduin. Arduino đƣợc chính thức ra đời vào năm
2005 nhƣ là một công cụ khiêm tốn dành cho các sinh viên của giáo sƣ Massimo
Banzi là một trong những ngƣời phát triển Arduino tại trƣờng Design Instistute
Ivrea ( IDII ).
3.2.2 Giới thiệu về ngôn ngữ lập trình và trình biên dịch Arduino
Thiết kế bo mạch nhỏ gọn trang bị nhiều tính năng thông dụng mạng lại
nhiều lợi thế cho Arduino, tuy nhiên sức mạnh thực sự ở Arduino nằm ở phần mềm
. Môi trƣờng lập trình đơn giản dễ sử dụng, ngôn ngữ lập trình Writing dễ hiểu dựa
trên nền tảng C/C++ rất quen thuộc với ngƣời làm kỹ thuật. Và quan trọng là số
lƣợng thƣ viện code mẫu rất phong phú đƣợc viết và chia sẽ bởi cộng đồng mã
nguồn mở chính ngƣời dùng.
56
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
Hình 3.2. Giao diện phần mềm Arduino IDE
Arduino IDE là phần mềm dùng để lập trình Arduino. Môi trƣờng lập
trình Arduino có thể chạy trên ba nền tảng windown, MAC và Linux. Do có tính
chất mã nguồn mở nên môi trƣờng lập trình này hoàn toàn miễn phí và có thể mở
rộng thêm bởi ngƣời dùng.
Ngôn ngữ lập trình có thể mở rộng thông qua các thƣ viện C++ . Và do
ngôn ngữ này dựa trên nền tảng ngôn ngữ C cho AVR nên ngƣời dùng hoàn toàn có
thể nhúng thêm code viết cho AVR vào chƣơng trình. Hiện nay Arduino IDE có thể
tải về từ trang chủ bao gồm các phiên bản :
Arduino 1.0.5
Arduino 1.5.5 BETA
Arduino IDE cho Intel Galileo
57
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
3.3 Giới thiệu về linh kiện và chức năng trong mô hình
3.3.1 Giới thiệu về IC ATMEGA 2560 [ 12 ]
Vi điều khiển ATmega2560 của hãng ATMEL là một loại vi điều khiển
AVR mới với kiến trúc rất phức tạp.
Đặc điểm
ATmega2560 sử dụng kiến trúc RISC (Reduced Instruction Set Computer)
AVR.
ATmega2560 với kiến trúc RISC có chỉ tiêu chất lƣợng cao và tiêu thụ
năng lƣợng ít:
130 lệnh hầu hết đƣợc thực hiện trong một chu kỳ xung nhịp.
32 thanh ghi làm việc đa năng.
Tốc độ xử lý lệnh lên đến 16 triệu lệnh/giây ở tần số 16MHz.
Bộ nhớ dữ liệu và bộ nhớ chƣơng trình không tự mất dữ liệu:
2560K byte bộ nhớ Flash lập trình đƣợc ngay trên hệ thống, có thể
nạp xoá 10000 lần.
4K byte bộ nhớ EEFROM lập trình đƣợc ngay trên hệ thống, có thể
ghi xóa 100000 lần.
8K byte bộ nhớ SRAM.
Có thể giao tiếp với 64K byte bộ nhớ ngoài.
Khóa bảo mật phần mềm lập trình đƣợc.
Giao diện nối tiếp SPI để lập trình ngay trên hệ thống.
Các tính năng ngoại vi:
Hai bộ đếm/ bộ định thời 8 bit với chế độ so sánh và chia tần số tách
biệt.
Bốn bộ đếm/ bộ định thời 16 bit với chế độ so sánh, chia tần số tách
biệt và chế độ bắt mẫu (Capture Mode).
Bộ đếm thời gian thực (RTC) với bộ dao động tách biệt.
58
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
Bộ điều chế độ rộng xung PWM 8 bit.
Bộ biến đổi ADC bên trong 8 kênh 10 bit.
4 bộ USART nối tiếp lập trình đƣợc.
Bộ định thời Watchdog lập trình đƣợc với bộ dao động trên chip.
Một bộ so sánh Analog.
Các tính năng vi điều khiển đặc biệt:
Có mạch power - on reset và có thể reset bằng phần mềm.
Các nguồn ngắt ngoài và trong.
Có 6 chế độ ngủ: nghỉ (Idle). Tiết kiệm năng lƣợng (power save) và
power down, ADC Noise Reduction, Standby and Extended Standby.
Tần số làm việc có thể thay đổi đƣợc bằng phần mềm.
Vào ra và các cách đóng vỏ
86 đƣờng vào ra lập trình đƣợc.
100 chân dán kiểu vỏ vuông (TQFP)
Điện thế làm việc:
VCC = 4,5V đến 5,5V đối với ATmega2560.
Vùng tốc độ làm việc: 0 đến 16 MHz đối với ATmega2560.
Tổng quan về ATmega2560
ATmega2560 là bộ vi điều khiển RISC 8 bit tiêu thụ năng lƣợng nhƣng đạt
hiệu suất rất cao, dựa trên kiến trúc RISC AVR. Bằng việc thực hiện các lệnh trong
một chu kỳ xung nhịp, ATmega2560 đạt đƣợc tốc độ xử lý dữ liệu lên đến 1 triệu
lệnh/giây ở tần số 1MHz. ATmega2560 còn cho phép ngƣời thiết kế hệ thống tối ƣu
hoá mức độ tiêu thụ năng lƣợng mà vẫn đảm bảo tốc độ xử lý.
59
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
3. Sơ đồ khối của ATmega2560
Kiến trúc đặc biệt của ATmega2560 kết hợp tập lệnh phong phú về số lƣợng
với 32 thanh ghi làm việc đa năng cho phép ngƣời lập trình khai thác nó một cách
hiệu quả tối ƣu. Toàn bộ 32 thanh ghi đều đƣợc nối với ALU cho phép truy cập hai
thanh ghi độc lập bằng 1lệnh đơn trong một chu kỳ xung nhịp. Kiến trúc RISC giúp
ATmega2560 đạt tốc độ xử lý nhanh gấp 10 lần với vi điều khiển kiến trúc CISC
thông thƣờng.
ATmega2560 cung cấp 256K bytes bộ nhớ Flash lập trình đƣợc trong hệ
thống và có khả năng đọc/xóa/viết, 4K bytes bộ nhớ EFPROM, 8K bytes SRAM, 86
đƣờng vào ra đa năng, 32 thanh ghi làm việc đa năng, bộ đếm thời gian thực (RTC),
4 bộ định thời/đếm linh hoạt với chế độ so sánh và điều chế độ rộng xung, 4 bộ
USART, bộ ADC 8 kênh 10bit với sự lựa chọn ngõ vào có thể lập trình đƣợc bộ
60
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
khuếch đại, bộ định thời watchdog lập trình đƣợc với bộ dao động bên trong, một
cổng nối tiếp SPI, 6 chế độ tiết kiệm năng lƣợng lựa chọn đƣợc bằng phần mềm.
Đặc biệt chế độ Idle làm ngƣng hoạt động của CPU trong khi bộ nhớ SRAM,
các bộ định thời/đếm, cổng SPI và hệ thống ngắt vẫn tiếp tục hoạt động.
Chế độ Power Down lƣu trữ nội dung thanh ghi nhƣng giải phóng bộ dao
động, cấm tất cả các chức năng khác trên chíp cho đến khi xuất hiện một ngắt kế
tiếp hay tín hiệu Reset cứng.
Chế độ Power Save cho phép bộ dao động định thời tiếp tục chạy để cho
phép ngƣời dùng tiếp tục trong khoảng thời gian nào đấy (đặt trƣớc) trong khi
những thiết bị khác ở trong chế độ ngủ.
Chế độ ADC Noise Reduction tất cả các đƣờng I/0 và CPU đều ngƣng hoạt
động ngoại trừ timer và ADC vẫn hoạt động, giảm mức tối thiểu nhiễu trong chuyển
đổi ADC.
Chế độ dự phòng Standby bộ dao động vẫn chạy trong khi những thiết bị ở
trong chế độ ngủ
ATmega2560 đƣợc công ty ATMEL chế tạo với công nghệ bộ nhớ không tự
mất dữ liệu. Bộ nhớ Flash ISP trên chip cho phép bộ nhớ chƣơng trình có thể đƣợc
lập trình lại ngay trên hệ thống, thông qua một giao diện nối tiếp SPI hoặc một bộ
nạp chƣơng trình vào bộ nhớ không tự mất dữ liệu.
Bằng cách kết hợp một CPU 8 bit có kiến trúc RISC với bộ nhớ Flash lập
trình đƣợc trong hệ thống trên một chíp đơn lẻ, ATmega64 là loại vi điều khiển rất
mạnh với tính linh hoạt cao trong sử dụng và chi phí hợp lý đối với nhiều ứng dụng
điều khiên chúng trong thực tế.
ATmega2560 đƣợc hỗ trợ bằng tất cả các công cụ lập trình và phát triển hệ
thống hiện có: trình biên dịch C, trình biên dịch Macro Assembler, trình gỡ rối/mô
phỏng và các kits thí nghiệm.
61
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
4. Sơ đồ chân ATmega2560
3.3.2 Giới thiệu về IC DS18B20
Những th gần đây đã có một số cảm biến một dây đƣợc giới thiệu với
thị trƣờng, nhƣng về mặt cấu trúc và nguyên lý hoạt động đều có những điểm
chung, cho nên để đơn giản ta tìm hiểu cảm biến một dây thông qua việc tìm hiểu
chi tiết loại cảm biến nhiệt độ một dây DS18B20. DS18B20 là một sản phẩm của
công ty Dallas (Hoa Kỳ), đây cũng là công ty đóng góp nhiều vào việc cho ra đời
bus một dây và các cảm biến một dây. Hình dạng bên ngoài của cảm biến một dây
DS18B20 đƣợc mô tả trên hình 2. Trong đó dạng vỏ TO-92 với 3 chân là dạng
thƣờng gặp và đƣợc dùng trong nhiều ứng dụng, còn dạng vỏ SOIC với 8 chân đƣợc
dùng để đo nhiệt độ bề mặt, kể cả da ngƣời.
62
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
Hình 3.5. Dạng đóng vỏ và bề ngoài của cảm biến DS18B20
Các đặc điểm kỹ thuật của cảm biến DS1820 có thể kể ra một cách tóm
tắt nhƣ sau:
Sử dụng giao diện một dây nên chỉ cần có một chân ra để truyền
thông.
Độ phân giải khi đo nhiệt độ là 9 bit. Dải đo nhiệt độ -55oC đến
125
oC, từng bậc 0,5oC, có thể đạt độ chính xác đến 0,1oC bằng việc hiệu chỉnh qua
phần mềm.
Rất thích hợp với các ứng dụng đo lƣờng đa điểm vì nhiều đầu đo có
thể đƣợc nối trên một bus, bus này đƣợc gọi là bus một dây (1-wire bus) không cần
thêm linh kiện bên ngoài.
Điện áp nguồn nuôi có thể thay đổi trong khoảng rộng, từ 3,0 V đến
5,5 V một chiều và có thể đƣợc cấp thông qua đƣờng dẫn dữ liệu.
Dòng tiêu thụ tại chế độ nghỉ cực nhỏ.
Thời gian lấy mẫu và biến đổi thành số tƣơng đối nhanh, không quá
200 ms.
Mỗi cảm biến có một mã định danh duy nhất 64 bit chứa trong bộ nhớ
ROM trên chip (on chip), giá trị nhị phân đƣợc khắc bằng tia laze.
Đầu đo nhiệt độ số DS18B20 đƣa ra số liệu để biểu thị nhiệt độ đo đƣợc
63
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
dƣới dạng mã nhị phân 9 bit. Các thông tin đƣợc gửi đến và nhận về từ DS1820
trên giao diện 1-wire, do đó chỉ cần hai đƣờng dẫn gồm một đƣờng cho tín hiệu và
một đƣờng làm dây đất là đủ để kết nối vi điều khiển đến điểm đo. Nguồn nuôi cho
các thao tác ghi/đọc/chuyển đổi có thể đƣợc trích từ đƣờng tín hiệu, không cần có
thêm đƣờng dây riêng để cấp điện áp nguồn.
Mỗi vi mạch đo nhiệt độ DS18B20 có một mã số định danh duy nhất,
đƣợc khắc bằng laser trong quá trình chế tạo vi mạch nên nhiều vi mạch DS1820
có thể cùng kết nối vào một bus 1-wire mà không có sự nhầm lẫn. Đặc điểm này
làm cho việc lắp đặt nhiều cảm biến nhiệt độ tại nhiều vị trí khác nhau trở nên dễ
dàng và với chi phí thấp. Theo chuẩn 1-wire độ dài tối đa cho phép của bus là 300
m. Số lƣợng các cảm biến nối vào bus không hạn chế.
Để nâng cao độ phân giả lên trên 9 bit ta phải tính toán thêm bằng phần
mềm dựa trên các số liệu lƣu trữ trên các thanh ghi nhiệt độ, COUNT REMAIN và
COUNT PER C trong nhóm các thanh ghi nháp (scratchpad), việc tính toán dựa
theo phƣơng trình sau:
_ _ _
_ 0.25
_ _
COUNT PER C COUNT REMAIN
TEMPERATURE TEMP READ X
COUNT PER C
Khi sử dụng phƣơng trình này cảm biến một dây DS18B20 đƣợc nâng
cấp trở thành một cảm biến nhiệt độ có độ phân giải cao.
Bộ nhớ ROM 64–BIT
Mỗi cảm biến nhiệt độ DS18B20 có một dãy mã 64 bit duy nhất đƣợc
lƣu trữ trong bộ nhớ ROM từ khi sản xuất bằng kỹ thuật laze. Ý nghĩa của 64 bit mã
đƣợc giải thích trên hình 3.6:
Hình 3.6. Nội dung dãy mã 64-bit trên bộ nhớ ROM
Nhƣ vậy dãy mã đƣợc chia ra thành 3 nhóm, trong đó:
8 bit đầu tiên là mã định danh họ một dây, mã của DS18B20 là 10h.
64
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
48 bit tiếp theo là mã số xuất xƣởng duy nhất, nghĩa là mỗi cảm biến
DS18B20 chỉ có một số mã.
8 bit có ý nghĩa nhất là byte mã kiểm tra CRC (cyclic redundancy
check), byte này đƣợc tính toán từ 56 bit đầu tiên của dãy mã trên ROM .
Để truy cập lên cảm biến một dây DS18B20 ta phải sử dụng hai nhóm
lệnh: các lệnh ROM và các lệnh chức năng (function commands) bộ nhớ, các lệnh
này có thể đƣợc mô tả ngắn gọn nhƣ sau:
Sau khi thiết bị chủ (thƣờng là một vi điều khiển) phát hiện ra một
xung presence pulse, nó có thể xuất ra một lệnh ROM. Có 5 loại lệnh ROM, mỗi
lệnh dài 8 bit. Thiết bị chủ phải đƣa ra lệnh ROM thích hợp trƣớc khi đƣa ra một
lệnh chức năng để giao tiếp với cảm biến DS18B20.
Lệnh ROM
- READ ROM (33h)
Cho phép đọc ra 8 byte mã đã khắc bằng laser trên ROM, bao gồm: 8 bit mã
định tên linh kiện (10h), 48 bit số xuất xƣởng, 8 bit kiểm tra CRC. Lệnh này chỉ
dùng khi trên bus có 1 cảm biến DS18B20, nếu không sẽ xảy ra xung đột trên bus
do tất cả các thiết bị tớ cùng đáp ứng.
- MATCH ROM (55h)
Lệnh này đƣợc gửi đi cùng với 64 bit ROM tiếp theo, cho phép bộ điều khiển
bus chọn ra chỉ một cảm biến DS1820 cụ thể khi trên bus có nhiều cảm biến
DS18B20 cùng nối vào. Chỉ có DS18B20 nào có 64 bit trên ROM trung khớp với
chuỗi 64 bit vừa đƣợc gửi tới mới đáp ứng lại các lệnh về bộ nhớ tiếp theo. Còn các
cảm biến DS18B20 có 64 bit ROM không trùng khớp sẽ tiếp tục chờ một xung
reset. Lệnh này đƣợc sử dụng cả trong trƣờng hợp có một cảm biến một dây, cả
trong trƣờng hợp có nhiều cảm biến một dây.
- SKIP ROM (CCh)
Lệnh này cho phép thiết bị điều khiển truy nhập thẳng đến các lệnh bộ nhớ
của DS18B20 mà không cần gửi chuỗi mã 64 bit ROM. Nhƣ vậy sẽ tiết kiệm đƣợc
thời gian chờ đợi nhƣng chỉ mang hiệu quả khi trên bú chỉ có một cảm biến.
65
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
- SEARCH ROM (F0h)
Lệnh này cho phép bộ điều khiển bus có thể dò tìm đƣợc số lƣợng thành viên
tớ đang đƣợc đấu vào bus và các giá trị cụ thể trong 64 bit ROM của chúng bằng
một chu trình dò tìm.
- ALARM SEARCH (ECh)
Tiến trình của lệnh này giống hệt nhƣ lệnh Search ROM, nhƣng cảm biến
DS18B20 chỉ đáp ứng lệnh này khi xuất hiện điều kiện cảnh báo trong phép đo
nhiệt độ cuối cùng. Điều kiện cảnh báo ở đây đƣợc định nghĩa là giá trị nhiệt độ đo
đƣợc lớn hơn giá trị TH và nhỏ hơn giá trị TL là hai giá trị nhiệt độ cao nhất và
nhiệt độ thấp nhất đã đƣợc đặt trên thanh ghi trong bộ nhớ của cảm biến.
Lệnh chức năng bộ nhớ
Sau khi thiết bị chủ (thƣờng là một vi điều khiển) sử dụng các lệnh ROM để
định địa chỉ cho các cảm biến một dây đang đƣợc đấu vào bus, thiết bị chủ sẽ đƣa ra
các lệnh chức năng DS1820. Bằng các lệnh chức năng thiết bị chủ có thể đọc ra và
ghi vào bộ nhớ nháp (scratchpath) của cảm biến DS18B20 khởi tạo quá trình
chuyển đổi giá trị nhiệt độ đo đƣợc và xác định chế độ cung cấp điện áp nguồn. Các
lệnh chức năng có thể đƣợc mô tả ngắn gọn nhƣ sau:
- WRITE SCRATCHPAD (4Eh) :
Lệnh này cho phép ghi 2 byte dữ liệu vào bộ nhớ nháp của DS18B20. Byte
đầu tiên đƣợc ghi vào thanh ghi TH (byte 2 của bộ nhớ nháp) còn byte thứ hai đƣợc
ghi vào thanh ghi TL (byte 3 của bộ nhớ nháp). Dữ liệu truyền theo trình tự đầu tiên
là bit có ý nghĩa nhất và kế tiếp là những bit có ý nghĩa giảm dần. Cả hai byte này
phải đƣợc ghi trƣớc khi thiết bị chủ xuất ra một xung reset hoặc khi có dữ liệu khác
xuất hiện.
- READ SCRATCHPAD (BEh) :
Lệnh này cho phép thiết bị chủ đọc nội dung bộ nhớ nháp. Quá trình đọc bắt
đầu từ bit có ý nghĩa nhấy của byte 0 và tiếp tục cho đến byte rhứ 9 (byte 8 - CRC).
Thiết bị chủ có thể xuất ra một xung reset để làm dừng quá trình đọc bất kỳ lúc nào
nếu nhƣ chỉ có một phần của dữ liệu trên bộ nhớ nháp cần đƣợc đọc.
66
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
- COPYSCRATCHPAD (48h) :
Lệnh này copy nội dung của hai thanh ghi TH và TL (byte 2 và byte 3) vào
bộ nhớ EEPROM. Nếu cảm biến đƣợc sử dụng trong chế dộ cấp nguồn l bắt đầu
việc đo.
- CONVERT T (44h) :
Lệnh này khởi động một quá trình đo và chuyển đổi giá trị nhiệt độ thành số
(nhị phân). Sau khi chuyển đổi giá trị kết quả đo nhiệt độ đƣợc lƣu trữ trên thanh
ghi nhiệt độ 2 byte trong bộ nhớ nháp. Thời gian chuyển đổi không quá 200ms,
trong thời gian đang chuyển đổi nếu thực hiện lệnh đọc thì các giá trị đọc ra đều
bằng 0.
- READ POWER SUPPLY (B4h) :
Một lệnh đọc tiếp sau lệnh này sẽ cho biết DS18B20 đang sử dụng chế độ
cấp nguồn nhƣ thế nào, giá trị đọc đƣợc bằng 0 nếu cấp nguồn bằng chính đƣờng
dẫn dữ liệu và bằng 1 nếu cấp nguồn qua một đƣờng dẫn riêng.
Đến đây ta có thể thấy là việc sử dụng các lệnh vừa trình bày là một công
việc không đơn giản, nhất là với những bạn đọc chƣa từng tìm hiểu về kỹ thuật vi
xử lý. Cũng vì vậy mà trong khuôn khổ một bài viết ta chƣa thể hiểu hể cách làm
chủ hoạt động của một cảm biến một dây.
3.3.3 Giới thiệu về IC ATMEGA 16 [ 12 ]
Loại vi điều khiển họ AVR RISC là do công ty Atmel sản suất, với kiến trúc
RISC (Reduce Instruction Set Computer). Với những ƣu điểm đƣợc nêu ra sau đây,
loại chip này đang đƣợc dùng rộng dãi trong các hệ thống nhúng.
Các đặc điểm chính:
- Kiến trúc RISC với hầu hết các lệnh có chiều dài cố định, truy nhập bộ
nhớ nạp – lƣu trữ và 32 thanh nghi đa năng.
- Có nhiều bộ phận ngoại vi ngay trên chip, bao gồm: cổng vào/ra số, bộ
biến đổi ADC, bộ nhớ EEFROM, bộ định thời, bộ điều chế độ rộng xung (PWM),
- Hầu hết các lệnh đều thực hiện trong một chu kỳ xung nhịp.
67
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
- Hoạt động với chu kỳ xung nhịp cao, có thể lên đến 16 MHz tuỳ thuộc
từng loại chip cụ thể.
- Bộ nhớ chƣơng trình va bộ nhớ dữ liệu đƣợc tích hợp ngay trên chip.
- Khả năng lập trình đƣợc trong hệ thống, có thể lập trình đƣợc ngay khi
đang đƣợc cấp nguồn trên bản mạch không cần phải nhấc chip ra khỏi bản mạch.
- Hỗ trợ cho việc lập trình bằng ngôn ngữ bậc cao – ngôn ngữ C
Sau đây là các đặc tính của loại vi điều khiển Atmega16.
:
Hiệu năng cao, tiêu thụ năng lƣợng ít.
Kiến trúc RISC
131 lệnh mạnh, hầu hết các lênh thực hiện trong một chu kỳ.
32 Thanh ghi 8-bit đa năng.
Tốc độc thực hiện lên tới 16 triệu lệnh trong 1 giây với tần số 16MHz.
Có 2 bộ nhân, mỗi bộ thực hiện trong thời gian 2 chu kỳ.
Các bộ nhớ chƣơng trình và dữ liệu cố định
16 Kb bộ nhớ flash có khả năng tự lập trình trong hệ thống có thể thực
hiện đƣợc 10.000 lần ghi/xoá.
Vùng mã Boot tuỳ chọn với những bit khoá độc lập lập trình trên
trong hệ thống bởi chƣơng trình on-chip Boot.
Thao tác đọc trong khi nghi thực sự.
512 bytes EEFROM
Có thể thực hiện 100.000 lần ghi /xoá
1Kb SRAM bên trong
Lập trình Khoá an ninh phần mềm
Ghép nối ngoại vi
2 bộ định thời/ bộ đếm 8 bit với các chế độ tỷ lệ định trƣớc và chế độ
so sánh.
68
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
1 bộ định thời/ bộ đếm 16 bit với các chế độ tỷ lệ định trƣớc riêng
biệt, chế độ so sánh và chế độ bắt giữ.
Bộ thời gian thực với bộ tạo dao động riêng biệt
4 kênh PWM
8 kênh, ADC 10 bit
Giao điện nối tiếp 2 dây hƣớng tới byte
Bộ truyền tin nối tiếp USART khả trình
Giao diện SPI chủ / tớ
Watchdog Timer khả trình với bộ tạo dao động bên trong riêng biệt
Máy so mẫu tƣơng tự bên trong
Ngắt và đánh thức theo sự thay đổi của các chân.
Các đặc điểm đặc biệt khác.
Power-on Reset và dò Brown-out khả trình.
Bộ tạo dao động đƣợc định cỡ bên trong.
Các nguồn ngắt bên trong và bên ngoài.
5 chế độ ngủ: nhàn rỗi, giảm ồn ADC, tiết kiệm năng lƣợng, giảm
năng lƣợng tiêu thụ, chờ.
I/O và các loại.
32 đƣờng I/O khả trình.
Điện áp hoạt động.
1.8 – 5.5 V
Nhiệt độ hoạt động: -40oC-85oC
Các tốc độ.
0-4 MHz khi điện áp 1.8-5.5V, 0-16 MHz khi điện áp 4.5-5.5V
Tiêu thụ năng lƣợng tại 1 MHz, 3V, 25oC đối với ATmega16L.
Hoạt động tích cực:
1MHz, 1.8V: 240 A
32 kHz, 1.8V: 15 A (bao gồm cả bộ dao động)
69
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
Chế độ năng lƣợng thấp: 1 A khi điện áp 1.8V
Hình 3.7. Sơ đồ khối vi điều khiển AVR
Cốt lõi của AVR là sự kết hợp tập lệnh đầy đủ với các thanh ghi đa năng 32
bit. Tất cả các thanh ghi 32 bit này liên kết trực tiếp với khối xử lý số học và logic
(ALU) cho phép 2 thanh ghi độc lập đƣợc truy cập trong một lệnh đơn trong 1 chu
kỳ đồng hồ. Kết quả là tốc độ nhanh gấp 10 lần các bộ vi điều khiển CISC thƣờng.
Với các tính năng đã nêu, chế độ nghỉ (Idle) CPU trong khi cho phép bộ
truyền tin nối tiếp đồng bộ USART, giao tiếp 2 dây, chuyển đổi A/D, SRAM, bộ
đếm bộ định thời, cổng SPI và hệ thống các ngắt vẫn hoạt động. Chế độ Power-
down lƣu giữ nội dung của các thanh ghi nhƣng làm đông lạnh bộ tạo dao động,
thoát khỏi các chức năng của chip cho đến khi có ngắt ngoài hoặc là reset phần
70
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
cứng. Chế độ Power-save đồng hồ đồng bộ tiếp tục chạy cho phép chƣơng trình sử
dụng giữ đƣợc đồng bộ thời gian nhƣng các thiết bị còn lại là ngủ. Chế độ ADC
Noise Reduction dừng CPU và tất cả các thiết bị còn lại ngoại trừ đồng hồ đồng bộ
và ADC, tối thiểu hoá switching noise trong khi ADC đang hoạt động. Trong chế
độ standby, bộ tạo dao động (thuỷ tinh thể/bộ cộng hƣởng) chạy trong khi các thiết
bị còn lại ngủ. Các điều này cho phép bộ vi điều khiển khởi động rất nhanh trong
chế độ tiêu thụ công suất thấp.
Thiết bị đƣợc sản xuất sử dụng công nghệ bộ nhớ cố định mật độ cao của
Atmel. Bộ nhớ On-chip ISP Flash cho phép lập trình lại vào hệ thống qua giao diện
SPI bởi bộ lập trình bộ nhớ cố đinh truyền thống hoặc bởi chƣơng trình On-chip
Boot chạy trên lõi AVR. Chƣơng trình boot có thể sử dụng bất cứ giao điện nào để
download chƣơng trình ứng dụng trong bộ nhớ Flash ứng dụng. Phần mềm trong
vùng Boot Flash sẽ tiếp tục chạy trong khi vùng Application Flash đƣợc cập nhật,
cung cấp thao tác Read-While-Write thực sự. Bằng việc kết hợp 1 bộ 8-bit RISC
CPU với In-System Self-Programmable Flash trong chỉ nguyên vẹn 1 chip Atmel
Atmega16 là một bộ vi điều khiển mạnh có thể cung cấp giải pháp có tính linh động
cao, giá thành rẻ cho nhiều ứng dụng điều khiển nhúng. Atmega16 AVR đƣợc hỗ
trợ bởi bộ chƣơng trình đầy đủ và các tool để phát triển hệ thống, báo gồm: Bộ biên
dịch C, macro assemblers, program debugger/simulators, in-circuit emulators và
evaluation kits.
3.3.4 [ 11 ]
Hỗ
– 5,5V
71
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
2
8. S
72
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
9. S
3.3.5 Giới thiệu về IR
PIR ( Pasive InfraRed sensor ) là bộ cảm biến thụ động dùng nguồn
n
73
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
3.10. H
3.10
- , ạy
74
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
1. N
Nguyên
. Khi c
ẽ
ẽ
75
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
2. M
3.3.6 -2
-
khi
- -
.
76
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
Hình 3.13. Sơ đồ cảm biến rò rỉ khí ga MQ2
Trong mạch có 2 chân đầu ra là Aout và Dout. Trong đó:
Aout: điện áp ra tƣơng tự. Nó chạy từ 0.3à4.5V, phụ thuộc vào nồng độ
khí xung quang MQ2.
Dout: điện áp ra số, giá trị 0,1 phụ thuộc vào điện áp tham chiếu và
nồng độ khí mà MQ2 đo đƣợc.
Việc có chân ra số Dout rất tiện cho ta 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 giá trị biến trở tới giá trị nồng
độ ta muốn cảnh báo. Khi nồng độ MQ2 đo đƣợc thấp hơn mức cho phép thì Dout =
1, đèn Led tắt. Khi nồng độ khí đo đƣợc lớn hơn nồng khí cho phép, Dout =0, đèn
led sáng.
Ta có thể ghép nối vào mạch Realy để điều khiển bật tắt đèn, còi, hoặc
thiết bị cảnh báo khác.
Một điều khó khăn khi làm việc với MQ-2 là chúng ta khó có thể quy từ
điện áp Aout về giá trị nồng độ ppm. Rồi từ đó hiển thị và cảnh báo theo ppm. Do giá trị
điện áp trả về từng loại khí khác nhau, lại bị ảnh hƣởng nhiệt độ, độ ẩm nữa.
Trong thiết bị của mình, để xác định điểm cảnh báo mình làm khá thủ
công.
Đầu tiên đo trạng thái không khí sạch, giá trị thu đƣợc Vout1
Cho khí ga từ bật lửa rò rỉ ra, ta thấy giá trị Aout tăng lên. Khi đạt
77
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
khoảng cách khí ga từ bật lửa hợp lý rồi tƣơng ứng với nồng độ khí bắt đầu nguy
hiểm, ta ghi lại giá trị Vout2. Ta chọn giá trị Vout2 là giá trị ngƣỡng cảnh báo, nếu
giá trị đo đƣợc lớn hơn ta sẽ cảnh báo
Chỉnh chân biến trở để điện áp đo tại chân 3 của L358 = Vout2.
Bảng 3.1. T -2
3.3.7
.
Model No. MQ-2
Sensor type Semiconductor
Standard Encapsulation Bakelite(Black Bakelite)
Detection Gas Combustible gas and smoke
Concentration 300-10000 ppm
Circuit
Loop Voltage Vc ≤ 24VDC
Heater Voltage VH 5.0 ± 0.2V AC or DC
Load Resistance RL Adjustable
Character
Heater Resistance RH 31Ω ± 3Ω Room Tem
Heater consumption PH ≤ 900 mW
Sensing Resistance Rs 2KΩ - 20KΩ (in 2000ppm C3H8
Sensitivity S Rs in art/rs(
Slope α ≤ 0.6(R5000ppm/R3000ppm CH4
Condition
Tem. Humidity Enable
Standard test circuit Vc 5.0 ±0.1
Preheart time Over 48 hours
78
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
3.14. B
5. C
3.3.8 Giới thiệu về IC W5100 [ 11 ]
p giao ( TCP, UDP, IPv4ARP,
IGMP, PPPoE, Ethernet )
79
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
S
- 5V
Miêu tả một số thanh ghi:
MR (Mode Register) [R/W] [0x0000] [0x00]: là thanh ghi dùng để S/W
reset, kiểm tra mode bộ nhớ, mode ngắt kết nối, mode PPPoE và bus I/F.
GWR (Gateway IP Address Register) [R/W] [0x0001 – 0x0004] [0x00]: là
thanh ghi để cài đặt địa chỉ Gateway.
SUBR (Subnet Mask Register) [R/W] [0x0005 – 0x0008] [0x00]: là thanh
ghi để cài đặt địa chỉ Subnet Mask.
SHAR (Source Hardware Address Register) [R/W] [0x0009 – 0x000E]
[0x00]: là thanh ghi để cài đặt địa chỉ Source Hardware .
SIPR (Source IP Address Register) [R/W] [0x000F – 0x0012] [0x00]: là
thanh ghi để cài đặt địa chỉ IP.
IR (Interrupt Register) [R] [0x0015] [0x00]: là thanh ghi dùng để xử lý nhiều
trƣờng hợp còn gọi là ngắt.
IMR (Interrupt Mask Register) [R/W] [0x0016] [0x00]: thanh ghi mặt nạ
ngắt.
Miêu tả các chức năng
a. Cài đặt thông tin ban đầu
Để điều khiển đƣợc W5100 thì phải lựa chọn và sử dụng các thanh ghi
thích hợp nhƣ sau:
Thanh ghi cách thức (MR)
Thanh ghi mặt nạ ngắt (IMR)
Thanh ghi khởi tạo thời gian (RTR)
80
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
Thanh ghi đếm(RCR)
b. Cài đặt về thông tin mạng
Thanh ghi dƣới đây là cấu hình của một mạng cơ bản và tùy thuộc vào môi
trƣờng mạng.
Thanh ghi địa chỉ Gateway (GAR)
Thanh ghi địa chỉ phần cứng (SHAR)
Thanh ghi Subnet Mask (SUBR)
Thanh ghi địa chỉ IP (SIPR)
Truyền thông dữ liệu
Việc kết nối dữ liệu đƣợc thông qua TCP, UDP, IP-Raw và MAC-Raw.
Đúng ra, việc lựa chọn kết nối là một dải các giao thức của các khe cắm kết
nối.(W5100 cung cấp cho 4 khe cắm ).
a. TCP
TCP là một phƣơng pháp kết nối cơ bản trong đó nó cho phép thiết lập kết
nối trong một yêu cầu nhất định và việc chuyển giao dữ liệu kết nối bằng địa chỉ IP
và số cổng của hệ thống.
Có 2 phƣơng pháp để thiết lập kết nối:
Server đợi đến khi có yêu cầu kết nối
Client gửi yêu cầu kết nối tới Server
81
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
Hình 3.16. Phƣơng pháp kết nối TCP
b. UDP
UDP (User Datagram Protocol) là một trong những giao thức cốt lõi của
giao thức TCP/IP. Dùng UDP, chƣơng trình trên máy tính có thể gởi những dữ liệu
ngắn đƣợc gọi là datagram tới máy khác. UDP không cung cấp sự tin cậy và thứ tự
truyền nhận mà TCP làm, các gói dữ liệu có thể đến không đúng thứ tự hoặc bị mất
mà không có thông báo. Tuy nhiên UDP nhanh và hiệu quả hơn đối với các mục
tiêu nhƣ kích thƣớc nhỏ và yêu cầu khắt khe về thời gian. Do bản chất không trạng
thái của nó nên nó hữu dụng đối với việc trả lời các truy vấn nhỏ với số lƣợng lớn
ngƣời yêu cầu.
Những ứng dụng phổ biến sử dụng UDP nhƣ DNS (Domain Name System),
ứng dụng streaming media, Voice over IP, Trivial File Transfer Protocol (TFTP) và
game trực tuyến.
Thông tin ứng dụng
Việc truyền thông giữa vi điều khiển với chíp ethernet W5100 cung cấp
hƣớng kết nối sau: theo phƣơng pháp trực tiếp, phƣơng pháp gián tiếp và SPI
phƣơng pháp.
Truyền thông dùng Ethernet PHY(MAC).
82
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
a. Dùng các phương pháp kết nối trực tiếp
Dùng 15bit địa chỉ và 8bit dữ liệu: /CS, /RD, /WR, /INT.
Hình 3.17. Phƣơng pháp kết nối trực tiếp
b. Dùng các phương pháp kết nối gián tiếp
Dùng 2bit địa chỉ và 8bit dữ liệu: /CS, /RD, /WR, /INT.
Hình 3.18. Phƣơng pháp kết nối gián tiếp
c. Dùng phương pháp kết nối SPI (Serial Peripheral Interface)
SPI chỉ dùng 4 chân để truyền dữ liệu: /SCLK, /SS, /MOSI, /MISO.
Ở W5100, SPI_EN là chân dùng để điều khiển SPI.
83
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
Hình 3.19. Phƣơng pháp kết nối SPI
Một số ứng dụng W5100
Thiết bị mạng gia đình: hộp nối, PVRs, chuyển đổi nguồn số.
Bộ nối tiếp tới ethernet: bộ điều khiển truy cập, LED hiện thị, Rơle
AT không giây
Bộ song song tới ethernet: máy in, máy photocopy.
USB ethernet: thiết bị lƣu trữ, máy in mạng.
GPIO ethernet: các cảm biến mạng gia đình.
Hệ thống bảo vệ: DVRs, camera giám sát thông qua mạng.
Sản xuất và chế tạo tự động.
Các thiết bị điều khiển ứng dụng trong y tế.
Các hệ thống cố định.
3.3.9 [ 11 ]
Graphic LCD (gọi tắt là GLCD) loại chấm không màu là các loại màn hình
tinh thể lỏng nhỏ dùng để hiển thị chữ, số hoặc hình ảnh. Khác với Text LCD,
GLCD không đƣợc chia thành các ô để hiển thị các mã ASCII vì GLCD không có
bộ nhớ CGRAM (Character Generation RAM). GLCD 128x64 có 128 cột và 64
hàng tƣơng ứng có 128x64=8192 chấm (dot). Mỗi chấm tƣơng ứng với 1 bit dữ
liệu, và nhƣ thế cần 8192 bits hay 1024 bytes RAM để chứa dữ liệu hiển thị đầy
mỗi 128x64 GLCD. Tùy theo loại chip điều khiển, nguyên lý hoạt động của GLCD
có thể khác nhau, trong bài này tôi giới thiệu loại GLCD đƣợc điều khiển bởi chip
84
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
KS0108 của Samsung, có thể nói GLCD với KS0108 là phổ biến nhất trong các loại
GLCD loại này (chấm, không màu). Hình 1 là hình ảnh thật của 1 GLCD 128x64
điều khiển bởi KS0108. Chip KS0108 chỉ có 512 bytes RAM (4096 bits = 64x64)
và vì thế chỉ điều khiển hiển thị đƣợc 64 dòng x 64 cột. Để điều khiển GLCD
168x64 cần 2 chip KS0108, và thực thế trong các loại GLCD có 2 chip KS0108,
GLCD 128x64 do đó tƣơng tự 2 GLCD 64x64 ghép lại
20. GLCD 128x64
Các GLCD 128x64 dùng KS0108 thƣờng có 20 chân trong đó chỉ có 18 chân
là thực sự điều khiển trực tiếp GLCD, 2 chân (thƣờng là 2 chân cuối 19 và 20) là 2
chân Anode và Cathode của LED nền. Trong 18 chân còn lại, có 4 chân cung cấp
nguồn và 14 chân điều khiển+dữ liệu. Khác với các Text LCD HD44780U, GLCD
KS0108 không hỗ trợ chế độ giao tiếp 4 bit, do đó bạn cần dành ra 14 chân để điều
khiển 1 GLCD 128x64. Sơ đồ chân phổ biến của GLCD 128x64 đƣợc mô tả trong
hình 3.21
85
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
Bảng 3.2. Chức năng các chân GLCD 64*128
Chân VSS : đƣợc nối trực tiếp với GND, chân VDD nối với nguồn +5V
một biến trở khoảng 20K đƣợc dùng để chia điện áp giửa Vdd và Vee cho chân Vo,
bằng cách thay đổi giá trị biến trở chúng ta có thể điều chỉnh độ tƣơng phản của
GLCD. Các chân điều khiển RS, R/W, EN và các đƣờng dữ liệu đƣợc nối trực tiếp
với vi điều khiển. Riêng chân Reset (RST) có thể nối trực tiếp với nguồn 5V.
EN(Enable): cho phép một quá trình bắt đầu, bình thƣờng chân EN
đƣợc giữ ở mức thấp, khi một thực hiện một quá trình nào đó (đọc hoặc ghi GLCD),
các chân điều khiển khác sẽ đƣợc cài đặt sẵn sàng, sau đó kích chân EN lên mức
cao. Khi EN đƣợc kéo lên cao, GLCD bắt đầu làm thực hiện quá trình đƣợc yêu
cầu, chúng ta cần chờ một khoảng thời gian ngắn cho GLCD đọc hoặc gửi dữ liệu.
Cuối cùng là kéo EN xuống mức thấp để kết thúc quá trình và cũng để chuẩn bị
chân EN cho quá trình sau này.
RS (Register Select): là chân lựa chọn giữa dữ liệu (Data) và lệnh
(Instruction), vì thế mà trong một số tài liệu bạn có thể thấy chân RS đƣợc gọi là
chân DI (Data/Instruction Select). Chân RS=1 báo rằng tín hiệu trên các đƣờng
Pin Symbol Level Function
1 Vss 0V Ground/N/V
2 Vdd 5.0V Power Supply(0V)
3 Vee 0V~ -8V Power Supply for LCD Drive
4 RS H/L Register Select
5 R/W H/L Read/Write
6 E H/L Enable
7 DB0 H/L Data Bus Line
8 DB1 H/L Data Bus Line
9 DB2 H/L Data Bus Line
10 DB3 H/L Data Bus Line
11 DB4 H/L Data Bus Line
12 DB5 H/L Data Bus Line
13 DB6 H/L Data Bus Line
14 DB7 H/L Data Bus Line
15 CS1 H Chip Select
16 CS2 H Chip Select
17 RST L Reset
18 Vout -10V Voltage
19 LED+ +5V Power Supply for LED B/L (5V)
20 LED- 0V Power Supply for LED B/L (0V)
86
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
DATA (D0:7) là dữ liệu ghi hoặc đọc từ RAM của GLCD. Khi RS=0, tín hiệu trên
đƣơng DATA là một mã lệnh (Instruction).
RW (Read/Write Select): chọn lựa giữa việc đọc và ghi. Khi RW=1,
chiều truy cập từ GLCD ra ngoài (GLCD->AVR). RW=0 cho phép ghi vào GLCD.
Giao tiếp với GLCD chủ yếu là quá trình ghi (AVR ->GLCD), chỉ duy nhất trƣờng
hợp đọc dữ liệu từ GLCD là đọc bit BUSY và đọc dữ liệu từ RAM. Đọc bit BUSY
thì chúng ta đã khảo sát cho Text LCD, bit này báo GLCD có đang bận hay không,
việc đọc này sẽ đƣợc dùng để viết hàm wait_GLCD. Đọc dữ liệu từ RAM của
GLCD là một khả năng mới mà Text LCD không có, bằng việc đọc ngƣợc từ
GLCD vào AVR, chúng ta có thể thực hiện nhiều phép logic hình (hay mặt nạ,
mask) làm cho việc hiển thị GLCD thêm thú vị.
CS2 và CS1 (Chip Select): nhƣ đã trình bày trong phần trên, mỗi chip
KS0108 chỉ có khả năng điều khiển một GLCD có kích thƣớc 64x64, trên các
GLCD 128x64 có 2 chip KS0108 làm việc cùng nhau, mỗi chip đảm nhiệm một nữa
LCD, 2 chân CS2 và CS1 cho phép chọn một chip KS0108 để làm việc. Thông
thƣờng nếu CS2=0, CS1=1 thì nửa trái đƣợc kích hoạt, ngƣợc lại khi CS2=1,
CS1=0 thì nửa phải đƣợc chọn.
3.3.10 DRF1605H
– 3.3V
-40oC – 80oC
– 115200bps
– 2480MHz
-110dB
87
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
3.21.
3.3.11 Giới thiệu IC cảm biến dòng ACS712-20
Là IC cảm biến dòng tuyến tính dựa vào hiệu ứng Hall của hãng Allegro đƣợc
tích hợp với chất dẫn dòng điện trở thấp và độ cách điện 2,1 KV RMS ứng dụng
rộng rãi trong các hệ thống dân dụng và công nghiệp.
Dạng đóng gói và sơ đồ khối:
ACS712-20 đƣợc đóng gói theo dạng SOIC-8
Hình 3.22. Vỉ mạch ACS712-20
88
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
Hình 3.23. Sơ đồ nguyên lý hệ thống cảm biến ACS712-20
Từ sơ đồ hình 3.20 ta thấy bên trong cảm biến đã đƣợc tích hợp sẵn bộ bù
điện thế offset và các bộ khuếch đại tín hiệu . Tụ lọc CF kết hợp với điện trở nội tạo
thành bộ lọc thông thấp RC ngay trƣớc bộ đệm đầu ra giúp giảm suy hao do sụt áp
trên bộ lọc . Đồng thời tụ CF cũng quyết định băng thông của cảm biến
Đặc điểm:
Đƣờng tín hiệu tƣơng tự ngõ ra nhiễu thấp
Băng thông cảm biến đƣợc thiết lập qua chân Filter
Thời gian đáp ứng ngõ ra so với ngõ vào 5us
Băng thông lớn nhất 80Khz
Tổng lỗi ngõ ra tại nhiệt độ 25oC 1,5 %
Điện trở dây dẫn nội 1.2 mΩ
Điện áp cách điện tối thiểu 2,1 KV RMS
Nguồn vận hành đơn cực 5V
Độ nhạy ngõ ra 100mV/A
Điện áp ngõ ra ứng với dòng AC hoặc DC
89
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
3.4 Kết luận chƣơng
Chƣơng này ta đi vào mô hình thực tế của hệ thống và giới thiệu về các linh
kiện trong mô hình. Chức năng của từng thành phần cùng nhƣ tóm lƣợc về
nguyên lý làm việc và thông số cơ bản của các linh kiện này. Từ đó làm cơ sở để
đi đến thiết kế sơ đồ nguyên lý, nguyên tắc vận hành và viết chƣơng trình điều
khiển ở chƣơng IV.
90
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
CHƢƠNG 4 - THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN GIÁM SÁT THIẾT BỊ
ĐIỆN QUA WEB SERVER AVR
Trong chƣơng này, ta sẽ đi vào cụ thể sơ đồ nguyên lý, sơ đồ mạch in toàn
bộ hệ thống, giới thiệu chức năng các mô hình, các lƣu đồ giải thuật xử lý và tính
toán của hệ thống điều khiển giám sát thiết bị điện qua web server AVR.
4.1 Sơ đồ nguyên lý hệ thống
1. S
2. M
91
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
3. Sơ đ thernet
4. thernet
92
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
5. S
93
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
6. M in
4.2 Gới thiệu về chức năng trong mô hình
4.2.1 ( ATmega2560 )
94
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
4.2.2
LAN thông qua
I
thernet.
4.2.3
4.2.4
Router.
4.2.5
.
ử
4.2.6
4.3 Giải thuật phần mềm
4.3.1
Trƣớc tiên vi điều khiển ATmega2560 sẽ đọc cấu hình từ bộ nhớ chƣơng
trình để thực hiện các khai báo ban đầu.
95
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
a.
.
96
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
Hình 4.7. L
Kết thúc
Kiểm tra
Đọc và ghi các
giá trị, các trạng
thái
Có yêu cầu
BROWER?
Trả về các giá trị
dƣới dạng HTML
Bắt đầu
S
Đ
Đ
Đ
S
S
Đ
97
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
4.3.2
.
Hình 4.8. L
4.3.3 Giải thuật truy cập web server
Khi hệ thống khởi động và cấu hình hệ thống bộ xử lý trung tâm sẽ chờ khi
có truy cập từ trình duyệt web hệ thống sẽ tải về trình duyệt web nội dung trang
web đăng nhập để bảo mật hệ thống. Khi ngƣời dùng đăng nhập đúng tài khoản thì
sẽ tải về trình duyệt nội dung trang web điều khiển. Khi đăng nhập sai sẽ lặp lại quá
trình đăng nhập
Kiểm tra
Trả về các
Bắt đầu
Đ
S
98
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
Hình 4.9. L truy cập web server
Kết thúc
Có yêu cầu
BROWER( IP )
Trả về Brower trang web
đăng nhập
User va Pass
Trả về Brower trang web
điều khiển
Bắt đầu
S
Đ
Đ
Đ
S
S
Đ
99
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
4.3.4 Giải thuật đo dòng điện xoay chiều
Điện áp ra của cảm biến dòng tuyến tính từ 0 đến 5V tƣơng ứng với -20A
đến +20A ( dòng qua cảm biến =0 tƣơng đƣơng 2.5V )
Đầu ra của cảm biến đƣợc nối vào ADC của vi điều khiển nên điện áp ngõ
vào đƣợc tính nhƣ sau :
IRMS =
21
0
( )
N
N i
I i
Với Vref ADC là +5V độ phân giải 10 bít
I(i) là giá trị dòng điện đo đƣợc tại thời điểm i
N số mẫu trên một chu kỳ ( N càng lớn thì phép đo càng chính xác )
100
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
Hình 4.10. Thuật toán đo dòng điện xoay chiều 50 Hz
Kết thúc
Delay 1 mS
i ++
i=20
IRMS =
21
0
( )
N
N i
I i
i=0
S
Đ
Đ
I(i)= ReadADC
101
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
4.3.5 Giải thuật báo trộm :
Khi ở chế độ chống trộm ( báo trộm =1 ) hệ thống sẽ liên tục dò trạng thái
của cảm biến ánh sáng và cảm biến PIR( có trộm đột nhập cảm biến ánh sáng sẽ tác
động do mở cửa phòng, cảm biến PIR sẽ nhận dạng có chuyển động của ngƣời ).
Khi một trong hai cảm biến tác động thì hệ thống sẽ cảnh báo ngƣời dùng bằng cách
hú còi báo động và bật tất cả các đèn chiếu sáng. Sau khi giải quyết sự cố ngƣời
dùng đăng nhập để tắt chế độ báo động.
Hình 4.11. Thuật toán chế độ báo trộm
Kết thúc
Báo trộm = 1
PIR = 1
Hoặc
Cảm biến ánh = 1
Bật còi báo động
Bật đèn
Cảm biến ánh =0
PIR = 0
S
Đ
Báo trộm = 0
Đ
S
102
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
4.3.6 Giải thuật báo cháy:
Khi ở chế độ bình thƣờng ( cảm biến nhiệt độ < 60 oC ) và cảm biến ga
không tác động. Khi bật chế độ báo cháy thì nhiệt độ và cảm biến ga sẽ đƣợc giám
sát liên tục một trong hai cảm biến tác động thì còi báo động sẽ cảnh báo liên tục để
ngƣời sử dụng kiểm tra và đảm bảo an toàn bản thân. Khi đang ở chế độ cảnh báo
ngƣời dùng có thể tắt cảnh báo khi đã xử lý sự cố.
Hình 4.12. Thuật toán báo cháy
Kết thúc
Báo cháy = 1
Nhiệt độ > 60 oC
hoặc
Cảm biến ga = 1
Bật còi báo động
Nhiệt độ < 60 oC
Cảm biến ga = 0
S
Đ
Báo cháy = 0
Đ
S
103
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
4.4 Kết luận chƣơng và k
Ethernet thông qua giao diện web server đƣợc nhúng trong vi điều khiển AVR, từ
bộ xử lý trung tâm, từ bộ xử lý ngoại vi.
web.
13. Kết quả ping tới web server AVR
104
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
14. G
15. G
105
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
6. Mô hình thực tế
106
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
KẾT LUẬN VÀ KIẾN NGHỊ
Kết luận
Nắm rõ hiểu bộ giao thức TCP/IP
Lập trình Ethernet ụng chíp W5100 của WIZnet.
Nghiên cứ
Lập trình điều khiển vi điều khiể Tmega16 bằng
ngôn ngữ C
Nghiên cứu cảm biến PIR
Nghiên cứu cảm biế
Nghiên cứu cảm biế -2
Nghiên cứu cảm biế DS18B20
Ngh
Nghiên cứu ngôn ngữ HTML
.
Xây dựng thành công một hệ thống điều khiển giám sát đơn giản trên
nền web nhúng.
Đề tài là nền móng cho sự phát triển các ứng dụng trong mạng LAN,
trên môi trƣờng Internet.
Có thể ứng dụng cho nhiều mục đích khác nhƣ thiết bị cảnh báo, giám
sát trong mạng nội bộ, mạng internet,
107
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
Hạn chế
Khi mạng không tốt, rất khó điều khiển hệ thống từ xa qua web server
. Khi mạng bị đứt, hệ thống mất điều khiể Hệ thống này thích hợp với mạng
LAN có đƣờng truyền ổn định nhƣng khả năng bảo mật kém
r . Password
. Cấu hình của mạch yếu ATmega 2560
thuộc dòng 8bit, tốc độ tối đa là 16Mhz. W5100 chạy với tốc độ tối đa là 100Mbps.
Do đó, server chạy chậm, không thể phục vụ cùng lúc nhiều ngƣời.
điện ,đo
nhiệt độ ,báo cháy , báo trộm , đo rò khí ga đáp ứng đƣợc yêu cầu.
Đề xuất hƣớng phát triển của đề tài
Đây là một đề tài liên quan đến nhiều lĩnh vực khác nhau, đòi hỏi
ngƣời thiết kế phải có nhiều kinh nghiệm và thời gian, do đó rất mong rằng nhà
trƣờng sẽ bố trí học viên thực hiện phát triển tiếp đề tài để kết quả đƣợc tốt hơn và
ứng dụng mạnh mẽ hơn cho đời sống.
thernet
hơn nhƣ: n
động hóavà mục tiêu kế tiếp phát triển đồ án này có thể lập trình giao tiếp theo
dạng modbus TCP/IP theo chuẩn công nghiệp hoặc phát triển về lĩnh vực điều
khiển robot qua dực án robot ROV ( Romote of vehicle ) with Camera ứng dụng
vào tìm kiếm cứu mạng .
Hƣớng phát triển của đề tài này còn xoay quanh việc khắc phục vấn
đề bảo mật server , đáp ứng về tốc độ đƣờng truyền và thời gian xử lý.
108
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
LỜI CẢM ƠN
Luận văn đƣợc hoàn thành dƣới sự chỉ bảo tận tình của GS.TS. Lê Hùng Lân.
Nhân dịp này, tôi xin đƣợc bày tỏ lòng tri ân sâu sắc đến Thầy, ngƣời đã hết lòng
giúp đỡ và hƣớng dẫn cho tôi trong suốt quá trình nghiên cứu.
Tôi xin đƣợc gửi lời cảm ơn đến Quý Thầy Cô tham gia giảng dạy lớp Cao
học kỹ thuật điện tử K20; Quý Thầy Cô trong Khoa Điện - Điện Tử và các Thầy
trong bộ môn Kỹ Thuật Viễn Thông đã cung cấp những kiến thức nền tảng giúp tôi
hoàn thành luận văn; các bạn lớp Cao học kỹ thuật điện tử K20.1 đã nhiệt tình giúp
đỡ và tạo điều kiện thuận lợi về mọi mặt cho tôi trong suốt quá trình học tập, nghiên
cứu và hoàn thành luận văn.
Dù đã có nhiều cố gắng trong quá trình thực hiện, song chắc chắn rằng luận
văn sẽ không tránh khỏi những hạn chế và thiếu sót, tôi rất mong nhận đƣợc sự góp
ý của Quý Thầy Cô và các bạn!
Một lần nữa, tôi xin chân thành cảm ơn!
TP.HCM, ngày tháng năm 2014
Học viên thực hiện
Võ Thanh Tùng
109
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi, số liệu và kết
quả nghiên cứu trong luận văn này là trung thực không trùng lắp với các đề tài khác.
Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện luận văn này đã đƣợc cảm
ơn và các thông tin trích dẫn trong luận văn đã đƣợc chỉ rõ nguồn gốc.
Tác giả
Võ Thanh Tùng
110
Võ Thanh Tùng - Cao học KTĐT K20.1 Đại học Giao thông Vận tải
TÀI LIỆU THAM KHẢO
Tiếng Việt
1. Giáo trình thiết kế và xây dựng mạng LAN và WAN, Trung tâm khoa học tự
nhiên và Công nghệ quốc Gia, Viện Công nghệ Thông tin, Tháng 01, 2004.
2. PGS.TS Hoàng Minh Sơn, Mạng truyền thông công nghiệp, NXB Khoa học kỹ thuật
2006.
3. Ths. Phạm Ngọc Đĩnh, Kỹ thuật truyền số liệu, Học viện Công nghệ Bƣu chính
Viễn thông, 2007
4. TS. Phạm Thế Quế, Công nghệ mạng máy tính, NXB Thông tin và Truyền
Thông, Tháng 09, 2010.
Tiếng Anh
5. “IEEES tandards 802.15.4,IEEE2003,ISBN0-7381-3677-5SS95127”,2004
6. “ IEEE802.15.4 Standard Specification ”
7. ZigBeeAlliance,
8. Zigbee technical documents , www.zigbee.org
9.
10.
11.
12.
13.
14.
15.
16.
Các file đính kèm theo tài liệu này:
- thiet_ke_he_thong_giam_sat_dieu_khien_thiet_bi_dien_ung_dung_cong_nghe_zigbee_802_15_4_va_ethernet_4.pdf