1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM THÀNH PHỐ HỒ CHÍ MINH

KHOA VẬT LÝ

VƯƠNG PHÚ TÀI

NGHIÊN CỨU LẮP RÁP

MÁY ĐO TẦN SỐ ÂM TẦN HIỂN THỊ SỐ

Ngành: SƯ PHẠM VẬT LÝ

Mã số : 102

NGƯỜI HƯỚNG DẪN KHOA HỌC:

ThS. Phan Thanh Vân

Thành phố Hồ Chí Minh – năm 2013

2

LỜI CẢM ƠN

Thời gian thực hiện luận văn tốt nghiệp đại học đối với tôi rất đặc biệt. Trong suốt

khoảng thời gian này, tôi đã học được nhiều điều mới rất bổ ích cho niềm đam mê

nghiên cứu khoa học của tôi. Muốn thực hiện và hoàn thành tốt luận văn tốt nghiệp, tôi

nhận được rất nhiều sự giúp đỡ từ gia đình, thầy cô, bạn bè. Tôi xin chân thành gửi lời

cảm ơn đến

− Gia đình vì đã sinh ra, nuôi nấng và động viên tôi kịp thời.

− Thầy Phan Thanh Vân đã có những hướng dẫn tận tình, sâu sát, đôn đốc trong

quá trình hoàn thành luận văn.

− Thầy Cao Anh Tuấn và thầy Trần Đặng Bảo Ân đã tạo điều kiện sử dụng phòng

thí nghiệm hiệu quả để hoàn thành tốt luận văn.

− Các thầy cô trong trong hội đồng phản biện đã giúp tôi hoàn thiện, điều chỉnh

luận văn một cách tốt nhất có thể.

− Các thầy cô trong khoa đã tạo điều kiện thực hiện cho tôi được thực hiện luận

văn.

− Các bạn bè đã động viên, hỗ trợ về mặt tinh thần cũng như chuyên môn.

Cuối cùng, tôi xin gửi lời chúc sức khỏe tới quý thầy cô trong khoa Vật Lý và

mong khoa ngày càng phát triển hơn nữa.

3

MỤC LỤC

LỜI CẢM ƠN .................................................................................................................. 2

MỤC LỤC ....................................................................................................................... 3

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

DANH MỤC CÁC BẢNG .............................................................................................. 8

MỞ ĐẦU ......................................................................................................................... 9

CHƯƠNG 1: TỔNG QUAN VỀ PIC ........................................................................... 11

1.1 Các hệ thống số ................................................................................................... 11

1.2 Mã và mã ASCII .................................................................................................. 13

1.2.1 Khái niệm về mã ........................................................................................... 13

1.2.2 Mã ký tự ASCII ............................................................................................ 13

1.3 Sơ lược về PIC ..................................................................................................... 13

1.3.1 Sơ lược lịch sử phát triển .............................................................................. 13

1.3.2 Một số đặc tính chung của vi điều khiển PIC .............................................. 14

CHƯƠNG 2: MỘT SỐ LINH KIỆN LIÊN QUAN – NGUYÊN TẮC HOẠT ĐỘNG

MẠCH 555 VÀ MẠCH ĐO TẦN SỐ .......................................................................... 17

2.1 IC 78XX .............................................................................................................. 17

2.2 Thạch anh ............................................................................................................ 19

2.3 LCD ..................................................................................................................... 19

2.3.1 Phân loại ....................................................................................................... 19

2.3.2 Ý nghĩa các chân .......................................................................................... 20

2.3.3 Thanh ghi và tổ chức bộ nhớ ........................................................................ 21

2.3.4 Tập lệnh của LCD ........................................................................................ 23

2.3.5 Giao tiếp và nguyên tắc hiển thị ký tự trên LCD ......................................... 25

2.4 Vi điều khiển 16F887 .......................................................................................... 27

2.4.1 Sơ đồ và tên các khối của 16F887 ................................................................ 27

2.4.2 Sơ đồ và chức năng của các chân ................................................................. 29

2.4.3 Tổ chức bộ nhớ ............................................................................................ 31

2.4.4 Các bộ định thời ........................................................................................... 34

2.5 OPAMP ............................................................................................................... 35

2.5.1 Định nghĩa .................................................................................................... 35

2.5.2 Khuếch đại thuật toán làm việc ở chế độ khóa ............................................. 37

4

2.6 PC 900V .............................................................................................................. 37

2.7 Flip – Flop ........................................................................................................... 39

2.8 IC 555 .................................................................................................................. 40

2.8.1 Sơ đồ và chức năng các chân của IC 555 ..................................................... 40

2.8.2 Sơ đồ khối và nguyên tắc hoạt động của IC555 ........................................... 41

2.9 Sơ đồ mạch tạo xung vuông dùng 555 và nguyên tắc hoạt động ........................ 42

2.10 Nguyên tắc hoạt động mạch đo tần số ............................................................... 43

CHƯƠNG 3: MÔ PHỎNG – THIẾT KẾ SƠ ĐỒ NGUYÊN LÝ VÀ MẠCH IN ....... 45

3.1 Mô phỏng bằng Proteus ....................................................................................... 45

3.2 Mạch tạo xung dùng 555 ..................................................................................... 48

3.2.1 Thiết kế sơ đồ nguyên lý .............................................................................. 48

3.2.2 Thiết kế mạch in ........................................................................................... 60

3.3 Mạch đo tần số ..................................................................................................... 68

3.4 Thi công mạch in bằng phương pháp ủi thủ công. .............................................. 70

3.4.1 In mạch ......................................................................................................... 70

3.4.2 Cắt board ...................................................................................................... 70

3.4.3 Ủi mạch ........................................................................................................ 70

3.4.4 Ngâm ............................................................................................................ 71

3.4.5 Khoan ........................................................................................................... 71

3.4.6 Hàn linh kiện ................................................................................................ 71

CHƯƠNG 4: KẾT QUẢ ............................................................................................... 72

4.1 Mạch đo tần số ..................................................................................................... 72

4.1.1 Thực hành trên Testboard ............................................................................. 72

4.1.2 Mạch sau khi gia công và hàn linh kiện ....................................................... 72

4.1.3 Máy đo tần số hoàn chỉnh ............................................................................. 73

4.2 Mạch tạo xung dùng IC 555 ................................................................................ 73

4.2.1 Thực hành trên Testboard và quan sát tín hiệu qua dao động ký điện tử ..... 73

4.2.2 Mạch tạo xung hoàn chỉnh ........................................................................... 74

4.3 Đo tần số từ mạch phát xung 555 sử dụng máy đo tần số ................................... 74

4.3.1 Thực hành trên Testboard ............................................................................. 74

4.3.2 Kết quả thực nghiệm .................................................................................... 75

4.4 Đo tần số từ máy phát xung chuẩn ...................................................................... 75

5

4.5 Kết luận và hướng phát triển ............................................................................... 78

4.5.1 Kết luận ........................................................................................................ 78

4.5.2 Hướng phát triển ........................................................................................... 78

PHỤ LỤC ...................................................................................................................... 79

TÀI LIỆU THAM KHẢO ............................................................................................. 81

6

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

Diễn giải

Hình 2.1 Thứ tự chân của họ IC 78XX. 2.2 Sơ đồ mạch IC 78XX. 2.3 Hình dạng thạch anh sau khi gia công dùng trong các mạch điện tử. 2.4 Text LCD. 2.5 Thứ tự các ô nhớ trên DDRAM. 2.6 Cách mắc LCD theo kiểu giao tiếp 4 bit. 2.7 Sơ đồ khối giao tiếp với LCD. 2.8 Sơ đồ khối của PIC 16F887. 2.9 Sơ đồ chân PIC 16F887. 2.10 Bộ nhớ chương trình và các ngăn xếp. 2.11 Bộ nhớ dữ liệu. 2.12 Thứ tự các bit trên thanh ghi STATUS. 2.13 Thứ tự các bit trên thanh ghi OPTION_REG. 2.14 Thứ tự các bit trên thanh ghi INTCON. 2.15 Thứ tự các bit trên thanh ghi PIE1. 2.16 Thứ tự các bit trên thanh ghi PIR1. 2.17 Thứ tự các bit trên thanh ghi PIE2. 2.18 Thứ tự các bit trên thanh ghi PIR2. 2.19 Thứ tự các bit trên thanh ghi PCON. 2.20 Sơ đồ chân của OPAMP. 2.21 Đường đặc tính OPAMP làm việc ở chế độ khóa. 2.22 Sơ đồ chân của PC900V. 2.23 Sơ đồ cấu trúc bên trong của PC900V. 2.24 Sơ đồ chân Flip – Flop loại S – R. 2.25 Sơ đồ chân của IC555. 2.26 Sơ đồ khối IC555. 2.27 Sơ đồ mạch tạo xung sử dụng IC555. 2.28 Sơ đồ máy đo âm tần. 2.29 Sơ đồ khối mạch đo tần số. 3.1 Giao diện chính của ISIS. 3.2 Khung Pick Devices. 3.3 Linh kiện sau khi sắp xếp xong. 3.4 Nối dây cho linh kiện. 3.5 Mô phỏng mạch đo tần số đang hoạt động. 3.6 Mô phỏng mạch tạo xung dùng IC555. 3.7 Giao diện Orcad Capture CIS. 3.8 Tạo trang thiết kế mới. 3.9 Hộp thoại New Project. 3.10 Cửa sổ Select Directory. 3.11 Chọn thư mục lưu. 3.12 Hộp thoại New Project sau khi chọn xong thư mục. 3.13 Màn hình chính Capture CIS. Trang 16 16 17 18 20 24 24 26 27 29 30 31 31 31 32 32 32 32 32 34 35 36 36 37 38 39 40 41 42 43 44 45 45 46 46 47 47 48 48 49 49 50

7

3.14 Hộp thoại Design Templates. 3.15 Hộp thoại Browse File. 3.16 Hộp thoại Place Part. 3.17 Vị trí các linh kiện sau khi sắp xếp xong. 3.18 Giao diện Orcad Layout Plus. 3.19 Giao diện Library Manager. 3.20 Khung Libraries sau khi thêm thư viện layout. 3.21 Chọn Footprint cho điện trở. 3.22 Dán Footprint cho linh kiện. 3.23 Đi dây cho linh kiện. 3.24 Sơ đồ nguyên lý mạch tạo xung dùng IC 555. 3.25 Giao diện Project Manager. 3.26 Hộp thoại Design Rules Check. 3.27 Hộp thoại Create Netlist. 3.28 Thông báo đường dẫn lưu file thiết kế. 3.29 Vị trí hai file .drc và .mnl. 3.30 Hộp thoại Auto ECO. 3.31 Hộp thoại Input Layout MAX File. 3.32 Chọn file .MNL đã tạo ở sơ đồ nguyên lý. 3.33 Hộp thoại Auto ECO hoàn chỉnh. 3.34 Thông báo thông số các linh kiện đã chọn. 3.35 Thông báo đã hoàn thành việc xử lý. 3.36 Giao diện Orcad Layout sau khi tạo file .max. 3.37 Sau khi sắp xếp xong linh kiện. 3.38 Khung Layers. 3.39 Khung Edit Layer. 3.40 Khung Layer sau khi chọn xong lớp vẽ mạch in. 3.41 Hộp thoại Nets. 3.42 Hộp thoại Edit Net. 3.43 Hộp thoại Nets sau khi điều chỉnh các thông số. 3.44 Hộp thoại Edit Obstacle. 3.45 Thông báo đã chạy dây xong. 3.46 Mạch in mạch tạo xung dùng IC555 hoàn chỉnh. 3.47 Sơ đồ nguyên lý mạch đo tần số. 3.48 Mạch in của mạch đo tần số. 4.1 Kết quả thực hành trên Testboard. 4.2 Mạch đo tần số sau khi thi công, hàn linh kiện. 4.3 Máy đo tần số hoàn chỉnh. 4.4 Thực hành trên Testboard. 4.5 Quan sát tín hiệu mạch tạo xung tạo ra qua dao động ký. 4.6 Mạch tạo xung sau khi thi công, hàn linh kiện. 4.7 Thực hành trên Testboard. 4.8 Kết quả thực nghiệm. 4.9 Đo tần số từ máy phát xung chuẩn. 4.10 Đồ thị so sánh tần số đo được của máy đo âm tần và máy phát xung 50 51 51 52 52 53 53 54 54 55 55 56 56 57 57 58 58 59 59 60 60 61 61 62 62 63 63 64 64 65 65 66 66 67 67 70 70 71 71 72 72 72 73 73 76 chuẩn.

8

DANH MỤC CÁC BẢNG

Diễn giải

Bảng 1.1 Một vài hệ thống số. 2.1 Giá trị điện áp ra của một số họ IC 78XX và 79XX. Thứ tự và chức năng các chân của Text LCD. 2.2 Tập lệnh của LCD. 2.3 Các bit viết tắt và mô tả. 2.4 Tần số từ 0 đến 5.000 Hz. 4.1 Tần số từ 5.000 đến 10.000 Hz. 4.2 Tần số từ 10.000 đến 15.000 Hz. 4.3 Tần số từ 15.000 đến 20.000 Hz. 4.4 Trang 10 15 19 21 23 74 74 75 75

9

MỞ ĐẦU

1. Lý do chọn đề tài

Hàng ngày, khi ta thức dậy thì lại có thêm rất nhiều thông tin về công nghệ mới

được cập nhật. Đa số trong các công nghệ này liên quan đến lĩnh vực điện – điện tử

như máy tính bảng, điện thoại thông minh,.... Điều này chứng tỏ sự phát triển nhanh và

mạnh của lĩnh vực điện tử là không có giới hạn. Do đó, việc học tập và nghiên cứu các

vấn đề liên quan đến điện – điện tử là việc làm hết sức đúng đắn và cần thiết trong thời

