thiẾt kẾ bỘ ĐiỀu khiỂn tẮt

68
LUẬN VĂN TỐT NGHIỆP THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT/MỞ THIẾT BỊ ĐIỆN TRONG NHÀ Sinh viên thực hiện Cán bộ hướng dẫn Lê Văn Hòa TS. Lương Vinh Quốc Danh MSSV: 1080972 Luận văn đã được nộp và đánh giá vào ngày …. tháng …. năm ….. Kết quả đánh giá: Cán bộ đánh giá: . TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGH

Upload: nguyen-gia-long

Post on 21-Oct-2015

180 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

LUẬN VĂN TỐT NGHIỆP

THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT/MỞ THIẾT BỊ ĐIỆN TRONG NHÀ

Sinh viên thực hiện Cán bộ hướng dẫn Lê Văn Hòa TS. Lương Vinh Quốc Danh MSSV: 1080972

Luận văn đã được nộp và đánh giá vào ngày …. tháng …. năm …..

Kết quả đánh giá: Cán bộ đánh giá: .

TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ

Page 2: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

3

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

Cần Thơ, ngày … tháng … năm 2012

Page 3: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

4

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 1

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

Cần Thơ, ngày … tháng … năm 2012

Page 4: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

5

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 2

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

..........................................................................................................................

Cần Thơ, ngày … tháng … năm 2012

Page 5: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

6

LỜI CAM ĐOAN

Trong quá trình thực hiện đề tài, có thể còn nhiều thiếu sót do kiến thức hạn

chế nhưng những nội dung trình bày trong quyển báo cáo này là những hiểu biết và

thành quả của tôi đạt được dưới sự giúp đỡ của giảng viên hướng dẫn là thầy

Lương Vinh Quốc Danh.

Tôi xin cam đoan rằng: những nội dung trình bày trong quyển báo cáo niên

luận này không phải là bản sao chép từ bất kỳ công trình đã có trước nào. Nếu

không đúng sự thật, tôi xin chịu mọi trách nhiệm trước nhà trường.

Cần Thơ, ngày 02 tháng 5 năm 2012

Sinh viên thực hiện

Lê Văn Hòa

Page 6: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

7

LỜI CẢM ƠN

Lời đầu tiên tôi xin cảm ơn quý thầy cô khoa công nghệ trường đại học Cần

Thơ đã truyền đạt cho tôi những kiến thức tốt nhất để hoàn thành luận văn tốt

nghiệp này.

Tôi xin được gửi lời cảm ơn sâu sắc đến thầy TS.Lương Vinh Quốc Danh là

giảng viên trực tiếp hướng dẫn tôi hoàn thành đề tài này. Tôi xin cảm ơn vì sự chỉ

bảo và hướng dẫn tận tình của thầy trong suốt quá trình thực hiện.

Khi bắt tay vào thực hiện đồ án thì kiến thức và hiểu biết của tôi trong lĩnh

vực này gần như là con số không, với những kiến thức uyên bác và sự nhiệt tình của

thầy, thầy đã dẫn dắt tôi đi đến bước cuối cùng của đồ án.

Tôi xin gửi lời cảm ơn đến gia đình, bạn bè và những người đã giúp đỡ tôi rất

nhiều trong suốt quá trình thực hiện đồ án.

Một lần nữa tôi xin được gửi lời biết ơn sâu sắc đến thầy cô, gia đình và bạn

bè đã giúp đỡ tôi hoàn thành luận văn tốt nghiệp này.

Sau cùng, tôi xin bày tỏ lòng biết ơn sâu sắc tới gia đình, người thân và bạn bè đã quan tâm, chia sẻ khó khăn và động viên tôi trong quá trình thực hiện luận văn.

Page 7: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

8

DANH MỤC HÌNH Hình 2.1 – Sơ đồ chân MRF24J40MA ..................................................................... 16

Hình 2.2 – Bản đồ bộ nhớ MRF24J40 ...................................................................... 17

Hình 2.3 - Short Address Memory ............................................................................ 18

Hình 2.4 - Long Address Memory ............................................................................ 18

Hình 2.5 – SPI mode 0 timing ................................................................................... 20

Hình 2.6 – SPI mode1 timing .................................................................................... 20

Hình 2.7 – SPI mode 2 timing ................................................................................... 21

Hình 2.8 – SPI mode 3 timing ................................................................................... 21

Hình 2.9 – Cấu trúc của chuỗi dữ liệu ghi vào MRF24J40 ...................................... 21

Hình 2.10 – Cấu trúc của chuỗi dữ liệu đọc ra từ MRF24J40 .................................. 22

Hình 2.11 – ghi chuỗi dữ liệu vào long address ........................................................ 22

Hình 2.12 – đọc chuỗi dữ liệu đọc ra từ long address............................................... 22

Hình 2.13 – Cấu trúc của gói tin nhận được ............................................................. 25

Hình 2.14 – Cấu trúc của gói tin phát đi ................................................................... 25

Hình 2.15 – sơ đồ chân DS1307 ............................................................................... 26

Hình 2.16 – Sơ đồ khối DS1307 ............................................................................... 27

Hình 2.17 – Sơ đồ kết nối DS1307 với vi điều khiển ............................................... 27

Hình 2.18 – Các thanh ghi của DS1307 .................................................................... 28

Hình 2.19 – Chi tiết các thanh ghi thường sử dụng .................................................. 30

Hình 2.20 – Thanh ghi điều khiển ............................................................................. 30

Hình 2.21 – Mạng I2C .............................................................................................. 31

Hình 2.22 – Điều kiện star và stop ............................................................................ 33

Hình 2.23 – Định dạng của gói tin I2C ..................................................................... 34

Hình 2.24 – Sơ đồ chân AT89S52 ............................................................................ 35

Hình 2.25 – Tổ chức bộ nhớ AT89S52 ..................................................................... 37

Hình 2.26 – Chuẩn sony ............................................................................................ 39

Hình 2.27 – Chuẩn Matsushita .................................................................................. 40

Hình 3.1 – Sơ đồ phần cứng tổng quát ...................................................................... 44

Hình 3.2 – Khối nhận tín hiệu hồng ngoại ................................................................ 45

Hình 3.3 – Khối Zigbee ............................................................................................. 45

Page 8: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

9

Hình 3.4 – Khối cấp nguồn ....................................................................................... 46

Hình 3.5 – Khối RTC ................................................................................................ 46

Hình 3.6 – Khối LED 7 đoạn .................................................................................... 47

Hình 3.7 – Khối vi điều khiển ................................................................................... 48

Hình 3.8 – Khối điều khiển công suất ....................................................................... 49

Hình 3.9 – Khối mở rộng port ................................................................................... 49

Hình 3.10 – Khối hiển thị .......................................................................................... 50

Hình 3.11 – Modun mở rộng ..................................................................................... 51

Hình 3.12 – Quy cách sản phẩm ............................................................................... 52

Hình 3.13 – Giải thuật tổng quát ............................................................................... 53

Hình 3.14 – giải thuật khởi động .............................................................................. 54

Hình 3.15 – Quét LED 7 đoạn .................................................................................. 56

Hình 3.16 – Thực hiện lệnh từ điều khiển từ xa ....................................................... 58

Hình 3.17 – tắt/mở các đèn ...................................................................................... 59

Hình 3.18 – Nạp thời gian tắt và ở đèn ..................................................................... 60

Hình 3.19 – Kiểm tra thời gian tắt/mở ...................................................................... 61

Hình 3.20 - Modun phụ ............................................................................................. 62

Hình 3.22 - Bảng điều khiển chính khi mở đèn ........................................................ 63

Hình 3.21- Bảng điều khiển chính ............................................................................ 63

Hình 3.23 - Bộ điều khiển ......................................................................................... 63

Hình 1 - Chức năng của các đèn chỉ dẫn .................................................................. 65

Hình 2 – Sơ đồ đấu dây điện ..................................................................................... 66

Hình 3 – Bật/tắt đèn .................................................................................................. 66

Hình 4 – Điều chỉnh giờ ............................................................................................ 66

Hình 5 – Điều chỉnh ngày và tháng ........................................................................... 67

Page 9: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

10

DANH MỤC BẢNG Bảng 2.1 – Chức năng các chân của MRF24J40MA ................................................ 17

Bảng 2.2 – Chức năng các chân của DS1307 ........................................................... 26

Bảng 2.3 – Chọn tần số SQW ................................................................................... 30

Bảng 2.4 – Các thông số của chuẩn Sony ................................................................. 40

Bảng 2.5 – Các thông số của chuẩn Matsushita ........................................................ 41

Bảng 2.6 – Các thông số của chuẩn NEC ................................................................. 42

Bảng 2.7 – Các thông số của chuẩn RC5 .................................................................. 43

Bảng 3.1 – Kích thước sản phẩm .............................................................................. 52

Bảng 3.2 –Chi phí linh kiện ...................................................................................... 68

Page 10: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

11

MỤC LỤC LỜI CAM ĐOAN ....................................................................................................... 6

LỜI CẢM ƠN ............................................................................................................. 7

DANH MỤC HÌNH .................................................................................................... 8

DANH MỤC BẢNG ................................................................................................. 10

MỤC LỤC ................................................................................................................. 11

KÝ HIỆU VÀ VIẾT TẮT ......................................................................................... 13

TÓM TẮT ................................................................................................................. 14

ABSTRACT .............................................................................................................. 14

CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI ................................................................ 15

1.1. ĐẶT VẤN ĐỀ ............................................................................................. 15

1.2. LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ ............................................................. 15

1.3. PHẠM VI CỦA ĐỀ TÀI ............................................................................. 15

1.4. PHƯƠNG PHÁP THỰC HIỆN .................................................................. 15

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT ......................................................................... 16

2.1. TỔNG QUAN VỀ MODULE ZIGBEE MRF24J40MA ............................ 16

2.1.1. Sơ đồ chân ............................................................................................. 16

2.1.2. Bản đồ bộ nhớ ....................................................................................... 17

2.1.3. Các thanh ghi điều khiển ...................................................................... 18

2.1.4. Chuẩn giao tiếp SPI .............................................................................. 19

2.1.5. Cách thức ghi/đọc dữ liệu vào bộ nhớ MRF24J40 ............................... 21

2.1.6. Khởi động module MRF24J40MA ....................................................... 23

2.1.7. Thủ tục nhận gói tin .............................................................................. 25

2.1.8. Thủ tục phát gói tin ............................................................................... 25

2.1.9. Chế độ wake và sleep............................................................................ 26

2.2. TỔNG QUAN VỀ REAL TIME DS1307 VÀ CHUẨN I2C ...................... 26

2.2.1. Tổng quan về real time DS1307 ........................................................... 26

2.2.2. Chuẩn giao tiếp I2C .............................................................................. 30

2.3. TỔNG QUAN VỀ VI ĐIỀU KHIỂN 8051 ................................................. 34

2.3.1. Giới thiệu .............................................................................................. 34

2.3.2. Vi điều khiển AT89S52 ........................................................................ 34

2.3.3. Sơ đồ ..................................................................................................... 35

2.3.4. Tổ chức bộ nhớ ..................................................................................... 37

Page 11: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

12

2.4. CÁC CHUẨN DÙNG TRONG ĐIỀU KHIỂN BẰNG HỒNG NGOẠI ... 37

2.4.1. Chuẩn Sony ........................................................................................... 39

2.4.2. Chuẩn Matsushita ................................................................................. 40

2.4.3. Chuẩn NEC ........................................................................................... 41

2.4.4. Chuẩn RC5 ............................................................................................ 42

CHƯƠNG 3: THIẾT KẾ PHẦN CỨNG VÀ GIẢI THUẬT PHẦN MỀM............. 44

3.1. SƠ ĐỒ PHẦN CỨNG TỔNG QUÁT ......................................................... 44

3.1.1. Khối nhận tín hiệu hồng ngoại .............................................................. 45

3.1.2. Khối Zigbee .......................................................................................... 45

3.1.3. Khối nguồn .......................................................................................... 46

3.1.4. Khối RTC .............................................................................................. 46

3.1.5. Khối LED 7 đoạn .................................................................................. 47

3.1.6. Khối vi điều khiển ................................................................................. 48

3.1.7. Khối điều khiển công suất .................................................................... 49

3.1.8. Khối mở rộng port ................................................................................ 49

3.1.10. Modun mở rộng ................................................................................. 51

3.1.11. Quy cách sản phẩm ............................................................................ 52

3.2. GIẢI THUẬT PHẦN MỀM ........................................................................ 53

3.2.1. Giải thuật tổng quát............................................................................... 53

3.2.2. Khởi động ............................................................................................. 54

3.2.3. Quét LED 7 đoạn .................................................................................. 56

3.2.4. Thực hiện lệnh từ điều khiển từ xa ....................................................... 57

3.2.5. Tắt/mở các đèn: .................................................................................... 59

3.2.6. Nạp thời gian tắt/mở đèn ...................................................................... 60

3.2.7. Kiểm tra thời gian tắt/mở ...................................................................... 61

CHƯƠNG 4. KẾT QUẢ VÀ ĐỀ NGHỊ ................................................................... 62

4.1. KẾT QUẢ .................................................................................................... 62

4.2. ĐỀ NGHỊ ..................................................................................................... 64

PHỤ LỤC .................................................................................................................. 65

