Tải bản đầy đủ
Arduino sẽ nhận dữ liệu từ môi trường bên ngoài thông qua các cảm biến (sensor). Arduino tự động xử lý dữ liệu từ cảm biến mà không cần sự trợ giúp của máy tính. Sau đó arduino tương tác lại với môi trường xung quanh như điều khiển đèn tắt/mở, điều khiển

Arduino sẽ nhận dữ liệu từ môi trường bên ngoài thông qua các cảm biến (sensor). Arduino tự động xử lý dữ liệu từ cảm biến mà không cần sự trợ giúp của máy tính. Sau đó arduino tương tác lại với môi trường xung quanh như điều khiển đèn tắt/mở, điều khiển

Tải bản đầy đủ

Bộ nhớ flash

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

SRAM

2 KB (ATmega328)

EEPROM

1 KB (ATmega328)

b.

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.

Hình 3.2 Vi điều khiển ATMEGA328P-PU
Thiết kế tiêu chuẩn của Arduino UNO R3 sử dụng vi điều khiển ATmega328.
c.
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 vuông 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 ngoà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.
33

-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Ω.
d.

Bộ nhớ

-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.
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
e.

Các cổng vào ra

Hình 3.3 Cổng Analog và cổng Digital
*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:
34

-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.
-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.
- 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác.
2.4.2 Quang trở
Là điện trở có trị số càng giảm khi được chiếu sáng càng mạnh. Điện trở tối
(khi không được chiếu sáng - ở trong bóng tối) thường trên 1MΩ, trị số này giảm rất
nhỏ có thể dưới 100Ω khi được chiếu sáng mạnh.

Hình 3.4 Quang trở

35

Hình 3.5 Hình ảnh thực tế quang trở
Quang trở còn là 1 loại cảm biến ánh sáng đơn giản, nguyên tắc hoạt động dựa
vào hiện tượng quang điện trong.
Nguyên lý làm việc của quang điện trở là khi ánh sáng chiếu vào chất bán dẫn
(có thể là Cadmium sulfide – CdS, Cadmium selenide – CdSe) làm phát sinh các điện
tử tự do, tức sự dẫn điện tăng lên và làm giảm điện trở của chất bán dẫn. Các đặc tính
điện và độ nhạy của quang điện trở dĩ nhiên tùy thuộc vào vật liệu dùng trong chế tạo.
Khi ánh sáng kích thích chiếu vào LDR thì nội trở của LDR sẽ giảm xuống ,
tiến về 0 ôm (mạch kín).
Khi ánh sáng kích thích ngừng thì nội trở tăng đến vô cùng (hở mạch).

Hình 3.6 Cáu tạo quang trở
2.4.3 Điện trở
Điện trở hay Resistor là một linh kiện điện tử thụ động trong một mạch điện,
hiệu điện thế giữa hai đầu của nó tỉ lệ với cường độ dòng điện qua nó theo định luật
Ohm:
Trong đề tài thiết kế chỉ sử dụng 2 điện trở 220Ω để giới hạn dòng cho điện trở
quang và đèn LED.

36

Hình 3.7 Điện trở 220Ω
2.4.4 Bảng PANEL và dây dẫn

Hình 3.9 Bảng panel cắm linh kiện

37

CHƯƠNG III: TÍNH TOÁN, THIẾT KẾ GIAO DIỆN ĐIỀU KHIỂN
1. Mục đích thiết kế giao diện

Qua đề tài:” THIẾT KẾ GIAO DIỆN ĐIỀU KHIỂN HỆ THỐNG CHIẾU SÁNG
THÔNG MINH TRÊN Ô TÔ” mà em được giao, từ hệ thống thực tế và qua nghiên
cứu phần mềm Labview thiết kế giao diện và phần cứng Arduino cho ta những ưu
điểm nổi bật về tính trực quan và lập trình đơn giản dễ hiểu hơn rất nhiều so với các
cách lập trình truyền thống như C, C++ hayPascal… Labview(Laboratory Virtual
Instrumentation Engineering Workbench) là một môi trường lập trình đồ họa được
sử dụng bỏi hang triệu kĩ sư và nhà khoa học để phát triển trong các lĩnh vực đo lường,
thử nghiệm và điều khiển hệ thống bằng cách sử dụng các biểu tượng (icon) đồ họa
trực quan và dây dẫn giống như một sơ đồ khối. Nó cung cấp một thư viện lớn để thực
hiện các phân tích cao cấp, trực quan trong việc tạo ra thiết bị ảo.
Nghiên cứu phần mềm labview với những ứng dụng rất rộng rãi, bằng phần
mềm chứng ta có thể thiết kế, điều khiển và kiểm tra như các phần cứng điều khiển và
đo đạc. Labview có khả năng kết nối với rất nhiều thiết bị giúp tập hợp dữ liệu dễ dàng
đồng thời cung cấp tính kất nối tới hầu hết mọi thiết bị đo, vì vậy có thể dễ dàng kết
hợp những ứng dụng labview mới vào các hệ thống hiện đại. Labview là nền tảng có
thể mở rộng trên nhiều mục tiêu và kể từ khi được giứo thiệu năm 1986 nó đã trở
thành một phần mềm hàng đầu trong công nghiệp.
Để việc lập trình đơn giản và dễ hiều. Em đã tìm hiểu và thực hiện thiết kế một
giao diện điều khiển hệ thống bật tắt đèn tự động trên ô tô trên nền giao diện của phần
mềm labview kết hợp lập trình trên bo mạch Arduino Uno R3. Với cách thiết kế giao
diện trên labview phần code được đơn giản hóa bằng các khối và các dây nối trực quan
dễ hiểu và phần hiển thị rất chi tiết.
Ưu điểm của việc kết hợp Labview với Arduino: Labview thường được sử
dụng kết hợp với phần cứng để đo lường, kiểm tra hoặc điều khiển các tham số của
thiết bị. Các phần cứng này có thể do National Instruments sản xuất song giá thành
cao. Hiện tại Labview cũng đã hỗ trợ giao diện để giao tiếp với phần cứng là Arduino.
Arduino gồm có board mạch co thể lập trình được và các phần mềm hỗ trợ phát triển
tích hợp IDE (Integrated Development Environment) dùng để soạn thảo, biên dịch
code và nạp chương trình cho board. Arduino ngày nay rất phổ biến cho những người
38

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 cũng như giá
thành rẻ hơn nhiều so với phần cứng của National Instrument. Vì thế việc nghiên cứu
về Labview kết hợp với Arduino đang rất được quan tâm và hứa hẹn sẽ được phát triển
trong tương lai.
2. Sơ đồ khối mạch điều khiển

