Tải bản đầy đủ (.docx) (27 trang)

đồ án xử lý tin: Thiết kế hệ thống đo tần số điện lưới, hiển thị lên led 7 thanh và truyền thông về máy tính qua chuẩn RS232.

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.33 MB, 27 trang )

HỌC VIỆN KỸ THUẬT QUÂN SỰ
KHOA KỸ THUẬT ĐIỀU KHIỂN

ĐỒ ÁN THIẾT BỊ HỆ THỐNG ĐIỀU
KHIỂN VÀ XỬ LÝ TIN
Đề tài: Thiết kế hệ thống đo tần số điện lưới, hiển thị lên led 7 thanh và
truyền thông về máy tính qua chuẩn RS232.
NHĨM 7

GV hướng dẫn :

Nguyễn Văn Xn

Sinh viên

Nguyễn Đức Anh

:

Nguyễn Minh Anh
Lớp:

:

TĐH - 16

Hà Nội - 2021


Mục lục
I – Cơ sở lý thuyết.............................................................................................................................................4


1.

Giới thiệu tổng quan về vi điều khiển PIC16F877A......................................................................4
1.1.

Cấu trúc tổng quát của PIC16F877A......................................................................................4

1.2.

Sơ đồ chân của PIC16F877A....................................................................................................5

2.

Truyền thông RS232 giữa vi điều khiển với máy tính...................................................................6

3.

Sơ lược về LED 7 thanh.....................................................................................................................8

4.

2.1.

Tổng quát....................................................................................................................................8

2.2.

Kết nối với vi điều khiển..........................................................................................................10

Chuyển đổi tín hiệu Sine đầu vào của lưới điện thành xung vuông sử dụng LM324..............13

3.1.

Cấu tạo IC LM324...................................................................................................................13

3.2.

Ứng dụng...................................................................................................................................15

3.3.

Mạch so sánh điện áp để tạo xung vuông..............................................................................15

II – Nội dung thiết kế......................................................................................................................................16
1.

2.

Phần mạch chức năng......................................................................................................................16
1.1.

Khối nguồn................................................................................................................................16

1.2.

Khối hiển thị.............................................................................................................................17

1.3.

Khối IC điều khiển...................................................................................................................18


1.4.

Khối truyền thơng....................................................................................................................18

Lập trình và mơ phỏng....................................................................................................................19
2.1.

Phần lập trình...........................................................................................................................19

2.2.

Phần mơ phỏng.........................................................................................................................22

III – Kết luận....................................................................................................................................................26
1.Ưu điểm..................................................................................................................................................26
2.Nhược điểm............................................................................................................................................26


LỜI NÓI ĐẦU
Ngày nay, với những ứng dụng của khoa học kỹ thuật tiên tiến, thế giới của
chúng ta đã và đang ngày một thay đổi, văn minh và hiện đại hơn. Sự phát triển
của kỹ thuật điện tử đã tạo ra hàng loạt những thiết bị với các đặc điểm nổi bật như
sự chính xác cao, tốc độ nhanh, gọn nhẹ là những yếu tố rất cần thiết góp phần cho
hoạt động của con người đạt hiệu quả cao.
Các bộ điều khiển sử dụng vi điều khiển tuy đơn giản nhưng để vận hành và
sử dụng được lại là một điều rất phức tạp. Các bộ vi điều khiển theo thời gian cùng
với sự phát triển của công nghệ bán dẫn đã tiến triển rất nhanh, từ các bộ vi điều
khiển 4 bit đơn giản đến các bộ vi điều khiển 32 bit, rồi sau này là 64 bit. Điện tử
đang trở thành một ngành khoa học đa nhiệm vụ. Điện tử đã đáp ứng được những
địi hỏi khơng ngừng từ các lĩnh vực công – nông – lâm – ngư nghiệp cho đến các

nhu cầu cần thiết trong hoạt động đời sống hằng ngày.
Một trong những ứng dụng thiết thực trong đó là ứng dụng về nhiệt kế điện
tử. Với môn học này, em đã quyết định nhận làm đồ án với đề tài Thiết kế hệ
thống đo tần số điện lưới, hiển thị lên led 7 thanh và truyền thơng về máy tính
qua chuẩn RS232.
Nội dung báo cáo gồm 3 phần:
I – Cơ sở lý thuyết
II – Nội dung thiết kế
III – Kết luận
Mặc dù đã rất cố gắng thiết kế và làm mạch nhưng do thời gian ngắn và năng lực
còn hạn chế nên mạch vẫn cịn những sai sót. Em mong thầy giáo và các bạn góp ý
để việc học tập của em được tốt hơn.


