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

BÁO cáo bài tập lớn môn kỹ THUẬT đo LƯỜNG và cảm BIẾN

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

BÁO CÁO BÀI TẬP LỚN MÔN KỸ
THUẬT ĐO LƯỜNG VÀ CẢM BIẾN
Cảm biến và Ứng dụng

Thành viên và phân công
STT
Họ và tên
1. Bùi Xuân Khánh
2. Nguyễn Duy Lăng
3.
4.
5.

Nội dung công việc chính

1
11


MỤC LỤC

2
22


PHẦN 1. KIẾN THỨC CƠ BẢN
1.1.

Tổng quan về cảm biến và cơng nghệ cảm biến

Sinh viên trình bày các khái niệm, phân loại cảm biến và các vấn đề liên quan như chống


nhiễu, xử lý tín hiệu v.v.v
a. Khái niệm
Cảm biến là thiết bị điện tử cảm nhận những trạng thái, q trình vật lý hay hóa học ở
mơi trường cần khảo sát và biến đổi thành tín hiệu điện để thu thập thơng tin về trạng
thái hay q trình đó
b. Phân loại
Trên thực tế có vơ vàn những loại cảm biến khác nhau và chúng ta có thể chia các cảm biến
thành hai nhóm chính:


Cảm biến vật lí: có thể kể đến một vài ví dụ dễ hình dung như sóng ánh sáng, hồng
ngoại, tia X, hạt bức xạ, nhiệt độ, áp suất, âm thanh, từ trường, gia tốc,…



Cảm biến hóa học: thường thấy như độ ẩm, độ PH, ion, khói,….

Ngồi ra ta cũng có một số hình thức phân chia khác.
Cảm biến chủ động và bị động
Cảm biến chủ động: không sử dụng điện năng bổ sung để chuyển sang tín hiệu điện. Điển hình là
cảm biến áp điện làm bằng vật liệu gốm, chuyển áp suất thành điện tích trên bề mặt
Cảm biến bị động có sử dụng điện năng bổ sung để chuyển sang tín hiệu điện. Điển hình là
các photodiode khi có ánh sáng chiếu vào thì có thay đổi của điện trở tiếp giáp bán dẫn p-n được
phân cực ngược.
Phân loại theo nguyên lí hoạt động
Theo ngun lí hoạt động ta có thể kể đến những loại cảm biến nổi bật như:


Cảm biến điện trở: hoạt động dựa theo di chuyển con chạy hoặc góc quay của biến
trở, hoặc sự thay đổi điện trở do co giãn vật dẫn.




Cảm biến cảm ứng: cảm biến biến áp vi phân, cảm biến cảm ứng điện từ, cảm biến
dịng xốy, cảm biến cảm ứng điện động, cảm biến điện dung,….



Cảm biến điện trường: cảm biến từ giảo, cảm biến áp điện,…
3




Và một số cảm biến nổi bật khác như: cảm biến quang, cảm biến huỳnh quang nhấp
nháy, cảm biến điện hóa đầu dị ion và độ pH, cảm biến nhiệt độ,…

1.2.

Tổng quan về mơi trường và cơng cụ lập trình
1.2.1.

Tổng quan về bộ kit andruino

Arduino là một nền tảng mà mọi thiết bị phần cứng đều được làm sẵn và chuẩn
hóa, người dùng chỉ việc chọn những thứ mình cần, ráp lại là có thể chạy được. Bạn
muốn làm xe điều khiển từ xa ? Arduino cung cấp cho bạn module điều khiển động cơ có
sẵn, mạch điều khiển có sẵn, mạch thu phát sóng khơng dây có sẵn,… Bạn sẽ không cần
phải động não thiết kế mạch điện cho chiếc xe bởi đơn giản là mọi thứ đều có sẵn.
Giống như một con người với “thể xác” đã được xây dựng sẵn, một hệ thống Arduino

