Tải bản đầy đủ (.pdf) (35 trang)

Thiết kế mạch đo tần số và công suất điện dân dụng 220VAC

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.72 MB, 35 trang )

0

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
KHOA ĐIỆN




Báo cáo đồ án II
Đề tài: Thiết kế mạch đo tần số và công suất điên dân dụng
220VAC.


Sinh viên thực hiện: Lê Tiến Sự
SHSV: 20092287
Giảng viên hướng dẫn: Nguyễn Tuấn Ninh




Hà Nội,2812/2012
1

MỤC LỤC

MỤC LỤC 1
LỜI NÓI ĐẦU 2
I. GIỚI THIỆU CHUNG 3
II. ĐẶC ĐIỂM KĨ THUẬT 3
III. CÁC BƯỚC THỰC HIỆN 3


III.1 Mô tả phần cứng CPU……………………………………………………………3
III.2 Mô tả chip AD7755…………………………………………………………… 13
III.3 Phương pháp tạo xung vuông từ xung hình sin……………………………… 16
III.4 Giới thiệu về giao tiếp truyền thông RS232 nối tiếp……………………… … 17
III.5 Phương pháp thiết kế mạch nguyên lý và mạch in………………………… ….25
III.6 Thiết kế phần mềm và lưu đồ thuật toán…………………………………… …29
III.7 Quá trình hoàn thiện sản phẩm và kiểm tra……………………………… 31
IV. KẾT QUẢ ĐẠT ĐƯỢC 33
V. KẾT LUẬN 33
VI. TÀI LIỆU THAM KHẢO 33








2

LỜI NÓI ĐẦU


Ngày nay những ứng dụng của vi điều khiển đã đi sâu vào đời sống sinh hoạt
và sản xuất của con người, là một phần tất yếu không thể thiếu trong đời sống hiện
đại. Thế kỉ 21 được xem là thế kỉ của khoa học công nghệ, là thế kỉ mà máy móc
được thiết kế và điều khiển một cách tự động để thay thế các hoạt động của con
người trong sản xuất, cũng như để phục vụ các công việc trong sinh hoạt. Trong tự
động hóa thì các mạch vi xử lí như là một công cụ đắc lực, quan trọng, hỗ trợ con
người thực hiện những nhu cầu của mình.

Đang là sinh viên đang ngồi trên ghế nhà trường, cơ hội tiếp cận, học tập với
những công nghệ tiên tiến, hiện đại chưa nhiều, nên trong quá trình tự học và tìm
tòi, em đã tìm hiểu về PIC16F877A cũng như các ứng dụng của nó trong các hệ
VXL. Với những gì tìm hiểu được, em đã thực hành thiết kế ứng dụng sử dụng
VXL để thiết kế mạch đo tần số và công suất của lưới điện 220VAC. Đây là cơ hội
tốt cho em trau dồi kiến thức thực tế, áp dụng những lí thuyết đã học và rèn luyện
bản thân.
Em xin chân thành cảm ơn thầy giáo Nguyễn Tuấn Ninh đã nhiệt tình hướng
dẫn và cho những góp ý kịp thời đến em trong suốt quá trình học tập và làm sản
phẩm này.

Sinh viên thực hiện
LÊ TIẾN SỰ





3

I. GIỚI THIỆU CHUNG
Đề tài: Thiết kế mạch đo tần số và công suất của lưới điện 220VAC
Thời gian nhận đề tài : tuần 6.
Thời gian nộp sản phẩm: tuần 21.
Yêu cầu: Đo công suất thiết bị và tần số của lưới điện 220Vdc
II. ĐẶC ĐIỂM KĨ THUẬT
1. Sử dụng Vi điều khiển PIC16F877A.
2. Sử dụng LCD 16x2 hiển thị kết quả đo được.
3. Giao tiếp với máy tính qua cổng COM với chuẩn truyền thông RS232.
III. CÁC BƯỚC THỰC HIỆN

III.1 Mô tả phần cứng CPU
PIC là viết tắt của “Programable Intelligent Computer”, có thể tạm dịch là
“máy tính thông minh khả trình” do hãng Genenral Instrument đặt tên cho vi điều
khiển đầu tiên của họ: PIC1650 được thiết kế để dùng làm các thiết bị ngoại vi cho
vi điều khiển CP1600. Vi điều khiển này sau đó được nghiên cứu phát triển thêm
và từ đó hình thành nên dòng vi điều khiển PIC ngày nay.
Các kí hiệu của vi điều khiển PIC:
- PIC12xxxx: độ dài lệnh 12 bit
- PIC16xxxx: độ dài lệnh 14 bit
- PIC18xxxx: độ dài lệnh 16 bit
C: PIC có bộ nhớ EPROM (chỉ có 16C84 là EEPROM)
F: PIC có bộ nhớ flash
LF: PIC có bộ nhớ flash hoạt động ở điện áp thấp
LV: tương tự như LF, đây là kí hiệu cũ
Bên cạnh đó một số vi điệu khiển có kí hiệu xxFxxx là EEPROM, nếu có
thêm chữ A ở cuối là flash (ví dụ PIC16F877 là EEPROM, c.n PIC16F877A là
flash). Ngoài ra còn có thêm một dạng vi điều khiển PIC mới là dsPIC.
Ở Việt Nam phổ biến nhất là các họ vi điều khiển PIC do hãng Microchip sản
xuất.
Cách lựa chọn một vi điều khiển PIC phù hợp:
- Trước hết cần chú ý đến số chân của vi điều khiển cần thiết cho ứng dụng.
Có nhiều vi điều khiển PIC với số lượng chân khác nhau, thậm chí có vi điều khiển
chỉ có 8 chân, ngoài ra c.n có các vi điều khiển 28, 40, 44, … chân.
- Cần chọn vi điều khiển PIC có bộ nhớ flash để có thể nạp xóa chương trình
4

