Thông báo

Tất cả đồ án đều đã qua kiểm duyệt kỹ của chính Thầy/ Cô chuyên ngành kỹ thuật để xứng đáng là một trong những website đồ án thuộc khối ngành kỹ thuật uy tín & chất lượng.

Đảm bảo hoàn tiền 100% và huỷ đồ án khỏi hệ thống với những đồ án kém chất lượng.

ĐỒ ÁN TỐT NGHIỆP ĐIỆN tử ĐIỀU KHIỂN THIẾT BỊ TỪ XA QUA ĐIỆN THOẠI

mã tài liệu 301000300035
nguồn huongdandoan.com
đánh giá 5.0
mô tả 100 MB Bao gồm tất cả file mạch GD (file DSN..) chương trình điều khiển....,.lưu đồ giải thuật.. CDR thuyết minh, bản vẽ nguyên lý, bản vẽ thiết kế, FILE lập trình, và nhiều tài liệu liên quan kèm theo đồ án này
giá 989,000 VNĐ
download đồ án

NỘI DUNG ĐỒ ÁN

ĐỒ ÁN TỐT NGHIỆP
ĐỀ TÀI: ĐIỀU KHIỂN THIẾT BỊ TỪ XA QUA ĐIỆN THOẠI                                                                                                                                                                   

Giảng viên hướng dẫn   :DƯƠNG HUỲNH

Sinh viên thực hiện       :

Lớp                               :

Khoá                             :

 

TP. Hồ Chí Minh, tháng 8  năm  2012

MỞ ĐẦU

Với sự phát triển mạnh mẽ của Khoa học Kĩ thuật trong những thập niên gần đây, ngành Bưu chính Viễn thông đã tạo ra bước ngoặc quan trọng trong lĩnh vực thông tin để đáp ứng nhu cầu của con người. Hiện nay, hệ thống thông tin qua mạng điện thoại đã được toàn cầu hóa, trở nên gần gũi và quen thuộc với con người. Nhờ hệ thống thông tin này mà con người đã không bị hạn chế về khoảng cách liên lạc. Trong lĩnh vực thông tin đã đáp ứng được nhu cầu cần thông tin của con người. Vậy trong lĩnh vực điều khiển tự động thì sao? Con người còn bị hạn chế rất nhiều về khoảng cách trong lĩnh vực này.

Thật vậy, trong việc điều khiển từ xa có nhiều cách như : điều khiển bằng tia hồng ngoại, điều khiển bằng vô tuyến… nhưng các cách ấy đều phụ thuộc vào khoảng cách, chỉ có tác dụng trong phạm vi điều khiển gần mà thôi!

            Với sự phát triển của KHKT, với mức độ nhu cầu của con người ngày càng cao, đòi hỏi con người phải điều khiển được 1 thiết bị điện nào đó mà không bị hạn chế về khoảng cách điều khiển. Do thực tiễn hiện nay, con người còn bị hạn chế rất nhiều trong việc điều khiển tự động các thiết bị. Do đó với sự kết hợp giữa sự phát triển của KHKT và của ngành Bưu chính Viễn thông, với sự có sẵn của mạng di động và hơn nữa điện thoại di động là vật dụng cần thiết và quen thuộc của con người nên nhóm sinh viên thực hiện nghiên cứu vấn đề này để có thể dùng điện thoại điều khiển thiết bị trở thành hiện thực giúp con người phá bỏ được những hạn chế về khoảng cách trong lĩnh vực điều khiển tự động, cũng như phù hợp với xu thế mới trong ngành tự động điều khiển.

            Do kiến thức, khả năng lập trình còn hạn hẹp và thời gian thực hiện đề tài có hạn nên đề tài của chúng em còn nhiều thiếu sót và hạn chế. Rất mong được sự góp ý của quý thầy cô và các bạn để đề tài ngày càng hoàn thiện hơn và có khả năng ứng dụng cao trong đời sống       

 LỜI CẢM ƠN

          Chúng em xin chân thành cảm ơn thầy đã tận tình hướng dẫn và giúp đỡ chúng em trong suốt thờigian thực hiện đồ án tốt nghiệp.

          Chúng em xin chân thành cảm ơn qúi thầy cô trong trường, đặc biệt là quý thầy cô trong Khoa Điện-Điện Lạnh những người đã từng giảng dạy cung cấp những kiến thức quý giá cho chúng em trong suốt ba năm học ở trường.

     

          Chúng em xin kính chúc quí thầy cô luôn khỏe mạnh, hạnh phúc và thành công trong cuộc sống!

 

                                                                                           Nhóm sinh viên thực hiện:

                      

MỤC LỤC

                                                                                                                                   trang

Chương 1: GIỚI THIỆU KHÁI QUÁT VỀ ĐỀ TÀI....................................... 1

1.1 Mục đích của đề tài......................................................................................... 1         

1.2 Sơ đồ khối của đề tài....................................................................................... 2

1.3 Tin nhắn điều khiển........................................................................................ 3

1.4 Các tính năng cơ bản của đề tài................................................................... 4

1.5 Khả năng ứng dụng của đề tài...................................................................... 5

                                                                                                                                                     

Chương 2: GIỚI THIỆU VỀ FBUS CỦA ĐIỆN THOẠI NOKIA................ 5

2.1 Nokia FBUS...................................................................................................... 5

2.2 Giao thức truyền và các lệnh........................................................................ 6

2.2.1 Khởi động và kiểm tra hoạt động của FBUS............................................. 6

2.2.2 Lệnh gửi tin nhắn.......................................................................................... 8

2.2.2.1 Toàn bộ khung truyền gửi tin nhắn......................................................... 8

2.2.2.2 “Nén” tin nhắn để lưu vào khung truyền............................................... 9

2.2.2.3 lưu số điện thoại vào khung truyền......................................................... 9

2.3 Nhận tin nhắn................................................................................................... 10

2.4 Xóa tin nhắn..................................................................................................... 11

Chương 3: GIỚI THIỆU VI ĐIỀU KHIỂN AVR............................................ 12

3.1 Tổng quan......................................................................................................... 12

3.2 Tổ chức AVR.................................................................................................... 14

3.3.Thanh ghi trạng thái.......................................................................................... 22

3.4.Truyền thông nối tiếp không đồng bộ với AVR........................................ 25

3.5. Chuyển đổi ADC trên AVR.......................................................................... 32

3.6  Ngắt trên AVR................................................................................................ 38

3.7. Các bộ Timer/Counter ................................................................................. 45

3.8. Chuẩn truyền thông SPI............................................................................... 55                                                                                            

Chương 4: CÁC LINH KIỆN KHÁC & SƠ ĐỒ MẠCH................................ 62

4.1 Cảm biến nhiệt độ LM35............................................................................... 62

4.2 LCD 16x2.......................................................................................................... 64

4.3 OPTO Triac MOC3020................................................................................. 65

4.4 Triac BTA06-600B......................................................................................... 66

4.5 Sơ đồ mạch & tính toán.................................................................................. 67

                                                                                                                                                  