Em xin chân thành cảm ơn!
I – Cơ sở lý thuyết
1. Giới thiệu tổng quan về vi điều khiển PIC16F877A

Hình: Ảnh thực tế PIC16F877A
PIC 16F877A là dòng PIC phổ biến nhất hiện nay (đủ mạnh về tính năng, 40
chân, bộ nhớ đủ cho hầu hết các ứng dụng thông thường).
1.1. Cấu trúc tổng quát của PIC16F877A
- 8 K Flash ROM
-

368 Bytes RAM.

-

256 Bytes EEPROM.


-

5 ports (A, B, C, D, E) vào ra với tín hiệu điều khiển độc lập.

-

2 bộ định thời 8 bits (Timer 0 và Timer 2).

-

Một bộ định thời 16 bits (Timer 1) có thể hoạt động trong chế độ tiếtkiệm
năng lượng (SLEEP MODE) với nguồn xung Clock ngồi

-

2 bơ CCP( Capture / Compare/ PWM)

-

1 bộ biến đổi AD 10 bits, 8 ngõ vào.

-

2 bộ so sánh tương tự (Compartor).


-

1 bộ định thời giám sát (WatchDog Timer)


-

Một cổng song song 8 bits với các tín hiệu điều khiển.

-

Một cổng nối tiếp.

-

15 nguồn ngắt.

-

Nạp chương trình bằng cổng nối tiếp ICSP

-

Được chế tạo bằng công nghệ CMOS

- Tần số hoạt động tối đa 20MHz
1.2. Sơ đồ chân của PIC16F877A

Hình: Datasheet của PIC16F877A
Để PIC hoạt động ta cần cấp nguồn cho PIC. Ngồi ra có thể thêm vào bộ
dao động thạch anh.


Hình: PIC16F877A gắn thạch anh

2. Truyền thơng RS232 giữa vi điều khiển với máy tính
- Vấn đề giao tiếp giữa PC và vi điều khiển rất quan trọng trong các ứng dụng
điều khiển, đo lường... Ghép nối qua cổng nối tiếp RS232 là một trong
những kỹ thuật được sử dụng rộng rãi để ghép nối các thiết bị ngoại vi với
máy tính. Nó là một chuẩn giao tiếp nối tiếp dùng định dạng không đồng bộ,
kết nối nhiều nhất là 2 thiết bị , chiều dài kết nối lớn nhất cho phép để đảm
bảo dữ liệu là 12.5 đến 25.4m, tốc độ 20kbit/s đôi khi là tốc độ 115kbit/s với
một số thiết bị đặc biệt. Ý nghĩa của chuẩn truyền thơng nối tiếp nghĩa là
trong một thời điểm chỉ có một bit được gửi đi dọc theo đường truyền.
- Có hai phiên bản RS232 được lưu hành trong thời gian tương đối dài là
RS232B và RS232C. Nhưng cho đến nay thì phiên bản RS232B cũ thì ít
được dùng cịn RS232C hiện vẫn được dùng và tồn tại thường được gọi là
tên ngẵn gọn là chuẩn RS232. Các máy tính thường có 1 hoặc 2 cổng nối
tiếp theo chuẩn RS232C được gọi là cổng Com. Chúng được dùng ghép nối
cho chuột, modem, thiết bị đo lường...Trên main máy tính có loại 9 chân


hoặc lại 25 chân tùy vào đời máy và main của máy tính. Việc thiết kế giao
tiếp với cổng RS232 cũng tương đối dễ dàng, đặc biệt khi chọn chế độ hoạt
động là không đồng bộ và tốc độ truyền dữ liệu thấp.

Hình: cáp RS232
Ưu điểm của giao diện nối tiếp RS232:
 Khả năng chống nhiễu của các cổng nối tiếp cao
 Thiết bị ngoại vi có thể tháo lắp ngay cả khi máy tính đang được cấp điện.
 Các mạch điện đơn giản có thể nhận được điện áp nguồn nuôi qua cổng nối
tiếp
Những đặc điểm cần lưu ý trong chuẩn RS232



 Trong chuẩn RS232 có mức giới hạn trên và dưới (logic 0 và 1) là +-12V.
Hiện nay đang được cố định trở kháng tải trong phạm vi từ 3000 ôm - 7000
ôm.
 Mức logic 1 có điện áp nằm trong khoảng -3V đến -12V, mức logic 0 từ +3V đến 12V.
 Tốc độ truyền nhận dữ liệu cực đại là 100kbps ( ngày nay có thể lớn hơn).
 Các lối vào phải có điện dung nhỏ hơn 2500pF.
 Trở kháng tải phải lớn hơn 3000 ôm nhưng phải nhỏ hơn 7000 ôm
 Độ dài của cáp nối giữa máy tính và thiết bị ngoại vi ghép nối qua cổng nối
