Điều khiển hiển thị Text LCD

Một phần của tài liệu Đồ án tốt nghiệp đại học_mạch điều khiển tốc độ động cơ (Trang 57)

2.2.7.1. Các chân điều khiển LCD.

Các chân điều khiển việc đọc và ghi LCD bao gồm RS, R/W và EN.

RS (chân số 3): Chân lựa chọn thanh ghi (Select Register), chân này cho phép lựa chọn 1 trong 2 thanh ghi IR hoặc DR để làm việc. Vì cả 2 thanh ghi này đều được kết nối với các chân Data của LCD nên cần 1 bit để lựa chọn giữa chúng. Nếu RS=0, thanh ghi IR được chọn và nếu RS=1 thanh ghi DR được chọn. Thanh ghi IR là thanh ghi chứa mã lệnh cho LCD, vì thế nếu muốn gởi 1 mã lệnh đến LCD thì chân RS phải được reset về 0. Ngược lại, khi muốn ghi mã ASCII của ký tự cần hiển thị lên LCD thì et RS=1 để chọn thanh ghi DR. Hoạt động của chân RS được mô tả trong hình 1.28.

Hình 2.23. H ủa a RS.

R/W (chân số 4): Chân lựa chọn giữa việc đọc và ghi. Nếu R/W=0 thì dữ liệu sẽ được ghi từ bộ điều khiển ngoài (vi điều khiển AVR chẳng hạn) vào LCD. Nếu R/W=1 thì dữ liệu sẽ được đọc từ LCD ra ngoài. Tuy nhiên, chỉ có duy nhất 1 trường hợp mà dữ liệu có thể đọc từ LCD ra, đó là đọc trạng thái LCD để biết LCD có đang bận hay không (cờ Busy Flag - BF). Do LCD là một thiết bị hoạt động tương đối chậm (so với vi điều khiển), vì thế một cờ BF được dùng để báo LCD đang bận, nếu BF=1 thì cho LCD xử lí xong nhiệm vụ hiện tại, đến khi nào BF=0 một thao tác mới sẽ được gán cho LCD. Vì thế, khi làm việc với Text LCD cần phải có một chương trình con để chờ cho đến khi LCD rảnh. Có 2 cách để viết chương trình chờ cho LCD rãnh. Cách 1 là đọc bit BF về kiểm tra và chờ BF=0, cách này đòi hỏi lệnh đọc từ LCD về bộ điều khiển ngoài, do đó chân R/W cần được nối với bộ điều khiển ngoài. Cách 2 là viết một hàm delay một khoảng thời gian cố định nào đó (tốt nhất là trên 1m ). Ưu điểm của cách 2 là sự đơn giản vì không cần đọc LCD, do đó chân R/W kh ng cần sử dụng và lu n được nối với GND. Tuy nhiên, nhược điểm của cách 2 là khoảng thời gian delay cố định nếu quá lớn sẽ làm chậm quá trình thao tác LCD, nếu quá nhỏ sẽ gây ra lỗi hiển thị.

EN (chân ố 5): Chân cho phép LCD hoạt động (Enable), chân này cần được kết nối với bộ điều khiển để cho phép thao tác LCD. Để đọc và ghi data từ LCD cần tạo một “xung cạnh xuống” trên chân EN, nói theo cách khác, muốn ghi dữ liệu vào LCD trước hết cần

đảm bảo rằng chân EN=0, tiếp đến xuất dữ liệu đến các chân D0:7, au đó et chân EN lên 1 và cuối cùng là xóa EN về 0 để tạo 1 xung cạnh xuống.

2.2.7.2. Tập lệnh của LCD. Bả 2.7. Cá ập lệ ủa LCD. Lệnh RS RW D7 D6 D5 D4 D3 D2 D1 D0 T.Gian Xoá màn hình 0 0 0 0 0 0 0 0 0 0 1.64ms Con trỏ về đầu dòng 0 0 0 0 0 0 0 0 1 x 1.64ms Đặt chế độ 0 0 0 0 0 0 0 1 I/D S 40us Bật/Tắt hiển thị 0 0 0 0 0 0 1 D C B 40us