đại số hiện nay. Đối với sinh viên khoa Vật Lý – Trường Đại học Sư phạm thành phố

Hồ Chí Minh đã được làm quen với các kiến thức căn bản về linh kiện điện tử, xung,

các mạch phát xung thì việc tiếp cận càng phải được quan tâm với mức độ cần thiết.

Đặc trưng của xung là tần số và chúng ta đã có một vài phương pháp như đo trực tiếp

bằng dao động ký điện tử, phương pháp Lissajous. Tuy nhiên, các phương pháp đo

trên còn khá phức tạp về thao tác, tính toán. Vì vậy, yêu cầu đặt ra là phải có một máy

đo tần số để có thể xác định và kiểm chứng được tần số âm tần của máy phát xung bất

kỳ một cách đơn giản, phổ thông. Xuất phát từ yêu cầu đó, tôi quyết định sử dụng vi

điều khiển để thiết kế và lắp ráp máy đo âm tần hiển thị số.

2. Mục đích đề tài

Lắp ráp được máy đo âm tần và so sánh kết quả của máy đo với tần số do máy

phát xung chuẩn phát ra. Qua đó, phục vụ cho công tác giảng dạy phần đo tần số của

máy phát xung.

3. Nội dung nghiên cứu

- Nghiên cứu những kiến thức về điện – điện tử, các linh kiện điện tử.

- Nghiên cứu về vi điều khiển về cấu trúc phần cứng, cách lập trình; và LCD về

cấu trúc, cách giao tiếp.

- Thiết kế, chế tạo, giới thiệu nguyên lý hoạt động của máy phát xung dùng IC

555 và máy đo âm tần.

- So sánh tần số của máy đo âm tần với tần số của máy phát xung chuẩn và rút

ra kết luận.

10

4. Đối tượng nghiên cứu và phạm vi nghiên cứu

Đối tượng nghiên cứu

- Kiến thức cơ bản về điện – điện tử, vi điều khiển.

- Thiết kế và chế tạo mạch điện tử.

- Lý thuyết đo tần số của máy phát.

Phạm vi nghiên cứu

- Máy phát xung dùng IC 555.

- Máy đo âm tần hiển thị số trên LCD sử dụng vi điều khiển PIC 16F887.

5. Nhiệm vụ nghiên cứu

Tìm hiểu kiến thức căn bản về điện – điện tử. Xác định và tìm hiểu các linh

kiện phục vụ cho đề tài về cấu tạo, nguyên lý hoạt động. Thiết kế mạch in, chế tạo

mạch điện tử. Ứng dụng thiết bị vừa chế tạo để đo đạc lấy số liệu thực nghiệm. Rút ra

kết luận.

6. Phương pháp nghiên cứu

Phương pháp nghiên cứu lý thuyết: Đọc, nghiên cứu kỹ các cơ sở lý thuyết về

mạch điện, quá trình thiết kế mạch điện, vi điều khiển, cách đo tần số.

Phương pháp chuyên gia: tiến hành lấy ý kiến, ghi chép chu đáo của giảng viên,

các bạn để xây dựng sơ đồ nguyên lý và mạch in chính xác, phù hợp.

Phương pháp thực nghiệm khoa học: Kiểm tra cấu tạo và hoạt động của mạch

trên phần mềm mô phỏng Protues, Test board. Sửa chữa các sai sót, tối ưu hóa mạch

điện để vẽ và thiết kế mạch in.

11

CHƯƠNG 1: TỔNG QUAN VỀ PIC

Chương này sẽ trình bày những kiến thức cơ bản, phổ thông nhất về PIC và vi

điều khiển 16F887. PIC nói chung hay vi điều khiển nói riêng và thậm chí LCD được

đề cập ở chương sau đều là các linh kiện số nên muốn làm việc với nó thì ta phải nắm

được ngôn ngữ của chúng. Do đó, đầu tiên chương này sẽ điểm qua một số hệ thống

số, cách chuyển đổi giữa chúng. Tiếp theo, tôi sẽ trình bày về PIC và cụ thể hóa bằng

vi điều khiển 16F887.

1.1 Các hệ thống số

− Hệ thống số là tập hợp các ký tự và mối quan hệ giữa các ký tự đó để biểu diễn

các số.

− Trong cuộc sống hàng ngày, ta đã quen với việc sử dụng hệ thống số thập phân.

Tuy nhiên, trong các thiết bị số nói chung, thường sử dụng hệ nhị phân (binary),

hệ bát phân (octan), hệ thập lục phân (hexadecimal). Các hệ thống số khác nhau

được phân biệt bằng cơ số của hệ. Cơ số của một hệ thống số là số ký tự phân

biệt để biểu diễn số trong hệ đó. Ví dụ trong hệ thập phân có 10 ký tự phân biệt

0, 1, 2, 3, …, 9; còn trong hệ nhị phân chỉ có hai ký tự phân biệt là 0 và 1 [6].

− Người ta có thể biểu diễn bất kỳ một số S nào trong hệ thống cơ số A theo đa

thức khai triển sau đây:

(S)A = CnAn + Cn – 1An –1 + … + C0A0 + C–1A–1 + … + C–mA– m (I.1)

n

(S)

i C A (I.2)

A

i

= ∑

=− i m

Hay

Trong đó 0 < Ci < A – 1.

Ví dụ: (1111)2 = 1 x 23 + 1 x 22 + 1 x 21 + 1 x 20.

− Các hệ thống số đếm được phân làm hai loại là loại có trọng số (như hệ thập

phân, hệ nhị phân v.v..) và loại không có trọng số (như hệ nhị phân quá 3, hệ nhị

phân Gray,…).

12

− Trọng số của một hệ đếm đặc trưng cho vị trí của ký tự đó nằm trong dãy ký tự

biểu diễn cho một con số trong hệ đó. Trong hệ thức (I.1) và (I.2) các hệ số Ai

chính là các trọng số, với i là vị trí của ký tự Ci trong dãy số.

Bảng 1.1: Một vài hệ thống số.

Thập phân 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Nhị phân 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Bát phân 00 01 02 03 04 05 06 07 10 11 12 13 14 15 16 17 Thập lục phân 0 1 2 3 4 5 6 7 8 9 A B C D E F

 Để chuyển đổi một số trong hệ thập phân sang hệ thống số khác (cơ số A) phải

thực hiện các bước sau:

− Lấy phần nguyên chia cho cơ số A, ghi lại số dư. Đem kết quả của phép chia

(thương số) tiếp tục chia cho cơ số A. Cứ thực hiện như vậy cho đến khi kết quả

phép chia nhỏ hơn cơ số A. Phần nguyên trong hệ cơ số A sẽ là tập hợp các số

dư của phép chia , trong đó số dư đầu tiên có trọng số nhỏ nhất.

− Lấy phần thập phân nhân cho cơ số A, ghi lại phần nguyên. Phần thập phân còn

lại tiếp tục nhân cho cơ số A. Cứ tiếp tục như vậy cho đến độ chính xác mà ta

muốn. Phần thập phân trong hệ cơ số A sẽ là tập hợp các phần nguyên của phép

nhân, trong đó số đầu tiên có trọng số lớn nhất.

 Để đổi từ hệ nhị phân sang hệ bát phân, trước hết phải gom các số thành nhóm có

ba chữ số, tính từ dấu chấm phân cách phần nguyên và phần thập phân. Mỗi

nhóm này được thay thế bằng một chữ số hệ bát phân theo bảng mã.

13

 Để đổi từ hệ nhị phân sang hệ thập lục phân, trước hết phải gom các số thành

nhóm có bốn chữ số, tính từ dấu chấm phân cách phần nguyên và phần thập

phân. Mỗi nhóm này được thay thế bằng một chữ số hệ thập lục phân theo bảng

mã.

1.2 Mã và mã ASCII

1.2.1 Khái niệm về mã

Mã là một quy tắc ký hiệu đặt ra để biểu diễn các thông tin. Một mã gồm một

số hữu hạn các từ mã. Mỗi từ mã có một ký hiệu xác định và được gán biểu diễn cho

một thông tin [1].

Trong kỹ thuật số, dạng mã thông dụng là mã nhị phân. Mỗi từ mã của mã nhị

phân là một dãy liên tiếp các số hạng, mỗi số hạng chỉ có thể biểu diễn bằng hai số 0 hay 1, gọi là bit. Như vậy, một mã nhị phân có độ dài n bit, sẽ có 2n tổ hợp khác nhau và có thể biểu diễn cho 2n thông tin. Việc gắn mỗi từ mã biểu diễn cho từng thông tin

xác định gọi là mã hóa. Việc làm ngược lại gọi là giải mã.

1.2.2 Mã ký tự ASCII

Mã ASCII (viết tắt của American Standard Code for International Interchange –

Mã chuẩn của Mỹ dùng cho trao đổi thông tin) là một mã nhị phân 7 bit thông dụng

để mã hóa các ký tự trong xử lý văn bản (các chữ cái, chữ số, các dấu ?, !, >, < …). Số ký tự tối đa có thể mã hóa là 27 = 128 ký tự từ 0 đến 127. Trong bảng mã ACII mở

rộng, người ta bổ sung thêm 128 ký tự đặc biệt với mã từ 128 đến 255 [4].

Ví dụ mã ASCII của ‘A’ là 65, của ‘a’ là 97.

1.3 Sơ lược về PIC

1.3.1 Sơ lược lịch sử phát triển

PIC là một họ vi điều khiển RISC được sản xuất bởi công ty Microchip

Technology. Thế hệ PIC đầu tiên là PIC1650 được phát triển bởi Microelectronics

Division 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 General Instrument đặt cho dòng sản phẩm đầu

tiên là PIC1650. Thời điểm đó PIC1650 được dùng để giao tiếp với các thiết bị ngoại

14

vi cho máy chủ 16 bit CP1600, 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

8-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ưng

PIC 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.

Năm 1985 General Instruments bán công nghệ các vi điện tử của họ, và chủ sở

hữu mớ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 một 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

vi tích hợp sẵn (như USART, PWM, ADC...), với bộ nhớ chương trình từ 512 Word

đến 32K Word.

1.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ưng

chú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.

15

 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 PIC16F8XX là:

 Chỉ gồm 35 lệnh đơn.

 Thời gian thực hiện tất cả các lệnh là 1 chu kì máy, ngoại trừ lệnh gọi chương

trình con là 2.

 Tốc độ hoạt động:

* DC - 20MHz ngõ vào xung clock.

* DC - 200ns chu kì lệnh.

 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.3.2.1 Các đặc tính ngoại vi

 Timer0: là bộ định thời timer/counter 8 bit có bộ chia trước.

 Timer1: là bộ định thời timer/counter 16 bit có bộ chia trước, có thể đếm khi

CPU đang ở trong chế độ ngủ với nguồn xung từ thạch anh hoặc nguồn xung

bê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.

1.3.2.2 Các đặc tính tương tự

 Có kênh chuyển đổi tín hiệu tương tự thành tín hiệu số ADC 10-bit.

 Có reset BOR (Brown – Out Reset).

16

 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ên trong.

− Các ngõ ra của bộ so sánh có thể truy xuất từ bên ngoài.

1.3.2.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ó thể lập trình mã bảo mật.

 Có thể hoạt động ở chế độ ngủ để tiết kiệm năng lượng.

 Có thể lựa chọn bộ dao động.

 Có mạch điện gỡ rối ICD (In-Circuit Debug).

1.3.2.4 Chế tạo theo công nghệ CMOS

Có các đặc tính: công suất thấp, công nghệ bộ nhớ Flash/EEPROM tốc độ cao.

Điện áp hoạt động từ 2V đến 5,5V và tiêu tốn năng lượng thấp. Phù hợp với nhiệt độ

làm việc trong công nghiệp và thương mại.

17

CHƯƠNG 2: MỘT SỐ LINH KIỆN LIÊN QUAN –

NGUYÊN TẮC HOẠT ĐỘNG MẠCH 555 VÀ

MẠCH ĐO TẦN SỐ

Trong chương này sẽ trình bày một số linh kiện liên quan đến việc thiết kế máy

đo âm tần và mạch tạo xung sử dụng IC 555. Để sử dụng đúng chức năng của linh

kiện, chương này sẽ trình bày rõ về cấu tạo, nguyên tắc hoạt động của chúng. Trên sơ

sở nắm vững những kiến thức đó, chúng ta sẽ tìm hiểu về sơ đồ, nguyên lý hoạt động

mạch tạo xung sử dụng IC 555 và máy đo âm tần.

2.1 IC 78XX

Ngày nay, các vi mạch ổn áp DC tuyến tính được sử dụng rất rộng rãi do những

ưu điểm của chúng như: tích hợp toàn bộ linh kiện trong một vỏ kích thước bé, không

cần sử dụng hay chỉ sử dụng thêm một vài linh kiện ngoài để tạo mạh hoàn chỉnh,

mạch bảo vệ quá dòng và quá nhiệt có sẵn trong vi mạch… Một trong những vi mạch

ổn áp DC tuyến tính thông dụng là họ vi mạch 78XX ổn áp dương (tức tạo điện thế

đầu ra dương) và 79XX ổn áp âm (tức tạo điện thế đầu ra âm) có ba chân. Tùy theo

hình dạng vỏ ngoài mà các IC ổn áp có thể cung cấp dòng từ 100 mA đến 1 A và cho

điện áp ra cố định ở nhiều giá trị khác nhau tương ứng với mã số [7].

Bảng 2.1: Giá trị điện áp ra của một số họ IC 78XX và 79XX.

Mã số Điện áp ra (V) Mã số Điện áp ra (V)

7805 5 7905 - 5

7808 8 7908 - 8

7809 9 7909 - 9

7812 12 7912 - 12

7815 15 7915 - 15

7824 24 7924 - 24

Cách xác định chân của họ 78XX như hình 2.1.

18

