LỜI CẢM ƠN
Để hoàn thành được đồ án này, đầu tiên nhóm thực hiện xin được gởi lời
cảm ơn đến Ban Giám Hiệu, quý Thầy Cô trong trường và đặc biệt là quý
Thầy Cô trong khoa Cơ Điện Tử Trường Đại Học Sư Phạm Kỹ Thuật
TP.HCM, đã tận tình chỉ dẫn, truyền đạt kiến thức cũng như tạo điều kiện
thuận lợi cho nhóm thực hiện trong suốt quá trình học tập vừa qua.
Đặt biệt nhóm thực hiện xin chân thành cảm ơn Thầy Lê Tấn Cường đã tận
tình hướng dẫn, quan tâm theo dõi và động viên nhóm thực hiện để hoàn
thành tốt đồ án tốt nghiệp này.
Ngoài ra, nhóm thực hiện đề tài cũng xin gửi lời cảm ơn đến tất cả các bạn
bè cùng khóa và người thân chung quanh đã giúp đỡ về vật chất và tinh thần
để nhóm thực hiện đạt được thành tích như ngày hôm nay.
NHÓM THỰC HIỆN ĐỀ TÀI
Chương 1 : DẪN NHẬP
1.Nội dung đề tài:
Hiển thị nhiệt độ cảm biến nhiệt LM35 trên matlab thong qua cổng RS232
giao tiếp với máy tính.
2.Mục đích đề tài:
Sử dụng cảm biến nhiệt độ theo dõi sự thay đổi nhiệt độ.
Kết hợp với máy tính ghi nhận sự thay đổi nhiệt độ nhằm phân tích đánh
giá sự biến đổi nhiệt độ.
Thơng qua chương trình vi điều khiển nhằm đáp ứng sự thay đổi nhiệt độ
tùy theo mục đích sử dụng mà tác động tăng hay giảm nhiệt độ.
Mở rộng kiến thức về các loại vi điều khiểân mới và ứng dụng vào trong
thực tế.
Sử dụng phần mềm matlab nhằm hiển thị giá trị nhiệt độ.
Chương 2 : PHƯƠNG THỨC THỰC HIỆN
Phương án th ực hiện
Mạch tích hợp.
Vi điều khiển AVR có tích hợp bộ chuyển đổi ADC có khả năng
lập trình.
-1K Byte Internal SRAM.
-Nhiều ngõ vào ra (I/O Port) 2 hướng (bi-directional).
-2 bộ Timer/Counters 8-bit với Separate Prescalers và Compare
Modes.
-1 Timer/Counter 16-bit với Separate Prescaler, Compare Mode và
-Capture Mode.
-4 kênh PWM.
-8 kênh chuyển đổi ADC 10-bit
-8 kênh chuyển đổi đơn.
-7 kênh chuyển đổi vi sai chỉ được đóng gói trong TQFP .
-2 kênh chuyển đổi vi sai có khả năng lập trình, lựa chọn độ lợi 1x,
10x, or 200x.
-Giao diện nối tiếp USART( tương thích chuẩn nối tiếp RS-232)
-Giao diện nối tiếp Two-wire Serial( tương thích chuẩn I2C )
-Giao diện nối tiếp SPI Master và Slave.
-Bộ Watchdog Timer có khả năng lập trình được với bộ dao động
trên chip.
-Bộ so sánh Analog trên chip.
……
Sơ đồ chân của ATMEGA32
Sơ đồ khối của ATMEGA32
Lõi AVR kết hợp những tập lệnh với 32 thanh ghi làm việc với mục
đích chung. Cả 32 thanh ghi đều được kết nối trực tiếp đến ALU. Cho
phép truy xuất 2 thanh ghi làm việc độc lập với 1 chu kì máy. Với kiến
trúc RISC này cho phép CPU làm việc nhanh gấp mười lần kiến trúc
CISC.
class="bi xc y4a w4 hb"
Mô tả chân linh kiện:
VCC & GND Chân cấp nguồn cho vi điều khiển.
Port A (PA7 PA0)
Ngõ vào Reset. Nếu mức Low đặt vào chân này dài hơn độ rộng
xung tối thiểu sẽ reset AVR. Cho dù không có xung clock
XTAL1 & XTAL2 Ngõ vào ra của bộ dao động thạch anh.
AVCC
Chân nguồn cung cấp cho Port A và bộ chuyển đổi ADC. Thường
được kết nối với Vcc, thậm chí nếu ADC không được sử dụng. Còn nếu
ADC được sử dụng, nên kết nối với Vcc thông qua 1 mạch lọc thông thấp.
AREF Chân điện áp tham chiếu cho bộ chuyển đổi ADC.
ADC (Analog to Digital Converter)
Tính năng:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Các thanh ghi trong ADC
ADC Multiplexer Selection Register – ADMUX
Bit 7:6 – REFS1:0: Reference Selection Bits.
Hai bit này lựa chọn điện áp tham chiếu cho ADC. Nếu những bit
này được thay đổi trong quá trình chuyển đổi thì sự thay đổi này sẽ không
được tác động cho tới khi quá trình chuyển đổi hoàn tất. Điện áp tham
chiếu bên trong có thể không được sử dụng nếu điện áp tham chiếu bên
ngoài được thiết lập bằng cách thiết lập nguồn VCC tại chân AREF.
The ADC Data Register – ADCL and ADCH:
ADLAR = 0
ADLAR = 1
Khi quá trình chuyển đổi hoàn tất, kết quả sẽ được tìm thấy ở 2
thanh ghi này. Nếu kênh vi sai được sử dụng, kết quả sẽ được trình theo
kiểu bù của 2 dạng trên.
Khi ADCL được đọc, ADC Data Register sẽ không được update cho
đến khi ADCH được đọc. Nói cách khác, ADCL phải được đọc trước
ADCH.
Special Function IO Register – SFIOR
Bit 7:5 – ADTS2:0: ADC Auto Trigger Source.
Bộ nâng cao tốc độ baud tại tần số thạch anh thấp.
Mỗi khung dữ liệu có thể có 5,6,7, 8 hoặc 9 bit dữ liệu và 1 hoặc 2
bit stop.
Hỗ trợ bộ kiểm tra bit chăn lẻ parity bằêng phần cứng.
Phát hiện trạng thái Overrun.
Phát hiện khung truyền bò lỗi.
Lọc nhiễu, phát hiện lỗi bit start.
Cho phép ba ngáêt riêng biệt là TX Complete, TX Data Register
Empty, RX Complete.
Trong truyền nhận bất đồâng bộ hỗ trợ chức năng nhân đôi tốc độ.
Truyền dữ liệu (5 đến 8 bit)
Việc thiết lập chế độ truyền nối thông qua việc thiết lập bit TXEN
(Transmit Enable) bên trong thanh chi UCSRB. Tốc độ baud, chế độ hoạt
động và đònh dạng khung dữ liệu phải được thiết lập trước khi thực hiện
truyền dữ liệu. Nếu hoạt dọâng ở chế độ đồng bộ thì xung trên chân XCK
được sử dụng như là xung trong truyền dữ liệu.
Dữ liệu cần truyền đưa vào trong bộ đệm truyền bằng cách ghi vào
thanh ghi xuất nhập UDR . Dữ liệâu trong bộ đệm được đưa vào thanh ghi
dòch khi thanh ghi dòch đã sẵn sàng để truyền một khung dữ liệu mới.
Thanh ghi dich nhận một khung dữ liệu mới nếu nó ở trong tình trạng
nhàn rỗi hoặc ngay sau khi bit stop của khung dữ liệu trước đó được
truyền đi. Khi dữ liệu sẵn sàng trong thanh ghi dòch thì nó tiến hành
truyền đi với tốc độ được thiết lập thông qua thanh ghi Baud Register, bit
UX2 hoặc XCK tùy thuộc vào chế độ hoạt động.
Cờ và ngắt trong truyền nối tiếp
Truyền USART có hai cờ là USART Data Register Empty (UDRE)
và Transmit Complete (TXC), cả cờ này có thể được dùng trong ngắt. Cờ
UDRE báo cho biết bộ đệm đã sằn sàng nhận dữ liệu mới . Bít này lên
mức một khi bộ đệm truyền trong tình trạng trống (nhàn rỗi) và bò xóa về
không khi bộ đệm chứa dữ liệu. Khi ngắt UDRIE (Data Register empty
f
osc
: tần số thạch anh (Hz).
UBRR giá trò của các bit UBRR11:0 trong hai thanh ghi UBRRH và
UBRRL .
Các thanh ghi trong USART
Thanh ghi UDR - UART I/O Data Register
Thanh ghi UDR thực chất là hai thanh ghi riêng lẻ về mặt vật lý
nhưng cùng chia sẻ đòa chỉ I/O giống nhau. Thanh ghi TXB (Transmit
Data Buffer Register) được sử dụng trong việc truyền dữ liệu, trong nhận
dữ liệu thì dữ liệu được đọc từ thanh ghi RXB (Receive Data Buffer
Register).
Thanh ghi UCSRA – USART Control and Status Register A
Bit 7- RXC (USART Receive Complete)
Bit cờ này được đặt lên một khi có dữ liệu chưa được đọc trong
thanh bộ đệm nhận và bò xóa khi bộ đệm nhận trống. Bit này có thể
được sử dụng phát sinh ngắt Receive Complete interrupt
Bit 6-TXD (USART Transmit Complete)
Bit cờ này được đặt lên mức một khi toàn bộ khung dữ liệu
trong bộ đệm truyền được dòch hết ra ngoài và chưa có dữ liệu mới
xuất hiện trong bộ đệm truyền. Bit nay tự động xóa về không khi
ngắt Transmit Complete được thực thi.
Bit 5- UDRE( USART Data Register Empty)
Cờ UDRE báo nếu bộ đệm (URD) sẵng sàng nhận dữ liệu
mới. Nếu UDRE ở mức một có nghóa là bộ đệm truyền trống sẵn
sàng cho ghi dữ liệu. Cờ UDRE có thể phát sinh ngắt Data Register
empty Interrupt.
Bit 4-FE (Frame Error)
Bit này được đặt lên mức một nếu ký tự kế tiếp trong bộ đệm
lên một và thì bit UDRE trong thanh ghi UCSRA được đặt lên một.
Bit 4- RXEN ( Receiver Enable)
Bit RXEN được đặt lên một cho phép nhận dữ liệu. Dữ liệu
được nhận vào thông qua chân RxD. Nếu bộ nhận dữ liệu bò cấm thì
bộ đệm nhận và các cờ PE, DOR không có tác dụng.
Bit 3-TXEN ( Transmitter Enable)
Bit TXEN được đặt lên một cho phép truyền dữ liệu. Dữ liệu
được truyền đi thông qua chân RxD. Nếu bộ nhận dữ liệu bò cấm thì
bộ đệm truyền không có tác dụng.
Bit 2- UCSZ2 (Character Size)
Bit UCSZ2 kết hợp với các bít UCSZ1:0 trong thanh ghi
UCSRC thiết lập số bít dữ liệu trong một khung trong quá trình
truyền nhận.
Bit 1- RXB8 (Receive Data Bit 8)
RXB8 bít thứ chín của khung dữ liệu trong nhận dữ liệu khi hoạt
động với khung dữ liệu chín bit. Phải được đọc trước khi đọc các bit
thấp từ UDR.
Bit 0-TXB8 (Transmit Data Bit 8)
TXB8 bít thứ chín của khung dữ liệu trong truyền dữ liệu khi
hoạt động với khung dữ liệu chín bit. Phải được ghi trước khi ghi các
bit thấp từ UDR.
Thanh ghi UCSRC – USART Control and Status Register C
Bit 7 - URSEL ( Register Select)
Lựa chọn giữa việc truy cập thanh ghi UCSRC hoặc thanh ghi
UBRRH. Bit URSEL phải được đặt lên một khi thiết lập thanh ghi
UCSRC.
Bit 6 – UMSEL (USART Mode Select)
Chọn chế độ hoạt động đồng bộ hoặc bất đồng bộ.Bit UMSEL
đặt mức một thì hoạt động đồng bộ, ở mức không thì hoạt động
không đồng bộ.
Được hiệu chỉnh trực tiếp thành
o
C.
Hệ số chia tuyến tính + 10.0 mV/
o
C.
Sai số khoảng 0.5
o
C tại 25
o
C.
Phạm vi giới hạn nhiệt độ từ −55 tới +150
o
C.
Phù hợp với các ứng dụng điều khiển từ xa.
Giá thành thấp (15k).
Hoạt động từ 4V đến 30V.
Dòng qua khoảng 60 µA.
Khả năng tự tản nhiệt thấp, khoảng 0.08
o
C trong điều kiện không
khí là tónh.
Mức độ phi tuyến tiêu biểu là ±1⁄4
o
C.
Trở kháng ngõ ra thấp, 0.1 Ω với tải 1 mA.
Ứng dụng tiêu biểu
LM35 đo nhiệt độ ngõ vào và xuất tín hiệu điện áp ngõ ra tỉ lệ
tuyến tính với nhiệt độ ngõ vào là
o
0
C +1.0
0
C 10mV/
0
C
LM35 -55
0
C đến +150
0
C +1.5
0
C 10mV/
0
C
LM35CA -40
0
C đến +110
0
C +1.0
0
C 10mV/
0
C
LM35C -40
0
C đến +110
0
C +1.5
0
tín hiệu điện áp chênh lệnh giữa một dây tín hiệu và đất. Mức điện áp
được sử dụng giao động -15V đến +15V . Mức logic 1 tương đương với
điện áp từ -3V đến -15V, mức logic 0 tương đương với điện áp từ 3V đến
15V. Tốc độ làm truyền nhận khoảng 20kps và phụ thuộc vào khoảng
cách. Công suất phát tương đối thấp nhờ trở kháng đầu vào hạn chế.
Chuẩn RS232 loại 9 chân:
Giao diện chuẩn RS232 loại 9 chân ( cổng COM)
DCD : Phát hiện sóng mang.
DSR : sẵn sàng làm việc.
RXD :đọc dữ liệu
RTS : yêu cầu truyền dữ liệu.
TXD : Truyền dữ liệu.
CTS : sẵn sàng nhận dữ liệu.
DTR : sẵn sàng làm việc.
RI : Báo chuông.
GND : 0V
Chương 4 : THIẾT KẾ PHẦN CỨNG HỆ THỐNG
1.Chuẩn RS232
Các máy tính thường có 1 hoặc 2 cổng nối tiếp theo chuẩn RS232, được gọi
là cổng Com. Chúng được dùng ghép nối cho chuột, modem, thiết bị đo
lường…Khi cần dùng nhiều cổng hơn ta có thể lắp đặt các card mở rộng trên
đó có thêm một đến hai cổng Com. Có hai dạng cổng Com: cổng Com 25
chân và cổng Com 9 chân.
Ưu điểm giao diện nối tiếp RS232:
− Khả năng chống nhiễu của các cổng nối tiếp cao.
− Thiết bị ngoại vi có thể tháo lắp ngay cả khi máy tính đang được cấp
điện.
− Các mạch điện đơn giản có thể nhận được điện áp nguồn nuôi qua cổng
nối tiếp.
Hình 4.1: Chân ra cổng Com DB9.
để thông báo cho bộ truyền là
nó sẵn sàng nhận dữ liệu.
9 Ring Indicate RI
Báo chuông, cho biết là bộ
nhận đang nhận tín hiệu rung
chuông.