1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đề tài: Đo tốc độ động cơ dùng 8051 doc

39 1,1K 14

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 39
Dung lượng 865,5 KB

Nội dung

+ PSEN Program Store Enable: PSEN là điều khiển để cho phép bộ nhớ chương trình mở rộng và thường được nối với đến chân /OE OutputEnable của một EPROM để cho phép đọc các bytes mã lệnh..

Trang 1

Luận văn

Đề tài: Đo tốc độ động cơ

dùng 8051

Trang 2

Mục lục

Nội dung

Nội dung 2

Lời nói đầu 3

CHƯƠNG I: CƠ SỞ LÝ THUYẾT 6

1 Giới thiệu tổng quan về họ Vi điều khiển 8051 6

2 Giới thiệu tổng quan về encoder 12

3 Giới thiều về một số linh kiện khác 19

3.1 Sơ lược về led 7 thanh 19

CHƯƠNG II NỘI DUNG 27

1 – Lưu đồ thuật toán chương trình 27

2 – Phần lập trình và mô phỏng 29

CHƯƠNG III KẾT LUẬN 37

1 Ưu điểm 37

2 Nhược điểm 37

Tài liệu tham khảo 39

Trang 3

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ớicủa chúng ta đã và đang ngày một thay đổi, văn minh và hiện đại hơn Sự pháttriể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ểmnổ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ầnthiế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ậnhà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 theothờ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 saunà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ốnghằng ngày

Một trong những ứng dụng thiết thực trong đó là ứng dụng về đo vàhiển thị tốc độ động cơ Đây là một ứng dụng rất quan trọng được áp dụngtrong nhiều lĩnh vực và dây chuyền sản xuất Tốc độ động cơ sẽ được hiển thịtrên màn hình nhờ led 7 thanh, Từ đó chúng ta có thể giám sát được tốc độđộng cơ rùi có các quyết định điều khiển cho phù hợp với yêu cầu Vì thế, với

môn học Vi điều khiển này, em đã quyết định nhận làm bài tập lớn về đo tốc

độ động cơ dùng 8051 Cụ thể trong bài tập này, chúng em sẽ ghép nối vi

điều khiển 89C51RD2 với 4 led 7 thanh để hiển thị tốc độ động cơ, sử dụngencoder có 100(xung/vòng) Chúng em xin trình bày nội dụng cụ thể của bài

Trang 4

tập lớn như sau Kính mong các thầy - cô xem và cho nhận xét, đánh giá đểbài tập lớn được đầy đủ hơn.

Chúng em xin chân thành cảm ơn!

Hà Nội, Ngày 21/03/1013

Trang 5

Đề bài:

Ứng dụng họ vi điều khiển 8051 ghép nối 4 led 7 thanh dể hiển thị số đo tốc

độ động cơ dùng encoder có 100(xung/vòng) Khoảng đo (0-2500)v/p

YÊU CẦU:

Xây dựng mạch nguyên lí?

Xây dựng thuật toán?

Viết chương trình bằng hợp ngữ?

Nhóm sinh viên thực hiện:

1 Nguyễn Tuấn Anh

2 Nguyễn Văn Anh

Trang 6

CHƯƠNG I: CƠ SỞ LÝ THUYẾT

1 Giới thiệu tổng quan về họ Vi điều khiển 8051

AT89C51 là một vi điều khiển 8 bit, chế tạo theo công nghệ CMOSchất lượng cao, công suất thấp với 4 KB PEROM (Flash Programeable anderasable read only memory)

Các đặc điểm của 8951 được tóm tắt như sau:

- 4KB bộ nhớ, có thể lập trình lại nhanh, có khả năng ghi xóa tới

1000 chu kỳ

- Tần số hoat động từ 0 Hz đến 24 MHz

- 3 mức khóa bộ nhớ lập trình

- 2 bộ Timer/Counter 16 bit

- 128 Byte RAM nội

- 4 Port xuất/nhập (I/O) 8 bit

- Giao tiếp nối tiếp

Trang 7

a – Sơ đồ khối và sơ đồ chân của AT89C51

