1. Trang chủ >
  2. Luận Văn - Báo Cáo >
  3. Kinh tế - Quản lý >

CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

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.33 MB, 32 trang )


cường độ ánh sáng. Khi cường độ ánh sáng môi trường xung quanh bên ngoài

vượt quá một ngưỡng quy định, ngõ ra của module D0 là mức logic thấp.



Hình 2.1. Module cảm biến cường độ sáng môi trường

* Đặc điểm nổi bật của Module cảm biến cường độ sáng môi trường:

- Thiết kế nhỏ gọn.

- Độ chính xác cao.

- Các thành phần phụ như điện trở, tụ điện... cần thiết cho mạch đã được gắn

đầy đủ. Người dùng chỉ cần cấp nguồn, nối dây điều khiển vào rơ le là có thể

tắt/mở bóng đèn hay các thiết bị điện khác theo cường độ ánh sáng chiếu vào

cảm biến.

- Sử dụng điện áp chuẩn 5V tương thích với nền tảng Arduino.

* Thông số kỹ thuật



5



- Ngõ ra A0 là ngõ Analog dùng để đo giá trị một giá trị cường độ ánh sáng

chính xác hơn.

- Điện áp vào từ 3.3V - 5V

- Tích hợp sẵn bộ so sánh opamp LM393.

- Trên mạch có 1 biến trở 10K ohm dùng để điều chỉnh độ nhạy sáng.

2.1.3.3. Khối xử lý trung tâm

Khối xử lý trung tâm: Có nhiều loại vi điều khiển, vi xử lý có thể làm được

nhiệm vụ này ví dụ như:

Vi điều khiển PIC có ưu điểm là tích hợp nhiều chức năng, thư viện hỗ trợ tốt,

phần mềm lập trình thân thiện bằng PIC C, giá rẻ, đặc biệt PIC có rất nhiều

chủng loại để lựa chọn nên với mỗi mục đích sử dụng có thể chọn được một

sản phẩm có 8 độ tương đồng cao, ít bị lãng phí chức năng. Vì vậy PIC được

dùng phổ biến trong công nghiệp. Tuy nhiên nhược điểm của PIC là mạch nạp

khá đắt

AVR của hãng ATMEL quen thuộc với 89C51, ATmega, tốc độ nhanh, nhiều

hỗ trợ, giá rẻ, mạch nạp rẻ, phần mềm lập trình mạnh mẽ với AVRstudio và

CodeVisionAVR. Nhưng nhược điểm của nó là mạch nguồn cho ADC phức

tạp và AVR ít sản phẩm để lựa chọn.

Trung tâm xử lý sử dụng Arduino Uno R3 với vi điều khiển atmega328, hỗ

trợ các cổng vào/ra số, tương tự, đồng thời là các chân điều khiển băm xung

PWM và các cổng Digital cho phép đọc tín hiệu số từ khối chuyển đổi tín

hiệu gửi về, tốc độ cao, độ tin cậy cao hơn PIC. Ngồi ra Arduino dễ sử dụng,

có cộng đồng người dùng trên thế giới và trong nước lớn, giá thành vừa phải

thích hợp với việc sử dụng của học sinh, sinh viên.



6



Trong đề tài lựa chọn Arduino Uno R3 với giá thành rẻ, tốc độ cao (16 triệu

lệnh trên giây).

Ở đây, trung tâm xử lý đóng vai trò đọc tín hiệu điện áp từ khối chuyển đổi tín

hiệu gửi về sau đó đưa tín hiệu đến điều khiển cường độ sáng của đèn.

+ Khối cảm biến cường độ sáng mơi trường: Trên thị trường có nhiều loại

module cảm biến cường độ sáng môi trường. Ở trong đề tài này em chọn

Module sử dụng IC so sánh áp LM393. Module Cảm biến ánh sáng dùng

quang trở có ưu điểm:

Độ chính xác cao nhờ sử dụng IC so sánh áp (comparator) LM393.

Thiết kế tổng thể nhỏ gọn

Các thành phần phụ như điện trở, tụ điện… cần thiết cho mạch đã được gắn

đầy đủ.

Arduino là một bo mạch xử lý được dùng để lập trình tương tác với các thiết

bị phần cứng như cảm biến, động cơ,... Điểm hấp dẫn ở Arduino với người

lập trình là ngơn ngữ cực kì dễ học (giống C/C++), các ngoại vi trên bo mạch

đều đã được chuẩn hóa, nên khơng cần biết nhiều về điện tử, chúng ta cũng có

thể lập trình được những ứng dụng thú vị. Thêm nữa, vì Arduino là một

platform đã được chuẩn hóa, nên đã có rất nhiều các bo mạch mở rộng (gọi là

shield) để cắm chồng lên bo mạch Arduino, có thể hình dung nơm na là

"library" của các ngơn ngữ lập trình. Ví dụ, muốn kết nối Internet thì có

Ethernet shield, muốn điều khiển động cơ thì có Motor shield, muốn kết nối

nhận tin nhắn thì có GSM shield,... Rất đơn giản, và ta chỉ phải tập trung vào

việc "lắp ghép" các thành phần này và sáng tạo ra các ứng dụng cần thiết.

* Có thể kể ở đây một số ứng dụng của Arduino:



7



- Robot: Arduino được dùng để làm bộ xử lý trung tâm của rất nhiều loại

robot. Đó là nhờ vào khả năng đọc các thiết bị cảm biến, điều khiển động

cơ,... của Arduino.

- Game tương tác: chúng ta có thể dùng Arduino để tương tác với Joystick,

màn hình,... để chơi các trò chơi.

- Máy bay khơng người lái

- Mơ phỏng Ipod



