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

đồ án thiết kế bộ đo và khống chế nhiệt độ, hiển thị lcd

25 998 7
Tài liệu đã được kiểm tra trùng lặp

Đ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 25
Dung lượng 0,92 MB

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

Nội dung

Cần chú ý đến nhiễu khi đặt điện áp tham chiếu, nếu dùng điện ápngoài đặt trên chân VREF thì điện áp này phải được lọc thật tốt, nếu dùng điện áptham chiếu nội 2.56V hoặc AVCC thì chân V

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

KHOA : CƠ HỌC KỸ THUẬT VÀ TỰ ĐỘNG HÓA

BÀI TẬP LỚN

ĐỀ TÀI: THIẾT KẾ BỘ ĐO VÀ KHỐNG CHẾ NHIỆT ĐỘ, HIỂN THỊ LCD

“Nhiệt độ khống chế được đặt bằng LM35 thao tác khống chế được mô phỏng bằng

3 led với 3 màu khác nhau, sai số cho phép là ±0.5°C”

Giáo viên hướng dẫn: Phạm Mạnh Thắng

Sinh viên thực hiện: 1.Phạm Tiến Anh

2.Nguyễn Thị Đào 3.Bùi Thị Hiền

4.Hoàng Thị Toàn

Trang 2

LỜI NÓI ĐẦU

Kỹ thuật vi điều khiển hiện nay rất phát triển, nó được ứng dụng vào rấtnhiều lĩnh vực sản xuất công nghiệp, tự động hóa, trong đời sống và còn nhiều lĩnhvực khác nữa So với kỹ thuật số thì kỹ thuật vi điểu khiển nhỏ gọn hơn rất nhiều do

nó được tích hợp lại và có khả năng lập trình được để điều khiển Nên rất tiện dụng

và cơ động Với tính ưu việt của vi điều khiển thì trong phạm vi đồ án nhỏ này, emchỉ dùng vi điều khiển để đo và khống chế nhiệt độ, đồng thời cho hiển thị lênLCD

Mục đích của đề tài hướng đến: tạo ra bước đầu cho sinh viên thử nghiệmnhững ứng dụng của vi điều khiển trong thực tiễn để rồi từ đó tìm tòi, phát triểnnhiều ứng dụng khác trong đời sống hằng ngày cần đến

Việc thực hiện xong đồ án môn học bằng các kiến thức đã học, một số sáchtham khảo và một số nguồn tài liệu khác nên không tránh khỏi những thiếu sót Vìvậy nhóm rất mong được sự góp ý của thầy và các bạn

Trang 3

-Đầu ra ứng dụng : các led hiển thị.

III CẤU TẠO VÀ NGUYÊN LÝ HOẠT ĐỘNG CƠ BẢN CỦA TỪNG VI MẠCH.

Bộ xử lý trung tâm

ATMEGA8

Khối hiển thị LCD

Khối điều khiển khống chế

Đầu ra ứng dụng

Trang 4

1.Tạo nguồn 5V cho mạch điều khiển

Nội dung: Mạch ổn áp cố định dùng Diode Zener,mạch ổn áp dùng tranzitokhuếch đại,IC ổn áp LM 7805 ứng dụng của IC ổn áp trong mạch cấp nguồn

1 Mạch ổn áp cố định dùng Diode Zener

Mạch ổn áp tạo áp 33V cố định cung cấp

cho mạch dò kênh trong Ti vi mầu

Từ nguồn 110V không cố định thông qua điện trở hạn dòng R1 vàgiảm trên Dz 33V để lấy ra một điện áp cố định cung cấp cho mạch

dò kệnh

Khi thiết kế một mạch ổn áp như trên ta cần tính toán điện trởhạn dòng sao cho dòng điện ngược cực đại qua Dz phải nhỏ hơndòng mà Dz chịu được, dòng cực đại qua Dz là khi dòng qua R2 = 0

Như sơ đồ trên thấy dòng cực đại qua Dz bằng sụt áp trên R1chia cho giá trị R1 , gọi dòng điện này là I1 ta có :

