1. Trang chủ
  2. » Luận Văn - Báo Cáo

NGHIÊN CỨU THIẾT KẾ MÔ HÌNH HỆ THỐNG ĐO TỐC ĐỘ VÀ HƯỚNG GIÓ KỸ THUẬT SỐ

55 1,2K 13

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 55
Dung lượng 5,46 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

NGHIÊN CỨU THIẾT KẾ MÔ HÌNH HỆ THỐNG ĐO TỐC ĐỘ VÀ HƯỚNG GIÓ KỸ THUẬT SỐ

Trang 1

LỜI CẢM ƠN

Em xin chân thành cảm ơn tới các thầy cô giáo trong khoa Điện tử viễnthông – trường Đại học hàng hải, đã định hướng, giúp đỡ, tạo mọi điều kiệnthuận lợi cho em trong quá trình nghiên cứu Đặc biệt em xin cảm ơn thầy NgôXuân Hường và thầy Vũ Xuân Hậu đã trược tiếp hướng dẫn, chỉ bảo em để cóthể hoàn thành tốt đồ án này

Em xin chân thành cảm ơn tới các chú, các anh kỹ thuật viên trong Xưởngđiện tử, thuộc công ty cổ phần điện tử hàng hải đã nhiệt tình chỉ bảo, tạo điềukiện cho em được tìm hiểu, tiếp xúc với các thiết bị thực tế đồng thời có thể thựcnghiệm, đo lường với các thiết bị, máy móc tại Xưởng

Trang 2

LỜI CAM ĐOAN

Em xin cam đoan đây là công trình nghiên cứu của bản thân, dưới sựhướng dẫn trực tiếp của thầy Ngô Xuân Hường và thầy Vũ Xuân Hậu Các kếtquả nghiên cứu đưa ra trong đồ án này do em tự tìm hiểu, phân tích và thựcnghiệm và không sao chép bất kì công trình nghiên cứu của tác giả nào khác.Nội dung đồ án có sử dụng một số thông tin, tài liệu tham khảo và được tríchdẫn rõ ràng tên tác giả, tên công trình, thời gian và địa điểm công bố, và đượcliệt kê trong danh mục tài liệu tham khảo

Trang 3

MỤC LỤC

PHẦN MỞ ĐẦU 1

CHƯƠNG 1:GIỚI THIỆU VỀ HỆ THỐNG ĐO GIÓ 2

1.1 KHÁI NIỆM 2

1.2 CẤU TẠO CỦA MỘT HỆ THỐNG ĐO GIÓ 2

1.2.1 Khối sensor 2

1.2.2 Khối Display 4

1.3 ỨNG DỤNG CỦA HỆ THỐNG ĐO GIÓ 4

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

2.1 ENCODER 6

2.1.1 Khái quát chung về encoder 6

2.1.2 Encoder tuyệt đối 7

2.1.3 Encoder tương đối 9

2.2 VI ĐIỀU KHIỂN ATMEGA8 10

2.2.1 Tổng quan về vi điều khiển Atmega8 10

2.2.2 Cấu trúc chung của vi điều khiển Atmega8 11

2.2.3 Điều khiển vào ra I/O 14

2.2.4 Timer/counter 15

2.2.5 Truyền thông nối tiếp USART 17

2.3 CHUẨN GIAO TIẾP NMEA 0183 21

2.3.1 Khái niệm 21

2.3.2 Đặc điểm kỹ thuật 21

2.3.3 Câu lệnh NMEA của hệ thống đo gió 22

CHƯƠNG 3: THIẾT KẾ MÔ HÌNH HỆ THỐNG ĐO GIÓ 23

3.1 Ý TƯỞNG VÀ PHƯƠNG ÁN THIẾT KẾ 23

3.1.1 Xác định bài toán thiết kế 23

3.1.2 Ý tưởng thiết kế 23

3.1.3 Phương án thiết kế 23

3.2 THIẾT KẾ KHỐI CẢM BIẾN 24

3.2.1 Cảm biến tốc độ gió 24

3.2.2 Cảm biến hướng gió 26

3.3 THIẾT KẾ KHỐI HIỂN THỊ 27

3.3.1 Thiết kế mạch 27

3.3.2 Lập trình cho vi điều khiển Atmega8 33

KẾT LUẬN VÀ KIẾN NGHỊ 35

1 Kết luận 35

2 Kiến nghị 35

TÀI LIỆU THAM KHẢO 37

PHỤ LỤC 38

Trang 4

MỘT SỐ TỪ VIẾT TẮT SỬ DỤNG TRONG ĐỒ ÁN

ENCODER Cảm biến góc quay

ALU Arithmetic Logic Unit – Khối xử lý toán học

VĐK Vi điều khiển

USART Truyền thông nối tiếp

RAM Random Access Memory – Bộ nhớ ghi/đọc