Hình 1 – Sơ đồ khối của AT89C51

OTHER REGISTER 128 byte RAM

128 byte RAM 8032\8052

ROM 0K:

8031\8032 4K:8951 8K:8052

Trang 8

Hình 2 – Sơ đồ chân của AT89C51

b – Chức năng các chân của AT89C51

+ Port 0 (P0.0 – P0.7 hay chân 32 – 39): Ngoài chức năng xuất nhập

ra, port 0 còn là bus đa hợp dữ liệu và địa chỉ (AD0 – AD7), chức năng này sẽđược sử dụng khi AT89C51 giao tiếp với thiết bị ngoài có kiến trúc bus

Hình 3 – Port 0

Trang 9

+ Port 1 (P1.0 – P1.7 hay chân 1 – 8): có chức năng xuất nhập theo bit

và byte Ngoài ra, 3 chân P1.5, P1.6, P1.7 được dùng để nạp ROM theo chuẩnISP, 2 chân P1.0 và P1.1 được dùng cho bộ Timer 2

Hình 4 – Port 1

+ Port 2 (P2.0 – P2.7 hay chân 21 – 28): là một port có công dụng

kép Là đường xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết kếdùng bộ nhớ mở rộng

Hình 5 – Port 2

Trang 10

+ Port 3 (P3.0 – P3.7 hay chân 10 – 17): mỗi chân trên port 3 ngoài

chức năng xuất nhập ra còn có một số chức năng đặc biệt sau:

Hình 6 – Port 3

Trang 11

+ RST (Reset – chân 9): mức tích cực của chân này là mức 1, để reset

ta phải đưa mức 1 (5V) đến chân này với thời gian tối thiểu 2 chu kỳ máy(tương đương 2µs đối với thạch anh 12MHz.)

+ XTAL 1, XTAL 2: AT89S52 có một bộ dao động trên chip, nó

thường được nối với một bộ dao động thạch anh có tần số lớn nhất là 33MHz,thôn thường là 12MHz

Hình minh hoạ

+ EA (External Access): EA thường được mắc lên mức cao (+5V)

hoặc mức thấp (GND) Nếu ở mức cao, bộ vi điều khiển thi hành chươngtrình từ ROM nội Nếu ở mức thấp, chương trình chỉ được thi hành từ bộ nhớ

mở rộng

+ ALE (Address Latch Enable): ALE là tín hiệu để chốt địa chỉ vào

một thanh ghi bên ngoài trong nửa đầu của chu kỳ bộ nhớ Sau đó các đườngport 0 dùng để xuất hoặc nhập dữ liệu trong nửa chu kỳ sau của bộ nhớ

+ PSEN (Program Store Enable): PSEN là điều khiển để cho phép bộ

nhớ chương trình mở rộng và thường được nối với đến chân /OE (OutputEnable) của một EPROM để cho phép đọc các bytes mã lệnh PSEN sẽ ở mức

Trang 12

thấp trong thời gian đọc lệnh Các mã nhị phân của chương trình được đọc từEPROM qua Bus và được chốt vào thanh ghi lệnh của bộ vi điều khiển để giải

mã lệnh Khi thi hành chương trình trong ROM nội, PSEN sẽ ở mức thụ động(mức cao)

+ Vcc, GND: AT89C51 dùng nguồn một chiều có dải điện áp từ 4V –

5.5V được cấp qua chân 40 (+Vcc) và chân 20 (GND)

2 Giới thiệu tổng quan về encoder

Encoder mục đích dùng để quản lý vị trí góc của một đĩa quay, đĩa quay có thể là bánh xe, trục động cơ, hoặc bất kỳ thiết bị quay nào cần xác định vị trí góc

incremental Encoder Tạm dịch là Encoder tuyệt đối và Encoder tương đối.Chữ Encoder tuyệt đối dịch theo nguyên văn, nhưng vì tiếng Việt mình cái gì

có 2 loại, thì loại còn lại được dịch ngược lại với loại kia Cho nen dịch

là Encoder tương đối cho incremental Encoder

Nếu dịch sát nghĩa, khi ta đọc absolute Encoder, có nghĩa