phải có “tâm hồn” để có thể “sống”. Và tơi gọi việc tạo ra “tâm hồn” ấy là “Lập trình”.
Tuy nhiên bạn sẽ khơng phải lập trình từ A đến Z. Mỗi thứ phần cứng gắn mác “Arduino”
đều có những đoạn lệnh đã được viết sẵn (gọi là thư viện) do cộng đồng người dùng
Arduino cùng phát triển. Bạn chỉ việc bưng vào và xào nấu lại theo ý muốn của mình. Tới
đây, bạn đã giải quyết được vấn đề thứ 2. Đừng lo nếu bạn khơng biết gì về lập trình bởi
chúng chỉ giống như những bài tập Tin học lớp 11 lặt vặt ở trường thôi.

4


Chính vì tính tiện lợi và đơn giản cho người sử dụng mà Arduino đã trở thành một hiện
tượng trong làng điện tử thế giới. Những sản phẩm của cộng đồng người dùng Arduino
cũng như những thiết bị hỗ trợ Arduino lớn đến mức khơng thể thống kê được. Nó phát
triển đến mức mà ta có thể gọi nó là một hệ sinh thái đa dạng như tiêu đề - giống như
Windows hay Android. Tôi tin rằng nếu bạn học chữ bằng những quyển vở tập viết thì
bạn sẽ cần tới Arduino để đến với điện tử.

Một vài thành viên trong đại gia đình Arduino
*Arduino có thể kết nối với những gì ?
Một hệ thống Arduino có thể cung cấp cho bạn rất nhiều sự tương tác với môi trường
xung quanh với:


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, phát
hiện kim loại, khí độc,…),…



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ợ 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, 315/433Mhz, 2.4Ghz,…), …
5




Định vị GPS, nhắn tin SMS,…



… và nhiều thứ thú vị khác đang chờ bạn khám phá.

*Lịch sử ra đời của Arduino

Arduino ra đời tại thị trấn Ivrea, nước Ý và được đặt theo tên một vị vua vào thế kỷ thứ 9
là King Arduin.
Nó chính thức được đưa ra giới thiệu vào năm 2005 như là một công cụ cho sinh viên học
tập của giáo sư Massimo Banzi, một trong những người phát triển Arduino tại trường
Interaction Design Instistute Ivrea (IDII). Dù hầu như khơng có một sự tiếp thị hay quảng
cáo nào nhưng tin tức về Arduino vẫn lan truyền với tốc độ chóng mặt nhờ vơ vàn lời
truyền miệng tốt đẹp của những người dùng đầu tiên.
Arduino UNO R3

6



Nhắc tới dịng mạch Arduino dùng để lập trình, cái đầu tiên mà người ta thường nói tới
chính là dịng Arduino UNO. Hiện dòng mạch này đã phát triển tới thế hệ thứ 3 (R3). Bạn
sẽ bắt đầu đến với Arduino qua thứ này. Bạn có thể dùng Arduino Nano cũng được nhưng
tôi khuyên bạn nên dùng cái này.

7


1.2.2.

Cài đặt IDE, driver, các thao tác trên IDE.

Cài đặt Driver:
Để máy tính của bạn và board Arduino giao tiếp được với nhau, chúng ta cần
phải cài đặt driver trước tiên.
Nếu bạn dùng Windows 8, trong một số trường hợp Windows không cho
phép bạn cài Arduino driver (do driver không được kí bằng chữ kí số hợp lệ). Do
vậy bạn cần vào Windows ở chế độ Disable driver signature enforcement thì mới
cài được driver.
Đầu tiên, các bạn chạy file arduino-1.6.4\drivers\dpinst-x86.exe (Windows x86)
hoặc arduino-1.6.4\drivers\dpinst-amd64.exe (Windows x64). Cửa sổ “Device
Driver Installation Wizard” hiện ra, các bạn chọn Next để tiếp tục.

8


Khi có yêu cầu xác nhận cài đặt driver, chọn “Install”

Đợi khoảng 10 giây trong lúc quá trình cài đặt diễn ra …


9


Q trình cài đặt đã hồn tất. Bấm “Finish” để thoát.

10


Cài đặt IDE:
Bước 1: Truy cập vào đường link: />Đây là nơi lưu trữ cũng như cập nhật các bản IDE của Arduino. Bấm vào mục Windows
Zip file for non admin install

11