ROM Read Only Memory – Bộ nhớ chỉ đọc

EPROM Aerraseble programmable ROM – Bộ nhớ Rom lập trình được

GPS Global Position System – hệ thống định vị toàn cầu

DANH MỤC CÁC BẢNG

Trang 5

Số bảng Tên bảng Trang

2.1 Lựa chọn xung clock cho bộ timer/counter 0 15

DANH MỤC CÁC HÌNH VẼ

Trang 6

Số hình Tên hình Trang

1.3 Màn hình chỉ báo của máy đo gió WALER 2050 4

2.7 Cấu trúc vi điều khiển Atmega8 112.8 Bộ nhớ chướng trình của Atmega8 12

3.1 Cấu tạo mô hình cảm biến tốc độ gió 24

3.3 Sơ đồ mạch Encoder trong cảm biến đo tốc độ gió 253.4 Cấu tạo mô hình cảm biến hướng gió 26

3.6 Sơ đồ layout mạch vi điều khiển 31

3.8 Sơ đồ layout mạch hiển thị Led 32

Trang 7

PHẦN MỞ ĐẦU

Trong lịch sử phát triển của mình, từ xa xưa, con người đã biết tới nguồnnăng lượng gió và ảnh hưởng của nó đến đời sống Ngưởi ta lợi dụng sức gió đểđẩy thuyền buồm ra khơi, để chế tạo cối xay gió hay để làm máy phát điện, Tuy nhiên sức gió cũng có thể gây ra những ảnh hưởng tiêu cực như làm lệchhướng di chuyển của tàu thuyền, ảnh hưởng tới độ vững chắc của các tòa nhàcao tầng, hay những cơn gió to gây thiệt hại tới tài sản và tính mạng con ngưởi

Do đó việc “đo” được sức gió, nghĩa là nắm được những thông số như hướnggió, tốc độ gió, áp suất gió là rất quan trọng, và những chiếc máy đo gió ra đời

Tong quá trình tìm hiểu, chuẩn bị đề tài tốt nghiệp cùng với sự địnhhướng của thầy Ngô Xuân Hường và thầy Vũ Xuân Hậu, em đã lựa chọn đề tàitốt nghiệp “NGHIÊN CỨU THIẾT KẾ MÔ HÌNH HỆ THỐNG ĐO TỐC ĐỘ

VÀ HƯỚNG GIÓ KỸ THUẬT SỐ” Đây là những ý tưởng của em về việc thiết

kế một hệ thống đo gió, kết hợp với việc tìm hiểu các hệ thống đo gió hiện nay,cùng với sự hướng dẫn, chỉ bảo của các thầy Tuy nhiên do kiến thức của emcòn hạn chế, nên đồ án còn nhiều sai sót Em rất mong nhận được sự góp ý, bổsung của các thầy để bản đồ án của em được hoàn thiện hơn đồng thời là cơ hội

để em hoàn thiện hơn những kiến thức và hiểu biết của bản thân

Trang 8

CHƯƠNG 1:GIỚI THIỆU VỀ HỆ THỐNG ĐO GIÓ

1.1 KHÁI NIỆM

Hệ thống đo gió (anemometer), là một thiết bị dùng để đo tốc độ, hướnggió và áp suất của gió Hiện nay, các hệ thống đo gió chủ yếu gồm hai chứcnăng là đo tốc độ và hướng gió

1.2 CẤU TẠO CỦA MỘT HỆ THỐNG ĐO GIÓ

1.2.1 Khối sensor

Hình 1.1 Cảm biến đo gió WALKER 2050

Khối cảm biến bao gồm cảm biến tốc độ gió (wind speed sensor) và cảmbiến hướng gió (direction indicator sensor) Tùy theo cấu tạo và hình dạng củacảm biến tốc độ gió, ta có 2 loại hệ thống đo gió:

Dạng máy đo gió hình chén, được phát minh bởi tiến sĩ John Thomas

Romney Robinson (1846), đây là một trong những thiết bị đo gió đầu tiên vàhiện nay vẫn được sử dụng khá rộng rãi

Cấu tạo của máy gồm 3 hoặc 4 tay đòn đặt vuông góc với nhau Ở đầumỗi tay đòn có gắn một chén hình bán cầu Có một trục đứng ở giữa nằm ở giao

Trang 9

điểm các tay đòn là tâm mà các chén quay xung quanh và một bộ truyền độngthực hiện đếm số vòng mà trục quay được, và từ số vòng quay được đó trongmột khoảng thời gian ta sẽ tính ra được vận tốc gió.

Các chén được đặt đối xứng với nhau, do đó gió luôn thổi vào phía trongcủa chén Mặc dù phía ngoài của chén cũng có gió thổi vào nhưng áp suất gió rấtnhỏ, do đó chén sẽ bị đẩy đi theo 1 hướng, kết hợp với hiện tượng quán tính, lầnlượt các chén liên tục bị đẩy sinh ra hiện tượng quay vòng