Con trỏ/Hiển thị/Dịch 0 0 0 0 0 1 S/C R/L x x 40us

Đặt chức năng 0 0 0 0 1 DL N F x x 40us

Đặt địa chỉ CGRAM 0 0 0 1 Địa chỉ CGRAM 40us

Đặt địa chỉ DDRAM 0 0 1 Địa chỉ DDRAM 40us

Đọc cờ "BẬN" BF 0 1 BF Địa chỉ DDRAM -

Ghi vào CGRAM/DDRAM 1 0 D7 D6 D5 D4 D3 D2 D1 D0 40us Đọc từ CGRAM/DDRAM 1 1 D7 D6 D5 D4 D3 D2 D1 D0 40us

Xoá màn hình: Lệnh này xóa toàn bộ nội dung DDRAM và vì thế xóa toàn bộ hiển thị trên LCD. Vì đây là 1 lệnh ghi Instruction nên chân RS phải được reset về 0 trước khi ghi lệnh này lên LCD. Mã lệnh xóa LCD là 0x01 (ghi vào D0:D7).

Đưa con trỏ về vị tr đầu, dòng 1 của LCD: Lệnh này thực hiện việc đưa con trỏ về vị trí đầu tiên của bộ nhớ DDRAM, vì thế nếu sau lệnh này một biến được ghi vào DDRAM thì biến này sẽ nằm ở vị tr đầu tiên (1;1). RS cũng phải bằng 0 trước khi ghi lệnh. Mã lệnh là 0x02 hoặc 0x03 (chọn 1 trong 2 mã lệnh, tùy ý).

Đặt địa chỉ DDRAM – định vị trí con trỏ cho DDRAM: Di chuyển con trỏ đến một vị trí tùy ý trong DDRAM và vì thế có thể được dùng để chọn vị trí cần hiển thị trên LCD. Để thực hiện lệnh này cần reset RS=0. Bit MSB của mã lệnh (D7) phải bằng 1, 7 bit còn lại

của mã lệnh ch nh là địa chỉ DDRAM muốn di chuyển đến. Ví ụ: Muốn di chuyển con

0xAA=10101010 (binary) trong đó bit MSB bằng 1, bảy bit còn lại là 0101010=42, địa chỉ của nhớ muốn đến.

Ghi dữ liệu vào CGRAM hoặc DDRAM: Vì đây kh ng phải là lệnh ghi instruction mà là 1 lệnh ghi dữ liệu nên chân RS cần được et lên 1 trước khi ghi lệnh vào LCD. Lệnh này cho phép ghi mã ASCII của một ký tự cần hiển thị vào thanh ghi DDRAM.

Đặt các chức năng hiển thị: Lệnh này chỉ ra cách hiển thị một ký tự tiếp theo 1 ký tự trước đó.

Ví ụ: Nếu muốn hiển thị 2 ký tự liên tiếp AB, trước hết viết A tại vị tr 5, dòng 1. Sau đó ghi B vào LCD, lúc này có 4 cách mà LCD có thể hiển thị B như au:

- Hiển thị B bên phải A tại vị tr ố 6.

- B cũng có thể được hiển thị bên trái A, tại vị tr ố 4.

- LCD có thể tự dịch chuyển A về bên trái đến vị tr 4 au đó hiển thị B bên phải A,

tại vị tr 5.

- LCD dịch chuyển A về bên phải đến vị tr 6 au đó hiển thị B bên trái A, tại vị tr

5.