Trang 5

Mạch ổn áp có Tranzitor khuếch đại

Ở mạch trên điện áp tại điểm A có thể thay đổi và còn gợn xoaychiều nhưng điện áp tại điểm B không thay đổi và tương đối phẳng

Nguyên tắc ổn áp : Thông qua điện trở R1 và Dz gim cố định điện

áp chân B của

Transistor Q1, giả sử khi điện áp chân E đèn Q1 giảm => khi đóđiện áp UBE tăng => dòng qua đèn Q1 tăng => làm điện áp chân

E của đèn tăng , và ngược lại

Mạch ổn áp trên đơn giản và hiệu quả nên được sử dụng rất rộngdãi và người ta đã sản xuất các loại IC họ LA78 để thay thế chomạch ổn áp trên, IC LA78 có sơ đồ mạch như phần mạch có mầuxanh của sơ đồ trên

Trang 6

Họ IC78 chỉ cho dòng tiêu thụ khoảng 1A trở xuống, khi ráp ICtrong mạch thì U in > Uout từ 3 đến 5V khi đó IC mới phát huy tácdụng.

1.1 Nguyên lý hoạt động chung của IC đo nhiệt độ

IC đo nhiệt độ là một mạch tích hợp nhận tín hiệu nhiệt độ chuyển thành tínhiệu điện dưới dạng dòng điện hay điện áp Dựa vào đặc tính rất nhạy của các bán

Trang 7

dẫn với nhiệt độ, tạo ra điện áp hoặc dòng điện tỷ lệ thuận với nhiệt độ tuyệt đối Đotín hiệu điện ta biết được giá trị của nhiệt độ cần đo Sự tác động của nhiệt độ tạo rađiện tích tự do và các lỗ trống trong chất bán dẫn Bằng sự phá vỡ các phân tử, bứtcác electron thành dạng tự do di chuyển qua vùng cấu trúc mạng tinh thể tạo sự xuấthiện các lỗ trống Làm cho tỷ lệ điện tử tự do và lỗ trống tăng lên theo quy luật hàm

3.Hiển thị LCD

Trong các ứng dụng của vi điều khiển thì LCD đóng vai trò quan trọng nó là bộphận giao tiếp giữa người và thiết bị Có rất nhiều loại LCD khác nhau của các hãngkhác nhau Có loại LCD 8x1,8x2,16x2 Ngày nay, hầu hết các bộ hiển thị LCDthông minh đều tuân theo một tiêu chuẩn chung Tùy theo yêu cầu về hiển thị thôngtin mà ta chọn loại nào cho phù hợp Trong bài tập lớn này chúng em dùng LCD loại8x2 2 dòng 8 kí tự một dòng Do loại này dễ dùng và giá thành cũng phải chăng dovậy chúng em dùng để hiển thị nhiệt độ và các thông báo khác

0= thanh ghi lệnh1=thanh ghi dữ liệu

Trang 8

1=đọc từ LCD module

0:vô hiệu hóa1: hoạt động

Từ 1 xuống 0: bắt đầu đọc/ghi

b.Mạch trong đồ án

c.Nguyên tắc hiển thị ký tự trên LCD

một chương trình hiển thị ký tự trên LCD sẽ đi theo bốn bước sau:

Trang 9

+Các bước 3, 4 có thể lặp lại nhiều lần nếu cần hiển thị nhiều ký tự.

+ Mỗi khi thực hiện ghi lệnh hoặc ghi dữ liệu hiển thị lên LCD cần phải kiểm tra cờbận trước Vì vậy, cần phải chủ động phân phối thời gian khi ra lệnh cho LCD( ví

dụ sau khi xóa màn hình sau khoảng 2ms mới ra lệnh khác vì thời gian để LCD xóamàn hình là 1,64ms).+chế độ hiển thị mặc định sẽ là hiển thị dịch, vị trí con trỏ mặcđịnh sẽ là đầu dòng thứ nhất

trỏ về

đầu dòng

