luận văn
Trang 1TR¦êNG §¹I HäC N¤NG NGHIÖP Hµ NéI
- -
NGUYỄN TIẾN VŨ
THIẾT KẾ, CHẾ TẠO RƠLE TỰ ðỘNG
HÒA ðỒNG BỘ CHÍNH XÁC DÙNG VI ðIỀU KHIỂN
LUẬN VĂN THẠC SĨ KỸ THUẬT
Chuyên ngành: ðiện khí hoá sản xuất nông nghiệp và nông thôn
Mã số : 60 52 54
Ng−êi h−íng dÉn khoa häc: PGS.TSKH TRẦN HOÀI LINH
HÀ NỘI - 2010
Trang 2LỜI CAM ðOAN
Tôi xin cam ñoan rằng:
Số liệu và kết quả nghiên cứu trong luận văn này là trung thực và chưa từng
ñược sử dụng và công bố trong bất kỳ công trình nghiên cứu nào khác
Mọi sự giúp ñỡ cho việc thực hiện luận văn này ñã ñược cảm ơn và các
thông tin trích dẫn trong luận văn ñều ñược chỉ rõ nguồn gốc
Tác giả luận văn
Nguyễn Tiến Vũ
Trang 3LỜI CẢM ƠN
Trong thời gian nghiên cứu hoàn thành luận văn này tôi ñã nhận ñược
sự giúp ñỡ nhiệt tình của tập thể các thầy giáo, cô giáo trường ðại học Nông nghiệp Hà Nội, Trường ðại học Bách Khoa Hà Nội, các ñồng nghiệp tại trường Cao ñẳng nghề Cơ khí nông nghiệp cùng các bạn học viên lớp cao học ñiện K17 trường ðại học Nông nghiệp Hà Nội, ñặc biệt là sự giúp ñỡ của Thầy hướng dẫn
Tôi xin trân trọng cảm ơn PGS TSKH Trần Hoài Linh ñã tận tình
hướng dẫn tôi thực hiện ñề tài Tôi xin trân trọng cảm ơn các thầy cô giáo trong khoa Cơ ñiện trường ðại học Nông nghiệp Hà Nội ñã nhiệt tình giúp ñỡ
và cho những ý kiến quý báu giúp tôi trong quá trình thực hiện ñề tài Tôi xin trân trọng cảm ơn Ban lãnh ñạo Khoa ðiện và các ñồng nghiệp trong Khoa ðiện trường cao ñẳng nghề Cơ khí nông nghiệp, ñã tạo mọi ñiều kiện thuận lợi ñể tôi thực hiện ñề tài Cuối cùng tôi xin trân trọng cảm ơn sự giúp ñỡ tận tình của PGS Nguyễn Bình Thành trường ðại học Bách Khoa Hà Nội cùng
KS Phạm Duy Quyết – GV Khoa ðiện trường Cao ñẳng nghề cơ khí nông nghiệp ñã cộng tác và giúp ñỡ tôi hoàn thành ñề tài
Trong quá trình thực hiện luận văn, mặc dù ñã có nhiều cố gắng xong
do thời gian có hạn nên khó tránh khỏi những thiếu sót, hạn chế Tôi rất mong nhận ñược sự góp ý kiến chân thành của các Thầy cô và bạn bè, ñồng nghiệp
Tác giả luận văn
Nguyễn Tiến Vũ
Trang 4Chương 2 TÌM HIỂU VỀ CÁC PHƯƠNG PHÁP HÒA ðỒNG BỘ 3
2.2 Xác ñịnh thời ñiểm hòa các máy phát ñồng bộ 5
2.3 Một số sơ ñồ hòa ñồng bộ phổ biến tại Việt Nam và trên thế giới 8
2.3.2 Hòa ñồng bộ máy phát vào lưới thông qua máy biến áp 9 2.3.3 Hòa ñồng bộ máy phát ñiện hạ áp bằng tay 13 2.3.4 Sơ ñồ hòa ñồng bộ dùng rơ le – ñược ñề xuất 15
Trang 53.3 Giới thiệu họ vi ñiều khiển AVR, loại ATMEGA8535 33 3.3.1 Tổng quan vi ñiều khiển AVR, loại ATMEGA8535 33
3.3.8 Bộ thu phát nối tiếp dị bộ vạn năng UART 45
5.1.2 Lưu ñồ chương trình truyền bản tin của VðK1: 74 5.1.3 Lưu ñồ chương trình nhận bản tin của vi ñiều khiển 1: 75 5.1.4 Các lưu ñồ phần mềm của Vi ñiều khiển 2 76
Trang 65.2 Chương trình ñiều khiển 82
Chương 6 THỬ NGHIỆM, ðÁNH GIÁ KẾT QUẢ THIẾT KẾ 83
KẾT LUẬN VÀ CÁC ðỀ XUÂT MỞ RỘNG PHẠM VI NGHIÊN CỨU 85
Trang 7DANH MỤC CÁC HÌNH
2.1 ðiện áp phách us , Us (a) và giản ñồ véc tơ (b) 6
2.2 Xác ñịnh thời ñiểm hòa theo góc vượt trước không ñổi
2.3 Xác ñịnh thời ñiểm hòa theo thời gian trước không ñổi
2.5 Sơ ñồ hòa ñồng bộ máy phát vào lưới thông qua MBA ñấu nối
2.6 Sơ ñồ hòa ñồng bộ máy phát vào lưới thông qua MBA ñấu nối
2.7 Sơ ñồ hòa ñồng bộ máy phát vào lưới thông qua MBA ñấu nối
4.1 Sơ ñồ khối phần cứng rơ le hòa ñồng bộ chính xác dùng
4.3 Mạch ño và chuẩn hóa ñiện áp lưới và ñiện áp máy phát 52
4.5 Mạch ño chuẩn hóa tần số lưới và tần số máy phát 53
4.6 ðồ thị dạng xung ñiện áp máy phát và ñiện áp lưới sau mạch
Trang 84.10 Hình ảnh lớp trên của mạch in khối nguồn, khối mạch ño và
chuẩn hóa ñiện áp lưới, ñiện áp máy phát, khối mạch ño và chuẩn
4.11 Hình ảnh lớp dưới của mạch in khối nguồn, khối mạch ño và
chuẩn hóa ñiện áp lưới, ñiện áp máy phát, khối mạch ño và chuẩn
4.12 Hình ảnh mạch thực tế khối nguồn, khối ño và chuẩn hóa
ñiện áp lưới, ñiện áp máy phát, khối ño vầ chuẩn hóa tần số lưới,
4.13 Mạch hiển thị Votl kép và Tần số kép (Vi ñiều khiển 2) 60 4.14 Hình ảnh lớp trên của mạch in khối hiển thị Votl kép và Tần số kép 61 4.15 Hình ảnh lớp dưới của mạch in khối hiển thị Votl kép và Tần số kép 62 4.16 Hình ảnh mạch thực tế khối hiện thị ñiện áp lưới, ñiện áp máy
4.23 Mạch tổng của rơ le hòa ñồng bộ chính xác dùng vi ñiều khiển 71 4.24 Mạch thí nghiệm rơ le hòa ñồng bộ chính xác dùng vi ñiều khiển 72
Trang 9Hệ thống hòa ựồng bộ trước ựây ở các nhà máy ựiện của Việt Nam ựều
do Liên Xô, các nước đông Âu hoặc Trung Quốc chế tạo Những năm 1950, thiết bị hòa ựổng bộ ựược ựiều khiển bằng các tổ hợp Rơle, Aptomat, Contactor và ựiều khiển bằng tay đến những năm 1960-1970 thì hệ hòa ựổng
bộ ựiện áp bắt ựầu ựược thực hiện bằng kỹ thuật số Cho ựến nay cùng với sự phát triển của khoa học, kỹ thuật, công nghệ số ngày càng trở nên phổ biến thì các thiết bị hòa ựồng bộ sử dụng kỹ thuật số cũng ựang dần thay thế những kỹ thuật trước kia
Các hệ thống hòa ựồng bộ sử dụng các tổ hợp rơle, aptomat, contactor
và ựiều khiển bằng tay trên bộc lộ nhiều nhược ựiểm:
- Cồng kềnh, phức tạp về cơ khắ, ựộ tin cậy thấp do phụ thuộc vào chủ quan của người vận hành
- Việc sửa chữa, bảo dưỡng phức tạp, chi phắ lớn, kéo dài thời gian
- Khả năng bảo vệ khỏi các sự cố thấp
Từ những năm sau 1970, thế giới ựã sử dụng công nghệ số ựể sản xuất các hệ thống hòa ựộng bộ Việc thay thế, hiện ựại hóa thiết bị cũ bằng vi mạch
là hoàn toàn hợp lý vì những lý do:
- Nâng cao ựộ chắnh xác, ựộ tin cậy của thiết bị
- Bền, gọn, nhẹ
Trang 10- Có thể tự ñộng chọn ñược chế ñộ và các thông số vận hành tối ưu cho máy phát
- Việc bảo dưỡng và sủa chữa ñơn giản hơn
Tuy nhiên hệ thống hòa ñồng bộ do nước ngoài sản xuất những năm gần ñây khi áp dụng vào ñiều kiện thực tế của Việt Nam cũng ñã bộc lộ một
số nhược ñiểm sau:
- Chúng ta không chủ ñộng ñược về mặt công nghệ
1.2 Mục tiêu của ñề tài
Nhằm khắc phục những khó khăn trên, cũng như mong muốn ứng dụng tiến bộ khoa học công nghệ mới, nhất là kỹ thuật vi ñiều khiển vào ñiều khiển các thiết bị, các dây truyền công nghệ ở Việt Nam Tiến tới chiếm lĩnh kỹ thuật công nghệ mới và làm chủ ñược các hệ thống ñiều khiển tiên tiến,
PGS, TSKH Trần Hoài Linh ñã hướng dẫn tôi thực hiện ñề tài: "Thiết kế, chế
tạo rơle tự ñộng hòa ñồng bộ chính xác dùng vi ñiều khiển"
Mục ñích ñề tài:
- Thiết kế, chế tạo mô hình rơle hoà ñộng hòa ñồng bộ chính xác, dùng
vi ñiều khiển phục vụ làm mô hình thiết bị dạy thực hành môn học vi xử lý tại trường Cao ñẳng nghề Cơ khí nông nghiệp (Bình xuyên – Vĩnh Phúc)
- Ứng dụng sản xuất một rơ le hòa ñồng bộ chính xác cho 1 tổ máy phát gồm 2 máy công suất ñến 1MVA
Trang 11Chương 2 TÌM HIỂU VỀ CÁC PHƯƠNG PHÁP HÒA ðỒNG BỘ
Các máy phát ñiện khi hoạt ñộng ở chế ñộ làm việc song song với một máy khác, hoặc nhiều máy cùng nối chung vào một mạng lưới ñiện luôn ñòi hỏi một số ñiều kiện Một trong các ñiều kiện ñó là các máy phải hoạt ñộng ñồng bộ với nhau
Khi bắt ñầu khởi ñộng một máy phát ñiện, tốc ñộ của máy, tần số máy
và ñiện áp của máy luôn bắt ñầu từ 0 Sau khi thỏa mãn các ñiều kiện tần số
và ñiện áp của máy bằng với trị số ñịnh mức, phải có ñộng tác ñấu nối các máy lại với nhau ðộng tác này gọi là hòa ñồng bộ
Người ta có thể hòa ñồng bộ một máy phát ñiện với một máy khác, một máy phát ñiện với một lưới ñang có ñiện, hoặc 2 lưới cùng ñang có ñiện với nhau
2.1 Các ñiều kiện hòa ñồng bộ máy phát ñiện
ðiều kiện về tần số: Hai máy phải bằng tần số với nhau, hoặc tần số máy phải bằng tần số lưới
ðiều kiện về ñiện áp: Hai máy phải cùng ñiện áp với nhau, hoặc ñiện
áp máy phải bằng ñiện áp lưới
ðiều kiện về pha: Hai máy phải cùng thứ tự pha nếu số pha lớn hơn 1,
và góc pha phải trùng nhau
Ta thấy ñiều kiện 1 và ñiều kiện 3 có vẻ như mâu thuẫn với nhau Vì nếu muốn cho góc pha của 2 phía trùng nhau, thì phải ñiều chỉnh tần số Mà ñã ñiều chỉnh tần số thì tần số không thể bằng nhau Còn nếu muốn giữ nguyên cho 2 tần
số bằng nhau, thì khó có thể ñiều chỉnh ñược góc pha Do ñó ñiều kiện thực tế là:
2.1.1 ðiều kiện về tần số
Tần số của 2 máy xấp xỉ bằng nhau Sai biệt nằm trong khoảng ∆f cho phép ∆f này là bao nhiêu tùy thuộc vào việc chỉnh ñịnh bộ ñiều tốc và rơ le hòa ñiện tự ñộng, hoặc rơ le chống hòa sai
Trang 12Thơng thường, người ta điều chỉnh sao cho ∆f cĩ trị số >0 một chút, nghĩa là tần số máy cao hơn tần số lưới một chút Như vậy khi hịa vào lưới, máy phát sẽ bị tần số lưới giữ lại, nghĩa là máy phát sẽ phát một cơng suất nhỏ ra lưới ngay thời điểm đĩng máy cắt
Một số rơ le cho phép đĩng cả khi tần số máy phát thấp hơn tần số lưới Nhưng vận hành viên thường vẫn điều chỉnh sao cho tần số máy cao hơn Nếu tần số máy thấp hơn lưới, thì sau khi đĩng máy cắt, máy phát sẽ bị tần số lưới kéo cho chạy nhanh lên, cơng suất sẽ bị âm một ít, mát phát làm việc ở chế độ động cơ
Thơng thường, các bộ điều tốc sẽ chỉnh định tốc độ FSNL (Full Speed
No Load) bằng 100,3 % định mức Và đây cũng là tần số ban đầu để đưa hệ thống hịa đồng bộ vào vận hành Với ∆f nhỏ hơn ∆f cho phép, thì khi hịa đồng bộ, cơng suất phát ra hoặc thu vào rất bé, khơng ảnh hưởng gì đến hệ thống
2.1.2 ðiều kiện về điện áp
Người ta cũng cho phép điện áp cĩ sai biệt chút ít so với điện áp lưới
Và thường người ta cũng chỉnh định sao cho điện áp máy phát bằng hoặc hơn
U lưới một chút, để khi đĩng điện thì cơng suất vơ cơng của máy nhỉnh hơn 0 một chút ðối với điện áp thì cĩ thể điều chỉnh cho U máy = U lưới chính xác
mà khơng cĩ vấn đề gì
2.1.3 ðiều kiện về Pha
ðây là điều kiện bắt buộc, và phải tuyệt đối chính xác Thứ tự pha, thường chỉ kiểm tra khi lắp đặt máy hoặc sau khi cĩ thao tác sửa chữa, bảo trì mà phải tháo rời các điểm nối
Vì phải điều chỉnh tần số, nên 2 tần số khơng bằng nhau Do đĩ gĩc pha sẽ thay đổi liên tục theo tần số phách = hiệu của 2 tần số Các rơ le phải
dự đốn chính xác thời điểm gĩc pha bằng 0, biết trước thời gian đĩng của máy cắt, và phải cho ra tín hiệu đĩng MC trước thời điểm đồng bộ bằng đúng thời gian đĩ Thường khoảng dưới 100 ms đến vài trăm ms
Trang 13Các ựiều kiện về ựiện áp và ựiều kiện về tần số, có thể kiểm tra bằng các dụng cụ ựo trực tiếp như vôn kế, tần số kế Nhưng các ựiều kiện về pha: thứ tự pha và ựồng vị pha (góc lệch pha) cần phải kiểm tra nghiêm ngặt hơn
2.1.4 đồng vị pha trong hai hệ thống lưới
đối với các hệ thống phân ựoạn, hệ thống lưới mạch vòng, thì ựồng vị pha ựã ựược xác ựịnh ngay khi thiết kế Tuy nhiên do những sai lệch về ựiện
áp giáng trên ựường dây, trên tổng trở ngắn mạch của máy biến áp, do phối hợp các tổng trở các máy biến áp trong mạch vòng không tốt và do sự phân
bố tải trước khi ựóng, nên góc pha giữa 2 ựầu máy cắt có thể khác 0 Nhưng thường là ắt thay ựổi trong thời gian ngắn Trong trường hợp này, ựóng máy cắt sẽ không gây ra ảnh hưởng gì lớn, ngoại trừ một vài ựiểm nào ựó có khả năng quá tải
đối với một số vùng liên kết với hệ thống lưới bằng 1 ựường duy nhất, hoặc nhiều ựường nhưng do sự cố ựã rã toàn bộ, thì khi ựóng lại, góc pha sẽ không còn 0 nữa Khi ựó, góc pha sẽ thay ựổi liên tục, vì 2 tần số lúc ấy sẽ không còn bằng nhau đóng máy cắt lúc ựó phải ựầy ựủ các ựiều kiện về tần
số như hòa ựồng bộ máy phát ựiện Và thường rất khó, khó hơn hòa ựồng bộ máy phát Vì muốn thay ựổi tần số của một trong 2 hệ thì không thể tác ựộng tại chỗ ựược, mà phải liên hệ từ xa
để bảo ựảm ựồng vị pha, trên mạch ựiều khiển các máy cắt ấy phải có lắp ựặt rơ le hòa ựồng bộ, hoặc rơ le chống hòa sai (ký hiệu 25)
đối với trường hợp thứ nhất, rơ le có thể chỉnh ựịnh với khoảng cho phép khá rộng: góc pha có thể sai từ 5 ựến 15 ựộ, ựiện áp cho phép sai từ 5 ựến 10% Có thể cho phép hoặc không cho phép ựóng trong trường hợp live line dead bus, live bus dead line một số máy cắt còn cho phép ựóng cả trong trường hợp dead line dead bus
2.2 Xác ựịnh thời ựiểm hòa các máy phát ựồng bộ
Như chúng ta ựã biết: Tại thời ựiểm ựấu máy phát ựồng bộ 3 pha vào làm việc với mạng thường kèm theo sự ựập mạch của dòng cân bằng và công
Trang 14suất tác dụng nên trục ñộng cơ lai máy phát, cũng như quá trình giao ñộng ñiện áp mạng và dòng qua các máy phát Nguyên nhân của hiện tượng không mong muốn nói trên là do có sự chênh lệch ñiện áp giữa các pha cùng tên của máy phát và mạng ở thời ñiểm hoà, mà nguyên nhân cơ bản gây ra chênh lệch ñiện áp lại chính là do sự chênh lệch tần số (∆f) của ñiện áp máy phát (ff) và mạng (fm) Chúng ta gọi chênh lệch ñiện áp ñó là ñiện áp phách, hoặc ñiện áp trượt us (Hình 1) Giá trị hiệu dụng của nó (Us) thay ñổi từ không ñến 2U và trở về không với chu kỳ trượt Ts =2π/ωs , tức là theo qui luật :
2
ω 2Usin t
2
ω ω 2Usin 2
δ 2Usin
s = = − = (1) Trong ñó δ - Góc lệch pha giữa 2 véc tơ ñiện áp cùng tên Uf và Um;
ωs = ωf - ωm là tốc ñộ góc trượt;
(a) (b)
Hình 2.1 ðiện áp phách u s , U s (a) và giản ñồ véc tơ (b)
Rõ ràng, muốn triệt tiêu sự xuất hiện dòng cân bằng tại thời ñiểm hoà (thời ñiểm tiếp xúc của các tiếp ñiểm áptômát, hoặc máy cắt) thì cần phải xác ñịnh cho ñược thời ñiểm mà tại ñó giá trị hiệu dụng Us = 0 (chứ không chọn thời ñiểm mà us = 0 )
Từ ñó người ta ñã chọn Us – nguyên nhân xuất hiện xung dòng làm cơ
sở ñể xác ñịnh thời ñiểm hoà ñồng bộ của các thiết bị tự ñộng hoà truyền thống Tuy nhiên do sự tồn tại ñộ trễ thời gian tác ñộng (τ) trong các thiết bị ñóng cắt, cho nên thời ñiểm phát lệnh hoà ñồng bộ phải sớm hơn thời ñiểm hoà (thời ñiểm Us = 0) một khoảng thời gian ñúng bằng τ (s) – ðây là ñiều
δ
Um
Uf
Trang 15kiện bắt buộc ñối với tất cả các thiết bị hoà
Việc xác ñịnh thời ñiểm phát lệnh hoà ñã ñược nghiên cứu và ñã có
nhiều ứng dụng vào thực tế
2.2.2 Các phương án truyền thống:
Chúng ta có 2 phương án truyền thống là:
- Hoà theo góc vượt trước (δtr);
- Hoà theo thời gian vượt trước (ttr)
Giữa góc vượt trước và thời gian vượt trước luôn có quan hệ với nhau
theo theo biểu thức:
δtr = ωs ttr (2)
Tương ứng với hai phương án truyền thống nói trên là hai loại thiết bị
hoà, là:
- Thiết bị hoà với góc vượt trước không ñổi ( δtr = const ) Trong loại này
lệnh hoà sẽ ñược phát tại thời ñiểm khi δ = δtr, nếu ta giữ δtr = const và ñồng
thời thoả mãn ñiều kiện trễ nói trên (τ = ttr) thì việc phát lệnh hoà ñược thực
hiện chỉ khi phù hợp với một giá trị duy nhất của tốc ñộ góc trượt (xem hình 2)
Ngoài giá trị ấy ra thì thời ñiểm hoà sẽ xuất hiện không còn như ý (ðây là
nhược ñiểm cơ bản của phương án này)
Hình 2.2 Xác ñịnh thời ñiểm hòa theo góc vượt trước không ñổi
( δδδtr = const )
- Thiết bị hoà với thời gian vượt trước không ñổi ( ttr = const ) Trong
loại này lệnh hoà sẽ ñược phát tại thời ñiểm sớm hơn thời ñiểm hoà một thời
gian xác ñịnh (ttr), mà nó ñúng bằng thời gian ñóng trễ của thiết bị ñóng cắt
(ttr = τ) Ngoài việc sử dụng tín hiệu U1= k1 Us như phương án trên, ở phương
án này còn dùng thêm một tín hiệu thứ hai – Vi phân của ñiện áp phách (U2 =
Us
t
ωs>ωtr ωs=ωtr ωs < ωtr
Trang 16k2 dUs/dt ) Trong vùng so sánh (dUs/dt < 0) khi giá trị tuyệt ñối của hai tín
hiệu U1 và U2 bằng nhau thì ñó chính là thời ñiểm phát lệnh hoà Bằng cách
lựa chọn k1 và k2 hợp lý chúng ta sẽ làm xuất hiện thời ñiểm phát lệnh hoà
sớm hơn thời ñiểm hoà ñúng bằng thời gian trễ τ, thời ñiểm ñó hoàn toàn
không phụ thuộc vào tốc ñộ góc trượt (xem hình 3) Nhờ tính ưu việt ñó nên
phương án này ñã ñược sử dụng phổ biến
Hình 2.3 Xác ñịnh thời ñiểm hòa theo thời gian trước không ñổi
( t tr = const )
2.2.3 Phương án ñược ñề xuất
Trên cơ sở kế thừa 2 phương án hòa truyền thống phương án này vẫn
dùng 2 tín hiệu tỷ lệ và vi phân của Us như phương án truyền thống Nhưng
khác ở chỗ: 2 tín hiệu này không ñược so sánh ở dạng tín hiệu tương tự, mà
chúng ñược biến ñổi từ giá trị tương tự thành tần số xung (Ví dụ qua mạch
LM331N), trước khi ñưa ñến hai cửa vào ñếm của vi ñiều khiển Tại ñây
chúng ñược so sánh và xử lý bởi chương trình phần mềm
Việc sử dụng vi ñiều khiển, thiết kế, chế tạo rơ le hòa ñồng bộ chính
xác cho phép chúng ta cài ñặt các thông số ∆U, ∆f, ∆Φ cho phép của từng
thiết bị hòa, do vậy với yêu cầu của từng hệ thống chúng ta có thể thay ñổi
thông số một cách nhanh chóng
2.3 Một số sơ ñồ hòa ñồng bộ phổ biến tại Việt Nam và trên thế giới
2.3.1 Hòa ñồng bộ máy phát vào thanh cái
Sơ ñồ hòa một máy phát vào thanh cái có hình như dưới ñây (ñã lọc bỏ
hết các mạch xung quanh, những mạch nào không dính ñến mạch hòa ñồng bộ)
Trang 17
Hình 2.4 Sơ ñồ hòa ñồng bộ máy phát vào thanh cái
Trong hình trên, phía dưới nối vào 3 pha ABC của máy phát Phía trên nối vào ABC của thanh cái Giả sử thanh cái máy phát và máy phát ñều ñược
ño lường bằng một máy biến thế ño lường nối hình V/V
Người ta chỉ cần nối ñất pha b phía thứ cấp của cả 2 phía, và nối a1, b1 vào một phía của cột ñồng bộ, a2, b2 vào phía kia của cột ñồng bộ Như vậy b1 và b2 ñương nhiên ñược nối với nhau
Có thể thấy khi máy phát ñồng bộ với nhau thì:
- ðiện áp a1 bằng với a2, (V1 = V2)
2.3.2 Hòa ñồng bộ máy phát vào lưới thông qua máy biến áp
Tuy nhiên, trong thực tế hiện nay, ít khi người ta nối nhiều máy phát vào một thanh cái máy phát Khuynh hướng chung là thiết kế hợp bộ máy phát - máy biến thế Hình 2.5 cho thấy máy phát nối với máy biến thế lực qua máy cắt ñầu cực
Trang 18Máy biến áp ñấu nối sao / tam giác 1 giờ
Hình 2.5 Sơ ñồ hòa ñồng bộ máy phát vào lưới thông qua MBA ñấu nối
sao / tam giác 1 giờ
Trong trường hợp này, ñể tiết kiệm, người ta sẽ không ñặt bộ biến thế
ño lường trung thế ở giữa máy cắt và máy biến thế Mà sử dụng luôn bộ biến
áp phía cao thế ñể so sánh
Tương tự, hình 2.6, cũng máy biến thế sao tam giác 1 giờ nhưng máy phát ñược nối trực tiếp với máy biến áp Máy cắt hòa ñiện ñặt phía cao thế Người ta cũng không ñặt biến thế ño lường giữa máy cắt và máy biến thế Mà
sử dụng luôn biến thế ño lường của máy phát ñể so sánh
Trang 19
Hình 2.6 Sơ ñồ hòa ñồng bộ máy phát vào lưới thông qua MBA ñấu nối
sao/tam giác 1 giờ
Khi ñặt mạch so sánh như vậy, lợi ñiểm là tiết kiệm ñược một bộ biến
áp ño lường, vốn rất ñắt, và chiếm chỗ Nhưng sẽ nảy sinh ra 2 vấn ñề là pha
và biên ñộ
Về pha, máy biến áp lực thường có tổ ñấu dây sao / tam giác 1 giờ hoặc
11 giờ Nghĩa là khi ñồng bộ, ñiện áp phía cao thế và trung thế sẽ lệch nhau
30 ñộ Vì thế, phải lấy tín hiệu sao cho phù hợp
Như hình trên, là phía cao thế lấy ñiện áp a2-n2 và phía hạ thế lấy tín hiệu ñiện áp dây a1-b1 Cách lấy như vậy sẽ bù trừ pha sao cho dù ñiện áp sơ cấp lệch nhau 30 ñộ, nhưng ñiện thế thứ cấp ñưa vào hệ thống hòa cũng ñồng pha
Về biên ñộ, do phía cao thế lấy ñiện thế pha, nên bị suy giảm ñi 3 lần Hơn nữa, các tỷ số biến thế ño lường không hoàn toàn phối hợp với tỷ số biến thế lực Do ñó phải sử dụng thêm một bộ biến thế ño lường phụ ở 1 trong
2 phía Thường là ñặt ở phía lấy ñiện thế pha, và tăng thế lên cho ñủ ñịnh mức
rơ le
Máy biến áp ñấu nối sao / tam giác 11 giờ
Các hình 2.7; 2.8 tương tự như hình 2.5; 2.6, nhưng nối với máy biến thế lực sao / tam giác 11 giờ
Trang 20ðiện thế phía cao thế ñược lấy ñiện thế pha, c2-n2, và phía trung thế lấy ñiện áp dây c1-b1
Hình 2.7 Sơ ñồ hòa ñồng bộ máy phát vào lưới thông qua MBA ñấu nối
sao / tam giác 11 giờ
Hình 2.8 Sơ ñồ hòa ñồng bộ máy phát vào lưới thông qua MBA ñấu nối
sao / tam giác 11 giờ
Trang 212.3.3 Hòa ñồng bộ máy phát ñiện hạ áp bằng tay
Hiện nay hầu hết các máy phát ñiện ñều có hệ thống hòa ñồng bộ tự ñộng ðề tài trình bày phần giải thích các thao tác hòa ñồng bộ bằng tay chỉ
ñể tham khảo nhằm làm rõ các nguyên lý hòa ñồng bộ
Trường hợp cần hòa ñồng bộ một máy phát diezen vào lưới Máy phát này và lưới ñều có trung tính nối ñất
Kiểm tra thứ tự pha
ðầu tiên, phải bảo ñảm cả hai phía ñều ñúng thứ tự pha Bạn có thể kiểm tra thứ tự pha bằng các cách như sau:
1/ ðồng hồ ño thứ tự pha
2/ Kiểm tra chiều quay của 1 ñộng cơ trên thanh cái khi dùng ñiện lưới Sau ñó mở ñiện lưới ra, ñóng ñiện máy phát vào, và kiểm lại thứ tự pha 3/ Dùng 2 volt kế ño và so sánh khi chưa hòa ñồng bộ ( volt kế chỉ thị kim ñể quan sát chiều tăng giảm) Một volt kế ño giữa pha A của máy và pha
A của lưới Volt kế còn lại ño lần lượt giữa B máy và B lưới, rồi ñến C máy
và C lưới Khi máy chạy, các ñồng hồ này sẽ thay ñổi từ 0 ñến 2 lần UPhañm Nhưng ñiều kiện bắt buộc là chúng phải tăng và giảm ñồng thời Thật chính xác là phải tăng lên max cùng lúc, và giảm xuống 0 cùng lúc Khi ñó thì hai ñầu cầu dao sẽ ñúng thứ tự pha với nhau Trong trường hợp không ñồng thời, bạn thử ñổi lại: Một ñồng hồ vẫn ño A của máy và A của lưới ðồng hồ còn lại ño B máy và C lưới, hoặc C máy và B lưới Nếu trong trường hợp này nó lại lên xuống ñồng ñều, thì chắc chắn là ngược thứ tự pha hai ñầu
Sau khi kiểm tra ñúng thứ tự pha, có thể ñấu nối chắc chắn mạch nhất thứ, và không phải lo lắng gì về thứ tự pha sau này nữa
Kiểm tra ñiện áp
Việc này thì ñơn giản, chỉ cần 2 ñồng hồ Volt lắp ở hai ñầu Tuy nhiên
có thể dùng một ñồng hồ volt ño giữa pha A của máy và pha A của lưới Khi ñiện thế xuống thấp nhất ứng với góc lệch pha = 0 Nếu ñiện thế 2 ñầu bằng nhau thì sẽ xuống ñến 0V Nếu có sai biệt thì sẽ khác 0V
Kiểm tra tần số
Thông thường tần số máy và lưới ñều có ñồng hồ ño Nhưng ñể biết
Trang 22được chính xác 2 tần số lệch nhau bao nhiêu thì khơng thể dựa vào 2 đồng hồ
đĩ được Người ta cĩ thể xác định độ lệch tần số bằng nhiều cách:
1/ Dựa vào đồng bộ kế, nếu cĩ ðồng bộ kế thực chất là một đồng hồ đo gĩc lệch pha giữa 2 nguồn điện Nếu 2 tần số hồn tồn bằng nhau thì kim sẽ đứng yên vì gĩc lệch pha sẽ cố định Nếu cĩ lệch tần số thì kim sẽ chuyển động Tùy vào độ lệch tần số bao nhiêu, mà kim sẽ chuyển động nhanh hay chậm Giả
sử 2 tần số lệch nhau 1Hz, thì kim sẽ quay 1 vịng hết 1 giây (Tần số phách =1 Hz) Nếu tốc độ máy cao, tần số máy cao hơn tần số lưới, thì kim sẽ quay theo chiều kim đồng hồ Nếu tần số máy thấp hơn, kim sẽ quay ngược lại
2/ Dựa vào đèn
Nhìn vào tốc độ sáng tắt của đèn, mà biết được độ lệch tần số Tuy nhiên, cách này khơng cho thấy tần số nào cao hơn Bạn cĩ thể đốn biết tần số nào cao hơn bằng cách nhìn đáp ứng của đèn theo thao tác Bạn thao tác tăng hay giảm tần số của máy thế nào cho tốc độ sáng tắt đèn càng thấp thì càng đưa tần số lại gần nhau Tốt nhất là điều chỉnh sao cho tần số phách khoảng 0,2 đến 0,1 Hz, nghĩa là tốc độ chớp đèn từ 5 đến 10 lần trên một giây
3/ Dựa vào hiệu ứng hoạt nghiệm ðây là kinh nghiệm khi hịa đồng
bộ ngay trên máy ðiện lưới cấp cho đèn neon (ngày xưa thường hay cĩ đèn stroboscope cầm tay) Nếu khơng cĩ thì dùng đèn huỳnh quang hoặc đèn thủy ngân Khi đèn này chiếu vào một trục quay, sẽ cĩ cảm giác trục
đĩ quay chậm hơn, hoặc đứng nguyên, hoặc quay theo chiều ngược lại Tùy thuộc vào độ lệch tần số lưới và tốc độ máy Khi độ lệch tần số = 0 thì thấy cĩ vẻ như trục đang đứng yên Tần số máy thấp hơn thì cĩ vẻ như trục quay ngược chiều Tần số máy cao hơn thì cĩ vẻ như trục quay thuận chiều Tuy nhiên đây chỉ là kinh nghiệm, và khơng khuyến khích sử dụng,
Trang 23trí 12 giờ, là lúc góc pha bằng 0
2/ ðộ sáng tối của ñèn: khi ñèn tắt hẳn, hoặc sáng mờ nhất, là lúc góc pha bằng 0 Tuy nhiên ñây là cách rất không chính xác, vì quán tính nhiệt của dây tóc bóng ñèn, và khả năng phân biệt sáng tối của mắt người
3/ Trị số của volt kế ño phách Trị số lúc min là góc pha = 0
Sau khi kiểm tra tất cả các ñiều kiện:
2.3.4 Sơ ñồ hòa ñồng bộ dùng rơ le – ñược ñề xuất
Hình 2.9 Sơ ñồ khối Hệ thống hoà ñồng bộ
A B B B C B N
22KV/380V
Phụ tải
Trang 24VðK ño, giám sát 3 ñại lượng ñiện áp, tần số, góc pha của 2 máy phát ñồng bộ ( hoặc máy phát và lưới); gửi kết quả hiển thị lên LED 7 thanh
+ ðo ñiện áp (sử dụng phương pháp ño số): Tín hiệu ñiện áp xoay chiều 220V từ máy phát và lưới ñược ñưa qua 2 bộ biến áp trở thành ñiện áp xoay chiều biên ñộ thấp, qua bộ chỉnh lưu (OP07) trở thành ñiện áp 1 chiều 5VDC qua bộ biến ñổi ADC trở thành tín hiệu số 10 bít ñưa vào vi xử lý, vi
xử lý tính toán giá trị Umáy phát, Ulưới gửi kết quả hiển thị lên LED 7 thanh ñồng thời tính ra ∆U = Umáy phát - Ulưới
+ ðo tần số ( Sử dụng phương pháp ño thời gian – ño chu kỳ T): Vi ñiều khiển sẽ ño chu kỳ Tmáy phát, Tlưới sau ñó tính ra fmáy phát, flưới , ∆f theo công thức f = 1/T; ∆f = fmáy phát - flưới Chu kỳ Tmáy phát, Tlưới ñược ño và tính toán bằng vi ñiều khiển
+ ðo góc lệch pha: Dùng phương pháp ño thời gian sử dụng vi ñiều khiển Vi ñiều khiển sẽ tính toán khoảng thời gian sai lệch giữa ñiểm bắt ñầu một chu kỳ của ñiện áp máy phát và ñiện lưới từ ñó suy ra góc lệch pha ∆ϕ ( Cơ sở của phương pháp ño và các linh kiện sử dụng trong phép ño ñược tình bày chi tiết ở chương 4)
Vi ñiều khiển so sánh sai số ∆U, ∆f, ∆ϕ với giá trị ñặt cho phép Khi ñủ ñiều kiện hòa ra lệnh cho ñóng máy cắt, hòa ñồng bộ 2 máy phát với nhau, hoặc hòa ñồng bộ máy phát vào lưới
Chức năng mở rộng, hướng phát triển của ñề tài:
+ Tích hợp chức năng ñiều khiển ñiện áp kích từ của máy phát, ñiều khiển tốc ñộ của tuabin, ñể ñiều chỉnh ñiện áp máy phát bám vào ñiện áp lưới; tần số máy phát bám vào tần số lưới
+ Cho phép ñiều khiển và giám sát truyền thông công nghiệp, giám sát qua mạng máy tính;
+ Cho phép kết hợp với chức năng tự ñộng phân chia tải khi các máy phát làm việc song song
Trang 25Chương 3 LỰA CHỌN VI ðIỀU KHIỂN 3.1 Tổng quan lựa chọn vi ñiều khiển
3.1.1 Nhiệm vụ của vi ñiều khiển
Card vi ñiều khiển có hai vi ñiều khiển với chức năng của từng vi ñiều khiển như sau:
Vi ñiều khiển 1 làm nhiệm vụ:
chuẩn hóa các ñại lượng ño vào như UMF, fMF, ULưới, fLưới
ðọc các thông số cài ñặt: ∆f, ∆U, ∆φ
Tính toán ñể ñưa ra lệnh tác ñộng ñóng máy cắt (lệnh hoà)
Trao ñổi các số liệu ño với vi ñiều khiển 2
Như vậy, vi ñiều khiển 1 là vi ñiều khiển chính Nó có nhiệm vụ ño các ñại lượng ñiện áp lưới, tần số lưới, ñiện áp máy phát và tần số máy phát Tính toán ñể ra lệnh ñóng máy cắt
Vi ñiều khiển 2 có nhiệm vụ nhận dữ liệu từ vi ñiều khiển 1:
Nhận các số ño do vi ñiều khiển 1 gửi sang, truyền các số ño này lên LED 7 thanh
ðọc phím ñể nhận các giá trị config và setting, sau ñó gửi các thông số này sang cho vi ñiều khiển 1
ðể ñáp ứng ñược những nhiệm vụ trên của hai vi ñiều khiển thì trong ñề tài này tôi sử dụng họ vi ñiều khiển AVR, loại ATMEGA8535 và AT 89C52
3.1.2 Giới thiệu về vi ñiều khiển họ MSC-51
3.1.2.1 Giới thiệu cấu trúc phần cứng họ MSC-51 (8951)
ðặc ñiểm và chức năng hoạt ñộng của các IC họ MSC-51 hoàn toàn tương tự như nhau Ở ñây giới thiệu IC 8951 là một họ IC vi ñiều khiển do hãng Intel của Mỹ sản xuất Chúng có các ñặc ñiểm chung như sau:
Các ñặc ñiểm của 8951 ñược tóm tắt như sau:
4 KB EPROM bên trong
Trang 26128 Byte RAM nội
4 Port xuất /nhập I/O 8 bit
Giao tiếp nối tiếp
64 KB vùng nhớ mã ngoài
64 KB vùng nhớ dữ liệu ngoại
Xử lý Boolean (hoạt ñộng trên bit ñơn)
210 vị trí nhớ có thể ñịnh vị bit
4 µs cho hoạt ñộng nhân hoặc chia
3.1.2.2 Khảo sát sơ ñồ chân AT89C51 và chức năng từng chân
3.1.2.2.1 Sơ ñồ chân 8951
Hình 3.1 Sơ ñồ chân IC AT89C51
3.1.2.2.2 Chức năng các chân của AT89C51
Vi xử lý AT89C51 có tất cả 40 chân có chức năng như các ñường xuất nhập Trong ñó có 24 chân có tác dụng kép (có nghĩa là 1 chân có 2 chức năng), mỗi ñường có thể hoạt ñộng như ñường xuất nhập hoặc như ñường ñiều khiển hoặc là thành phần của các bus dữ liệu và bus ñịa chỉ
a.Các Port:
Port 0: Port 0 là port có 2 chức năng ở các chân 32 - 39 của 8951
Trang 27Trong các thiết kế cỡ nhỏ không dùng bộ nhớ mở rộng nó có chức năng như các ñường I/O ðối với các thiết kế cỡ lớn có bộ nhớ mở rộng, nó ñược kết
hợp giữa bus ñịa chỉ và bus dữ liệu
Port 1: Port 1 là port I/O trên các chân 1-8 Các chân ñược ký hiệu
P1.0, P1.1, P1.2, P1.7 có thể dùng cho giao tiếp với các thiết bị ngoài nếu cần Port 1 không có chức năng khác, vì vậy chúng chỉ ñược dùng cho giao
tiếp với các thiết bị bên ngoài
Port 2: Port 2 là 1 port có tác dụng kép trên các chân 21- 28 ñược
dùng như các ñường xuất nhập hoặc là byte cao của bus ñịa chỉ ñối với các thiết bị dùng bộ nhớ mở rộng
Port 3: Port 3 là port có tác dụng kép trên các chân 10-17 Các chân
của port này có nhiều chức năng, các công dụng chuyển ñổi có liên hệ với các ñặc tính ñặc biệt của 8951 như ở bảng sau:
P3.0 RXT Ngõ vào dữ liệu nối tiếp
P3.1 TXD Ngõ xuất dữ liệu nối tiếp
P3.2 INT0\ Ngõ vào ngắt cứng thứ 0
P3.3 INT1\ Ngõ vào ngắt cứng thứ 1
P3.6 WR\ Tín hiệu ghi dữ liệu lên bộ nhớ ngoài
P3.7 RD\ Tín hiệu ñọc bộ nhớ dữ liệu ngoài
b Các ngõ tín hiệu ñiều khiển
Ngõ tín hiệu PSEN (Program store enable):
PSEN là tín hiệu ngõ ra ở chân 29 có tác dụng cho phép ñọc bộ nhớ chương trình mở rộng thường ñược nối ñến chân OE\ (output enable) của Eprom cho phép ñọc các byte mã lệnh
PSEN ở mức thấp trong thời gian Microcontroller 8951 lấy lệnh Các
mã lệnh của chương trình ñược ñọc từ Eprom qua bus dữ liệu và ñược chốt vào thanh ghi lệnh bên trong 8951 ñể giải mã lệnh Khi 8951 thi hành chương
Trang 28trình trong EPROM nội PSEN sẽ ở mức logic 1
Ngõ tín hiệu ñiều khiển ALE (Address Latch Enable)
Khi 8951 truy xuất bộ nhớ bên ngoài, port 0 có chức năng là bus ñịa chỉ và bus dữ liệu do ñó phải tách các ñường dữ liệu và ñịa chỉ Tín hiệu ra ALE ở chân thứ 30 dùng làm tín hiệu ñiều khiển ñể giải ña hợp các ñường ñịa chỉ và dữ liệu khi kết nối chúng với IC chốt
Tín hiệu ra ở chân ALE là một xung trong khoảng thời gian port 0 ñóng vai trò là ñịa chỉ thấp nên chốt ñịa chỉ hoàn toàn tự ñộng
Các xung tín hiệu ALE có tốc ñộ bằng 1/6 lần tần số dao ñộng trên chip và có thể ñược dùng làm tín hiệu clock cho các phần khác của hệ thống Chân ALE ñược dùng làm ngõ vào xung lập trình cho EPROM trong 8951
Ngõ tín hiệu EA\(External Access)
Tín hiệu vào EA\ ở chân 31 thường ñược mắc lên mức 1 hoặc mức 0 Nếu ở mức 1, 8951 thi hành chương trình từ EPROM nội trong khoảng ñịa chỉ thấp 4 Kbyte Nếu ở mức 0, 8951 sẽ thi hành chương trình từ bộ nhớ mở rộng Chân EA\ ñược lấy làm chân cấp nguồn 12V khi lập trình cho Eprom trong 8951
Ngõ tín hiệu RST (Reset)
Ngõ vào RST ở chân 9 là ngõ vào Reset của 8951 Khi ngõ vào tín hiệu này ñưa lên cao ít nhất là 2 chu kỳ máy, các thanh ghi bên trong ñược nạp những giá trị thích hợp ñể khởi ñộng hệ thống Khi cấp ñiện mạch tự ñộng Reset Vì thế có thể Reset bằng tay hoặc Reset tự ñộng
Cách thức hoạt ñộng của Reset tự ñộng như sau: Vi mạch TC1232 kiểm tra chuỗi xung liên tục do vi ñiều khiển phát ra Bình thường vi ñiều khiển phát ra chuỗi xung liên tục tại chân P1.7 và ñược ñược ñưa tới chân số
7 của TC1232 và TC1232 cho mức thấp tại chân reset của vi ñiều khiển
Vì lý do nào ñó (như vi ñiều khiển bị treo) mà TC1232 không nhận ñược chuỗi xung liên tục ñến từ vi ñiều khiển thì lập tức ñưa chân reset của vi ñiều khiển lên mức cao ñể reset cho vi ñiều khiển
Trang 29Các ngõ vào bộ dao ñộng X1,X2
Bộ dao ñộng ñược ñược tích hợp bên trong 8951, khi sử dụng 8951 người thiết kế chỉ cần kết nối thêm thạch anh và các tụ như hình vẽ trong sơ
ñồ Tần số thạch anh thường sử dụng cho 8951 là 11,59Mhz
Chân 40 (Vcc) ñược nối lên nguồn 5V
U1 LM7805/TO 1
3 VIN
VOUT
+ C3 10uF/25V 12VDC In
C2 104
5VDC Out
C1 104
3.1.3 Cấu trúc bên trong vi ñiều khiển:
3.1.3.1 Tổ chức bộ nhớ:
Hình 3.2 Bảng tóm tắt các vùng nhớ 8951
Bộ nhớ trong 8951 bao gồm EPROM và RAM RAM trong 8951 bao gồm nhiều thành phần: Phần lưu trữ ña dụng, phần lưu trữ ñịa chỉ hóa từng bit, các bank thanh ghi và các thanh ghi chức năng ñặc biệt
AT89C51 có bộ nhớ theo cấu trúc Harvard: Có những vùng bộ nhớ riêng biệt cho chương trình và dữ liệu Chương trình và dữ liệu có thể chứa bên trong 8951 nhưng 8951 vẫn có thể kết nối với 64K byte bộ nhớ chương trình
Enable via PSEN
FFFF
0000
Data Memory
Enable via RD&WR
External Memory
Trang 30và 64K byte dữ liệu
F0 F7 F6 F5 F4 F3 F2 F1 F0 B RAM ña dụng
E0 E7 E6 E5 E4 E
3 E2 E1 E0 ACC
D0 D7 D6 D5 D4 D
3
D
2 D1 D0 PSW
B
B
A B9 B8 IP
2F 7F 7E 7D 7C 7B 7A 79 78
2E 77 76 75 74 73 72 71 70 B0 B7 B6 B5 B4 B3 B2 B1 B0 P.3 2D 6F 6E 6D 6C 6B 6A 69 68
2C 67 66 65 64 63 62 61 60 A8 AF AC A
B
A
A A9 A8 IE
23 1F 1E 1D 1C 1B 1A 19 18 8D Không ñược ñịa chỉ hóa bít TH1
22 17 16 15 14 13 12 11 10 8C Không ñược ñịa chỉ hóa bít TH0
21 0F 0E 0D 0C 0B 0A 09 08 8B Không ñược ñịa chỉ hóa bít TL1
20 07 06 05 04 03 02 01 00 8A Không ñược ñịa chỉ hóa bít TL0
07 Bank thanh ghi 0 81 Không ñược ñịa chỉ hóa bít SP
00 (Mặc ñịnh cho R0 -R7) 88 87 86 85 84 83 82 81 80 P0
Trang 31RAM bên trong 8951 ñược phân chia như sau:
Các bank thanh ghi có ñịa chỉ từ 00H ñến 1FH
RAM ñịa chỉ hóa từng bit có ñịa chỉ từ 20H ñến 2FH
Mọi ñịa chỉ trong vùng RAM ña dụng ñều có thể truy xuất tự do dùng kiểu ñịa chỉ trực tiếp hoặc gián tiếp
RAM có thể truy xuất từng bit
8951 chứa 210 bit ñược ñịa chỉ hóa, trong ñó có 128 bit có chứa các byte chứa các ñịa chỉ từ 20H ñến 2FH và các bit còn lại chứa trong nhóm thanh ghi có chức năng ñặc biệt
Ý tưởng truy xuất từng bit bằng phần mềm là các ñặc tính mạnh của microcontroller xử lý chung Các bit có thể ñược ñặt, xóa, AND, OR, … , với
1 lệnh ñơn ða số các microcontroller xử lý ñòi hỏi một chuỗi lệnh ñọc-sửa- ghi ñể ñạt ñược mục ñích tương tự Ngoài ra các port cũng có thể truy xuất ñược từng bit
128 bit có chứa các byte có ñịa chỉ từ 00H -1FH cũng có thể truy xuất như các byte hoặc các bit phụ thuộc vào lệnh ñược dùng
Trang 32Các bank thanh ghi
32 byte thấp của bộ nhớ nội ñược dành cho các bank thanh ghi Bộ lệnh 8951 hổ trợ 8 thanh ghi có tên là R0 -R7 và theo mặc ñịnh sau khi reset
hệ thống, các thanh ghi này có các ñịa chỉ từ 00H - 07H
Các lệnh dùng các thanh ghi RO - R7 sẽ ngắn hơn và nhanh hơn so với các lệnh có chức năng tương ứng dùng kiểu ñịa chỉ trực tiếp Các dữ liệu ñược dùng thường xuyên nên dùng một trong các thanh ghi này
Do có 4 bank thanh ghi nên tại một thời ñiểm chỉ có một bank thanh ghi ñược truy xuất bởi các thanh ghi RO - R7 ñể chuyển ñổi việc truy xuất các bank thanh ghi ta phải thay ñổi các bit chọn bank trong thanh ghi trạng thái
3.1.3.2 Các thanh ghi có chức năng ñặc biệt
Các thanh ghi nội của 8951 ñược truy xuất ngầm ñịnh bởi bộ lệnh Các thanh ghi trong 8951 ñược ñịnh dạng như một phần của RAM trên chip vì vậy mỗi thanh ghi sẽ có một ñịa chỉ (ngoại trừ thanh ghi bộ ñếm chương trình và thanh ghi lệnh vì các thanh ghi này hiếm khi bị tác ñộng trực tiếp) Cũng như R0 ñến R7, 8951 có 21 thanh ghi có chức năng ñặc biệt (SFR: Special Function Register) ở vùng trên của RAM nội từ ñịa chỉ 80H - FFH Tất cả 128 ñịa chỉ từ 80H ñến FFH không ñược ñịnh nghĩa, chỉ có 21 thanh ghi có chức năng ñặc biệt ñược ñịnh nghĩa sẵn các ñịa chỉ
Ngoại trừ thanh ghi A có thể ñược truy xuất ngầm như ñã nói, ña số các thanh ghi có chức năng ñiệt biệt SFR có thể ñịa chỉ hóa từng bit hoặc byte
Thanh ghi trạng thái chương trình (PSW: Program Status Word)
Từ trạng thái chương trình ở ñịa chỉ D0H ñược tóm tắt như sau:
Chức năng từng bit của thanh ghi trạng thái chương trình:
Cờ Carry CY (Carry Flag):
Cờ nhớ có tác dụng kép Thông thường nó ñược dùng cho các lệnh toán học: C=1 nếu phép toán cộng có sự tràn hoặc phép trừ có mượn và ngược lại C=0 nếu phép toán cộng không tràn và phép trừ không có mượn
Trang 33Bit Symbol Address Description
PSW.3 RS0 D3H Register Bank Select 0
00=Bank 0; address 00H÷07H 01=Bank 1; address 08H÷0FH 10=Bank 2; address 10H÷17H 11=Bank 3; address 18H÷1FH
Cờ Carry phụ AC (Auxiliary Carry Flag):
Khi cộng những giá trị BCD (Binary Code Decimal), cờ nhớ phụ AC ñược set nếu kết quả 4 bit thấp nằm trong phạm vi ñiều khiển 0AH - 0FH Ngược lại AC=0
Cờ 0 (Flag 0):
Cờ 0 (F0) là 1 bit cờ ña dụng dùng cho các ứng dụng của người dùng
Những bit chọn bank thanh ghi truy xuất:
RS1 và RS0 quyết ñịnh dãy thanh ghi tích cực Chúng ñược xóa sau khi reset hệ thống và ñược thay ñổi bởi phần mềm khi cần thiết
Tùy theo RS1, RS0 = 00, 01, 10, 11 sẽ ñược chọn Bank tích cực tương ứng là Bank 0, Bank1, Bank2, Bank3
Trang 34Cờ tràn OV (Over Flag):
Cờ tràn ñược set sau một hoạt ñộng cộng hoặc trừ nếu có sự tràn toán học Khi các số có dấu ñược cộng hoặc trừ với nhau, phần mềm có thể kiểm tra bit này ñể xác ñịnh xem kết quả có nằm trong tầm xác ñịnh không Khi các
số không có dấu ñược cộng bit OV ñược bỏ qua Các kết quả lớn hơn +127 hoặc nhỏ hơn -128 thì bit OV=1
Bit Parity (P) :
Bit tự ñộng ñược set hay Clear ở mỗi chu kỳ máy ñể lập Parity chẵn với thanh ghi A Sự ñếm các bit 1 trong thanh ghi A cộng với bit Parity luôn luôn chẵn Ví dụ A chứa 10101101B thì bit P set lên 1 ñể tổng số bit 1 trong A và
Thanh ghi B có thể ñược dùng như một thanh ghi ñệm trung gian ña mục ñích Nó là những bit ñịnh vị thông qua những ñịa chỉ từ F0H - F7H
Con trỏ Ngăn xếp SP (Stack Pointer) :
Con trỏ ngăn xếp là một thanh ghi 8 bit ở ñịa chỉ 81H Nó chứa ñịa chỉ của của byte dữ liệu hiện hành trên ñỉnh ngăn xếp Các lệnh trên ngăn xếp bao gồm các lệnh cất dữ liệu vào ngăn xếp (PUSH) và lấy dữ liệu ra khỏi ngăn xếp (POP) Lệnh cất dữ liệu vào ngăn xếp sẽ làm tăng SP trước khi ghi dữ liệu và lệnh lấy ra khỏi ngăn xếp sẽ làm giảm SP Ngăn xếp của 8031/8051 ñược giữ trong RAM nội và giới hạn các ñịa chỉ có thể truy xuất bằng ñịa chỉ gián tiếp, chúng là 128 byte ñầu của 8951
Trang 35ðể khởi ñộng SP với ngăn xếp bắt ñầu tại ñịa chỉ 60H, các lệnh sau ñây ñược dùng:
MOV SP , #5F
Với lệnh trên thì ngăn xếp của 8951 chỉ có 32 byte vì ñịa chỉ cao nhất của RAM trên chip là 7FH Sở dĩ giá trị 5FH ñược nạp vào SP vì SP tăng lên
1 là 60H trước khi cất byte dữ liệu
Khi Reset 8951, SP sẽ mang giá trị mặc ñịnh là 07H và dữ liệu ñầu tiên
sẽ ñược cất vào ô nhớ ngăn xếp có ñịa chỉ 08H Nếu phần mềm ứng dụng không khởi ñộng SP một giá trị mới thì bank thanh ghi 1 có thể cả 2 và 3 sẽ không dùng ñược vì vùng RAM này ñã ñược dùng làm ngăn xếp Ngăn xếp ñược truy xuất trực tiếp bằng các lệnh PUSH và POP ñể lưu trữ tạm thời và lấy lại dữ liệu, hoặc truy xuất ngầm bằng lệnh gọi chương trình con (ACALL, LCALL) và các lệnh trở về (RET, RETI) ñể lưu trữ giá trị của bộ ñếm chương trình khi bắt ñầu thực hiện chương trình con và lấy lại khi kết thúc chương trình con
Con trỏ dữ liệu DPTR (Data Pointer):
Con trỏ dữ liệu (DPTR) ñược dùng ñể truy xuất bộ nhớ ngoài là một thanh ghi 16 bit ở ñịa chỉ 82H (DPL: byte thấp) và 83H (DPH: byte cao) Ba lệnh sau sẽ ghi 55H vào RAM ngoài ở ñịa chỉ 1000H:
MOV A , #55H
MOV DPTR, #1000H
MOV @DPTR, A
Lệnh ñầu tiên dùng ñể nạp 55H vào thanh ghi A Lệnh thứ hai dùng
ñể nạp ñịa chỉ của ô nhớ cần lưu giá trị 55H vào con trỏ dữ liệu DPTR Lệnh thứ ba sẽ di chuyển nội dung thanh ghi A (là 55H) vào ô nhớ RAM bên ngoài
có ñịa chỉ chứa trong DPTR (là 1000H)
Các thanh ghi Port (Port Register):
Các Port của 8951 bao gồm Port 0 ở ñịa chỉ 80H, Port1 ở ñịa chỉ 90H, Port2 ở ñịa chỉ A0H, và Port3 ở ñịa chỉ B0H Tất cả các Port này ñều có thể truy xuất từng bit nên rất thuận tiện trong khả năng giao tiếp
Trang 36Các thanh ghi Timer (Timer Register):
AT89C51 có chứa hai bộ ñịnh thời/bộ ñếm 16 bit ñược dùng cho việc ñịnh thời ñược ñếm sự kiện Timer 0 ở ñịa chỉ 8AH (TLO: byte thấp) và 8CH (THO: byte cao) Timer1 ở ñịa chỉ 8BH (TL1: byte thấp) và 8DH (TH1 : byte cao) Việc khởi ñộng timer ñược SET bởi Timer Mode (TMOD) ở ñịa chỉ 89H và thanh ghi ñiều khiển Timer (TCON) ở ñịa chỉ 88H Chỉ có TCON ñược ñịa chỉ hóa từng bit
Các thanh ghi Port nối tiếp (Serial Port Register):
AT89C51 chứa một Port nối tiếp cho việc trao ñổi thông tin với các thiết bị nối tiếp như máy tính, modem hoặc giao tiếp nối tiếp với các IC khác Một thanh ghi ñệm dữ liệu nối tiếp (SBUF) ở ñịa chỉ 99H sẽ giữ cả hai dữ liệu truyền và dữ liệu nhập Khi truyền dữ liệu ghi lên SBUF, khi nhận dữ liệu thì ñọc SBUF Các mode vận khác nhau ñược lập trình qua thanh ghi ñiều khiển Port nối tiếp (SCON) ñược ñịa chỉ hóa từng bit ở ñịa chỉ 98H
Các thanh ghi ngắt (Interrupt Register):
AT89C51 có cấu trúc 5 nguồn ngắt, 2 mức ưu tiên Các ngắt bị cấm sau khi bị reset hệ thống và sẽ ñược cho phép bằng việc ghi thanh ghi cho phép ngắt (IE) ở ñịa chỉ A8H Cả hai ñược ñịa chỉ hóa từng bit
Thanh ghi ñiều khiển nguồn PCON (Power Control Register):
Thanh ghi PCON không có bit ñịnh vị Nó ở ñịa chỉ 87H chứa nhiều bit ñiều khiển Thanh ghi PCON ñược tóm tắt như sau:
Bit 7 (SMOD): Bit có tốc ñộ Baud ở mode 1, 2, 3 ở Port nối tiếp khi set
Bit 6, 5, 4 : Không có ñịa chỉ
Bit 3 (GF1) : Bit cờ ña năng 1
Bit 2 (GF0) : Bit cờ ña năng 2
Bit 1 * (PD): Set ñể khởi ñộng mode Power Down và thoát ñể reset
Bit 0 * (IDL) : Set ñể khởi ñộng mode Idle và thoát khi ngắt mạch hoặc reset
Các bit ñiều khiển Power Down và Idle có tác dụng chính trong tất cả các IC họ MSC-51 nhưng chỉ ñược thi hành trong sự biên dịch của CMOS
Trang 373.1.4 Giới thiệu tập lệnh của 8051:
Tập lệnh của 8051 ñược chia thành 5 nhóm:
- Số học
- Luận lý
- Chuyển dữ liệu
- Chuyển ñiều khiển
Các chi tiết thiết lập lệnh:
Rn : Thanh ghi R0 ñến R7 của bank thanh ghi ñược chọn
Data : 8 bit ñịa chỉ vùng dữ liệu bên trong Nó có thể là vùng RAM dữ liệu trong (0-127) hoặc các thanh ghi chức năng ñặc biệt
@Ri : 8 bit vùng RAM dữ liệu trong (0-125) ñược ñánh giá ñịa chỉ gián tiếp qua thanh ghi R0 hoặc R1
#data : Hằng 8 bit chức trong câu lệnh
#data 16 : Hằng 16 bit chứa trong câu lệnh
Addr16 : 16 bit ñịa chỉ ñích ñược dùng trong lệnh LCALL và LJMP Addr11 : 11 bit ñịa chỉ ñích ñược dùng trong lệnh LCALL và AJMP Rel : Byte offset 8 bit có dấu ñược dùng trong lệnh SJMP và những lệnh nhảy có ñiều kiện
Bit : Bit ñược ñịnh ñịa chỉ trực tiếp trong RAM dữ liệu nội hoặc các thanh ghi chức năng ñặc biệt
a Nhóm lệnh xử lý số học:
ADD A, Rn (1byte, 1 chu kỳ máy) : cộng nội dung thanh ghi Rn vào thanh ghi A
ADD A,data (2,1): Cộng trực tiếp 1 byte vào thanh ghi A
ADD A,@Ri (1,1): Cộng gián tiếp nội dung RAM chứa tại ñịa chỉ ñược khai báo trong Ri vào thanh ghi A
ADD A,#data (2,1): Cộng dữ liệu tức thời vào A
ADD A,Rn (1,1): Cộng thanh ghi và cờ nhớ vào A
ADD A,data (2,1): Cộng trực tiếp byte dữ liệu và cờ nhớ vào A
Trang 38ADDC A,@Ri (1,1): Cộng gián tiếp nội dung RAM và cờ nhớ vào A
ADDC A,#data (2,1): Cộng dữ liệu tức thời và cờ nhớ vào A
SUBB A,Rn (1,1): Trừ nội dung thanh ghi A cho nội dung thanh ghi Rn và cờ nhớ SUBB A,data (2,1): Trừ trực tiếp A cho một số và cờ nhớ
SUBB A,@Ri (1,1): Trừ gián tiếp A cho một số và cờ nhớ
SUBB A,#data (2,1): Trừ nội dung A cho một số tức thời và cờ nhớ
INC A (1,1): Tăng nội dung thanh ghi A lên 1
INC Rn (1,1): Tăng nội dung thanh ghi Rn lên 1
INC data (2,1): Tăng dữ liệu trực tiếp lên 1
INC @Ri (1,1): Tăng gián tiếp nội dung vùng RAM lên 1
DEC A (1,1): Giảm nội dung thanh ghi A xuống 1
DEC Rn (1,1): Giảm nội dung thanh ghi Rn xuống 1
DEC data (2,1): Giảm dữ liệu trực tiếp xuống 1
DEC @Ri (1,1): Giảm gián tiếp nội dung vùng RAM xuống 1
INC DPTR (1,2): Tăng nội dng con trỏ dữ liệu lên 1
MUL AB (1,4): Nhân nội dung thanh ghi A với nội dung thanh ghi B
DIV AB (1,4): Chia nội dung thanh ghi A cho nội dung thanh ghi B
DA A (1,1,): hiệu chỉnh thập phân thanh ghi A
ANL data,A (2,1): AND một dữ liệu trực tiếp với A
ANL data,#data (3,2): AND một dữ liệu trực tiếp với A một dữ liệu tức thời ANL C,bit (2,2): AND cờ nhớ với 1 bit trực tiếp
ANL C,/bit (2,2): AND cờ nhớ với bù 1 bit trực tiếp
ORL A,Rn (1,1): OR thanh ghi A với thanh ghi Rn
ORL A,data (2,1): OR thanh ghi A với một dữ liệu trực tiếp
Trang 39ORL A,@Ri (1,1): OR thanh ghi A với một dữ liệu gián tiếp
ORL A,#data (2,1): OR thanh ghi A với một dữ liệu tức thời
ORL data,A (2,1): OR một dữ liệu trực tiếp với thanh ghi A
ORL data,#data (3,1): OR một dữ liệu trực tiếp với một dữ liệu tức thời ORL C,bit (2,2): OR cờ nhớ với một bit trực tiếp
ORL C,/bit (2,2): OR cờ nhớ với bù của một bit trực tiếp
XRL A,Rn (1,1): XOR thanh ghi A với thanh ghi Rn
XRL A,data (2,1): XOR thanh ghi A với mộ dữ liệu trực tiếp
XRL A,@Ri (1,1): XOR thanh ghi A với một dữ liệu gián tiếp
XRL A,#data (2,1): XOR thanh ghi A với mộ dữ liệu tức thời
XRL data,A (2,1): XOR một dữ liệu trực tiếp với thanh ghi A
XRL dara,#data (3,1): XOR một dữ liệu trực tiếp với một dữ liệu tức thời SETB C (1,1): ðặt cờ nhớ
SETB bit (2,1): ðặt một bit trực tiếp
CLR A (1,1): Xóa thanh ghi A
CLR C (1,1): Xóa cờ nhớ
CPL A (1,1): Bù nội dung thanh ghi A
CPL C (1,1): Bù cờ nhớ
CPL bit (2,1): Bù một bit trực tiếp
RL A (1,1): Quay trái nội dung thanh ghi A
RLC A (1,1): Quay trái nội dung thanh ghi A qua cờ nhớ
RR A (1,1): Quay phải nội dung thanh ghi A
RRC A (1,1): Quay phải nội dung thanh ghi A qua cờ nhớ
SWAP (1,1): Quay trái nội dung thanh ghi A 1 nibble (1/2byte)
c Nhóm lệnh chuyển dữ liệu:
MOV A,Rn (1,1): Chuyển nội dung thanh ghi Rn vào thanh ghi A
MOV A,data (2,1): Chuyển dữ liệu trực tiếp vào thanh ghi A
MOV A,@Ri (1,1): Chuyển dữ liệu gián tiếp vào thanh ghi A
MOV A,#data (2,1): Chuyển dữ liệu tức thời vào thanh ghi A
Trang 40MOV Rn,data (2,2): Chuyển dữ liệu trực tiếp vào thanh ghi Rn
MOV Rn,#data (2,1): Chuyển dữ liệu tức thời vào thanh ghi Rn
MOV data,A (2,1): Chuyển nội dung thanh ghi A vào một dữ liệu trực tiếp MOV data,Rn (2,2): Chuyển nội dung thanh ghi Rn vào một dữ liệu trực tiếp MOV data,data (3,2): Chuyển một dữ liệu trực tiếp vào một dữ liệu trực tiếp MOV data,@Ri (2,2): Chuyển một dữ liệu gián tiếp vào một dữ liệu gián tiếp MOV data,#data (3,2): Chuyển một dữ liệu tức thời vào một dữ liệu trực tiếp MOV @Ri,A (1,1): Chuyển nội dung thanh ghi A vào một dữ liệu gián tiếp MOV @Ri,data (2,2): Chuyển một dữ liệu trực tiếp vào một dữ liệu gián tiếp MOV @Ri,#data (2,1): Chuyển dữ liệu tức thời vào dữ liệu gián tiếp
MOV DPTR,# datá6 (3,2): Chuyển một hằng 16 bit vào thanh ghi con trỏ dữ liệu MOV C,bit (2,1): Chuyển một bit trực tiếp vào cờ nhớ
MOV bit,C (2,2): Chuyển cờ nhớ vào một bit trực tiếp
MOV A,@A+DPTR (1,2): Chuyển byte bộ nhớ chương trình có ñịa chỉ là
@A+DPRT vào thanh ghi A
MOVC A,@A+PC (1,2): Chuyển byte bộ nhớ chương trình có ñịa chỉ là
@A+PC vào thanh ghi A
MOV A,@Ri (1,2): Chuyển dữ liệu ngoài (8 bit ñịa chỉ) vào thanh ghi A
MOVX A,@DPTR (1,2): Chuyển dữ liệu ngoài (16 bit ñịa chỉ) vào thanh ghi A MOVX @Ri,A (1,2): Chuyển nội dung A ra dữ liệu ngoài (8 bit ñịa chỉ)
MOVX @DPTR,A (1,2): Chuyển nội dung A ra dữ liệu bên ngoài (16 bit ñịa chỉ) PUSH data (2,2) : Chuyển dữ liệu trực tiếp vào ngăn xếp và tăng SP
POP data (2,2) : Chuyển dữ liệu trực tiếp vào ngăn xếp và giảm SP
XCH A,Rn (1,1) : Trao ñổi dữ liệu giữa thanh ghi Rn v2 thanh ghi A
XCH A,data (2,1) : Trao ñổi giữa thanh ghi A và một dữ liệu trực tiếp
XCH A,@Ri (1,1) : Trao ñổi giữa thanh ghi A và một dữ liệu gián tiếp
XCHD A,@R (1,1) : Trao ñổi giữa nibble thấp (LSN) của thanh ghi A và LSN của dữ liệu gián tiếp
d Nhóm lệnh chuyền ñiều khiển: