Mục lục CHƯƠNG 1. PHÂN TÍCH YÊU CẦU CÔNG NGHỆ 4 1.1. Phân tích và giới hạn về đặc điểm thiết bị 4 1.1.1. Giới thiệu tổng quan về encoder 4 1.1.2. Giới thiều về một số linh kiện khác. 7 1.1.2.1. Sơ lược về led 7 thanh. 7 1.1.2.2. Tổng quát. 7 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. 7 1.1.2.3. Kết nối với Vi điều khiển 9 1.1.3. Tụ điện. 12 1.1.4. Điện trở. 13 1.1.5. Thạch anh dao động. 14 1.1.6. Điện trở treo. 15 1.1.7. Mạch truyền thông chuẩn RS_232( dung mạch MAX232) 15 1.2. các phương pháp điều khiển tốc độ động cơ 17 1.2.1. Điều chỉnh tốc độ bằng cách thay đổi điện trở mạch phần ứng 17 1.2.2. Điều chỉnh tốc độ bằng cách thay đổi từ thông kích từ 18 1.2.3. điều chỉnh tốc độ bằng cách thay đổi điện áp phần cứng 19 CHƯƠNG 2. THIẾT KẾ HỆ THỐNG 21 2.1. Phương pháp điều xung 21 2.2. Hạn chế tốc độ 22 2.3. sơ đồ mạch nguyên lý 22 2.4. Lưu đồ thuật toán chương trình 23 2.5. Phần lập trình và mô phỏng 24 CHƯƠNG 3. KẾT LUẬN 33 3.1. Ưu điểm 33 3.2. Nhược điểm 33 3.3. Kết luận 33
Trang 1Đề bài:
Ứng dụng họ vi điều khiển 8051 xây dựng hệ thống điều khiển
tốc độ động cơ điện một chiều.
Trang 2Mục lục
CHƯƠNG 1 PHÂN TÍCH YÊU CẦU CÔNG NGHỆ 4
1.1 Phân tích và giới hạn về đặc điểm thiết bị 4
1.1.1 Giới thiệu tổng quan về encoder 4
1.1.2 Giới thiều về một số linh kiện khác 7
1.1.2.1 Sơ lược về led 7 thanh 7
Tổng quát 7
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 7
1.1.2.2 Kết nối với Vi điều khiển 9
1.1.3 Tụ điện 11
1.1.4 Điện trở 13
1.1.5 Thạch anh dao động 14
1.1.6 Điện trở treo 14
1.1.7 Mạch truyền thông chuẩn RS_232( dung mạch MAX232) 15
1.2 các phương pháp điều khiển tốc độ động cơ 16
1.2.1 Điều chỉnh tốc độ bằng cách thay đổi điện trở mạch phần ứng 16
1.2.2 Điều chỉnh tốc độ bằng cách thay đổi từ thông kích từ 17
1.2.3 điều chỉnh tốc độ bằng cách thay đổi điện áp phần cứng 19
CHƯƠNG 2 THIẾT KẾ HỆ THỐNG 22
2.1 Phương pháp điều xung 22
2.2 Hạn chế tốc độ 23
2.3 sơ đồ mạch nguyên lý 23
2.4 Lưu đồ thuật toán chương trình 23
2.5 Phần lập trình và mô phỏng 25
CHƯƠNG 3 KẾT LUẬN 34
3.1 Ưu điểm 34
3.2 Nhược điểm 34
Trang 33.3 Kết luận 34
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ận hà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 theo thờigian 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 sau này
là 64 bit Điện tử đang trở thành một ngành khoa học đa nhiệm vụ
Một trong những ứng dụng thiết thực trong đó là ứng dụng về đo và hiểnthị tốc độ động cơ Đây là một ứng dụng rất quan trọng được áp dụng trongnhiều lĩnh vực và dây chuyền sản xuất Tốc độ động cơ sẽ được hiển thị trênmà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ề điều khiển động cơ dùng 8051 Chúng em xin trình bày nội dụng cụ thể của bài 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ậplớn được đầy đủ hơn
Chúng em xin chân thành cảm ơn!
Trang 4CHƯƠNG 1 PHÂN TÍCH YÊU CẦU CÔNG NGHỆ
1.1 Phân tích và giới hạn về đặc điểm thiết bị
1.1.1 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
Encoder được chia làm 2 loại, absolute Encoder và
incremental Encoder
• Nguyên lý hoạt động cơ bản của Encoder, led và lỗ
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
Trang 5Hình 2.1: nguyên lý hoạt động cơ bản của Encoder
Trong hình 2.1, 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
• Hoạt động của Incremental Encoder.
Cứ mỗi lần quay qua một lỗ, thì Encoder sẽ tăng một đơn vị trong biếnđếm
Để biết được Encoder quay hết một vòng, 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ộtrung động nào đó, mà chúng ta không thấy Encoder đi qua lỗ định vị, vậy thì
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
Trang 6Hình 1.9: Encoder có lỗ định vị
Để biết Encoder đang xoay theo chiều nào 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:
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
Trang 7Hình 1.10: Encoder phổ biến nhất hiện nay
1.1.2 Giới thiều về một số linh kiện khác.
1.1.2.1 Sơ lược về led 7 thanh.
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ốichung 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ânnày ở mức 0 Nếu led 7 đoạn có Cathode(cực -) chung, đầu chung này đượcnối xuống Ground (hay Mass), các chân còn lại dùng để điều khiển trạng thái
Trang 8sá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ức1.
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ếtnố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
Hình 1.11: 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 9Châ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
1.1.2.2 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ắtcủa từng led led đơn trong nó, dữ liệu được xuất ra điều khiển led 7 đoạnthườ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ácled ở vị trí b và c sáng, nếu sử dụng led 7 đoạn có Anode chung thì phải đặtvà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ứclogic) 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:
• Phần cứng được kết nối với 1 Port bất kì của Vi điều khiển, để thuậ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
• Dữ liệu xuất có dạng nhị phân như sau : hgfedcba
Bảng 1.1: 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):
Số hiển thị trên led Mã hiển thị led 7 đoạn Mã hiển thị led 7 đoạn dạng
Trang 107 đoạn dạng nhị phân thập lục phân
Trang 11Số hiển thị trên led
Trang 12đ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 xoaychiều đi qua, ngăn cản dòng điện một chiều.
Trang 14Điện trở có đơn vị tính là Ohm, viết tắt là Ω.
1.1.5 Thạch anh dao động.
Hình 1.14: thạch anh dao động
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
Hình 1.15: Hình dạng thực tế và sơ đồ chân của điện trở treo
Trang 15Đ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ó.
1.1.7 Mạch truyền thông chuẩn RS_232( dung mạch MAX232)
Vấn đề giao tiếp giữa PC và vi điều khiển rất quan trọng trong các ứngdụng điều khiển, đo lường Ghép nối qua cổng nối tiếp RS232 là một trongnhữ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ớimá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 phép để đảmbảo dữ liệu là 12.5 đến 25.4m, tốc độ 20kbit/s đôi khi là tốc độ 115kbit/s vớimộ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 gửi đi dọc theo đường truyền
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ụngphổ 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 hợ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ổngnhậ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ới nguồn +5V cung cấp nguồncôngsuấtnhỏ
Mạch giao tiếp như sau :
Trang 161.2 các phương pháp điều khiển tốc độ động cơ
1.2.1 Điều chỉnh tốc độ bằng cách thay đổi điện trở mạch phần ứng
Muốn thay đổi điện trở mạch phần ứng ta nối them điện trở R f
Trang 17Nếu ta giữ điện áp phần ứng U ư = U đm = const, và từ thông bằng const; thay đổi điện trở phần ứng ta sẽ đc:
- Ta thấy khi R f càng lớn đặc tính cơ càng dốc Do vậy phương pháp này chỉ cho phép giảm tốc độ bằng cách tăng điện trở mạch phần ứng.
- Trong thực tế khi them điện trở vào mạch phần ứng sẽ gây ra 1 tổn hao công suất rất lớn và không thể điều chỉnh trơn tốc độ nên phải điều chỉnh theo từng cấp điện trở Chính vì vậy phương pháp này không được phổ biến.
1.2.2 Điều chỉnh tốc độ bằng cách thay đổi từ thông kích từ
Giả thiết ta giữ điện áp và điện trở mạch phần ứng không đổi và thay đổi dòng kích từ của động cơ I kt , điều này sẽ làm thay đổi từ thông của mạch từ:
Ta được:
Trang 19Đặc điểm: Do cấu trúc của máy, nên thực tế chỉ điều chỉnh giảm từ thông, khi giảm
từ thông thì tốc độ tăng dần, độ cứng đặc tính cơ giảm, nên phương pháp này dung
để tăng tốc độ
1.2.3 điều chỉnh tốc độ bằng cách thay đổi điện áp phần cứng
Như vậy khi thay đổi điện áp đặt vào phần ứng động cơ, ta được một họ đặc tính cơ song song với đặc tính cơ tự nhiên và có độ đặc tính cơ là không đổi, trong
đó đường đặc tính cơ tự nhiên là đặc tính cơ lúc vận hành ở chế độ định mức( điện
áp, tần số, từ thông đạt giá trị định mức và không nối them điện trở phụ, điện kháng vào động cơ)
Trang 20Khi giảm điện áp phần ứng đặt vào động cơ thì dòng điện ngắn mạch sẽ giảm, momen ngắn mạch của động cơ cũng sẽ giảm và do đó tốc độ động cơ cũng
sẽ giảm ứng với 1 phụ tải nhất địn
Trang 22CHƯƠNG 2 THIẾT KẾ HỆ THỐNG 2.1 Phương pháp điều xung
PWM (Pulse Width Modulation) là phương pháp điều chỉnh điện áp ra tải, hay nói cách khác, là phương pháp điều chế dựa trên sự thay đổi độ rộng của chuỗi xung vuông, dẫn đến sự thay đổi điện áp ra.
Các PWM khi biến đổi thì có cùng 1 tần số và khác nhau về độ rộng của sườn dương hay sườn âm.
Nguyên lý : Trong khoảng thời gian 0 - t0, ta cho van G mở, toàn bộ điện áp
nguồn Ud được đưa ra tải Còn trong khoảng thời gian t0 - T, cho van G khóa, cắt nguồn cung cấp cho tải Vì vậy với t0 thay đổi từ 0 cho đếnT, ta sẽ cung cấp toàn
bộ , một phần hay khóa hoàn toàn điện áp cung cấp cho tải.
Công thức tính giá trị trung bình của điện áp ra tải :
Gọi t1 là thời gian xung ở sườn dương (khóa mở ) còn T là thời gian của cả sườn
âm và dương, Umax là điện áp nguồn cung cấp cho tải Ta có:
Trang 232.2 Hạn chế tốc độ
Phương trình đặc tính cơ:
Thay đổi điện áp phần ứng và giữ nguyên giá trị của từ thông và điện trở phần ứng
Ở chế độ không tải tốc độ max của động cơ đạt 90v/phút
U ư =U 1 (t 0 /T) (v) 2.3 sơ đồ mạch nguyên lý
2.4 Lưu đồ thuật toán chương trình
Trang 24Hình 2.1 : Sơ đồ thuật toán chương trình chính
Hiển thị
RET Start
Trang 25Hình 2.2: Sơ đồ thuật toán chương trình điều chế xung
2.5 Phần lập trình và mô phỏng
#include <REGX52.H>
sbit PWMPIN = P3^0;
static unsigned int count = 0, count2 = 0;
unsigned char code
segment_ac[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned char pwm_width, num;
unsigned int nghin, tram, chuc, donvi;
unsigned int dem=0,NUMBER=0,tocdo=0;
#define led_data P0
bit pwm_flag;
Trang 26/* Timer 0 Interrupt service routine */
void timer0() interrupt 1
{
Trang 27if (!pwm_flag) { /* Start of High level */
pwm_flag = 1;/* Set flag */
PWMPIN = 0; /* Set PWM o/p pin */
TH0 = pwm_width; /* Load timer */
TF0 = 0; /* Clear interrupt flag */
} else { /* Start of Low level */
pwm_flag = 0;/* Clear flag */
PWMPIN = 1; /* Clear PWM o/p pin */
TH0 = 255 - pwm_width; /* Load timer */
TF0 = 0; /* Clear Interrupt flag */
Trang 28ET2 = 1; /* Enable Timer 2 Interrupts */
TR2 = 1; /* Start Timer 2 Running */
Trang 29P2 = 0xFF;
led_data = segment_ac[donvi];
Trang 30donvi_comm = 0;
break;
} default:
{
num = 0;
break;
} }
num++; /* tang bien dem de biet dang sang o led nao */
if(num > 3) /* co 4 led nen bien dem chi dem toi 3 */
num = 0; /* quay lai tu dau */
Trang 32}
Trang 332.2 Phần mô phỏng
Hình 2.3 Sơ đồ nguyên lý của mạch.
Hình 2.4 Sơ đồ trạng thái lúc khi mạch làm việc.
Trang 34
CHƯƠNG 3 KẾT LUẬN 3.1 Ưu điểm
Mạch hiển thị LED 7 đoạn nên dễ dàng cho người sử dụng theo dõi tốc
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ực hình thà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 đó
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 nhiệt
tình của cô giáo hướng dẫn Nguyễn Thị 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ệutham khảo, thời gian thực hiện đồ án nên quyển đồ án này không thểtránh khỏi những thiếu sót Kính mong thầy hướng dẫn cùng các thầy cô
Trang 35trong hội đồng bộ môn góp ý xây dựng cho quyển bài tập lớn này hoànthiện hơn!
Chúng em xin chân thành cảm ơn!
Hà Nội, Ngày 08/06/2017
Trang 36Tài liệu tham khảo
1 Kỹ thuật vi điều kiển – Đỗ Duy Phú.
2 Cấu trúc và lập trình họ vi điều khiển 8051 – Nguyễn Tăng Cường, Phan Quốc Thắng.
3 Các tài liệu trên internet.