Chương 5: GIẢI THUẬT & CHƯƠNG TRÌNH.............................................. 72

5.1 Chương trình tổng quát................................................................................. 72

5.2 Chương trình ngắt nhận dữ liệu................................................................... 73

5.3 Chương trình đo nhiệt độ............................................................................... 74

5.4 chương trình gửi tin nhắn.............................................................................. 75

5.5 Chương trình xử lý tin nhắn.......................................................................... 76

5.6 Chương trình vi xử lý..................................................................................... 78

 

KẾT LUẬN                                                                                                                          

DANH MỤC TÀI LIỆU THAM KHẢO                                                                        


DANH MỤC CÁC BẢNG, SƠ ĐỒ, HÌNH

                                                                                                                                    trang

BẢNG 2.1 KHUNG TRUYỀN LỆNH Get H/W & S/W version........................................... 6

BẢNG 2.2 DỮ LIỆU NHẬN ĐƯỢC................................................................................. 7

BẢNG 2.3 KHUNG TRUYỀN GỬI TIN NHẮN.............................................................. 8

BẢNG 2.4 KHUNG TRUYỀN NHẬN TIN NHẮN......................................................... 10

BẢNG 2.5 KHUNG TRUYỀN XÓA TIN NHẮN............................................................ 11

BẢNG 3.1 CHỌN KIỂM TRA PARITY............................................................................ 28

BẢNG 3.2 ĐỘ DÀI DỮ LIỆU TRUYỀN.......................................................................... 28

BẢNG 3.3 TÍNH TỐC ĐỘ BAUD..................................................................................... 29

BẢNG 3.4 MỘT SỐ TỐC ĐỘ BAUD MẪU..................................................................... 30

BẢNG 3.5 CHỌN ĐIỆN ÁP THAM CHIẾU.................................................................... 33

BẢNG 3.6 CHỌN CHẾ ĐỘ CHUYỂN ĐỔI..................................................................... 35

BẢNG 3.7 HỆ SỐ CHIA XUNG NHỊP CHO ADC.......................................................... 37

BẢNG 3.8 NGUỔN KÍCH ADC TRONG CHẾ ĐỘ AUTO TRIGER............................ 38

BẢNG 3.9 CÁC VECTER NGẮT VÀ RESET TRONG AVR........................................ 41

BẢNG 3.10  INT1 SENSE CONTROL.............................................................................. 42

BẢNG 3.11  CHỨC NĂNG CÁC BÍT CS0X.................................................................... 47

BẢNG 3.12  CHỨC NĂNG CÁC BIT CS12,CS11,CS10............................................... 52

BẢNG 3.13 CÁC BIT WGM VÀ CHẾ ĐỘ HOẠT ĐỘNG CUẢ T/C1.......................... 54

BẢNG 3.14 TỐC ĐỘ SPI CỦA AVR................................................................................ 61

SƠ ĐỒ 1.1 SƠ ĐỒ KHỐI CỦA ĐỂ TÀI............................................................................ 2 

SƠ ĐỒ 2.1 KẾT NỐI FBUS VỚI VXL.............................................................................. 6

SƠ ĐỒ 4.1: MẠCH VI XỬ LÝ........................................................................................... 67

SƠ ĐỒ 4.2: MẠCH LCD.................................................................................................... 68

SƠ ĐỒ 4.3: MẠCH NGUỒN.............................................................................................. 68

SƠ ĐỒ 4.3: MẠCH KEYPAD............................................................................................ 69

SƠ ĐỒ 4.4: MẠCH ĐỘNG LỰC....................................................................................... 70

SƠ ĐỒ 5.1 CHƯƠNG TRÌNH TỔNG QUÁT................................................................... 72

SƠ ĐỒ 5.2 CHƯƠNG TRÌNH NGẮT............................................................................... 73

SƠ ĐỒ 5.3 CHƯƠNG TRÌNH ĐO NHIỆT ĐỘ................................................................. 74

SƠ ĐỒ 5.4 CHƯƠNG TRÌNH GỬI TIN NHẮN............................................................... 75

SƠ ĐỒ 5.5 CHƯƠNG TRINH XỬ LÝ TIN NHẮN......................................................... 76

HÌNH 2.1 SƠ ĐỒ CHÂN CỦA FBUS............................................................................... 5

HÌNH 2.2 “NÉN” TIN NHẮN............................................................................................ 9

HÌNH 2.3 CÁCH LƯU SỐ ĐT........................................................................................... 10

HÌNH 3.1 CÁC DÒNG AVR.............................................................................................. 13

HÌNH 3.2  CẤU TRÚC CỦA VĐK AVR.......................................................................... 14

HÌNH 3.3  TỔ CHỨC BỘ NHỚ CỦA AVR...................................................................... 16

HÌNH 3.4 THANH GHI 8 BIT............................................................................................ 16

HÌNH 3.5 REGISTER FILE................................................................................................ 18

HÌNH 3.6 CẤU  TRÚC BÊN TRONG CỦA AVR............................................................ 21

HÌNH 3.7 THANH GHI TRẠNG THÁI............................................................................. 22

HÌNH 3.8 ẢNH HƯỞNG CỦA CÁC PHÉP TOÁN LÊN SREG .................................... 24

HÌNH 3.9 TẠO NGUỒN AVCC TỪ VCC........................................................................ 32

HÌNH 3.10 NGẮT................................................................................................................ 40

HÌNH 3.11 KẾT NỐI NGẮT NGOÀI CHO AVR............................................................. 42

HÌNH 3.12 THIẾT LẬP NGẮT NGOÀI............................................................................ 44

HÌNH 3.13 SO SÁNH 2 CÁCH LÀM VIỆC..................................................................... 49

HÌNH 3.14 QUÁ TRÌNH THỰC HIỆN............................................................................. 50

HÌNH 3.15 GIAO DIỆN SPI............................................................................................... 56

HÌNH 3.16 TRUYỀN DỮ LIỆU SPI.................................................................................. 56

HÌNH 3.17 CÁC CHẾ ĐỘ HOẠT ĐỘNG CỦA SPI........................................................ 59

HINH 4.1 CẢM BIẾN NHIỆT LM35................................................................................ 62

HINH 4.2 LCD KẾT NỐI VỚI AVR.................................................................................. 64

HINH 4.3 OPTO Triac MOC3020..................................................................................... 65

HINH 4.4 Triac BTA06-600B........................................................................................... 66

CHƯƠNG 1: GIỚI THIỆU KHÁI QUÁT VỀ ĐỀ TÀI.

  1. MỤC ĐÍCH CỦA ĐỀ TÀI:

_Ngày nay việc điều khiển thiết bị từ xa đã không còn xa lạ với mọi người. Thật vậy, trong việc điều khiển có nhiều cách như : điều khiển bằng tia hồng ngoại, điều khiển bằng vô tuyến… nhưng các cách ấy đều phụ thuộc nhiều vào khoảng cách, chỉ có tác dụng trong phạm vi điều khiển nhất định mà thôi!