Hình 2.1: Thứ tự chân của họ IC 78XX.

78XX là họ IC dùng để tạo điện áp dương đầu ra. Tùy theo IC78XX mà nó có

điện áp đầu ra là bao nhiêu. IC 78XX có 3 chân như hình trên:

 1: Input là chân đưa điện áp vào

 2 GND là chân nối masse.

 3. Output là chân đưa điện áp ra.

Khi mắc vào mạch, IC thường được mắc như sau

78XX (79XX)

Ci

C0

Hình 2.2: Sơ đồ mạch IC78XX

Trong mạch trên, tụ Ci được thêm vào khi vi mạch đặt xa nguồn chỉnh lưu và

có tác dụng lọc (khi nguồn DC chưa ổn định) để ổn định điện áp ngõ vào; C0 có tác

dụng lọc nhiễu cao tần. Điện áp ngõ vào tối thiểu phải cao hơn điện áp ngõ ra 3V để vi

mạch vẫn hoạt động tốt.

Khi lắp IC vào mạch thì nên gắn thêm một đế tản nhiệt bằng nhôm để IC bớt

nóng khi làm việc và tăng tuổi thọ. Ngoài ra, nếu như nguồn cấp là 12VDC và mạch

cần sử dụng nguồn 5VDC thì trên lý thuyết ta có thể sử dụng trực tiếp IC7805 để hạ

xuống điện áp 5VDC. Tuy nhiên, thực tế thì sẽ khiến cho IC7805 khá nóng khi phải

làm việc lâu và giảm hiệu suất làm việc. Vì vậy, trong mạch đo tần số sử dụng 2 loại

IC là 7805 và 7809 nhằm tránh hiện tượng trên.

19

2.2 Thạch anh

Tinh thể thạch anh là loại đá trong mờ trong thiên nhiên, có thành phần cấu tạo

là Silic đioxit (SiO2). Thạch anh dùng trong mạch dao động là một lát mỏng được cắt

ra từ tinh thể. Tùy theo mặt cắt mà lát thạch anh có đặc tính khác nhau. Lát thạch anh có diện tích từ nhỏ hơn 1cm2 đến vài cm2 được mài rất mỏng, phẳng (vài mm) và 2

mặt thật song song với nhau. Hai mặt này được mạ kim loại và nối chân ra ngoài để dễ

sử dụng [3].

Hình 2.3: Hình dạng thạch anh sau khi gia công dùng trong các mạch điện tử.

Ký hiệu của thạch anh trong mạch điện

Ðặc tính của tinh thể thạch anh là tính áp điện (piezoelectric effect).

Tức là khi ta áp một lực vào hai mặt của lát thạch anh (nén và kéo dãn) thì sẽ xuất hiện

một điện thế xoay chiều giữa hai mặt. Ngược lại, dưới tác dụng của một điện thế xoay

chiều, lát thạch anh sẽ rung ở một tần số không đổi và như vậy tạo ra một điện thế

xoay chiều có tần số không đổi. Tần số dao động của lát thạch anh tùy thuộc vào kích

thước của nó đặc biệt là độ dày, mặt cắt. Khi nhiệt độ thay đổi, tần số rung của thạch

anh cũng thay đổi theo nhưng vẫn có độ ổn định tốt hơn rất nhiều so với các mạch dao

động không dùng thạch anh (tần số dao động gần như chỉ tùy thuộc vào thạch anh mà

không lệ thuộc mạch ngoài).

2.3 LCD

2.3.1 Phân loại

Có thể chia LCD [4] làm hai loại chính như sau:

 Text LCD (loại hiển thị ký tự) có một vài kích cỡ như sau: 16x1 (16 ký tự x 1

dòng); 16x2 (16 ký tự x 2 dòng); 16x4 (16 ký tự x 4 dòng); 20x1 (20 ký tự x 1

dòng); 20x4 (20 ký tự x 4 dòng); ….

20

 Graphic LCD (loại hiển thị đồ họa) đen trắng hoặc màu, có một vài kích cỡ như