được nhiều lần hơn. Tiếp theo cần chú ý đến các khối chức năng được tích hợp sẵn
trong vi điều khiển, các chuẩn giao tiếp bên trong.
- Sau cùng cần chú ý đến bộ nhớ chương trình mà vi điều khiển cho phép.
- Ngoài ra mọi thông tin về cách lựa chọn vi điều khiển PIC có thể được tìm

thấy trong cuốn sách “Select PIC guide” do nhà sản xuất Microchip cung
cấp.
Ngôn ngữ lập trình cho PIC rất đa dạng. Ngôn ngữ lập trình cấp thấp có
MPLAB (được cung cấp miễn phí bởi nhà sản xuất Microchip), các ngôn ngữ lập
trình cấp cao hơn bao gồm C, Basic, Pascal, … Ngoài ra còn có một số ngôn ngữ
lập trình được phát triển dành riêng cho PIC như PICBasic, MikroBasic,…
III.1.1 CÁC DẠNG SƠ ĐỒ CHÂN

Hình 2.1 Vi điều khiển PIC16F877A/PIC16F874A và các dạng sơ đồ chân

III.1.2 SƠ ĐỒ KHỐI VI ĐIỀU KHIỂN PIC16F877A
5


Hình 2.2 Sơ đồ khối của vi diều khiển PIC16F877A.




6

Hình 2.2 là sơ đồ khối của PIC 16F877A, gồm các khối:
- 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 EPROM – Data EPROM.
- 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 ngoại vi timer.
- 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 các port xuất nhập.
III.1.3 CHỨC NĂNG CÁC CHÂN CỦA PIC16F877A
Chân OSC1/CLK1(13): ngõ vào kết nối với dao động thạch anh hoặc ngõ
vào nhận xung clock từ bên ngoài.
� Chân OSC2/CLK2(14): ngõ ra dao động thạch anh hoặc ngõ ra cấp xung
clock.
� Chân 








 (1) có 2 chức năng
- 








: ngõ vào reset tích cực ở mức thấp.
- Vpp: ngõ vào nhận điện áp lập trình khi lập trình cho PIC.
� Chân RA0/AN0(2), RA1/AN1(3), RA2/AN2(3): có 2 chức năng
- RA0,1,2: xuất/ nhập số.

- AN 0,1,2: ngõ vào tương tự của kênh thứ 0,1,2.
� Chân RA2/AN2/VREF-/CVREF+(4): xuất nhập số/ ngõ vào tương tự của
kênh thứ 2/ ngõ vào điện áp chuẩn thấp của bộ AD/ ngõ vào điện áp chẩn cao
của bộ AD.
� Chân RA3/AN3/VREF+(5): xuất nhập số/ ngõ vào tương tự kênh 3/ ngõ vào
điện áp chuẩn (cao) của bộ AD.
� Chân RA4/TOCK1/C1OUT(6): xuất nhập số/ ngõ vào xung clock bên ngoài
cho Timer 0/ ngõ ra bộ so sánh 1.
� Chân RA5/AN4/ / C2OUT(7): xuất nhập số/ ngõ vào tương tự kênh 4/
ngõ vào chọn lựa SPI phụ/ ngõ ra bộ so sánh 2.
� Chân RB0/INT (33): xuất nhập số/ ngõ vào tín hiệu ngắt ngoài.
� Chân RB1(34), RB2(35): xuất nhập số.
� Chân RB3/PGM(36): xuất nhập số/ cho phép lập trình điện áp thấp ICSP.
� Chân RB4(37), RB5(38): xuất nhập số.
� Chân RB6/PGC(39): xuất nhấp số/ mạch gỡ rối và xung clock lập trình
ICSP.
� Chân RB7/PGD(40): xuất nhập số/ mạch gỡ rối và dữ liệu lập trình ICSP.
� Chân RC0/T1OCO/T1CKI(15): xuất nhập số/ ngõ vào bộ giao động Timer1/
7

ngõ vào xung clock bên ngoài Timer 1.
� Chân RC1/T1OSI/CCP2(16) : xuất nhập số/ ngõ vào bộ dao động Timer 1/
ngõ vào Capture2, ngõ ra Compare2, ngõ ra PWM2.
� Chân RC2/CCP1(17): xuất nhập số/ ngõ vào Capture1 ,ngõ ra compare1, ngõ
ra PWM1.
� Chân RC3/SCK/SCL(18): xuất nhập số/ ngõ vào xung clock nối tiếp đồng
bộ, ngõ ra chế độ SPI./ ngõ vào xung clock nối tiếp đồng bộ, ngõ ra của chế
độ I2C.
� Chân RC4/SDI/SDA(23): xuất nhập số/ dữ liệu vào SPI/ xuất nhập dữ liệu
I2C.