_Với sự kết hợp giữa sự phát triển của KHKT và của ngành Bưu chính Viễn thông, với sự có sẵn của mạng điện thoại di động và hơn nữa điện thoại di động đang là vật dụng cần thiết và quen thuộc của con người nên nhóm sinh viên thực hiện nghiên cứu vấn đề này nhằm tạo ra một hệ thống dùng điện thoại di động để điều khiển thiết bị, giúp con người phá bỏ được những hạn chế về khoảng cách trong lĩnh vực điều khiển tự động, cũng như phù hợp với xu thế mới trong ngành tự động điều khiển.

_Sau khi nghiên cứu đề tài, chúng em nhận thấy việc điều khiển từ xa bằng điện thoại có những ưu khuyết điểm sau:

+ Ưu điểm:

  • Khoảng cách điều khiển phụ thuộc vào sóng của mạng điện thoại di động. Ở đâu có sóng điện thoại thì ở đó có thể điều khiển thiết bị.
  • Mạch thu sóng chính là điện thoại_hoạt động ổn định và chính xác.

+ Khuyết điểm:

  • Tốn tiền nhắn tin để điều khiển thiết bị
  1. SƠ ĐỒ KHỐI CỦA ĐỀ TÀI:

FBUS(RS232)

Lệnh điều khiển (gửi, xóa tin nhắn)

Tin nhắn

 điều khiển

Tin nhắn

 báo trạng thái

Tin nhắn

 điều khiển

ĐIỆN THOẠI 1

ĐIỆN THOẠI 2(nokia 8210)

VXL

AVR

MẠCH ĐỘNG LƯC

THIÊT BỊ 1

BÀN PHÍM

HIỂN THỊ LCD

THIÊT BỊ 5

CẢM BIẾN NHIỆT ĐỘ LM35

 

THIÊT BỊ …

 SƠ ĐỒ 1.1:SƠ ĐỒ KHỐI CỦA ĐỀ TÀI.

+ Điện thoại 1: đây là điện thoại điều khiển các thiết bị, bắng cách soạn tin nhắn theo 1 cú pháp nhất định, nó có thể điều khiẻn đóng mở các thiết bị, lấy trạng thái của các relay và biết được nhiệt độ hiện tại.

+ Điện thoại 2: là điện thoại nhận tin nhắn điều khiển từ điện thoại 1 và gửi qua cho vi xử lý AVR thông qua FBUS(chuẩn RS232). Điện thoại này cũng nhận các lệnh (xóa tin nhắn, gửi tin nhắn đến điện thoại 1) từ VXL.

+ VXL AVR có nhiệm vụ xử lý tin nhắn, đo nhiệt độ, kết nối với bàn phím, hiển thị lên LCD, đóng mở các thiết bị.

+ LCD: hiển thị trạng thái các relay, nhiệt độ,…

+ Cảm biến nhiệt độ LM35: đo nhiệt độ môi trường, chuyển thành tín hiệu điện đưa vào VXL.

+ Bàn phím: nhập số điện thoại và các thông số.

+ Mạch động lực: điều khiển đóng ngắt các thiết bị.

  1. TIN NHẮN ĐIỀU KHIỂN :

_Để điều khiển được hệ thống ta phải nhắn tin theo 1 cú pháp nhất định:

+ Tin nhắn điều khiển bật thiết bị: (mỗi lần nhắn tin chỉ điều khiển được 1 thiết bị).

            onx: (3 ký tự) trong đó X là số thứ tự của các thiết bị 1-5.

+ Tin nhắn điều khiển tắt thiết bị: (mỗi lần nhắn tin chỉ điều khiển được 1 thiết bị).

            offx: (4 ký tự) trong đó X là số thứ tự của các thiết bị 1-5.

+ Tin nhắn kiểm tra nhiệt độ hiện tại:

            t=? (3 ký tự).

+ Tin nhắn kiểm tra trạng thái các relay:

            tt=? (4 ký tự).

  1. CÁC TÍNH NĂNG CƠ BẢN CỦA ĐỀ TÀI:

_Đề tài của nhóm có được những tính năng cơ bản sau:

+ Điều khiển bật tắt các thiết bị bằng tin nhắn.

+ Tự động trả lời tin nhắn kiểm tra trạng thái relay và kiểm tra nhiệt độ.

+ Khi nhiệt độ vượt quá nhiệt độ đặt, tự động giửi tin nhắn đến 1 số điện thoại được cài đặt từ bàn phím ( chức năng báo cháy) .

_Do thời gian nghiên cứu và khả năng lập trình còn hạn hẹp nên đề tài chưa thể có những tính năng cao hơn như: 1 tin nhắn điều khiển nhiều thiết bị, mật khẩu hệ thống thay đổi được từ bàn phím….

 

  1. KHẢ NĂNG ỨNG DỤNG CỦA ĐỀ TÀI:

_Nếu đề tài được nghiên cứu và phát triển hoàn thiện thì khả năng ứng dụng đề tài vào trong đời sống sinh hoạt, sản xuất, … là rất cao.

_Có thể lắp đặt trong ngôi nhà để người chủ đóng mở cửa, bật tắt các thiết bị như đèn quạt…ở bất cứ nơi nào có sóng điện thoại, giám sát ngôi nhà nhờ chức năng báo cháy, chống trộm.

_Kết hợp với các mạch điện, cảm biến trong xe máy, ô tô, tàu hỏa…để điều khiển và giám sát các phương tiện đó khi chúng đang hoạt động ở xa. Báo tốc độ, xăng,...đóng mở cửa, khởi động phương tiện, dừng phương tiện…

_Điều khiển các dây chuyền sản xuất từ xa, nhưng nơi độc hại, con người không thể đặt chân đến.

…v…v…

CHƯƠNG 2: GIỚI THIỆU VỀ FBUS CỦA ĐIỆN THOẠI NOKIA

 

  1. NOKIA FBUS:

_Hầu hết các điện thoại Nokia đời cũ đều có FBUS để giao tiếp với máy tính. Thực chất đó chính là cổng nối tiếp theo chuẩn RS232, qua cổng này ta có thể kết nối với vi điều khiển để truyền lệnh gửi tin nhắn, xóa tin nhắn đến điện thoại hay nhận tin nhắn đã được gửi đến điện thoại.

_Các thông số của NOKIA FBUS:

+Tốc độ:                                  115.200 b/s

+Số bit truyền:                       8 bit

+Kiểm tra chẵn lẻ:                 N (không kiểm tra)

+Số bit stop:                           1 bit

_Sơ đồ chân Tx, Rx, GND của FBUS (thường nằm phía dưới cục pin hoặc đã được đưa sẵn ra ngoài) :

HÌNH 2.1 SƠ ĐỒ CHÂN CỦA FBUS

  1. GIAO THỨC TRUYỀN VÀ CÁC LỆNH:
    1. Khởi động và kiểm tra hoạt động của FBUS:

_Kết nối FBUS với vi điều khiển:

 

SƠ ĐỒ 2.1 KẾT NỐI FBUS VỚI VXL

_Gửi 1 chuỗi gồm 128 byte có giá trị 0x55H =’U’ Để đồng bộ hóa UART của điện thoại và vi điều khiển.