Máy đo gió dạng cối xay gió: trục quay nằm song song với hướng gió ,

với cánh quạt được gắn ở đầu, do đó nó nằm ngang, khi gió đổi chiều thì trụcquay cũng thay đổi

Hình 1.2 Cảm biến đo gió YOUNG 05103

Trang 10

1.2.2 Khối Display

Hình 1.3 Màn hình chỉ báo của máy đo gió WALER 2050

Khối Display nhận tín hiệu từ cảm biến cho phép hiển thị tốc độ gió bằng

số, và hướng gió thể hiện bằng vị trí đèn led sáng hay chỉ báo bằng hướng mũitên trên màn hình LCD

Ngoài việc hiển thị trên màn hình, hệ thống đo gió còn cho phép xuất tínhiệu ra để đưa vào một máy tính để xử lý hay ghép nối tới các thiết bị khác (ví

dụ như trong hàng hải, tín hiệu đo gió được ghép nối tới hộp đen, hải đồ điệntử, ) tín hiệu ra là các câu lệnh theo chuẩn giao tiếp NMEA

1.3 ỨNG DỤNG CỦA HỆ THỐNG ĐO GIÓ

Hệ thống đo gió được lắp đặt tại các trạm khí tượng thủy văn, cho phépxác định các thông số về hướng gió, cường độ gió (cấp gió) và áp suất gió, lànhững thông tin quan trọng trong việc phân tích tình hình thời tiết và đưa ra cácbản tin dự báo, cảnh báo thời tiết

Trong hàng hải, đặc biệt là với tàu thuyền lưu thông trên biển, việc nắmđược các thông tin về hướng và cường độ gió rất quan trọng, giúp cho ngườiđiều khiển tàu chỉnh góc lái phù hợp tránh hiện tượng tàu bị trôi dạt lệch khỏihướng hành trình Hệ thống đo gió là một trong những nghi khí dẫn đường hànghải quan trọng

Trang 11

Ngoài ra hệ thống đo gió cũng được ứng dụng trong các lĩnh vực nôngnghiệp, xây dựng, thể thao,…

Trang 12

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

2.1 ENCODER

2.1.1 Khái quát chung về encoder

a Khái niệm Encoder

Encoder là một loại cảm biến vị trí, cho phép xác định thông tin về gócquay một cách chính xác dưới dạng số Tín hiệu ra của encoder là các bit nhịphân, với số lượng bit tương ứng với độ phân giải của encoder

b Phân loại encoder

Encoder được phân làm 2 loại chính, bao gồm:

- Encoder tuyệt đối: sử dụng đĩa theo mã nhị phân, mã Gray hoặc mãBCD

- Encoder tương đối: gồm có loại 1 kênh, loại 2 kênh

c Cấu tạo và nguyên lý hoạt động

Hình 2.1 Cấu tạo của encoder

Cấu tạo của encoder gồm 1 đĩa tròn xuay quanh trục Trên đĩa cókhoét các lỗ (rãnh) Một bên mặt đĩa đặt một led phát hồng ngoại và bênkia đặt một transitor thu quang thẳng hàng Với mạch thu phát như hình

Trang 13

trên, khi đĩa quay, chỗ có lỗ, ánh sáng hồng ngoại sẽ chiếu vào transistorthu quang, transistor sẽ dẫn và ta thu được tín hiệu ra mức “0” và ngượclại, chỗ không có lỗ, ánh sáng hồng ngoại sẽ không chiếu vào transistorđược, transistor không dẫn và ta thu được tín hiệu ra mức “1” Giả sử rằngtrên đĩa quay ta khoét một lỗ duy nhất thì khi ta nhận được một xung tínhiệu ra nghĩa là đĩa đã quay được một vòng Đây chính là nguyên lý cơbản của encoder.

d Ứng dụng của Encoder

Trong thực tế, encoder thường được dùng để:

- Đo tôc độ động cơ, điều khiển tốc độ động cơ

- Xác định góc dịch chuyển, hướng dịch chuyển

- Đo khoảng dịch chuyển của vật, vận tôc của vật thông qua đo tốc

độ vòng quay

- Ứng dụng nhiều trong các lĩnh vực tự động công nghiệp, robot,hàng không,

2.1.2 Encoder tuyệt đối

Đĩa quay của encoder tuyệt đối gồm nhiều vòng tròn đồng tâm tạo thànhnhững “dải băng” có xẻ rãnh theo quy luật mã nhị phân hay mã Gray Encodertuyệt đối có nhiều bộ thu phát hồng ngoại, tương ứng với số “dải băng”, mỗi bộthu phát hồng ngoại cho ra một bit tín hiệu Số bit tín hiệu ra (n) cũng tương ứngvới số “dải băng”, mã hóa được 2n trạng thái góc quay