tiếp RS232 không vượt qua 15m.
 Các giá trị tốc độ truyền dữ liệu chuẩn hay dùng : 9600, 19200, 28800,
38400.... 56600, 115200 bps
3. Sơ lược về LED 7 thanh
2.1. Tổng quát


Led 7 đoạn có cấu tạo bao gồm 7 led đơn có dạng thanh xếp theo hình và có
thêm một led đơn hình trịn nhỏ thể hiện dấu chấm trịn ở góc dưới, bên phải của
led 7 đoạn.
8 led đơn trên led 7 đoạn có Anode(cực +) hoặc Cathode(cực -) được nối
chung với nhau vào một điểm, được đưa chân ra ngồi để kết nối với mạch điện. 8
cực cịn lại trên mỗi led đơn được đưa thành 8 chân riêng, cũng được đưa ra ngoài
để kết nối với mạch điện. Nếu led 7 đoạn có Anode(cực +) chung, đầu chung này
được nối với +Vcc, các chân còn lại dùng để điều khiển trạng thái sáng tắt của các
led đơn, led chỉ sáng khi tín hiệu đặt vào các chân này ở mức 0.
Nếu led 7 đoạn có Cathode(cực -) chung, đầu chung này được nối xuống
Ground (hay Mass), các chân còn lại dùng để điều khiển trạng thái sáng tắt của các
led đơn, led chỉ sáng khi tín hiệu đặt vào các chân này ở mức 1.

Hình: cấu tạo bên trong LED 7 thanh
Vì led 7 đoạn chứa bên trong nó các led đơn, do đó khi kết nối cần

đảm bảo dòng qua mỗi led đơn trong khoảng 10mA-20mA để bảo vệ led. Nếu kết


nối với nguồn 5V có thể hạn dịng bằng điện trở 330Ω trước các chân nhận tín hiệu
điều khiển.

Hình: sơ đồ vị trí các led
Các điện trở 330Ω là các điện trở bên ngồi được kết nối để giới hạn
dịng điện qua led nếu led 7 đoạn được nối với nguồn 5V.
Chân nhận tín hiệu a điều khiển led a sáng tắt, ngõ vào b để điều khiển led b.
Tương tự với các chân và các led còn lại.
2.2.

Kết nối với vi điều khiển

Ngõ nhận tín hiệu điều khiển của led 7 đoạn có 8 đường, vì vậy có thể dùng 1
Port nào đó của Vi điều khiển để điều khiển led 7 đoạn. Như vậy led 7 đoạn nhận
một dữ liệu 8 bit từ Vi điều khiển để điều khiển hoạt động sáng tắt của từng led
đơn trong nó, dữ liệu được xuất ra điều khiển led 7 đoạn thường được gọi là "mã
hiển thị led 7 đoạn". Có hai kiểu mã hiển thị led 7 đoạn: mã dành cho led 7 đoạn có
Anode(cực +) chung và mã dành cho led 7 đoạn có Cathode(cực -) chung. Chẳng
hạn, để hiện thị số 1 cần làm cho các led ở vị trí b và c sáng, nếu sử dụng led 7


đoạn có Anode chung thì phải đặt vào hai chân b và c điện áp là 0V(mức 0) các
chân còn lại được đặt điện áp là 5V(mức 1), nếu sử dụng led 7 đoạn có Cathode
chung thì điện áp(hay mức logic) hoàn toàn ngược lại, tức là phải đặt vào chân b và
c điện áp là 5V(mức 1). Bảng mã hiển thị led 7 đoạn:
• Phần cứng được kết nối với 1 Port bất kì của Vi điều khiển, để thuận tiện
cho việc xử lí về sau phần cứng nên được kết nối như sau: Px.0 nối với

chân a, Px.1 nối với chân b, lần lượt theo thứ tự cho đến Px.7 nối với
chân h.
• Dữ liệu xuất có dạng nhị phân như sau : hgfedcba
Bảng mã hiển thị led 7 đoạn dành cho led 7 đoạn có Anode chung (các led đơn
sáng ở mức 0):
Số hiển thị lên led 7 đoạn mã hiển thị led 7 đoạn

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
-

dạng nhi phân
hgfedcba
11000000
11111001
10100100

10110000
10011001
10010010
11000010
11111000
10000000
10010000
10001000
10000011
11000110
10100001
10000110
10001110
10111111