_Hoặc vi điều khiển truyền lệnh lấy thông số phần cứng và phần mềm của điện thoại để kiểm tra  kết nối giữa điện thoại và vi điều khiển.

_Lệnh trên bao gồm 1 khung truyền có 16 byte:

Get H/W & S/W version(send)

Byte

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

HEX

1E

00

0C

D1

00

07

00

01

00

03

00

01

60

00

72

D5

 

cable

cell

PC

get ver.

framlen + 3

 

 

 

 

 

 

seq

padd

even

odd

BẢNG2.1 KHUNG TRUYỀN LỆNH Get H/W & S/W version

Mô tả:

            Byte0: chỉ cách thức truyền, nếu truyền dữ liệu bằng dây cáp byte0 = 0x1E, nếu truyền bằng hồng ngoại byte0 = 0x1C.

            Byte1: địa chỉ đích, Byte 1=0x00 khi vi điều khiển truyền dữ liệu đến điện thoại.

                                                Byte 1=0x0C khi điện thoại truyền dữ liệu đến vi điều khiển.

            Byte2: địa chỉ nguồn. Byte 2=0x0C khi vi điều khiển truyền dữ liệu.

                                                    Byte 2=0x00 khi điện thoại truyền dữ liệu.

            Byte3: 0xD1=lệnh lấy thông số phần cứng và phần mềm của điện thoại.

            Byte4(MSB) & byte5(LSB): hai byte này kết hợp lại thành 1 số, chỉ tổng số byte được tính từ Byte6 cho đến byte12(chỉ số thứ tự truyền _ sequence number (seq))

            Byte12: chỉ số thứ tự truyền _ sequence number (seq) 3

            Nếu byte4&5 là 1 số lẻ thì 1 byte được thêm vô để tổng số byte là số chẵn, Nếu byte4&5 là 1 số chẵn thì không cần thêm 1 byte, byte này đứng sau byte chỉ số thứ tự truyền.    

            Byte 14&15: kiểm tra chẵn lẻ,tính từ byte đầu tiên đến byte chỉ số thứ tự truyền, byte14= kết quả phép XOR của tất cả các byte chẵn. byte15= kết quả phép XOR của tất cả các byte lẻ.

_Sau đó điện thoại sẽ trả lời lại bằng 1 chuỗi data:

BẢNG 2.2 DỮ LIỆU NHẬN ĐƯỢC

_Nếu nhận được chuỗi data này coi như việc kết nối đã thành công, FBUS đang hoạt động bình thường.

  1. Lệnh gửi tin nhắn:

2.2.2.1  Toàn bộ khung truyền gửi tin nhắn:

vd gửi tin nhắn “hello” đến số 0937566159 qua trung tâm tin nhắn của mobifone 84900000023.

BẢNG 2.3 KHUNG TRUYỀN GỬI TIN NHẮN

_Khi lập trình gửi tin nhắn cần quan tâm đến các byte sau đây: (các byte còn lại là những giá trị mặc định)

5 byte đầu khung truyền: (Giá trị của các byte được biểu diễn bằng số hex)

            Byte0=0x1E: truyền bằng cáp.

Byte1=0x00: địa chỉ đích đến (điện thoại).

Byte2=0xC0: địa chỉ nguồn (VXL).

Byte3=0x02: lệnh gửi tin nhắn.

Byte4(MSB) & byte5(LSB): tổng số byte được tính từ Byte6 cho đến byte chỉ số thứ tự truyền _ sequence number (seq)_byte54. Byte này được tính bằng biểu thức:

Byte5=((byte28+48)+1+1)-6;

(độ dài khung truyền <255 do độ dài tin nhắn ngắn, nên chỉ cần quan tâm đến byte5 mà cho byte4=0);

Byte14-19: 6 byte chứa số trung tâm tin nhắn. (nếu không thay đổi mạng di động 6 byte này không cần thay đổi)

Byte28: luôn là byte chứa độ dài của tin nhắn. Byte29: độ dài của số điện thoại(10 số hoặc 11số)

Byte31-36: 6 byte chứa số điện thoại gửi đến. Byte48: ký tự đầu tiên của tin nhắn luôn được lưu ở byte thứ 48, kết thúc bằng byte thứ (48+độ dài tin nhắn), byte kết thúc này luôn bằng 0x01. Hai byte cuối cũng dùng để kiểm tra chẵn lẻ.

2.2.2.2  “Nén” tin nhắn để lưu vào khung truyền:

_Điện thoại Nokia đòi hỏi phải “nén” tin nhắn trước khi gửi đi. Cách thức nén:

Vd: nén từ “hello”

 

 

HÌNH 2.2 “NÉN” TIN NHẮN

Khi gửi tin nhắn “hello” ta phải ghi các giá trị  E8 32 9B FD 06 (HEX) vào khung truyền bắt đầu từ byte thứ 48.

2.2.2.3  lưu số điện thoại vào khung truyền:

Nếu số điện thoại có 10 số thì byte thứ 6 trong 6 byte lưu số điện thoại=0; byte29=0x0A(độ dài số điện thoại);

Nếu số điện thoại có 11 số thì thêm 0x0F vào để làm MSB của byte thứ 6; byte29=0x0B(độ dài số điện thoại);

 

HÌNH 2.3 CÁCH LƯU SỐ ĐT

  1. Nhận tin nhắn từ điện thoại:

Khi có 1 tin nhắn mới, điện thoại tự động truyền dữ liệu đến vi xử lý thông qua FBUS,trong khung truyển có vị trí ô nhớ của tin nhắn trong điện thoại, số trung tâm tin nhắn, số điện thoại gửi đến,… khung truyền của điện thoại:

 

BẢNG 2.4 KHUNG TRUYỀN NHẬN TIN NHẮN

Byte3=0x02: truyền tin nhắn.

Byte11=0x07: vị trí ô nhớ, cần lưu byte này để thực hiện lệnh xóa tin nhắn.

Vị trí các byte chứa độ dài tin nhắn, độ dài số điện thoại, vị trí lưu tin nhắn, số điện thoại đều không thay đổi.

  1. Xóa tin nhắn:

khung truyền xóa tin nhắn gồm có:

 

BẢNG 2.5 KHUNG TRUYỀN XÓA TIN NHẮN

Byte 03: Message Type = 0x14 - SMS Functions

Byte 04 & 05: Message Length = 0x0008 - 08 Bytes long

Byte 6 to 8: Start of the SMS Frame Header. 0x00, 0x01, 0x00

Byte 9: 0x0A lệnh xóa tin nhắn

Byte 10: 0x02 bộ nhớ trên sim

Byte 11: 0x02 = vị trí ô nhớ (lấy từ byte 11 khi nhận tin nhắn)

Byte 12: 0x01

Byte 13: Packet Sequence Number

           Byte 14 & 15: kiểm tra chắn lẻ.

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

Chương 3: GIỚI THIỆU VI ĐIỂU KHIỂN AVR

 