Trang 14

Hình 2.2 Cấu tạo encoder tuyệt đối

Hình 2.3 Đĩa quay encoder tuyệt đối

Ta thấy ở hình trên là một đĩa quay encoder tuyệt đối với ba “dải băng”tương ứng với 8 trạng thái góc được mã hóa Với 3 bộ thu phát hồng ngoại ta thuđược tín hiệu ra gồm 3 bit, tương ứng theo chiều ngược kim đồng hồ sẽ là: 000,

001, 010, 011, 100, 101, 110, 111 Độ chính xác về góc quay trong trường hợp

Trang 15

này là 40o Khi số “dải băng” tăng lên, ta có thể mã hóa được nhiều trạng tháigóc hơn, tương ứng với độ chính xác về góc tăng lên đáng kể.

2.1.3 Encoder tương đối

Hình 2.4 Đĩa quay của encoder tương đối

Encoder tương đối về cơ bản có cấu tạo như encoder tuyệt đối, nhưng đĩaquay chỉ có một dải băng trên đó có các lỗ (rãnh) phân bố đều nhau Giả sử đĩaencoder có 8 lỗ như hình trên, khi ta đọc được 8 xung nghĩa là đĩa đã quay đượcmột vòng

Tuy nhiên, đôi khi do tác động của nhiễu có thể làm thay đổi số lượngxung thu được, nếu hoạt động lâu dài, sai số này sẽ tích lũy dẫn đến sai số lớn

Để khắc phục điều này, người ta đục thêm một lỗ định vị để đếm số vòng đãquay của encoder Bằng việc đối chiếu 2 tín hiệu thu được, ta có thể kiểm soát

và khắc phục được sự sai lệch

Trang 16

2.2 VI ĐIỀU KHIỂN ATMEGA8

2.2.1 Tổng quan về vi điều khiển Atmega8

Atmega8 là vi điều khiển thuộc họ AVR do hãng Intel sản xuất Đây làloại chip thuộc dòng AVR mới nhất, nó có kích thước nhỏ gọn nhưng đầy đủ cáctính năng của một AVR

Hình 2.5 Vi điều khiển Atmega8

Sơ đồ chân của Atmega8 như sau:

Hình 2.6 Sơ đồ chân của Atmega8

Trang 17

 Bộ nhớ chương trình có khả năng ghi 10.000 lần, bộ nhớ EEPROM có thểghi 100.000 lần Hỗ trợ bootloader, có khả năng tự ghi vào bộ nhớ chươngtrình, cập nhật chương trình cho chip mà không cần mạch nạp.

 23 cổng I/O

 Timer 8 bit: 2

 Timer 16 bit: 1

 ADC: 6 kênh, 10 bit

 Giao tiếp: TWI (I2C), USART, SPI

 Điện áp hoạt động: Atmega8L: 2.7V – 5.5V

Atmega8: 4.5V – 5.5V

2.2.2 Cấu trúc chung của vi điều khiển Atmega8

Hình 2.7 Cấu trúc vi điều khiển Atmega8

Để tối ưu hóa hiệu suất và tốc độ xử lý, Atmega8 có cấu trúc Harvard,trong đó đường truyền cho bộ nhớ dữ liệu và bộ nhớ chương trình được táchriêng

Trang 18

ALU (Arithmetic Logic Unit) được xem như CPU của Atmega8 32 thanhghi trong Register File được kết nối trực tiếp với ALU bằng hai đường, do đótrong 1 chu kì xung nhịp ALU có thể truy xuất trực tiếp 2 thanh ghi RF cùngmột lúc.

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 Trong mỗi chu kì xung nhịp, instruction chứatrong bộ nhớ chương trình sẽ được load vào trong instruction register,instruction register tác động và chọn register file cũng như RAM cho ALU thựcthi Trong quá trình 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 bộ đếm chương trình (Program counter)

Cấu trúc bộ nhớ Atmega8 bao gồm bộ nhớ chương trình và bộ nhớ dữliệu

Bộ nhớ chương trình (program memory) là 8KB bộ nhớ Flash lập trìnhđược Do các lênh của AVR có độ dài 16 hoặc 32 bit nên bộ nhớ chương trìnhđược sắp xếp theo kiểu 4Kx16 Bộ nhớ chương trình gồm Application FlashSection và trong chip AVR mới ta có thêm phần Boot Flash setion ApplicationFlash Section bao gồm 2 phần : phần chứa các mã lệnh (instruction) và phầnchứa các vector ngắt (interrupt vectors) Các vector ngắt nằm ở phần đầu của bộnhớ chương trình từ 0x000 đến 0x012, tiếp ngay sau đó là phần chứa cácinstruction

Hình 2.8 Bộ nhớ chướng trình của Atmega8

Trang 19