� Chân RC5/SDO(24): xuất nhập số/ dữ liệu ra SPI.
� Chân RC6/TX/CK(25): xuất nhập số/ truyền bất đồng bộ USART/ xung
đồng bộ USART.
� Chân RC7/RX/DT(26): xuất nhập số/ nhận bất đồng bộ USART.
� Chân RD0-7/PSP0-7(19-30): xuất nhập số/ dữ liệu port song song.
� Chân RE0/ /AN5(8): xuất nhập số/ điều khiển port song song/ ngõ vào
tương tự 5.
� Chân RE1/ /AN6(9): xuất nhập số/ điều khiển ghi port song song/ ngõ
vào tương tự kênh thứ 6.
� Chân RE2/ /AN7(10): xuất nhấp số/ Chân chọn lụa điều khiển port song
song/ ngõ vào tương tự kênh thứ 7.
� Chân VDD(11, 32) và VSS(12, 31): là các chân nguồn của PIC.
III.1.4 ĐẶC ĐIỂM VI ĐIỀU KHIỂN PIC16F877A
Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ
dài 14 bit. Mỗi lệnh đều được thực thi trong một chu kì xung clock. Tốc độ hoạt
động tối đa cho phép là 20 MHz với một chu kì lệnh là 200ns. Bộ nhớ chương
trình 8Kx14 bit, bộ nhớ dữ liệu 368x8 byte RAM và bộ nhớ dữ liệu EEPROM với
dung lượng 256x8 byte. Số PORT I/O là 5 với 33 pin I/O. Có 8 kênh chuyển đổi
A/D
� Các đặc tính ngoại vi bao gồm các khối chức năng sau:
- Timer0: bộ đếm 8 bit với bộ chia tần số 8 bit.
- Timer1: bộ đếm 16 bit với bộ chia tần số, có thể thực hiện chức năng đếm dựa
vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep.
- Timer2: bộ đếm 8 bit với bộ chia tần số, bộ postcaler.
- Hai bộ Capture/so sánh/điều chế độ rông xung.
- Các chuẩn giao tiếp nối tiếp SSP (Synchronous Serial Port), SPI và I2C.
- Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ.
- Cổng giao tiếp song song PSP (Parallel Slave Port) với các chân điều
khiển RD, WR,
8


� Bên cạnh đó là một vài đặc tính khác của vi điều khiển như:
- Bộ nhớ flash với khả năng ghi xóa được 100.000 lần.
- Bộ nhớ EEPROM với khả năng ghi xóa được 1.000.000 lần.
- Dữ liệu bộ nhớ EEPROM có thể lưu trữ trên 40 năm.
- Khả năng tự nạp chương trình với sự điều khiển của phần mềm.
- Nạp được chương tr.nh ngay trên mạch điện ICSP (In Circuit Serial
Programming) thông qua 2 chân.
- Watchdog Timer với bộ dao động trong.
- Chức năng bảo mật mã chương trình.
- Chế độ Sleep.
- Có thể hoạt động với nhiều dạng Oscillator khác nhau.

Bảng 2.3: Tóm tắt đặc điểm của VDK PIC 16F877A
III.1.5 TỔ CHỨC BỘ NHỚ
9

