Đăng ký Đăng nhập
Trang chủ Btl đo và hiển thị tốc độ động cơ dùng encoder lên led 7 thanh dùng vi điều khiể...

Tài liệu Btl đo và hiển thị tốc độ động cơ dùng encoder lên led 7 thanh dùng vi điều khiển 8051

.DOCX
31
1539
80

Mô tả:

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ới của chúng ta đã và đang ngày một thay đổi, văn minh và hiện đại hơn. Sự phát triể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ểm nỏ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ần thiế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 được lại là một điều rất phức tạp. Các bộ vi điều khiển theo thờ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 bít, 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ụ. Đ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 trong hoạt động đời sống hà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 phổ biến được áp dụng trong nhiều lĩnh vực và dây chuyền sản xuất. Với bài tập lớn lần này chúng em được giao về việc hiển thị tốc độ động cơ lên led 7. 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 phù hợp với yêu cầu. Cụ thể trong bào 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ụng encoder có 100(xung/vòng). Chúng em trình bày nội dung cụ thể của bài tập lớn như sau. Kính mong 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! CHƯƠNG 1. CƠ SỞ LÝ THUYẾT CHƯƠNG 2. 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 bít, chế tạo theo công nghệ CMOS chất lượng cao, công suất thấp với 4 KB PEROM (Flash Programeable and erasable 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ả anwng ghi xóa tới 1000 chu kỳ - Tần số hoạt động từ 0Hz đến 24 MHz - 3 mức khóa bộ nhớ lập trình - 2 bộ Timer/Counter 16 bít - 128 byte RAM nội - 4 PORT xuất/nhập(I/O) 8 Bít - Giao tiếp nối tiếp - 64 KB vùng nhớ mã hóa - 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ể vị bit - 4 ms cho hoạt động nhân hoặc chia 2.1.1. Cấu trúc vi điều khiển AT89C51 Hình 1. Cấu trúc bên trong của AT89C51 2 Bài tập lớn Vi xử lý Nhóm 17 Hình 2. Sơ dồ chân AT89C51 2.1.2. 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 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ó cấu trúc bus. 3 Bài tập lớn Vi xử lý Nhóm 17 Hình 3. Port P0 - Port 1(P1.0-P1.7 hay chân 1-8): có chức năng nhập xuất theo bit và byte. Ngoài ra, 3 chân P1.5, P1.6, P1.7 được dung để nạp ROM theo chuẩn ISP, 2 chân P1.0 và P1.1 được dùng cho bộ timer 2.0 Hình 4. Port P1 - 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ế dung bộ nhớ mở rộng. 4 Bài tập lớn Vi xử lý Nhóm 17 Hình 5. Port 2 - 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ó 1 số chức năng đặc biệt được ghi trong bảng sau: Bít Tên Chức năng chuyển đổi P3.0 RXD Dữ liệu nhận cho port nốối têốp P3.1 TXD Dữ liệu truyêền cho port nốối têốp P3.2 INT0 Dữ liệu truyêền cho port nốối têốp P3.3 INT1 Ngăốt bên ngoài 0 P3.4 T0 Ngăốt bên ngoài 1 P3.5 T1 Ngõ vào của Timer/Counter 0 P3.6 WR Xung ghi bộ nhớ dữ liệu ngoài P3.7 RD Xung đọc bộ nhớ dữ kiệu ngoài Bảng 1.Chức năng các chân port 3 5 Bài tập lớn Vi xử lý Nhóm 17 Hình 6. Port 3 - RST (Reset- 9 chân): 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 2ms đối với thạch anh 12MHz) - XTAL 1, XTAL 2: AT89S52 có một bộ giao độ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 33MHz, thông thường là 12MHz. +EA (Address Access): EA thường được mắc lên mức cao(+5V) hoặc mức thấp Hình 7. Bộ dao động ngoài (GND). Nếu ở mức cao, bộ vi điều khiển thì thành chương trình từ ROM nội. Nếu ở mức thấp, chương trình chỉ dduwwocj thi hành từ bộ nhớ mở rộng. 6 Bài tập lớn Vi xử lý Nhóm 17 CHƯƠNG 3. 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 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ũng có 2 loại, thì loại còn lại được dịch ngược lại với loại kia. Cho nên 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õ rang vị trí của Encoder, chúng ta không cần xử lý gì them, 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ó 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 ¼ vòng, 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 vậy Encoder loại này có tên incremental Encoder (Encoder tăng lên 1 đơn vị). Hình 8. Incremental Encoder 7 Bài tập lớn Vi xử lý Nhóm 17 3.1.1. Nguyên lý hoạt động cơ bản của Encoder: 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ẽ xuyên qua. Khi đó, phía mặt bên kia của đĩa, người ra đặt một con mắt thu. Với các tín hiệu có, hoặc không có ánh sang 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 dĩa chỉ có một lỗ duy nhất, cứ mỗi lần con mắt thu nhận được tín hiệu đèn led, thì có nghãi 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. Hình 9. Nguyên lý hoạt động của Encoder led 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 sang đi qua, giúp 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. 8 Bài tập lớn Vi xử lý Nhóm 17 3.1.2. Hoạt động của Encoder (Invremetal Encoder) Ta 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. 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ưu 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 chắn các bạn sẽ đếm đến sang luôn. Chưa kể mỗi lần có những rung động nào đó mà ta khong 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 say sai một xung. Đến cuối cù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 them 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àx`o đó, mà chúng ta không thấy Encoder đi qua lỗ định vị, vậy thì xung từ số xung, và việc đi qua lỗ định vị, chúng ta sẽ biết rõ hiện tượng sai của Encoder. Hình 10. Encoder có lỗ định vị 9 Bài tập lớn Vi xử lý Nhóm 17 Thêm vào đó, 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 lẻ và xoay theo hai chiều đều giống nhau. Chính vì vậy, người ta đặt them một lỗ ở giữa vòng lỗ thứ 1 và lỗ định vị như hình sau: Chú ý tằ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ạnh của lỗ vòng 2 nằm ngày 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òng Encoder, và dùng 2 đèn LED đặt thẳng hang, thì người ta chỉ cần làm 1 vòng lỗ, và đặt 2 đè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 bên dưới: Hình 11. Encoder thông dụng hiện nay 10 Bài tập lớn Vi xử lý Nhóm 17 CHƯƠNG 4. Giới thiệu về một số linh kiện khác CHƯƠNG 5. Led 7 thanh 5.1.1.1 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 trên và them 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+) Hình 12. Led hoặc 7 thanh 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 các + 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ạn 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. Hình 13. Cấu tạo Led 7 thanh Anode chung và cathode chung 11 Bài tập lớn Vi xử lý Nhóm 17 Vì led 7 đoạn chứa bên trong nó các led đơn, do đó khi kết nối cần đảm bả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ín hiệu điều khiển. 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.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 đơn trong nó,dữ liệu được xuất ra điều khiển led 7 đoạn đượ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ức 1). 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ả 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 12 Bài tập lớn Vi xử lý Nhóm 17 Ký tự hiển thị Mã nhị phân Mã hexa Hgfedcba 0 11000000 C0 1 11111001 F9 2 10100100 A4 3 10110000 B0 4 10010010 99 5 11000010 92 6 11000010 82 7 11111000 F8 8 10000000 80 9 10010000 90 A 10001000 88 B 10000011 83 C 11000110 C6 D 10100001 A1 E 10000110 86 F 10001110 8E - 10111111 BF Bảng 2. 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) Ký tự hiển thị Mã nhị phân Mã hexa Hgfedcba 0 00111111 3F 1 00000110 06 2 01011011 5B 3 01001111 4F 4 01100110 66 5 01101101 6D 6 00111101 7D 7 00000111 07 8 01111111 7F 9 01101111 6F 13 Bài tập lớn Vi xử lý Nhóm 17 A 01110111 77 B 01111100 7C C 00111001 39 D 01011110 5E E 01111001 79 F 01110001 71 - 01000000 40 Bảng 3. 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) 5.1.2. Tụ điện. 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 ở 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ột chiều. Khi tụ nạp điện thì tụ sẽ bắt đầu nạp điện tăng dần đến điện áp UDC theo Hình 14.điện Mộttừsố loạiáptụ0V điện hàn số mũ đối với thời gian t. Điện áp tức thời trên hai đầu tụ được tính theo công thức: UC(t) = UDC(1- e −t τ ) Khi tụ xả điện thì điện áp trên tụ từ trị số VCD sẽ giảm dần đến 0V theo hàm số mũ đốivới thời gian t. Điện áp trên hai đầu tụ khi xả được tính theo công thức: 14 Bài tập lớn Vi xử lý Nhóm 17 UC(t)=UDC. e −t τ Trong đó : t : thời gian tụ nạp,đơn vị là giây (s). e = 2,71828 τ = RC (đơn vị là –s) Công thức tính điện dung của tụ : C=ε.S/d ε : là hằng số điện môi s : là điện tích bề mặt tụ m2 d : là bề dày chất điện môi 5.1.3. Điện trở Đ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ều trong các mạch điện từ. Hình 15. Một số lại điện trở Điện trở của dây dẫn có trị số điện trở lớn hay nhỏ tùy thuộc vào vật liệu làm dây, tỷ lệ thuân vớ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: 15 Bài tập lớn Vi xử lý Nhóm 17 R=ρl/S hoặc R = U/I Trong đó: ρ : là điện trở suất của vật liệu , Ωm hay Ωm S : là tiết diện của dây, m 2 hay m m m 2 /m 2 l: là chiều dài của dây (m) R: điện trở,Ohm(Ω) 5.1.4. 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 dạo động loại 12MHZ. Hình 16. Hình dạng thực của thạch anh dao động 5.1.5. Điện trở treo Các điện trở treo được thay thế bằng điện trở thanh 9 chân, sử dụng điện trở thanh giúp việc thiết kế mạch đơn giản hơn điện trở thanh 9 chân thực chấ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 nhay 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 nào có dấu chấm tròn thì ngoài cùng của phía đó là chân chung.Thông thường chân chung này được nối với ngồn Vcc. 16 Bài tập lớn Vi xử lý Nhóm 17 Hình 17. Hình ảnh thực tế 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ó. 17 Bài tập lớn Vi xử lý Nhóm 17 CHƯƠNG 6. THIẾT KẾ HỆ THỐNG CHƯƠNG 7. 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ền thô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ơ. CHƯƠNG 8. 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. Hình 18. Sơ đồ nguyên lý Thuyết minh hoạt động của mạch: 18 Bài tập lớn Vi xử lý Nhóm 17 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. CHƯƠNG 9. Xây dựng thuật toán Đếm xung (dùng ngắt ngoài 0) Ngắt Timer 1 Tăng count Đếm 1s Hiển thị tốc độ RETI RETI 19 Bài tập lớn Vi xử lý Nhóm 17 Main Sai Run=0 Hiển thị Đúng -Timer 1: chế độ 16bit (1s đo lại tốc L4 = số hàng nghìn, trễ 0.1ms độ 1 lần) -Khởi động các ngắt ngoài, timer L3 = số hàng trăm, trễ 0.1ms L2 = số hàng chục, trễ 0.1ms Đo tốc độ f = 3*count/5 L1 = số hàng đơn vị, trễ 0.1ms RETI Hiển thị Sai f>2400 hoặc f<100 Đúng Loa báo động Đúng Stop=0 Sai End 20 Bài tập lớn Vi xử lý Nhóm 17
- Xem thêm -

Tài liệu liên quan