Bộ nhớ dữ liệu (data memory) là phần chứa các thanh ghi quan trọng củachip Bộ nhớ dữ liệu gồm:

Phần đầu của bộ nhớ dữ liệu bao gồm 32 thanh ghi từ R0 đến R31 trongregister file có địa chỉ tuyệt đối từ 0x0000 đến 0x001F có các đặc điểm:

- Được truy nhập trực tiếp trong quá trình thực thi chương trình

- Register file được kết nối trực tiếp tới ALU

- Các phép toán thực hiện trên thanh ghi chỉ trong 1 xung clock

- Chúng là nguồn chứa các số hạng trong phép toán và là đích chứa kếtquả trả lại của phép toán

- Các thanh ghi từ R26 tới R31 ngoài chức năng thông thường nó còntừng đôi một tạo thành các thanh ghi 16 bit X, Y, Z được dùng làm con trỏ trỏtới bộ nhớ chương trình và bộ nhớ dữ liệu Thanh ghi con trò X, Y có thể dùnglàm con trỏ trỏ tới bộ nhớ dữ liệu, còn thanh ghi Z có thể dùng làm con trỏ trỏtới bộ nhớ chương trình

Vùng nhớ I/O (I/O registers) nằm ngay sau register file, gồm 64 thanh ghinhập/xuất 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.Vùng nhớ I/0 có địa chỉ từ 0x0020 đến 0x005F

RAM tĩnh, nội (internal SRAM), là vùng chứa các biến trong lúc thực thichương trình Ram tĩnh có địa chỉ từ 0x0060 đến 0x045F

512 byte bộ nhớ EEPROM (Electrically Ereasable Programmable ROM),

bộ nhớ này không bị xóa ngay cả khi không cung cấp nguồn nuôi cho chip, rấtthích hợp cho các ứng dụng lưu trữ dữ liệu Phần bộ nhớ EEPROM được táchriêng biệt và có địa chỉ từ 0x0000

Trang 20

Hình 2.9 Cấu trúc bộ nhớ dữ liệu

2.2.3 Điều khiển vào ra I/O

Atmega8 có 23 chân xuất nhập chia làm 3 cổng vào ra là cổng A, cổng B

và cổng C Việc cấu hình, điều khiển các cổng được thực hiện thông qua 3thanh ghi: DDRx, PORTx và PINx Các thanh ghi này có thể truy xuất từng bit

để có thể điều khiển từng chân của mỗi cổng

- DDRx: quy định chiều của chân, nếu DDRx=1: chân được cấu hình làmđầu ra, nếu DDRx=0 chân được cấu hình làm đầu vào

- PORTx: nếu PORTx=1 khi chân được cấu hình làm đầu vào thì sẽ kíchhoạt điện trở treo dương tại chân tương ứng Để vô hiệu hóa trở treo này thìPORTx phải được gán 0 hoặc chân được cấu hình làm đầu ra (DDRx=1).Nếu chân được cấu hình làm đầu ra (DDRx=1): Nếu PORTx=1 thì chân tươngứng sẽ được đưa lên mức cao, ngược lại nếu PORTx=0 thì chân tương ứng sẽđược đưa xuống mức thấp

- PINx: Đọc dữ liệu từ chân VĐK, độc lập với cấu hình chiều của chân,trạng thái của chân có thể được đọc thông qua các bit của thanh ghi PINx

Trang 21

2.2.4 Timer/counter

Vi điều khiển Atmega8 được thiết kế với 3 bộ Timer/Counter là

Timer/counter 0, timer/counter 1 và timer/counter 2 Các bộ timer/counter được

sử dụng cho các chức năng định thời, đếm sự kiện, tạo xung điều rộng PWM,hoặc sử dụng như các bộ căn chỉnh thời gian trong các ứng dụng thời gian thực(chỉ có ở timer/counter 2) Trong nội dung đồ án này, ta sẽ tìm hiểu 2 bộtimer/counter 0 và timer/counter 1

a Timer/counter 0

Đây là một bộ định thời có độ dài 8bit, liên tục đếm từ 0-255 và tràn khiđạt 256 lúc này bộ đếm trở về 00H và cờ tràn TOV0 được set lên 1, có thể xảy

ra 1 ngắt nếu có khai báo ngắt timer này

Các thanh ghi phụ trách điều khiển Timer/counter 0:

- Thanh ghi TCCR0: Là thanh ghi điều khiển quá trình hoạt động của bộtimer/counter 0

Tuy là thanh ghi 8 bit nhưng chỉ có 3 bit được sử dụng, có tác dụng chọnxung clock cho bộ timer/counter 0, cứ mỗi xung clock là bộ đếm tăng lên 1 đơnvị

0 0 0 Không có xung clock - Timer/counter 0 Stop

0 0 1 Fosc/1 - Bằng xung nhịp đưa vào chip

0 1 0 Fosc/8 - Tần số thạch anh chia 8