đưa về đầudòng trên, vănbản nếu cóđược dịch đimột kí tựDịch

chuyển

chuyển con trỏsau khi một kí

tự xuất hiệnHiển thị

kí tự tại vị trícon trỏ BDịch

Trang 10

vào bộ nhớhay bộ phát kítự

Đọc dữ

liệu

bộ nhớ hay bộphát kí tự

4.Vi điều khiển ATMEGA8

4.1.Tổng quan:

􀂙 SRAM: 1Kbytes

􀂙 EEPROM : 512 bytes

􀂙 28 thanh ghi I/O

􀂙 160 thanh ghi vào ra mở rộng

􀂙 32 thanh ghi đa mục đích

􀂙 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

Trang 11

􀂙 Điện thế : 4.5v - 5.5v

…v.v…

Sơ đồ cách tổ chức bộ nhớ và các cấu trúc thanh ghi của ATMEGA8

đã chỉ rất rõ trong tài liệu datasheet, trong phạm vi bài tập củachúng em.Chúng em xin trình bày cấu trúc các thanh ghi của bộchuyển đổi ADC và khối giao tiếp UART

4.2 Bộ chuyển đổi ADC

*Đặc điểm

5 chân trên PORTC của atmega8 được dùng cho bộ ADC, chân PC0 tương ứngkênh ADC0 và chân PC5 tương ứng với kênh ADC5

Độ phân giải 10 bit, có tất cả 6 kênh đơn (các chân ADC0 đến ADC5)

Sai số tuyệt đối: ±2 LSB

Thời gian chuyển đổi từ 13-260µs,

Dải tín hiệu ngõ vào từ 0v-Vcc,

Bộ ADC của atmega8 là loại ADC xấp xỉ liên tiếp với 2 chế độ là chuyển đổi liêntục và chuyển đổi từng bước

Sơ đồ khối của khối ADC

ADC chứa mạch giữ và lấy mẫu để đảm bảo cho điện thế vào được giữ cố địnhtrong suốt quá trình chuyển đổi ADC trên AVR cần được “nuôi” bằng nguồn điện

áp riêng ở chân AVCC, giá trị điện áp cấp cho AVCC không được khác nguồn nuôichip (VCC) quá ± 0.3V Nhiễu là vấn đề rất quan trọng khi sử dụng các bộ ADC, để

Trang 12

giảm thiểu sai số chuyển đổi do nhiễu, nguồn cấp cho ADC cần phải được “lọc” kỹcàng Một cách đơn giản để tạo nguồn AVCC là dùng một mạch LC kết nối từnguồn VCC của chip như minh họa trong hình vẽ

Điện áp tham chiếu cho ADC trên AVR có thể được tạo bởi 3 nguồn: dùng điện áptham chiếu nội 2.56V (cố định), dùng điện áp AVCC hoặc điện áp ngoài đặt trênchân VREF Cần chú ý đến nhiễu khi đặt điện áp tham chiếu, nếu dùng điện ápngoài đặt trên chân VREF thì điện áp này phải được lọc thật tốt, nếu dùng điện áptham chiếu nội 2.56V hoặc AVCC thì chân VREF cần được nối với một tụ điện ADC chuyển đổi một điện áp vào tương tự thành một giá trị số qua phương phápxấp xỉ liên tiếp Giá trị nhỏ nhất tương ứng với đất và giá trị lớn nhất là giá trị điện

áp tham chiếu trên chân AVEF trừ 1 LSB

Kết quả của quá trình chuyển đổi

ADC= Vin 1024 Vref.

Vin- là điện thế đầu vào

VREF- điện áp tham chiếu

* Các thanh ghi

Có 4 thanh trong bộ ADC trên AVR trong đó có 2 thanh ghi chứa dữ liệu sau khichuyển đổi, 2 thanh ghi điều khiển và chứa trạng thái của ADC

Trang 13

Thanh ghi ADMUX:

Đọc/ghi Đọc/ghi Đọc/ghi Đọc/ghi Đọc Đọc/ghi Đọc/ghi Đọc/ghi Đọc/ghiGiá trị