Có thể chọn 1 trong 4 cách hiển thị trên th ng qua lệnh đặt các chức năng. Đây là lệnh ghi In truction nên RS=0, 5 bit cao D7:3=00000, bit D2=1, hai bit còn lại D1:0 chứa m lệnh để lựa chọn 1 trong 4 cách hiển thị. Xem lại bảng 3, bit D1 chứa giá trị I/D và D0 chứa S. Trong đó I/D nghĩa là tăng hoặc giảm (Increment or Decrement). I/D= 1 là hiển thị tăng tức ký tự au ẽ hiển thị bên phải ký tự trước, nếu I/D=0 thì hiển thị giảm, tức ký tự au hiển thị bên trái ký tự trước. S là giá trị Dịch, nếu S=1 thì các ký tự trước đó ẽ được “đẩy” đi, ký tự au chiếm chỗ ký tự trước, ngược lại nếu S=0 thì vị tr hiển thị của các ký tự trước đó kh ng thay đổi. Có thể tóm tắt 4 mode hiển thị ứng với 4 m lệnh như sau:

D7:0 = 0x05 (00000101): Hiển thị giảm và dịch.

D7:0 = 0x06 (00000110): Hiển thị tăng và kh ng dịch (th ng thưởng ử dụng). D7:0 = 0x07 (00000111): Hiển thị tăng và dịch.

Bật/Tắt hiển thị – xác lập cách hiển thị cho LCD: Lệnh này bao gồm các thông số cho phép LCD hiển thị, cho phép hiển thị cursor và mở/tắt nhấp nháy. Đây cũng là một lệnh ghi (Instruction) nên RS phải bằng 0. Mã lệnh này có dạng 00001DCB trong đó D (Display) cho phép hiển thị LCD nếu mang giá trị 1, C (Cursor) bằng 1 thì cursor sẽ được hiển thị và B là nhấp nháy cho con trỏ tại vị trí hiển thị (nhấp nháy là dạng 1 đen tại vị trí ký tự đang hiển thị). Mã lệnh được dùng phổ biến cho lệnh này là 0x0E (00001110 - hiển thị con trỏ nhưng kh ng nhấp nháy).

Đặt chức năng–xác lập chức năng cho LCD:Đây là lệnh thiết lập phương thức giao tiếp với LCD, k ch thước font chữ và số lượng line của LCD.RS cũng phải bằng 0 khi sử dụng lệnh này.Mã lệnh Đặt chức năng có dạng 001DLNFxx.Trong đó nếu DL=1(DL:Data Length)thì mode giao tiếp 8 bit sẽ được dùng,lúc này tất cả các chân từ D0 đến D7 phải được kết nối với bộ điều khiển ngoài.Nếu DL=0 thì mode 4 bit được dùng,trong trường hợp này chỉ có 4 chân D4:7 được dùng để truyền nhận dữ liệu và kết nối với bộ điều khiển ngoài,các chân D0:3 được để trống.N quy định số dòng của LCD.F là k ch thước font chữ hiển thị, do LCD có 2 bộ font chữ có sẵn trong CGROM nên cần lựa chọn thông qua bit F,nếu F=1 bộ font 5x10 được sử dụng và nếu F=0 thì font 5x8 được hiển thị.2 bit thấp trong mã lệnh này có thể được gán giá trị tùy ý.Mã lệnh được dùng phổ biến cho lệnh Đặt chức năng là 0x38 (00111000–giao tiếp 8 bit,2 dòng với font 5x8) hoặc 0x28 (00101000 –giao tiếp 4 bit,2 dòng với font 5x8).

2.2.7.3. Giao tiếp 8 bit và 4 bit.

Text LCD có 2 mode để ghi và đọc dữ liệu mode 8 bit và mode 4 bit:

Mode 8 bit: Nếu bit DL trong lệnh function set bằng 1 thì mode 8 bit được dùng. Để sử dụng mode 8 bit, tất cả các lines dữ liệu của LCD từ D0 đến D7 (từ chân 7 đến chân 14)

phải được nối với 1 PORT của chip điều khiển bên ngoài. Ưu điểm của phương pháp giao tiếp này là dữ liệu được ghi và đọc rất nhanh và đơn giản vì chip điều khiển chỉ cần xuất hoặc nhận dữ liệu trên 1 PORT. Tuy nhiên, phương pháp này có nhược điểm là tổng số chân dành cho giao tiếp LCD quá nhiều, nếu tính luôn cả 3 chân điều khiển thì cần đến 11 đường cho giao tiếp LCD.

