Báo cáo đo lường và điều khiển máy tính
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA ĐIỆN TỬ
**** ****
BÁO CÁO
ĐỒ ÁN ĐO LƯỜNG VÀ ĐIỀU KHIỂN MÁY TÍNH
Đề tài : 14 Thiết kế bộ điều khiển động cơ điện một chiều
sử dụng cổng nối tiếp
Giáo viên: VŨ THỊ THU HƯƠNG
Sinh viên thực hiện: Lê Đình Thảo
Nguyễn Đăng Trang 1
Báo cáo đo lường và điều khiển máy tính
Mục Lục
Lời nói đầu
A. LÍ THUYẾT
I. sơ lược họ 8051…
a. Sơ lược 8051
b. Sơ lược 89S52
II. Động cơ một chiều….
a. Cấu tạo máy điện một chiều
b. Nguyên lý hoạt động động cơ một chiều
III. Cổng Com ……
IV. Phương pháp điều chế độ rộng xung điều khiển tốc độ
động cơ (PWM)
V. Tổng quan về visual basic….
B.MẠCH MÔ PHỎNG, CODE
C.KẾT LUẬN
8051 ra đời năm 1981 do hãng Intel sản xuất.
Họ điều khiển này có 128 byte RAM,4kbyte ROM,hai bộ đnh thời ,một
cổng nối tiếp và 4 cổng ra\vào song song và là 1 bộ vi xử lý 8 bit.
Sau khi Intel cho các nhà sản xuất khác sản xuất và bán các dạng biến
thể của 8051 thì họ 8051càng ngày càng phổ biến và ngày càng có
nhiều phiên bản khác nhau của 8051 nhưng tất cả đều tương thích
với 8051 ban đầu.
Sau đây là bảng so sánh các họ khác nhau:
4
Số hiệu sản
xuất
Bộ nhớ
chương
trình
Bộ nhớ dữ
liệu
Số bộ định
thời
(bộ
đếm)
8031
8051
8571
8951
8032
8052
8752
8952
0K
4K ROM
liện và địa chỉ(AD0_AD7).Port 0 cũng nhận các byte mã khi lập trình
Flas và xuất các byte mã khi kiểm tra chương trình .Chú y trong
trường hợp này cần có thêm điện trở trước khi nối vào chân Port 0.
2. Port 1 (P1.0_P1.7)
Cũng như Port 0 ,Port 1 cũng có 8 chân. Chức năng của Port 1 chỉ là
xuất nhập dữ liệu .Port 1 cũng có thể xuất nhập theo bit và theo byte.
3. Port 2
Port 2 là port 8 bit ,cũng có chức năng xuất nhập dữ liệu như 2 port
trên.Khi làm nhiệm vụ là port nhập, các chân của port 2 đang được
kéo xuống mức thấp do tác động của bên ngoài sẽ cấp dòng do các
điện trở kéo lên từ bên trong .Port 2 tạo ra byte cao của bus điạ chỉ
trong thời gian tìm nạp lệnh từ bộ nhớ chương trình ngoài và trong
thời gian truy xuất bộ nhớ dữ liệu ngoài sử dụng các địa chỉ 16 bit.
Port 2 cũng nhận các bit địa chỉ cao và tín hiệu điều khiển trông thời
gian lập trình Flash và kiểm tra chương trình.
4. Port 3
Cũng là port xuất nhập dữ liệu 8 bit ,ngoài ra port 3 còn có các chức
năng khác cụ thể như sau:
5
Báo cáo đo lường và điều khiển máy tính
Bit Tên Chức năng
P3.0 RXD Dữ liệu nhận cho Port nối tiếp
P3.1 TXD Dữ liệu truyền cho Port nối tiếp
P3.2 INT0 Ngắt bên ngoài 0
P3.3 INT1 Ngắt bên ngoài 1
P3.4 T0 Ngõ vào của timer/counter0
P3.5 T1 Ngõ vào của timer/counter1
P3.6 /WR Xung ghi bộ nhớ dữ liệu ngoài
P3.7 /RD Xung đọc bộ nhớ dữ liệu ngoài
Đây là 2 chân dùng để cấp nguồn cho IC, dải điện áp thích hợp là 4-
5V.Với Vcc nối với dương nguồn ,GND nối với âm nguồn
b, Sơ lược về Vi điều khiển AT89S52.
1). Cấu tạo.
AT89S52 là Vi Điều Khiển có 8 Kbyte ROM, 253 byte RAM, 3 bộ
định thời, 1 cổng nối tiếp, 6 nguồn ngắt, bộ nạp ISP tích hợp và 32 chân
vào ra. Dạng phổ biến của AT89S52 là đóng gói sạng DIP 40 chân. Dưới
7
Báo cáo đo lường và điều khiển máy tính
đây là sơ đồ khối và chức năng của AT89S52.
8
Báo cáo đo lường và điều khiển máy tính
Hình 1: Sơ đồ khối của AT89S52
Sơ đồ chân và chức năng các chân của AT89S52 như sau:
Hình 2: Sơ đồ chân của AT89S52
VCC (chân 40): Chân cấp nguồn.
GND (chân 20: Chân nối đất.
Port 0 (chân 32 ÷ 39): Port 0 là một port xuất/nhập song 8 bit.
Ngoài ra, Port 0 có thể được định cấu hình để hợp kênh giữa bus địa chỉ
và bus dữ liệu (phần byte thấp) khi truy cập đến bộ nhớ dữ liệu và bộ nhớ
chương trình ngoài. Ở chế độ này, P0 có các điện trở pullup bên trong.
Khi xuất dữ liệu, P0 cần có các điện trở pullup.
Port 1 (chân 1 ÷ 8): Port 1 là một port xuất/nhập song hướng 8 bit
có các điện trở pullup bên trong. Port 1 có thể xuất nhập theo bit hoặc
theo byte. Ba chân P1.5 P1.6 P1.7 dùng để nạp ROM theo chuẩn ISP.
Còn chân P1.0 và P1.1 dùng cho bộ Timer 2.
9
Báo cáo đo lường và điều khiển máy tính
Port 2 (chân 21 ÷28: Port 2 là một port xuất/nhập song hướng 8 bit
có các điện trở pullup bên trong. Đồng thời, P2 còn là byte cao của bus
Xung ghi bộ nhớ dữ liệu ngoài
Xung đọc bộ nhớ dữ liệu ngòai
RST (chân 9): Ngõ vào reset. Một mức cao trên chân này khoảng
hai chu kỳ máy trong khi bộ dao động đang chạy sẽ reset thiết bị.
ALE/PROG: ALE là tín hiệu điều khiển chốt địa chỉ có tần số bằng
1/6 tần số dao động của vi điều khiển. Tín hiệu ALE được dùng để cho
phép mạch chốt bên ngoài chốt byte địa chỉ thấp ra khỏi bus đa hợp địa
chỉ/ dữ liệu (P0).
PSEN (Program Store Enable): là chân điều khiển đọc chương trình
ở bộ nhớ ngoài, nó được nối với chân OE của ROM ngoài. PSEN ở mức
thấp khi đọc mã lệnh. Dữ liệu đọc vào qua cổng P0, khi thực hiện chương
trình trong ROM nội, thì PSEN ở mức cao
EA/Vpp: EA (External Access Enable) là tín hiệu cho phép chọn bộ
nhớ là bộ nhớ trong hay ngoài vi điều khiển. Nếu ở mức cao (nối Vcc) thì
vi điều khiển thi hành chương trình trong ROM nội. Nếu ở mức thấp (nối
GND) thì vi điều khiển thi hành chương trình ở bộ nhớ ngoài.
XTAL1 và XTAL2 (chân 18 và 19): AT89S52 có một bộ dao động
trên chip. Nó thường được nối với bộ dao động thạch anh có tần số lớn
nhất là 33MHz, hoặc 12MHz.
2). Kiểu dữ liệu và hàm sử dụng trong bản thiết kế.
10
Báo cáo đo lường và điều khiển máy tính
• Kiểu dữ liệu.
− Unsigned int: là kiểu số nguyên 16 bit với khoảng giá trị từ 0 ÷
65535.
− Long int: kiểu số nguyên 32 bit với khoảng giá trị từ 0 ÷
±2.147483648 *109.
− Unsigned char: có độ dài 8 bit với khoảng giá trị từ 0 ÷ 255.
− Kiểu mảng: là kiểu dữ liệu gồm nhiều phần tử có cùng kiểu và phân
Timer 0 chạy mà không quan tâm đến INT0. Bit 2 (C/T0) bằng 0 thì
Timer 0 hoạt động theo kiểu định khoảng thời gian còn nếu bằng 1 thì
hoạt động theo kiểu đếm sự kiện. Hai bit còn lại là bit 1 và bit 0 (M1 và
M0) dùng để chọn chế độ hoạt động của Timer 0 là chế độ 13 bit (chế độ
0) hoặc 16 bit (chế độ 1) hay 8 bit tự nạp lại (chế độ 2) hay tách Timer
(chế độ 3). Ví dụ ta cho Timer 0 chỉ định khoảng thời gian khi INT ở mức
cao và đếm tới 10.000 (chế độ 16 bit) thì TMOD cần gán giá trị là 0x09.
II . _____ĐỘNG CƠ MỘT CHIỀU_____
a. Cấu tạo máy điện một chiều
Sau đây là một số sơ đồ của máy điện 1 chiều:
Sơ đồ của một máy điện 1 chiều với bộ phận kích từ song song
12
Báo cáo đo lường và điều khiển máy tính Mạch từ của một máy điện 2 cực Cuộn dây kích từ trên một cực từ
Cấu tạo cổ góp
13
Báo cáo đo lường và điều khiển máy tính
Cấu tạo chổi than
Máy điện một chiều cơ bản gồm 2 phần mạch điện : mạch kích từ và
mạch phần ứng.
Mạch kích từ hay còn hay gọi là stator gồm phần tĩnh là cuộn dây
quấn quanh các cực từ của stator.
Số cực từ là chẵn chúng sắp xếp xen kẽ theo cực tính nam-bắc.Cuộn
ứng
Giả sử các dây dẫn cuộn ứng nữa trên của rotorcos dòng điện hướng
vào còn các dây dẫn của cuộn ứng ở nửa dưới rotor có dòng điện
hướng ra như hình vẽ.Từ lực F tác dụng vào các dây dẫn rotor có
chiều xác định theo quy tắc bàn tay trái sẽ tạo ra một mômen làm rotor
quay ngược chiều kim đồng hồ.
15
Báo cáo đo lường và điều khiển máy tính
Từ trường trong động cơ một chiều:
Khi động cơ làm việc cuộn cảm tạo ra một từ trường Φd dọc trục
cực từ và phân bố đối xứng với cực từ .Mặt phẳng 00’ trên đó có đặt
chổi than ,vừa là mặt phẳng trung tính hình học và cũng là mặt phẳng
trung tính vật lý . Đồng thời dòng điện trong cuộn ứng cũng tạo ra một
từ trường riêng Φn hướng ngang trục cực từ.Từ trường tổng trong
động cơ mất đi tính đối xứng dọc trục và khi này mặt phẳng trung tính
vật lý quay đi một góc β( ngược chiều quay của rotor )so với mặt
phẳng trung tính hình học.
Dòng điện cuộn ứng càng lớn thì Фn càng mạnh đồng thời góc quay
β càng lớn.
III. Cổng COM
A - Tổng quan chuẩn RS232
1) Đặt vấn đề
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
16
Báo cáo đo lường và điều khiển máy tính
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
+ Độ 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 nếu chúng ta không sử model
+ Các giá trị tốc độ truyền dữ liệu chuẩn :
50,75,110,750,300,600,1200,2400,4800,9600,19200,28800,38400 5660
0,115200 bps
4) Các mức điện áp đường truyền
RS 232 sử dụng phương thức truyền thông không đối xứng, tức là sử
dụng tín hiệu điện áp chênh lệch giữa một dây dẫn và đất. Do đó ngay từ
17
Báo cáo đo lường và điều khiển máy tính
đầu tiên ra đời nó đã mang vẻ lỗi thời của chuẩn TTL, nó vấn sử dụng các
mức điện áp tương thích TTL để mô tả các mức logic 0 và 1. Ngoài mức
điện áp tiêu chuẩn cũng cố định các giá trị trở kháng tải được đấu vào bus
của bộ phận và các trở kháng ra của bộ phát.
Mức điện áp của tiêu chuẩn RS232C ( chuẩn thường dùng bây giờ) được
mô tả như sau:
+ Mức logic 0 : +3V , +12V
+ Mức logic 1 : -12V, -3V
Các mức điện áp trong phạm vi từ -3V đến 3V là trạng thái chuyển tuyến.
Chính vì từ - 3V tới 3V là phạm vi không được định nghĩa, trong trường
hợp thay đổi giá trị logic từ thấp lên cao hoặc từ cao xuống thấp, một tín
hiệu phải vượt qua quãng quá độ trong một thơì gian ngắn hợp lý. Điều
này dẫn đến việc phải hạn chế về điện dung của các thiết bị tham gia và
của cả đường truyền. Tốc độ truyền dẫn tối đa phụ thuộc vào chiều dài
của dây dẫn. Đa số các hệ thống hiện nay chỉ hỗ trợ với tốc độ 19,2 kBd .
5) Cổng RS232 trên PC
Hầu hết các máy tính cá nhân hiện nay đều được trang bị ít nhất là 1 cổng
Com hay cổng nối tiếp RS232. Số lượng cổng Com có thể lên tới 4 tùy
từng loại main máy tính. Khi đó các cổng Com đó được đánh dấu là Com
1, Com 2, Com 3 Trên đó có 2 loại đầu nối được sử dụng cho cổng nối
truyền gửi một bit bắt đầu (bit start) để thông báo cho bộ nhận biết một kí
tự sẽ được gửi đến trong lần truyền bit tiếp the . Bit này luôn bắt đầu bằng
mức 0 Tiếp theo đó là các bit dữ liệu (bits data) được gửi dưới dạng mã
ASCII( có thể là 5,6,7 hay 8 bit dữ liệu) Sau đó là một Parity bit ( Kiểm
tra bit chẵn, lẻ hay không) và cuối cùng là bit dừng - bit stop có thể là 1,
1,5 hay 2 bit dừng.
b) Tốc độ Baud
Đây là một tham số đặc trưng của RS232. Tham số này chính là đặc trưng
cho quá trình truyền dữ liệu qua cổng nối tiếp RS232 là tốc độ truyền
nhận dữ liệu hay còn gọi là tốc độ bit. Tốc độ bit được định nghĩa là số bit
truyền được trong thời gian 1 giây hay số bit truyền được trong thời gian
1 giây. Tốc độ bit này phải được thiết lập ở bên phát và bên nhận đều phải
có tốc độ như nhau ( Tốc độ giữa vi điều khiển và máy tính phải chung
nhau 1 tốc độ truyền bit)
Ngoài tốc độ bit còn một tham số để mô tả tốc độ truyền là tốc độ Baud.
Tốc độ Baud liên quan đến tốc độ mà phần tử mã hóa dữ liệu được sử
dụng để diễn tả bit được truyền còn tôc độ bit thì phản ánh tốc độ thực tế
mà các bit được truyền.Vì một phần tử báo hiệu sự mã hóa một bit nên
khi đó hai tốc độ bit và tốc độ baud là phải đồng nhất
Một số tốc độ Baud thường dùng: 50, 75, 110, 150, 300, 600, 1200, 2400,
4800, 9600, 19200, 28800, 38400, 56000, 115200 … Trong thiết bị họ
19
Báo cáo đo lường và điều khiển máy tính
thường dùng tốc độ là 19200
Khi sử dụng chuẩn nối tiếp RS232 thì yêu cầu khi sử dụng chuẩn là thời
gian chuyển mức logic không vượt quá 4% thời gian truyền 1 bit. Do vậy,
nếu tốc độ bit càng cao thì thời gian truyền 1 bit càng nhỏ thì thời gian
chuyển mức logic càng phải nhỏ. Điều này làm giới hạn tốc Baud và
khoảng cách truyền.
c) Bit chẵn lẻ hay Parity bit
a) có hai cách tạo xung có độ rộng thay đổi bằng VĐK.
Cách 1: Như các bạn điều khiển nhấp nháy 1 con led, đó là tạo ra 1
xung trên 1 chân của vi điều khiển, những xung đó có độ rộng cố định,
20
Báo cáo đo lường và điều khiển máy tính
tần số lớn, cách bạn có thể điều chỉnh lại hàm delay để tần số của nó
đúng 1 Khz. Tuy nhiên vì là dùng hàm delay nên trong thời gian có
xung lên 1(5V) và thời gian không có xung(0V) vi điều khiển không
làm gì cả, hơn nữa tạo xung bằng việc delay mà các bạn có nhu cầu cần
2 bộ phát xung của 2 kênh, có cùng tần số mà khác độ rộng xung thì
trở nên rất khó khăn. Cho nên chúng ta dùng bộ định thời Timer của vi
điều khiển trong trong hợp này rất tiện.
+ Cách 2: Dùng ngắt Timer của bộ vi điều khiển
Khi bắt đầu cho timer 1 chạy thì bộ đếm của timer sẽ đếm dao động
của thạch anh, cứ 12 dao động của thạch anh(1 chu kì máy), bộ đếm của
timer 1
TL1(Timer Low1) sẽ tăng 1,có thển nói timer 1 đếm số chu kì máy. Đối
với chế độ 8 bít.
TL1 là 1 thanh ghi 8 bít, là bộ đếm của bộ định thời rõ rồi. Nó đếm
được từ 0, đến 255. Nếu nó đếm đến 256 thì bộ đếm tràn, TL1 quay
vòng lại bằng 0, và cờ ngắt TF1(Timer Flag 1) tự động được gán lên
1(bằng phần cứng của vi điều khiển) như 1 công tắc tự động bật, và ngắt
xảy ra.
Còn với chế độ 16 bít, bộ đếm của bộ định thời còn 1 thanh ghi 8
bít nữa là TH1(Timer high 1), nếu cấu hình cho timer 1 hoạt động ӣ chế
độ 16 bit thì khi TL1 tràn nó sẽ đếm sang TH1(TH1 sẽ tăng 1). Như vậy
ta có thể đếm: 2
16
chu kì máy( 2 thanh ghi 8+8=16 bít).
Chú ý là khi bộ đếm tràn ngắt sẽ xảy ra. Nếu ta cần đếm 256 chu kì máy
phần của
bộ Visual Studio.
Chức năng: Là một ngôn ngữ lập trình dùng để xây dựng các ứng dụng
chạy trên
môi trường Windows.
Đặc điểm: Trực quan, cung cấp các công cụ thuận lợi cho việc tạo các
giao diện. Cài đặt: từ đĩa CD VB6.0, chạy file setup, thực hiện các bước
theo hướng dẫn. Khởi động: Start/Programs/Microsoft Visual Basic
6.0/Microsoft V Basic 6.0
Phiếu New: standard EXE tạo mới một ứng dụng (Project). Phiếu
Existing: mở
ứng dụng đã có.
Cửa sổ giao diện của Visual Basic thường có các cửa sổ con, qui định
việc ẩn
hiện bằng các thao tác:
- View/Project Explorer: trình bày các thành phần của một ứng
dụng.
- View/Properties Window: trình bày các thuộc tính của đối tượng
được chọn. - View/ Form Layout Window: quy định vị trí xuất hiện
của cửa sổ kết quả.
Mỗi ứng dụng là một chương trình bao gồm các chương trình con tương
ứng với
từng sự kiện. Chọn View/Code để viết và xem mã lệnh của các chương
trình con này. Chọn View/Object để thiết kế giao diện cho ứng dụng. VB
lưu giữ các thông tin của một ứng dụng bằng nhiều tập tin .FRM (nội dung
form), .VBP (chương trình chính),…Vì vậy nên tạo thư mục riêng cho từng
ứng dụng.
2) Các thao tác cơ bản khi xây dựng ứng
dụng
22
tượng nào đó. Các đối tượng này có thể là Form, có thể là các ô điều
khiển như
Label, Textbox, Command Button,…Một đối tượng có thể có các thành
phần sau:
+ Thuộc tính (property): quy định những tính chất của đối tượng như
kích thước,
màu sắc, vị trí, giá trị,…
Cú pháp: <Tên_đối_tượng>.<tên thuộc tính>=<giá trị thuộc
23
Báo cáo đo lường và điều khiển máy tính
tính>
Ví dụ: txt1.text="Visual Basic"
Các thuộc tính thông dụng của các đối
tượng:
- Name: tên để phân biệt với đối tượng khác, dùng để truy xuất đến các
giá trị
thuộc tính của đối tượng. Tên không chứa khoảng trống, không gõ dấu
tiếng Việt.
Tên của các đối tượng nên đặt kèm theo phía trước là loại của đối
tượng đó:
Form: frm, TextBox: txt, Command: Cmd, Label: Lbl, ComboBox:
Cmb,…để thuận lợi cho việc khai báo biến về sau.
- Caption: Tiêu đề của đối tượng.
- Font: qui định font chữ cho đối tượng.
- BackColor: màu nền của đối tượng.
- Height, Width: chiều cao, độ rộng của đối
tượng.
- Left, Top: vị trí từ biên trái và biên trên đến góc trên trái của đối
tượng.
- Visible: hiển thị (true) hay không hiển thị (false) đối tượng khi chạy