Cấu trúc bộ nhớ của vi điều khiển PIC16F877A bao gồm bộ nhớ chương trình
(Program memory) và bộ nhớ dữ liệu (Data Memory).
III.1.5.1 BỘ NHỚ CHƯƠNG TRÌNH
Bộ nhớ chương trình của vi điều khiển PIC16F877A là bộ nhớ flash, dung lượng
bộ nhớ 8K word (1 word = 14 bit) và được phân thành nhiều trang (từ page0 đến
page 3) . Như vậy bộ nhớ chương trình có khả năng chứa được 8*1024 = 8192 lệnh
(vì một lệnh sau khi mã hóa sẽ có dung lượng 1 word (14 bit).
Để mã hóa được địa chỉ của 8K word bộ nhớ chương trình, bộ đếm chương trình
có dung lượng 13 bit (PC<12:0>).
Khi vi điều khiển được reset, bộ đếm chương trình sẽ chỉ đến địa chỉ 0000h (Reset
vector). Khi có ngắt xảy ra, bộ đếm chương trình sẽ chỉ đến địa chỉ 0004h
(Interrupt vector).


Hình 2.4 Bộ nhớ chương trình
Bộ nhớ chương trình không bao PIC16F877A gồm bộ nhớ stack và không được địa
chỉ hóa bởi bộ đếm chương trình. Bộ nhớ stack sẽ được đề cập cụ thể trong phần
sau.
III.1.5.2 BỘ NHỚ DỮ LIỆU
10

Bộ nhớ dữ liệu của PIC là bộ nhớ EEPROM được chia ra làm nhiều bank. Đối
với PIC16F877A bộ nhớ dữ liệu được chia ra 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 ở vùng địa chỉ còn lại trong bank. Các thanh ghi
SFR 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ộ nhớ 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.

































11

Sơ đồ cụ thể của bộ nhớ dữ liệu PIC16F877A như sau:

Hình 2.5 Sơ đồ bộ nhớ dữ liệu PIC16F877A

1. THANH GHI CHỨC NĂNG ĐẶC BIỆT SFR
Đâ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 thanh
ghi 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 SRF dùng để thiết lập và điều khiển các khối chức năng bên ngoài (ví
12


dụ như ADC, PWM, …). Phần này sẽ đề cập đến các thanh ghi liên quan đến các
chức năng bên trong. Các thanh ghi dùng để thiết lập và điều khiển các khối chức
năng sẽ được nhắc đến khi ta đề cập đến các khối chức năng đó.
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.
Thanh ghi OPTION_REG (81h, 181h): thanh ghi này cho phép đọc và ghi,
cho phép điều khiển chức năng pull-up của các chân trong PORTB, xác lập các
tham số về xung tác động, cạnh tác động của ngắt ngoại vi và bộ đếm Timer0.
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 timer0 bị tràn, ngắt ngoại vi
RB0/INT và ngắt interrput- on-change tại các chân của PORTB.
Thanh ghi PIE1 (8Ch): chứa các bit điều khiển chi tiết các ngắt của các khối
chức năng ngoại vi.
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.
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.
Thanh ghi PIR2 (0Dh): chứa các 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 PIE2.
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.
2. THANH GHI MỤC ĐÍCH CHUNG GPR

Các thanh ghi này có thể được truy xuất trực tiếp hoặc gián tiếp thông qua thanh
Ghi FSG (File Select Register). Đây là các thanh ghi dữ liệu thông thường, người
sử dụng có thể tùy theo mục đích chương tr.nh mà có thể dùng các thanh ghi này
để chứa các biến số, hằng số, kết quả hoặc các tham số phục vụ cho chương trình.
III.1.5.3 STACK
Stack không nằm trong bộ nhớ chương trình hay bộ nhớ dữ liệu mà là một

vùng nhớ đặc biệt không cho phép đọc hay ghi. Khi lệnh CALL được thực hiện
hay khi một ngắt xảy ra làm chương trình bị rẽ nhánh, giá trị của bộ đếm chương
trình PC tự động được vi điều khiển cất vào trong stack. Khi một trong các lệnh
RETURN, RETLW hat RETFIE được thực thi, giá trị PC sẽ tự động được lấy ra từ
trong stack, vi điều khiển sẽ thực hiện tiếp chương trình theo đúng qui trình định
trước.
Bộ nhớ Stack trong vi điều khiển PIC họ 16F87xA có khả năng chứa được 8 địa
chỉ và hoạt động theo cơ chế xoay vòng. Nghĩa là giá trị cất vào bộ nhớ Stack lần
thứ 9 sẽ ghi đè lên giá trị cất vào Stack lần đầu tiên và giá trị cất vào bộ nhớ Stack
lần thứ 10 sẽ ghi đè lên giá trị 6 cất vào Stack lần thứ 2.
Cần chú ý là không có cờ hiệu nào cho biết trạng thái stack, do đó ta không biết
13

được khi nào stack tràn. Bên cạnh đó tập lệnh của vi điều khiển dòng PIC cũng
không có lệnh POP hay PUSH, các thao tác với bộ nhớ stack sẽ hoàn toàn được
điều khiển bởi CPU.

III.2 Mô tả chip AD7755
Dưới đây là một phương pháp mới đo công suất tác dụng có sử dụng vi mạch
(IC) chuyên dụng AD7755 của hãng Analog Devices kết hợp dùng Vi điều khiển
(VĐK). AD7755 là IC đo công suất và năng lượng điện với độ chính xác cao.
Mạch tương tự duy nhất được dùng trong AD7755 là trong các bộ bộ chuyển đổi
tương tự số ADC. Tất cả các quá trình xử lý tín hiệu khác như nhân, lọc đều được
thực hiện miền tín hiệu số. Điều này sẽ đảm bảo độ ổn định và chính xác ngay
trong điều kiện môi trường khắc nghiệt và trong thời gian dài.
AD7755 đưa ra thông tin về giá trị công suất tác dụng trung bình trên đầu ra tần số
thấp F1 và F2. Đầu ra tần số CF đưa ra thông tin về công suất tác dụng tức thời.
Đầu ra này được sử dụng cho mục đích hiệu chỉnh, hay để ghép nối tới một khối
VĐK.


Hình 2. Sơ đồ khối chức năng IC AD7755.
Hình 2 là sơ đồ khối chức năng của IC AD7755. AD7755 gồm một mạch nguồn ở
chân AVDD. AD7755 sẽ vẫn ở trong tình trạng bị reset cho đến khi điện áp cấp
chân AVDD là 4V. Trong AD7755 có tích hợp bộ kiểm soát nguồn trên chíp. Nếu
nguồn nhỏ hơn 4V � 5% thì AD7755 sẽ bị reset. Điều này là cần thiết để đảm bảo
khởi động chính xác thiết bị lúc bật và tắt nguồn. Nếu nguồn cấp giảm đi nhỏ hơn
14

4V thì AD7755 sẽ cũng sẽ bị reset và sẽ không có xung nào được phát ra tại chân
F1, F2 và chân CF.
Trong AD7755 gồm có kênh dòng V1 và kênh áp V2. Các tín hiệu được đưa vào là
dạng tương tự sau khi đã được chuẩn hóa qua bộ ADC, mạch lọc thông và sẽ đưa
tới đầu ra dạng tần số. Mạch điều chỉnh pha Ф bên trong bảo đảm kênh điện áp V2
và kênh dòng V1 là pha thích hợp cho dù bộ lọc thông cao HPF trong kênh dòng
V1 là On hay Off. Các tín hiệu đầu ra được ghép nối VĐK để thực hiện xử lý, tính
toán và điều khiển hiển thị.
Kênh dòng V1 có đầu vào điện áp vi sai: V1P là dương, V1N là âm. Tín hiệu vi sai
cực đại trên kênh V1 phải nhỏ hơn ~ 470mV. Kênh V1 có một bộ khuếch đại với
hệ số khuếch đại có thể thay đổi được là: 1, 2, 8 hoặc 16. Tùy theo hệ số khuếch
đại được chọn mà giá trị điện áp vi sai cực đại vào tương ứng là ~ 470 mV, ~ 235
mV, ~ 60 mV, ~ 30 mV.
Kênh kênh điện áp V2 có đầu vào điện áp vi sai: V2P là dương, V2N là âm. Tín
hiệu vi sai lớn nhất trên kênh V2 là ~ 660 mV.
Nguyên lý hoạt động của IC AD7755:
Hai bộ ADC biến tín hiệu điện áp từ hai kênh V1 và V2 thành các tín hiệu
số. Hệ số khuếch đại dễ dàng thay đổi được trong kênh dòng V1 có thể làm cho bộ
biến đổi gọn nhẹ hơn.
Một bộ lọc thông cao HPF trong kênh dòng loại bỏ bất kỳ thành phần một
chiều nào từ tín hiệu dòng điện và khử sai số trong việc tính toán công suất tác
dụng do tín hiệu dòng hoặc áp gây ra. Việc tính toán công suất tác dụng được xuất

phát từ tín hiệu công suất tức thời. Tín hiệu công suất tức thời được xác định bằng
một phép nhân trực tiếp của tín hiệu dòng và áp. Để tách ra thành phần công suất
tác dụng (thành phần một chiều), tín hiệu công suất tức thời được đưa tới
bộ lọc thông thấp LPF. Đầu ra tần số thấp F1 và F2 của AD7755 được tính bằng
tích thông tin công suất tác dụng này. Bản thân tần số F1 và F2 có nghĩa là một
khoảng thời gian tích trữ giữa các xung ra. Tần số ra vì thế tỷ lệ với công suất tác
dụng trung bình. Thông tin về công suất tác dụng trung bình có thể được tích trữ
bằng một bộ đếm để tổng hợp thông tin về năng lượng thực. Đầu ra tần số cao CF
tỷ lệ với công suất tác dụng tức thời và cần thời gian tích phân ngắn hơn. Điều này
là có lợi cho mục đích điều chỉnh dưới điều kiện tải ổn định.
Ghép nối AD7755 với VĐK: Cách đơn giản nhất để kết nối AD7755 với VĐK là
dùng đầu ra tần số cao CF với tỷ lệ tần số được đặt lên tới 2048 x F1,F2 (SCF = 0
và S0 = S1 = 1). Với các tín hiệu xoay chiều tỷ lệ thật trên các đầu vào tương tự,
tần số trên CF xấp xỉ 5,5 kHz. Đầu ra CF được nối với bộ đếm bên trong khối
VĐK. VĐK sẽ đếm số xung trong một thời gian định trước T0.
Công suất trung bình tỷ lệ với tần số trung bình:
Tần số trung bình = Công suất trung bình = Counter/Time (8)
Năng lượng tiêu thụ trong suốt thời gian tích phân được xác định:
15

Năng lượng = Công suất trung bình x Time = Counter (9)
Với mục đích điều chỉnh, thời gian T0 có thể 10 đến 20 giây để được đủ số xung
đảm bảo độ chính xác của phép đo tần số. Ở chế độ bình thường thời gian T0 có
thể giảm xuống 1 hoặc 2 giây tùy theo trường hợp. Với thời gian T0 ngắn hơn, giá
trị công suất có thể có chút “gợn sóng”, thậm chí ngay khi tải ổn định. Tuy nhiên,
với thời gian T0 lớn hơn một phút thì công suất đo được sẽ không có “gợn sóng”.
Trên hình 3 là sơ đồ khối đo công suất tác dụng.


Hình 3. Sơ đồ khối đo công suất tác dụng.


Giới thiệu chức năng các khối:
Khối chuẩn hóa có tác dụng biến đổi điện áp và dòng điện của tải cần đo về giá trị
chuẩn để đưa vào khối đo công suất. Đối với kênh dòng V1, khối chuẩn hóa
chuyển đổi dòng điện tải thành điện áp phù hợp với giá trị điện áp vào lớn nhất
không vượt quá ~ 470mV. Đối với kênh áp V2, khối chuẩn hóa chuyển đổi điện áp
đầu vào của tải thành điện áp phù hợp với giá trị điện áp vào lớn nhất lớn nhất
không vượt quá ~ 660mV. Sơ đồ thực hiện khối chuẩn hóa trên hình 4.

a)