Mode 4 bit: LCD cho phép giao tiếp với bộ điều khiển ngoài theo chế độ 4 bit. Trong chế độ này, các chân D0, D1, D2 và D3 của LCD kh ng được sử dụng (để trống), chỉ có 4 chân từ D4 đến D7 được kết nối với chip bộ điều khiển ngoài. Các instruction và data 8 bit sẽ được ghi và đọc bằng cách chia thành 2 phần, gọi là các Nibbles, mỗi nibble gồm 4 bit và được giao tiếp thông qua 4 chân D7: 4, nibble cao được xử l trước và nibble thấp au. Ưu điểm lớn nhất của phương pháp này là tối thiểu số đường kết nối dùng cho giao tiếp LCD.

2.3.Chíp Driver L298

2.3.1. Tính năng

- Điện áp cấp lên đến 46V

- Tổng dòng DC chịu đựng lên đến 4A

- Điện áp bão hòa

- Chức năng bảo vệ quá nhiệt

- Điện áp logic ‘0’ từ 1.5V trở xuống

IC L298 là mạch tích hợp đơn chip có kiểu vỏ công suất 15 chân (multiwatt 15) và PowerSO20 (linh kiện dán công suất). Đây là IC mạch cầu đ i (dual full-bridge), có khả năng hoạt động ở điện thế cao, dòng cao. Nó được thiết kế tương th ch chuẩn TTL và lái tải cảm kháng như relay, cuộn olenoid, động cơ DC và động cơ bước. Nó có 2 chân enable (cho phép) để cho phép/không cho phép IC hoạt động, độc lập với các chân tín

hiệu vào. Cực phát (emitter) của tran i tor dưới của mỗi mạch cầu được nối với nhau và nối ra chân ngoài để nối với điện trở cảm ứng dòng khi cần.

Nó có thêm một chân cấp nguồn giúp mạch logic có thể hoạt động ở điện thể thấp hơn.

2.3.2.Thông số nhiệt độ

Bảng 2.8 Thông s nhiệ

Ký hiệu Thông số PowerSO20 Multiwatt15 Đơn vị

Rth-j-case Độ bền của mối nối PN-

vỏ(MAX)

- 3 oC/W

Rth-j-amp Độ bền nhiệt của mối nối PN – m i trường(MAX)

13(*) 35 oC/W

2.3.3.Chức năng các chân

Bảng 2.9: Chứ ă á â

MW.15 PowerSO Tên Chức năng

1;15 2;19 Sense A;

Sense B

Nối chân này qua điện trở cảm ứng dòng xuống GND để điều khiển dòng tải

2;3 4;5 Out 1; Out 2 Ngõ ra của cầu A. Dòng của tải mắc giữa

hai chân này được qui định bởi chân 1.

4 6 VS Chân cấp nguồn cho tầng công suất. Cần

có một tụ điện không cảm kháng 100nF nối giữa chân này và chân GND

5;7 7;9 Input 1;

Input 2

Chân ngõ vào của cầu A, tương th ch chuẩn TTL

6;11 8;14 Enable A;

EnableB

Mức thấp ở chân này sẽ cấm (disable) ngõ ra cầu A (đối với chân EnableA) và/hoặc cầu B (đối với chân EnableB)

8 1,10,11,20 GND Chân đất (Ground)

9 12 VSS Chân cấp nguồn cho khối logic. Cần có tụ

điện 100nF nối giữa chân này với GND

10;12 13;15 Input 3;

Input 4

Các chân logic ngõ vào của cầu B

13;14 16;17 Out 3; Out 4 Ngõ ra của cầu B. Dòng của tải mắc giữa

- 3;18 N.C. Không kết nối (bỏ trống)

2.3.4. Ứng dụng

2.3.4.1 Tần công suất ngõ ra:

IC L298 tích hợp 2 tầng công suất (A, B). Tần công suất chính là mạch cầu và ngõ ra của nó có thể lái các loại tải cảm thông dụng ở nhiều chế độ hoạt động khác nhau (tùy thuộc vào sự điều khiển ở ngõ vào). Dòng điện từ chân ngõ ra chảy qua tải đến chân cảm ứng dòng: điện trở ngoài RSA, RSB cho phép việc cảm ứng cường độ dòng điện này.

2.3.4.2 Tần ngõ vào:

Mỗi cầu được điều khiển bởi 4 cổng ngõ vào In1, In2, EnA, và In3, In4, EnB. Các

chân In có tác dụng khi chân En ở mức cao, khi chân En ở mức thấp, các chân ngõ vào In ở trạng thái cấm. Tất cả các chân đều tương th ch với chuẩn TTL.

2. 3.5.Một số đề nghị khi thiết kế:

Ta cần có một tụ điện không cảm kháng 100nF ở cả hai chân VS và VSS tới GND. Gắn tụ điện thật gần với chân GND của IC. Khi tụ điện của mạch nguồn quá xa IC, hãy thêm một tụ nhỏ gần IC.

Về điện trở cảm ứng dòng, kh ng được dùng loại điện trở dây quấn, và phải được nối đất sao cho càng gần chân GND càng tốt. Mỗi chân điều khiển ngõ vào phải được kết nối với mạch điều khiển ao cho đường dây nối thật ngắn.

Hoạt động tắt mở nguồn: Trước khi tắt mở nguồn, các chân Enable phải ở mức thấp. Chân SENSE (cảm ứng dòng) có thể dùng để điều khiển độ lớn của dòng điện bằng mạch chopping hoặc để bảo vệ quá dòng cho tải. Để thực hiện chức năng “thắng” (phanh :-)) (dừng động cơ nhanh chóng) giá trị chịu đựng dòng tối đa 2A kh ng bị vi phạm. Khi cần dòng đỉnh cao hơn 2A, có thể mắc theo cấu hình song song. Khi cần gắn diode ngoài cho mạch cầu, ta được khuyên dùng loại diode Shottky. Giải pháp này có thể lái dòng đến 3A – dòng hoạt động và 3.5A – dòng đỉnh. L298D có điện áp danh nghĩa cao

(lớn nhất 50V) và dòng điện danh nghĩa lớn hơn 2A nên rất thích hợp cho các các ứng dụng công suất nhỏ như các động cơ DC loại nhỏ và vừa. Vì là loại “all in one” nên là lựa chọn hoàn hảo cho những người chưa có nhiều kinh nghiệm làm mạch điện tử.

CHƯƠNG 3: THIẾT KẾ MẠCH 3.1. Thiết kế mạch nguyên lý.

Sơ đồ nguyên lý mạch được thể hiện trên hình 3.1 dưới đây:

3.2 Một số thành phần cơ bản trong mạch.

3.2.1 Khối nguồn.

Hình 3.2 kh i nguồn

Mạch này sử dụng:

- Nguồn điện áp một chiều đầu vào bộ ổn áp IC7805 có nhiệm vụ ổn định điện áp ra

cố định +5V.

- Một led đơn : báo trạng thái có nguồn.

- Tụ C1 và C2: nhiệm vụ lọc nguồn, chống nhiễu và san phẳng điện áp

3.2.2 Khối hiển thị LCD

Hình 3.4 kh i LCD

Khối LCD có nhiệm vụ hiển thị tốc độ động cơ.

Các chân điều khiển EN, RW,RS được ghép nối với 3 chân 37,39,40 của vi điều khiển Các chân số 1, 2 cung cấp nguồn hoạt động cho LCD, chân số 3 là chân điều chỉnh độ tương phản được nối thẳng xuống mát.

Chân 15, 16 có nhiệm vụ cung cấp điện áp cho đèn led trong LCD Chân D1, D2, D3, D4 nối trực tiếp vào vi điều khiển.

Một phần của tài liệu Đồ án tốt nghiệp đại học_mạch điều khiển tốc độ động cơ (Trang 57)

Tải bản đầy đủ (PDF)

(95 trang)