3.1  Tổng quan:

  1. Những Tính Năng Chính Của ATmega32:
  • ROM : 32 Kbytes
  • SRAM: 2Kbytes
  • EEPROM : 1024bytes
  • 32 lines  I/O
  • 32 thanh ghi đa mục đích.
  • 1 bộ định thời 8 bit.
  • 2 bộ định thời 16 bit.
  • Bộ định thời watchdog
  • Bộ dao động nội RC tần số 1 MHz, 2 MHz, 4 MHz, 8 MHz
  • ADC 8 kênh với độ phân giải 10 bit
  • 4 kênh PWM
  • Bộ so sánh tương tự có thể lựa chọn ngõ vào
  • Khối USART lập trình được
  • Khối truyền nhận nối tiếp SPI
  • Khối giao tiếp nối tiếp 2 dây TWI
  • 6 chế độ tiết kiệm năng lượng
  • Lựa chọn tần số hoạt động bằng phần mềm
  • Tần số tối đa 16MHz
  • Điện thế : 4.5v - 5.5v

…v.v…

Vi điều khiển AVR do hãng Atmel ( Hoa Kì ) sản xuất được gới thiệu lần đầu năm 1996. AVR có rất nhiều dòng khác nhau bao gồm dòng Tiny AVR ( như AT tiny 13, ATtiny22…) có kích thước bộ nhớ nhỏ, ít bộ phận ngoại vi, rồi đến dòng AVR ( chẳn hạn AT90S8535, AT90S8515,…) có kích thước bộ nhớ vào loại trung bình và mạnh hơn là dòng Mega ( như ATmega32, ATmega128,…) với bộ nhớ có kích thước vài Kbyte đến vài trăm Kb cùng với các bộ ngoại vi đa dạng được tích hợp trên chip, cũng có dòng tích hợp cả bộ LCD trên chip ( dòng LCD AVR ). Tốc độ của dòng Mega cũng cao hơn so với các dòng khác. Sự khác nhau cơ bản giữa các dòng chình là cấu trúc ngoại vi, còn nhân thì vẫn như nhau. (Hình 3.1)

Hình 3.1 Các dòng AVR khác nhau: Tiny, AVR và Mega

Đặt biệt, năm 2008, Atmel lại tiếp tục cho ra đời dòng AVR mới là XmegaAVR, với những tính năng mạnh mẽ chưa từng có ở các dòng AVR trước đó. Có thể nói XmegaAVR là dòng MCU 8 bit mạnh mẽ nhất hiện nay.

Cấu trúc cơ bản của vi điều khiển AVR được thể hiện ở hình 3.2.

Hình 3.2. Cấu trúc của Vi điều khiển AVR

3.2 Tổ chức của AVR:

AVR có cấu trúc Harvard, trong đó đường truyền cho bộ nhớ dữ liệu (data memory bus) và đường truyền cho bộ nhớ chương trình (program memory bus) được tách riêng. Data memory bus chỉ có 8 bit và được kết nối với hầu hết các thiết bị ngoại vi, với register file. Trong khi đó program memory bus có độ rộng 16 bits và chỉ phục vụ cho instruction registers. Hình 1 mô tả cấu trúc bộ nhớ của AVR.

     Bộ nhớ chương trình (Program memory): Là bộ nhớ Flash lập trình được, trong các chip AVR cũ (như AT90S1200 hay AT90S2313…) bộ nhớ chương trình chỉ gồm 1 phần là Application Flash Section nhưng trong các chip AVR mới chúng ta có thêm phần Boot Flash setion. Boot section sẽ được khảo sát trong các phần sau, trong bài này khi nói về bộ nhớ chương trình, chúng ta tự hiểu là Application section. Thực chất, application section bao gồm 2 phần: phần chứa các instruction (mã lệnh cho hoạt động của chip) và phần chứa các vector ngắt (interrupt vectors). Các vector ngắt nằm ở phần đầu của application section (từ địa chỉ 0x0000) và dài đến bao nhiêu tùy thuộc vào loại chip. Phần chứa instruction nằm liền sau đó, chương trình viết cho chip phải được load vào phần này.

.ORG 0x000

RJMP BATDAU

.ORG 0x020

       Trong ví dụ này, ngay sau khi set vị trí 0x000 bằng chỉ thị (DIRECTIVE) .ORG 0x000 chúng ta dùng instruction RJMP để nhảy đến vị trí 0x020, như thế phần bộ nhớ chương trình từ 0x00 đến 0x01F không được sử dụng (vì trong  ví dụ này chúng ta không sử dụng các vector ngắt). Chương trình chính được bắt đầu từ địa chỉ 0x020, con số 0x020 là do người lập trình chọn, thật ra các vector ngắt của chip ATMEGA8 chỉ kéo dài đến địa chỉ 0x012, vì vậy chương trình chính có thể được bắt đầu từ bất cứ vị trí nào sau đó. Để biết độ dài các vector ngắt của từng chip bạn hãy tham khảo datasheet của chip đó.

      Vì chức năng chính của bộ nhớ chương trình là chứa instruction, chúng ta không có nhiều cơ hội tác động lên bộ nhớ này khi lập trình cho chip, vì thế đối với người lập trình AVR, bộ nhớ này “không quá quan trọng”. Tất cả các thanh ghi quan trọng cần khảo sát nằm trong bộ nhớ dữ liệu của chip.

Hình 3.3. Tổ chức bộ nhớ của AVR.

      Bộ nhớ dữ liệu (data memory): Đây là phần chứa các thanh ghi quan trọng nhất của chip, việc lập trình cho chip phần lớn là truy cập bộ nhớ này. Bộ nhớ dữ liệu trên các chip AVR có độ lớn khác nhau tùy theo mỗi chip, tuy nhiên về cơ bản phần bộ nhớ này được chia thành 5 phần:

      Phần 1: là phần đầu tiên trong bộ nhớ dữ liệu, như mô tả trong hình 1, phần này bao gồm 32 thanh ghi có tên gọi là register file (RF), hay General Purpose Rgegister – GPR, hoặc đơn giản là các Thanh ghi. Tất cả các thanh ghi này đều là các thanh ghi 8 bits

Hình 3.4. Thanh ghi 8 bits.

    Tất cả các chip trong họ AVR đều bao gồm 32 thanh ghi Register File có địa chỉ tuyệt đối từ 0x0000 đến 0x001F. Mỗi thanh ghi có thể chứa giá trị dương từ 0 đến 255 hoặc các giá trị có dấu từ -128 đến 127 hoặc mã ASCII của một ký tự nào đó…Các thanh ghi này được đặt tên theo thứ tự là R0 đến R31. Chúng được chia thành 2 phần, phần 1 bao gồm các thanh ghi từ R0 đến R15 và phần 2 là các thanh ghi R16 đến R31. Các thanh ghi này có các đặc điểm sau:

  • Được truy cập trực tiếp trong các instruction.
  • Các toán tử, phép toán thực hiện trên các thanh ghi này chỉ cần 1 chu kỳ xung clock.
  • Register File được kết nối trực tiếp với bộ xử lí trung tâm – CPU của chip.
  • Chúng là nguồn chứa các số hạng trong các phép toán và cũng là đích chứa kết quả trả lại của phép toán.