0 1 1 Fosc/64 - Tần số thạch anh chia 64

1 0 0 Fosc/256 - Tần số thạch anh chia 256

1 0 1 Fosc/1024 - Tần số thạch anh chia 1024

1 1 0 Đếm sự kiện bên ngoài ở chân T0 cạnh xuống

1 1 1 Đếm sự kiện bên ngoài ở chân T0 cạnh lên

Bảng 2.1 Lựa chọn xung clock cho bộ timer/counter 0

Trang 22

- Thanh ghi TIMSK: Là thanh ghi mặt nạ ngắt, ta chỉ quan tâm tới bitTOIE0, nếu set bit này lên 1 thì sẽ có ngắt tràn xảy ra khi bộ đếm tràn.

- Thanh ghi TIFR: Là thanh ghi lưu trạng thái cờ tràn của tất cả các timer,

ở timer/counter 0 chỉ có bit TOV0 là cờ tràn và cũng là cờ chỉ thị ngắt

- Thanh ghi TCNT0: Là thanh ghi chứa giá trị đếm của timer/counter 0, ta

sẽ ghi dữ liệu khởi tạo timer vào đây, mặc định là 00H

b Timer/counter 1

Timer/counter 1 là bộ timer/counter 16 bit đa với các chức năng như địnhthời, đếm sự kiện, tạo xung PWM, Clear Timer on Compare Match (xóa timernếu xảy ra bằng trong so sánh),…

Do là bộ timer/counter 16 bit, trong khi bộ nhớ dữ liệu của Atmega8 là 8bit, nên ta sẽ bắt gặp những cặp thanh ghi chứa byte cao và byte thấp của giá trị

16 bit:

- Thanh ghi TCNT1H và TCNT1L: 2 thanh ghi này tạo thành 1 thanh ghi

16 bit TCNT1, là thanh ghi chứa giá trị đếm của timer/counter 1

- Thanh ghi TCCR1A và TCCR1B: đây không phải là dạng byte cao vàbyte thấp của 1 thanh ghi 16 bit mà là 2 thanh ghi độc lập điều khiển hoạt độngcủa timer/counter 1

Trang 23

Ta để ý thấy thanh ghi TCCR1B có 3 bit là CS12, Cs11 và CS10 Ba bitnày để chọn xung nhịp cho timer/counter 1, với các giá trị và chức năng giốnghệt với timer/counter 0.

- Thanh ghi ICR1: Trong quá trình timer/counter 1 hoạt động, giá trị trongthanh ghi TCNT1 sẽ tăng dần, khi có một sự kiện trên chân ICP1, thanh ghiICR1 sẽ bắt giá trị của TCNT1 và có thế xảy ra 1 ngắt Đây gọi là chế độ InputCapture

- Thanh ghi OCR1A và OCR1B: dùng trong chế độ so sánh Cụ thể, trongquá trình timer/counter 1 hoạt động, giá trị TCNT1 tăng dần và được so sánhđộc lập và liên tục với 2 thanh ghi này Khi giá trị so sánh bằng nhau thì sẽ xảy

ra 1 ngắt hoặc 1 sự thay đổi nào đó trên chân OC1A hoặc OC1B

- Thanh ghi TIMSK: thanh ghi này cũng được sử dụng cho timer/counter

1 do các bộ timer/counter dùng chung thanh ghi mặt nạ ngắt

Có 4 bit được sử dụng cho timer/counter 1 là:

 TOIE1: cờ tràn và cũng là cờ chỉ thị ngắt cho timer/counter 1

 OCIE1B: cho phép ngắt khi TCNT1=OCR1B

 OCIE1A: cho phép ngắt khi TCNT1=OCR1A

 TICIE1: cho phép ngắt trong trường hợp Input Capture

- Thanh ghi TIFR: thanh ghi cờ nhớ cho các bộ timer/counter Các bit từ 2đến 5 là danhg cho timer/counter 1

2.2.5 Truyền thông nối tiếp USART

Bộ truyền thông nối tiếp trên Atmega8 có thể hoạt động ở nhiều chế độ, ởđây ta chỉ xét chế độ bất đồng bộ Chuẩn truyền thông USART sử dụng 2 mức

Trang 24

logic theo chuẩn TTL – mức logic 0 tương ứng 0V, mức logic 1 tương ứng từ 5V.

3-Khi sử dụng bộ truyền thông nối tiếp trên Atmega8, ta chỉ cần quan tâmđến 2 chân Tx và Rx Tx là chân truyền dữ liệu đi còn Rx là chân nhận dữ liệuvề

Các thanh ghi tham gia điều khiển:

- Thanh ghi UDR: là thanh ghi dữ liệu Đây là thanh ghi 8 bit chứa giá trịphát đi cũng như giá trị nhận về của USART Ta cũng có thế coi nó là 2 thanhghi bộ đệm nhận và bộ đệm truyền có cùng địa chỉ