là Encoder tuyệt đối, tức là tín hiệu ta nhận được, chỉ rõ ràng vị trícủa Encoder, chúng ta không cần xử lý gì thêm, cũng biết chính xác vị trícủa Encoder Còn incremental Encoder, là loại Encoder chỉ có 1, 2, hoặc tối

đa là 3 vòng lỗ Các bạn hình dung thế này, nếu bây giờ các bạn đục một lỗtrên một cái đĩa quay, thì cứ mỗi lần đĩa quay 1 vòng, các bạn sẽ nhận đượctín hiệu, và các bạn đã biết đĩa quay một vòng Nếu bây giờ các bạn có nhiều

lỗ hơn, các bạn sẽ có được thông tin chi tiết hơn, có nghĩa là đĩa quay 1/4vong, 1/8 vòng, hoặc 1/n vòng, tùy theo số lỗ nằm trên incremental Encoder

Cứ mỗi lần đi qua một lỗ, chúng ta phải lập trình để thiết bị đo đếm lên 1 Do

Trang 13

vậy, Encoder loại này có tên incremental Encoder (Encoder tăng lên 1 đơnvị).

Nguyên lý hoạt động cơ bản của Encoder, LED và lỗ

Trang 14

Nguyên lý cơ bản của Encoder, đó là một đĩa tròn xoay, quay quanh trục.Trên đĩa có các lỗ (rãnh) Người ta dùng một đèn led để chiếu lên mặt đĩa.Khi đĩa quay, chỗ không có lỗ (rãnh), đèn led không chiếu xuyên qua được,chỗ có lỗ (rãnh), đèn led sẽ chiếu xuyên qua Khi đó, phía mặt bên kia củađĩa, người ta đặt một con mắt thu Với các tín hiệu có, hoặc không có ánhsáng chiếu qua, người ta ghi nhận được đèn led có chiếu qua lỗ hay không.Khi trục quay, giả sử trên đĩa chỉ có một lỗ duy nhất, cứ mỗi lần con mắt thunhận được tín hiệu đèn led, thì có nghĩa là đĩa đã quay được một vòng.Đây là nguyên lý rất cơ bản của Encoder.

Tuy nhiên, những vấn đề được đặt ra là, làm sao để xác định chính xác hơn vị trí của đĩa quay (mịn hơn) và làm thế nào để xác định được đĩa đang quay theo chiều nào? Đó chính là vấn đề để chúng ta tìm hiểu về Encoder.Hình sau sẽ minh họa nguyên lý cơ bản của hoạt động Encoder

Trang 15

Các bạn thấy trong hình, có một đĩa mask, không quay, đó là đĩa cố định, thực

ra là để che khe hẹp ánh sáng đi qua, giúp cho việc đọc Encoder được chính xác hơn mà thôi Chúng ta không để cập đến đĩa mặt nạ này ở đây

Hoạt động của Encoder

Ở đây ta sẽ xét đến incremental Encoder

Các bạn thấy rằng, cứ mỗi lần quay qua một lỗ, thì Encoder sẽ tăng một đơn

vị trong biến đếm

Trang 16

Tuy nhiên, một vấn đề là làm sao để biết được Encoder quay hết một vòng?Nếu cứ đếm vô hạn như thế này, thì chúng ta không thể biết được khi nào nóquay hết một vòng Nếu bây giờ các bạn đếm số lỗ Encoder để biết nó đãquay một vòng, thì nếu với Encoder 1000 lỗ chắc các bạn sẽ đếm đến sángluôn Chưa kể, mỗi lần có những rung động nào đó mà ta không quản lýđược, Encoder sẽ bị sai một xung Khi đó, nếu hoạt động lâu dài, sai số này sẽtích lũy, ngày hôm nay sai một xung, ngày hôm sau sai một xung Đến cuốicùng, có thể động cơ quay 2 vòng rồi các bạn mới đếm được 1 vòng.

Để tránh điều tai hại này xảy ra, người ta đưa vào thêm một lỗ định vị

để đếm số vòng đã quay của Encoder

Như vậy, cho dù có lệch xung, mà chúng ta thấy rằng Encoder đi ngang qua

lỗ định vị này, thì chúng ta sẽ biết là Encoder đã bị đếm sai ở đâu đó Nếu vìmột rung động nào đó, mà chúng ta không thấy Encoder đi qua lỗ định vị, vậythì từ số xung, và việc đi qua lỗ định vị, chúng ta sẽ biết rõ hiện tượng saicủa Encoder

Đây là hình Encoder có lỗ định vị:

Trang 17

Tuy nhiên, một vấn đề lớn nữa là, làm sao chúng ta biết Encoder đang xoay theo chiều nào? Bởi vì cho dù xoay theo chiều nào, thì tín hiệu Encoder cũng chỉ là các xung đơn lẻ và xoay theo hai chiều đều giống nhau.

Chính vì vậy, người ta đặt thêm một vòng lỗ ở giữa vòng lỗ thứ 1 và lỗ định

vị như hình sau:

Trang 18

Chú ý rằng, vị trí góc của các lỗ vòng 1 và các lỗ vòng 2 lệch nhau Các cạnhcủa lỗ vòng 2 nằm ngay giữa các lỗ vòng 1 và ngược lại.

Chúng ta sẽ khảo sát tiếp vấn đề Encoder trong phần tín hiệu xung để hiểu rõhơn về Encoder Tuy nhiên, các bạn sẽ thấy một điều rằng, thay vì làm 2 vòngEncoder, và dùng 2 đèn LED đặt thẳng hàng, thì người ta chỉ cần làm 1 vòng

lỗ, và đặt hai đèn LED lệch nhau

Kết quả, các bạn sẽ thường thấy các Encoder có dạng như hình 2:

Đây là dạng Encoder phổ biến nhất hiện nay

Trang 19

3 Giới thiều về một số linh kiện khác.

3.1 Sơ lược về led 7 thanh

a 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 ngoà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ểntrạ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

Trang 20

Vì led 7 đoạn chứa bên trong nó các led đơn, do đó khi kết nối cần đảmbả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ínhiệu điều khiển.

Sơ đồ vị trí các led

Các điện trở 330Ω là các điện trở bên ngoà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

Trang 21

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.

b 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 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ức1)

Bảng mã hiển thị led 7 đoạ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

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):

Trang 22

Số hiển thị trên led

Trang 23

Số hiển thị trên led

Tụ điện là một linh kiện thụ động cấu tạo của tụ điện

là hai bản cực bằng kim loại ghép cách nhau một khoảng d

Trang 24

ở giữa hai bản tụ là dung dịch hay chất điện môi cách điện có điện dung C.Đặc điểm của tụ là cho dòng điện xoay chiều đi qua, ngăn cản dòng điện mộtchiều.

Khi tụ nạp điện thì tụ sẽ bắt đầu nạp điện từ điện áp là 0V tăng dần đếnđiện áp UDC theo hàm số mũ đối với thời gian t Điện áp tức thời trên hai đầu

tụ của tụ được tính theo công thức:

Khi tụ xả điện thì điện áp trên tụ từ trị số VDC sẽ giảm dần đến 0Vtheo hàm số mũ đối với thời gian t Điện áp trên hai đầu tụ khi xả được tìnhtheo công thức:

Trang 25

Điện trở là linh kiện thụ động có tác dụng cản trở

cả dòng và áp.Điện trở đựơc sử dụng rất nhiềutrong các mạch điện tử

Điện trở của dây dẫn có trị số điện trở lớn haynhỏ tùy thuộc vào vật liệu làm dây, tỉ lệ thuậnvới chiều dài và tỉ lệ nghịch với tiết diện dây dẫn Công thức tính:

Trong đó :

ℓ : là chiều dài của dây (m)

3.4 Thạch anh dao động.

Hình dạng thực tế thạch anh dao động

Trang 26

Thạch anh dao động có nhiệm vụ tạo ra các xung điều khiển thích hợp phục vụ cho vi điều khiển ở đây chúng ta sử dụng thạch anh dao động loại 12MHZ.

3.5 Điện trở treo