Bạn sẽ được chuyển đến một trang mời quyền góp tiền để phát triển phần mềm cho
Arduino, tiếp tục bấm để bắt đầu tải.
Bước 2: Sau khi download, các bạn bấm chuột phải vào file vừa download arduino1.6.4-windows.zip và chọn “Extract here” để giải nén.

Bước 3: Copy thư mục arduino-1.6.4 vừa giải nén đến nơi lưu trữ.
Bước 4: Chạy file ariduino.exe trong thư mục arduino-1.6.4\ để khởi động Arduino IDE

12


Các thao tác cơ bản trên IDE:

13



* Giao diện

* Vùng lệnh
Bao gồm các nút lệnh menu (File, Edit, Sketch, Tools, Help). Phía dưới là các
icon cho phép sử dụng nhanh các chức năng thường dùng của IDE được miêu
tả như sau:

14


* Vùng viết chương trình
Bạn sẽ viết các đoạn mã của mình tại đây. Tên chương trình của bạn được hiển
thị ngay dưới dãy các Icon, ở đây nó tên là “Blink”. Để ý rằng phía sau tên
chương trình có một dấu “§”. Điều đó có nghĩa là đoạn chương trình của bạn
chưa được lưu lại.

15


* Vùng thông báo (debug)

Những thông báo từ IDE sẽ được hiển thị tại đây. Để ý rằng góc dưới cùng bên
phải hiển thị loại board Arduino và cổng COM được sử dụng. Luôn chú ý tới mục
này bởi nếu chọn sai loại board hoặc cổng COM, bạn sẽ không thể upload được
code của mình.
* Một số lưu ý
Khi lập trình, các bạn cần chọn port (cổng kết nối khi gắn board vào) và board
(tên board mà bạn sử dụng). Giả sử, bạn đang dùng mạch Arduino Uno, và khi
gắn board này vào máy tính bằng cáp USB nó được nhận là COM4 thì bạn chỉnh
như thế này là có thể lập trình đươc nhé.


16


1.2.3.

Một số thao tác với phần cứng

*Phần cứng của Arduino

17


- Cổng USB (loại B): đây là cổng giao tiếp để ta upload code từ PC lên vi điểu khiển.
Đồng thời nó cũng là giao tiếp serial để truyền dữ liệu giữa vi điểu khiển với máy tính. Jack nguồn: để chạy Arduino thì có thể lấy nguồn từ cổng USB ở trên, nhưng khơng phải
lúc nào cũng có thể cắm với máy tính được. Lúc đó, ta cần một nguồn 9V đến 12V. Hàng Header: đánh số từ 0 đến 12 là hàng digital pin, nhận vào hoặc xuất ra các tín hiệu
số. Ngồi ra có một pin đất (GND) và pin điện áp tham chiếu (AREF). - Hàng header thứ
hai: chủ yếu liên quan đến điện áp đất, nguồn. - Hàng header thứ ba: các chân để nhận
vào hoặc xuất ra các tín hiệu analog. Ví dụ như đọc thông tin của các thiết bị cảm biến. Vi điều khiển AVR: đây là bộ xử lý trung tâm của tồn bo mạch. Với mỗi mẫu Arduino
khác nhau thì con chip này khác nhau. Ở con Arduino Uno này thì sử dụng ATMega328.
*Một vài thơng số của Arduino UNO R3
Vi điều khiển

ATmega328 họ 8bit

Điện áp hoạt động

5V DC (chỉ được cấp qua cổng USB)

Tần số hoạt động


16 MHz

Dòng tiêu thụ

khoảng 30mA

Điện áp vào khuyên dùng

7-12V DC

Điện áp vào giới hạn

6-20V DC

Số chân Digital I/O

14 (6 chân hardware PWM)

Số chân Analog

6 (độ phân giải 10bit)
18


Dòng tối đa trên mỗi chân I/O

30 mA

Dòng ra tối đa (5V)


500 mA

Dòng ra tối đa (3.3V)

50 mA

Bộ nhớ flash

32 KB (ATmega328) với 0.5KB dùng bởi
bootloader

SRAM

2 KB (ATmega328)