Hình 2.2. Module Arduino Uno

Cấu tạo của 1 bo mạch Arduino gồm những phần chính sau:

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



8



- 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 toàn bo mạch. Với mỗi mẫu

Arduino khác nhau thì con chip này khác nhau. Ở bo mạch Arduino Uno này

thì sử dụng ATMega328.

• Thơng số kỹ thuật

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)

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

9



Bộ nhớ flash :32 KB (ATmega328) với 0.5KB dùng bởi bootloader

EEPROM: 1 KB (ATmega328)

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 ngồi với điện áp khuyên dùng là 7-12V DC và giới hạn là 620V. 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

- ND (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.

- 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ó ln 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Ω.

* Bộ nhớ



10



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

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



Hình 2.3. Các cổng vào/ra của Arduino

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.

11



Ở 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:

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). Ngồ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.



12



Đặ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.

* Lập trình cho Arduino

Các thiết bị dựa trên nền tảng Arduino được lập trình bằng ngôn riêng. Ngôn

ngữ này dựa trên ngôn ngữ Wiring được viết cho phần cứng nói chung. Và

Wiring lại là một biến thể của C/C++. Một sốngười gọi nó là Wiring, một số

khác thì gọi là C hay C/C++. Hoặc gọi nó là “ngơn ngữ Arduino”, và đội ngũ

phát triển Arduino cũng gọi như vậy. Ngôn ngữ Arduino bắt nguồn từ C/C++

phổ biến hiện nay do đó rất dễ học, dễ hiểu. Nếu học tốt chương trình Tin học

11 thì việc lập trình Arduino sẽ rất dễ dàng. Để lập trình cho Mạch Arduino,

nhà phát triển cung cấp một môi trường lập trình Arduino được gọi là Arduino

IDE(IntergratedDevelopmen Environment). Như vậy ngơn ngữ lập trình của

Arduino chính là C/C++, nhưng so với lập trình lập trình trực tiếp với vi điều

khiển, lập trình với Arduino đơn giản hơn nhiều vì chúng ta chỉ phải giao tiếp

với phần cứng thông qua các thư viện, có thể xem như các lớp C++ wrapper

lên các giao tiếp với phần cứng.

2.1.3.4. Giới thiệu về đèn Led

Một diode phát sáng là một thiết bị bán dẫn sẽ phát ra ánh sáng và dẫn điện

khi một dòng điện đi qua nó. Nó cơ bản là đối diện của một tế bào quang điện

(một thiết bị chuyển đổi ánh sáng khả kiến thành dòng điện).



13



Hình 2.4. Một số loại đèn Led

* Chi tiết kỹ thuật:

Đèn LED bao gồm hai loại vật liệu bán dẫn (loại P và loại N). Cả hai loại vật

liệu loại p và n, còn được gọi là vật liệu extringent, đã được pha tạp (nhúng

vào một chất gọi là “tác nhân doping”) để thay đổi một chút tính chất điện của

chúng từ dạng tinh khiết, không thay đổi hoặc “nội tại” (i-type).

Các vật liệu loại P và loại N được tạo ra bằng cách đưa vật liệu gốc vào

nguyên tử của nguyên tố khác. Những nguyên tử mới này thay thế một số

nguyên tử hiện có trước đó và trong q trình đó, thay đổi cấu trúc vật lý và

hóa học. Các vật liệu loại p được tạo ra bằng cách sử dụng các ngun tố

(chẳng hạn như boron) có ít electron hóa trị hơn so với vật liệu nội tại (thường

là silic). Các vật liệu loại n được tạo ra bằng cách sử dụng các nguyên tố (như

phốt pho) có nhiều electron hóa trị hơn là vật chất bên trong (đôi khi là silic).

Hiệu ứng ròng là việc tạo ra một điểm nối pn với các thuộc tính thú vị và hữu

ích cho các ứng dụng điện tử. Những thuộc tính đó là chính xác phụ thuộc chủ

yếu vào điện áp bên ngồi được áp dụng cho mạch (nếu có) và hướng của

dòng điện (tức là phía nào, kiểu p hoặc kiểu n).

14



Hình 2.5. Cấu tạo và kỹ thuật của đèn Led

Khi một diode phát sáng (LED) có nguồn điện áp được kết nối với cực dương

trên cực dương và mặt âm trên cực âm, dòng điện sẽ chảy (và ánh sáng sẽ

phát ra, một điều kiện được gọi là độ lệch về phía trước). Nếu đầu dương và

âm của nguồn điện áp được kết nối nghịch (dương với cực âm và âm cực

dương), dòng điện sẽ khơng chảy (điều kiện được gọi là độ lệch ngược).

Chuyển tiếp thiên vị cho phép dòng điện chạy qua đèn LED và làm như vậy,

phát ra ánh sáng. Đảo ngược thiên vị ngăn dòng điện chạy qua đèn LED (ít

nhất là cho đến một điểm nhất định mà nó khơng thể giữ dòng điện tại vịnh –

được gọi là điện áp nghịch đảo đỉnh – một điểm nếu đạt tới, sẽ làm hỏng thiết

bị một cách khơng thể phục hồi).

* Cấu tạo bóng đèn led

- Mạch in của đèn LED siêu sáng

Để bóng LED đạt độ bền tối đa thì thiết bị khơng thể thiếu đó chính là mạch

in. Do vậy mạch in rất được chú trọng trong chi tiết lắp ráp vào sản phẩm đèn

LED và được cấu tạo từ nhơm, gốm giúp đèn có cơng suất trung bình và lớn

tản nhiệt nhanh hơn.



15



Xem Thêm
Tải bản đầy đủ (.doc) (32 trang)

×