Hình 3.1 Sơ đồ khối mạch điều khiển
Chức năng nhiệm vụ từng khối:


Khối nguồn: Mạch sử dụng nguồn 5V của máy tinhscho board Arduino,

cảm biến ánh sáng và đèn.
• Khối điều khiển: Là giao diện được thiết kế trên nền phần mêm Labview
2014 kết hợp điều khiển bằng board Arduino.
• Khối đèn pha: Là đèn led được sử dụng tương tự cơ cấu đèn pha, cốt trên xe
ô tô.
3.

Sơ đồ thuật toán

Hình 3.2 Sơ đồ thuật toán
39

4.

Thiết kế giao diện điều khiển trên phần mềm Labview
a. Lưu đồ thuật toán chi tiết về phần code (giao diện)

Hình 3.3 Lưu đồ thuật toán giao diện
b. Sơ đồ khối của chương trình (giao diện block diagram)

40

Hình 3.4 Giao diện Block Diagram trường hợp bật công tắc AUTO
Chương trình điều khiển có các khối init và close để thiết lập và đổ chương trình
xuống. Giao diện điều khiển được thiết kế bên trong vòng lặp while loop. Tín hiệu từ
cảm biến được lấp từ cảm biến ánh sáng đưa vào chân A0 của Arduino uno R3 bằng

khối

và được đọc bằng khối Analog read pin.vi. Giá trị cảm biến

được hiển thị thông qua khối
. Khối Set digital pin.vi dùng để thiết lập
chân 4 là chân ra của tín hiệu điều khiển đèn. Khối Digital write pin.vi dùng để viết
chương trình ra chân 4.
Tín hiệu cảm biến được đưa vào khối case structure điều khiển 2 chế độ bật/tắt của
công tắc AUTO.

Hình 3.5 Giao diện Block Diagram trường hợp tắt công tắc AUTO

41

Giao diện Front Panel

Hình 3.6 Giao diện điều khiển trên Front panel
Nguyên lí hoạt động:
- Khi công tắc AUTO tắt, hệ thống không hoạt động.
- Khi công tắc AUTO bật, cảm biến ánh sáng sẽ thu nhận thông tin về cường độ ánh
sáng và gửi tín hiệu về chân A0 bộ xử lí. Bộ xử lí so sánh giá trị cảm biến với 1 giá
quy định. Nếu giá trị lớn hơn (trời tối) thì sẽ gửi tín hiệu điều khiển đến chân 4 để bật
đèn sáng. Nếu giá trị nhỏ hơn (trời sáng) thì sẽ gửi tín hiệu đến chân 4 để tắt đèn.

42

CHƯƠNG IV: KẾT LUẬN – HƯỚNG PHÁT TRIỂN ĐỀ TÀI
1.

Các kết quả thu được

- Tìm hiểu về phần mềm Labview cơ bản và các giao thức kết nối.
- Thiết kế và xây dựng hoàn thành giao diện người dùng (Front panel) và sơ đồ khối
(Block Diagram) trên Labview để điều khiển bật tắt đèn tự động.
- Thiết kế hoàn thiện giao diện điều khiển hệ thống gạt mưa tự động trên xe ô tô.
- Biết cách giải quyết một bài toán khoa học: Ứng dụng phần mềm trong tính toán,
thiết kế mô phỏng hệ thống thực tế trên ô tô.
2.

Những hạn chế
- Ứng dụng của Labview là rất nhiều , nhưng do thời gian có hạn nên em chưa

tìm hiểu được nhiều. Giao thức kết nối giữa Labview với các thiết bị và phần mềm rất
đa dạng nhưng chỉ thực hiện trên giao thức USB.
- Đối tượng thực hiện là đèn, chưa thực hiện được với các loại động cơ và cơ cấu
khác...
3.

Hướng phát triển đề tài
Labview là công cụ mạnh trong đo lường và điều khiển. Ứng dụng của Labview

điều khiển được nhiều đối tượng trong các lĩnh vực khác nhau. Chúng ta có thể sử
dụng Labview để kiểm tra, giám sát tự động trong các quá trình sản xuất hay đánh giá
chất lượng sản phẩm. Chúng ta có thể dùng Labview để đo tín hiệu các cảm biến trên
xe, thực hiện điều khiển từ xa.
Em rất mong các thế hệ sinh viên sau sẽ tiếp tục nghiên cứu, tìm ra các hướng
đi khác trong việc ứng dụng Labview vào điều khiển tự động hiệu quả trong thực tế.

43