- Thanh ghi UCSRA : là thanh ghi trạng thái của USART

 FE: báo lỗi khung truyền

 DOR: báo tràn dữ liệu

 PE: báo lỗi pariry

 U2X: bit set nhân đôi tốc đọ truyền Khi U2X=1, tốc độ truyềnđược nhân đôi

 MPCM: bit chọn chế độ hoạt động đa xử lý

- Thanh ghi UCSRB : là thanh ghi mặt nạ ngăt và điều khiển USART

Trang 25

Ý nghĩa các bit:

 RXCIE: cho phép ngắt nhận dữ liệu

 TXCIE: cho phép ngắt truyền dữ liệu

 UDRIE: cho phép ngắt khi thanh ghi dữ liệu UDR trống

 RXEN: cho phép nhận dữ liệu trên chân RX

 TXEN: cho phép truyền dữ liệu trên chân TX

 UCSZ2: bit này kết họp với 2 bit trong thanh ghi UCSRC quy định

độ dài dữ liệu

 RXB8: là bit 8 trong chế độ truyền dữ liệu 9 bit của Atmega8

 TXB8: là bit 8 trong chế độ nhận dữ liệu 9 bit của Atmega8

 Thanh ghi UCSRC: thanh ghi quy định khung truyền và chế độtruyền

Ý nghĩa các bit:

 URSEL: bit chọn thanh ghi, do 2 thanh ghi UCSRC và UBRRH(thanh ghi cao quy định tốc độ baud) có cùng địa chỉ KhiURSEL=1 thanh ghi này là UCSRC, khi URSEL=0 thanh ghi này

là UBRRH

 UMSEL: lựa chọn giữa chế độ truyền đồng bộ và không đồng bộ

 UPM1 và UPM0: 2 bit lựa chọn cách thức kiểm tra Parity

Bảng 2.2 Cách thức kiểm tra parity

 USBS: lựa chọn sử dụng 1 hay 2 bit stop

 UCSZ1 và UCSZ0: kết hợp với bit UCSZ2 từ thanh ghi UCSRB ta thành 3 bit lựa chọn độ dài dữ liệu truyền

Trang 26

UCSZ2 UCSZ1 UCSZ0 Độ dài dữ liệu

Bảng2.3 Độ dài dữ liệu truyền

 UCPOL: lựa chọn mức tích cực của xung clock trong chế độ đồng bộ

 - UBRRL và UBRRH : 2 thanh ghi thấp và cao quy định tốc độ baud

Chỉ có 4 bit thấp của UBRRH được dùng, 4 bit này kết hợp với 8 bit trongthanh ghi UBRRL tạo thành thanh ghi 12 bit quy định tốc độ baud Giá trị gáncho thanh ghi UBRR không phải là tốc độ baud, nó chỉ được USART dùng đểtính tốc độ baud

2.3 CHUẨN GIAO TIẾP NMEA 0183

Trang 27

Chuẩn vật lý được sử dụng là RS232, RS423 hoặc RS485.

Cấu hình dữ liệu cho cổng truyền thông nối tiếp:

Cấu trúc của câu lệnh NMEA:

 Mỗi tin nhắn bắt đầu bằng dấu $

 Năm ký tự tiếp theo xác định "người nói" (hai ký tự đầu) và loại tin nhắn(ba ký tự)

 Các trường dữ liệu theo sau dùng dấu phẩy để phân cách

 Nếu dữ liệu không có, trường tương ứng để trống (không có ký tự trước dấu phân cách tiếp theo )

 Ký tự đầu tiên sau trường dữ liệu cuối cùng là dấu hoa thị “*”, nhưng chỉ được đưa vào nếu có mã kiểm tra chẵn lẻ

 Sau dấu hoa thị là mã kiểm tra chẵn lẻ gồm 2 số hệ hexadecimal Việc kiểm tra được thực hiện bằng cách thực hiện phép OR cho tất

cả các ky tự mằng giữa dấu “$” và “*”

 Các ký tự <CR> <LF> kết thúc tin

2.3.3 Câu lệnh NMEA của hệ thống đo gió

Câu lệnh NMEA của hệ thống đo gió có dạng như sau:

Ngày đăng: 02/08/2016, 09:35

HÌNH ẢNH LIÊN QUAN