TÀI LIỆU THAM KHẢO ......................................................................................... 69

Page 12: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

13

KÝ HIỆU VÀ VIẾT TẮT CCA Clear Channel Assessment CFR Code of Federal Regulations CRC Cyclic Redundancy Check CS Carrier Sense FCC Federal Communications Commission FEC Forward Error Correction FIFO First-In-First-Out FHSS Frequency Hopping Spread Spectrum FS Frequency Synthesizer GFSK Gaussian shaped Frequency Shift Keying IF Intermediate Frequency I/Q In-Phase/Quadrature ISM Industrial, Scientific, Medical LC Inductor-Capacitor LNA Low Noise Amplifier LO Local Oscillator LSB Least Significant Bit LQI Link Quality Indicator MCU Microcontroller Unit MSB Most Significant Bit MSK Minimum Shift Keying N/A Not Applicable NRZ Non Return to Zero (Coding) OOK On-Off Keying PA Power Amplifier PLL Phase Locked Loop

POR Power-On Reset PQI Preamble Quality Indicator PQT Preamble Quality Threshold PTAT Proportional To Absolute Temperature QLP Quad Leadless Package QPSK Quadrature Phase Shift Keying RC Resistor-Capacitor RF Radio Frequency RSSI Received Signal Strength Indicator RX Receive, Receive Mode SAW Surface Aqustic Wave SMD Surface Mount Device SNR Signal to Noise Ratio SPI Serial Peripheral Interface SRD Short Range Devices TBD To Be Defined T/R Transmit/Receive TX Transmit, Transmit Mode UHF Ultra High frequency VCO Voltage Controlled Oscillator WOR Wake on Radio, Low power polling XOSC Crystal Oscillator XTAL Crystal PCB Printed Circuit Board PER Packet Error Rate

Page 13: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

14

TÓM TẮT Bộ điều khiển tắt/mở thiết bị điện trong nhà được thiết kế thành 2 phần: phần bảng điều khiển chính với các chức năng: Điều khiển tắt/mở đèn hoặc thiết bị dùng điện khác bằng bộ điều khiển từ xa, hẹn giờ tắt/mở đèn hoặc thiết bị dùng điện khác, hiển thị thời gian thực và ngày tháng, có tất cả 8 ngõ ra dùng cho 8 thiết bị độc lập, tất cả các điều khiển được thực hiện bằng bộ điều khiển từ xa hồng ngoại; Phần modun mở rộng có chức năng điều khiển 1 thiết bị, dùng cho trường hợp thiết bị cần điều khiển nằm xa hoặc nằm khác phòng (tầng) so với bảng điều khiển chính, modun phụ liên lạc với bảng điều khiển chính bằng chuẩn Zigbee IEEE 802.15.4. Từ khóa: hồng ngoại, Zigbee

ABSTRACT The controller on/off electrical equipment in the home is designed into two parts: the main panel with the function: Controls on/off lights or other electrical appliances by remote control, sleep timer lights or other electrical appliances, real-time display and date, with all 8 outputs for 8 devices independently, all control is done by using an infrared remote control; subsections modules only control on/off one device, used for cases of equipment to be located remote control or other is the room (floor) than the main panel, sub-modules communicate with the main panel by Zigbee standard IEEE 802.15.4. Keywords: infrared, Zigbee

Page 14: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

15

CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 1.1. ĐẶT VẤN ĐỀ

Theo cách truyền thống mỗi bóng đèn điện được điều khiển bằng 1 công tắt, ưu điểm của công tắt này là giá thành thấp, dễ lắp đặt. Nhược điểm là mỗi khi muốn mở đèn hay tắt đèn ta phải đi đến tận nơi để thực hiện. Và không ít lần ta quên tắt đèn, quạt khi hết giờ làm việc hay ban ngày mà đèn vẫn mở.

Với lý do đó tôi nảy ra ý định làm một thiết bị có thể điều khiển đèn từ xa, định thời cho tất cả các đèn trong nhà, đồng thời ta vẫn tắt mở bình thường. Việc điều khiển được thực hiện bằng remote hồng ngoại và Zigbee. Chuẩn Zigbee có rất nhiều ưu điểm: tiêu thụ năng lượng thấp, tầm phát sóng ngoài trời khoảng 120 m, trong nhà khoảng 50m, bảo mật cao, giá thành thấp, kháng nhiễu cao.

Modun MRF24J40MA sử dụng dải tần 2.4GHz, là sản phẩm dùng để xây dựng mạng không dây cá nhân, khi sử dụng không cần đăng ký tần số. 1.2. LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ

Trên thị trường hiện nay xuất hiện nhiều sản phẩm nhà thông minh, trong đó bao gồm cả quản lý hệ thống chiếu sáng, nhưng phần lớn có giá thành cao, giao diện phức tạp, khó sử dụng đối với người không quen công nghệ. Ví dụ như hệ thống nhà thông minh HomeON (http://dantri.com.vn/c119/s119-536596/he-thong homeon-ngoi-nha-thong-minh.htm) sử dụng giao diện internet, hệ thống điện Gama của Siemens (Đức) sử dụng kỹ thuật power line communication có giá khoảng 15.000-20.000 USD, Hệ thống điều khiển thiết bị điện từ xa và tự động quay số báo động thông qua mạng điện thoại (http://thuvientructuyen.vn/chi-tiet-tai-lieu/525/11396.ebook). 1.3. PHẠM VI CỦA ĐỀ TÀI

Tìm hiểu và ứng dụng chuẩn Zigbee IEEE 802.15.4 dùng để bắt tay giữa bảng điều khiển chính và các modun phụ (nhận lệnh từ bảng điều khiển chính).

Tìm hiểu chuẩn NEC,RC5,Sony,Matsusita chuyên dùng trong điều khiển từ xa cho các thiết bị điện tử gia đình: TV, DVD, máy lạnh, quạt điện…..

Tìm hiểu ứng dụng realtime DS1307 dùng làm IC thời gian. Điều khiển bật tắt, hẹn giờ tắt/mở thiết bị điện trong nhà, hiển thị thời gian,

ngày tháng, điều chỉnh bằng bộ điều khiển từ xa (remote control) của TV. làm ra sản phẩm với các tính năng sau: điều khiển 08 thiết bị, mỗi thiết bị có công suất nhỏ hơn 500W. 1.4. PHƯƠNG PHÁP THỰC HIỆN

Bộ sản phẩm sẽ bao gồm phần chính (bảng điều khiển chính) và các modun phụ (kết nối với modun chính bằng modun Zigbee MRF24J40MA). Người sử dụng dùng bộ điều khiển hồng ngoại để điều khiển modun chính và nếu đèn đang được điều khiển ở xa modun chính, không thể đưa dây điện trực tiếp đến thì dùng modun phụ.

Page 15: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

16

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1. TỔNG QUAN VỀ MODULE ZIGBEE MRF24J40MA Đặt điểm chung: Modun MRF24J40MA Sử dụng IC MRF24J40, chuẩn IEEE 802.15.4. Giao thức MiWi™, ZigBee™, giao tiếp với vi điều khiển theo chuẩn SPI. Sử dụng thạch anh 20Mhz hoặc 32768Hz. Hỗ trợ chế độ tiết kiệm năng lượng, tiêu thụ dòng điện thấp: RX mode 19mA, TX mode 23mA. Vào chế độ sleep 2us. Kích thước chip 6x6 mm Đặt điểm RF/Analog: Băng tần ISM 2.405GHz-2.48GHz, độ nhạy -91dBm và tín hiệu vào tối đa 5dBm, công suất phát trung bình 0dBm, tích hợp TX/RX Switch. Tích hợp Low Phase Noise VCO, Frequency Synthesizer và PLL Loop Filter, VCO và lọc số tiêu chuẩn. Tích hợp RSSI ADC và I/Q DACs, tích hợp LDO. High Receiver and RSSI Dynamic Range Data rate 250Kbps Đặt điểm MAC/Baseband: Kiến trúc CSMA-CA Mechanism, Automatic ACK, response and FCS Check , beacon độc lập, transmit và GTS FIFO cấu trúc Security Engine (AES-128) với CTR, CCM và CBC-MAC modes. Hỗ trợ cả CCA modes và RSS/LQI, automatic Packet Retransmit Capability. Hỗ trợ chế độ in-line và chế độ độc lập cho cả bộ thu và bộ phát. MRF24J40 là một chip sản xuất theo chuẩn IEEE 802.15.4-2003 tuân thủ giao thức MiWi ™, ZigBee ™ . Các modun MRF24J40MA tích hợp không dây RF, lớp vật lý và lớp MAC, có thể kết hợp với một bộ vi xử lý đơn giản để truyền dữ liệu tốc độ thấp cho các ứng dụng bao gồm nhà thông minh, thiết bị điện tử tiêu dùng, thiết bị ngoại vi máy tính, đồ chơi, tự động hóa công nghiệp và nhiều hơn nữa. MRF24J40MA được tích hợp máy thu, máy phát,VCO PLL vào một IC duy nhất. nó sử dụng kiến trúc tiên tiến để giảm thiểu linh kiện ngoài và điện năng tiêu thụ. MRF24J40MA chủ yếu bao gồm TX/RX FIFOs, một bộ điều khiển CSMA-CA, superframe. IC MRF24J40 được chế tạo bằng công nghệ tiên tiến 0,18 micromet CMOS và được đóng gói QFN 40-pin 6x6 mm2.

2.1.1. Sơ đồ chân (Nguồn: MRF24J40MA datasheet)

Hình 2.1 – Sơ đồ chân MRF24J40MA

Page 16: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

17

Chú thích: A = Analog, D = Digital, I = Input, O = Output 2.1.2. Bản đồ bộ nhớ

(Nguồn: MRF24J40 datasheet)

Chip MRF24J40MA có hai loại bộ nhớ: Short Address Memory Space và Long Address Memory Space, trong đó chứa các lệnh điều khiển ngắt, công suất phát, kênh phát, CSA-MA, security…….và vùng dữ liệu thu phát.

pin Symbol type Description 1 GND Nối đất 0v 2 RESET DI Reset lại module, tác động mức thấp 3 WAKE DI Đánh thức mudule, tác động mức cao 4 INT DO Ngắt cứng 5 SDI DI Chân vào dữ liệu 6 SCK DI clock 7 SDO DO Chân ra dữ liệu 8 CS DI Chọn chip 9 NC - Bỏ trống 10 Vin Nguồn Nguồn(2.8v-3.6v) 11 GND Nối đất Nối đất 12 GND Nối đất Nối đất

Bảng 2.1 – Chức năng các chân của MRF24J40MA

Hình 2.2 – Bản đồ bộ nhớ MRF24J40

Page 17: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

18

2.1.3. Các thanh ghi điều khiển Các thanh ghi trong Short Address Memory chủ yếu quản lý tầng MAC, điều

khiển gói tin thu phát. Long Address Memory chứa các thanh ghi điều khiển RF, cảm biến sóng mang, đo cường độ tín hiệu. Tham khảo thêm datasheet MRF24J40 để biết chức năng cụ thể của các thanh ghi.

Hình 2.3 - Short Address Memory (Nguồn: MRF24J40 datasheet)

Hình 2.4 - Long Address Memory (Nguồn: MRF24J40 datasheet)

Page 18: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

19

2.1.4. Chuẩn giao tiếp SPI

SPI (Serial Peripheral Bus) là một chuẩn truyền thông nối tiếp tốc độ cao do hảng Motorola đề xuất. Đây là kiểu truyền thông Master-Slave, trong đó có 1 chip Master điều phối quá trình tuyền thông và các chip Slaves được điều khiển bởi Master vì thế truyền thông chỉ xảy ra giữa Master và Slave. SPI là một cách truyền song công (full duplex) nghĩa là tại cùng một thời điểm quá trình truyền và nhận có thể xảy ra đồng thời. SPI đôi khi được gọi là chuẩn truyền thông “4 dây” vì có 4 đường giao tiếp trong chuẩn này đó là SCK (Serial Clock), MISO (Master Input Slave Output), MOSI (Master Ouput Slave Input) và SS (Slave Select). SCK: Xung giữ nhịp cho giao tiếp SPI, vì SPI là chuẩn truyền đồng bộ nên cần 1 đường giữ nhịp, mỗi nhịp trên chân SCK báo 1 bit dữ liệu đến hoặc đi. Đây là điểm khác biệt với truyền thông không đồng bộ mà chúng ta đã biết trong chuẩn UART. Sự tồn tại của chân SCK giúp quá trình tuyền ít bị lỗi và vì thế tốc độ truyền của SPI có thể đạt rất cao. Xung nhịp chỉ được tạo ra bởi chip Master. MISO– Master Input / Slave Output: nếu là chip Master thì đây là đường Input còn nếu là chip Slave thì MISO lại là Output. MISO của Master và các Slaves được nối trực tiếp với nhau. MOSI – Master Output / Slave Input: nếu là chip Master thì đây là đường Output còn nếu là chip Slave thì MOSI là Input. MOSI của Master và các Slaves được nối trực tiếp với nhau. SS – Slave Select: SS là đường chọn Slave cần giap tiếp, trên các chip Slave đường SS sẽ ở mức cao khi không làm việc. Nếu chip Master kéo đường SS của một Slave nào đó xuống mức thấp thì việc giao tiếp sẽ xảy ra giữa Master và Slave đó. Chỉ có 1 đường SS trên mỗi Slave nhưng có thể có nhiều đường điều khiển SS trên Master, tùy thuộc vào thiết kế của người dùng. Hoạt động: mỗi chip Master hay Slave có một thanh ghi dữ liệu 8 bits. Cứ mỗi xung nhịp do Master tạo ra trên đường giữ nhịp SCK, một bit trong thanh ghi dữ liệu của Master được truyền qua Slave trên đường MOSI, đồng thời một bit trong thanh ghi dữ liệu của chip Slave cũng được truyền qua Master trên đường MISO. Do 2 gói dữ liệu trên 2 chip được gởi qua lại đồng thời nên quá trình truyền dữ liệu này được gọi là “song công”. Cực của xung giữ nhịp, phase và các chế độ hoạt động: cực của xung giữ nhịp (Clock Polarity) được gọi tắt là CPOL là khái niệm dùng chỉ trạng thái của chân SCK ở trạng thái nghỉ. Ở trạng thái nghỉ (Idle), chân SCK có thể được giữ ở mức cao (CPOL=1) hoặc thấp (CPOL=0). Phase (CPHA) dùng để chỉ cách mà dữ liệu được lấy mẫu (sample) theo xung giữ nhịp. Dữ liệu có thể được lấy mẫu ở cạnh lên của SCK (CPHA=0) hoặc cạnh xuống (CPHA=1). Sự kết hợp của SPOL và CPHA làm nên 4 chế độ hoạt động của SPI. Nhìn chung việc chọn 1 trong 4 chế độ này không ảnh hưởng đến chất lượng truyền thông mà chỉ cốt sao cho có sự tương thích giữa Master và Slave.

Page 19: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

20

2.1.4.1. SPI mode 0

(Nguồn: MRF24J40 datasheet) Lấy mẫu data in tại cạnh lên của SCK, data out tại cạnh lên của SCK.CS phải bằng 0 khi dịch chuyển dữ liệu và khi truyền dữ liệu xong SCK bằng 0.

2.1.4.2. SPI mode 1

(Nguồn: MRF24J40 datasheet) Lấy mẫu dữ liệu tại cạnh xuống của SCK trong khi CS=0, khi hoàn thành CSK phải bằng 0.

Hình 2.5 – SPI mode 0 timing

Hình 2.6 – SPI mode1 timing

Page 20: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

21

2.1.4.3. SPI mode 2

(Nguồn: MRF24J40 datasheet) Lấy mẫu dữ liệu tại cạnh xuống của SCK trong khi CS=0, khi hoàn thành CSK phải bằng 1. 2.1.4.4. SPI mode 3

(Nguồn: MRF24J40 datasheet) Lấy mẫu dữ liệu tại cạnh lên của SCK trong khi CS=0, khi hoàn thành CSK phải bằng 1.

2.1.5. Cách thức ghi/đọc dữ liệu vào bộ nhớ MRF24J40

2.1.5.1. Ghi vào short address

Hình 2.7 – SPI mode 2 timing

Hình 2.8 – SPI mode 3 timing

Hình 2.9 – Cấu trúc của chuỗi dữ liệu ghi vào MRF24J40 (Nguồn: MRF24J40 datasheet)

Page 21: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

22

Việc ghi, đọc dữ liệu vào chip MRF24J40 theo chuẩn SPI mode 0. Cấu trúc của gói dữ liệu ghi vào bao gồm năm bit địa chỉ được đưa vào trước và được đặt giữa hai bit 0……1, theo sau là 8 bit dữ liệu cần ghi vào bộ nhớ, CS=0 khi đọc/ghi.

2.1.5.2. Đọc từ short address

(Nguồn: MRF24J40 datasheet) Cấu trúc của gói dữ liệu đoc ra: năm bit địa chỉ được đưa vào trước và được đặt giữa hai bit 0……0, 8 bit dữ liệu được đưa ra SDO ngay sau đó, CS=0 khi thực hiện.

2.1.5.3. Ghi vào long address

(Nguồn: MRF24J40 datasheet) Long address có 10 bit, được đặt giữa 2 bit 1….1, bỏ trống 4 bit, rồi đến 8 bit dữ liệu, CS=0 khi thực hiện.

2.1.5.4. Đọc dữ liệu từ long address

(Nguồn: MRF24J40 datasheet) Long address có 10 bit, được đặt giữa 2 bit 1….0 bỏ trống 4 bit, rồi đến 8 bit dữ liệu ra ở SDO, CS=0 khi thực hiện.

Hình 2.10 – Cấu trúc của chuỗi dữ liệu đọc ra từ MRF24J40

Hình 2.11 – ghi chuỗi dữ liệu vào long address

Hình 2.12 – đọc chuỗi dữ liệu đọc ra từ long address

Page 22: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

23

2.1.6. Khởi động module MRF24J40MA

%INITIALIZING THE MRF24J40 void MRF24J40Init(void) { BYTE i; WORD j; /* place the device in hardware reset */ RESETn = 0; for(j=0;j<(WORD)300;j++){} /* remove the device from hardware reset */ RESETn = 1; for(j=0;j<(WORD)300;j++){} /* reset the RF module */ SetShortRAMAddr(RFCTL,0x04); /* remove the RF module from reset */ SetShortRAMAddr(RFCTL,0x00); /* flush the RX fifo */ SetShortRAMAddr(WRITE_RXFLUSH,0x01); /* Program the short MAC Address, 0xffff */ SetShortRAMAddr(SADRL,0xFF); SetShortRAMAddr(SADRH,0xFF); SetShortRAMAddr(PANIDL,0xFF); SetShortRAMAddr(PANIDH,0xFF); /* Program Long MAC Address*/ for(i=0;i<(BYTE)8;i++) { SetShortRAMAddr(EADR0+i*2,myLongAddress[i]); } /* enable the RF-PLL */ SetLongRAMAddr(RFCTRL2,0x80); /* set TX for max output power */ SetLongRAMAddr(RFCTRL3,0x00);

Page 23: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

24

/* enabled TX filter control */ SetLongRAMAddr(RFCTRL6,0x80); SetLongRAMAddr(RFCTRL8,0b00010000); /* Program CCA mode using RSSI */ SetShortRAMAddr(BBREG2,0x78); /* Enable the packet RSSI */ SetShortRAMAddr(BBREG6,0x40); /* Program CCA, RSSI threshold values */ SetShortRAMAddr(RSSITHCCA,0x00); SetLongRAMAddr(RFCTRL0,0x00); //channel 11 SetShortRAMAddr(RFCTL,0x04); //reset the RF module with new settings SetShortRAMAddr(RFCTL,0x00); }

Page 24: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

25

2.1.7. Thủ tục nhận gói tin

(Nguồn: MRF24J40 datasheet) 1. Nhận được ngắt nhận được gói tin từ chip MRF24J40. 2. Vô hiệu hóa tất cả các ngắt của vi điều khiển. 3. Set RXDECINV = 1; Tạm thời không nhận gói tin( nếu nhận thì gói tin trước chưa được đọc đã bị thay thế bằng gói tin mới). 4. Đọc ô nhớ 300h để lấy thông tin về chiều dài của gói tin. 5. Lưu toàn bộ gói tin vào vi điều khiển. 6. Clear RXDECINV = 0; Cho phép nhận gói tin mới. 7. Cho phép vi điều khiển ngắt.

2.1.8. Thủ tục phát gói tin

(Nguồn: MRF24J40 datasheet) 1. Ghi header length, frame length, header, vùng dữ liệu như hình 2.14 2. ghi vào thanh ghi txnmtrig 01h để phát gói tin.

Hình 2.13 – Cấu trúc của gói tin nhận được

Hình 2.14 – Cấu trúc của gói tin phát đi

Page 25: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

26

2.1.9. Chế độ wake và sleep Chuẩn bị chân WAKE: 1. WAKE pin = low 2. RXCON (0x0D) = 0x60 – Cho phép chân WAKE tác động ở mức cao. 3. WAKECON (0x22) = 0x80 – cho phép Immediate Wake-up mode Put to Sleep: 4. SOFTRST (0x2A) = 0x04 reset lại phần mềm 5. SLPACK (0x35) = 0x80 – Put MRF24J40 to Sleep immediately To Wake: 6. WAKE pin = high – Wake-up MRF24J40 7. Delay 2 ms to allow 20 MHz main oscillator time to stabilize before transmitting or receiving. 2.2. TỔNG QUAN VỀ REAL TIME DS1307 VÀ CHUẨN I2C

2.2.1. Tổng quan về real time DS1307

2.2.1.1. Sơ đồ chân

pin symbol Description 1 X1 Kết nối với thạch anh 2 X2 3 Vbat Pin cung cấp dự phòng khi mất điện(3V) 4 GND mass 5 SDA Đường dữ liệu 6 SCL Xung đồng hồ 7 SQW/OUT Chân ra phụ 8 Vcc Nguồn cung cấp chính(5V)

Bảng 2.2 – Chức năng các chân của DS1307

Hình 2.15 – sơ đồ chân DS1307 (Nguồn: DS1307 datasheet)

Page 26: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

27

Các chân của DS1307 được mô tả như sau: X1 và X2: là 2 ngõ kết nối với 1 thạch anh 32.768KHz làm nguồn tạo dao động cho chip. VBAT: cực dương của một nguồn pin 3V nuôi chip. GND: chân mass chung cho cả pin 3V và Vcc. Vcc: nguồn cho giao diện I2C, thường là 5V và dùng chung với vi điều khiển. Chú ý là nếu Vcc không được cấp nguồn nhưng VBAT được cấp thì DS1307 vẫn đang hoạt động (nhưng không ghi và đọc được). SQW/OUT: một ngõ phụ tạo xung vuông (Square Wave / Output Driver), tần số của xung được tạo có thể được lập trình. Như vậy chân này hầu như không liên quan đến chức năng của DS1307 là đồng hồ thời gian thực, chúng ta sẽ bỏ trống chân này khi nối mạch. SCL và SDA là 2 đường giao xung nhịp và dữ liệu của giao diện I2C. Có thể kết nối DS1307 bằng một mạch điện đơn giản như sau:

Hình 2.16 – Sơ đồ khối DS1307 (Nguồn: DS1307 datasheet)

Hình 2.17 – Sơ đồ kết nối DS1307 với vi điều khiển (Nguồn: DS1307 datasheet)

Page 27: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

28

2.2.1.2. Tổ chức bộ nhớ và chức năng của các thanh ghi. DS1307 là chip đồng hồ thời gian thực (RTC : Real-time clock), khái niệm thời gian thực ở đây được dùng với ý nghĩa thời gian tuyệt đối mà con người đang sử dụng, tình bằng giây, phút, giờ… DS1307 là một sản phẩm của Dallas Semiconductor (một công ty thuộc Maxim Integrated Products). Chip này có 7 thanh ghi 8-bit chứa thời gian là: giây, phút, giờ, thứ (trong tuần), ngày, tháng, năm. Ngoài ra DS1307 còn có 1 thanh ghi điều khiển ngõ ra phụ và 56 thanh ghi trống có thể dùng như RAM. DS1307 xuất hiện ở 2 gói SOIC và DIP có 8 chân Cấu tạo bên trong DS1307 bao gồm một số thành phần như mạch nguồn, mạch dao động, mạch điều khiển logic, mạch giao diện I2C, con trỏ địa chỉ và các thanh ghi (hay RAM). Sử dụng DS1307 chủ yếu là ghi và đọc các thanh ghi của chip này. Vì thế có 2 vấn đề cơ bản đó là cấu trúc các thanh ghi và cách truy xuất các thanh ghi này thông qua giao diện I2C. Như đã trình bày, bộ nhớ DS1307 có tất cả 64 thanh ghi 8-bit được đánh địa chỉ từ 0 đến 63 (từ 00H đến 3FH theo hệ HexaDecimal). Tuy nhiên, thực chất chỉ có 8 thanh ghi đầu là dùng cho chức năng “đồng hồ” (RTC) còn lại 56 thanh ghi bỏ trống có thể được dùng chứa biến tạm như RAM nếu muốn. Bảy thanh ghi đầu tiên chứa thông tin về thời gian của đồng hồ bao gồm: giây (SECONDS), phút (MINUETS), giờ (HOURS), thứ (DAY), ngày (DATE), tháng (MONTH) và năm (YEAR). Việc ghi giá trị vào 7 thanh ghi này tương đương với việc “cài đặt” thời gian khởi động cho RTC. Việc đọc giá trị từ 7 thanh ghi là đọc thời gian thực mà chip tạo ra. Ví dụ, lúc khởi động chương trình, chúng ta ghi vào thanh ghi “giây” giá trị 42, sau đó 12s chúng ta đọc thanh ghi này, chúng ta thu được giá trị 54. Thanh ghi thứ 8 (CONTROL) là thanh ghi điều khiển xung ngõ ra SQW/OUT (chân 6). Tuy nhiên, do chúng ta không dùng chân SQW/OUT nên có thề bỏ qua thanh ghi thứ 8. Tổ chức bộ nhớ của DS1307 được trình bày trong hình 2.18,2.19. Vì 7 thanh ghi đầu tiên là quan trọng nhất trong hoạt động của DS1307, chúng ta sẽ khảo sát các thanh ghi này một cách chi tiết. DS1307 có 64 byte bộ nhớ, trong đó 8 byte đầu chứa dữ liệu và điều khiển, 56 byte sau được sử dụng như RAM không bay hơi dùng để lưu trữ dữ liệu.

Hình 2.18 – Các thanh ghi của DS1307

(Nguồn: DS1307 datasheet)

Page 28: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

29

Tổ chức các thanh ghi thời gian Thanh ghi giây (SECONDS): thanh ghi này là thanh ghi đầu tiên trong bộ nhớ của DS1307, địa chỉ của nó là 0×00. Bốn bit thấp của thanh ghi này chứa mã BCD 4-bit của chữ số hàng đơn vị của giá trị giây. Do giá trị cao nhất của chữ số hàng chục là 5 (không có giây 60) nên chỉ cần 3 bit (các bit SECONDS 6:4) là có thể mã hóa được (số 5 =101, 3 bit). Bit cao nhất, bit 7, trong thanh ghi này là 1 điều khiển có tên CH (Clock halt – treo đồng hồ), nếu bit này được set bằng 1 bộ dao động trong chip bị vô hiệu hóa, đồng hồ không hoạt động. Vì vậy, nhất thiết phải reset bit này xuống 0 ngay từ đầu. Thanh ghi phút (MINUTES): có địa chỉ 01H, chứa giá trị phút của đồng hồ. Tương tự thanh ghi SECONDS, chỉ có 7 bit của thanh ghi này được dùng lưu mã BCD của phút, bit 7 luôn luôn bằng 0. Thanh ghi giờ (HOURS): có thể nói đây là thanh ghi phức tạp nhất trong DS1307. Thanh ghi này có địa chỉ 02H. Trước hết 4-bits thấp của thanh ghi này được dùng cho chữ số hàng đơn vị của giờ. Do DS1307 hỗ trợ 2 loại hệ thống hiển thị giờ (gọi là mode) là 12h (1h đến 12h) và 24h (1h đến 24h) giờ, bit6 xác lập hệ thống giờ. Nếu bit6=0 thì hệ thống 24h được chọn, khi đó 2 bit cao 5 và 4 dùng mã hóa chữ số hàng chục của giá trị giờ. Do giá trị lớn nhất của chữ số hàng chục trong trường hợp này là 2 (=10, nhị phân) nên 2 bit 5 và 4 là đủ để mã hóa. Nếu bit6=1 thì hệ thống 12h được chọn, với trường hợp này chỉ có bit 4 dùng mã hóa chữ số hàng chục của giờ, bit 5 chỉ buổi trong ngày, AM hoặc PM. Bit5 =0 là AM và bit5=1 là PM. Bit 7 luôn bằng 0. Thanh ghi thứ (DAY – ngày trong tuần): nằm ở địa chỉ 03H. Thanh ghi DAY chỉ mang giá trị từ 1 đến 7 tương ứng từ Chủ nhật đến thứ 7 trong 1 tuần. Vì thế, chỉ có 3 bit thấp trong thanh ghi này có nghĩa. Các thanh ghi còn lại có cấu trúc tương tự, DATE chứa ngày trong tháng (1 đến 31), MONTH chứa tháng (1 đến 12) vàYEAR chứa năm (00 đến 99). Chú ý, DS1307 chỉ dùng cho 100 năm, nên giá trị năm chỉ có 2 chữ số, phần đầu của năm do người dùng tự thêm vào (ví dụ 20xx). Ngoài các thanh ghi trong bộ nhớ, DS1307 còn có một thanh ghi khác nằm riêng gọi là con trỏ địa chỉ hay thanh ghi địa chỉ (Address Register). Giá trị của thanh ghi này là địa chỉ của thanh ghi trong bộ nhớ mà người dùng muốn truy cập. Dữ liệu được lưu trong bộ nhớ DS1307 theo dạng số BCD, tức là số hàng chục được lưu trên 4 bit cao, số hàng đơn vị được lưu trên 4 bit thấp của thanh ghi. Thanh ghi second: Địa chỉ 00h, đây là thanh ghi lưu trữ giây và lien tục đếm lên, các bit 6,5,4 được dùng để lưu hang chục của giây, các bit 3,2,1,0 chứa hang đơn vị của giây, bit7 là bit CH(clock hold) khi bit này bằng 1 real time ngừng chạy, khi hoạt động người ta phải xòa bit này về 0. Thanh ghi minutes: địa chỉ 01h, là thanh ghi dành cho phút, 4 bit cao chứa hang chục của phút, 4 bit thấp chứa hang đơn vị của phút. Thanh ghi hous: địa chỉ 02h, đây là thanh ghi khó sử dụng nhất trong DS1307, bit6 quy định chế độ 12h/24h, khi bit này bằng 0 là chế độ 24h, bằng 1 là chế độ 12h, khi ở chế độ 12h thì bit 5 sẽ chứa thông tin PM/AM

Page 29: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

30

Thanh ghi DAY,DATE,MONTH,YEAR chứa thông tin về thứ, ngày, tháng, năm. Thanh ghi điều khiển: địa chỉ 07h, chứa các điều khiển cho real time SQWE: bằng 1 cho phép xuất xung vuông ở chân SQWE, bằng 0 không cho phép và mức logic của chân này là bit OUT. RS1 và RS0: hai bit này quy định tần số xung vuông xuất ra ở chân SQWE

2.2.2. Chuẩn giao tiếp I2C I2C là viết tắc của từ Inter-Integrated Circuit là một chuẩn truyền thông do hãng điện tử Philips Semiconductor sáng lập và xây dựng thành chuẩn năm 1990. Phiên bản mới nhất của I2C là V3.0 phát hành năm 2007.

I2C là một chuẩn truyền thông nối tiếp đa chip chủ (tạm dịch của cụm từ multi-master serial computer bus). Khái niệm “multi-master” được hiểu là trong

Bảng 2.3 – Chọn tần số SQW

Hình 2.19 – Chi tiết các thanh ghi thường sử dụng (Nguồn: DS1307 datasheet)

Hình 2.20 – Thanh ghi điều khiển (Nguồn: DS1307 datasheet)

Page 30: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

31

cùng một bus có thể có nhiều hơn một thiết bị làm Master, đồng thời một Slave có thể trở thành một Master nếu nó có khả năng. Ví dụ trong một mạng TWI của nhiều vi điều khiển kết nối với nhau, bất kỳ một vi điều khiển nào cũng đều có thể trở thành Master ở một thời điểm nào đó. Tuy nhiên nếu một mạng dùng một vi điều khiển để điều khiển các chip nhớ (như EEPROM AT24C1024 chẳng hạn) thì khái niệm “multi-master” không tồn tại vì các chip nhớ được thiết kế sẵn là Slave, không có khả năng trở thành master. I2C được thực hiện trên 2 đường SDA (Serial DATA) và SCL (Serial Clock) trong đó SDA là đường truyền/nhận dữ liệu và SCL là đường xung nhịp. Căn cứ theo chuẩn I2C, các đường SDA và SCL trên các thiết bị có cấu hình “cực góp mở” (open-drain hoặc open-collector), nghĩa là cần có các “điện trở kéo lên” (pull-up resistor) cho các đường này. Ở trạng thái nghỉ (Idle), 2 chân SDA và SCL ở mức cao. Hình 2.21 mô tả một mô hình mạng I2C cơ bản.

Tiếp theo chúng ta tìm hiểu một số khái niệm và đặc điểm của I2C. Các khái niệm và đặc điểm được đề cập dưới đây được dùng cho cả TWI và I2C. Master: là chip khởi động quá trình truyền nhận, phát đi địa chỉ của thiết bị cần giao tiếp và tạo xung giữ nhịp trên đường SCL. Slave: là chip có một địa chỉ cố định, được gọi bởi Master và phục vụ yêu cầu từ Master.

SDA- Serial Data: là đường dữ liệu nối tiếp, tất cả các thông tin về địa chỉ hay dữ liệu đều được truyền trên đường này theo thứ tự từng bit một. Chú ý là trong chuẩn I2C, bit có trọng số lớn nhất (MSB) được truyền trước nhất, đặc điểm này ngược lại với chuẩn UART.

SCL –Serial Clock: là đường giữ nhịp nối tiếp. I2C là chuần truyền thông nối tiếp đồng bộ, cần có 1 đường tạo xung giữ nhịp cho quá trình truyền/nhận, cứ mỗi xung trên đường giữ nhịp SCL, một bit dữ liệu trên đường SDA sẽ được lấy mẫu (sample). Dữ liệu nối tiếp trên đường SDA được lấy mẫu khi đường SCL ở mức cao trong một chu kỳ giữ nhịp, vì thế đường SDA không được đổi trạng thái khi SCL ở mức cao (trừ START và STOP condition). Chân SDA có thể được đổi trạng thái khi SCL ở mức thấp.

Hình 2.21 – Mạng I2C

Page 31: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

32

START Condition-Điều kiện bắt đầu: từ trạng thái nghỉ, khi cả SDA và SCL ở mức cao nếu Master muốn thực hiện một “cuộc gọi”, Master sẽ kéo chân SDA xuống thấp trong khi SCL vẫn cao. Trạng thái này gọi là START Condition (gọi tắt là S).

STOP Condition-Điều kiện kết thúc: sau khi thực hiện truyền/nhận dữ liệu, nếu Master muốn kết thúc quá trình nó sẽ tạo ra một STOP condition. STOP condition được Master thực hiện bằng cách kéo chân SDA lên cao khi đường SCL đang ở mức cao. STOP condition chỉ được tạo ra sau khi địa chỉ hoặc dữ liệu đã được truyền/nhận.

REPEAT START – Bắt đầu lặp lại: khoảng giữa START và STOP condition là khoảng bận của đường truyền, các Master khác không tác động được vào đường truyền trong khoảng này. Trường hợp sau khi kết thúc truyền/nhận mà Master không gởi STOP condition lại gởi thêm 1 START condition gọi là REPEAT START. Khả năng này thường được dùng khi Master muốn lấy dữ liệu liên tiếp từ các Slaves. Hình 2.22 mô tả các Master tạo ra START, STOP và REPEAT START.

Address Packet Format – Định dạng gói địa chỉ: trên mạng TWI (I2C), tất cả các thiết bị (chip) đều có thể là Master hay Slave. Mỗi thiết bị có một địa chỉ cố định gọi là Device address. Khi một Master muốn giao tiếp với một Slave nào đó, nó trước hết tạo ra một START condition và tiếp theo là gởi địa chỉ Device address của Slave cần giao tiếp trên đường truyền, vì thế xuất hiện khái niệm “gói địa chỉ” (Address Packet). Gói địa chỉ trong I2C có định dạng 9 bits trong đó 7 bit đầu (gọi là SLA, được gởi liền sau START condition) chứa địa chỉ Slave, một bit READ/WRITE và một bit ACK-Ackknowledge (xác nhận). Do bit địa chỉ có độ dài 7 bits nên về mặt lý thuyết, trên 1 mạng TWI (I2C) có thể tồn tại tối đa 2^7=128 thiết bị có địa chỉ riêng biệt. Tuy nhiên, có một số địa chỉ không được sử dụng như các địa chỉ có định dạng 1111xxx (tức các địa chỉ lớn hơn hoặc bằng 120 không được dùng). Riêng địa chỉ 0 được dùng cho “cuộc gọi chung” (General call). Bit READ/WRITE (R/W) được truyền tiếp sau 7 bit địa chỉ là bit báo cho Slave biết Master muốn “đọc” hay “ghi” vào Slave. Nếu bit này bằng 0 (gọi là W) thì quá trình “Ghi” dữ liệu từ Master đến Slave được yêu cầu, nếu bit này bằng 1 (gọi là R) thì Master muốn “đọc” dữ liệu từ Slave về. Tám bits trên (SLA+R/W) được Master phát ra sau khi phát START condition, nếu một Slave trên mạng nhận ra rằng địa chỉ mà Master yêu cầu trùng khớp với Device address của chính mình, nó sẽ “đáp trả” lại Master bằng cách phát ra 1 tín hiệu “xác nhận” ACK bằng cách kéo chân SDA xuống thấp trong xung thứ 9. Ngược lại, nếu không có Slave đáp ứng lại, chân SDA vẫn ở mức cao trong xung giữ nhịp thứ 9 thì gọi là tín hiệu “không xác nhận” – NOT ACK, lúc này Master cần có những ứng xử phù hợp tùy theo mỗi trường hợp cụ thể, ví dụ Master có thể gởi STOP condition và sau đó phát lại địa chỉ Slave khác…Như vậy, trong 9 bit của gói địa chỉ thì chỉ có 8 bit được gởi bởi Master, bit còn lại là do Slave. Ví dụ Master muốn yêu cầu “đọc” dữ liệu từ Slave có địa chỉ 43, nó cần phát đi một byte như sau trên đường truyền: (43<<1)+1, trong đó (43<<1) là dịch số 43 về bên trái 1 vị trí vì 7 bit địa chỉ nằm ở các vị trí cao trong gói địa chỉ, sau đó cộng giá trị này với “1” tức là quá trình “đọc” được yêu cầu.

Page 32: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

33

General call – Cuộc gọi chung: khi Master phát đi gói địa chỉ có dạng 0 (thực chất là 0+W) tức nó muốn thực hiện một cuộc gọi chung đến tất cả các Slave. Tất nhiên, cho phép hay không cho phép cuộc gọi chung là do Slave quyết định. Nếu các Slave được cài đặt cho phép cuộc gọi chung, chúng sẽ đáp lại Master bằng ACK. Cuộc gọi chung thường xảy ra khi Master muốn gởi dữ liệu chung đến các Slaves. Chú ý là cuộc gọi chung có dạng 0+R là vô nghĩa vì không thể có chuyện Master nhận dữ liệu từ tất cả các Slave cùng thời điểm. Data Packet Format – Định dạng gói dữ liệu: sau khi địa chỉ đã được phát đi, Slave đã đáp lại Master bằng ACK thì quá trình truyền/nhận dữ liệu sẽ diễn ra giữa cặp Master/Slave này. Tùy vào bit R/W trong gói địa chỉ, dữ liệu có thể được truyền theo hướng từ Master đến Slave hay từ Slave đến Master. Dù di chuyển theo hướng nào, gói dữ liệu luôn bao gồm 9 bits trong đó 8 bits đầu là dữ liệu và 1 bit cuối là bit ACK. Tám bits dữ liệu do thiết bị phát gởi và bit ACK do thiết bị nhận tạo ra. Ví dụ khi Master thực hiện quá trình gởi dữ liệu đến Slave, nó sẽ phát ra 8 bits dữ liệu, Slave nhận và phát lại ACK (kéo SDA xuống 0 ở xung thứ 9), sau đó Master sẽ quyết định gởi tiếp byte dữ liệu khác hay không. Nếu Slave phát tín hiệu NOT ACK (không tác động SDA ở xung thứ 9) sau khi nhận dữ liệu thì Master sẽ kết thúc quá trình gởi bằng cách phát đi STOP condition. Hình 2.23 mô tả định dạng gói dữ liệu trong I2C. Phối hợp gói địa chỉ và dữ liệu: một quá trình truyền/nhận I2C thường được bắt đầu từ Master, Master phát đi một START condition sau đó gởi gói địa chỉ SLA+R/W trên đường truyền. Tiếp theo nếu có một Slave đáp ứng lại, dữ liệu có thể truyền/nhận liên tiếp trên đường truyền (1 hoặc nhiều byte liên tiếp). Khung truyền thông thường được mô tả như hình 2.23.

Hình 2.22 – Điều kiện star và stop (Nguồn: DS1307 datasheet)

Page 33: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

34

Multi-Master Bus –Đường truyền đa chip chủ: như đã trình bày ở trên, I2C là chuẩn truyền thông đa chip chủ, nghĩa là tại một thời điểm có thể có nhiều hơn 1 chip làm Master nếu các chip này phát ra START condition cùng lúc. Nếu các Master có cùng yêu cầu và thao tác đối với Slave thì chúng có thể “cùng tồn tại” và quá trình truyền/nhận có thể thành công. Tuy nhiên, trong đa số trường hợp sẽ có một số Master bị “thất lạc” (lost). Một Master bị lost khi nó truyền/nhận 1 mức cao trên SDA trong khi các Master khác truyền/nhận 1 mức thấp. Truyền thông đa chip chủ tương đối phức tạp và vì thế em sẽ không đề cập trường hợp này trong lúc thực hiện giao tiếp trong luận văn này. 2.3. TỔNG QUAN VỀ VI ĐIỀU KHIỂN 8051 2.3.1. Giới thiệu

Họ vi điều khiển MCS-51 do Intel sản xuất đầu tiên vào năm 1980 là các IC thiết kế cho các ứng dụng hướng điều khiển. Các IC này chính là một hệ thống vi xử lý hoàn chỉnh bao gồm các các thành phần của hệ vi xử lý: CPU, bộ nhớ,các mạch giao tiếp, điều khiển ngắt. MCS-51 là họ vi điều khiển sử dụng cơ chế CISC (Complex Instruction Set Computer), có độ dài và thời gian thực thi của các lệnh khác nhau. Tập lệnh cung cấp cho MCS-51 có các lệnh dùng cho điều khiển xuất / nhập tác động đến từng bit. MCS-51 bao gồm nhiều vi điều khiển khác nhau, bộ vi điều khiển đầu tiên là 8051 có 4KB ROM, 128 byte RAM và 8031, không có ROM nội, phải sử dụng bộ nhớ ngoài. Sau này, các nhà sản xuất khác như Siemens, Fujitsu, … cũng được cấp phép làm nhà cung cấp thứ hai. MCS-51 bao gồm nhiều phiên bản khác nhau, mỗi phiên bản sau tăng thêm một số thanh ghi điều khiển hoạt động của MCS-51. 2.3.2. Vi điều khiển AT89S52

AT89S52 là vi điều khiển do Atmel sản xuất, chế tạo theo công nghệ CMOS có các đặc tính như sau: - 8 KB PEROM (Flash Programmable and Erasable Read Only Memory), có khả năng tới 1000 chu kỳ ghi xoá - Tần số hoạt động từ: 0Hz đến 33 MHz - 3 mức khóa bộ nhớ lập trình - 256 Byte RAM nội.

Hình 2.23 – Định dạng của gói tin I2C (Nguồn: DS1307 datasheet)

Page 34: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

35

- 4 Port xuất /nhập I/O 8 bit. - 3 bộ Timer/counter 16 Bit. - 6 nguồn ngắt. - Giao tiếp nối tiếp điều khiển bằng phần cứng. - 64 KB vùng nhớ mã ngoài - 64 KB vùng nhớ dữ liệu ngoài. - Cho phép xử lý bit. - 210 vị trí nhớ có thể định vị bit. - 4 chu kỳ máy (4 µs đối với thạch anh 12MHz) cho hoạt động nhân hoặc chia. - Có các chế độ nghỉ (Low-power Idle) và chế độ nguồn giảm (Power-down). 2.3.3. Sơ đồ

Port 0 là port có 2 chức năng ở các chân 32 – 39 của AT89C51: Chức năng IO (xuất / nhập): dùng cho các thiết kế nhỏ. Tuy nhiên, khi dùng chức năng này thì Port 0 phải dùng thêm các điện trở kéo lên (pull-up), giá trị của điện trở phụ thuộc vào thành phần kết nối với Port. Khi dùng làm ngõ ra, Port 0 có thể kéo được 8 ngõ TTL. Khi dùng làm ngõ vào, Port 0 phải được set mức logic 1 trước đó. Chức năng địa chỉ / dữ liệu đa hợp: khi dùng các thiết kế lớn, đòi hỏi phải sử dụng bộ nhớ ngoài thì Port 0 vừa là bus dữ liệu (8 bit) vừa là bus địa chỉ (8 bit thấp).

Hình 2.24 – Sơ đồ chân AT89S52 (Nguồn:AT89S52 datasheet)

Page 35: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

36

Ngoài ra khi lập trình cho AT89C51, Port 0 còn dùng để nhận mã khi lập trình và xuất mà khi kiểm tra (quá trình kiểm tra đòi hỏi phải có điện trở kéo lên).

Port1 (chân 1 – 8) chỉ có một chức năng là IO, không dùng cho mục đích khác (chỉ trong 8032/8052/8952 thì dùng thêm P1.0 và P1.1 cho bộ định thời thứ 3). Port 1 đã có điện trở kéo lên nên không cần thêm điện trở ngoài. Port 1 có khả năng kéo được 4 ngõ TTL và còn dùng làm 8 bit địa chỉ thấp trong quá trình lập trình hay kiểm tra. Khi dùng làm ngõ vào, Port 1 phải được set mức logic 1 trước đó.

Port 2 (chân 21 – 28) là port có 2 chức năng: Chức năng IO (xuất / nhập): có khả năng kéo được 4 ngõ TTL. Chức năng địa chỉ: dùng làm 8 bit địa chỉ cao khi cần bộ nhớ ngoài có địa chỉ 16 bit. Khi đó, Port 2 không được dùng cho mục đích IO. Khi dùng làm ngõ vào, Port 2 phải được set mức logic 1 trước đó. Khi lập trình, Port 2 dùng làm 8 bit địa chỉ cao hay một số tín hiệu điều khiển.

Port 3 (chân 10 – 17) là port có 2 chức năng: Chức năng IO: có khả năng kéo được 4 ngõ TTL. Khi dùng làm ngõ vào, Port 3 phải được set mức logic 1 trước đó. Chức năng giao tiếp: Dùng để giao tiếp UART với máy tính.

Nguồn: Chân 40: VCC = 5V ± 20% Chân 20: GND

PSEN (Program Store Enable): PSEN (chân 29) cho phép đọc bộ nhớ chương trình mở rộng đối với các ứng dụng sử dụng ROM ngoài, thường được nối đến chân OC (Output Control) của ROM để đọc các byte mã lệnh. PSEN sẽ ở mức logic 0 trong thời gian AT89S52 lấy lệnh.Trong quá trình này, PSEN sẽ tích cực 2 lần trong 1 chu kỳ máy. Mã lệnh của chương trình được đọc từ ROM thông qua bus dữ liệu (Port0) và bus địa chỉ (Port0 + Port2). Khi 89S52 thi hành chương trình trong ROM nội, PSEN sẽ ở mức logic 1.

ALE/PROG (chân 30) cho phép tách các đường địa chỉ và dữ liệu tại Port 0 khi truy xuất bộ nhớ ngoài. ALE thường nối với chân Clock của IC chốt (74373, 74573). Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên chip và có thể được dùng làm tín hiệu clock cho các phần khác của hệ thống. Xung này có thể cấm bằng cách set bit 0 của SFR tại địa chỉ 8Eh lên 1. Khi đó, ALE chỉ có tác dụng khi dùng lệnh MOVX hay MOVC. Ngoài ra, chân này còn được dùng làm ngõ vào xung lập trình cho ROM nội ( PROG).

EA /VPP (External Access) : EA (chân 31) dùng để cho phép thực thi chương trình từ ROM ngoài. Khi nối chân 31 với Vcc, AT89S52 sẽ thực thi chương trình từ ROM nội (tối đa 8KB), ngược lại thì thực thi từ ROM ngoài (tối đa 64KB).

Page 36: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

37

Ngoài ra, chân EA được lấy làm chân cấp nguồn 12V khi lập trình cho ROM(89S52).

ST (Reset): RST (chân 9) cho phép reset AT89S52 khi ngõ vào tín hiệu đưa lên mức 1 trong ít nhất là 2 chu kỳ máy.

X1,X2: Ngõ vào và ngõ ra bộ dao động, khi sử dụng có thể chỉ cần kết nối thêm thạch anh và các tụ. Tần số thạch anh thường sử dụng cho AT89S52 là 12Mhz. 2.3.4. Tổ chức bộ nhớ

2.4. CÁC CHUẨN DÙNG TRONG ĐIỀU KHIỂN BẰNG HỒNG NGOẠI

Trong nhiều ứng dụng điều khiển thiết bị điện thì điều khiển từ xa là cái mà người ta hay dùng nhất trong hiện nay bởi vì tính linh hoạt và tiện của nó! Điều khiển từ xa chúng ta nhìn thấy nhiều nhất là cái điều khiển từ xa của tivi bây giờ chúng ta muốn nó điều khiển các thiết bị khác như là đèn, quạt, mợ-tơ bơm nước, TV… bằng sóng hồng ngoại thì cái này không khác mấy so với cái điều khiển tivi của chúng ta nhưng chúng ta phải cách ly được phần điều khiển và công suất.

Ánh sáng hồng ngoại (tia hồng ngoại) là ánh sáng không thể nhìn thấy được bằng mắt thường, có bước sóng khoảng từ 0.86μm đến 0.98μm. Tia hồng ngoại có vận tốc truyền bằng vận tốc ánh sáng. Tia hồng ngoại có thể truyền đi được nhiều kênh tín hiệu. Nó được ứng dụng rộng rãi trong công nghiệp. Lượng thông tin có thể đạt 3 mega bit /s. Lượng thông tin được truyền đi với ánh sáng hồng ngoại lớn gấp nhiều lần so với song điện từ mà người ta vẫn dùng. Tia hồng ngoại dễ bị hấp thụ, khả năng xuyên thấu kém. Trong điều khiển từ xa bằng tia hồng ngoại, chùm tia hồng ngoại phát đi hẹp, có hướng, do đó khi thu phải đúng hướng. Sóng hồng ngoại có những đặc tính quan trọng giống

Hình 2.25 – Tổ chức bộ nhớ AT89S52 (Nguồn: AT89S52 datasheet)

Page 37: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

38

như ánh sáng ( sự hội tụ qua thấu kính, tiêu cự …). Ánh sáng thường và ánh sáng hồng ngoại khác nhau rất rõ trong sự xuyên suốt qua vật chất. Có những vật chất ta thấy nó dưới một màu xám đục nhưng với ánh sáng hồng ngoại nó trở nên xuyên suốt. Vì vật liệu bán dẫn “trong suốt” đối với ánh sáng hồng ngoại, tia hồng ngoại không bị yếu đi khi nó vượt qua các lớp bán dẫn để đi ra ngoài.

Nguyên lý thu phát hồng ngoại: việc thu hoặc phát bức xạ hồng ngoại bằng nhiều phương tiện khác nhau, có thể nhận tia hồng ngoại từ ánh sáng mặt trời. Nhiều thứ có thể phát tia hồng ngoại như: lò bức xạ, lò điện, đèn, cơ thể người,… Để có thể truyền tia hồng ngoại tốt phải tránh xung nhiễu bắt buộc phải dùng mã phát và nhận ổn định để xác định xem đó là xung truyền hay nhiễu.Tần số làm việc tốt nhất từ 30 KHz đến 60 KHz, nhưng thường sử dụng khoảng 36 KHz. Ánh sáng hồng ngoại truyền 36 lần/1s khi truyền mức 0 hay mức 1. Dùng tần số 36 KHz để truyền tín hiệu hồng ngoại thì dễ, nhưng khó thu và giải mã phải sử dụng bộ lọc để tín hiệu ngõ ra là xung vuông, nếu ngõ ra có xung nghĩa là đã nhận được tín hiệu ở ngõ vào. Khối chọn chức năng và khối mã hóa: Khi người sử dụng bấm vào các phím chức năng để phát lệnh yêu cầu của mình, mổĩ phím chức năng tương ứng với một số thập phân. Mạch mã hóa sẽ chuyển đổi thành mã nhị phân tương ứng dưới dạng mã lệnh tín hiệu số gồm các bít 0 và 1. Số bit trong mã lệnh nhị phân có thể là 4 bit hay 8 bit… tùy theo số lượng các phím chức năng nhiều hay ít.-Khối dao động có điều kiện: Khi nhấn 1 phím chức năng thì dồng thời khởi động mạch dao động tạo xung đồng hồ, tần số xung đồng hồ xác định thời gian chuẩn của mỗi bit.-Khối chốt dữ liệu và khối chuyển đổi song song ra nối tiếp: Mã nhị phân tại mạch mã hóa sẽ được chốt để đưa vào mạch chuyển đổi dữ liệu song song ra nối tiếp. Mạch chuyển đổi dữ liệu song song ra nối tiếp được điều khiển bởi xung đồng hồ và mạch định thời nhằm đảm bảo kết thúc đúng lúc việc chuyển đổi đủ số bit của một mã lệnh.-Khối điều chế và phát FM: mã lệnh dưới dạng nối tiếp sẽ được đưa qua mạch điều chế và phát FM để ghép mã lệnh vào sóng mang có tần số 38Khz đến 100Khz, nhờ sóng mang cao tần tín hiệu được truyền đi xa hơn, nghĩa là tăng cự ly phát. Khối thiết bị phát : là một LED hồng ngoại. Khi mã lệnh có giá trị bit =’1’ thì LED phát hồng ngoại trong khoảng thời gian T của bit đó. Khi mã lệnh có giá trị bit=’0’ thì LED không sáng. Do đó bên thu không nhận được tín hiệu xem như bit = ‘0’ . Phần thu: Khối thiết bị thu: Tia hồng ngoại từ phần phát được tiếp nhận bởi LED thu hồng ngoại hay các linh kiện quang khác. Khối khuếch đại và Tách sóng: trước tiên khuếch đại tính hiệu nhận rồiđưa qua mạch tách sóng nhằm triệt tiêu sóng mang và tách lấy dữ liệu cần thiết là mã lệnh.- Khối chuyển đổi nối tiếp sang song song và Khối giải mã: mã lệnhđược đưa vào mạch chuyển đổi nối tiếp sang song song và đưa tiếp qua khối giải mã ra thành số thập phân tương ứng dưới dạng một xung kích tại ngõ ra tương ứng để kích mở mạch điều khiển.

Page 38: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

39

Tần số sóng mang còn được dùng để so pha với tần số dao động bênphần thu giúp cho mạch thu phát hoạt động đồng bộ, đảm bảo cho mạch tách sóng và mạch chuyển đổi nối tiếp sang song song hoạt động chính xác 2.4.1. Chuẩn Sony Tần số sóng mang được chia từ 480 Khz cho 12 là 40Khz, và độ rộng xung là 1/3 chu kỳ. Khi khung dữ liệu được phát lập lại, chu kỳ khung là 45ms hoặc chu kỳ bit là 150. Một khung dữ liệu bao gồm Syn pulse, 7 bit dữ liệu và 5 bit mã người dùng.

Hình 2.26 – Chuẩn sony (Nguồn: Vishay Data Formats for IR Control)

Page 39: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

40

Data Item Time (sec.) Time (no. of period) Syn pulse 2.4ms 8T Data off time 0.61ms 2T Data on time (0) 0.59ms 2T Data on time (1) 1.19ms 4T Data period (0) 1.2ms 4T Data period (1) 1.8ms 6T Frame output cycle 45ms 150T

T=0.3ms 2.4.2. Chuẩn Matsushita

Tần số sóng mang được chia từ 440 Khz cho 12 là 36.6Khz, và độ rộng xung là 1/2 chu kỳ. Khi khung dữ liệu được phát lập lại, chu kỳ khung là 104.7ms hoặc chu kỳ bit là 240. Một khung dữ liệu bao gồm Syn pulse 6 bit mã người dùng, 6 bit dữ liệu, đảo của 6 bit mã người dùng, đảo của 6 bit dữ liệu.

Bảng 2.4 – Các thông số của chuẩn Sony

Hình 2.27 – Chuẩn Matsushita (Nguồn: Vishay Data Formats for IR Control)

Page 40: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

41

Data Item Time (sec.) Time (no. of period) Syn pulse on time 3.49ms 8T Syn pulse off time 3.49ms 8T Data on time (0) 0.86ms 2T Data off time (0) 0.88ms 2T Data on time (1) 0.86ms 2T Data off time (1) 2.63ms 6T Data period (0) 1.74ms 4T Data period (1) 3.49ms 8T Frame output cycle 104.7ms 240T

T=0.436ms 2.4.3. Chuẩn NEC

Tần số sóng mang được chia từ 455 Khz cho 12 là 38Khz, và độ rộng xung là 1/3 chu kỳ. Khi khung dữ liệu được phát lập lại, chu kỳ khung là 107.9ms hoặc chu kỳ bit là 186. Một khung dữ liệu bao gồm Syn pulse 8 bit mã người dùng, 8 bit dữ liệu, đảo của 8 bit mã người dùng, đảo của 8 bit dữ liệu.

Bảng 2.5 – Các thông số của chuẩn Matsushita

Hình 2.28 – Chuẩn NEC (Nguồn: Vishay Data Formats for IR Control)

Page 41: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

42

Data Item Time (sec.) Time (no. of period) Syn pulse on time 8.993ms 15.5T Syn pulse off time 4.642ms 8T Syn pulse off time 2.321ms 4T (subsequent frame) 0.561ms T Data on time (0) 0.598ms T Data off time (0) 0.561ms T Data on time (1) 1.7582.63ms 3T Data off time (1) 1.160ms 2T Data period (0) 2.321ms 4T Data period (1) 107.9ms 186T

T=0.58ms 2.4.4. Chuẩn RC5

Tần số sóng mang được chia từ 432 Khz cho 12 là 36Khz, và độ rộng xung là 1/3 chu kỳ. Khi khung dữ liệu được phát lập lại, chu kỳ khung là 113.7ms hoặc chu kỳ bit là 256. Một khung dữ liệu bao gồm 2 bit Syn pulse, 1 bit control, 5 bit mã người dùng, 6 bit dữ liệu.

Bảng 2.6 – Các thông số của chuẩn NEC

Hình 2.29 – Chuẩn RC5 (Nguồn: Vishay Data Formats for IR Control)

Page 42: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

43

Data Item Time (sec.) Time (no. of period) Data off time 0.888ms 2T Data on time 0.888ms 2T Data period (0) 3.552ms 4T Data period (1) 3.552ms 4T Frame output cycle 113.7ms 256T

T=0.444ms

Bảng 2.7 – Các thông số của chuẩn RC5

Page 43: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

44

CHƯƠNG 3: THIẾT KẾ PHẦN CỨNG VÀ GIẢI THUẬT PHẦN MỀM 3.1. SƠ ĐỒ PHẦN CỨNG TỔNG QUÁT

Phần cứng bao gồm các khối sau:khối nhận tín hiệu hồng ngoại, khối Zigbee, khối nguồn, khối RTC, khối LED 7 đoạn, khối vi điều khiển, khối điều khiển công suất, khối mở rộng port và khối hiển thị.

Hình 3.1 – Sơ đồ phần cứng tổng quát

R31

p2.6

U7

MOC30201

2

64

p1.3

0

p2.5

5v

R22

p1.2

Y212MHz

L2

5k6x4

Q5R17

330

p3.5

p2.1

U9MOC3020

1

2

64

p0.3

0

U3

7805

1 3

2

VIN VOUT

GN

D

L6

R42

p1.7

U6

MOC30201

2

64

12v

C1815x8

Q23

C10CAPACITOR

5v

p3.4

C4 33p

12v

Q24BTA12

p2.7

0

Q10

R24

330

Q3BTA12

p1.5

p1.0

BTA12

p2.6

F9

FUSE

BT1BATTERY

220v 2

R25

330

p3.1

C6CAP

0

J11

HEADER 10

123456789

10

p1.1

J2

HEADER 2

12

L7

BTA12

IR receive

U4

ir_receiv e

231

GNDvccout

p1.0

J10

HEADER 2

12

5v

5v

D1

DIODE

220v 2

R410k

p2.7

p3.7

Q19

L8

5v

Q13

L1

Q18

BTA12

220v 2

Q9

R26

p0.1

p1.7

Q22

p0.1

Q12

220v 2

Q15

R13

p3.7

0

33x8

R29

p0.6

220v2

R23

330

L8

Q25BTA12

p0.7

Q2BTA12

5v

5v

220v 2 Q17

Q7BTA12

p0.0

p3.0

0

C5 33p

5v

R32

L3

Q14

R19

U1

74HC595 8

9

1013

14

16

1112 15

1234567

GN

D

SDO

CLRG

data

VC

C

ckst QA

QBQCQDQEQFQGQH

p2.3

p1.6

U15

MOC30201

2

64

p2.0

220v 2

R28

R21

330

0

U14

MOC30201

2

64

p3.3

R30

U5

MOC30201

2

64

p1.6

p1.7

J1

HEADER 2

12

L2

U11mrf 24j40ma

1 2 3 4 5 6 7 8 9 10 11 12

gnd

rese

tw

ake

int

sdi

sck

sdo

cs nc vin

gnd1

gnd2

5v

220v 2 q20

5v5v

R40

Q6

p1.3 p3.3

J4

HEADER 2

12p0.4

220v 2

Q16

L4

R14

330

J9

HEADER 2

12

p2.2

p1.2

J3

HEADER 2

12

p2.1

R15

330

L3

R27

p3.6

220v 1

Q4BTA12

C3 1u

p2.3

p3.2

L7

C5104

p0.6

R39

5v

5v

0

Q12N1070

R3RESISTOR

p0.2

p3.6

0

C12CAP

p2.5

p0.5

J5

HEADER 2

12

L5

C9CAP

p1.4

U8

MOC30201

2

64

p1.4

p1.5

R20

330

p0.3

C1CAPACITOR

L4

Q11

p0.0

0

0

C18104

p3.2

R18

0C8CAP

p0.2

p3.5

C7

L6

U13

AT89C529

1819

20

2930

31

40

12345678

2122232425262728

1011121314151617

3938373635343332

RST

XTAL2XTAL1

GN

D

PSENALE/PROG

EA/VPP

VC

C

P1.0/T2P1.1/T2-EXP1.2P1.3P1.4P1.5P1.6P1.7

P2.0/A8P2.1/A9

P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15

P3.0/RXDP3.1/TXD

P3.2/INT0P3.3/INT1

P3.4/T0P3.5/T1

P3.6/WRP3.7/RD

P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7

p0.7

C1815x4

5v5v

R1

RESISTOR

0

0

U2

DS1307 4

75

12

6

38G

ND

SQW/OUTSDA

X1X2

SCL

VB

AT

VC

C

p0.5

p3.4

J7

HEADER 2

12

p2.0

Q8

L1

J6

HEADER 2

12

Y1CRYSTAL

p1.1

A1015x4

Q21

p0.4

U10

MOC30201

2

64

p2.2

R11

RESISTOR SIP 9

123456789

L5

p2.4

U12

LD1117/TO1

23

GN

D VOUTVIN

p3.0

J8

HEADER 2

12C

11

CAP

p2.4

p3.1

5k6x4

R41

12v

Page 44: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

45

3.1.1. Khối nhận tín hiệu hồng ngoại

IR receive là loại mắt thu hồng ngoại 3 chân, Tín hiệu hồng ngoại từ bộ điều khiển đưa tới đã được điều chế PAM, mắt thu này thu và giải điều chế, nhưng tín hiệu ở ngõ ra bị đảo lại so với tín hiệu phát tại bộ điều khiển. R1,R3,Q1 tạo thành cổng đảo, đảo tín hiệu lại cho giống với nơi phát. 3.1.2. Khối Zigbee

Modun MRF24J40MA sử dụng nguồn 3.3v, được cấp bởi LD1117(ổn áp 3.3v), kết nối với vi điều khiển thông qua các điện trở 1k nhằm ngăn nguồn 5v từ vi điều khiển đi trực tiếp vào chip MRF24J40. Sử dụng port3 để kết nối với modun MRF24J40MA.

p3.4

Q12N1070

R1

RESISTOR

C1CAPACITOR

5v

R3RESISTOR

00

IR receive

U4

ir_receiv e

231

GNDv ccout

Hình 3.2 – Khối nhận tín hiệu hồng ngoại

R27

p3.7

U12

LD1117/TO1

23

GN

D VOUTVIN

R13

p3.5

R31

p3.2

5v

R30

U11mrf 24j40ma

1 2 3 4 5 6 7 8 9 10 11 12

gnd

rese

tw

ake

int

sdi

sck

sdo

cs nc vin

gnd1

gnd2

0

p3.0

R32

p3.6 p3.3

R29R28

0

p3.1

Hình 3.3 – Khối Zigbee

Page 45: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

46

3.1.3. Khối nguồn

Nguồn 5v (7805) cấp cho khối vi điều khiển, opto cách li quang, LED chỉ thị. Khối 12v cung cấp cho LED 7 đoạn. Diode D1 ngăn cấp nguồn ngược vào 7805, Ngõ ra được lọc bởi các tụ C11,C12(12v), C9,C8,C6(5v). Sử dụng nguồn 12v 1A. 3.1.4. Khối RTC

RTC DS1307 sử dụng thạch anh 32768Hz, pin CMOS 3V backup dùng khi mất điện, khi mất nguồn 5v RTC sẽ sử dụng pin để đảm bảo RTC chạy đúng giờ và RAM không bị xóa, đường SCL và SDA kết nối với vi điều khiển thông qua 2 chân p0.7 và p0.6, chân SQW/OUT là các chân ngõ ra phụ, không sử dụng.

Hình 3.4 – Khối cấp nguồn

C11

CAP

C6CAP

D1

DIODE

U3

7805

1 3

2

VIN VOUT

GN

D 5vC9CAP

J1

HEADER 2

12

C12CAP

12v

12v

00

00

C8CAP

0

C10CAPACITOR

p0.6

5v

p0.7

Y1CRYSTAL

U2

DS1307 4

75

12

6

38G

ND

SQW/OUTSDA

X1X2

SCL

VBAT

VCC

BT1BATTERY

Hình 3.5 – Khối RTC

Page 46: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

47

3.1.5. Khối LED 7 đoạn

LED 7 đoạn dùng LED đơn kết nối theo dạng anode chung, các đường dữ liệu tác động ở mức thấp đưa ra port1, các chân chọn LED tác động ở mức cao(12v) sử dụng các chân p0.0, p0.1, p0.2, p0.3. Các BJT trong sơ đồ là loại C1815 và A1015.

5k6x4

R41 R42

R18

Q12

Q15

A1015x4

R19 R26

p1.5

5k6x4

p0.0

Q18Q17 Q22

p1.6 p1.3

C7q20

Q10

C1815x8

Q16

Q9

Q19

R40

Q8

p1.2

R22

Q11

C1815x4

0

Q23

R39

12v

p1.7p1.4

p0.1 p0.2

Q21

p1.0

Q14

p1.1

p0.3

Q13

Hình 3.6 – Khối LED 7 đoạn

Page 47: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

48

3.1.6. Khối vi điều khiển

Khối vi điều khiển sử dụng chip AT89S52(họ 8051), thạch anh 12Mhz, port0 được kéo lên nguồn bằng điện trở 4k7, sử dụng rom nội thực thi chương trình. Tụ kết hợp với thạch anh là 33p, C3 và R4 tạo thành mạch reset tự động khi mới cấp nguồn, tụ C5 lọc nhiễu tần số cao.

Hình 3.7 – Khối vi điều khiển

p0.4

p3.6

U13

AT89C529

1819

20

2930

31

40

12345678

2122232425262728

1011121314151617

3938373635343332

RST

XTAL2XTAL1

GN

D

PSENALE/PROG

EA/VPP

VCC

P1.0/T2P1.1/T2-EXP1.2P1.3P1.4P1.5P1.6P1.7

P2.0/A8P2.1/A9

P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15

P3.0/RXDP3.1/TXD

P3.2/INT0P3.3/INT1

P3.4/T0P3.5/T1

P3.6/WRP3.7/RD

P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7

p2.0

p0.7

p2.2

p3.2

p0.6p2.7

C4 33p

p0.5

p3.0

Y212MHz

p1.6

p1.2

p0.0

p3.3

p2.4

5v

5v

p3.1

p2.3

R11

RESISTOR SIP 9

123456789

p2.6

p1.3

p3.7

C5 33p

p2.1

p1.5

C3 1u

p1.7

p3.5p3.4

p0.1

p0.3

p1.0

R410k

p0.2

0

p1.4

p1.1

p2.5

C5104

Page 48: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

49

3.1.7. Khối điều khiển công suất

Khối công suất sử dụng triac BTA12A, kích và cách li điện bằng opto triac MOC3020. Mõi ngõ ra chịu tải trên 600W 3.1.8. Khối mở rộng port

Khối mở rộng port dùng cho 8 LED chỉ thị trạng thái của 8 ngõ ra, LED sáng tương ứng ngõ ra đang có điện.

Hình 3.8 – Khối điều khiển công suất

U9MOC3020

1

2

64

p2.2

p2.6

L25v

p2.4

U14

MOC30201

2

64

U6

MOC30201

2

64

p2.1

p2.7

Q5

L3

Q2BTA12

p2.0

R25

330

5vQ7

5v

220v 2

R24

330U15

MOC30201

2

64

R23

330

220v 2

220v 2 L4

5v

220v 2

R17

330

R21

330p2.5

220v 2

L5

5v

Q25BTA12

BTA12

BTA12

220v 2

U7

MOC30201

2

64

L6

220v 2

U5

MOC30201

2

64

Q6BTA12

220v 2

U8

MOC30201

2

64

Q24BTA12

L8

L7

5v

U10

MOC30201

2

64

R15

330p2.3

5v

Q3BTA12 Q4

BTA12 R20

330

L1

R14

330

5v

Hình 3.9 – Khối mở rộng port

p0.5p1.7

33x8

J11

HEADER 10

123456789

10

0

0 0

C18104

5v

p0.4

U1

74HC595 8

9

1013

14

16

1112 15

1234567

GN

D

SDO

CLRG

data

VC

C

ckst QA

QBQCQDQEQFQGQH

Page 49: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

50

3.1.9. Khối hiển thị Dùng 4 LED 7 đoạn lớn để hiển thị thời gian, mõi LED 7 đoạn do 42 LED đơn hợp thành, mõi đoạn gồm 6 LED đơn. Ưu điểm: tính thẫm mĩ cao, kích thước tùy ý, màu sắc đa dạng, chi phí thay thế thấp, độ sáng cao. Nhược điểm: Chi phí cao.

D2

LED

D2

LED

D2

LED

D2

LED

c

D2

LED

anode

D2

LED

D2

LED

D2

LED

D2

LED

D2

LED

D2

LED

D2

LED

D2

LED

D2

LED

D2

LED

D2

LED

D2

LED

D2

LED

D2

LED

D2

LED

D2

LED

D2

LED

D2

LED

D2

LED

D2

LED

g

D2

LED

a

D2

LED

D2

LED

D2

LED

D2

LED

e

f

D2

LED

D2

LED

D2

LED

D2

LED

b

d

D2

LED

D2

LED

D2

LED

D2

LED

D2

LED

D2

LED

D2

LED

D2

LED

Hình 3.10 – Khối hiển thị

Page 50: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

51

3.1.10. Modun mở rộng

Khối mở rộng dùng để bật/tắt đèn mà không cần nối dây điện trực tiếp từ bảng điều khiển chính đến đèn cần bật/tắt, lệnh bật/tắt được gởi từ bảng điều khiển chính thông qua wireless(chuẩn Zigbee IEEE 802.15.4). Phần mở rộng sử dụng chip AT89C2051.

Hình 3.11 – Modun mở rộng

C233P

J2

220v in

12

U1mrf 24j40ma

1 2 3 4 5 6 7 8 9 10 11 12

gnd

rese

tw

ake

int

sdi

sck

sdo

cs nc vin

gnd1

gnd2

C333P

J1

EX_5V

12

5v

J3

out

12

R11220

C1CAP

5v

D12

LED

D11

1N4007

U4MOC3020

1

2

64

C5100U

R1RESISTOR

5v

Y1CRYSTAL

Q1

BTA12

D10

1N4007

5v

R10220

F1

2.2A

U2

AT89C2051

1

10

20

5

4

1213141516171819

23678911

RST/VPP

GN

D

VCC

XTAL1

XTAL2

P1.0/AIN0P1.1/AIN1P1.2P1.3P1.4P1.5P1.6P1.7

P3.0/RXDP3.1/TXD

P3.2/INT0P3.3/INT1

P3.4/T0P3.5/T1

P3.7

C4CAP

Page 51: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

52

3.1.11. Quy cách sản phẩm

Tên Kích thước Lỗ gắn LED 4.8 mm LED 7 đoạn 65mmx105mm

Kích thước bảng 160mmx350mm

Hình 3.12 – Quy cách sản phẩm

Bảng 3.1 – Kích thước sản phẩm

Page 52: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

53

3.2. GIẢI THUẬT PHẦN MỀM 3.2.1. Giải thuật tổng quát

Khi mới cấp điện, phải khởi động modun MRF24J40MA bao gồm khởi động phần cứng và khởi động phần mềm. đinh nghĩa các biến, khởi động ngắt timer0, ngắt ngoài 0 của vi điêu khiển và thiết lập ngắt nhận gói tin của modun MRF24J40MA. Nạp thời gian thực và thời gian thiết lập của 8 đèn từ RTC lên vùng nhớ đệm của vi điều khiển. Chương trình khởi động chỉ chạy 1 lần khi reset vi điều khiển. Sau khi khởi động xong xẽ thực hiện việc hiển thị giờ ra LED 7 đoạn, thời gian sáng của mõi LED 7 đoạn khoảng 200ms, sau đó thực hiện kiểm tra xem có nhận được điều khiển từ remote không, nếu có thì thực hiện các công việc do người sử dụng yêu cầu, sau đó lấy thời gian thực từ RTC lên vùng đệm để hiển thị và kiểm tra thời gian tắt/mở để tắt/mở đèn theo thời gian cài đặt của người sử dụng.

Hình 3.13 – Giải thuật tổng quát

Page 53: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

54

Thời gian để vi điều khiển thực hiện lệnh từ remote, cập nhật thời gian và kiểm tra thời gian tắt/mở khoảng vài chục ms. Code: CALL INITIAL CALL SETINTERRUPT Chương trình chính sẽ gọi chương trình con khởi động modun RF và thiết lập ngắt. Bộ phận nhận lệnh từ điều khiển từ xa(remote hồng ngoại) nằm trong ngắt timer0, khi nhận được lệnh, chương trình phục vụ ngắt sẽ đưa lệnh vừa nhận được vào thanh ghi lệnh IRMCR, chương trình chính dựa vào thanh ghi này để làm việc. 3.2.2. Khởi động

Khi mới cấp điện vi điều khiển sẽ khởi tạo các điều kiện để cho phép ngắt ở timer0, timer1 ở chế độ đếm xung ngoài và khởi động modun Zigbee MRF24J40MA. khởi động modun Zigbee MRF24J40MA: 1. SOFTRST (0x2A) = 0x07 – Perform a software Reset. The bits will be automatically cleared to ‘0’ by hardware. 2. PACON2 (0x18) = 0x98 – Initialize FIFOEN = 1 and TXONTS = 0x6. 3. TXSTBL (0x2E) = 0x95 – Initialize RFSTBL = 0x9. 4. RFCON1 (0x201) = 0x01 – Initialize VCOOPT = 0x01. 5. RFCON2 (0x202) = 0x80 – Enable PLL (PLLEN = 1). 6. RFCON6 (0x206) = 0x90 – Initialize TXFIL = 1 and 20MRECVR = 1. 7. RFCON7 (0x207) = 0x80 – Initialize SLPCLKSEL = 0x2 (100 kHz Internal oscillator). 8. RFCON8 (0x208) = 0x10 – Initialize RFVCO = 1.

Hình 3.14 – giải thuật khởi động

Page 54: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

55

9. SLPCON1 (0x220) = 0x21 – Initialize CLKOUTEN = 1 and SLPCLKDIV = 0x01. Configuration for nonbeacon-enabled devices (see Section 3.8 “Beacon-Enabled and Nonbeacon-Enabled Networks”): 10. BBREG2 (0x3A) = 0x80 – Set CCA mode to ED. 11. RSSITHCCA (0x3F) = 0x60 – Set CCA ED threshold. 12. BBREG6 (0x3E) = 0x40 – Set appended RSSI value to RXFIFO. 13. Enable interrupts – See Section 3.3 “Interrupts”. 14. Set channel – See Section 3.4 “Channel Selection”. 15. RFCTL (0x36) = 0x04 – Reset RF state machine. 16. RFCTL (0x36) = 0x00. 17. Delay at least 192 μs. cho phép ngắt ở timer0, timer1 ở chế độ đếm xung ngoài: mov tmod,#61h setb ea setb et0 setb tr0 setb tr1 timer 0 ở chế độ 16 bit, timer 1 ở chế độ 8 bit auto reload.

Page 55: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

56

3.2.3. Quét LED 7 đoạn

Phần lớn thời gian chương trình phục vụ cho việc quét LED 7 đoạn, nhằm đảm bảo LED 7 đoạn ít bị chớp nhất khi thực hiện các công việc tốn thời gian nhiều. Đoạn chương trình quét LED 7 đoạn chỉ hiển thị 4 ô nhớ 33h,34h,35h,36h đây là 4 số được tính toán ra từ vùng nhớ đệm. Code: call chuyendoi;đổi sang mã LED 7 đoạn. mov a,@r1 call movap1 inc r1 mov a,r0 call movap0 rl a mov r0,a

Hình 3.15 – Quét LED 7 đoạn

Page 56: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

57

Thanh ghi R1 chứa địa chỉ của mã LED 7 đoạn, R0 chứa vị trí LED 7 đoạn, p1 đưa dữ liệu ra LED 7 đoạn, p0 quét LED. 3.2.4. Thực hiện lệnh từ điều khiển từ xa Đoạn chương trình thực hiện lệnh từ điều khiển từ xa thực hiện việc so sánh lệnh nhận được từ remote hồng ngoại với các giá trị đã được định sẵn và gọi chương trình con thực hiện công việc tương ứng. Nếu nhận được số 10 sẽ thực hiện công việc: đảo bit cr.1 của thanh ghi trạng thái chương trình bit này được chỉ thị trên đèn tắt/mở , nếu bit cr.1=1, kèm theo ấn phím bất kỳ từ 0---9, sẽ Nạp thời gian tắt của đèn lên vùng nhớ đệm, ngược lại nếu bit cr.1=0, kèm theo ấn phím bất kỳ từ 0---9, sẽ Nạp thời gian mở của đèn lên vùng nhớ đệm. Nếu ircmd=9, thực hiện đảo bit cr.0, nếu cr.0=1 chương trình ở chế độ 1 nghĩa là khi ấn các phím từ 1---9 sẽ ra lệnh tắt/mở đèn bình thường. Nếu cr.0=0, chương trình ở chế độ 2, chế độ điều chỉnh thời gian, dùng kết hợp với bit cr.1 để điều chỉnh. Nếu ircmd=12(phím >), chương trình chính gọi chương trình con dời con trỏ LED 7 đoạn sang phải 1 số, khi phím > con trỏ sẽ dời sang phải đến số cuối cùng rồi quay lại số đầu tiên. Con trỏ ở vị trí nào thì nhấp nháy ở vị trí đó, sau khoảng 15s không thao tác phím, chương trình sẽ về trạng thái hoạt động bình thường, con trỏ ở vị trí 0. Nếu ircmd=12(phím /\), chương trình chính gọi chương trình con hiệu chỉnh thời gian. Sau khi ta chọn loại thời gian cần điều chỉnh, dời con trỏ sang phải để tìm số cần thay đổi, phím /\ để tăng số hiện tại lên 1 đơn vị. Dựa vào thời gian nằm trên vùng nhớ đệm là gì mà việc tăng lên 1 đơn vị nằm giới hạn của số đó, rồi quay về 0. VD: Nếu ta đang chỉnh ngày tháng, con trỏ ở hàng chục của tháng(hàng đơn vị của tháng = 1), thì hàng chục chỉ nằm trong đoạn 0—1.

Page 57: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

58

Hình 3.16 – Thực hiện lệnh từ điều khiển từ xa

Page 58: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

59

3.2.5. Tắt/mở các đèn:

Kiểm tra nếu thanh ghi IRMCR =1…8 sẽ bật/tắt đèn 1…..8 đồng thời gửi lệnh vừa thực hiện đến các modun mở rộng bằng chuẩn Zigbee IEEE 802.15.4. Sauk hi thực hiện xong sẽ reset thanh ghi IRMCR =0.

Hình 3.17 – tắt/mở các đèn

Page 59: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

60

3.2.6. Nạp thời gian tắt/mở đèn

Việc Nạp thời gian tắt/mở đèn lên vùng nhớ đệm do thanh ghi cr quyết định. Nếu bit cr.0=0(chế độ điều chỉnh) và cr.1=0(đèn tắt/mở sáng), kèm theo ân phím từ 0---9, chương trình sẽ Nạp thời gian mở đèn, riêng đối với phím 0 chương trình Nạp thời gian thực lên vùng nhớ đệm của vi điều khiển và ngược lại. Biến screenposition chứa loại thời gian đang lưu trên vùng nhớ đệm, dựa vào biến này mà vi điều khiển biết được địa chỉ cần phải lưu lại sau khi điều chỉnh thời gian trên RTC.

Hình 3.18 – Nạp thời gian tắt và ở đèn

Page 60: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

61

3.2.7. Kiểm tra thời gian tắt/mở

Chương trình kiểm tra thời gian tắt mở đèn sẽ so sánh thời gian thực tế với thời gian do người sử dụng cài đặt định thời tắt/mở đèn, nếu 2 giá trị này bằng nhau chương trình sẽ ra quyết định tắt hoặc mở tùy theo giá trị được lưu. Khi thời gian tắt bằng với thời gian mở chương trình sẽ không làm gì, dùng khi người sử dụng không muốn sử dụng chứa năng hẹn giờ.

Hình 3.19 – Kiểm tra thời gian tắt/mở

Page 61: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

62

CHƯƠNG 4. KẾT QUẢ VÀ ĐỀ NGHỊ 4.1. KẾT QUẢ

Đã tìm hiểu và sử dụng được những tính năng cơ bản của modun Zigbee MRF24J40MA của hãng Microchip sản xuất để truyền và nhận gói tin. Tìm hiểu và sử dụng được các chuẩn dùng trong điều khiển từ xa bằng tia hồng ngoại. Đã viết xong chương trình cho vi điều khiển họ 8051, điều khiển bảng điều khiển chính và modun phụ. Hoàn thành sản phẩm bật/tắt 8 đèn bằng remote TV, hẹn giờ mở/tắt 8 đèn, công suất mõi đèn không quá 500W, kèm theo modun phụ nhận lệnh từ bảng điều khiển chính thông qua chuẩn không dây Zigbee dùng khi không thể đấu dây điện trực tiếp từ bảng điều khiển chính đến đèn ( hoặc vì tốn nhiều dây điện, hoặc vì tính thẩm mỹ…). Kết quả thực nghiệm thực tế cho thấy thiết bị hoạt động khá dúng giờ(1 tuần sai 2 giây), so với giờ trên đài TV(THCT). Phần điều khiển công suất và phần hiển thị hoạt động ít bị nhiễu. Tuy nhiên modun Zigbee MRF24J40MA hoạt động với tầm thu phát chưa được như nhà sản suất công bố (400 ft), thực tế chỉ đạt trên dưới 30 m dùng trong nhà. Hình ảnh thực tế:

Hình 3.20 - Modun phụ

Page 62: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

63

Hình 3.23 - Bộ điều khiển

Hình 3.22 - Bảng điều khiển chính khi mở đèn

Hình 3.21- Bảng điều khiển chính

Page 63: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

64

4.2. ĐỀ NGHỊ Đây là một sản phẩm giúp căn nhà được đơn giản hóa việc quản lý hệ thống đèn

chiếu sáng, có thể sử dụng trong thực tế được vì giá thành sản xuất rẻ( Nếu không sử dụng các modun mở rộng, thì giá của bảng điều khiển chính chưa đến 500 000 đồng/ bộ), dễ sử dụng, an toàn(khi mở/tắt đèn hoàn toàn không chạm tay chân đến thiết bị), dễ lắp đặt(đặt biệt là các ngôi nhà đã hoàn chỉnh hệ thống điện), tính thẩm mỹ cao(vừa làm đồng hồ vừa điều khiển đèn). Có thể dùng được trong gia đình, nhà xưởng, trường học, trang trại chăn nuôi, cơ sở kinh doanh mua bán.

Page 64: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

65

PHỤ LỤC Hướng dẫn sử dụng: (trong hướng dẫn này tạm gọi các ngõ ra L1---L8 là ngõ ra dùng cho đèn):

1. Cách bố trí

a. L1….L8: 8 ngõ ra đấu trực tiếp ra 8 đèn (220v) b. 220vac: Ngõ vào 220V c. 7s1…7s4: 4 LED 7 đoạn hiển thị thời gian và ngày tháng d. Db: dấu 2 chấm phân cách giờ và phút. e. LED1…..LED8: 8 LED đơn hiển thị trạng thái tương ứng của 8 ngõ ra f. Adjust time: Chế độ 1/chế độ 2 g. Tắt/mở : timeon/timeoff, time/day h. Ir: mắt thu hồng ngoại.

L1L2L3L4L5L6L7L8220v

ac

on/ofadjust time

led1

led2

led3

led4 ir

led5

led6

led7

led8

7s1 7s2 7s3 7s4

db

Hình 1 - Chức năng của các đèn chỉ dẫn

Page 65: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

66

2. Cách đấu dây điện:

L1L2L3L4L5L6L7L8

220v ac

cp

3. Bật/tắt đèn(chế độ 1 đèn Adjust time và tắt/mở tắt):

Khi mới cấp điện thiết bị mặc định ở chế độ 1 (LED Adjust time tắt) Ấn các phím từ 1---8 trên remote để bật/tắt 8 đèn.

4. Điều chỉnh giờ:

Hình 2 – Sơ đồ đấu dây điện

Hình 3 – Bật/tắt đèn

Hình 4 – Điều chỉnh giờ

Page 66: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

67

Ấn phím 9(đèn Adjust time sáng) để vào chế độ điều chỉnh(chế độ 2), ấn phím 0 để Nạp thời gian lên vùng đệm, ấn phím > để di chuyển con trỏ , ấn phím /\ để tăng số tại vị trí con trỏ đang nhấp nháy lên 1 đơn vị. Ấn lại phím 9 để thoát, nếu không sau 15s không thao tác thiết bị sẽ trở về chế độ 1(đèn Adjust time tắt).

5. Điều chỉnh ngày và tháng:

Ấn phím 9 để vào chế độ điều chỉnh(chế độ 2), ấn phím enter(đèn tắt/mở sáng ), ấn phím 0 để Nạp ngày, tháng lên vùng đệm, ấn phím > để di chuyển con trỏ , ấn phím /\ để tăng số tại vị trí con trỏ đang nhấp nháy lên 1 đơn vị. Ấn lại phím 9 để thoát, nếu không sau 15s không thao tác thiết bị sẽ trở về chế độ 1(đèn Adjust time tắt).

6. Điều chỉnh thời gian tắt/mở đèn:

Ấn phím 9(đèn Adjust time sáng) để vào chế độ điều chỉnh(chế độ 2), ấn phím enter( chọn thời gian tắt/mở, đèn tắt/mở sáng: thời gian mở, ngược lại là thời gian tắt) ấn phím từ 1….8 để Nạp thời gian tắt/mở tương ứng của đèn 1…8 lên vùng đệm, ấn phím > để di chuyển con trỏ , ấn phím /\ để tăng số tại vị trí con trỏ đang nhấp nháy lên 1 đơn vị. Ấn lại phím 9 để thoát, nếu không sau 15s không thao tác thiết bị sẽ trở về chế độ 1(đèn Adjust time tắt). Nếu không muốn sử dụng chế độ hẹn giờ, vui lòng để thời gian tắt và mở bằng nhau.

Hình 5 – Điều chỉnh ngày và tháng

Hình 6 – Điều chỉnh thời gian tắt/mở đèn

Page 67: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

68

7. Chi phí linh kiện

Tên linh kiện Số lượng Đơn giá giá AT89S52 1 23000đ 23000đ AT89C2051 1 20000đ 20000đ Đế cắm 40 chân 1 3000đ 3000đ Đế cắm 20 chân 1 2000đ 2000đ MRF24J40MA 2 206750đ 413500đ BTA12A 9 5000đ 45000đ C1815 14 500đ 7000đ A1015 4 500đ 2000đ CRYSTAL 12MHz 2 3000đ 6000đ CRYSTAL 32768 1 3000đ 3000đ 7805 1 5000đ 5000đ 1N4007 1 100đ 100đ LM1117 1 5000đ 5000đ Tụ 33p 4 50đ 200đ Tụ 104 4 50đ 200đ Tụ 1000u 4 1000đ 4000đ Điện trở thanh 4k7 5 1000đ 5000đ Điện trở 5k6 12 50đ 600đ Điện trở 220 17 50đ 750đ Điện trở 100 7 50đ 350đ LED đơn 181 500đ 90500đ Mạch in 1 60000đ 60000đ Tổng cộng:696300đ

Bảng 3.2 –Chi phí linh kiện

Page 68: THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT

69

TÀI LIỆU THAM KHẢO

[1] Microchip. MRF24J40 Data Sheet IEEE 802.15.4™ 2.4 GHz RF Transceiver. năm 2008 [2] Microchip. SPI communication [3] Microchip MiWi™ P2P Wireless Protocol [4] Vishay Semiconductors. Data Formats for IR Remote Control [5] ATMEL datasheet of AT89S52 microcontroler [6] DALAS datasheet of RTC DS1307 [7] Phạm Hùng Kim Khánh. Giáo trình MCS51 [8] Trương Văn Tám. Giáo trình mạch tương tự. Nhà xuất bản Đại học Cần Thơ. Cần Thơ, 1995. [9] Lương Văn Sơn. Giáo trình Kỹ thuật số. Nhà xuất bản Đại học Cần Thơ. Cần Thơ, 1995.