Các điện trở treo được thay bằng điển trở thanh 9 chân, sử dụng điệntrở thanh giúp việc thiết kế mạch đơn giản hơn, điện trở thanh 9 chân thựcchất là 8 điện trở cùng giá trị với mỗi đầu của điện trở được nối với nhau

và đầu chung này được đưa ra ngoài bằng một chân nữa Khi nhìn trênđiện trở thanh, phía đầu nào có dấu chấm tròn, thì chân ngoài cùng củaphía đó là chân chung Thông thường chân chung này thường được nối vớinguồn Vcc

Hình dạng thực tế và sơ đồ chân của điện trở treoĐiện trở treo có nhiệm vụ tạo điện áp ở từng mức theo yêu cầu theo giátrị đặt tại các chân của nó

Trang 27

CHƯƠNG II NỘI DUNG

1 – Lưu đồ thuật toán chương trình

Trang 29

2 – Phần lập trình và mô phỏng

a – Phần lập trình

Chương trình hợp ngữ:

ORG 0H ;Khai bao dia chi bat dau CT tu 0h trong Ram noi

;DINH NGHIA CAC BIEN(gan gia tri cac bien)

;CHUONG TRINH CHINH

MAIN:

Trang 30

SETB IT1 ;P3.5 = 1 dau vao cua xung dem T1

MOV TMOD,#00010110b ;Khoi dong TIMER 1 – Che do 16 BIT,

;(COUNTER 0 Che do AUTO_RELOAD)

;Tao chu ky tran cho C0 = 100 xung/vong

Trang 31

JC CONT ;Nhay den nhan CONT

BAT_LOA:

CONT:

MOV TH1,#HIGH(-5000) ;Nap byte cao cua -5000

MOV TL1,#LOW(-5000) ;Nap byte thap cua -5000

DJNZ R0,QUET_LED ;Nhay den QUET_LED neu R0 khac 0

;(Vong lap neu chua du 1s thi quet led)

CALL CALCULATOR ;Chuong trinh con tinh so V/P

RETI

QUET_LED:

MOV DPTR,#LED ;Nap dia chi gian tiep tu LED(ram ngoài) vào con

;trỏ DPTR

MOVC A,@A+DPTR ;Chuyen du lieu trong vung nho A+DPTR vao A

MOV P0,A ;Di chuyen P0=A

Ngày đăng: 19/03/2014, 03:20

HÌNH ẢNH LIÊN QUAN

Hình 1 – Sơ đồ khối của AT89C51 - Đề tài: Đo tốc độ động cơ dùng 8051 doc
Hình 1 – Sơ đồ khối của AT89C51 (Trang 7)
Hình 2 – Sơ đồ chân của AT89C51 - Đề tài: Đo tốc độ động cơ dùng 8051 doc
Hình 2 – Sơ đồ chân của AT89C51 (Trang 8)
Hình 4 – Port 1 - Đề tài: Đo tốc độ động cơ dùng 8051 doc
Hình 4 – Port 1 (Trang 9)
Hình 5 – Port 2 - Đề tài: Đo tốc độ động cơ dùng 8051 doc
Hình 5 – Port 2 (Trang 9)
Hình 6 – Port 3 - Đề tài: Đo tốc độ động cơ dùng 8051 doc
Hình 6 – Port 3 (Trang 10)
Hình minh hoạ - Đề tài: Đo tốc độ động cơ dùng 8051 doc
Hình minh hoạ (Trang 11)
Sơ đồ vị trí các led - Đề tài: Đo tốc độ động cơ dùng 8051 doc
Sơ đồ v ị trí các led (Trang 20)
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): - Đề tài: Đo tốc độ động cơ dùng 8051 doc
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): (Trang 22)
Hình dạng thực tế thạch anh dao động - Đề tài: Đo tốc độ động cơ dùng 8051 doc
Hình d ạng thực tế thạch anh dao động (Trang 25)
Hình dạng thực tế và sơ đồ chân của điện trở treo - Đề tài: Đo tốc độ động cơ dùng 8051 doc
Hình d ạng thực tế và sơ đồ chân của điện trở treo (Trang 26)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w