16

Hình 4. Sơ đồ khối chuẩn hóa.
a) Sơ đồ kênh dòng V1; b) Sơ đồ kênh áp V2
Khối đo công suất có tác dụng nhận các giá trị của kênh dòng V1 và kênh áp V2
đã được chuẩn hóa từ khối chuẩn hóa, thực hiện biến đổi để có tín hiệu lối ra CF tỉ
lệ thuận với giá trị công suất tác dụng cần đo
.Tín hiệu từ lối ra tần số cao CF của
AD7755 được đưa tới đầu vào bộ đếm của VĐK. IC AD7755 cấp giá trị công suất
đo được dưới dạng xung tới đầu ra CF. VĐK sẽ đếm số xung này và hiển thị lên
màn hình LCD. Giá trị công suất P là tỉ số giữa số xung đếm được và khoảng thời
gian đếm.
III.3 Phương pháp tạo xung vuông từ xung hình sin
Tín hiệu đầu vào là tín hiệu hình sin và yêu cầu đầu ra là một tín hiệu xung vuông :

Sử dụng một opam nhằm khuếch đại tín hiệu đầu vào từ điện áp cao xuống điện áp
thấp. Đầu vào Uin=6Vac lấy tại tín hiệu đầu vào và khuếch đại tín hiệu xuống.
Mặt khác tranzito có nhiệm vụ đóng cắt thông cho tín hiệu 5V. Do có tranzito làm
nhiệm vu đóng mở nên xung ra là xung vuông 0÷5V.