mã hiển thị led 7 đoạn
dạng thập lục phân
C0
F9
A4
B0
99
92
82
F8
80
90
88
83
C6

A1
86
8E
BF


Bảng mã hiển thị led 7 đoạn dành cho led 7 đoạn có Cathode chung (các led đơn
sáng ở mức 1):
Số hiển thị lên led 7 đoạn mã hiển thị led 7 đoạn

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
-

mã hiển thị led 7 đoạn


dạng nhi phân
hgfedcba

dạng thập lục phân

00111111

3F
06
5B
4F
66
6D
7D
07
7F
6F
77
7C
39
5E
79
71
40

00000110
01011011
01001111
01100110
01101101

01111101
00000111
01111111
01101111
01110111
01111100
00111001
01011110
01111001
01110001
01000000

4. Chuyển đổi tín hiệu Sine đầu vào của lưới điện thành xung vuông sử
dụng LM324
3.1. Cấu tạo IC LM324


Hình: cấu tạo ic LM324
LM324 là một IC khuếch đại hoạt động nổi tiếng, được sử dụng rộng rãi
trong các thiết bị thương mại và cũng được sử dụng bởi những người yêu thích
điện tử, sinh viên kỹ thuật, kỹ sư và thợ điện tử trên khắp thế giới.Nó được sản
xuất trong gói DIP 14 chân, 14 SOP và các gói khác.IC chứa bốn op-amp có độ lợi
cao độc lập với nhau.Bạn có thể sử dụng một hoặc hai op-amp trong bốn hoặc bạn
cũng có thể sử dụng cả bốn cùng một lúc.Đầu vào cung cấp điện cho tất cả bốn opamp chân 4 (nguồn dương) và chân 11 (nối đất / nguồn âm).
Với điện áp hoạt động tối thiểu chỉ 3VDC và mức tiêu thụ dòng điện tối
thiểu chỉ từ 0,7mA đến 0,8ma, IC này có thể được sử dụng ở những nơi cần có
mạch cơng suất tiêu thụ dịng điện thấp và độ lợicao cao, ví dụ như trong các thiết
bị di động và hoạt động bằng pin.và hoạt động bằng pin.



Hình: cấu tạo bên trong IC LM324
Sơ đồ chân IC LM324
Chân 1 - đầu ra 1: đầu ra của op-amp thứ nhất của IC.
Chân 2 - đầu vào 1 (-) / đầu vào đảo ngược 1: đầu vào đảo ngược của op-amp thứ
nhất của IC.
Chân 3 - đầu vào 1 (+) / đầu vào không đảo ngược 1: đầu vào không đảo ngược
của op-amp thứ nhất của IC.
Chân 4 - Vcc / nguồn dương: nguồn dương của IC / nguồn dương của tất cả các opamp.
Chân 5 - đầu vào 1 (-) / đầu vào đảo ngược 2: đầu vào đảo ngược của op-amp thứ
hai của IC.
Chân 6 - đầu vào 1 (+) / đầu vào không đảo ngược 2: đầu vào không đảo ngược
của op-amp thứ hai của IC.
Chân 7 - đầu ra 2: đầu ra của op-amp thứ hai của IC.


Chân 8 - đầu vào 1 (-) / đầu vào đảo ngược 3: đầu vào đảo ngược của op-amp thứ
ba của IC.
Chân 9 - đầu vào 1 (+) / đầu vào không đảo ngược 3: đầu vào không đảo ngược
của op-amp thứ ba của IC.
Chân 10 - đầu ra 3: đầu ra của op-amp thứ ba của IC.
Chân 11 - nối đất (GND): nối đất / nguồn âm của IC / nguồn âm của tất cả các opamp.
Chân 12 - đầu vào 1 (-) / đầu vào đảo ngược 4: đầu vào đảo ngược của op-amp thứ
tư của IC.
Chân 13 - đầu vào 1 (+) / đầu vào không đảo ngược 4: đầu vào không đảo ngược
của op-amp thứ tư của IC.
Chân 14 - đầu ra 4: đầu ra của op-amp thứ tư của IC.
3.2. Ứng dụng
 Các tính năng thông dụng của IC LM324:
- Mạch cảm biến
- Mạch khuếch đại tín hiệu nhỏ

- Mạch opamp
- Bộ tiền khuếch đại âm thanh
- Bộ lọc
- ứng dụng so sánh
3.3. Mạch so sánh điện áp để tạo xung vuông
Mạch so sánh là mạch được sử dụng để so sánh 2 điện áp đầu ra của V1 và
V2. Nếu điện áp V1 > V2 thì điện áp ra = 0. Nếu V2 > V1 thì điện áp ra là điện áp
cực dương.


