SỬ DỤNG LẬP TRÌNH C ĐỂ ĐO TỐC ĐỘ ĐỘNG CƠ QUA 89C51 HIỂN THỊ LED 7 ĐOẠN(SỬ DỤNG LẬP TRÌNH C ĐỂ ĐO TỐC ĐỘ ĐỘNG CƠ QUA 89C51 HIỂN THỊ LED 7 ĐOẠNSỬ DỤNG LẬP TRÌNH C ĐỂ ĐO TỐC ĐỘ ĐỘNG CƠ QUA 89C51 HIỂN THỊ LED 7 ĐOẠNSỬ DỤNG LẬP TRÌNH C ĐỂ ĐO TỐC ĐỘ ĐỘNG CƠ QUA 89C51 HIỂN THỊ LED 7 ĐOẠNSỬ DỤNG LẬP TRÌNH C ĐỂ ĐO TỐC ĐỘ ĐỘNG CƠ QUA 89C51 HIỂN THỊ LED 7 ĐOẠN)
Trang 1Mục lục
Lời mở đầu
Chương 1 :tìm hiểu về 89C51RD2 và các thiết bị liên quan
1.1 giới thiệu tổng quan về 89C51
1.2 Giới thiệu về encoder
1.3 Giới thiệu LED 7 thanh
1.4 tụ điện
1.5 điện trở
1.6 Thạch anh dao động
1.7 điện trở treo
Trang 2Lời mở đầu
Ngày nay với ứng dụng không ngừng của khoa học kĩ thuật,thế giới chúng ta đang thay đổi không ngừng Trong đó với sự phát triển không ngừng của ngành kĩ thuật vi xử lý và vi điều khiển giúp cho chúng ta có thể thực hiện được nhiều công việc khác nhau phục vụ cho nhu cầu của con người Nó mang đến cho chúng ta thấy được độ chính xác cao ,tốc độ xử lý
nhanh,gọn nhẹ
Một trong những ứng dụng quan trọng của vi điều khiển là việc
đo tốc độ động cơ sử dụng encoder ,đây là một ứng dụng được
sử dụng rất rộng rãi trên thực tế với việc kết nối một 89C51 với encoder hiển thị trên 4 led bảy thanh đồng thời sử dụng mạchtruyền thông chuẩn RS_232,có sử dụng them các thiết bị cảnh báo và các nút bật tắt Chính vì sự hữu ích trong việc sử dụng 89C51 cho ứng dụng này mà nhóm chúng em đã nhận đề tài trên để mong có thể đi sâu và nghiên cứu kĩ hơn những ứng dụng của chúng Với lượng kiến thức có hạn không thể nào che lấp được hết những sai xót và khuyết điểm trong quá trình làm
đề tài vì vậy chúng em kính mong cô sẽ góp ý và giúp đỡ chúng
em nhiều hơn nữa
HÀ NỘI,ngày tháng ,2017
Trang 3Chương 1 giới thiệu tổng quan các thiết bị
1.1 giới thiệu tổng quan về 89C51
AT89C51 là vi điều khiển do Atmel sản xuất, chế tạo theo công nghệ
CMOS có các đặc tính như sau:
+,4 Kbyte ROM (Flash Programmable and Erasable Read Only Memory), có khả năng thực hiện 1000 chu kì ghi xóa +,Tần số hoạt động 0-24 MHz
+,3 mức khóa bộ nhớ lập trình
+,128 Kbyte RAM nội
+,4 port xuất/nhập 8 bit
+,2 bộ đếm định thời Timer/counter 16 BIT
Trang 4Hình 1.1 Cấu trúc chung của họ 89C51
Các chức năng của 89C51
+,chân EA/ trên chân 31 thường đặt ở mức cao (+5v).Nếu ở mức cao thì 89C51 thi hành chương trình từ ROM trong khoảng địa chỉ thấp Nếu ở mức thấp ,chương trình được thi hành từ bộ nhớ mở rộng
+,Chân PSEN là chân tín hiệu ra trên chân 29 Nó là tín hiệu điều khiển cho phép chương trình mở rộng ,chân PSEN thường được nối với chân OE/ (output enable ) của các bộ nhớ để đọc các bytes mã lệnh
Hãy nhớ rằng : bình thường chân /PSEN sẽ được thả trống ( No Connect).Chỉ khi nào cho /EA ở mức thấp thì lúc đó: /PSEN sẽ ở mức thấp trong thời gian lấy lệnh Các mã nhị phân của chương trình được lấy từ EPROM qua bus dữ liệu và được chốt vào thanhghi lệnh của 8951 để giải mã lệnh /PSEN ở mức thụ động (mức cao) nếu thi hành chương trình trong ROM nội của 8951
89C51 hoạt động với nguồn 5V được nối với chân 40 của vi điều khiển ,chân 20 nối với nguồn
CỔNG VÀO RA
Tất cả các vi điều khiển 8051 đều có 4 cổng vào /ra 8 bit có thể thiết lập như cổng vào hoặc ra Như vậy có 32 chân vào ra cho phép kết nối với các thiết bị ngoại vi :
Port 0 ;Port 0 là port có 2 chức năng ở các chân 32 – 39 của
89C51 :
+,chức năng xuất /nhập :dùng cho các thiết kế nhỏ Tuy nhiên khi dùng với chức năng này thì các chân phải được nối với các điện trở kéo lên ,
+ khi dùng làm ngõ vào thì port phải được set với mức logic 1
Trang 5+,chức năng địa chỉ /dữ liệu đa hợp :khi dùng cho các thiết kế lớn thì port vừa có chức năng là bus dữ liệu ,vừa là bus địa chỉ giúp mở rộng địa chỉ bộ nhớ
Port 1 (chân 1 – 8) chỉ có một chức năng I/O,không dùng cho
các mục đích khác (chỉ trong 8032/8052/8952 thì dùng thêm P1.0 và P1.1 cho bộ định thời thứ 3).Tại Port có các điện trở kéo lên không cần các điện trở ngoài
Khi dùng làm ngõ ngoài thì cần set port 1 lên mức logic 1
Port 2: Port 2 (chân 21 – 28) là port có 2 chức năng: + Chức
năng I/O (xuất / nhập) + Chức năng địa chỉ: dùng làm 8 bit địa chỉ cao khi cần bộ nhớ ngoài có địa chỉ 16 bit Khi đó, Port 2 không được dùng cho mục đích I/O + Khi dùng làm ngõ vào, Port 2 phải được set mức logic 1 trước đó
Port 3: Port 3 (chân 10 – 17) là port có 2 chức năng: + Chức
năng I/O Khi dùng làm ngõ vào, Port 3 phải được set mức logic
1 trước đó + Chức năng khác: mô tả như sau:
Bảng 1.1 Chức năng các chân của port 31.2 Giới thiệu về encoder
,encorder là thiết bị điện cơ dùng để biến đổi các vị trí góc của trục quay từ giá trị analog sang mã digital.Đĩ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 vi trí góc
+,encoder được xem như là một thiết bị dùng để chuyển đổi
Trang 6 Phân loại encoder.
+,absolute encoder
+, incremental encoder
Nguyên lý cơ bản của encoder
+,Nguyên lý cơ bản của encoder
Đó là một đĩa xoay tròn Trên đĩa có các lỗ (rãnh).Người ta dùng 1 đèn led để chiếu lên mặt đĩa Khi đĩa quay ,chỗ
không có lỗ ,đèn led không chiếu xuyên qua được ,chỗ có lỗ đèn led chiếu xuyên qua được Khi đó phía mặt bên kia của đĩa ,người ta đặt một mắt thu để thu tín hiệu Với tín hiệu củađèn led chiếu qua ,người ta ghi nhận được đèn led có chiếu qua chỗ có lỗ hay không
Khi trục quay, giả sử trên đĩa chỉ có một vòng duy nhất có
100 lỗ, cứ mỗi lần con mắt thu nhận được 100 tín hiệu đèn led, thì có nghĩa là đĩa đã quay được một vòng.Tuy nhiên những vấn đề được đặt ra là làm sao để xác định chính xác vịchí của đĩa quay và làm thế nào để xác định được chính xác đĩa quay đang quay theo chiều nào ?đó chính là vấn đề
chúng ta cần làm rõ
Nhận thấy một điều rằng, encoder tuyệt đối rất có lợi cho những trường hợp khi góc quay là nhỏ, và động cơ không quay nhiều vòng Khi đó, việc xử lý encoder tuyệt đối trở nên
dễ dàng cho người dùng hơn, vì chỉ cần đọc giá trị là chúng tabiết ngay được vị trí góc của trục quay
Tuy nhiên, nếu động cơ quay nhiều vòng, điều này không có lợi, bởi vì khi đó, chúng ta phải xử lý để đếm số vòng quay của trục
Ngoài ra, như các bạn thấy đó, nếu thiết kế encoder tuyệt đối, chúng ta cần quá nhiều vòng lỗ, và dẫn tới giới hạn về kích thước của encoder, bởi vì việc gia công chính xác các lỗ quá nhỏ là không thể thực hiện được Chưa kể rằng việc thiết
kế một dãy đèn led và con mắt thu cũng ảnh hưởng rất lớn
Trang 7đến kích thước giới hạn này.
Các bạn thấy rằng ,cứ mỗi lần quay qua một lỗ ,thì
encoder sẽ tang một đơn vị trong biến đếm
Tuy nhiên làm sao chúng ta biết được rằng encoder đã quay hết một vòng Vì thế người ta đưa ra 1 lỗ định vị để đếm
số vòng đã quay của encoder
Tuy nhiên một vấn đề nữa là làm sao chung ta biết được
encoder đang quay theo chiều nào ? bởi vì cho dù nó đang quaytheo 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
Trang 8Chính vì vậy người ta đặt them một vòng lỗ ở giữa vòng lỗ thứ nhất và lỗ định vị
1.3 Giới thiệu LED 7 thanh
Led 7 đoạn có cấu tạo bao gồm 7 led đơn xếp theo hình phía trên 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 thanh
- 8 led đơn trên led 7 thanh có Anode (cực +) hoặc Cathode (cực-) được nối chung với nhau vào một điểm và được đưa chân ra ngoài để kết nối với mạch điện 7 cực còn lại trên mỗi led đơn của led 7 đoạn và 1 cực trên led đơn ở góc dưới, bên phải của led 7 đoạn được đưa thành 8 chân riêng để điều khiển cho led sáng tắt theo ý muốn
- Nếu led 7 đoạn có Anode (cực +) chung, đầu chung này được nối với +Vcc, các chân còn lại dùng để điều khiển trạng thái sáng tắt của các led đơn, led chỉ sáng khi tín hiệu đặt vào các chân này ở mức 0
- Nếu led 7 đoạn có Cathode (cực -) chung, đầu chung này được nối xuống Ground (hay Mass), các chân còn lại dùng để điều khiển trạng thái sáng tắt của các led đơn, led chỉ sáng khi tín hiệu đặt vào các chân này ở mức 1
Bảng 1.2 Các hệ mã thông dụng:
Trang 9Mã led 7 thanh cho anod chung ,muốn thanh nào sáng ta xuất chân catot của LED đơn đó mức 0
Mã LED 7 thanh có catot chung ,muốn thanh nào sáng ta xuất
ra chân anod của LED đơn có mức logic là 1:
Trang 101.4 tụ điện
Tụ điện là một loại linh kiện điện tử thụ động tạo bởi hai bề
mặt dẫn điện được ngăn cách bởi điện môi Khi có chênh lệch điện thế tại hai bề mặt, tại các bề mặt sẽ xuất điện
tích cùng điện lượng nhưng trái dấu.[1]
Sự tích tụ của điện tích trên hai bề mặt tạo ra khả năng tích trữ năng lượng điện trường của tụ điện Khi chênh lệch điện thế trên hai bề mặt là điện thế xoay chiều, sự tích luỹ điện tích bị chậm pha so với điện áp, tạo nên trở kháng của tụ điện trong mạch điện xoay chiều
Về mặt lưu trữ năng lượng, tụ điện có phần giống với ắc qui Mặc dù cách hoạt động của chúng thì hoàn toàn khác nhau, nhưng chúng đều cùng lưu trữ năng lượng điện Ắc qui có 2 cực, bên trong xảy ra phản ứng hóa học để tạo ra electron ở cực này và chuyển electron sang cực còn lại Tụ điện thì đơn giản hơn, nó không thể tạo ra electron - nó chỉ lưu trữ chúng
Tụ điện có khả năng nạp và xả rất nhanh Đây là một ưu thế của nó so với ắc qui
Trang 11Hình 1.2 :Ảnh tụ điện
Điện dung là đại lượng vật lý nói lên khả năng tích điện giữa
hai bản cực của tụ điện Điện dung của tụ điện phụ thuộc vào diện tích bản cực, vật liệu làm chất điện môi và khoảng cách giữ hai bản cực theo công thức:
C=ε
Với:
C: là điện dung tụ điện, đơn vị là Fara [F]
ε: Là hằng số điện môi của lớp cách điện;
ε0: Là hằng số điện thẩm;
d: là chiều dày của lớp cách điện;
S: là diện tích bản cực của tụ điện
1 điện trở
Điện trở kháng là đại lượng vật lý đặc trưng cho tính chất cản
trở dòng điệncủa vật liệu Điện trở kháng được định nghĩa là tỉ
số của hiệu điện thế giữa hai đầu vật thể đó với cường độ đòn điện đi qua nó
R=
U là hiệu điện thế (V)
Trang 12Thạch anh được sử dụng trong nhiều lĩnh vực khác nhau: điện tử,quang học, và trong ngọc học Các tinh thể thạch anh trong suốt có màu sắc đa dạng: tím, hồng, đen, vàng, và được sử
Trang 13tím của thạch anh được coi là đá quý của tháng hai và là loại được ưa chuộng nhất của họ thạch anh.
Hình 1.4 Ảnh tinh thể thạch anh
1.7 đ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ện trở treo giúp cho việc thiết kế mạch trở lên đơn giản hơn, điện trở treo 9 chân thực chất là 8 điện trở có cùng giá trị với nhau với mỗi đầu của điện trở được nối với nhau và đầu chung này được đưa ra bằng 1 chân nữa Khi nhìn điện trở treo thì đầu nào có dấu chấm tròn ,thì chân ngoài cùng của phía đó là chân chung Thông thương chân này được nối với Vcc
Trang 14Hình 1.5 ảnh điện trở treo
1.8 cổng truyền thông RS232
A, Ngày nay các thiết bị đo lường, điều khiển đều phải giao tiếp với máy tính để quan sát thông số và chế độ hoạt động củathiết bị như thế nào? Chuẩn giao tiếp được coi là đơn giản và dễdùng đó là cổng RS232 Hầu như các thiết bị đều được giao tiếp với máy tính thông qua chuẩn này
Hình 1.6 ảnh chuẩn truyền thông RS232Vấ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ếpRS232 là một trong những kỹ thuật được sử dụng rộng rãi để ghép nối các thiết bị ngoại vi với máy tính.Nó là một chuẩn giaotiếp nối tiếp dùng định dạng không đồng bộ, kết nối nhiều nhất
là 2 thiết bị , chiều dài kết nối lớn nhất cho phép để đảm bảo dữliệu là 12.5 đến 25.4m, tốc độ 20kbit/s đôi khi là tốc độ
115kbit/s với một số thiết bị đặc biệt Ý nghĩa của chuẩn truyền thông nối tiếp nghĩa là trong một thời điểm chỉ có một bit được
Trang 15đối dài là RS232B và RS232C Nhưng cho đến nay thì phiên bản RS232B cũ thì ít được dùng còn RS232C hiện vẫn được dùng và tồn tại thường được gọi là tên ngẵn gọn là chuẩn RS232
Các máy tính thường có 1 hoặc 2 cổng nối tiếp theo chuẩn RS232C được gọi là cổng Com Chúng được dùng ghép nối cho chuột, modem, thiết bị đo lường Trên main máy tính có loại 9 chân hoặc lại 25 chân tùy vào đời máy và main của máy tính Việc thiết kế giao tiếp với cổng RS232 cũng tương đối dễ dàng, đặc biệt khi chọn chế độ hoạt động là không đồng bộ và tốc độ truyền dữ liệu thấp
- Ưu điểm của giao diện nối tiếp RS232
+ Khả năng chống nhiễu của các cổng nối tiếp cao+ Thiết bị ngoại vi có thể tháo lắp ngay cả khi máy tính đang được cấp điện
+ Các mạch điện đơn giản có thể nhận được điện áp nguồn nuôi qua công nối tiếp
- Những đặc điểm cần lưu ý trong chuẩn RS232
+ Trong chuẩn RS232 có mức giới hạn trên và dưới (logic 0 và 1) là +-12V Hiện nay đang được cố định trở kháng tải trong phạm vi từ 3000 ôm - 7000 ôm+ Mức logic 1 có điện áp nằm trong khoảng -3V đến -12V, mức logic 0 từ +-3V đến 12V
+ Tốc độ truyền nhận dữ liệu cực đại là 100kbps ( ngày nay có thể lớn hơn)
+ Các lối vào phải có điện dung nhỏ hơn 2500pF+ Trở kháng tải phải lớn hơn 3000 ôm nhưng phải nhỏhơn 7000 ôm
+ Độ dài của cáp nối giữa máy tính và thiết bị ngoại
vi ghép nối qua cổng nối tiếp RS232 không vượt qua 15m 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 56600,115200 bps
B, Sơ đồ ghép nối RS232
Có rất nhiều mạch giao tiếp của RS232 giữa vi điều khiển hay các thiết bị khác Dưới đây là những mạch giao tiếp thường được dùng
1) Mạch chuẩn giao RS232 dùng IC Max232
Max232 là IC chuyên dùng cho giao tiếp giữa RS232 và thiết bịngoại vi Max232 là IC của hãng Maxim Đây là IC chay ổn định
và được sử dụng phổ biến trong các mạch giao tiếp chuẩn
RS232 Giá thành của Max232 phù hợp (12K hay 10K) và tích
Trang 16hợp trong đó hai kênh truyền cho chuẩn RS232 Dòng tín hiệu được thiết kế cho chuẩn RS232 Mỗi đầu truyền ra và cổng nhận tín hiệu đều được bảo vệ chống lại sự phóng tĩnh điện ( hình như là 15KV) Ngoài ra Max232 còn được thiết kế vớinguồn +5V cung cấp nguồn công suất nhỏ.
Mạch giao tiếp như sau :
Hình 1.7 ảnh ghép nối RS232 dùng IC MAX232
Chương 2 :xây dựng lưu đồ thuật toán
1 Tính toán lựa chọn thiết bị
- Hệ thống gồm có vi điều khiển 89C51RD2, mạch truyềnthông chuẩn RS_232(vi mạch MAX232), 4 led 7 thanh,cảmbiến đo tốc độ động cơ, loa cảnh báo ngưỡng cao,thấp, nút ấn RUN and STOP
- Dùng transistor NPN phục vụ cho quá trình quét led
- Dùng 1 chiết áp để thay đổi điện áp cấp nguồn cho động
cơ để thay đổi tốc độ của động cơ
Trang 172 Xây dựng mạch nguyên lý
Theo yêu cầu của bài toán là hiển thị số đo tốc độ động cơ dùng encoder lên led 7 thanh nên ta có thể sử dụng mạch nguyên lý như hình dưới.
Thuyết minh hoạt động của mạch:
Sau khi cấp nguồn mạch và động cơ, ấn RUN động cơ bắt đầu chạy và vi điều khiển thực hiện đo tốc độ động cơ và hiển thị lên mà hình 4 led 7 thanh Cứ 1s vi điều khiển sẽ cập nhật tốc
độ động cơ 1 lần Chu trình kết thúc khi ấn nút STOP, hệ thống
sẽ lưu lại giá trị cuối cùng đo được
3 Xây dựng thuật toán
4 Kết quả mô phỏng
#include<regx52.h>
#define RUN P1_6
Trang 18unsigned int Soxung,Demxung,Vong,n,tam,cuoi;
unsigned char time=0;
unsigned char
CharCode[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//for number 0->9
Trang 19void NGAT0(void) interrupt 0
}TH1=THx;TL1=TLx;//dat cho lan sau
Trang 20{
Trang 23while(!chuki) {
Vong=Vong ;Display(Vong);
Trang 24} };
}
void Sys_init()
{
TMOD=0x10; //cho time1 chay
EX0=1; //cho phep ngat ngoai 1 IT0=1; //cho phep ngat suon am TH1=THx;TL1=TLx;//dat gia tri cho time 1 TR1=1; //dat thoi gian bat dau chay ET1=1; //cho phep ngat time 1
EA=1; //cho phep ngat toan cuc}
5 Kết quả mô phỏng
Trang 25Chương 3 KẾT LUẬN 1.1 Kết quả đạt được
-Thiết kế được mạch với dải đo tốc độ lớn
Trang 26-Khả năng đáp ứng nhanh với sự thay đổi của biến trở
-Mạch có thể đặt độ khống chế tốc độ động cơ, báo tốc độcao và tốc độ thấp
-Mạch hiển thị LED 7 thanh nên dễ dàng cho người sử dụngtheo dõi tốc độ động cơ
-Mạch được thiết kế nhỏ gọn, dễ sử dụng, tiện lợi và có thểdùng nhiều loại nguồn, pin, sạc điện thoại… nên rất cơ động
1.2 Nhược điểm
- Còn có sai số tốc độ do sai số linh kiện và những sai sốtrong khi tính toán thiết kế mạch nhưng có thể chấp nhậnđược
1.3 Kết luận
Trong giai đoạn hiện nay các ngành kinh tế đang trên đà phát triển mạnh mẽ, hàng loạt các công ty, xí nghiệp, cũng như các khu dân cư đã và đang được thịnh hành, vì vậy nhu cầu ứng dụng các vi mạch điện tử và quá trình sản xuất ngày càng cao, đòi hỏi lĩnh vực vi điều khiển phải đáp ứng kịp thời theo sự phát triển đó
LỜI CẢM ƠN
Trong thời gian làm bài tập lớn này, chúng em đã tìm hiểu rất kĩ
và nghiên cứu các tài liệu cần thiết, và đặc biệt là dưới sự
hướng dẫn của cô giáo hướng dẫn Ths Nguyễ Thu Hà đến
nay em đã hoàn thành bài tập này
Với những vốn kiến thức tiếp thu được trong những kì học đã qua, sự nỗ lực của cả nhóm, tuy nhiên hạn chế về kinh nghiệm thực tế, tài liệu tham khảo, thời gian thực hiện đồ án nên quyển bài tập lớn này không thể tránh khỏi những thiếu sót Kính