LỜI CẢM ƠN Để hoàn thành được luận văn này là kết quả của toàn bộ nỗ lực của bản thân em trong suốt thời gian theo học tại trường, là toàn bộ năng lực của em khi bắt tay vào quá trình nghiên cứu. Để được thành công như ngày hôm nay chúng em không bao giờ quên được sự giúp đỡ và sự giảng dạy rất nhiệt tình của các Thầy cô Bộ môn Điện – Điện Tử - Trường Đại học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh. Các Thầy cô là những đội ngũ đi trước rất am hiểu về lĩnh vực khoa học kỹ thuật đã tận tình giảng dạy và giúp chúng em hoàn thành được rất nhiều đề tài rất hay và có ứng dụng nhiều trong thực tế. Và đều không thể kể đến sự thành công của em ngày hôm nay đó là sự nhiệt huyết tận tình hướng dẫn của Thầy Trương Ngọc Anh. Thầy đã cùng em đi qua những ngày khó khăn trong quá trình nghiên cứu và chỉ dẫn của Thầy là niềm động lực rất lớn đối với chúng em. Và cuối cùng em xin ghi ơn công lao cha mẹ đã sinh ra và cho chúng em được ăn học đến ngày hôm nay để có cơ hội tiếp cận với lĩnh vực khoa học, nhờ sự động viên thường xuyên và quan tâm đủ mặt về phía gia đình là một động lực giúp chúng em vực qua mặt tâm lý, sự chán nản để chúng em quyết tâm hoàn thành tốt được đề tài này.
Trang 1NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
TP.Hồ Chí Minh, ngày tháng năm 2012
Đồ án II: Thiết kế cân điện tử 1
Trang 2Mục lục
DANH MỤC HÌNH VẼ 3
DANH MỤC BẢNG BIỂU – LƯU ĐỒ 4
LỜI CẢM ƠN 5
NHIỆM VỤ CỦA ĐỀ TÀI 6
CHƯƠNG 1: DẪN NHẬP 7
1.1 Lý do chọn đề tài 7
1.2 Giới hạn của đề tài 7
CHƯƠNG 2: CƠ SƠ LÝ LUẬN 8
2.1 Các phương pháp định lượng 8
2.2 Cảm biến trọng lượng Loadcell 9
2.3 Các linh kiện sử dụng trong mạch 12
2.3.1 IC AD7730 12
2.3.2 LCD HD44780 16x2 20
2.3.3 Vi điều khiển PIC 16F877A 30
2.3.4 IC TL082 47
2.3.5 IC nguồn 7805 49
2.3.6 IC nguồn 7905 50
CHƯƠNG 3: THIẾT KẾ - THI CÔNG 52
3.1 Sơ đồ khối 52
3.2 Sơ đồ nguyên lý 53
3.3 Tính toán khối khuếch đại 54
3.4 Lưu đồ chương trình 55
3.5 Chương trình 57
3.6 Sơ đồ mạch in 63
CHƯƠNG 4: KẾT QUẢ VÀ ĐỀ NGHỊ 64
TÀI LIỆU THAM KHẢO 65
Trang 3Danh mục hình vẽ
Hình 2.1 Cân bằng đòn cân 8
Hình 2.2 Cấu tạo Strain gage 9
Hình 2.3 Mạch cầu Wheatstone 10
Hình 2.1 Cấu tạo bên trong loadcell và nguồn cấp 11
Hình 2.5 Một số dạng Loadcell 12
Hình 2.2 Loadcell UWE dạng thanh 12
Hình 2.7 Sơ đồ chân IC AD7730 13
Hình 2.8 Sơ đồ kết nối Loadcell DC với IC AD7730 14
Hình 2.9 Giản đồ xung quá trình đọc dữ liệu từ IC AD7730 17
Hình 2.10 Giản đồ xung quá trình ghi dữ liệu từ IC AD7730 18
Hình 2.11 Hình dáng của loại LCD thông dụng 20
Hình 2.12 Sơ đồ chân của LCD 21
Hình 2.13 Cấu hình bên trong PIC 16F877A 33
Hình 2.14 Sơ đồ khối bên trong PIC 16F877A 34
Hình 2.15 Sơ đồ chân PIC 16F877A 35
Hình 2.16 Kết nối SPI 39
Hình 2.17 Truyền dữ liệu SPI 39
Hình 2.18 Sơ đồ khối của ADC PIC 16F877A 43
Hình 2.19 Định dạng cặp thanh ghi lưu kết quả 46
Hình 2.20 Sơ đồ chân của TL082 48
Hình 2.21 Sơ đồ chân IC 7805 49
Hình 2.22 Sơ đồ chân IC 7905 50
Hình 3.1 Sơ đồ mạch khuếch đại vi sai 54
Đồ án II: Thiết kế cân điện tử 3
Trang 4Danh mục bảng biểu
Bảng 2.1 Thông số Loadcell UWE 12
Bảng 2.2 Các giá trị điện áp vào 12
Bảng 2.3 Chức năng các chân của IC AD7730 13
Bảng 2.4 Chức năng các bit trong thanh ghi giao tiếp 14
Bảng 2.5 Các lựa chọn của bit RS2 – RS0 15
Bảng 2.6 Chức năng các bit trong thanh ghi trạng thái 15
Bảng 2.7 Chức năng các bit trong thanh ghi chế độ 17
Bảng 2.8 Giá trị các byte W,Y,Z trong quá trình đọc ghi 20
Bảng 2.9 Chức năng các chân của LCD 21
Bảng 2.10 Chức năng RS và RW theo mục đích sử dụng 22
Bảng 2.11 Bảng mã ký tự (ROM CODE A00) 24
Bảng 2.12 Tập lệnh LCD 24
Bảng 2.13 Điều kiện hoạt động giới hạn của LCD 28
Bảng 2.14 Điều kiện hoạt động bình thường của LCD 28
Bảng 2.15 Các đặc điểm của PIC 16F877A 32
Bảng 2.16 Chức năng chân của TL082 48
Bảng 2.17 Giá trị tới hạn của TL082 49
Bảng 2.18 Chức năng chân của 7805 49
Bảng 2.19 Giá trị tới hạn của 7805 50
Bảng 2.20 Chức năng chân của 7905 50
Trang 5LỜI CẢM ƠN
Để hoàn thành được luận văn này là kết quả của toàn bộ nỗ lực của bản thân
em trong suốt thời gian theo học tại trường, là toàn bộ năng lực của em khi bắt tayvào quá trình nghiên cứu Để được thành công như ngày hôm nay chúng em khôngbao giờ quên được sự giúp đỡ và sự giảng dạy rất nhiệt tình của các Thầy cô Bộmôn Điện – Điện Tử - Trường Đại học Sư Phạm Kỹ Thuật Thành Phố Hồ ChíMinh Các Thầy cô là những đội ngũ đi trước rất am hiểu về lĩnh vực khoa học kỹthuật đã tận tình giảng dạy và giúp chúng em hoàn thành được rất nhiều đề tài rấthay và có ứng dụng nhiều trong thực tế Và đều không thể kể đến sự thành công của
em ngày hôm nay đó là sự nhiệt huyết tận tình hướng dẫn của Thầy Trương NgọcAnh Thầy đã cùng em đi qua những ngày khó khăn trong quá trình nghiên cứu vàchỉ dẫn của Thầy là niềm động lực rất lớn đối với chúng em Và cuối cùng em xinghi ơn công lao cha mẹ đã sinh ra và cho chúng em được ăn học đến ngày hôm nay
để có cơ hội tiếp cận với lĩnh vực khoa học, nhờ sự động viên thường xuyên vàquan tâm đủ mặt về phía gia đình là một động lực giúp chúng em vực qua mặt tâm
lý, sự chán nản để chúng em quyết tâm hoàn thành tốt được đề tài này
Chúng em cũng xin cảm ơn đến những người bạn thân đã không ngại chia sẽ
về kinh nghiệm làm đề tài cũng như hỗ trợ các công việc để giúp nhóm em hoànthành tốt được đề tài này
Đồ án II: Thiết kế cân điện tử 5
Trang 6NHIỆM VỤ CỦA ĐỀ TÀI
Cân là một thiết bị được áp dụng rất nhiều trong các nhà máy sản xuất Vớinhững yêu cầu về định lượng sản phẩm một cách chính xác khi được đưa vào quátrình sản xuất Từ những yêu cầu thực tế và lòng đam mê nghiên cứu các hệ thống
cân nên em mạnh dạn chọn đề tài “THIẾT KẾ CÂN DÙNG PIC16F877A VÀ IC CHUYÊN DỤNG AD7730” này để làm đề tài ĐỒ ÁN 2 cho mình.
Trong quá trình thực hiện đề tài, em đã nỗ lực hết sức, tuy nhiên sẽ khôngtránh khỏi những thiếu sót và những nội dung trình bày trong quyển báo cáo này lànhững hiểu biết và những thành quả của em đạt được trong suốt quá trình nghiên
cứu dưới sự hướng dẫn nhiệt tình của thầy Trương Ngọc Anh
Chúng em xin cam đoan rằng: những nội dung trình bày trong quyển báo cáo
đồ án 2 này không phải là bản sao chép từ bất kỳ công trình đã có trước nào Nếukhông đúng sự thật, em xin chịu mọi trách nhiệm trước nhà trường
TP.Hồ Chí Minh, ngày tháng năm 2013
Sinh viên thực hiện
(ký tên và ghi họ tên)
Trang 7CHƯƠNG I: DẪN NHẬP
1.1 LÝ DO CHỌN ĐỀ TÀI:
Nhằm muốn khám phá sự tò mò, yêu thích tìm hiểu về các thiết bị có giá trị đầu
ra là Analog Nên đề tài em chọn là giao tiếp PIC16F877A với loadcell Để tìmhiểu và nghiên cứu thêm về cách thức giao tiếp Trong đề tài này em sử dụng
IC chuyên dụng cho Loadcell, sử dụng giao thức truyền dữ liệu SPI
1.2 GIỚI HẠN CỦA ĐỀ TÀI:
Vì em sử dụng Loadcell 6Kg nên khối lượng tối đa mà loadcell có thể cân đượcchỉ là 6Kg Và độ phân giải là 1gram Nếu có đều kiện em sẽ cải tiến để có độphân giải của cân nhỏ hơn đến mức có thể
Đồ án II: Thiết kế cân điện tử 7
Trang 8CHƯƠNG II: CƠ SỞ LÝ LUẬN
2.1 CÁC PHƯƠNG PHÁP ĐỊNH LƯỢNG
2.1.1 Khối lượng của một vật thể
Khối lượng là thước đo về lượng nhiều hay ít hay mức độ đậm đặc (loãng hay đặc)của vật chất chứa trong vật thể Khối lượng được hiểu phổ thông nhất là sức nặngcủa vật trên mặt đất
Khối lượng của vật có thể được tính từ tích phân toàn bộ thể tích của vật
∫
= dV
m ρ
với ρ
là khối lượng riêng (Nguồn: wikipedia.org)
Đơn vị tiêu chuẩn đo khối lượng là kilogam (kg)
Trọng lượng là một trường hợp của công thức này Dưới tác dụng của sức hút tráiđất, vật có khối lượng sẽ chịu tác dụng của trọng lượng P = m.g ; g là gia tốc trọngtrường ≈ 9,8 m/s2 là một số cố định ở từng khu vực
Các phương pháp đo khối lượng là dựa vào quan hệ này Có rất nhiều phương phápxác định khối lượng của vật, từ cổ điển đến hiện đại Tuy nhiên điều sai số là điềukhó tránh khỏi đối với các thiết bị cân khối lượng có cấu tạo đơn giản, thiết bị cânđiện tử sẽ khắc phục được nhược điểm này Sau đây là một vài cách thức xác địnhkhối lượng của một vật
2.1.2 Các hình thức xác định khối lượng của vật
Cân bằng đòn cân: một khối lượng chưa biết được đặt trên đĩa cân Các quả cânđược hiệu chỉnh chính xác có kích thước khác nhau được đặt trên đĩa bên kia chođến khi cân bằng Khối lượng chưa biết bằng tổng khối lượng của các quả cân đặtlên
Hình 2.3 Cân bằng đòn cân
Cân đồng hồ lò xo thực tế là một ứng dụng đo khối lượng thông qua sự dịch chuyểndưới tác dụng của trọng lực do vật khối lượng m gây ra Khối lượng chưa biết đặttrên bàn cân trên lò xo đã được hiệu chỉnh Lò xo di động cho đến khi lực đàn hồicủa lò xo cân bằng với trọng trường tác động lên khối lượng chưa biết Lượng diđộng của lò xo được dùng để đo khối lượng chưa biết Ở các cân đồng hồ chỉ thịkim, lượng di động của lò xo sẽ làm kim quay thông qua một cơ cấu bánh răng với
tỷ lệ hợp lý và góc quay của kim sẽ xác định khối lượng của vật cần cân
Trang 9Ngày nay, với tiến bộ của khoa học kỹ thuật, thì các thiết bị cân điện tử ra đời đểxác định khối lượng của một vật từ rất nhỏ đến khối lượng tương đối lớn như: cânphân tích, cân vàng, cân xe tải, và đang được dùng rất phổ biến trong đời sống, sảnxuất.
Để có được những bàn cân điện tử với độ chính xác cao thì các loại cảm biến trọnglượng (cảm biến lực) được sử dụng với thiết bị này Các cảm biến trọng lượng dùngtrong việc đo khối lượng được sử dụng phổ biến là Loadcell Đây là một kiểu cảmbiến lực biến dạng Lực chưa biết tác động vào một bộ phận đàn hồi, lượng di độngcủa bộ phận đàn hồi biến đổi thành tín hiệu điện tỷ lệ với lực chưa biết
2.2 CẢM BIẾN TRỌNG LƯỢNG (LOADCELL)
2.2.1 Cấu tạo của một Loadcell
Loadcell gồm một vật chứng đàn hồi, là một khối nhôm hoặc thép không rỉ được xử
lý đặc biệt, trên vật chứng có dán 4 strain gage Khi vật chứng bị biến dạng dưới tácdụng của trọng lượng tác động vào loadcell thì có thể có 2 hoặc 4 strain gage bị tácđộng
Strain gage hay còn gọi là cảm biến biến dạng gồm một sợi dây dẫn có điện trở suất(thường dùng hợp kim của Niken) có chiếu dài l và có tiết diện s, được cố định trênmột phiến cách điện như hình sau:
Hình 2.4 Cấu tạo Strain gage
Khi đo biến dạng của một bề mặt dùng Strain gage, người ta dán chặt strain gagelên trên bề mặt cần đo sao cho khi bề mặt bị biến dạng thì strain gage cũng bị biếndạng
Các strain gage được dùng để đo lực, đo momen xoắn của trục, đo biến dạng bề mặtcủa chi tiết cơ khí, đo ứng suất,…và được dùng để lắp mạch cầu Wheatstone để chếtạo ra các loadcell
2.2.2 Mạch cầu Wheatstone
Loadcell hoạt động dựa trên nguyên lý cầu điện trở cân bằng Wheatstone Mạch cầuWheatstone dùng để chuyển đổi sự thay đổi của điện trở (thay đổi điện trở của cácstrain gage) dưới tác dụng lực thành sự thay đổi của điện áp trên đường chéo củacầu
Đồ án II: Thiết kế cân điện tử 9
Trang 10R V
R R
R R
22
.2
1
0
∆+
Trang 11Hình 2.6 Cấu tạo bên trong loadcell và nguồn cấp
Hình 2.7 Một số dạng loadcell
2.2.3 Ứng dụng loadcell vào đề tài
Qua nghiên cứu và khảo sát các loại Loadcell hiện đang có trên thị trường, và vàomục đích phù hợp với đề tài thiết kế hệ thống định lượng nên chúng em đã nghiêncứu và sử dụng loadcell dạng thanh vào đề tài, vì nó phù hợp theo thiết kế cơ khí vàchịu tải trọng
Đồ án II: Thiết kế cân điện tử 11
Trang 12Hình 2.8 Loadcell UWE dạng thanh
Bảng 2.1 Thông số Loadcell UWE
2.3 CÁC LINH KIỆN SỬ DỤNG TRONG MẠCH:
2.3.1 AD7730
a Giới thiệu về IC AD7730:
IC AD7730 là một IC chuyên dụng thường được sử dụng để chuyển đổi tín hiệuAnalog sang Số (ADC) Cụ thể là để chuyển tín hiệu xuất ra từ loadcell hoặc cácđầu dò áp suất những thiết bị này có tín hiệu ngõ ra là điện áp rất nhỏ chừng vàichục mV
IC AD7730 cho ra tín hiệu số nối tiếp (SPI)
Hoặc -10 mV +10mV, -20 mV +20
mV, -40 mV +40 mV and -80mV +80mV
Bảng 2.2 Các giá trị điện áp vào
(Nguồn: www.canvietnhat.com)
Trang 13Hình 2.7 Sơ đồ chân IC AD7730
b Bảng chức năng của các chân:
1 SCLK Ngõ vào xung clock cho truyền tín hiệu nối tiếp
2
3 MLCK INMLCK OUT Ngõ vào xung clock cho IC hoạt động
4 POL Ngõ vào để xác định sẽ truyền dữ liệu nối tiếp theo xung cung
lên hay cạnh xuống
5 SYNC Chân đồng bộ khi sử dụng nhiều IC AD7730
6 RESET Chân dùng reset IC
8 AGND Nối với đất của phần mạch tương tự
9 AVDD Nối với nguồn tín hiệu dương của phần mạch tương tự
10 AIN1(+) Ngõ vào dương của tín hiệu tương tự kênh 1
11 AIN1(-) Ngõ vào âm của tín hiệu tương tự kênh 1
12 AIN2(+)/D1 Ngõ vào dương của tín hiệu tương tự kênh 2 hoặc ngõ ra số
(phụ thuộc 2 bit DEN và D1 của thanh ghi MODE)
13 AIN2(-)/D0 Ngõ vào âm của tín hiệu tương tự kênh 2 hoặc ngõ ra số (phụ
thuộc 2 bit DEN và D0 của thanh ghi MODE)
14 REF IN(+) Điện áp tham chiếu dương cho bộ chuyển đổi ADC
15 REF IN(-) Điện áp tham chiếu âm cho bộ chuyển đổi ADC
16,17 ACX Dùng khi sử dụng cầu điện trở xoay chiều
18 STANDBY Điều khiển chế độ ngủ động của IC
Đồ án II: Thiết kế cân điện tử 13
Trang 1420 RDY Ngõ ra số Ngõ thông báo trạng thái IC
21 DOUT Ngõ ra số Dùng để truyền dữ liệu nối tiếp
22 DIN Ngõ và số Dùng để truyền dữ liệu nối tiếp
23 DVDD Chân nối nguồn dương phần mạch số
24 DGND Chân nối mass phần mạch số
Bảng 2.3 Chức năng các chân của IC AD7730
Hình 2.8 Sơ đồ kết nối Loadcell DC với IC AD7730.
c Các thanh ghi trong AD7730
Có 9 thanh ghi gồm:
+ Thanh ghi giao tiếp (Communications Register)
+ Thanh ghi trạng thái (Status Register)
+ Thanh ghi dữ liệu (Data Register)
+ Thanh ghi mode (Mode Register)
+ Các thanh ghi khác (Filter Register, DAC Register, Offset Register, GainRegister, Test Register)
Thanh ghi giao tiếp (Communication Register):
Thanh ghi giao tiếp đóng vai trò quyết định dữ liệu tiếp theo sẽ được đọc hay ghivào thanh ghi nào Thanh ghi này là thanh ghi 8 bit chỉ cho phép ghi (Write Only).Các bit và chức năng của các bit được định nghĩa:
CR7 WEN Write Enable Bit Khi bit này xuống 0 thì cho phép ghi vào 7
bit tiếp theo của thanh ghi trạng thái
CR6,CR3 ZERO Bit này phải ghi vào số 0 để đảm bảo răng IC AD7730 đang
được vận hành đúngCR5,CR4 RW1,RW0 Read/Write mode Hai bit này xác định hành động tiếp theo sẽ
Trang 15RW1 RW0 Ý nghĩa
0 0 Ghi 1 lần vào thanh ghi xác định
0 1 Đọc 1 lần giá trị thanh ghi xác định
1 0 Bắt đầu đọc liên tục một thanh ghi xác định
1 1 Dừng việc đọc liên tục tại thanh ghi xác địnCR2-CR0 RS2-RS0 Ba bit xác định hành động đọc/ghi dữ liệu tiếp theo sẽ tác động
đến thanh ghi nào
Bảng 2.4Chức năng các bit trong thanh ghi giao tiếp (Communication Register)
RS2 RS1 RS0 Thanh ghi được chọn
0 0 0 Thanh ghi giao tiếp (Communication Register – Nếu đó là
hành động ghi)
0 0 0 Thanh ghi trạng thái (Status Register – Nếu đó là hành động
đọc)
0 0 1 Thanh ghi dữ liệu (Data Register)
0 1 0 Thanh ghi mode (Mode Register)
Bảng 2.5 Các lựa chọn của bit RS2 – RS0
Thanh ghi trạng thái (Status Register):
Thanh ghi trạng thái là thanh ghi 8 bit chỉ đọc (Read Only) Thanh ghi cập nhật
trạng thái hiện tại của IC Để truy cập vào thanh ghi trạng thái, 3 bit RS2-RS0 phải
được ghi là 000
Vị trí Tên Chức năng
SR7 RDY Ready Bit Bit có trạng thái và thuật toán tương tự với chân RDY
Các điều kiện để chân RDY lên mức cao có thể xem ở phần sauSR6 STDY Steady Bit Bit sẽ cập nhật trạng thái khi bộ lọc viết kết quả vào
thanh ghi dataSR5 STBY Standby Bit Bit thông báo IC đang ở chế độ bình thường hay ở chế
độ StandbySR4 NOREF No Reference Bit Nếu điện áp giữa 2 chân REF(+) và REF(-) dưới
0.3V Bit sẽ lên 1
SR3-SR0 MS3-MS0 Factory use
Bảng 2.6 Chức năng các bit trong thanh ghi trạng thái (Status Register)
Thanh ghi dữ liệu (Data Register):
Thanh ghi có 16 bit hoặc 24 bit phụ thuộc vào giá trị bit MR8 của thanh ghi Mode
Là thanh ghi chỉ đọc (Read-Only) Thanh ghi chưa dữ liệu ra số sau khi chuyển đổi
Đồ án II: Thiết kế cân điện tử 15
Trang 16Thanh ghi mode (Mode Register):
Thanh ghi mode là thanh ghi 16 bit có thể đọc và ghi Thanh ghi dùng để thiết
01Continuous Conversion Mode0
10Single Conversion Mode0
11Standby Mode1
00Internal Zero-Scale Calibation
101Internal Full-Scale Calibration1
10System Zero-Scale Calibration
Trang 1711System Full-Scale Calibration
MR12 B/U Bipolar/Unipolar Bit Nếu bit là 0 dùng cho ngõ vào âm-dương
(-20mV – (-20mV) Nếu bit là 1 dùng cho ngõ vào chỉ có dương (0mV– 20mV)
MR11 DEN Digital Output Enable Nếu bit này là 1, 2 chân AIN2(+)/D1 và
AIN2(-)/D0 sẽ là ngõ ra số
MR10-MR9 D1-D0 Digital Output Bits Hai bit này quyết định trạng thái ngõ ra D1, D0ở DEN mode
MR8 WL Data Word Length Bit Bit này quyết định độ dài thanh ghi Data là
16 bit nếu bit này là 0 và 24 bit nếu bit này là 1MR7 HIREF High Reference Bit Bit này cài đặt dựa vào điện áp tham chiếu
Nếu điện áp tham chiếu là 5V nên để bit này là 1 và điện áp thamchiếu là 2.5V nên để bit này là 0 để đảm bảo phù hợp với ngõ vào
MR6 ZERO Bit này phải ghi vào số 0 để đảm bảo răng IC AD7730 đang được
vận hành đúngMR5-
MR4 RN1-RN0 Input Range Bits Bit này quyết định khoảng điện áp đầu vào RN1 RN0 B/U Bit = 0 B/U Bit = 1
MR3 CLKDIS Master Clock Disable Bit Nếu bit này là 1 thì chân MCLK OUT sẽ
được ép ở mức thấp Điều này giúp cho người dùng có thể sử dụngnguồn xung clock ngoại
MR2 BO Burnout Current Bit
Bảng 2.7 Chức năng các bit trong thanh ghi chế độ (Mode Register)
Ngoài ra còn có các thanh ghi khác để tuy chỉnh các khối lọc, bù offset, khối
khuyếch đại
Đồ án II: Thiết kế cân điện tử 17
Trang 18d Quá trình đọc và ghi dữ liệu trên Chip
Hình 2.9 Giản đồ xung của quá trình đọc dữ liệu từ IC AD7730
Hình 2.10 Giản đồ xung của quá trình ghi dữ liệu từ IC AD7730
RDY- Ready: Chân báo hiệu trạng thái của IC, khi chân RDY xuống mức thấp báo
hiệu dữ liệu ở IC AD7730 đã sẵn sàng để được đọc
SCK: Xung giữ nhịp cho giao tiếp SPI, vì SPI là chuẩn truyền đồng bộ nên cần 1
đường giữ nhịp, mỗi nhịp trên chân SCK báo 1 bit dữ liệu đến hoặc đi.IC AD7730đóng vai trò là Slave nên cần có xung SCK từ Master
DOUT – Digital Output: Ngõ ra dữ liệu số của IC AD7730 phục vụ cho quá trình
đọc dữ liệu chuẩn SPI
DIN – Digital Input: Ngõ vào dữ liệu số của IC AD7730 phục vụ cho quá trình ghi
dữ liệu chuẩn SPI
CS – Chip Select: Đường chọn Chip, tích cực mức thấp, nếu trường hợp ta giao
tiếp nhiều IC Slave khác nhau, sử dụng đường CS để chọn Slave nào Master cầngiao tiếp
Trang 19Đọc liên tục ?
Viết Byte W* vào thanh ghi giao tiếp
Đọc thanh ghi yêu cầu
Dừng quá trình đọc liên tục?
Viết Byte Y* vào thanh ghi giao tiếp
Đọc thanh ghi yêu cầu
Viết Byte Z* vào thanh ghi giao tiếp
Đúng
Đúng
Sai
Sai
* Các Byte W, Y, Z được đề cập ở bảng dưới
Quá trình đọc và ghi vào thanh ghi trên chip thể hiện qua lưu đồ sau:
Đồ án II: Thiết kế cân điện tử 19
Trang 20Lưu đồ 2.1 Quá trình đọc ghi trên IC AD7730
Bảng 2.8:Giá trị các Byte W,Y,Z trong quá trình đọc - ghi
2.3.2 LCD HD44780 16x2:
Ngày nay, thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong rấtnhiều các ứng dụng của VĐK LCD có rất nhiều ưu điểm so với các dạng hiển thịkhác: Nó có khả năng hiển thị kí tự đa dạng, trực quan (chữ, số và kí tự đồ họa), dễdàng đưa vào mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau, tốn rất ít tàinguyên hệ thống và giá thành rẽ …
2.3.2.1 Tổng Quát Về LCD HD44780:
Hình dáng và kích thước:
Có rất nhiều loại LCD với nhiều hình dáng và kích thước khác nhau, trên hình 1 làloại LCD thông dụng
Hình 2.11 Hình dáng của loại LCD thông dụng
Khi sản xuất LCD, nhà sản xuất đã tích hợp chíp điều khiển (HD44780) bên tronglớp vỏ và chỉ đưa các chân giao tiếp cần thiết Các chân này được đánh số thứ tự vàđặt tên như hình 2 :
Trang 21Hình 2.12 Sơ đồ chân của LCD
2.3.2.2 Chức năng các chân :
Đồ án II: Thiết kế cân điện tử 21
Châ
n Ký hiệu Mô tả
1 Vss Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này với
GND của mạch điều khiển
2 VDD Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này với
VCC=5V của mạch điều khiển
3 VEE Điều chỉnh độ tương phản của LCD
4 RS Chân chọn thanh ghi (Register select) Nối chân RS với logic “0”
(GND) hoặc logic “1” (VCC) để chọn thanh ghi
+ Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR củaLCD (ở chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ củaLCD (ở chế độ “đọc” - read)
+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bêntrong LCD
5 R/W Chân chọn chế độ đọc/ghi (Read/Write) Nối chân R/W với logic
“0” để LCD hoạt động ở chế độ ghi, hoặc nối với logic “1” đểLCD ở chế độ đọc
6 E Chân cho phép (Enable) Sau khi các tín hiệu được đặt lên bus
DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phépcủa chân E
+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào(chấpnhận) thanh ghi bên trong nó khi phát hiện một xung (high-to-low transition) của tín hiệu chân E
+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi pháthiện cạnh lên (low-to-high transition) ở chân E và được LCD giữ
ở bus đến khi nào chân E xuống mức thấp
7
-14
DB0
-DB7
Tám đường của bus dữ liệu dùng để trao đổi thông tin với MPU
Có 2 chế độ sử dụng 8 đường bus này : + Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với bitMSB là bit DB7
+ Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tớiDB7, bit MSB là DB7
15 - Nguồn dương cho đèn nền
16 - GND cho đèn nền
Trang 22Bảng 2.9 Chức năng các chân của LCD
* Ghi chú :
Ở chế độ “đọc”, nghĩa là vi xử lý sẽ đọc thông tin từ LCD thông qua các chânDBx Còn khi ở chế độ “ghi”, nghĩa là vi xử lý xuất thông tin điều khiển cho LCD thông qua các chân DBx
là, khi ta nạp vào thanh ghi IR một chuỗi 8 bit, chíp HD44780 sẽ tra bảng mã lệnhtại địa chỉ mà IR cung cấp và thực hiện lệnh đó
VD : Lệnh “hiển thị màn hình” có địa chỉ lệnh là 00001100 (DB7…DB0)
Lệnh “hiển thị màn hình và con trỏ” có mã lệnh là 00001110
- Thanh ghi DR : Thanh ghi DR dùng để chứa dữ liệu 8 bit để ghi vào vùng RAM(ở chế độ ghi) hoặc dùng để chứa dữ liệu từ RAM gởi ra cho vi xử lý (ở chế độđọc) Nghĩa là, khi vi xử lý ghi thông tin vào DR, mạch nội bên trong chíp sẽ tựđộng ghi thông tin này vào RAM Hoặc khi thông tin về địa chỉ được ghi vào IR, dữliệu ở địa chỉ này trong vùng RAM nội của HD44780 sẽ được chuyển ra DR đểtruyền cho vi xử lý
Bằng cách điều khiển chân RS và R/W chúng ta có thể chuyển qua lại giữ 2 thanhghi này khi giao tiếp với vi xử lý Bảng sau đây tóm tắt lại các thiết lập đối với haichân RS và R/W theo mục đích giao tiếp
RS R/W Chức năng
0 0 Ghi vào thanh ghi IR để ra lệnh cho LCD
0 1 Đọc cờ bận ở DB7 và giá trị của bộ đếm địa chỉ ở
Trang 23b Cờ báo bận BF: (Busy Flag)
Khi thực hiện các hoạt động bên trong chíp, mạch nội bên trong cần một khoảngthời gian để hoàn tất Khi đang thực thi các hoạt động bên trong chip như thế, LCD
bỏ qua mọi giao tiếp với bên ngoài và bật cờ BF (thông qua chân DB7 khi có thiếtlập RS=0, R/W=1) lên để báo cho MPU biết nó đang “bận” Dĩ nhiên, khi xongviệc, nó sẽ đặt cờ BF lại mức 0
c Bộ đếm địa chỉ AC : (Address Counter)
Thanh ghi IR không trực tiếp kết nối với vùng RAM mà thông qua bộ đếm địa chỉ
AC Bộ đếm này lại nối với RAM theo kiểu rẽ nhánh Khi một địa chỉ lệnh đượcnạp vào thanh ghi IR, thông tin được nối trực tiếp cho RAM nhưng việc chọn lựavùng RAM tương tác đã được bao hàm trong mã lệnh
Sau khi ghi vào (đọc từ) RAM, bộ đếm AC tự động tăng lên (giảm đi) 1 đơn vị vànội dung của AC được xuất ra cho vi xử lý thông qua DB0-DB6 khi có thiết lậpRS=0 và R/W=1 (xem bảng tóm tắt RS - R/W)
d Vùng RAM hiển thị DDRAM : (Display Data RAM)
Đây là vùng RAM dùng để hiển thị, nghĩa là ứng với một địa chỉ của RAM là một ô
kí tự trên màn hình và khi bạn ghi vào vùng RAM này một mã 8 bit, LCD sẽ hiểnthị tại vị trí tương ứng trên màn hình một kí tự có mã 8 bit mà bạn đã cung cấp Vùng RAM này có 80x8 bit nhớ, nghĩa là chứa được 80 kí tự mã 8 bit Những vùngRAM còn lại không dùng cho hiển thị có thể dùng như vùng RAM đa mục đích
e Vùng ROM chứa kí tự CGROM: Character Generator ROM
Vùng ROM này dùng để chứa các mẫu kí tự loại 5x8 hoặc 5x10 điểm ảnh/kí tự, vàđịnh địa chỉ bằng 8 bit Tuy nhiên, nó chỉ có 208 mẫu kí tự 5x8 và 32 mẫu kí tự kiểu5x10 (tổng cộng là 240 thay vì 2^8 = 256 mẫu kí tự) Người dùng không thể thayđổi vùng ROM này
Như vậy, để có thể ghi vào vị trí thứ x trên màn hình một kí tự y nào đó, người dùngphải ghi vào vùng DDRAM tại địa chỉ x (xem bảng mối liên hệ giữa DDRAM và vịtrí hiển thị) một chuỗi mã kí tự 8 bit trên CGROM Chú ý là trong bảng mã kí tựtrong CGROM ở hình bên dưới có mã ROM A00
Ví dụ : Ghi vào DDRAM tại địa chỉ “01” một chuỗi 8 bit “01100010” thì trên LCD
tại ô thứ 2 từ trái sang (dòng trên) sẽ hiển thị kí tự “b”
Đồ án II: Thiết kế cân điện tử 23
Trang 24Bảng 2.11: Bảng mã kí tự (ROM code A00)
f Vùng RAM chứa kí tự đồ họa CGRAM : (Character Generator RAM)
Như trên bảng mã kí tự, nhà sản xuất dành vùng có địa chỉ byte cao là 0000 đểngười dùng có thể tạo các mẫu kí tự đồ họa riêng Tuy nhiên dung lượng vùng nàyrất hạn chế: Ta chỉ có thể tạo 8 kí tự loại 5x8 điểm ảnh, hoặc 4 kí tự loại 5x10 điểmảnh
Trang 25Lệnh Clear Display (xóa hiển thị) sẽ ghi một khoảng trống-blank (mãhiện kí tự 20H) vào tất cả ô nhớ trong DDRAM, sau đó trả bộ đếm địaAC=0, trả lại kiểu hiển thị gốc nếu nó bị thay đổi Nghĩa là : Tắt hiểnthị, con trỏ dời về góc trái (hàng đầu tiên), chế độ tăng AC.
S : Khi S=1 toàn bộ nội dung hiển thị bị dịch sang phải (I/D=0) hoặcsang trái (I/D=1) mỗi khi có hành động ghi vùng DDRAM Khi S=0:không dịch nội dung hiển thị Nội dung hiển thị không dịch khi đọcDDRAM hoặc đọc/ghi vùng CGRAM
C: Hiển thị con trỏ khi C=1 và ngược lại
B: Nhấp nháy kí tự tại vị trí con trỏ khi B=1 và ngược lại
Chu kì nhấp nháy khoảng 409,6ms khi mạch dao động nội LCD là250kHz
Đồ án II: Thiết kế cân điện tử 25
Trang 26shift hàng đầu tiên Dữ liệu hàng đầu và hàng 2 dịch cùng một lúc Chi tiết
sử dụng xem bảng bên dưới:
S/C R/L Hoạt động
0 0 Dịch vị trí con trỏ sang trái (Nghĩa là giảm AC một
đơn vị)
0 1 Dịch vị trí con trỏ sang phải (Tăng AC lên 1 đơn vị)
1 0 Dịch toàn bộ nội dung hiển thị sang trái, con trỏ cũng
N : Thiết lập số hàng hiển thị Khi N=0 : hiển thị 1 hàng, N=1: hiển thị
Set
DDRA
M
Mã lệnh : DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lệnh này ghi vào AC địa chỉ của DDRAM, dùng khi cần thiết lập tọa
Trang 27mong muốn Ngay sau lệnh này là lệnh đọc/ghi dữ liệu từ DDRAM tạiđịa chỉ đã được chỉ định
Khi ở chế độ hiển thị 1 hàng: địa chỉ có thể từ 00H đến 4FH Khi ởchế độ hiển thị 2 hàng, địa chỉ từ 00h đến 27H cho hàng thứ nhất, và
DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0,R/W=1)
Như đã đề cập trước đây, khi cờ BF bật, LCD đang làm việc và lệnhtiếp theo (nếu có) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho nên,khi lập trình điều khiển, phải kiểm tra cờ BF trước khi ghi dữ liệu vàoLCD
Khi đọc cờ BF, giá trị của AC cũng được xuất ra các bit [AC] Nó làđịa chỉ của
CG hay DDRAM là tùy thuộc vào lệnh trước đó
ngoài sẽ được LCD chuyển vào trong LCD tại địa chỉ được xác định
từ lệnh ghi địa chỉ trước đó (lệnh ghi địa chỉ cũng xác định luôn vùngRAM cần ghi)
Sau khi ghi, bộ đếm địa chỉ AC tự động tăng/giảm 1 tùy theo thiết lậpEntry mode
Sau khi đọc, AC tự động tăng/giảm 1 tùy theo thiết lập Entry mode,tuy nhiên nội dung hiển thị không bị dịch bất chấp chế độ Entry mode
Đồ án II: Thiết kế cân điện tử 27
Trang 28Bảng 2.12 Tập lệnh LCD
2.3.2.5Đặc tính điện của các chân giao tiếp LCD
LCD sẽ bị hỏng nghiêm trọng, hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặctính điện sau đây:
Chân cấp nguồn (Vcc-GND) Min:-0.3V , Max+7V
Các chân ngõ vào (DBx,E,…) Min:-0.3V , Max:(Vcc+0.3V)
Nhiệt độ hoạt động Min:-30C , Max:+75C
Bảng 2.13Điều kiện hoạt động giới hạn của LCD
Đặc tính điện làm việc điển hình: (Đo trong điều kiện hoạt động Vcc = 4.5V đến5.5V, T = -30 đến +75C)
Chân cấp nguồn Vcc-GND 2.7V đến 5.5V
Điện áp vào mức cao VIH 2.2V đến Vcc
Điện áp vào mức thấp VIL -0.3V đến 0.6V
Điện áp ra mức cao (DB0-DB7) Min 2.4V (khi IOH = -0.205mA)
Điện áp ra mức thấp (DB0-DB7) Max 0.4V (khi IOL = 1.2mA)
Dòng điện ngõ vào (input leakage current)
ILI
-1uA đến 1uA (khi VIN = 0 đếnVcc)
Dòng điện cấp nguồn ICC 350uA(typ.) đến 600uA
Tần số dao động nội fOSC 190kHz đến 350kHz (điển hình là270kHz)
Bảng 2.14Điều kiện hoạt động bình thường của LCD
2.3.2.6 Khởi tạo LCD:
Khởi tạo là việc thiết lập các thông số làm việc ban đầu Đối với LCD, khởi tạogiúp ta thiết lập các giao thức làm việc giữa LCD và vi xử lý Việc khởi tạo chỉđược thực hiện 1 lần duy nhất ở đầu chương trình điều khiển LCD và bao gồm cácthiết lập sau :
Trang 29• Function set : Kiểu giao tiếp 8bit/4bit, số hàng hiển thị 1hàng/2hàng, kiểu kí tự5x8/5x10
• Display on/off control: Hiển thị/tắt màn hình, hiển thị/tắt con trỏ, nhấpnháy/không nhấp nháy
• Entry mode set : các thiết lập kiểu nhập kí tự như: Dịch/không dịch, tự tăng/giảm(Increment)
a Mạch khởi tạo bên trong chíp HD44780:
Mỗi khi được cấp nguồn, mạch khởi tạo bên trong LCD sẽ tự động khởi tạo cho nó
Và trong thời gian khởi tạo này cờ BF bật lên 1, đến khi việc khởi tạo hoàn tất cờ
BF còn giữ trong khoảng 10ms sau khi Vcc đạt đến 4.5V (vì 2.7V thì LCD đã hoạtđộng) Mạch khởi tạo nội sẽ thiết lập các thông số làm việc của LCD như sau:
• Display clear : Xóa toàn bộ nội dung hiển thị trước đó
• Function set: DL=1 : 8bit; N=0 : 1 hàng; F=0 : 5x8
• Display on/off control: D=0 : Display off; C=0 : Cursor off; B=0 : Blinking off
• Entry mode set: I/D =1 : Tăng; S=0 : Không dịch
Như vậy sau khi mở nguồn, bạn sẽ thấy màn hình LCD giống như chưa mở nguồn
do toàn bộ hiển thị tắt Do đó, ta phải khởi tạo LCD bằng lệnh
Đồ án II: Thiết kế cân điện tử 29
Trang 30Cấp nguồn
Sau khi nguồn Vcc lên 4.5V, chờ 15ms
Đặt RS và RW ở mức 0, đặt 4 bit DB7 – DB4 là 0011, DB3 – DB0 tùy ý trong 4ms
Đặt RS và RW ở mức 0, đặt 8 bit DB7 – DB0 là 00001000
Đặt RS và RW ở mức 0, đặt 8 bit DB7 – DB0 là 00000001
Đặt RS và RW ở mức 0, đặt 8 bit DB7 – DB0 là 00000110
Hoàn tất quá trình khởi tạo
b Khởi tạo bằng lệnh: (chuỗi lệnh)
Việc khởi tạo bằng lệnh phải tuân theo lưu đồ sau:
Lưu đồ 2.2 Quá trình khởi tạo LCD
2.3.3 Vi điều khiển PIC
2.3.3.1 Tổng quan về vi điều khiển PIC
PIC là một họ vi điều khiển RISC được sản xuất bởi công ty MicrochipTechnology Thế hệ PIC đầu tiên là PIC1650 được phát triển bởi MicroelectronicsDivision thuộc General – Instrument
PIC là viết tắt của "Programmable Intelligent Computer" là một sản phẩm của hãng
Trang 31PIC1650 được dùng để giao tiếp với các thiết bị ngoại vi cho máy chủ 16 bitCP1600, vì vậy, người ta cũng gọi PIC với cái tên "Peripheral Interface Controller"– bộ điều khiển giao tiếp ngoại vi
CP1600 là một CPU mạnh nhưng lại yếu về các hoạt động xuất nhập vì vậy PIC bit được phát triển vào năm 1975 để hỗ trợ cho hoạt động xuất nhập của CP1600 ROM để chứa mã, mặc dù khái niệm RISC chưa được sử dụng thời bấy giờ, nhưngPIC thực sự là một vi điều khiển với kiến trúc RISC, chạy một lệnh với một chu kỳmáy – gồm 4 chu kỳ của bộ dao động
8-Năm 1985 General Instruments bán công nghệ các vi điện tử của họ, và chủ sở hữumới hủy bỏ hầu hết các dự án - lúc đó đã quá lỗi thời Tuy nhiên PIC được bổsung EEPROM để tạo thành 1 bộ điều khiển vào ra lập trình
Ngày nay rất nhiều dòng PIC được xuất xưởng với hàng loạt các module ngoại vitích hợp sẵn (như USART, PWM, ADC ), với bộ nhớ chương trình từ 512 Wordđến 32K Word
2.3.3.2 Một số đặc tính chung của vi điều khiển pic
Hiện nay có khá nhiều dòng PIC và có rất nhiều khác biệt về phần cứng, nhưngchúng ta có thể điểm qua một vài nét như sau:
- Là CPU 8/16 bit, xây dựng theo kiến trúc Harvard
- Có bộ nhớ Flash và ROM có thể tuỳ chọn từ 256 byte đến 256 Kbyte
- Có các cổng xuất – nhập (I/O ports)
- Có timer 8/16 bit
- Có các chuẩn giao tiếp nối tiếp đồng bộ/không đồng bộ USART
- Có các bộ chuyển đổi ADC 10/12 bit
- Có các bộ so sánh điện áp (Voltage Comparators)
- Có các khối Capture/Compare/PWM
- Có hỗ trợ giao tiếp LCD
- Có MSSP Peripheral dùng cho các giao tiếp I²C, SPI, và I²S
- Có bộ nhớ nội EEPROM - có thể ghi/xoá lên tới 1 triệu lần
- Có khối Điều khiển động cơ, đọc encoder
- Có hỗ trợ giao tiếp USB
- Có hỗ trợ điều khiển Ethernet
- Có hỗ trợ giao tiếp CAN
Đặc điểm thực thi tốc độ cao CPU RISC của họ vi điều khiển PIC16F87XA là:
- Dung lượng của bộ nhớ chương trình Flash là 8K×14words
- Dung lượng của bộ nhớ dữ liệu RAM là 368×8bytes
- Dung lượng của bộ nhớ dữ liệu EEPROM là 256×8 bytes
1 CÁC ĐẶC TÍNH NGOẠI VI
- Timer0: là bộ định thời timer/counter 8 bit có bộ chia trước
Đồ án II: Thiết kế cân điện tử 31
Trang 32- Timer1: là bộ định thời timer/counter 16 bit có bộ chia trước, có thể đếm khiCPU đang ở trong chế độ ngủ với nguồn xung từ tụ thạch anh hoặc nguồn xungbên ngoài.
- Timer2: bộ định thời timer/counter 8 bit với thanh ghi 8-bit, chia trước và bộchia sau
- Hai khối Capture, Compare, PWM
+ Capture có độ rộng 16-bit, độ phân giải 12.5ns
+ Compare có độ rộng 16-bit, độ phân giải 200ns
+ Độ phân giải lớn nhất của PWM là 10-bit
2 CÁC ĐẶC TÍNH TƯƠNG TỰ
- Có 8 kênh chuyển đổi tín hiệu tương tự thành tín hiệu số ADC
- Khối so sánh điện áp tương tự:
+ Hai bộ so sánh tương tự
+ Khối tạo điện áp chuẩn VREF tích hợp bên trong có thể lập trình
+ Đa hợp ngõ vào lập trình từ ngõ vào của CPU với điện áp chuẩn bêntrong
+ Các ngõ ra của bộ so sánh có thể truy xuất từ bên ngoài
3 CÁC ĐẶC TÍNH ĐẶC BIỆT CỦA VI ĐIỀU KHIỂN
- Bộ nhớ chương trình Enhanced Flash cho phép xóa và ghi 100,000 lần
- Bộ nhớ dữ liệu EEPROM cho phép xóa và ghi 1,000,000 lần
- Bộ nhớ EEPROM có thể lưu giữ dữ liệu hơn 40 năm và có thể tự lập trình lại
- Mạch lập trình nối tiếp ISP thông qua 2 chân (In-Circuit Serial Programming)
- Nguồn sử dụng là nguồn đơn 5V cấp cho mạch lập trình nối tiếp
- Có Watchdog Timer (WDT) với bộ dao động RC tích hợp trên Chip
- Có 8 kênh chuyển đổi A/D
- Có port giao tiếp song song
- Có bộ nhớ gấp đôi so với PIC16F873A/PIC16F874A
Bộ nhớ chương trình Flash (14-bit word) 8K