Để minh họa, hãy xét ví dụ thực hiện phép cộng 2 thanh ghi bằng instruction ADD như sau:

ADD R1, R2

Bạn thấy trong dòng lệnh trên, 2 thanh ghi R1 và R2 được sử dụng trực tiếp với tên của chúng, dòng lệnh trên khi được dịch sang opcode để download vào chip sẽ có dạng: 0000110000010010 trong đó 00001=1 tức thanh ghi R1 và 00010 = 2 chỉ thanh ghi R2. Sau phép cộng, kết quả sẽ được lưu vào thanh ghi R1.

      Tất cả các instruction sử dụng RF làm toán hạng đều có thể truy nhập tất cả các RF một cách trực tiếp trong 1 chu kỳ xung clock, ngoại trừ SBCI, SUBI, CPI, ANDI và LDI, các instruction này chỉ có thể truy nhập các thanh ghi từ R16 đến R31.

      Thanh ghi R0 là thanh ghi duy nhất được sử dụng trong instruction LPM (Load Program Memory). Các thanh ghi R26, R27, R28, R29, R30 và R31 ngoài chức năng thông thường còn được sử dụng như các con trỏ (Pointer register) trong một số instruction truy xuất gián tiếp. Chúng ta sẽ khảo sát vấn đề con trỏ sau này. Hình 3 mô tả các chức năng phụ của các thanh ghi.

Hình 3.5. Register file.

      Tóm lại 32 RF của AVR được xem là 1 phần của CPU, vì thế chúng được CPU sử dụng trực tiếp và nhanh chóng, để gọi các thanh ghi này, chúng ta không cần gọi địa chỉ mà chỉ cần gọi trực tiếp tên của chúng. RF thường được sử dụng như các toán hạng (operand) của các phép toán trong lúc lập trình.

      Phần 2: là phần nằm ngay sau register file, phần này bao gồm 64 thanh ghi được gọi là 64 thanh ghi nhập/xuất (64 I/O register) hay còn gọi là vùng nhớ I/O (I/O Memory). Vùng nhớ I/O là cửa ngõ giao tiếp giữa CPU và thiết bị ngoại vi. Tất cả các thanh ghi điều khiển, trạng thái…của thiết bị ngoại vi đều nằm ở đây. Xem lại ví dụ trong bài 1, trong đó tôi có đề cập về việc điều khiển các PORT của AVR, mỗi PORT liên quan đến 3 thanh ghi DDRx, PORTx và PINx, tất cả 3 thanh ghi này đều nằm trong vùng nhớ I/O. Xa hơn, nếu muốn truy xuất các thiết bị ngoại vi khác như Timer, chuyển đổi Analog/Digital, giao tiếp USART…đều thực hiện thông qua việc điều khiển các thanh ghi trong vùng nhớ này.

     Vùng nhớ I/O có thể được truy cập như SRAM hay như các thanh ghi I/O. Nếu sử dụng instruction truy xuất SRAM để truy xuất vùng nhớ này thì địa chỉ của chúng được tính từ 0x0020 đến 0x005F. Nhưng nếu truy xuất như các thanh ghi I/O thì địa chỉ của chúng đựơc tính từ 0x0000 đến 0x003F.

     Xét ví dụ instruction OUT dùng xuất giá trị ra các thanh ghi I/O, lệnh này sử dụng địa chỉ kiểu thanh ghi, cấu trúc của lệnh như sau: OUT A, Rr, trong đó A là địa chỉ của thanh ghi trong vùng nhớ I/O, Rr là thanh ghi RF, lệnh OUT xuất giá trị từ thanh ghi Rr ra thanh ghi I/O có địa chỉ là A. Giả sử chúng ta muốn xuất giá trị chứa trong R6 ra thanh ghi điều khiển hướng của PORTD, tức thanh ghi DDRD, địa chỉ tính theo vùng I/O của thanh ghi DDRD là 0x0011, như thế câu lệnh của chúng ta sẽ có dạng: OUT 0x0011, R6. Tuy nhiên trong 1 trường hợp khác, nếu muốn truy xuất DDRD theo dạng SRAM, ví dụ lệnh STS hay LDS, thì phải dùng địa chỉ tuyệt đối của thanh ghi này, tức giá trị 0x0031, khi đó lệnh OUT ở trên được viết lại là STS 0x0031, R6.

     Để thống nhất cách sử dụng từ ngữ, từ bây giờ chúng ta dùng khái niệm “địa chỉ I/O” cho các thanh ghi trong vùng nhớ I/O để nói đến địa chỉ không tính phần Register File, khái niệm “địa chỉ bộ nhớ” của thanh ghi là chỉ địa chỉ tuyệt đối của chúng trong SRAM. Ví dụ thanh ghi DDRD có “địa chỉ I/O” là 0x0011 và “địa chỉ bộ nhớ” của nó là 0x0031, “địa chỉ bộ nhớ” = “địa chỉ I/O” + 0x0020.

     Vì các thanh ghi trong vùng I/O không được hiểu theo tên gọi như các Register file, khi lập trình cho các thanh ghi này, người lập trình cần nhớ địa chỉ của từng thanh ghi, đây là việc tương đối khó khăn. Tuy nhiên, trong hầu hết các phần mềm lập trình cho AVR, địa chỉ của tất cả các thanh ghi trong vùng I/O đều được định nghĩa trước trong 1 file Definition, bạn chỉ cần đính kèm file này vào chương trình của bạn là có thể truy xuất các thanh ghi với tên gọi của chúng. Giả sử trong ví dụ ở bài 1, để lập trình cho chip Atmega8 bằng AVRStudio, dòng thứ 2 chúng ta sử dụng INCLUDE "M8DEF.INC" để load file định nghĩa cho chip ATMega8, file M8DEF.INC. Vì vậy, trong sau này khi muốn sử dụng thanh ghi DDRD bạn chỉ cần gọi tên của chúng, như: OUT DDRD,R6.

     Phần 3: RAM tĩnh, nội (internal SRAM), là vùng không gian cho chứa các biến (tạm thời hoặc toàn cục) trong lúc thực thi chương trình, vùng này tương tự các thanh RAM trong máy tính nhưng có dung lượng khá nhỏ (khoảng vài KB, tùy thuộc vào loại chip).

     Phần 4: RAM ngoại (external SRAM), các chip AVR cho phép người sử dụng gắn thêm các bộ nhớ ngoài để chứa biến, vùng này thực chất chỉ tồn tại khi nào người sử dụng gắn thêm bộ nhớ ngoài vào chip.

     Phần 5: EEPROM (Electrically Ereasable Programmable ROM) là một phần quan trọng của các chip AVR mới, vì là ROM nên bộ nhớ này không bị xóa ngay cả khi không cung cấp nguồn nuôi cho chip, rất thích hợp cho các ứng dụng lưu trữ dữ liệu. Như trong hình 1, phần bộ nhớ EEPROM được tách riêng và có địa chỉ tính từ 0x0000.

        Hình 4 biểu diễn cấu trong bên trong của 1 AVR. Bạn thấy rằng 32 thanh ghi trong Register File được kết nối trực tiếp với Arithmetic Logic Unit -ALU (ALU cũng được xem là CPU của AVR) bằng 2 line, vì thế ALU có thể truy xuất trực tiếp cùng lúc 2 thanh ghi RF chỉ trong 1 chu kỳ xung clock (vùng được khoanh tròn màu đỏ trong hình 4).