EEPROM

1 KB (ATmega328)

*Vi điều khiển

Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là ATmega8, ATmega168,
ATmega328. Bộ não này có thể xử lí những tác vụ đơn giản như điều khiển đèn LED
nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm một trạm đo nhiệt độ - độ ẩm và
hiển thị lên màn hình LCD,…
Thiết kế tiêu chuẩn của Arduino UNO sử dụng vi điều khiển ATmega328 với giá khoảng
90.000đ. Tuy nhiên nếu yêu cầu phần cứng của bạn không cao hoặc túi tiền không cho
phép, bạn có thể sử dụng các loại vi điều khiển khác có chức năng tương đương nhưng rẻ
hơn như ATmega8 (bộ nhớ flash 8KB) với giá khoảng 45.000đ hoặc ATmega168 (bộ nhớ

flash 16KB) với giá khoảng 65.000đ.
Ngoài việc dùng cho board Arduino UNO, bạn có thể sử dụng những IC điều khiển này
cho các mạch tự chế. Vì sao ? Vì bạn chỉ cần board Arduino UNO để lập trình cho vi điều
khiển. Trên thực tế, bạn khơng cần phải dụng Arduino UNO trên các sản phẩm của mình,
thay vào đó là các mạch tự chế để giảm chi phí như hình dưới đây:

19


Chế tạo thủ cơng

Sử dụng mạch in

*Năng lượng
Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồn ngoài với
điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V. Thường thì cấp nguồn bằng pin
vng 9V là hợp lí nhất nếu bạn khơng có sẵn nguồn từ cổng USB. Nếu cấp nguồn vượt
quá ngưỡng giới hạn trên, bạn sẽ làm hỏng Arduino UNO.
*Các chân năng lượng


GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO. Khi bạn dùng các
thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải được nối với
nhau.



5V: cấp điện áp 5V đầu ra. Dịng tối đa cho phép ở chân này là 500mA.




3.3V: cấp điện áp 3.3V đầu ra. Dòng tối đa cho phép ở chân này là 50mA.



Vin (Voltage Input): để cấp nguồn ngồi cho Arduino UNO, bạn nối cực dương của
nguồn với chân này và cực âm của nguồn với chân GND.



IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo ở chân
này. Và dĩ nhiên nó luôn là 5V. Mặc dù vậy bạn không được lấy nguồn 5V từ chân
này để sử dụng bởi chức năng của nó khơng phải là cấp nguồn.



RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc
chân RESET được nối với GND qua 1 điện trở 10KΩ.

Lưu ý:

20




Arduino UNO khơng có bảo vệ cắm ngược nguồn vào. Do đó bạn phải hết sức cẩn
thận, kiểm tra các cực âm – dương của nguồn trước khi cấp cho Arduino UNO.
Việc làm chập mạch nguồn vào của Arduino UNO sẽ biến nó thành một miếng
nhựa chặn giấy. mình khun bạn nên dùng nguồn từ cổng USB nếu có thể.




Các chân 3.3V và 5V trên Arduino là các chân dùng để cấp nguồn ra cho các thiết
bị khác, không phải là các chân cấp nguồn vào. Việc cấp nguồn sai vị trí có thể
làm hỏng board. Điều này khơng được nhà sản xuất khuyến khích.



Cấp nguồn ngồi khơng qua cổng USB cho Arduino UNO với điện áp dưới 6V có
thể làm hỏng board.



Cấp điện áp trên 13V vào chân RESET trên board có thể làm hỏng vi điều khiển
ATmega328.



Cường độ dòng điện vào/ra ở tất cả các chân Digital và Analog của Arduino UNO
nếu vượt quá 200mA sẽ làm hỏng vi điều khiển.



Cấp điệp áp trên 5.5V vào các chân Digital hoặc Analog của Arduino UNO sẽ làm
hỏng vi điều khiển.



Cường độ dịng điện qua một chân Digital hoặc Analog bất kì của Arduino UNO

vượt quá 40mA sẽ làm hỏng vi điều khiển. Do đó nếu khơng dùng để truyền nhận
dữ liệu, bạn phải mắc một điện trở hạn dòng.