Chọn lựa opam LM324 với 4 opam và điện áp cấp nguồn có thể dùng điện áp
không đối xứng,VD: 0Vdc-9Vdc…
Sử dụng tranzito NPN loại C1815 nhiệm vụ đóng cắt.
17

III.4 Giới thiệu về giao tiếp truyền thông RS232 nối tiếp
Cổng nối tiếp RS232 là một giao diện phổ biến rộng rãi nhất. Người ta còn gọi
cổng này là cổng COM1, còn cổng COM2 để tự do cho các ứng dụng khác. Giống
như cổng máy in cổng COM cũng được sử dụng một cách thuận tiện cho việc giao
tiếp với thiết bị ngoại vi.

Việc truyền dữ liệu qua cổng COM được tiến hành theo cách nối tiếp. Nghĩa là các
bit dữ liệu được truyền đi nối tiếp nhau trên một đường dẫn. Loại truyền này có
khả năng dùng cho những ứng dụng có yêu cầu truyền khoảng cách lớn hơn, bởi vì
các khả năng gây nhiễu là nhỏ đáng kể hơn khi dùng một cổng song song (cổng
máy in).

Cổng COM không phải là một hệ thống bus nó cho phép dễ dàng tạo ra liên kết
dưới hình thức điểm với điểm giữa hai máy cần trao đổi thông tin với nhau, một
thành viên thứ ba không thể tham gia vào cuộc trao đổi thông tin này.
Các chân và đường dẫn được mô tả như sau:


Phích cắm COM có tổng cộng 8 đường dẫn, chưa kể đến đường nối đất. Trên thực
tế có hai loại phích cắm, một loại 9 chân và một loại 25 chân. Cả hai loại này đều
có chung một đặc điểm.
Việc truyền dữ liệu xảy ra ở trên hai đường dẫn. Qua chân cắm ra TXD máy tính
gởi dữ liệu của nó đến KIT Vi điều khiển. Trong khi đó các dữ liệu mà máy tính
nhận được, lại được dẫn đến chân RXD các tín hiệu khác đóng vai trò như là tín
hiệu hổ trợ khi trao đổi thông tin, và vì thế không phải trong mọi trường hợp ứng

18

dụng đều dùng hết.
Vì tín hiệu cổng COM thường ở mức +12V, -12V nên không tương thích với điện
áp TTL nên để giao tiếp KIT Vi điều khiển 8051 với máy tính qua cổng COM ta
phải qua một vi mạch biến đổi điện áp cho phù hợp với mức TTL, ta chọn vi mạch
MAX232 để thực hiện việc tương thích điện áp.

GIỚI THIỆU VI MẠCH GIAO TIẾP MAX 232

Vi mạch MAX 232 của hãng MAXIM là một vi mạch chuyên dùng trong
giao diện nối tiếp với máy tính. Chúng có nhiệm vụ chuyển đổi mức TTL ở lối vào
thành mức +10V hoặc –10V ở phía truyền và các mức +3…+15V hoặc -3…-15V
thành mức TTL ở phía nhận.

Vi mạch MAX 232 có hai bộ đệm và hai bộ nhận. Đường dẫn điều khiển lối vào
CTS, điều khiển việc xuất ra dữ liệu ở cổng nối tiếp khi cần thiết, được nối với
chân 9 của vi mạch MAX 232. Còn chân RST (chân 10 của vi mạch MAX ) nối
với đường dẫn bắt tay để điều khiển quá trình nhận. Thường thì các đường dẫn bắt
tay được nối với cổng nối tiếp qua các cầu nối, để khi không dùng đến nữa có thể
hở mạch các cầu này. Cách truyền dữ liệu đơn giản nhất là chỉ dùng ba đường dẫn
TxD, RxD và GND (mass).

ĐẶC ĐIỂM KỸ THUẬT VỀ ĐIỆN CỦA RS232C

19


Qui định về chân của RS232C