đầu

điện áp tham chiếu có thể được chọn là: điện áp ngoài từ chân VREF, điện áp tham chiếu nội 2.56V hoặc điện áp AVCC Bảng tóm tắt giá trị các bit và điện áp tham chiếu tương ứng

REFS1 REFS0 Điện áp tham chiếu

Bits 3:0-MUX3:0: là các bít cho phép chọn kênh và chế độ cho ADC, nếu giá trị các

bít này thay đổi khi đang chuyển đổi thì nó cũng không gây ảnh hưởng gì cho đếnkhi quá trình chuyển đổi kết thúc

Trang 14

Bít 6: ADSC(ADC Start Conversion): Trong chế độ chuyển đổi đơn kênh, set bitnày lên 1 là bắt đầu khởi động quá trình chuyển đổi Trong suốt quá trình chuyểnđổi, bit ADSC sẽ được giữ nguyên giá trị 1, khi quá trình chuyển đổi kết thúc (tựđộng), bit này sẽ được trả về 0 Để thực hiện một chuyển đổi, thông thường chúng ta

sẽ set bit ADEN=1 trước và sau đó set ADSC=1

Bit 4 – ADIF(ADC Interrupt Flag): cờ báo ngắt Khi một chuyển đổi kết thúc, bitnày tự động được set lên 1, vì thế người dùng cần kiểm tra giá trị bit này trước khithực hiện đọc giá trị chuyển đổi để đảm bảo quá trình chuyển đổi đã thực sự hoàntất

Bít 3-ADIE(ADC Interrupt Enable): bit cho phép ngắt, nếu bit này được set bằng 1

và bit cho phép ngắt toàn cục (bit I trong thanh ghi trạng thái của chip) được set,một ngắt sẽ xảy ra khi một quá trình chuyển đổi ADC kết thúc

Bít 2…0: ADPS2:0(ADC Prescaler Select Bits): các bit chọn hệ số chia xung nhịp cho ADC ADC, cũng như tất cả các module khác trên AVR, cần được giữ nhịp bằng một nguồn xung clock Xung nhịp này được lấy từ nguồn xung chính của chip thông qua một hệ số chia Các bit ADPS cho phép người dùng chọn hệ số chia từ nguồn clock chính đến ADC

Trang 15

16, con số này nhiều hơn 10 bit của kết quả chuyển đổi, vì thế chúng ta được phépchọn cách ghi 10 bit kết quả vào 2 thanh ghi này Bit ADLAR trong thanh ghiADMUX quy định cách mà kết quả được ghi vào.

ADLAR=0

15 14 13 12 11 10 9

8

7 6 5 4 3 2 1

0

Khi đọc giá trị từ 2 thanh ghi này, để tránh đọc sai kết quả, cần đọc thanh ghi ADCLtrước và ADCH sau

4.3.UART- Universal Asynchronous serial Reveiver and Transmitter-bộ truyền

nhận nối tiếp không đồng bộ

Khái niệm UART thường để chỉ thiết bị phần cứng (device, hardware), không phảichỉ một chuẩn giao tiếp UART cần phải kết hợp với một thiết bị chuyển đổi mứcđiện áp để tạo ra một chuẩn giao tiếp nào đó Ví dụ, chuẩn RS232 (hay COM) trêncác máy tính cá nhân là sự kết hợp của chip UART và chip chuyển đổi mức điện áp.Tín hiệu từ chip UART thường theo mức TTL: mức logic high là 5, mức low là 0V.Trong khi đó, tín hiệu theo chuẩn RS232 trên máy tính cá nhân thường là -12V chomức logic high và +12 cho mức low

Trang 16

Tín hiệu tương đương của UART và RS232.

Các thông số quan trọng của UART|

Baud rate (tốc độ Baud): tốc độ baud là số bit truyền trong 1 giây Ví dụ nếu tốc

độ baud được đặt là 19200 thì thời gian dành cho 1 bit truyền là 1/19200

~52.083us