Hình 3.6. Cấu trúc bên trong AVR.

      Các instruction được chứa trong bộ nhớ chương trình Flash memory dưới dạng các thanh ghi 16 bit. Bộ nhớ chương trình được truy cập trong mỗi chu kỳ xung clock và  1 instruction chứa trong program memory sẽ được load vào trong instruction register, instruction register tác động và lựa chọn register file cũng như RAM cho ALU thực thi. Trong lúc thực thi chương trình, địa chỉ của dòng lệnh đang thực thi được quyết định bởi một bộ đếm chương trình – PC (Program counter). Đó chính là cách thức hoạt động của AVR.

      AVR có ưu điểm là hầu hết các instruction đều được thực thi trong 1 chu kỳ xung clock, vì vậy có thể nguồn clock lớn nhất cho AVR có thể nhỏ hơn 1 số vi điều khiển khác như PIC nhưng thời gian thực thi vẫn nhanh hơn.

 

3.3. Thanh ghi trạng thái - SREG (STATUS REGISTRY).

       Nằm trong vùng nhớ I/O, thanh ghi SREG có địa chỉ I/O là 0x003F và địa chỉ bộ nhớ là 0x005F (thường đây là vị trí cuối cùng của vùng nhớ I/O) là một trong số các thanh ghi quan trọng nhất của AVR, vì thế mà tôi dành phần này để giới thiệu về thanh ghi này. Thanh ghi SREG chứa 8 bit cờ (flag) chỉ trạng thái của bộ xử lí, tất cả các bit này đều bị xóa sau khi reset, các bit này cũng có thể được đọc và ghi bởi chương trình. Chức năng của từng bit được mô tả như sau:

 

Hình 3.7. Thanh ghi trạng thái.

  • Bit 0 – C (Carry Flag: Cờ nhớ): là bit nhớ trong các phép đại số hoặc logic, ví dụ thanh ghi R1 chứa giá trị 200, R2 chứa 70, chúng ta thực hiện phép cộng có nhớ: ADC R1, R2, sau phép cộng, kết quả sẽ được lưu lại trong thanh ghi R1, trong khi kết quả thực là 270 mà thanh ghi R1 lại chỉ có khả năng chứa tối đa giá trị 255 (vì có 8 bit) nên trong trường hợp này, giá trị lưu lại trong R1 thực chất chỉ là 14, đồng thời cờ C được set lên 1 (vì 270=100001110, trong đó 8 bit sau 00001110 =14 sẽ được lưu lại trong R1).
  • Bit 1 – Z (Zero Flag: Cờ 0): cờ này được set nếu kết quả phép toán đại số hay phép Logic bằng 0.
  • Bit 2 – N (Negative Flag: Cờ âm): cờ này được set nếu kết quả phép toán đại số hay phép Logic là số âm.
  • Bit 3 – V (Two’s complement Overflow Flag: Cờ tràn của bù 2): hoạt động của cờ này có vẻ sẽ khó hiểu cho bạn vì nó liên quan đến kiến thức số nhị phân (phần bù), chúng ta sẽ đề cập đến khi nào thấy cần thiết.
  • Bit 4  – S (Sign Bit: Bit dấu): Bit S là kết quả phép XOR giữa 1 cờ N và V, S=N xor V.
  • Bit 5 – H (Half Carry Flag: Cờ nhờ nữa): cờ H là cờ nhớ trong 1 vài phép toán đại số và phép Logic, cờ này hiệu quả đối với các phép toán với số BCD.
  • Bit 6 – T (Bit Copy Storage): được sử dụng trong 2 Instruction BLD (Bit LoaD) và BST (Bit STorage). Tôi sẽ giải thích chức năng Bit T trong phần giới thiệu về BLD và BST.
  • Bit 7 – I (Global Interrupt Enable) : Cho phép ngắt toàn bộ): Bit này phải được set lên 1 nếu trong chương trình có sử dụng ngắt. Sau khi set bit này, bạn muốn kích hoạt loại ngắt nào cần set các bit ngắt riêng của ngắt đó. Hai instruction dùng riêng để Set và Clear bit I là SEI và CLI.

      Chú ý: tất cả các bit trong thanh ghi SREG đều có thể được xóa thông qua các instruction không toán hạng CLx và set bởi SEx, trong đó x là tên của Bit.Ví dụ CLT là xóa Bit T và SEI là set bit I.

Tôi chỉ giải thích ngắn gọn chức năng của các

KẾT LUẬN:

Qua thời gian làm đồ án tốt nghiệp, nhóm sinh viên thực hiện đã hoàn thành cả lý thuyết lẫn thi công. Với đề tài này giúp cho nhóm sinh viên thực hiện học được nhiều điều bổ ích và nắm vững hơn về lý thuyết điện tử, vi xử lý.

Trong thời gian làm đề tài, với sự hạn chế về tài liệu vì vậy đòi hỏi mỗi sinh viên của nhóm phải cố gắng tìm tòi và nhiệt tình trong công việc nghiên cứu và cuối cùng đề tài đã hoàn thành 1 cách trọn vẹn. Đó là kết quả của 1 thời gian dài nỗ lực của mỗi sinh viên trong nhóm dưới sự hướng dẫn tận tình của giáo viên hướng dẫn Thầy Dương Huỳnh Bảo cùng với sự giúp đỡ của bạn bè nên đề tài đã hoàn thành đúng thời hạn.

Nhóm đã thực hiện được các nhiệm vụ của đồ án: giao tiếp với điện thoại di động, thiết kết mạch điều khiển dung VXL, thi công mô hình và lập trình điều khiển ON/OFF các tải.

_Đề tài của nhóm có được những tính năng cơ bản sau:

+ Điều khiển bật tắt các thiết bị bằng tin nhắn.

+ Tự động trả lời tin nhắn kiểm tra trạng thái relay và kiểm tra nhiệt độ.

+ Khi nhiệt độ vượt quá nhiệt độ đặt, tự động giửi tin nhắn đến 1 số điện thoại được cài đặt từ bàn phím ( chức năng báo cháy) .

_Do thời gian nghiên cứu và khả năng lập trình còn hạn hẹp nên đề tài chưa thể có những tính năng cao hơn như: 1 tin nhắn điều khiển nhiều thiết bị, mật khẩu hệ thống thay đổi được từ bàn phím….

_Nếu đề tài được nghiên cứu và phát triển hoàn thiện thì khả năng ứng dụng đề tài vào trong đời sống sinh hoạt, sản xuất, … là rất cao.