sau: 1,47 inch (128x128 điểm ảnh); 1,8 inch (128x160 điểm ảnh); 2 inch (176x220

điểm ảnh); 2,2 inch (240x320 điểm ảnh); 3,5 inch (320x240 điểm ảnh;…

Dưới dây ta sẽ khảo sát kỹ hơn về Text LCD.

2.3.2 Ý nghĩa các chân

Text LCD [4] là các loại màn hình tinh thể lỏng nhỏ dùng để hiển thị các dòng

chữ hoặc số trong bảng mã ASCII. Không giống các loại LCD lớn, Text LCD được

chia sẵn thành từng ô và ứng với mỗi ô chỉ có thể hiển thị một ký tự ASCII. Vì thế nên

loại LCD này được gọi là Text LCD. Mỗi ô của Text LCD bao gồm các “chấm” tinh

thể lỏng, việc kết hợp “ẩn” và “hiện” các chấm này sẽ tạo thành một ký tự cần hiển thị.

Trong các Text LCD, các mẫu ký tự được định nghĩa sẵn. Hình 2.4 là một ví dụ Text

LCD 16x2.

Hình 2.4: Text LCD

LCD 16x2 điều khiển bởi chip HD44780U của hãng Hitachi. HD44780U là bộ

điều khiển cho các Text LCD dạng ma trận điểm (dot-matrix), chip này có thể được

dùng cho các LCD có 1 hoặc 2 dòng hiển thị. HD44780U có 2 mode giao tiếp là 4 bit

và 8 bit. Nó chứa sẵn 208 ký tự mẫu kích thước font 5x8 và 32 ký tự mẫu font 5x10

(tổng cộng là 240 ký tự mẫu khác nhau).

Các Text LCD theo chuẩn HD44780U thường có 16 chân trong đó 14 chân kết

nối với bộ điều khiển và 2 chân nguồn cho “đèn LED nền”. Thứ tự các chân thường

được sắp xếp như trong bảng 2.2.

21

Bảng 2.2: Thứ tự và chức năng các chân của Text LCD.

Tên Chức năng Mô tả Số thứ tự chân Trạng thái logic

VSS Nối đất (GND). 0 V 1 -

VDD Nguồn cho LCD. +5 V 2 -

0 đến VDD. 3 V0 - Điều chỉnh độ tương phản LCD.

D0 – D7: Thanh ghi lệnh. 0 4 RS D0 – D7: Thanh ghi dữ liệu. 1

Ghi (từ PIC vào LCD). 0 5 RW Điều khiển LCD. Đọc (từ LCD vào PIC). 1

Vô hiệu hóa LCD. 0

LCD hoạt động. 6 E 1

Từ 1 xuống 0 Bắt đầu ghi/đọc LCD.

Bit 1. 7 D0 0/1

Bit 2. 8 D1 0/1

Bit 3. 9 D2 0/1

Bit 4. 10 D3 0/1 Dữ liệu/lệnh. Bit 5. 11 D4 0/1

Bit 6. 12 D5 0/1

Bit 7. 13 D6 0/1

Bit 8. 14 D7 0/1

+5 V. 15 A - Nguồn cho đèn nền LCD.

Nối đất (GND). 0 V. 16 K -

2.3.3 Thanh ghi và tổ chức bộ nhớ

HD44780U có 2 thanh ghi 8 bits là INSTRUCTION REGISTER (IR) và DATA

REGISTER (DR). Thanh ghi IR chứa mã lệnh điều khiển LCD và là thanh ghi “chỉ

ghi” (chỉ có thể ghi vào thanh ghi này mà không đọc được nó). Thanh ghi DR chứa các

các loại dữ liệu như ký tự cần hiển thị hoặc dữ liệu đọc ra từ bộ nhớ LCD…Cả 2 thanh

ghi đều được nối với các đường dữ liệu D0:7 của Text LCD và được lựa chọn tùy theo

các chân điều khiển RS, RW. Thực tế để điều khiển Text LCD chúng ta không cần

22

quan tâm đến cách thức hoạt động của 2 thanh ghi này, vì thế cũng không cần khảo sát

chi tiết chúng.

HD44780U có 3 loại bộ nhớ, đó là bộ nhớ RAM dữ liệu cần hiển thị DDRAM

(Didplay Data RAM), bộ nhớ chứa ROM chứa bộ font tạo ra ký tự CGROM

(Character Generator ROM) và bộ nhớ RAM chứa bộ font tạo ra các symbol tùy chọn

CGRAM (Character Generator RAM). Để điều khiển hiển thị Text LCD chúng ta cần

hiểu tổ chức và cách thức hoạt động của các bộ nhớ này.

2.3.3.1 DDRAM

DDRAM là bộ nhớ tạm chứa các ký tự cần hiển thị lên LCD, bộ nhớ này gồm

có 80 ô được chia thành 2 hàng, mỗi ô có độ rộng 8 bit và được đánh số từ 0 đến 39

cho dòng 1; từ 64 đến 103 cho dòng 2. Mỗi ô nhớ tương ứng với 1 ô trên màn hình

LCD. Như chúng ta biết LCD loại 16x2 có thể hiển thị tối đa 32 ký tự (có 32 ô hiển

thị), vì thế có một số ô nhớ của DDRAM không được sử dụng làm các ô hiển thị. Để

hiểu rõ hơn chúng ta tham khảo hình bên dưới.

Hình 2.5: Thứ tự các ô nhớ trên DDRAM.

Chỉ có 16 ô nhớ có địa chỉ từ 0 đến 15 và 16 ô địa chỉ từ 64 đến 79 là được hiển

thị trên LCD. Vì thế muốn hiển thị một ký tự nào đó trên LCD chúng ta cần viết ký tự

đó vào DDRAM ở 1 trong 32 địa chỉ trên. Các ký tự nằm ngoài 32 ô nhớ trên sẽ không

được hiển thị, tuy nhiên vẫn không bị mất đi, chúng có thể được dùng cho các mục

đích khác nếu cần thiết.

2.3.3.2 CGROM

CGROM là vùng nhớ cố định chứa định nghĩa font cho các ký tự. Chúng ta

không trực tiếp truy xuất vùng nhớ này mà chip HD44780U sẽ tự thực hiện khi có yêu

cầu đọc font để hiện thị. Một điều đáng lưu ý là địa chỉ font của mỗi ký tự vùng nhớ

CGROM chính là mã ASCII của ký tự đó. Ví dụ ký tự ‘a’ có mã ASCII là 97, tham

23

khảo tổ chức của vùng nhớ CGROM trong hình 4 bạn sẽ nhận thấy địa chỉ font của ‘a’

có 4 bit thấp là 0001 và 4 bit cao là 0110, địa chỉ tổng hợp là 01100001 = 97.

CGROM và DDRAM được tự động phối hợp trong quá trình hiển thị của LCD.

Giả sử chúng ta muốn hiển thị ký tự ‘a’ tại vị trí đầu tiên, dòng thứ 2 của LCD thì các

bước thực hiện sẽ như sau: trước hết chúng ta biết rằng vị trí đầu tiên của dòng 2 có

địa chỉ là 64 trong bộ nhớ DDRAM, vì thế chúng ta sẽ ghi vào ô nhớ có địa chỉ 64 một

giá trị là 97 (mã ASCII của ký tự ‘a’). Tiếp theo, chip HD44780U đọc giá trị 97 này và

coi như là địa chỉ của vùng nhớ CGROM, nó sẽ tìm đến vùng nhớ CGROM có địa chỉ

97 và đọc bảng font đã được định nghĩa sẵn ở đây, sau đó xuất bản font này ra các

“chấm” trên màn hình LCD tại vị trí đầu tiên của dòng 2 trên LCD. Đây chính là cách

mà 2 bộ nhớ DDRAM và CGROM phối hợp với nhau để hiển thị các ký tự. Như mô

tả, công việc của người lập trình điều khiển LCD tương đối đơn giản, đó là viết mã

ASCII vào bộ nhớ DDRAM tại đúng vị trí được yêu cầu, bước tiếp theo sẽ do

HD44780U đảm nhiệm.

2.3.3.3 CGRAM

CGRAM là vùng nhớ chứa các symbol do người dùng tự định nghĩa, mỗi

symbol được có kích thước 5x8 và được dành cho 8 ô nhớ 8 bit. Các symbol thường

được định nghĩa trước và được gọi hiển thị khi cần thiết. Vùng này có tất cả 64 ô nhớ

nên có tối đa 8 symbol có thể được định nghĩa.

2.3.4 Tập lệnh của LCD

Để có thể giao tiếp dễ dàng với LCD ta phải nắm rõ được tập lệnh và ý nghĩa

của nó. Mã lệnh của LCD được biểu diễn trong bảng 2.3.

Bảng 2.3: Tập lệnh của LCD.

Mã lệnh

Lệnh Mô tả RS D7 D5 D4 D3 D2 D1 D0 R W D 6 Thời gian thi hành

0 0 0 0 0 0 0 0 0 1 Xóa màn hình 1,64 ms.

Xóa màn hình, đưa con trỏ về vị trí đầu (address 0).

24

0 0 0 0 0 0 0 0 1 x 1,64 ms Đưa con trỏ về vị trí đầu (address 0). Đưa con trỏ về vị trí đầu

0 0 0 0 0 0 0 1 I/D S 40 µs Thiết lập chế độ

Thiết lập hướng dịch con trỏ (I/D), dịch hiển thị (S).

0 0 0 0 0 0 1 D C B 40 µs Bật/tắt hiển thị

Bật/Tắt hiển thị con trỏ; Bật/tắt chế độ nhấp nháy của con trỏ.

0 0 0 0 0 1 * * 40 µs S/ C R/ L Dịch con trỏ/ hiển thị Thiết lập chiều dịch chuyển của con trỏ và hiển thị.

0 0 0 0 1 DL N F * * 40 µs Thiết lập chức năng Thiết lập độ dài của dữ liệu, số dòng và font chữ.

0 0 0 1 CGRAM address 40 µs Thiết lập địa chỉ CGRAM. Set CGRAM address

0 0 1 DDRAM address 40 µs Thiết lập địa chỉ DDRAM. Set DDRAM adress

0 1 BF CGRAM/DDRAM address 0 µs Read “BUSY” flag

Đọc cờ báo bận và địa chỉ của CGRAM hay DDRAM (tùy vào lệnh trước đó).

40 µs 1 0 Write data Ghi dữ liệu vào CGRAM hay DDRAM. Write to CGRAM or DDRAM

40 µs 1 1 Read data Đọc dữ liệu vào CGRAM hay DDRAM. Read from CGRAM or DDRAM

25

Các bit viết tắt trong mã lệnh được nêu rõ trong bảng 2.4.

Bảng 2.4: Các bit viết tắt và mô tả.

Tên bit Mô tả

I/D 0 = Giảm vị trí con trỏ. 1 = Tăng vị trí con trỏ.

0 = Không dịch chuyển hiển thị. 1 = Dịch chuyển hiển thị. S

0 = Tắt hiển thị. 1 = Bật hiển thị. D

0 = Tắt con trỏ. 1 = Bật con trỏ. C

0 = Con trỏ không nhấp nháy. 1 = Con trỏ nhấp nháy. B

0 = Di chuyển con trỏ. 1 = Dịch chuyển hiển thị. S/C

0 = Dịch trái. 1 = Dịch phải. R/L

0 = Chế độ 4 – bit dữ liệu. 1 = Chế độ 8 – bit dữ liệu. D/L

1 dòng. 2 dòng. N

0 = Font chữ 5x8. 1 = Font chữ 5x10. F

0 = Không bận. 1 = Đang bận. BF

2.3.5 Giao tiếp và nguyên tắc hiển thị ký tự trên LCD

LCD có hai mode giao tiếp là 4 bit và 8 bit. Ta sẽ lần lượt tìm hiểu về cách sử

dụng cũng như ưu – nhược điểm của hai mode này.

- Mode 8 bit: Để 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 một PORT (gồm 8 chân) của vi đ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 vi điều khiển bê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 sau. Ưu điểm lớn nhất của phương pháp này tối thiểu

số lines dùng cho giao tiếp LCD, nếu tính luôn cả 3 chân điều khiển thì chỉ cần 7

26

đường cho giao tiếp LCD. Tuy nhiên, việc đọc và ghi từng nibble tương đối khó khăn

hơn đọc và ghi dữ liệu 8 bit.

Hình 2.6 là hình ảnh cách mắc LCD theo mode giao tiếp 4 bit. Trong đó, các

chân từ D4 đến D7 được mắc vào 4 chân thuộc 1 PORT của vi điều khiển. Chân VSS

nối đất, VDD nối với nguồn 5V, VEE nối chân chạy của biến trở hạn dòng nhằm điều

chỉnh độ tương phản của LCD.

Hình 2.6: Cách mắc LCD theo kiểu giao tiếp 4 bit.

Trình tự giao tiếp với LCD mode 4 bit được mô tả bằng sơ đồ hình 2.7.

Hình 2.7: Sơ đồ khối giao tiếp với LCD.

27

Để sử dụng LCD chúng ta cần khởi động LCD, sau khi được khởi động LCD đã

sẵn sàng để hiển thị. Quá trình khởi động chỉ cần thực hiện một lần ở đầu chương

trình. Trong code giao tiếp với LCD, quá trình khởi động được viết trong một chương

trình con tên LCD_Init, khởi động LCD thường bao gồm xác lập cách giao tiếp, kích

thước font, số dòng LCD (Function set), cho phép hiển thị LCD, Cursor

home…(Display control), chế độ hiển thị tăng/giảm, shift (Entry mode set). Các thủ

tục khác như xóa LCD, viết ký tự lên LCD, di chuyển con trỏ…được sử dụng liên tục

trong quá trình hiển thị LCD và sẽ được trình bày trong các đoạn chương trình con

riêng.

Chú ý: Mỗi khi thực hiện ghi lệnh hay dữ liệu hiển thị lên LCD đều phải kiểm

tra cờ bận. Sở dĩ xuất hiện vấn đề này là do trong một khoảng thời gian LCD chỉ có thể

thực hiện được một nhiệm vụ như xóa hay ghi dữ liệu.. Tuy nhiên, có một số loại LCD

không cho phép kiểm tra cờ bận, vì thế nên ta phải chủ động trong việc lập trình trong

việc phân phối thời gian khi ra lệnh cho LCD. Ví dụ như khi thực hiện lệnh xóa màn

hình thì phải chờ 2 ms rồi mới thực hiện lệnh mới vì thời gian thực hiện lệnh xóa màn

hình là 1,64 ms.

2.4 Vi điều khiển 16F887

2.4.1 Sơ đồ và tên các khối của 16F887

28

Hình 2.8: Sơ đồ khối của PIC 16F887

 Khối ALU – Arithmetic Logic Unit.

 Khối bộ nhớ chứa chương trình – Flash Program Memory.

 Khối bộ nhớ chứa dữ liệu EEPROM – Data EEPROM.

29

 Khối bộ nhớ file thanh ghi RAM – RAM file Register.

 Khối giải mã lệnh và điều khiển – Instruction Decode Control.

 Khối thanh ghi đặc biệt.

 Khối bộ nhớ ngăn xếp.

 Khối reset mạch khi có điện, khối định thời reset mạch khi có điện, khối định

thời ổn định dao động khi có điện, khối định thời giám sát, khối reset khi sụt

giảm nguồn, khối gỡ rối.

 Khối ngoại vi timer T0, T1,T2.

 Khối giao tiếp nối tiếp.

 Khối chuyển đổi tín hiệu tương tự sang số –ADC.

 Khối so sánh điện áp tương tự.

 Khối tạo điện áp tham chiếu.

 Khối các port xuất nhập.

2.4.2 Sơ đồ và chức năng của các chân

Hình 2.9: Sơ đồ chân PIC 16F887

30

 Port A: Port A (RA0 đến RA7) có số chân từ chân số 2 đến chân số 7 và chân

số 13, 14. Port A bao gồm 8 chân I/O (vào/ra dữ liệu). Đây là các chân “hai

chiều” (bidirectional pin), nghĩa là có thể xuất và nhập được. Chức năng I/O

này được điều khiển bởi thanh ghi TRISA (địa chỉ 85h). Đặc biệt, Port A có hai

chân 13 và 14 dùng để nối với thạch anh để tạo bộ dao động ngoại hay có thể

được sử dụng để tạo dao động nội RC.

 Port B: Port B (RB0 đến RB7) có số chân từ chân số 33 đến chân số 40. Port B

gồm 8 chân I/O. Thanh ghi điều khiển xuất nhập tương ứng là TRISB. Bên cạnh

đó một số chân của Port B còn được sử dụng trong quá trình nạp chương trình

cho vi điều khiển với các chế độ nạp khác nhau. Port B còn liên quan đến ngắt

ngoại vi và bộ Timer0. Ngoài ra nó còn được tích hợp chức năng điện trở kéo

lên (pull – up) được điều khiển bởi chương trình.

 Port C: Port C (RC0 đến RC7) có số chân từ chân số 15 đến chân số 18 và

chân số 23 đến chân số 26. Port C gồm 8 chân I/O. Thanh ghi điều khiển xuất

nhập tương ứng là TRISC. Bên cạnh đó Port C còn chứa các chân chức năng

của bộ so sánh, bộ Timer1, bộ PWM và các chuẩn giao tiếp nối tiếp I2C, SPI,

SSP, USART

 Port D: Port D (RD0 đến RD7) có số chân từ chân số 19 đến chân số 22 và

chân số 27 đến chân số 30. Port (RPD) gồm 8 chân I/O, thanh ghi điều khiển

xuất nhập tương ứng là TRISD. Port D còn là cổng xuất dữ liệu của chuẩn giao

tiếp PSP (Parallel Slave Port).

 Port E: Port E (RE0 đến RE3) có số chân từ chân số 8 đến 10 và chân số 1.

Port E gồm 3 chân I/O (từ RE0 đến RE2) và một chân chỉ nhập (RE3). Thanh

ghi điều khiển xuất nhập tương ứng là TRISE. Các chân của Port E có ngõ vào

analog. Bên cạnh đó Port E còn là các chân điều khiển của chuẩn giao tiếp PSP.

Đặc biệt, chân số 1 (RE3) hay còn gọi là Master Clear dùng để Reset vi điều

khiển với điện trở kéo nội.

 Chân 12 và 31 dùng để nối đất.

 Chân 11 và 31 dùng để cấp nguồn cho vi điều khiển hoạt động [8].

31

2.4.3 Tổ chức bộ nhớ

Cấu trúc của bộ nhớ vi điều khiển PIC16F887 bao gồm 2 bộ nhớ:

+ Bộ nhớ chương trình (Programmemory).

+ Bộ nhớ dữ liệu (Data memory).

2.4.3.1 Bộ nhớ chương trình (Programmemory)

Bộ nhớ chương trình của vi điều khiển PIC16F887 là bộ nhớ Flash, dung lượng

bộ nhớ 8K word (1 word = 14 bit) và được phân chia làm nhiều trang ( từ page 0 đến

3). Nhờ vậy bộ nhớ chương trình có khả năng chứa được 8*1024=8192 câu lệnh (vì

một lệnh sau khi mã hoá sẽ có dung lượng 1 word (14 bit)).

Để mã hóa được địa chỉ của 8K bộ nhớ chương trình, bộ đếm chương trình có

dung lượng 13 bit. Khi vi điều khiển được Reset, bộ đếm chương trình chỉ đến địa chỉ

0004h (Interrupt vector). Bộ nhớ chương trình không bao gồm bộ nhớ stack và không

được địa chỉ hóa bởi bộ đếm chương trình.

Bảng bộ nhớ chương trình và các ngăn xếp.

Hình 2.10: Bộ nhớ chương trình và các ngăn xếp.

32

2.4.3.2 Bộ nhớ dữ liệu (Data memory)

Bộ nhớ dữ liệu của PIC là bộ nhớ EEPROM được chia ra làm nhiều bank. Đối

với PIC16F887 bộ nhớ dữ liệu chia làm 4 bank. Mỗi bank có dung lượng 128 byte,

bao gồm các thanh ghi có chức năng đặc biệt SFG (Special Function Register) nằm ở

các vùng địa chỉ thấp và các thanh ghi mục đích chung GPR (General Purpose

Register) nằm ở các vùng địa chỉ còn lại trong bank. Các thanh ghi SFG thường xuyên

được sử dụng (ví dụ như thanh ghi STATUS) sẽ được đặt ở tất cả các bank của bộ đếm

dữ liệu giúp thuận tiện trong quá trình truy xuất và làm giảm bớt lệnh của chương

trình. Sơ đồ cụ thể của bộ nhớ dữ liệu PIC16F887 như hình 2.11.

Hình 2.11: Bộ nhớ dữ liệu.

33

2.4.3.3 Các thanh ghi đặc biệt

Đây là các thanh ghi được sử dụng bởi CPU hoặc được dùng để thiết lập và

điều khiển các khối chức năng được tích hợp bên trong vi điều khiển. Có thể phân chia

SFR làm hai loại: thanh ghi SFR liên quan đến các chức năng bên trong CPU và thanh

ghi SFR dùng để thiết lặp và điều khiển các khối chức năng bên ngoài ( ví dụ như

ADC, PWM,…). Các thanh ghi liên quan đến chức năng bên trong:

- Thanh ghi STATUS (03h, 83h, 103h, 183h): thanh ghi chứa kết quả thực hiện

phép toán của khối ALU, trạng thái RESET và các bit chọn bank cần truy xuất trong

bộ nhớ dữ liệu.

Hình 2.12: Thứ tự các bit trên thanh ghi STATUS.

-Thanh ghi OPTION_REG (81h, 181h): thanh ghi này cho phép đọc và ghi, cho

phép điều khiển các chức năng pulled-up của các chân PORTB, xác lập các tham số

xung tác động, cạnh tác động của ngắt ngoại vi và bộ đếm Time0.

Hình 2.13: Thứ tự các bit trên thanh ghi OPTION_REG.

-Thanh ghi INTCON (0Bh, 8Bh, 10Bh, 18Bh): thanh ghi cho phép đọc và ghi,

chứa các bit điều khiển và các bit cờ hiệu khi Time0 tràn, ngắt ngoại vi RB0/INT và

ngắt interrupt-on-change tại các chân của PORTB.

Hình 2.14: Thứ tự các bit trên thanh ghi INTCON.

-Thanh ghi PIE1 (8Ch): chứa các bit điều khiển chi tiết các ngắt của khối chức

năng ngoại vi.

34

Hình 2.15: Thứ tự các bit trên thanh ghi PIE1.

-Thanh ghi PIR1 (0Ch) chứa cờ ngắt của các khối chức năng ngoại vi, các

ngắt này được cho phép bởi các bit điều khiển chứa trong thanh ghi PIE1.

Hình 2.16: Thứ tự các bit trên thanh ghi PIR1.

-Thanh ghi PIE2 (8Dh): chứa các bit điều khiển các ngắt của các khối chức

năng CCP2, SSP bus, ngắt của bộ so sánh và ngắt ghi vào bộ nhớ EEPROM.

Hình 2.17: Thứ tự các bit trên thanh ghi PIE2.

-Thanh ghi PIR2 (0Dh): chứa các cờ ngắt của của các khối chức năng ngoại vi,

các ngắt này được cho phép bởi các bit điều khiển chứa trong thanh ghi PIE2.

Hình 2.18: Thứ tự các bit trên thanh ghi PIR2.

-Thanh ghi PCON (8Eh): chứa các cờ hiệu cho biết trạng thái các chế độ Reset

của vi điều khiển.

Hình 2.19: Thứ tự các bit trên thanh ghi PCON.

2.4.4 Các bộ định thời

Vi điều khiển PIC16F887 có 3 bộ định thời Timer đó là Timer0, Timer1,

Timer2.

35

2.4.4.1 Timer0

Đây là một trong 3 bộ đếm hoặc bộ định thời của vi điều khiển PIC16F887.

Timer0 là bộ đếm 8 bit được kết nối với bộ chia tần 8 bit. Cấu trúc của Time0 cho

phép ta lựa chọn xung clock tác động và cạnh tích cực của xung clock. Ngắt Timer0 sẽ

xuất hiện khi Timer0 bị tràn. Bit TMR0IE (INTCON<5>) là bit điều khiển của

Timer0. Khi TMR0IE=1 cho phép ngắt Timer0 tác động, TMR0IE=0 không cho phép

ngắt Timer0 tác động.

2.4.4.2 Timer1

Bộ Timer1 là bộ định thời 16 bit, giá trị của Timer1 sẽ được lưu trong thanh ghi

(TMR1H:TMR1L). Cờ ngắt của Timer1 là bit TMR1IF. Bit điều khiển của Timer1 là

TMR1IE.

Tương tự như Timer0, Timer1 cũng có 2 chế độ hoạt động: chế độ định thời và

chế độ xung kích là xung clock của oscillator (tần số Timer bằng ¼ tần số của

oscillator) và chế độ đếm (counter) với xung kích là xung phản ánh các sự kiện cần

đếm lấy từ bên ngoài thông qua chân RCO/T1OSO/T1CKI (cạnh tác động là cạnh

lên). Việc lựa chọn chế độ hoạt động của Timer được điều khiển bởi bit TMR1CS.

2.4.4.3 Timer2

Bộ Timer2 là bộ định thời 8 bit và được hỗ trợ hai bộ chia tần prescaler và

postscaler. Thanh ghi chứa giá trị đếm của Timer2 là TMR2. Bit cho phép ngắt Timer2

tác động là TMR2ON. Cờ ngắt của Timer2 là bit TMR2IF. Xung ngõ vào (bằng ¼ tần

số oscillator) được đưa qua bộ chia tần số prescaler 4 bit (với các tỉ số chia tần 1:1, 1:4

hoặc 1:6) và được điều khiển bởi các bit T2CKPS1:T2CKPS0.

2.5 OPAMP

2.5.1 Định nghĩa

Khuếch đại thuật toán, còn gọi là OPAMP (viết tắt của cụm từ Operational

Amplifier), là một bộ khuếch đại DC có hệ số khuếch đại A thường được chế tạo dưới

dạng tích hợp [2].

Khuếch đại thuật toán vốn được dùng để thực hiện các thuật toán trong máy

tính tương tự cho nên nó được mang tên như vậy. Ngày nay, khuếch đại thuật toán

36

được ứng dụng trong rất nhiều lĩnh vực khác nhau, với tầm tuần suất rất rộng từ DC

đến hàng GHz.

Hình 2.20: Sơ đồ chân của OPAMP.

OPAMP có hai đầu vào (input) dương và âm và một đầu ra (output). Điện áp

trên các đầu vào và ra là so với masse. Đầu vào dương gọi là đầu vào không đảo, nghĩa

là khi có tín hiệu đưa đến đầu vào không đảo thì tín hiệu ra cùng dấu với tín hiệu vào.

Tương tự, đầu vào âm gọi là đầu vào đảo, nghĩa là khi có tín hiệu đưa đến đầu vào đảo

thì tín hiệu ra ngược dấu với tín hiệu vào. Ngoài ra, OPAMP còn có hai đầu nối với

nguồn cung cấp đối xứng ± VCC. Điện áp cung cấp nằm trong khoảng từ 5V đến 18V.

Nguồn cung cấp cho OPAMP có thể là nguồn đơn +VCC.

Đặc điểm của OPAMP là có hệ số khuếch đại vi sai AD rất lớn (thường AD ≈ 105 đến 106) và điện trở vào vi sai rất lớn, điện trở ra nhỏ. Dòng ở các đầu vào rất nhỏ

có thể xem như bằng 0.

Điện áp chênh lệch giữa hai đầu vào gọi là điện áp vi sai uD. Đặc tính của

OPAMP gồm hai vùng: vùng 1 là đặc tính truyền đạt lý tưởng (khi uD = 0 thì ur = 0),

vùng 2 là đặc tính truyền đạt thực tế của OPAMP (khi uD = 0 nhưng ur ≠ 0). Cụ thể hai

vùng như sau:

- Vùng tuyến tính: ứng với uD rất nhỏ và ur = ADuD.

- Vùng bão hòa: ứng với uD khoảng từ vài chục µV trở lên, điện áp ra ur ở vùng

bão hòa là không đổi:

ur = ± Ubh; Ubh = UCC – (2 đến 3) V.

37

2.5.2 Khuếch đại thuật toán làm việc ở chế độ khóa

Trong kỹ thuật xung người ta thường sử dụng OPAMP làm việc ở vùng bão hòa

của đặc tính truyền đạt. Lúc đó, điện áp ra ur chỉ có thể nằm ở hai mức: Mức thấp L =

- Ubh hay mức cao H = + Ubh. Ta nói OPAMP là việc ở chế độ khóa và có vai trò như

một khóa đóng/ngắt cơ khí. Khi ur = - Ubh = L, ta nói khóa mở; khi ur = +Ubh = H, ta

nói khóa đóng [1].

Hình 2.21: Đường đặc tính OPAMP làm việc ở chế độ khóa.

Hình trên là đặc tính truyền đạt lý tưởng khi OPAMP làm việc ở chế độ khóa.

Điện áp vi sai uD là điện áp điều khiển để đóng/mở khóa. Lúc uD đang rất âm, khóa

OPAMP đang ở trạng thái mở với ur = - Ubh = L. Khi uD tăng tới giá trị Uđ (Uđ > 0)

thì khóa hoàn toàn chuyển sang trạng thái đóng với ur = +Ubh = H. Vì vậy Uđ được gọi

là ngưỡng đóng của khóa OPAMP. Cũng biện luận tương tự ta có Um là ngưỡng mở

của OPAMP. Vùng Δu là độ nhạy của khóa. Đây là vùng bắt đầu và kết thúc việc

chuyển trạng thái đóng/mở. Một OPAMP lý tưởng có Δu bằng 0. Muốn giảm Δu ta

phải chọn OPAMP có hệ số khuếch đại vi sai AD càng lớn càng tốt.

2.6 PC 900V

Các máy phát dao động hay xung thường cho ta tín hiệu dưới dạng tương tự

(analog). Tuy nhiên, mạch đo tần số sử dụng vi điều khiển nên yêu cầu tín hiệu đưa

vào phải có dạng số (digital) hay nói đơn giản là có hai mức cao và thấp. Vì vậy, ta sử

dụng IC PC900V để chỉnh tín hiệu có dạng vuông và đưa vào vi điều khiển để thực

hiện chuyển đổi từ tín hiệu tương tự sang tín hiệu số.

Sơ đồ chân của PC900V như hình 2.22 [9].

38

Hình 2.22: Sơ đồ chân của PC900V.

Trong đó 1. Anode 4. V0

5. GND 2. Catode

6. VCC 3. NC

Sơ đồ khối cấu trúc bên trong của PC900V.

Hình 2.23: Sơ đồ cấu trúc bên trong của PC900V.

Trong sơ đồ trên tín hiệu được đưa vào từ hai chân Anode và Catode. Bên trong

có một đèn LED sẽ phát sáng mỗi khi giá trị điện thế tín hiệu lớn hơn một giá trị nhất

định. Ở phía đối diện với LED phát này là một LED thu có tác dụng thu ánh sáng phát

ra từ LED phát. Tín hiệu lúc này được đặt vào hai đầu vào của một OPAMP. OPAMP

được nuôi bằng nguồn thông qua một biến thế nhỏ bên trong IC. OPAMP lúc này hoạt

động ở chế độ khóa: Khi giá trị điện thế vi sai của OPAMP dương đủ lớn thì tín hiệu

ra là mức cao, transistor dẫn; và ngược lại khi điện thế vi sai của OPAMP âm đủ lớn

thì tín hiệu ra là mức thấp transistor ngưng dẫn. Khi đó ở đầu ra sẽ xuất hiện tín hiệu

dạng số, chỉ có hai mức logic là cao và thấp. Các điện trở mắc vào có chức năng hạn

dòng bảo vệ mạch. Tụ điện giá trị 0,1µF dùng để lọc nhiễu cho nguồn.

39

Chú ý: Đèn LED trong IC PC900V sẽ giảm cường độ chiếu sáng theo thời gian

hoạt động dẫn đến tín hiệu có thể sẽ bị sai lệch sau khi qua PC900V. Nếu sử dụng

trong thời gian dài thì khi thiết kế mạch nên chú ý đến điều này (giảm khoảng 50%

cường độ chiếu sáng trong 5 năm).

2.7 Flip – Flop

Flip – Flop là mạch logic có một hay hai đầu điều khiển và hai đầu ra. Tín hiệu

trên hai đầu ra phụ thuộc nhau: Nếu một đầu ra là Q thì đầu ra kia sẽ là phủ định của Q

( Q ). Khi tín hiệu vào thỏa mãn điều kiện điều khiển, thì tín hiệu đầu ra Q sẽ lật tín

hiệu từ mức logic cao H xuống thấp L và ngược lại. Vì vậy, tín hiệu đầu ra của Flip –

Flop khi có điều khiển là một bước nhảy điện áp. Đặc điểm của Flip – Flop là: Nếu

không có tín hiệu điều khiển ở ngõ vào thì mức logic (H hay L) ở ngõ ra được duy trì

ổn định [1].

Tùy theo số đầu vào điều khiển mà Flip – Flop được chia thành bốn loại chính:

S – R, J – K, T, D. Trong phần tiếp này ta sẽ khảo sát kỹ về loại S – R.

Hình 2.24: Sơ đồ chân của Flip – Flop loại S – R.

S – R Flip – Flop là loại có hai đầu vào điều khiển S, R. Đầu S (Set) gọi là đầu

ghi và R (Reset) gọi là đầu xóa. Hai đầu S và R là hai đầu điều khiển của Flip – Flop.

Ta quy ước mức logic cao (H) là 1 và mức logic thấp (L) là 0. Ta có các trường hợp

sau đây:

 Nếu S = 1, R = 0 thì Q = 1 và Q = 0 tức Q ở mức cao.  Nếu S = 0, R = 1 thì Q = 0 và Q = 1 tức Q ở mức thấp.

 Nếu S = 0, R = 0 thì Q = Qt (với Qt là giá trị logic ở đầu ra Q tại thời điểm t)

tức Q không thay đổi trạng thái đã có của nó. Vậy, khi không còn tín hiệu điều

khiển ghi hay xóa ở ngõ vào thì Flip – Flop vẫn giữ nguyên trạng thái đã có của

nó.

40

 Nếu S = 1, R = 1 thì tín hiệu ngõ ra Q có thể là 0 hay 1, ta nói trạng thái Flip –

Flop là không xác định. Vậy, không bao giờ đặt logic 1 vào cùng S và R.

2.8 IC 555

2.8.1 Sơ đồ và chức năng các chân của IC 555

Hình 2.25: Sơ đồ chân của IC 555

− Chân 1 (GND): Dùng để nối masse.

− Chân 2 (Trigger): là đầu vào kích khởi, dùng để đặt xung kích thích bên ngoài

khi mạch làm việc ở chế độ đa hài đơn ổn.

− Chân 3 (Output): là đầu ra tín hiệu của IC.

− Chân 4 (Reset): là chân xóa, nó có thể xóa điện áp đầu ra khi điện áp đặt vào

chân này từ 0,7V trở xuống. Vì vậy, để có thể phát ra xung ở chân số 3 thì chân

số 4 phải đặt ở mức logic cao H.

− Chân 5 (Control voltage): là chân điện áp điều khiển. Ta có thể đưa một điện áp

ngoài vào chân này để làm thay đổi việc định thời của mạch, nghĩa là làm thay

đổi tần số xung phát ra. Khi không được sử dụng thì chân số 5 được nối masse

thông qua một tụ có giá trị 0,01 µF.

− Chân 6 (Threshold): là chân điện áp ngưỡng.

− Chân 7 (Discharge): là chân phóng điện.

− Chân 8 (VCC): nối với nguồn VCC từ 5 đến 18 V [10].

41

2.8.2 Sơ đồ khối và nguyên tắc hoạt động của IC555

Hình 2.26: Sơ đồ khối IC 555.

Trong sơ đồ trên ta thấy bên trong IC 555 cấu tạo ba điện trở 5KΩ, hai tầng so

áp là COMP1 (comparator 1) và COMP2 (comparator 2) thực chất là hai OPAMP hoạt

động ở chế độ khóa, một transistor và một Flip – Flop.

Giữa VCC và GND có một cầu chia thế gồm ba điện trở đều có giá trị 5KΩ (vì

vậy IC mới được đặt tên là 555). Cầu chia thế này có nhiệm vụ tạo ra hai điện áp

ngưỡng cho hai tầng so áp COMP1 và COMP2. Cụ thể tạo điện áp ngưỡng bằng 2/3

VCC cho tầng COMP1, với điện áp so sánh được đưa vào từ chân số 2; tạo điện áp

ngưỡng bằng 1/3 VCC cho tầng COMP2, với điện áp so sánh được đưa vào từ chân số

6. Trạng thái logic của hai bộ so áp sẽ quyết định trạng thái của Flip – Flop, từ đó

quyết định trạng thái tín hiệu đầu ra.

42

2.9 Sơ đồ mạch tạo xung vuông dùng 555 và nguyên tắc hoạt động

Hình 2.27: Sơ đồ mạch tạo xung sử dụng IC 555.

 Khi mới đóng mạch, điện áp trên tụ C1 tăng dần từ 0 V. Giá trị điện áp trên tụ

lúc này được đưa vào ngõ 2 và 6 của IC:

− Ở ngõ 2: Do điện áp nhỏ hơn 1/3VCC và đặt vào chân âm của OPAMP

(COMP1) nên điện áp vi sai dương vì vậy ngõ ra của OPAMP sẽ chuyển sang

trạng thái đóng tức trạng thái logic là 1. Trạng thái này đặt vào chân S (Set) của

Flip – Flop.

− Ở ngõ 6: Do điện áp nhỏ hơn 2/3 VCC và đặt vào chân dương của OPAMP

(COMP2) nên điện áp vi sai âm vì vậy ngõ ra của OPAMP sẽ chuyển sang

trạng thái đóng tức trạng thái logic là 0. Trạng thái này đặt vào chân R (Reset)

của Flip – Flop.

− Lúc này, ngõ R và S của Flip – Flop lần lượt có trạng thái là 0 và 1 nên trạng

thái của Q = 1 và Q = 0 nên transistor ngưng dẫn và ngõ ra 3 cho ta mức logic

1 hay mức cao. Tụ điện nạp điện qua R1 và R2.

 Khi điện thế của tụ nằm trong khoảng từ 1/3 VCC đến 2/3VCC thì trạng thái

ngõ ra của COMP1 và COMP2 là 0. Lúc này, ngõ vào của Flip – Flop là S = 0

và R = 0 nên Q sẽ giữ nguyên trạng thái trước đó là mức logic 1 nên ngõ ra 3

vẫn duy trì mức cao.

43

 Khi tụ nạp đến giá trị điện thế lớn hơn 2/3VCC thì trạng thái ngõ ra của

COMP1 là 0 và COMP2 là 1. Lúc này, ngõ vào của Flip – Flop là S = 0 và R =

1 nên Q = 0 và Q = 1 nên transistor dẫn và tụ C1 xả điện qua điện trở R2, rồi

qua transistor xuống masse. Khi đó, ở ngõ ra có mức logic 0 hay mức thấp.

 Khi tụ xả đến giá trị nhỏ hơn 1/3 VCC thì bắt đầu nạp lại và tiếp tục thực hiện

các quá trình như trên.

 Kết quả: Ở ngõ ra 3 của IC ta thu được một dãy xung vuông với tần số phụ

thuộc vào giá trị điện trở R1, R2 và tụ C1.

2.10 Nguyên tắc hoạt động mạch đo tần số

Hình 2.28: Sơ đồ máy đo âm tần

Máy đo tần số hoạt động theo phương pháp đo số xung của tín hiệu trong thời

gian lấy mẫu là 1 giây. Với phương pháp này số xung tín hiệu đếm được trong 1 giây

chính là tần số của tín hiệu. Phương pháp này sử dụng một bộ Timer và một ngắt

ngoài. Cụ thể là Timer1 và ngắt ngoài trên chân RB0 của vi điều khiển PIC16F887.

Trong đó, Timer có nhiệm vụ tạo thời gian mẫu 1 giây, ngắt ngoài dùng để đếm số

xung của tín hiệu.

Trong mạch hình 2.28, nguồn 12VDC được cho qua diode cầu nhằm tránh hiện

tượng mắc ngược cực nguồn gây hỏng mạch. Hai IC 7809 và 7805 có nhiệm vụ hạ

điện thế lần lượt xuống 9VDC và 5VDC. Các tụ được mắc vào có tác dụng lọc cho

nguồn ổn định. Nguồn 5VDC dùng để nuôi vi điều khiển, PC900V và LCD hoạt động.

44

Thạch anh được sử dụng là loại 20MHz, có tác dụng tạo xung clock cho vi điều khiển

hoạt động. Tín hiệu bên ngoài (có dạng sin, vuông, tam giác) cần đo tần số được đưa

vào PC900V để chuyển đổi sang tín hiệu số. Tín hiệu sau khi được chuyển đổi đưa vào

vi điều khiển đã được lập trình để đo tần số của xung. Kết quả đo được hiển thị trên

màn hình LCD. Biến trở dùng để điều chỉnh độ tương phản của LCD. Nút nhấn có tác

dụng reset mạch khi có nhiễu tác động vào. Ngoài ra, ta còn tạo hai đầu nối có hiệu

điện thế 5V để cung cấp nguồn nuôi cho mạch dao động tạo xung dùng IC 555. Ta có

thể tóm tắt qua sơ đồ khối hình 2.29.

Hình 2.29: Sơ đồ khối mạch đo tần số.

Giải thuật đo tần số của vi điều khiển: Đầu tiên ta viết các chương trình con

phục vụ ngắt tràn Timer1 và ngắt ngoài trên chân RB0. Ở chương trình chính ta cho

ngắt tràn Timer1 hoạt động. Trong trình ngắt ngoài trên RB0, khi có sự thay đổi mức

tín hiệu từ cao xuống thấp (hay từ thấp lên cao) trên chân RB0 sẽ làm tăng giá trị của

biến đếm so_xung. Trong trình ngắt tràn Timer1 ta lập trình để tạo ra khoảng thời gian

lấy mẫu là 1 giây. Khi hết 1 giây thì ngắt Timer1, gán giá trị tần số bằng giá trị của

biến đếm so_xung và đặt lại Timer1 về 0 để tiếp tục quá trình đếm. Sau đó, ta lưu lại

giá trị của biến đếm và hiển thị lên màn hình LCD.

Tôi vừa trình bày một số linh kiện và nguyên tắc hoạt động của mạch đo tần số

lẫn mạch tạo xung dùng IC 555. Để hiện thực hóa những tính toán hiểu biết đòi hỏi

phải thực hiện những kiến thức đó ngoài thực tế. Do đó, tôi đã thực hiện mô phỏng

mạch, thiết kế sơ đồ nguyên lý, mạch in và thi công mạch. Tất cả các công đoạn này

được trình bày ở chương 3.

45

CHƯƠNG 3: MÔ PHỎNG – THIẾT KẾ SƠ ĐỒ

NGUYÊN LÝ VÀ MẠCH IN

Ở chương này tôi đã sử dụng phần mềm Protues để mô phỏng hoạt động của

mạch thực tế; phần mềm chuyên dụng Orcad để thiết kế sơ đồ nguyên lý và mạch in

cho hai mạch mà tôi đang nghiên cứu. Phiên bản Orcad được trình bày sau đây là 10.5

khá cũ so với những phiên bản mới như 16. hay 16.5 hiện nay. Tuy nhiên, lý do được

đưa ra ở đây là phiên bản 10.5 này cài đặt đơn giản, hoạt động khá ổn định, hỗ trợ thư

viện đầy đủ cho dự án của tôi.

3.1 Mô phỏng bằng Proteus

Proteus là phần mềm cho phép mô phỏng hoạt động của mạch điện tử bao gồm

phần thiết kế mạch và viết chương trình điều khiển cho các họ vi điều khiển như MCS-

51, PIC, AVR,… Proteus là phần mềm mô phỏng mạch điện tử của Lancenter

Electronics, mô phỏng cho hầu hết các linh kiện điện tử thông dụng, đặc biệt hỗ trợ

cho cả các MCU như PIC, 8051, AVR, Motorola. Phần mềm bao gồm 2 chương trình:

ISIS cho phép mô phỏng mạch và ARES dùng để vẽ mạch in.

Để khởi động chương trình vào: Start > All programs > Proteus 7 Professional

> ISIS 7 Professional. Giao diện màn hình chính của ISIS như hình 3.1

Hình 3.1: Giao diện chính của ISIS.

46

Muốn lấy linh kiện ta nhấp vào nút tắt Pick from Libraries trên

màn hình.

Khung Pick devices hiện ra, ở ô Keywords ta gõ tên linh kiện muốn sử dụng thì

ô Category hiện ra một số gợi ý. Ví dụ muốn chọn điện trở gõ Resistor. Nhấp vào

Resistors trong ô Category, tiếp theo lựa chọn loại điện trở muốn sử dụng. Ô Results

(kết quả) hiện ra các kết quả tìm kiếm với thông số chi tiết. Chọn linh kiện phù hợp

với yêu cầu và nhấp OK.

Hình 3.2: Khung Pick Devices.

Lúc này khung Devices hiện ra linh kiện điện trở vừa chọn. Tiếp tục chọn linh

kiện như vừa nêu cho đến khi đầy đủ. Tiếp theo, tôi thực hiện sắp xếp linh kiện theo

như mong muốn. Ưu điểm của phần mềm proteus là không cần phải thiết kế mạch

hoàn chỉnh, ví như không cần nguồn hay nối đất mà linh kiện vẫn hoạt động được.

Muốn đặt linh kiện, nhấp vào tên linh kiện ở khung Devices, sau

đó di chuyển con trỏ đến nơi cần đặt và nhấp trái chuột để đặt. Để chọn

xung cần phát, nhấp vào nút Generator Mode trên thanh công cụ. Ở khung Generators

chọn Pulse và thực hiện như sắp xếp linh kiện để đặt nguồn phát xung ở nơi thích hợp.

Nếu kích thước vùng làm việc không phù hợp (quá lớn hay quá nhỏ) có thể phóng to

bằng cách đưa con trỏ chuột vào vùng cần điều chỉnh rồi nhấn phím tắt F6 hay thu nhỏ

bởi F7. Ví dụ sau khi sắp xếp linh kiện cho mạch đo tần số tôi được như hình 3.3.

47

Hình 3.3:Linh kiện sau khi sắp xếp xong.

Để đi dây, di chuyển con trỏ đến chân linh kiện rồi nhấp sau đó di chuyển con

trỏ đến chân linh kiện cần nối và nhấp để kết thúc. Kết quả như hình 3.4.

Hình 3.4: Nối dây cho linh kiện.

Khi nối dây xong, nhấp vào nút Play ở phía dưới giao diện màn hình để chạy

mô phỏng. Nếu như mạch thiết kế sai thì mô phỏng không hoạt động hoặc sẽ mô

phỏng sai; cần coi lại nguyên tắc hoạt động, linh kiện, nối dây và chỉnh sửa lại cho đến

khi hoàn chỉnh. Kết quả mô phỏng mạch đo tần số.

48

Hình 3.5: Mô phỏng mạch đo tần số đang hoạt động.

Thực hiện mô phỏng cho mạch tạo xung dùng IC 555 được thực hiện tương tự,

tôi được như hình 3.6.

Hình 3.6: Mô phỏng mạch tạo xung dùng IC 555.

3.2 Mạch tạo xung dùng 555

3.2.1 Thiết kế sơ đồ nguyên lý

Khởi động chương trình: nhấp chọn Start > All programs > Orcad 10.5 > Orcad

CIS.

49

Màn hình làm việc của chương trình Orcad Capture xuất hiện như hình 3.1.

Hình 3.7: Giao diện Orcad Capture CIS.

Tạo trang thiết kế mới

Muốn thiết kế một sơ đồ phải tạo một trang dự án mới, trên thanh trình đơn

nhấp File > New > Project.

Hình 3.8: Tạo trang thiết kế mới.

Hộp thoại New Project xuất hiện, khung Name nhập tên sơ đồ thiết kế “Mach

555”. Chọn Schematic trong khung Create a New Project Using. Trong khung

Location, chọn đường dẫn đến thư mục lưu sơ đồ, nhấp nút Browse.

50

Hình 3.9: Hộp thoại New Project.

Cửa sổ Select Directory xuất hiện, trong khung Drives nhấp chọn chọn ổ đĩa

lưu bài thiết kế. Ở đây ví dụ tôi chọn ổ đĩa và thư mục như hình 3.10.

Hình 3.10: Cửa sổ Select Directory.

Nhấp đúp vào thư mục cần chọn và nhấn OK.

51

Hình 3.11: Chọn thư mục lưu.

Cửa sổ New Project xuất hiện lại nhấn OK.

Hình 3.12: Hộp thoại New Project sau khi chọn xong thư mục lưu.

Màn hình thiết kế xuất hiện như hình 3.13.

52

Hình 3.13: Màn hình chính Capture CIS.

Định dạng trang thiết kế: Chọn đơn vị đo và kích thước trang thiết kế

Trên thanh menu, nhấp chọn Options > Design Template…

Hộp thoại Design Templates xuất hiện, chọn tab Page Size. Chọn các yếu tố

trong khung như hình rồi nhấn OK.

Hình 3.14: Hộp thoại Design Templates.

Lấy các linh kiện cho sơ đồ

− Mở thư viện linh kiện

Trên thanh menu, nhấp chọn Place > Part… hay nhấp biểu tượng

Place part từ thanh công cụ bên mép phải màn hình thiết kế.

53

Hộp thoại Place Part xuất hiện, nhấp nút Add Library để mở các thư viện. Hộp

thoại Browse File xuất hiện, chọn tất cả các thư viện rồi nhấn Open.

Hình 3.15: Hộp thoại Browse File.

− Lấy linh kiện cho sơ đồ

Trong hộp thoại Place Part, khung Libraries chọn tất cả các thư viện. Ở ô Place

Part gõ vào từ khóa linh kiện muốn lấy. Ví dụ như điện trở thì gõ R, tụ điện gõ Cap,…

Sau đó chọn linh kiện phù hợp và nhấn OK.

Hình 3.16: Hộp thoại Place Part.

54

Sau khi chọn xong linh kiện, di chuyển chuột vào vùng thiết kế, nhấp đặt linh

kiện ở các vị trí thích hợp như hình 3.17. (Chú ý: nếu linh kiện không ở vị trí thuận lợi

cho việc sắp xếp có thể xoay linh kiện bằng cách nhấn phím tắt R.)

Hình 3.17: Vị trí các linh kiện sau khi sắp xếp xong.

Để thuận tiện cho việc vẽ mạch in sau này, tôi thực hiện gán chân cho linh kiện.

Vào Start > All programs > Orcad 10.5 > Layout Plus.

Màn hình làm việc của chương trình Orcad Layout Plus xuất hiện như hình

3.18.

Hình 3.18: Giao diện Orcad Layout PLus

Trên thanh menu chọn Tools > Library Manager, màn hình Library hiện lên

như hình 3.19.

55

Hình 3.19: Giao diện Library Mananger.

Ở khung Libraries chọn Add… hiện ra khung Add Library. Chọn tất cả thư viện

Layout có đuôi .llb và nhấn Open để thêm. Lúc này thư viện đã được thêm vào

Libraries. Nhấp chọn thư viện thích hợp, ở khung Footprints, gõ từ khóa của linh kiện

để tìm chân linh kiện phù hợp. Ví dụ như hình 3.20.

Hình 3.20: Khung Libraries sau khi thêm thư viện layout.

Nhấp vào tên linh kiện có chân phù hợp, sau đó copy tên Footprint từ ô

Footprints. Ví dụ tôi chọn chân điện trở như hình 3.21.

56

Hình 3.21: Chọn Footprint cho điện trở.

Tiếp theo, tôi quay lại màn hình của Orcad Capture CIS. Chọn linh kiện mà tôi

cần gắn chân, nhấp đúp thì hiện ra màn hình Property Editor. Ở khung PCB Footprint

tôi dán tên chân linh kiện vừa copy vào. Nhấn Close để thoát màn hình.

Hình 3.22: Dán Footprint cho linh kiện.

Tiếp tục thực hiện các bước trên cho đến khi toàn bộ linh kiện đã được dán đầy

đủ chân linh kiện. Việc làm này nhằm tránh thực hiện việc khai báo chân khi tạo file

.max sau này.

Tiếp theo, tôi sẽ đi dây cho sơ đồ. Ở cột bên phải của Orcad

Capture ta chọn nút Place Wire.

Lúc này, con trỏ chuột biến thành hình dấu (+), di chuyển chuột đến chân linh

kiện cần nối nhấp kéo đến chân linh kiện thứ hai, nhấp chuột để kết thúc. Khi dây nối

được bắt dính, tại các chân linh kiện xuất hiện các chấm tròn nhỏ màu đỏ. Trong quá

trình nối dây nếu muốn thoát lệnh này thì nhấn phím Esc.

57

Hình 3.23: Đi dây cho linh kiện.

Thực hiện tương tự, ta được sơ đồ nguyên lý như hình 3.24.

Hình 3.24: Sơ đồ nguyên lý mạch tạo xung dùng IC 555.

Sau khi vẽ sơ đồ nguyên lý xong, nhấp biểu tượng Save

document lưu sơ đồ đã vẽ.

Nhấp nút Project Manager để tiện việc kiểm tra sơ đồ và tạo ta

file có đuôi .MNL trong thiết kế mạch in.

Lúc này bên trái giao diện xuất hiện cây thư mục chỉ đường dẫn

đến sơ đồ, chọn PAGE1 sau đó nhấp biểu tượng Design rules check.

58

Hình 3.25: Giao diện Project Manager.

Hộp thoại Design Rules Check xuất hiện, thiết lập các thông số như hình 3.36

và nhấn OK.

Hình 3.26: Hộp thoại Design Rules Check.

Tiếp theo, nhấp biểu tượng Create Netlist trên thanh công cụ:

59

Hộp thoại Create Netlist xuất hiện, chọn tab Layout, thiết lập các thông số như

hình 3.27 rồi nhấp OK.

Hình 3.27: Hộp thoại Create Netlist.

Bảng thông báo Orcad Capture xuất hiện thông báo đường dẫn lưu file thiết kế,

nhấp OK để tiếp tục.

Hình 3.28: Thông báo đường dẫn lưu file thiết kế.

Lúc này trong thư mục Outputs của cây thư mục xuất hiện hai file thiết kế có

định dạng là .drc và .mnl như hình 3.29.

60

Hình 3.29: Vị trí hai file .drc và .mnl.

Nhấp đúp vào PAGE1 ta sẽ quay lại màn hình thiết kế. Nhấn Save Document

để lưu, Quá trình thiết kế sơ đồ nguyên lý kết thúc. Tiếp theo tôi thực hiện vẽ mạch in.

3.2.2 Thiết kế mạch in

Khởi động chương trình Layout như đã thực hiện ở phần dán chân linh kiện.

Để tạo một trang thiết kế mạch in mới ta vào File > New trên thanh menu. Hộp

thoại AutoECO xuất hiện.

Hình 3.30: Hộp thoại AutoECO.

Ở khung Input Layout TCH or TPL or MAX file nhấp Browse. Lúc này hiện

lên hộp thoại Input Layout MAX file, nhấp chọn file _default.tch và nhấn Open.

61

Hình 3.31: Hộp thoại Input Layout MAX File.

Khung Input Layout TCH or TPL or MAX file xuất hiện file đã chọn. Tiếp tục

nhấp nút Browse ở khung Input MNL netlist file. Hộp thoại Input Layout Max File

xuất hiện. Chọn nơi lưu file .MNL đã tạo ở mục trước và nhấp Open.

Hình 3.32: Chọn file .MNL đã tạo ở sơ đồ nguyên lý.

Khung Output Layout MAX file xuất hiện file xuất ra theo tên của sơ đồ đã lưu,

có định dạng .max và nhấn Apply ECO.

62

Hình 3.33: Hộp thoại AutoECO hoàn chỉnh.

Bảng AutoECO xuất hiện cho biết thông số các linh kiện đã lựa chọn. Nhấp

chọn Accept this ECO để tiếp tục.

Hình 3.34: Thông báo thông số các linh kiện đã chọn.

63

Hộp thoại AutoECO xuất hiện thông báo cho biết chương trình đã hoàn thành

việc xử lý, nhấp OK để tiếp tục.

Hình 3.35: Thông báo đã hoàn thành việc xử lý.

Màn hình thiết kế Design của chương trình hiển thị, nhấp chọn nút Zoom All từ

thanh công cụ để xem toàn bộ mạch in rõ hơn. Tiếp theo, cần nhấn nút Online DRC

trên thanh menu để chuyển nó sang trạng thái tắt có màu đen để tránh gây ra các lỗi về

sau.

Hình 3.36: Giao diện Orcad Layout sau khi tạo file .max.

Để việc đi dây được thuận tiện, tôi thực hiện sắp xếp lại linh kiện. Muốn sắp

xếp, nhấp nút Component Tool trên thanh công cụ. Sau đó chỉ việc nhấp vào linh kiện

cần di chuyển và thả ở nơi thích hợp. Trong quá trình sắp xếp có thể xoay linh kiện

bằng phím tắt R. Sau khi di chuyển xong một linh kiện nên nhấn phím tắt M để tối ưu

hóa đường dây nối. Sau khi sắp xếp xong tôi được mạch hình 3.37.

64

Hình 3.37: Sau khi sắp xếp xong linh kiện.

Chọn lớp để vẽ mạch in

Muốn chọn lớp để vẽ mạch in nhấp chọn nút View

Spreasheet trên thanh công cụ rồi chọn Layers khi đó khung

Layers xuất hiện như sau.

Hình 3.38: Khung Layers.

Trong đó TOP là mặt trên, BOTTOM là mặt dưới, các lớp INNER1 đến 12 là

các lớp giữa hai lớp trên. Chú ý rằng chỉ điều chỉnh chọn lớp ở các lớp này, các mục

65

khác không được điều chỉnh nếu như không có yêu cầu đặc biệt nào. Nếu muốn hay

không muốn sử dụng lớp nào trong thiết kế mạch in thì nhấp chọn khung tương ứng ở

cột Layer Type, nhấp phải chuột chọn Properties. Khung Edit Layer xuất hiện như

hình 3.39.

Hình 3.39: Khung Edit Layer.

Nếu chọn đi dây trên lớp này thì đánh dấu vào dòng Routing Layer trong bảng

Layer Type. Ngược lại, nếu không muốn sử dụng lớp này thì ta chọn Unused Routing.

Chọn xong nhấn OK để kết thúc việc chọn lớp vẽ mạch in. Ở mạch 555 tôi chỉ sử dụng

mặt dưới để vẽ, các mặt còn lại không sử dụng.

Hình 3.40: Khung Layer sau khi chọn xong lớp vẽ mạch in.

66

Nhấp Close để tắt màn hình chọn lớp. Tiếp theo tôi chọn kích cỡ dây cho mạch

in. Nhấp chọn nút View Spreadsheet > Nets. Hộp thoại Nets xuất hiện. Muốn thay đổi

kích thước dây nào thì chọn ô tương ứng với dây đó ở cột Width Min Con Max và

nhấp phải chọn Properties từ trình đơn xổ xuống.

Hình 3.41: Hộp thoại Nets.

Hộp thoại Edit Net xuất hiện, nhập vào ba ô Min Width, Conn Width, Max

Width kích thước dây phù hợp. Nên chọn kích thước của dây nguồn và nối đất là 50

mils cho cả ba ô. Các dây còn lại thì 20 đến 30 mils là phù hợp. Sau đó nhấp OK.

Hình 3.42: Hộp thoại Edit Net.

Các thông số được thay thế ở khung Width Min Con Max, nhấp Close đóng hộp

thoại.

67

Hình 3.43: Hộp thoại Net sau khi điều chỉnh các thông số.

Để chạy dây tự động cho mạch cần vẽ Board Outline cho mạch. Chọn Obstacle

Tool. Sau đó, di chuyển con trỏ vào vùng thiết kế. Nhấp chuột phải chọn New. Nhấp

chuột phải lần nữa chọn Properties. Bảng Edit Obstacle hiện ra. Chọn các thông số như

hình và nhấp OK.

Hình 3.44: Hộp thoại Edit Obstacle.

Di chuyển con trỏ tới nơi thích hợp và nhấp, giữ và kéo chuột sao cho đường

bao màu vàng phải chạy xung quanh mạch và kín. Tiếp theo tôi chạy dây tự động cho

mạch như sau. Vào Auto > Autoroute > Board. Khi chạy dây xong sẽ hiện thông báo

như hình 3.45. Nhấp OK để tiếp tục.

68

Hình 3.45:Thông báo đã chạy dây xong.

Khi đó mạch in tôi vẽ được như hình 3.46.

Hình 3.46:Mạch in mạch tạo xung dùng IC 555 hoàn chỉnh.

Đến đây thì việc thiết kế mạch in đã kết thúc. Tôi lưu file lại và mang đi thi

công.

3.3 Mạch đo tần số

Sơ đồ nguyên lý và mạch in được thực hiện tương tự qua các bước trên, tôi

được sơ đồ nguyên lý và mạch in như hình 3.47 và 3.48.

69

Hình 3.47: Sơ đồ nguyên lý mạch đo tần số.

Hình 3.48: Mạch in của mạch đo tần số.

70

3.4 Thi công mạch in bằng phương pháp ủi thủ công.

3.4.1 In mạch

Công việc đầu tiên của quá trình thi công là in mạch. Ở khâu này chỉ đơn giản

lấy file .max đã được tạo ở phần thiết kế mạch in bằng Orcad đến chỗ in. Tuy nhiên,

không phải mọi chỗ in sao tài liệu đều đáp ứng yêu cầu này. Có thể khắc phục bằng

cách xuất file .pdf từ file .max, nhưng lại dẫn đến việc in mạch không đúng kích thước

với thiết kế dẫn đến việc thi công thất bại. Hiện tại, có hai địa điểm đáp ứng khá tốt

yêu cầu là: tiệm in Lam Sơn trên đường Đồng Nai và tiệm in ở Lữ Gia, thành phố Hồ

Chí Minh. Nên in nhiều bản để khi thực hiện ủi mạch có sai sót gì thì có bản thay thế.

3.4.2 Cắt board

3.4.2.1 Cắt phần Layout từ giấy in

Cắt phần Layout theo đường nét bao bên ngoài, tức đường Board Outline mà đã

vẽ khi thiết kế mạch in.

3.4.2.2 Chuẩn bị board đồng

Thường chọn loại L, cỡ 20x30 cm. Dùng thước đo trước khoảng mạch cần ủi

trên board đồng, và dùng thước kẻ khung bản mạch cần ủi. Sau đó, cắt theo đường đã

vẽ. Chú ý: sau khi cắt mạch trên đến độ sâu từ ½ đến 1/3 độ dày board thì lật mặt sau

cắt theo đường đó, tránh trường hợp chỉ cắt một mặt, khi bẻ, mặt sau sẽ không đẹp.

Sau khi cắt xong, dùng tay bẻ nhẹ được mảnh board cần ủi.

3.4.3 Ủi mạch

Dùng giấy nhám chà board nhằm đánh hết phần đồng oxi hóa để mực dễ dính

lên. Yêu cầu cần đạt là sau khi đánh board phải sạch và sáng. Dùng tay thoa nhựa

thông lỏng lên bề mặt board một lớp mỏng giúp việc truyền nhiệt tốt hơn. Sau đó dùng

khăn giấy lau sạch bề mặt board. Gấp các nếp giữa giấy và board sao cho mạch sau khi

ủi nằm đúng vị trí, sau đó dùng băng dán cố định lại. Dùng bàn ủi (chỉnh độ nóng cực

đại) kéo từ từ: từ mép này sang mép kia, mức độ đè vừa phải. Ủi cho đến khi các

đường nét mạch hằn lên thì dừng lại, với board cỡ 6x8 cm thì khoảng 5 phút là được.

71

Chú ý:

− Cần chú ý dùng mũi bàn ủi và các phần gần cạnh bàn ủi ủi kỹ phần trung tâm

mạch và các mép ngoài.

− Phần quét nhựa thông có thể bỏ qua. Mục đích của việc quét nhựa thông nhằm

tiết kiệm thời gian ủi và ủi dễ dàng hơn.

− Tránh đè mạnh quá mức bàn ủi có thể làm giấy trượt trên board gây hỏng board,

hay dùng mũi bàn ủi chà mạnh sẽ gây rách giấy.

3.4.4 Ngâm

Board sau khi ủi xong đem ngâm vào nước sạch, chờ khoảng 2 phút cho giấy

mềm và rã ra. Lấy board ra rồi lột giấy từ từ, chậm và nhẹ nhàng. Sau đó dùng giấy

thấm cho mạch khô rồi và dùng bút lông kẻ lại vết mực đã mất.

Tiếp theo, ngâm mạch vào nước đã pha bột sắt, nhớ úp mặt board đồng xuống

dưới rồi lắc nhẹ. Nếu lắc liên tục thì khoảng 10 phút ta được mạch, còn 3 phút lắc một

lần thì thời gian lâu hơn. Dùng giấy nhám chà mực ra, việc chà mực sẽ nhanh hơn nếu

dùng axeton.

3.4.5 Khoan

Để khoan cho dễ nên kê mạch lên cao. Đưa mũi khoan lại gần lỗ cần khoan rồi

bấm nút để khoan. Cần chú ý tránh run tay, khoan dứt khoát vì nếu khoan sai sẽ phá

hỏng pad đồng.

3.4.6 Hàn linh kiện

Đây là công đoạn cuối trong quá trình thi công mạch in. Cách hàn như sau: để

phần mũi hàn tiếp xúc với cả pad đồng và chân linh kiện, chờ 1 lúc cho pad nóng lên,

rồi vừa đưa chì hàn vừa xoay mũi hàn và gạt dứt khoát mũi hàn ra là được.

Tôi vừa trình bày các bước để thiết kế và thi công một mạch điện tử bất kỳ. Vậy

thì kết quả có đúng như mong đợi hay không, tôi sẽ làm rõ qua chương tiếp theo.

72

CHƯƠNG 4: KẾT QUẢ

Chương này trình bày các kết quả thu được từ thực nghiệm của mạch tạo xung

dùng IC 555 và máy đo âm tần hiển thị số.

4.1 Mạch đo tần số

4.1.1 Thực hành trên Testboard

Hình 4.1: Kết quả thực hành trên Testboard.

4.1.2 Mạch sau khi gia công và hàn linh kiện

Hình 4.2: Mạch đo tần số sau khi thi công, hàn linh kiện.

73

4.1.3 Máy đo tần số hoàn chỉnh

Hình 4.3: Máy đo tần số hoàn chỉnh.

4.2 Mạch tạo xung dùng IC 555

4.2.1 Thực hành trên Testboard và quan sát tín hiệu qua dao động ký điện

tử

Hình 4.4: Thực hành trên Testboard.

74

Hình 4.5: Quan sát tín hiệu do mạch tạo xung tạo ra qua dao động ký.

4.2.2 Mạch tạo xung hoàn chỉnh

Hình 4.6: Mạch tạo xung sau khi thi công, hàn linh kiện.

4.3 Đo tần số từ mạch phát xung 555 sử dụng máy đo tần số

4.3.1 Thực hành trên Testboard

Hình 4.7: Thực hành trên Testboard.

75

4.3.2 Kết quả thực nghiệm

Hình 4.8: Kết quả thực nghiệm.

4.4 Đo tần số từ máy phát xung chuẩn

Hình 4.9: Đo tần số từ máy phát xung chuẩn.

Máy đo tần số âm tần hiển thị số đo được tần số từ 0 Hz đến 20KHz.

Sau đây là bảng các giá trị tần số máy phát xung chuẩn phát ra, tần số máy đo

âm tần đo được và sai số tỉ đối tương ứng.

76

Bảng 4.1: Tần số từ 0 đến 5.000 Hz.

Tần số máy phát xung chuẩn (Hz) Tần số máy đo đo được (Hz)

2500 2510 2520 2530 2540 2550 2560 2570 2580 2590 2600 2610 2620 2630 2640 2650 2660 2670 2680 2690 2492 2501 2511 2521 2531 2541 2551 2561 2571 2581 2591 2601 2611 2622 2631 2641 2651 2661 2671 2681 Sai số (%) 0,32 0,36 0,36 0,36 0,35 0,35 0,35 0,35 0,35 0,35 0,35 0,34 0,34 0,30 0,34 0,34 0,34 0,34 0,34 0,34

Bảng 4.2: Tần số từ 5.000 đến 10.000 Hz.

Tần số máy phát xung chuẩn (Hz) Tần số máy đo đo được (Hz)

7500 7510 7520 7530 7540 7550 7560 7570 7580 7590 7600 7610 7620 7630 7640 7650 7660 7670 7475 7486 7494 7505 7514 7524 7534 7544 7554 7564 7574 7584 7594 7604 7614 7624 7634 7644 Sai số (%) 0,33 0,32 0,35 0,33 0,34 0,34 0,34 0,34 0,34 0,34 0,34 0,34 0,34 0,34 0,34 0,34 0,34 0,34

77

7654 7664 0,34 0,34 7680 7690

Bảng 4.3: Tần số từ 10.000 đến 15.000 Hz.

Tần số máy phát xung chuẩn (Hz) Tần số máy đo đo được (Hz)

12500 12510 12520 12530 12540 12550 12560 12570 12580 12590 12600 12610 12620 12630 12640 12650 12660 12670 12680 12690 12459 12468 12478 12489 12502 12508 12518 12527 12540 12547 12559 12568 12578 12587 12597 12607 12617 12628 12637 12648 Sai số (%) 0,33 0,34 0,34 0,33 0,30 0,33 0,33 0,34 0,32 0,34 0,33 0,33 0,33 0,34 0,34 0,34 0,34 0,33 0,34 0,33

Bảng 4.4: Tần số từ 15.000 đến 20.000 Hz.

Tần số máy phát xung chuẩn (Hz) Tần số máy đo đo được (Hz)

17500 17510 17520 17530 17540 17550 17560 17570 17580 17590 17600 17610 17620 17630 17442 17451 17461 17472 17480 17492 17501 17517 17521 17531 17541 17556 17561 17572 Sai số (%) 0,33 0,34 0,34 0,33 0,34 0,33 0,34 0,30 0,34 0,34 0,34 0,31 0,33 0,33

78

17640 17650 17660 17670 17680 17690 17581 17594 17601 17613 17621 17632 0,33 0,32 0,33 0,32 0,33 0,33

Hình 4.10: Đồ thị so sánh tần số đo được của máy đo âm tần và máy phát xung chuẩn.

4.5 Kết luận và hướng phát triển

4.5.1 Kết luận

Bằng những kiến thức về điện – điện tử, tôi đã lắp ráp thành công máy đo âm

tần hiển thị số. Máy đo có kích thước nhỏ gọn, lắp đặt, di chuyển đơn giản, dễ dàng.

Sai số của máy đo so với máy phát xung chuẩn nhỏ nên khá tin cậy trong việc đo tần

số âm tần của các xung hình sin, vuông, tam giác.

4.5.2 Hướng phát triển

Với những đặc điểm trên thì máy đo âm tần chỉ mới dừng lại ở mức tần số thấp

và chưa hiển thị được phần thập phân của tần số. Đề tài còn có thể mở rộng ra cho việc

đo tần số cao tần, với mức độ hiển thị chính xác có thể tới phần thập phân. Ngoài ra,

máy đo âm tần có thể kết hợp với một mạch tạo xung bất kỳ để tạo thành máy phát

xung hiển thị số.

79

PHỤ LỤC

#include #include #include #INT_EXT void dem_xung() // Trinh phuc vu ngat ngoai { so_xung+=1; } #INT_TIMER1 void tao_tre_1s() // Trinh phuc vu ngat tran TIMER1 { setup_timer_1(T1_DISABLED); count_t1++; if(count_t1==38) // Tao khoang thoi gian 1s { tan_so = so_xung; so_xung = 0; count_t1 = 0; enable_display = 1; } set_timer1(0); setup_timer_1(T1_INTERNAL|T1_DIV_BY_2); } void main() { DDRD = DDROUT; enable_interrupts(INT_TIMER1); // Cho phep ngat tran TIMER1 ext_int_edge(H_TO_L); // Cau hinh ngat ngoai theo canh xuong enable_interrupts(INT_EXT); // Cho phep ngat ngoai enable_interrupts(GLOBAL); // Cho phep ngat toan cuc setup_timer_1(T1_INTERNAL|T1_DIV_BY_2); // Cau hinh bo chia cho TIMER1 set_timer1(0); // Cau hinh gia tri cho thanh ghi TMR1 LCD_Init(); LCD_Gotoxy(0,0); sprintf(lcd_buff,"TRUONG DHSPTPHCM"); LCD_Puts(lcd_buff); LCD_Gotoxy(0,1); sprintf(lcd_buff," KHOA VAT LY "); delay_ms(10); LCD_Puts(lcd_buff); delay_ms(2000); LCD_Clear(); LCD_Gotoxy(0,0); sprintf(lcd_buff," MAY DO AM TAN "); LCD_Puts(lcd_buff); while(TRUE) { if(enable_display) { LCD_Gotoxy(0,1); sprintf(lcd_buff,"TAN SO: %5lu Hz",tan_so); LCD_Puts(lcd_buff); enable_display = 0; } } }

Phụ lục 1: Code lập trình đo tần số bằng phương pháp tạo thời gian chuẩn 1s [11]

80

LCD_SendCommand( 0x0c); // cho phep hien thi man hinh LCD_SendCommand( 0x06 ); // tang ID, khong dich khung hinh LCD_Clear(); // xoa toan bo khung hinh } //Ham Thiet lap vi tri con tro void LCD_Gotoxy(uint8_t x, uint8_t y) { uint8_t address; if(!y) address = (0x80+x); else address = (0xC0+x); delay_ms(1); LCD_SendCommand(address); delay_ms(5); } // Ham Xoa Man Hinh LCD void LCD_Clear() { LCD_SendCommand(0x01); delay_ms(5); } // Ham Gui 1 Ki Tu Len LCD void LCD_PutChar ( uint8_t Data ) { LCD_RS=1; LCD_SendCommand( Data ); LCD_RS=0; } //Ham Gui Mot Chuoi Ki Tu Len LCD void LCD_Puts (uint8_t *s) { while (*s) { LCD_PutChar(*s); s++; } }

#include "lcd_16x2.h" void LCD_Enable(void) { LCD_EN=1; delay_us(3); LCD_EN=0; delay_us(50); } //Ham Gui 4 Bit Du Lieu Ra LCD void LCD_Send4Bit( uint8_t Data ) { LCD_D4=(Data>>0)&0x01; LCD_D5=(Data>>1)&0x01; LCD_D6=(Data>>2)&0x01; LCD_D7=(Data>>3)&0x01; } // Ham Gui 1 Lenh Cho LCD void LCD_SendCommand (uint8_t command ) { LCD_Send4Bit ( command >>4 ); /* Gui 4 bit cao */ LCD_Enable () ; LCD_Send4Bit ( command ); /* Gui 4 bit thap*/ LCD_Enable () ; } // Ham Khoi Tao LCD void LCD_Init ( void ) { LCD_Send4Bit(0x00); delay_ms(20); LCD_RS=0; LCD_RW=0; LCD_Send4Bit(0x03); LCD_Enable(); delay_ms(5); LCD_Enable(); delay_us(100); LCD_Enable(); LCD_Send4Bit(0x02); LCD_Enable(); LCD_SendCommand( 0x28 ); // giao thuc 4 bit, hien thi 2 hang, ki tu 5x8

Phụ lục 2: Giao tiếp LCD [11]

81

TÀI LIỆU THAM KHẢO

Tiếng Việt

[1] Lương Ngọc Hải (2007), “Giáo trình kỹ thuật xung – số”, Tái bản lần thứ ba, Nhà

xuất bản Giáo Dục, Thành phố Hồ Chí Minh.

[2] Hồ Văn Sung (2008), “Cơ sở lý thuyết mạch điện và điện tử”, Nhà xuất bản khoa

học và kỹ thuật, Thành phố Hồ Chí Minh.

[3] Trương Văn Tám, “Mạch điện tử 1 và 2”, Nhà xuất bản Đại học Cần Thơ, Thành

phố Cần Thơ.

[4] Kiều Xuân Thực, Vũ Thị Thu Hương (2010), “Vi điều khiển – Cấu trúc – Lập trình

và ứng dụng”, Tái bản lần thứ hai, Nhà xuất bản Giáo Dục Việt Nam, Thành phố Hồ

Chí Minh.

[5] Việt Hùng Vũ, Trần Thị Hoàng Anh, Đậu Trọng Hiền (2008), “Chuyên đề vẽ và

thiết kế mạch in với Orcad 10”, Nhà xuất bản Giao Thông Vận Tải, Thành phố Hồ Chí

Minh.

[6] Lê Phi Yến – Lưu Phú – Nguyễn Như Anh (2011), “Kỹ thuật điện tử”, Tái bản lần

thứ hai, Nhà xuất bản đại học quốc gia thành phố Hồ Chí Minh, Thành phố Hồ Chí

Minh.

Tiếng Anh

[7] http://pdf1.alldatasheet.com/datasheet-pdf/view/99448/FAIRCHILD/KA7809.html

[8] http://pdf1.alldatasheet.com/datasheet-pdf/view/197719/MICROCHIP/PIC16F887-

E/ML.html

[9] http://pdf1.alldatasheet.com/datasheet-pdf/view/43380/SHARP/PC900V.html

[10]http://pdf1.alldatasheet.com/datasheet-

pdf/view/23384/STMICROELECTRONICS/NE555.html

[11] CCS (2012), “PCD C Compiler Reference Manual”.