Mức điện áp logic của RS-232C là khoảng điện áp giữa +15V và –15V. Các đường
dữ liệu sử dụng mức logic âm: logic 1 có điện thế giữa –5V và –15V, logic 0 có
điện thế giữa +5V và +15V. tuy nhiên các đường điền khiển (ngoại trừ đường
TDATA và RDATA) sử dụng logic dương: gía trị TRUE = +5V đến +15V và
FALSE =-5V đến –15.
Ở chuẩn giao tiếp này, giữa ngõ ra bộ kích phát và ngõ vào bộ thu có mức nhiễu
được giới hạn là 2V. Do vậy ngưỡng lớn nhất của ngõ vào là ±3V trái lại mức ±
5V là ngưỡng nhỏ nhất với ngõ ra. Ngõ ra bộ kích phát khi không tải có điện áp là
± 25V.
Các đặc điểm về điện khác bao gồm
• RL (điện trở tải) được nhìn từ bộ kích phát có giá trị từ 3 ÷ 7k.
• CL (điện dung tải) được nhìn từ bộ kích phát không được vượt quá 2500pF.
• Để ngăn cản sự dao động quá mức, tốc độ thay đổi (Slew rate ) của điện áp không
được vượt qúa 30V/µs.
Đối với các đường điều khiển, thời gian chuyển của tín hiệu (từ TRUE sang
20

FALSE, hoặc từ FALSE sang TRUE ) không được vượt qúa 1ms. Đối với các
đường dữ liệu, thời gian chuyển (từ 1 sang 0 hoặc từ 0 sang 1) phải không vượt
qúa 4% thời gian của 1 bit hoặc 1ms.

CÁC ĐƯỜNG DỮ LIỆU VÀ ĐIỀU KHIỂN CỦA RS232

- TxD: Dữ liệu được truyền đi từ Modem trên mạng điện thoại.
- RxD: Dữ liệu được thu bởi Modem trên mạng điện thoại.
Các đường báo thiết bị sẵn sàng:
- DSR : Để báo rằng Modem đã sẵn sàng.
- DTR : Để báo rằng thiết bị đầu cuối đã sẵn sàng
- Các đường bắt tay bán song công.
- RTS : Để báo rằng thiết bị đầu cuối yêu cầu phát dữ liệu.

- CTS : Modem đáp ứng nhu cầu cần gửi dữ liệu của thiết bị đầu cuối cho thiết bị
đầu cuối có thể sử dụng kênh truyền dữ liệu. Các đường trạng thái sóng mang và
tín hiệu điện thoại:
- CD : Modem báo cho thiết bị đầu cuối biết rằng đã nhận được một sóng mang
hợp lệ từ mạng điện thoại.
- RI : Các Modem tự động trả lời báo rằng đã phát hiện chuông từ mạng điện thoại
địa chỉ đầu tiên có thể tới được của cổng nối tiếp được gọi là địa chỉ cơ bản (Basic
Address). Các địa chỉ ghi tiếp theo được đặt tới bằng việc cộng thêm số thanh ghi
đã gặp của bộ UART vào địa chỉ cơ bản.
- Mức tín hiệu trên chân ra RxD tùy thuộc vào đường dẫn TxD và thông thường
nằm trong khoảng –12 đến +12. Các bit dữ liệu được gửi đảo ngược lại. Mức điện
áp đối với mức High nằm giữa –3V và –12V và mức Low nằm giữa +3V và +12V.
Trên hình 2-4 mô tả một dòng dữ liệu điển hình của một byte dữ liệu trên cổng nối
tiếp RS-232C.
- Ở trạng thái tĩnh trên đường dẫn có điện áp –12V. Một bit khởi động (Starbit) sẽ
mở đầu việc truyền dữ liệu. Tiếp đó là các bit dữ liệu riêng lẻ sẽ đến, trong đó các
bit giá trị thấp sẽ được gửi trước tiên. Còn số của các bit thay đổi giữa 5 và 8. Ở
cuối của dòng dữ liệu còn có một bit dừng (Stopbit) để đặt trở lại trạng thái ngõ ra
(-12V).
21


Địa chỉ cơ bản của cổng nối tiếp của máy tính PC có thể tóm tắt trong bảng các địa
chỉ sau:
COM 1 (cổng nối tiếp thứ nhất) Địa chỉ cơ bản = 3F8(Hex)
COM 2 (cổng nối tiếp thứ hai) Địa chỉ cơ bản = 2F8(Hex)
COM 3 (cổng nối tiếp thứ ba) Địa chỉ cơ bản = 3E8(Hex)
COM 4 (cổng nối tiếp thứ tư) Địa chỉ cơ bản = 2E8(Hex)
Cũng như ở cổng máy in, các đường dẫn tín hiệu riêng biệt cũng cho phép trao đổi
qua các địa chỉ trong máy tính PC. Trong trường hợp này, người ta thường sử dụng

những vi mạch có mức độ tích hợp cao để có thể hợp nhất nhiều chức năng trên
một chip. Ở máy tính PC thường có một bộ phát/nhận không đồng bộ vạn năng
(gọi tắt là UART: Universal Asnchronous Receiver/ Transmitter) để điều khiển sự
trao đổi thông tin giữa máy tính và các thiết bị ngoại vi. Phổ biến nhất là vi mạch
8250 của hãng NSC hoặc các thế hệ tiếp theo.
Thông thường với các yêu cầu ứng dụng tốc độ thấp người ta giao tiếp qua ngõ nối
tiếp, nó giao tiếp theo tiêu chuẩn RS232C và dùng để giao tiếp giữa máy tính với
Modem hoặc Mouse. Ngoài ra cũng có thể dùng giao tiếp với printer hay plotter
nhưng không thông dụng lắm bởi tốc độ truyền quá chậm. Đối với máy AT cho ta
hai ngõ giao tiếp COM1 và COM2. Trong một số card I/O ta có thể có đến 4 cổng
COM.
Để giao tiếp nối tiếp với 2 ngõ COM này Bus hệ thống của CPU (Data Bus và
Address Bus) hãng IBM sử dụng hai Chip lập trình của Intel là 8250 UART
(Universal Asynchronus Receiver Transmitter). Địa chỉ theo bộ nhớ của hai Chip
này là 0040:0000 cho UART của ngõ COM1 và 0040:0002 cho UART của ngõ
COM2 (Địa chỉ logic do hệ điều hành chỉ định) và địa chỉ theo Port để truy xuất
khi sử dụng là 3F8-3FF cho COM1 và 2F8-2FF cho COM2.
Dữ liệu truyền qua cho Port COM dưới dạng nối tiếp từng Bit một, đơn vị dữ liệu
22