Frame (khung truyền): Khung truyền bao gồm các quy định về số bit trong mỗilần truyền, các bit “báo” như bit Start và bit Stop, các bit kiểm tra như Parity, ngoài

ra số lượng các bit trong một data cũng được quy định bởi khung truyền

start bit : start là bit đầu tiên được truyền trong một frame truyền, bit này có chứcnăng báo cho thiết bị nhận biết rằng có một gói dữ liệu sắp được truyền tới

Data: data hay dữ liệu cần truyền là thông tin chính mà chúng ta cần gởi và nhận.

Trong truyền thông nối tiếp UART, bit có ảnh hưởng nhỏ nhất (LSB – LeastSignificant Bit, bit bên phải) của dữ liệu sẽ được truyền trước và cuối cùng là bit cóảnh hưởng lớn nhất (MSB–Most Significant Bit, bit bên trái)

Parity bit: parity là bit dùng kiểm tra dữ liệu truyền đúng không (một cách tươngđối) Có 2 loại parity là parity chẵn (even parity) và parity lẻ (odd parity) Paritychẵn nghĩa là số lượng số 1 trong dữ liệu bao gồm bit parity luôn là số chẵn Ngượclại tổng số lượng các số 1 trong parity lẻ luôn là số lẻ

Stop bits: stop bits là một hoặc các bit báo cho thiết bị nhận rằng một gói dữ liệu

đã được gởi xong Sau khi nhận được stop bits, thiết bị nhận sẽ tiến hành kiểm trakhung truyền để đảm bảo tính chính xác của dữ liệu Stop bits là các bits bắt buộcxuất hiện trong khung truyền

Trang 17

Vi điều khiển Atmega8 có 1 module truyền thông nối tiếp USART Có 3 chân chínhliên quan đến module này đó là chân xung nhịp - XCK (chân số 1), chân truyền dữliệu – TxD (Transmitted Data) và chân nhận dữ liệu – RxD (Reveived Data) Trong

đó chân XCK chỉ được sử dụng như là chân phát hoặc nhận xung giữ nhịp trong chế

độ truyền động bộ Tuy nhiên bài này chúng em chỉ sử dụng chế độ truyền thôngkhông đồng bộ Vì các chân truyền/nhận dữ liệu chỉ đảm nhiệm 1 chức năng độc lập(hoặc là truyền, hoặc là nhận), để kết nối các chip AVR với nhau (hoặc kết nối AVRvới thiết bị hỗ trợ UART khác) ta phải đấu “chéo” 2 chân này TxD của thiết bị thứnhất kết nối với RxD của thiết bị 2 và ngược lại Module USART trên chipAtmega32 hoạt động “song công” (Full Duplex Operation), nghĩa là quá trình truyền

và nhận dữ liệu có thể xảy ra đồng thời

Các thanh ghi:

Có 5 thanh ghi được thiết kế riêng cho hoạt động và điều khiển của USART, đó là:

UDR: hay thanh ghi dữ liệu, là 1 thanh ghi 8 bit chứa giá trị nhận được và phát đi

của USART Thực chất thanh ghi này có thể coi như 2 thanh ghi TXB (Transmitdata Buffer) và RXB (Reveive data Buffer) có chung địa chỉ Đọc UDR thu đượcgiá trị thanh ghi đệm dữ liệu nhận, viết giá trị vào UDR tương đương đặt giá trị vàothanh ghi đệm phát, chuẩn bị để gởi đi Chú ý trong các khung truyền sử dụng 5, 6hoặc 7 bit dữ liệu, các bit cao của thanh ghi UDR sẽ không được sử dụng

7 6 5 4 3 2 1 0

RXB[7:0]

TXB[7:0]

UCSRA (USART Control and Status Register A): là 1 trong 3 thanh ghi điều

khiển hoạt động của module USART.

R R/W R R R R R/W R/W

Thanh ghi UCSRA chủ yếu chứa các bit trạng thái như bit báo quá trình nhận kếtthúc (RXC), truyền kết thúc (TXC), báo thanh ghi dữ liệu trống (UDRE), khungtruyền có lỗi (FE), dữ liệu tràn (DOR), kiểm tra parity có lỗi (PE)…một số bit quantrọng của thanh ghi này:

UDRE: (USART Data Register Empty) khi bit bày bằng 1 nghĩa là thanh ghi dữ liệuUDR đang trống và sẵn sàng cho một nhiệm vụ truyền hay nhận tiếp theo Vì thếnếu bạn muốn truyền dữ liệu đầu tiên bạn phải kiểm tra xem bit UDRE có bằng 1

Trang 18

hay không, sau khi chắc chắn rằng UDRE=1 hãy viết dữ liệu vào thanh ghi UDR đểtruyền đi.

U2X là bit chỉ định gấp đôi tốc độ truyền, khi bit này được set lên 1, tốc độ truyền

so cao gấp 2 lần so với khi bit này mang giá trị 0

MPCM là bit chọn chế độ hoạt động đa xử lí (multi-processor)

UCSRB (USART Control and Status Register B): đây là thanh ghi quan trọng

điều khiển USART.

RXCIE (Receive Complete Interrupt Enable) là bit cho phép ngắt khi quá trình nhậnkết thúc Việc nhận dữ liệu truyền bằng phương pháp nối tiếp không đồng bộthường được thực hiện thông qua ngắt, vì thế bit này thường được set bằng 1 khiUSART được dung nhận dữ liệu

TXCIE (Transmit Complete Interrupt Enable) bit cho phép ngắt khi quá trình truyềnkết thúc

UDRIE (USART Data Register Empty Interrupt Enable) là bit cho phép ngắt khithanh ghi dữ liệu UDR trống

RXEN (Receiver Enable) là một bit quan trọng điều khiển bộ nhận của USART, đềkích hoạt chức năng nhận dữ liệu bạn phải set bit này lên 1

TXEN (Transmitter Enable) là bit điều khiển bộ phát Set bit này lên 1 bạn sẽ khởiđộng bộ phát của USART

UCSZ2 (Chracter size) bit này kết hợp với 2 bit khác trong thanh ghi UCSRC quyđịnh độ dài của dữ liệu truyền/nhận Chúng ta sẽ khảo sát chi tiết khi tìm hiểu thanhghi UCSRC

RXB8 (Receive Data Bit 8) gọi là bit dữ liệu 8 Bạn nhớ lại rằng USART trongAVR có hỗ trợ truyền dữ liệu có độ dài tối đa 9 bit, trong khi thanh ghi dữ liệu làthanh ghi 8 bit Do đó, khi có gói dữ liệu 9 bit được nhận, 8 bit đầu sẽ chứa trongthanh ghi UDR, cần có 1 bit khác đóng vai trò bit thứ chín,

TXB8 (Transmit Data Bit 8), tương tự như bit RXD8, bit TXB8 cũng đóng vai tròbit thứ 9 truyền thông, nhưng bit này được dung trong lúc truyền dữ liệu

UCSRC (USART Control and Status Register C): thanh ghi này chủ yếu quy định

khung truyền và chế độ truyền Thanh ghi này lại có cùng địa chỉ với thanh ghi

UBRRH (thanh ghi chứa byte cao dùng để xác lập tốc độ baud) Bit 7 trong thanh

ghi này, tức bit URSEL là bit chọn thanh ghi Khi URSEL=1, thanh ghi này đượcchip AVR hiểu là thanh ghi điều khiển UCSRC, nhưng nếu bit URSEL=0 thì thanhghi UBRRH sẽ được sử dụng

Ngày đăng: 23/04/2014, 17:11

HÌNH ẢNH LIÊN QUAN

Sơ đồ cách tổ chức bộ nhớ và các cấu trúc thanh ghi của ATMEGA8 - đồ án thiết kế bộ đo và khống chế nhiệt độ, hiển thị lcd
Sơ đồ c ách tổ chức bộ nhớ và các cấu trúc thanh ghi của ATMEGA8 (Trang 11)

TỪ KHÓA LIÊN QUAN

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

w