Khi mình nói rằng bạn “có thể làm hỏng”, điều đó có nghĩa là chưa chắc sẽ hỏng ngay
bởi các thơng số kĩ thuật của linh kiện điện tử ln có một sự tương đối nhất định. Do đó
hãy cứ tuân thủ theo những thông số kĩ thuật của nhà sản xuất nếu bạn không muốn phải
mua một board Arduino UNO thứ 2.Khi mình nói rằng bạn “có thể làm hỏng”, điều đó có
nghĩa là chưa chắc sẽ hỏng ngay bởi các thông số kĩ thuật của linh kiện điện tử ln có
một sự tương đối nhất định. Do đó hãy cứ tuân thủ theo những thông số kĩ thuật của nhà
sản xuất nếu bạn không muốn phải mua một board Arduino UNO thứ 2.
*Bộ nhớ
Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:


32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong bộ nhớ Flash
của vi điều khiển. Thường thì sẽ có khoảng vài KB trong số này sẽ được dùng cho
bootloader nhưng đừng lo, bạn hiếm khi nào cần quá 20KB bộ nhớ này đâu.



2KB cho SRAM (Static Random Access Memory): giá trị các biến bạn khai báo khi
lập trình sẽ lưu ở đây. Bạn khai báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM.
21


Tuy vậy, thực sự thì cũng hiếm khi nào bộ nhớ RAM lại trở thành thứ mà bạn phải
bận tâm. Khi mất điện, dữ liệu trên SRAM sẽ bị mất.


1KB cho EEPROM (Electrically Eraseble Programmable Read Only Memory): đây

giống như một chiếc ổ cứng mini – nơi bạn có thể đọc và ghi dữ liệu của mình vào
đây mà khơng phải lo bị mất khi cúp điện giống như dữ liệu trên SRAM.

*Các cổng vào/ra

Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu. Chúng chỉ có 2 mức
điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA. Ở mỗi chân đều có
các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc định thì
các điện trở này khơng được kết nối).
Một số chân digital có các chức năng đặc biệt như sau:
22




2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive – RX)
dữ liệu TTL Serial. Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chân
này. Kết nối bluetooth thường thấy nói nơm na chính là kết nối Serial khơng dây. Nếu
không cần giao tiếp Serial, bạn không nên sử dụng 2 chân này nếu khơng cần thiết



Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ phân
giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàm analogWrite(). Nói
một cách đơn giản, bạn có thể điều chỉnh được điện áp ra ở chân này từ mức 0V đến
5V thay vì chỉ cố định ở mức 0V và 5V như những chân khác.



Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ngoài các chức năng

thơng thường, 4 chân này cịn dùng để truyền phát dữ liệu bằng giao thức SPI với các
thiết bị khác.



LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L). Khi bấm nút
Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu. Nó được nối với chân số 13. Khi
chân này được người dùng sử dụng, LED sẽ sáng.

Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit (0 →
210-1) để đọc giá trị điện áp trong khoảng 0V → 5V. Với chân AREF trên board, bạn có
thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog. Tức là nếu bạn cấp điện
áp 2.5V vào chân này thì bạn có thể dùng các chân analog để đo điện áp trong khoảng từ
0V → 2.5V với độ phân giải vẫn là 10bit.
Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với
các thiết bị khác.

1.2.4.

Ví dụ nạp một chương trình cơ bản

23


Bước 1: Kết nối Arduino UNO R3 vào máy tính

Bước 2: Tìm cổng kết nối của Arduino Uno R3 với máy tính
Khi Arduino Uno R3 kết nối với máy tính, nó sẽ sử dụng một cổng COM
(Communication port - cổng dữ liệu ảo) để máy tính và bo mạch có thể truyền tải dữ liệu
qua lại thông qua cổng này. Windows có thể quản lí đến 256 cổng COM. Để tìm được

cổng COM đang được sử dụng để máy tính và mạch Arduino UNO R3 giao tiếp với
nhau, bạn phải mở chức năng Device Manager của Windows.
Bạn mở cửa sổ Run và gõ lệnh mmc devmgmt.msc.

24


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

25


×