có thể là 5 Bit, 6 Bit hay 1 byte tùy theo sự cài đặt lúc khởi tạo Port COM. Ngoài
ra để truyền dữ liệu qua Port COM còn cần những tham số sau: Bit mở đầu cho
một đơn vị dữ liệu START Bit. STOP Bit (Bit kết thúc). Parity (Kiểm tra chẵn lẻ).
Baud Rate (Tốc độ truyền) tạo thành một Frame (Khung truyền).
Port COM là một thể khởi tạo bằng BIOS thông qua chức năng 0 của Interrupt 14,
nạp vào thanh ghi DX1 chỉ số chọn kênh (COM1 = 0, COM2 = 1).
Thanh ghi AL được nạp vào các tham số của việc truyền dữ liệu.




Bit D0 D1 : Cho biết độ rộng của dữ liệu
0 0 : Dữ liệu có độ rộng 5 Bit
0 1 : Dữ liệu có độ rộng 6 Bit
1 0 : Dữ liệu có độ rộng 7 Bit
1 1 : Dữ liệu có độ rộng 8 Bit.

Bit D2 : Cho biết số Stop Bit.
0 : Sử dụng một bit Stop
1 : Sử dụng hai bit Stop

Bit D3 D4 : Các Bit parity (chẵn lẻ)
0 0 : Không kiểm tra tính Parity
1 1 : Không kiểm tra tính Parity
0 1 : Odd (lẻ)
1 0 : Even (chẵn)

Bit D5D6D7 : Cho biết tốc độ truyền (Baud Rate)
0 0 0 : Tốc độ truyền 110bps (bit per second)
0 0 1 : Tốc độ truyền 150bps (bit per second)
0 1 0 : Tốc độ truyền 300bps (bit per second)
0 1 1 : Tốc độ truyền 600bps (bit per second)
1 0 0 : Tốc độ truyền 1200bps (bit per second)
1 0 1 : Tốc độ truyền 2400bps (bit per second)
1 1 0 : Tốc độ truyền 4800bps (bit per second)

1 1 1 : Tốc độ truyền 9600bps (bit per second)

CÁC IC KÍCH PHÁT VÀ THU CỦA RS232C
Nhờ tính phổ biến của giao tiếp, người ta đã chế tạo các IC kích phát và thu.
Hai vi mạch như vậy được Motorola sản xuất là IC kích phát MC 1488 có dạng vỏ

vuông. Và MC 1489.Mỗi IC kích phát 1488 nhận một tín hiệu mức TTL và chuyển
23

thành tín hiệu ở ngõ ra tương thích với mức điện áp của RS232C. IC 1489 phát
hiện các mức vào của RS232C và chuyển chúng thành các ngõ ra có mức TTL.

MINH HỌA THÔNG TIN NỐI TIẾP BẤT ĐỒNG BỘ

Đối với các máy PC, các cổng liên lạc nối tiếp (serial port) còn được gọi là
các cổng COM. Hoàn toàn có thể sử dụng các cổng này để kết nối máy PC với các
máy tính khác, với các Modem, các máy in, máy vẽ, các thiết bị điều khiển, mouse,
mạng …
Tất cả các máy tính PC có khả năng làm việc tối đa là 4 cổng nối tiếp khi sử dụng
các card giao tiếp I/O chuẩn. Các cổng nối tiếp thường được thiết kế theo các qui
định RS-232 theo các yêu cầu về điện và về tín hiệu. BIOS chỉ hỗ trợ các cổng nối
tiếp RS-232C. Còn các chuẩn khác như: RS-422, BiSync, SDLC, IEEE-488
(GPIB),… cần phải có các trình điều khiển thiết bị bổ sung để hỗ trợ.



Sơ đồ kết nối giữa cổng COM với KIT Vi điều khiển :
24



Sơ đồ thực thực tế

Vi mạch này nhận mức RS232 đã được gởi tới từ máy tính và biến đổi tín hiệu náy
thành tín hiệu TTL để cho tương thích với Vi điều khiển và nó cũng thực hiện
ngược lại là biến đổi tín hiệu TTL từ Vi điều khiển thành mức +12V, -12V để cho

phù hợp hoạt động của máy tính. Giao tiếp theo cách này, khoảng cách từ máy tính
đến thiết bị ngoại vi có thể đạt tới trên 20 mét.
Đối với đề tài chỉ yêu cầu truyền dữ liệu từ máy tính qua KIT chứ không truyền dữ
liệu từ KIT qua máy tính vì vậy chúng em chọn vi mạch MAX232 để thực hiện

×