_Có thể lắp đặt trong ngôi nhà để người chủ đóng mở cửa, bật tắt các thiết bị như đèn quạt…ở bất cứ nơi nào có sóng điện thoại, giám sát ngôi nhà nhờ chức năng báo cháy, chống trộm.

_Kết hợp với các mạch điện, cảm biến trong xe máy, ô tô, tàu hỏa…để điều khiển và giám sát các phương tiện đó khi chúng đang hoạt động ở xa. Báo tốc độ, xăng,...đóng mở cửa, khởi động phương tiện, dừng phương tiện…

_Điều khiển các dây chuyền sản xuất từ xa, nhưng nơi độc hại, con người không thể đặt chân đến. …v…v…     

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

Chương 4: CÁC LINH KIỆN KHÁC

4.1. Cảm biến đo nhiệt độ LM35:

_LM35 là một họ IC cảm biến nhiệt độ sản xuất theo công nghệ bán dẫn dựa trên các chất bán dẫn dễ bị tác động bởi sự thay đổi của nhiệt độ , đầu ra của cảm biến là điện áp(V) tỉ lệ với nhiệt độ mà nó được đặt trong môi trường cần đo.

_Họ LM35 có rất nhiều loại và nhiều kiểu đóng vỏ khác nhau.

Hình 4.1 cảm biến nhiệt LM35.

_Đặc điểm nổi bật:

+Đo nhiệt độ với thang đo nhiệt bách phân (0 C)

+Độ phân giải : 10mV/10C

+Khả năng đo nhiệt độ trong khoảng: - 55 đến +150 (0 C)

+Nguồn áp hoạt động : 4V đến 30V

+Điện áp đầu ra : +6V đến -1V

_Ưu điểm: Rẽ tiền, dễ chế tạo,chống nhiễu tốt, mạch xử lý đơn giản.

_Khuyết điểm: Không chịu nhiệt độ cao, kém bền.

_Thường dùng: Đo nhiệt độ không khí, dùng trong các thiết bị đo, bảo vệ các mạch điện tử.

_Ghép nối cảm biến với atmega32: sử dụng bộ ADC trong AVR tức là đưa chân tín hiệu output của LM35 vào chân nào đó của bộ ADC (ở đây sử dụng kênh 0) để chuyển từ tín hiệu điệp áp tương tự sang tín hiệu số, sau đó vi điều khiển sẽ đưa ra ngoài hiển thị lên LCD.

_Bộ ADC của atmega32 có độ phân giải là 10 bit tức là có 1024 mức, sử dụng điện áp tham chiếu nội 2.56V :1024 = 0.0025V

_Khả năng phân giải của LM35 là 10mV/1(0C)

_Sau khi nhận được giá trị chuyển đổi ADC(ADC_val) ta tính được vin:

vin = (ADC_val*0.0025)V

nhiệt độ = vin*1000/10=vin*100(oC).

4.2 Lcd 16x2:

_Chức năng của LCD trong hầu hết các mạch, các bộ điều khiển đảm nhân vai trò hiển thị các thông số, các thông tin mà chúng ta muốn nhập vào hay các thông tin xử lý mà bộ điều khiển đang hoạt động đựoc hiển thị ra màn hình, giúp chúng ta giao tiếp gần hơn với quá trình hoạt đông của hệ thống. Loại LCD mà chúng ta sử dụng là loại SD-DM1602A 2 dòng mổi dòng 16 kí tự, loại này do Trung Quốc sản xuất . Nó có 16 chân như hình vẽ.

_Trong đó chúng ta có thể thấy 2 chân 1,2 được cấp nguồn cho LCD hoạt động, chân thứ 3 (chân VSS) được nối vào đầu ra của biến trở dùng để điều chỉnh độ tương phản (phải điều chỉnh VSS hợp lý thì LCD mới hiển thị được) 2 chân 15,16 đây là 2 chân cấp nguồn dung để bật đèn của LCD từ chân 4->14 là các chân điều khiển được nối với vi điều khiển, các chân 4,5,6 được để điều khiển hoạt động của LCD, các chân còn lại là 8 bit Data dùng để truyền nhận dữ liệu. Chúng ta có thể giao tiếp Data 8 bit hoặc 4 bit nhưtrong mạch của chúng ta truyền Data dưới dạng 4 bit. Việc truyền dưới dạng 4bit hoặc 8 bit phải được thiết lập cả phần cúng và phần mềm.

Hình 4.2 kết nối lcd với AVR:

4.3 OPTO Triac MOC3020:

_MOC3020 là loại Opto Triac quang học được cách ly giữa ngõ vào và ngõ ra. Nó gồm có 1 LED hồng ngoại và 1 Triac silicon có khả năng dẫn 2 chiều khi nhận ánh sáng kích thích từ LED hồng ngoại. MOC3020 được thiết kế như là thiết bị giao tiếp giữa mạch điện điều khiển và Triac công suất để điều khiển tải R hoặc tải cảm L có điện áp từ 115 V (60Hz) đến 240V (50Hz).

_Chú ý: MOC3020 không dùng để điều khiển trực tiếp tải công suất, mà chỉ là mạch kích, muốn điều khiển tải phải nối với thiết bị khác như Triac chẳng hạn.

_ Các thông số kỹ thuật:

  • Tầm nhiệt hoạt động: -40 đến +850C
  • Điện áp ngược: VR= VTM = 3V
  • Dòng thuận: IFT =  30mA
  • Điện áp hở đầu ra:  250V
  • Chức năng các chân:
    • Chân 1: Anode
    • Chân 2: Catot
    • Chân 3 và 5: Không sử dụng
    • Chân 4 và 6: là chân kích

4.4 Triac BTA06-600B:

HINH 4.4 Triac BTA06-600b

_Triac BTA06-600B với vỏ có khả năng cách ly điện áp AC cao (khoảng 1.5 KVAC), có thể dẫn cả hai chiều nếu được kích xung cho phép thông qua chân số 3, tải được mắc giữa chân 1 và 2 rồi nối với nguồn AC.

_ Thông số kỹ thuật:

  • Điện áp đỉnh mạch hở: 600V
  • Dòng định mức: 6A
  • Cách ly điện áp: 1500VAC
  • Dòng dòng kích IGT = 50 mA
  • Điện áp Max cực kích Gate: 20

4.5 Sơ đồ mạch & tính toán:

_mạch vi xử lý:

SƠ ĐỒ 4.1: MẠCH VI XỬ LÝ

 

DANH MỤC TÀI LIỆU THAM KHẢO

 

[1] Lê Tiến Thường, (2004), Mạch điện tử 1, Nhà xuất bản đại học quốc gia TP HCM.

[2] http://www.embedtronics.com/nokia/fbus.html, truy nhập cuối cùng ngày 11/8/2012.

[3] http://www.dientuvietnam.net , truy nhập cuối cùng ngày 11/8/2012.

[4] http://www.hocavr.com , truy nhập cuối cùng ngày 11/8/2012.

[5] http://pinouts.ru/CellularPhones-Nokia/nokia_8210_pinout.shtml , truy nhập cuối cùng ngày 11/8/2010

 

Close