Hình: mạch so sánh dùng LM324

II – Nội dung thiết kế
1. Phần mạch chức năng
1.1. Khối nguồn
Khối nguồn được đưa vào để giảm điện áp lưới nhưng không làm thay đổi
giá trị tần số lưới điện.


Hình: khối nguồn
1.2.

Khối hiển thị

Khối hiển thị kết quả đo sử dụng led 7 thanh.Được đưa ra từ vi điều khiển
cho biết tần số hiện tại của lưới điện.

Hình: khối hiển thị
1.3.


Khối IC điều khiển

Khối điều khiển có chức năng xử lí tín hiệu đầu vào.Đưa ra các chân tín hiệu
để hiện thị , cảnh báo ngưỡng cao thấp của lưới điện, ngắt.


Hình: khối điều khiển
1.4. Khối truyền thơng
- ở đây trong mô phỏng proteus, em dùng khối Virtual terminal, kết nối với 2
chân TX và RX của vđk, 2 chân này cũng kết nối đến cổng COM của máy
tính.


Hình: khối truyền thơng
2. Lập trình và mơ phỏng
2.1. Phần lập trình

const unsigned char Code7Seg[] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82,
0xF8, 0x80, 0x90};

void main() {
unsigned int cnt, ck, f;
char buffer[6];
TRISD.B0 = 1;
TRISB = 0;
PORTB = 0;

TRISC = 0;



PORTC.B0 = 1;
PORTC.B1 = 1;

// khoi tao timer1
T1CON.TMR1CS = 0;

// dem xung noi

T1CON.T1CKPS0 = 1;

// ti le chia 1:2

T1CON.T1CKPS1 = 0;

UART1_Init(9600);

while(1) {
TMR1H = TMR1L = 0;

// xoa gia tri dem cua timer1

while(PORTD.B0 == 1);
while(PORTD.B0 == 0);
T1CON.TMR1ON = 1;

// timer1 bat dau dem

while(PORTD.B0 == 1);
while(PORTD.B0 == 0);
T1CON.TMR1ON = 0;

cnt = TMR1H;
cnt <<= 8;

// timer1 dung dem


cnt |= TMR1L;

// fOSC = 20MHz, fCPU = 5MHz, Tcpu = 1/5MHz (us) ==> T = cnt*Tcpu
(us)
ck = cnt/5;

// dv: us

f = 500000*1/ck;

WordToStr(f,buffer);

UART1_Write_Text(buffer);

PORTB = Code7Seg[f/10];
PORTC.B0 = 0;
Delay_ms(1);
PORTC.B0 = 1;

PORTB = Code7Seg[f%10];
PORTC.B1 = 0;
Delay_ms(1);
PORTC.B1 = 1;



}
}
2.2. Phần mơ phỏng
- Cấu hình cho nguồn xoay chiều AC:
 biên độ: 220V
 tần số 50Hz

Hình: cấu hình nguồn xoay chiều
- mạch có thể đo tần số điện lưới ở những giá trị tần số khác nhau.


- Chọn tần số sử dụng cho PIC16F877A là thạch anh 20MHz. sau khi qua bộ
chi 4 thì tần số cấp cho Timer1 để đếm là: f_cpu = 5MHz  Tcpu = 1/5MHz
(us)  thời gian time1 đếm lớn nhất là T = 65536 * 1/5000000  tần số nhỏ
nhất mà vđk có thể đo được là: F = 1/T = 76.29 (làm trịn thành 77 Hz).
- Vì vậy để có thể đo được tần số nhỏ hơn 77Hz cs nghĩa là Timer1 phải đếm
được nhiều hơn số xung ở trường hợp trên. Để có thể làm được như vậy thì
ta sử dụng bộ chia trước cho Timer1, chọn tỷ lệ chia 1:2  ta có thể đo được
tần số nhỏ hơn 1 nửa tần số ở trường hợp 1.
- Lúc này tần số mà vđk đo được sẽ gấp đơi tần số cần đo. Vì thế khi tính tốn
thì tần số cần đo phải được chia đơi.
 Cấu hình cho cổng COM ảo:
- Tốc độ baud: 9600
- 8 bit dữ liệu, khơng có bit kiểm lỗi.


Hình: cấu hình cho cổng COM ảo

 Đo tần số của điện áp xoay chiều 50Hz:



Hình: mơ phỏng

Hình: truyền thơng lên máy tính
 Đo tần số của điện áp xoay chiều 40Hz:


×