Hình 1.2. Cảm biến đo gió YOUNG 05103 - NGHIÊN CỨU THIẾT KẾ MÔ HÌNH HỆ THỐNG ĐO TỐC ĐỘ VÀ HƯỚNG GIÓ KỸ THUẬT SỐ
Hình 1.2. Cảm biến đo gió YOUNG 05103 (Trang 9)
Hình 1.3. Màn hình chỉ báo của máy đo gió WALER 2050 - NGHIÊN CỨU THIẾT KẾ MÔ HÌNH HỆ THỐNG ĐO TỐC ĐỘ VÀ HƯỚNG GIÓ KỸ THUẬT SỐ
Hình 1.3. Màn hình chỉ báo của máy đo gió WALER 2050 (Trang 10)
Hình 2.1. Cấu tạo của encoder - NGHIÊN CỨU THIẾT KẾ MÔ HÌNH HỆ THỐNG ĐO TỐC ĐỘ VÀ HƯỚNG GIÓ KỸ THUẬT SỐ
Hình 2.1. Cấu tạo của encoder (Trang 12)
Sơ đồ chân của Atmega8 như sau: - NGHIÊN CỨU THIẾT KẾ MÔ HÌNH HỆ THỐNG ĐO TỐC ĐỘ VÀ HƯỚNG GIÓ KỸ THUẬT SỐ
Sơ đồ ch ân của Atmega8 như sau: (Trang 16)
Hình 2.8. Bộ nhớ chướng trình của Atmega8 - NGHIÊN CỨU THIẾT KẾ MÔ HÌNH HỆ THỐNG ĐO TỐC ĐỘ VÀ HƯỚNG GIÓ KỸ THUẬT SỐ
Hình 2.8. Bộ nhớ chướng trình của Atmega8 (Trang 19)
Hình 2.9. Cấu trúc bộ nhớ dữ liệu - NGHIÊN CỨU THIẾT KẾ MÔ HÌNH HỆ THỐNG ĐO TỐC ĐỘ VÀ HƯỚNG GIÓ KỸ THUẬT SỐ
Hình 2.9. Cấu trúc bộ nhớ dữ liệu (Trang 20)
Bảng 2.2. Cách thức kiểm tra parity - NGHIÊN CỨU THIẾT KẾ MÔ HÌNH HỆ THỐNG ĐO TỐC ĐỘ VÀ HƯỚNG GIÓ KỸ THUẬT SỐ
Bảng 2.2. Cách thức kiểm tra parity (Trang 26)
Hình 3.1. Cấu tạo mô hình cảm biến tốc độ gió - NGHIÊN CỨU THIẾT KẾ MÔ HÌNH HỆ THỐNG ĐO TỐC ĐỘ VÀ HƯỚNG GIÓ KỸ THUẬT SỐ
Hình 3.1. Cấu tạo mô hình cảm biến tốc độ gió (Trang 30)
Hình 3.2. Cảm biến tốc độ gió - NGHIÊN CỨU THIẾT KẾ MÔ HÌNH HỆ THỐNG ĐO TỐC ĐỘ VÀ HƯỚNG GIÓ KỸ THUẬT SỐ
Hình 3.2. Cảm biến tốc độ gió (Trang 31)
Hình 3.3. Sơ đồ mạch Encoder trong cảm biến đo tốc độ gió - NGHIÊN CỨU THIẾT KẾ MÔ HÌNH HỆ THỐNG ĐO TỐC ĐỘ VÀ HƯỚNG GIÓ KỸ THUẬT SỐ
Hình 3.3. Sơ đồ mạch Encoder trong cảm biến đo tốc độ gió (Trang 31)
Hình 3.4. Cấu tạo mô hình cảm biến hướng gió - NGHIÊN CỨU THIẾT KẾ MÔ HÌNH HỆ THỐNG ĐO TỐC ĐỘ VÀ HƯỚNG GIÓ KỸ THUẬT SỐ
Hình 3.4. Cấu tạo mô hình cảm biến hướng gió (Trang 32)
Hình 3.5. Cảm biến hướng gió - NGHIÊN CỨU THIẾT KẾ MÔ HÌNH HỆ THỐNG ĐO TỐC ĐỘ VÀ HƯỚNG GIÓ KỸ THUẬT SỐ
Hình 3.5. Cảm biến hướng gió (Trang 33)
Hình 3.6. Sơ đồ layout mạch vi điều khiển - NGHIÊN CỨU THIẾT KẾ MÔ HÌNH HỆ THỐNG ĐO TỐC ĐỘ VÀ HƯỚNG GIÓ KỸ THUẬT SỐ
Hình 3.6. Sơ đồ layout mạch vi điều khiển (Trang 37)
Hình 3.7. Mạch Vi điều khiển - NGHIÊN CỨU THIẾT KẾ MÔ HÌNH HỆ THỐNG ĐO TỐC ĐỘ VÀ HƯỚNG GIÓ KỸ THUẬT SỐ
Hình 3.7. Mạch Vi điều khiển (Trang 37)
Hình 3.9. Mạch hiển thị Led - NGHIÊN CỨU THIẾT KẾ MÔ HÌNH HỆ THỐNG ĐO TỐC ĐỘ VÀ HƯỚNG GIÓ KỸ THUẬT SỐ
Hình 3.9. Mạch hiển thị Led (Trang 38)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w