damh1 dieu khien dong co dc

34
Đề tài : Điều khiển động cơ DC Trang 1 LI CẢM ƠN Người thc hiện đề tài xin được gi li cảm ơn chân thành đến quý Thy cô trong khoa Điện – Điện Tvà nht là quý Thy cô thuc bmôn Điện T- Vin Thông đã ging dy và truy ền đạt kiến thức chuyên ngành cho người thc hiện đồ án trong thi gian va qua. Đặc biệt người thc hin xin gi li cảm ơn sâu sắc ti thy Đặng Phước Hải Trang vì stn tình hướng dn cũng như đã to những điều kin thun li nht cho người thc hiện đồ án để có thể thực hin và hoàn thành tốt đề tài này. Người thc hiện đồ án cũng không quên cảm ơn các bạn trong lớp đã trao đổi, góp ý để người thc hiện hoàn thành đề tài này mt cách tốt đẹp và đúng thời gian. Mặc dù đã có nhiu cgng và nlc thc hiện, nhưng do kiến thc cũng như khả năng bản thân còn nhiu hn chế nên trong quá trình thc hiện đề tài không thtránh khi nhng sai phm, thiếu sót…Rt mong nhận được sgóp ý, chdn tnơi quý thy cô và các bn sinh viên. Người thực hiện đề tài Võ Phong Phú

Upload: vo-phong-phu

Post on 29-Oct-2015

95 views

Category:

Documents


2 download

DESCRIPTION

DAMH1 dieu khien dong co DC

TRANSCRIPT

Page 1: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 1

LỜI CẢM ƠN

Người thực hiện đề tài xin được gửi lời cảm ơn chân thành đến quý Thầy cô trong khoa Điện – Điện Tử và nhất là quý Thầy cô thuộc bộ môn Điện Tử - Viễn Thông đã giảng dạy và truyền đạt kiến thức chuyên ngành cho người thực hiện đồ án trong thời gian vừa qua.

Đặc biệt người thực hiện xin gửi lời cảm ơn sâu sắc tới thầy Đặng Phước Hải Trang vì sự tận tình hướng dẫn cũng như đã tạo những điều kiện thuận lợi nhất cho người thực hiện đồ án để có thể thực hiện và hoàn thành tốt đề tài này.

Người thực hiện đồ án cũng không quên cảm ơn các bạn trong lớp đã trao đổi, góp ý để người thực hiện hoàn thành đề tài này một cách tốt đẹp và đúng thời gian.

Mặc dù đã có nhiều cố gắng và nỗ lực thực hiện, nhưng do kiến thức cũng như khả năng bản thân còn nhiều hạn chế nên trong quá trình thực hiện đề tài không thể tránh khỏi những sai phạm, thiếu sót…Rất mong nhận được sự góp ý, chỉ dẫn từ nơi quý thầy cô và các bạn sinh viên.

Người thực hiện đề tài

Võ Phong Phú

Page 2: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 2

Mục lục

Phần A : Giới thiệu

Nhận xét của giáo viên hướng dẫn .........................................................................

Nhận xét của giáo viên phản biện ..........................................................................

Trang chấm ĐAMH của GVHD ............................................................................

Lời cám ơn .......................................................................................................... 1

Mục lục ............................................................................................................... 2

Danh sách hình vẽ ............................................................................................... 2

Danh mục bảng biểu ............................................................................................ 3

Phần B: Nội Dung 5

Chương 1: Mở Đầu ........................................................................................... 5

1.1 Khái quát vấn đề ....................................................................................... 5

1.2 Mục tiêu yêu cầu của đề tài ....................................................................... 6

1.3 Nội dung đề tài ......................................................................................... 6

Chương 2:Cơ sở lý thuyết ................................................................................ 7

2.1 Phương pháp điều chế độ rộng xung PWM ................................................. 7

2.2 Các linh kiện sử dụng trong mạch ............................................................... 8

2.2.1 Giới thiệu vi điều khiển AT89S52 .......................................................... 8

2.2.2 Mô tả AT89S52 ....................................................................................... 9

2.2.2a Sơ đồ chân 89S52 ............................................................................ 9

2.2.2b Chức năng các chân 89S52 ............................................................... 10

2.2.3 Led và Button ...................................................................................... 12

2.2.4 L298 N ................................................................................................ 13

2.2.5 Động cơ DC ............................................................................................ 15

Page 3: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 3

Chương 3: Tính toán và thiết kế hệ thống ...................................................... 16

3.1 Thiết kế phần cứng ................................................................................ 16

3.1.1 Mạch nguyên lý ................................................................................... 16

3.1.2 Các khối chính ...................................................................................... 17

3.2 Mạch in ................................................................................................. 19

Chương 4: Thi công phần mềm, mô phỏng, kết quả nghiên cứu .................. 20

4.1 Điều chế PWM để điều khiển động cơ DC ............................................. 20

4.2 Lưu đồ chương trình ............................................................................... 25

4.3 Chương trình ......................................................................................... 26

4.4 Kết quả mô phỏng bằng phần mềm proteus ........................................... 32

4.5 Kết quả thi công mạch ........................................................................... 32

Chương 5: Kết luận và hướng phát triển ....................................................... 33

5.1 Kết luận ................................................................................................... 33

5.2 Hướng phát triển ..................................................................................... 33

Phần C: Phụ lục tài liệu tham khảo

Tài liệu tham khảo ............................................................................................. 34

Page 4: DAMH1 dieu khien dong co DC

Đê tài : Điêu khiên đông cơ DC

Trang 4

LIỆT KÊ BẢNG Bảng 2.1 Chức năng các chân của Port 3 ............................................................... 10 Bảng 2.2 Chức năng các chân của L298N.............................................................. 14

LIỆT KÊ HÌNH Hình 2.1 Đồ thị dạng xung điều chế PWM .............................................................. 7

Hình 2.2 Sơ đồ khối AT89S52................................................................................. 9

Hình 2.3 Sơ đồ các chân AT89S52 ........................................................................ 10

Hình 2.4 Mạch Reset vi điều khiển ....................................................................... 11

Hình 2.5 Mạch kết nối thạch anh cho vi điều khiển .............................................. 12

Hình 2.6a LED ...................................................................................................... 12

Hình 2.6b Nút nhấn 4 chân .................................................................................... 17

Hình 2.7a IC L298N. ............................................................................................. 13

Hình 2.8 Động cơ DC ............................................................................................ 15

HÌnh 2.9 Cấu tạo động cơ DC................................................................................ 15

Hình 3.1 Sơ đồ mạch nguyên lý ............................................................................. 16

Hình 3.2 Khối hiển thị ........................................................................................... 17

Hình 3.3 Khối Led báo và reset ............................................................................. 17

Hình 3.4 Khối mạch cầu H .................................................................................... 18

Hình 3.5 Khối nút điều khiển ................................................................................. 18

Hình 3.6 Khối vi điều khiển................................................................................... 19

Hình 3.7 Hình mạch in ......................................................................................... 19

Hình 4.1 Hình mô phỏng mạch .............................................................................. 32

Hình 4.2 Mạch thực tế ........................................................................................... 32

Page 5: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 5

Phần B Nội dung.

Chương 1: Mở đầu

Chương này trình bày vắn tắt quá trình thực hiện đề tài và toàn bộ nội dung của đề tài. Nội dung chương bao gồm những phần chính như sau : lý do chọn đề tài; mục tiêu và nhiệm vụ nghiên cứu; phạm vi và giới hạn nghiên cứu; ý nghĩa khoa học và thực tiễn của đề tài; tổng quan các nội dung.

1.1 Khái quát vấn đề:

Ngày nay, nhu cầu học tập và nghiên cứu các ứng dụng công nghệ Vi điều khiển ngày càng tăng trưởng mạnh mẽ. Các công trình nghiên cứu và ứng dụng công nghệ này đều rất phong phú, đa dạng. Vi điều khiển đang dần dần thay thế con người trong các ứng dụng trong thực tiễn, và một số ứng dụng thực tiễn của Vi điều khiển như: Điều khiển tốc độ động cơ, thiết kế bảng led điện tử, đếm sản phẩm, đo và khống chế nhiệt độ…

Với ưu điểm là điều khiển tốc độ động cơ dễ dàng, độ ổn định tốc độ cao nên động cơ một chiều đã được sử dụng khá phổ biến như: truyền động cho một số máy như máy nghiền ,máy nâng vận chuyển, điều khiển băng tải, điều khiển các robot…

Động cơ 1 chiều có nhiều ứng dụng trong điều khiển và sản xuất nhất là trong công nghiệp. Trong đó nó đòi hỏi là động cơ phải có nhiều cấp tốc độ có thể tăng giảm dễ dàng.

Với sự ra đời và phát triển của vi xử lý thì vấn đề điều khiển động cơ 1 chiều không còn là vấn đề khó khăn nữa. Động cơ có thể điều khiển với nhiều cấp tốc độ khác nhau và điều khiển dừng, đảo chiểu , nhanh chậm dễ dàng được.

1.2 Mục tiêu yêu cầu của đề tài:

Vi xử lý 8501 là loại dòng vi xử lý khá là thông dụng đã có mặt từ rất lâu và được ứng dụng vào nhiều các thiết bị điều khiển hay tự động hóa. Nên việc điều khiển động cơ 1 chiều với dòng vi xử lý này là 1 phương pháp tối ưu và kinh tế đối với bài toán điều khiển động cơ DC ngày nay

Page 6: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 6

1.3 Nội dung đề tài.

Trên cơ sở những kiến thức đã học từ môn vi xử lý. Em đã thực hiện đề tài : Điều khiển động cơ một chiều (DC). Với yêu cầu là điều khiển : Dừng, Quay thuận, Quay nghịch, Tăng tốc, Giảm tốc.

Để điều khiển tốc độ của động cơ một chiều thì có rất nhiều phương pháp, trong đồ án của mình chúng em xin trình bày điều khiển động cơ dùng họ vi điều khiển 8051 bằng phương pháp đếm xung (dùng động cơ có sử dụng encoder). Trong đồ án của mình chúng em sử dụng IC 89C52 để lập trình điều khiển động cơ một chiều DC nhỏ hơn 24V, sử dụng IC L298N để tăng công suất.

Page 7: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 7

Chương 2 : Cơ sở lý thuyết

Đối với điều khiển tốc độ động cơ DC trong robot, phương pháp được sử dụng phổ biến nhất là điều chế độ rộng xung (Pulse Width Modulation) hay được gọi tắt là điều xung, băm xung hoặc PWM.

2.1 Phương pháp điều xung PWM

PWM 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ẫm đếm 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 hoặc là sườn âm

Hình 2.1

Trên là đồ thị dạng xung khi điều khiển bằng PWM. Với độ rộng xung đầu ra tương ứng và được tính bằng %. Tùy thích do chúng ta điều khiển.

Để tạo được ra PWM thì hiện nay có hai cách thông dụng : Bằng phần cứng và bằng phần mềm. Trong phần cứng có thể tạo bằng phương pháp so sánh hay là từ trực tiếp từ các IC dao động tạo xung vuông như : 555, LM556...Trong phần mền được tạo bằng các chip có thể lập trình được. Tạo bằng phần mền thì độ chính xác cao hơn là tạo bằng phần cứng,nên người ta hay sử dụng phần mền để tạo PWM. Trong phạm vi yêu cầu của đề tài em đã chọn cách hai,cụ thể là lập trình cho AT 89S52.

Page 8: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 8

Điều xung PWM bằng phần mềm:

Điều xung PWM một cách đơn giản là đưa 1 chân nào đó của vi điều

khiển lên mức 1, sau đó đưa xuống mức 0. Công việc này được lặp

đi lặp lại liên tục sẽ tạo ra xung, và tốc độ của động cơ sẽ tương ứng

với duty cycle.

2.2 Các linh kiện sử dụng trong mạch.

Có rất nhiều loại vi điều khiển khác nhau có thể sử dụng trong mạch đồng hồ này như vi điều khiển pic, avr, 8051…

Các loại vi điều khiển pic hay avr có nhiều ưu điểm hơn so với 8051 như hỗ trợ kết nối ngoại vi tốt hơn, tốc độ xử lý nhanh hơn, lập trình đơn giản hơn. Nhưng giá thành thì lại cao hơn nhiều so với 8051 mà trong mạch này người thực hiện đề tài sử dụng AT89S52. Việc sử dụng quá tốn kém cho một mạch là không cần thiết trong khi đó một chip cũng có thể làm được điều này mà giá thành rẻ hơn thì đó là lựa chọn tối ưu hơn.

2.2.1 Giới thiệu Vi Điều Khiển AT89S52:

AT89S52 là họ IC vi điều khiển do hãng Atmel sản xuất. Các sản phẩm AT89S52 thích hợp cho những ứng dụng điều khiển. Việc xử lý trên byte và các toán số học ở cấu trúc dữ liệu nhỏ được thực hiện bằng nhiều chế độ truy xuất dữ liệu nhanh trên RAM nội. Tập lệnh cung cấp một bảng tiện dụng của những lệnh số học 8 bit gồm cả lệnh nhân và lệnh chia. Nó cung cấp những hổ trợ mở rộng trên chip dùng cho những biến một bit như là kiểu dữ liệu riêng biệt cho phép quản lý và kiểm tra bit trực tiếp trong hệ thống điều khiển.

AT89S52 cung cấp những đặc tính chuẩn như: 8 KByte bộ nhớ chỉ đọc có thể xóa và lập trình nhanh (EPROM), 128 Byte RAM, 32 đường I/O, 3TIMER/COUNTER 16 Bit, 5 vectơ ngắt có cấu trúc 2 mức ngắt, một Port nối tiếp bán song công, 1 mạch dao động tạo xung Clock và bộ dao động ON-CHIP.

Các đặc điểm của chip AT89S52 được tóm tắt như sau: 8 KByte bộ nhớ có thể lập trình nhanh, có khả năng tới 1000 chu kỳ

ghi/xoá Tần số hoạt động từ: 0Hz đến 24 MHz 3 mức khóa bộ nhớ lập trình 3 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. 64 KB vùng nhớ mã ngoài

Page 9: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 9

64 KB vùng nhớ dữ liệu ngoại. 4µs cho hoạt động nhân hoặc chia

Hình 2.2: Sơ Đồ Khối AT89S52

2.2.2 Mô tả AT89S52:

2.2.2a Sơ đồ chân 89S52:

Mặc dù các thành viên của họ 8051 (ví dụ 8751, 89S52, 89C51, DS5000) đều có các kiểu đóng vỏ khác nhau, chẳng hạn như hai hàng chân DIP (Dual In-Line Pakage), dạng vỏ dẹt vuông QPF (Quad Flat Pakage) và dạng chip không có chân đỡ LLC (Leadless Chip Carrier) thì chúng đều có 40 chân cho các chức năng khác nhau như vào ra I/O, đọc RD\, ghi WR\, địa chỉ, dữ liệu và ngắt. Cần phải lưu ý một số hãng

Page 10: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 10

cung cấp một phiên bản 8051 có 20 chân với số cổng vào ra ít hơn cho các ứng dụng yêu cầu thấp hơn. Tuy nhiên vì hầu hết các nhà phát triển sử dụng chip đóng vỏ 40 chân với hai hàng chân DIP nên người thực hiện đề tài chỉ tập trung mô tả phiên bản này.

Hình 2.3: Sơ Đồ các chân AT89S52

2.2.2b Chức năng của các chân 89S52:

Port 0: Từ chân 32 đến chân 39 (P0.0_P0.7). Port 0 có 2 chức năng: trong các thiết kế cỡ nhỏ không dùng bộ nhớ mở rộng nó có chức năng như các đường IO, đối với thiết kế lớn có bộ nhớ mở rộng nó được kết hợp giữa bus địa chỉ và bus dữ liệu.

Port 1: Từ chân 1 đến chân 9 (P1.0 _ P1.7). Port 1 là port IO dùng cho giao tiếp với

thiết bị bên ngoài nếu cần. Port 2: Từ chân 21 đến chân 28 (P2.0 _P2.7). Port 2 là một port có tác dụng kép

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

Port 3: Từ chân 10 đến chân 17 (P3.0 _ P3.7). Port 3 là port có tác dụng kép.Các

chân của port này có nhiều chức năng, có công dụng chuyển đổi có liên hệ đến các đặc tính đặc biệt của 89S52 như ở bảng 3.1:

Bảng 2.1: Chức năng các chân của Port 3

Chân Tên Chức năng P3.0 RxD Ngõ vào Port nối tiếp P3.1 TxD Ngõ ra Port nối tiếp P3.2 INT0 Ngõ vào ngắt ngoài 0

Page 11: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 11

P3.3 INT1 Ngõ vào ngắt ngoài 1 P3.4 T0 Ngõ vào bên ngoài của bộ định thời 1 P3.5 T1 Ngõ vào bên ngoài của bộ định thời 0 P3.6 WR Điều khiển ghi bộ nhớ dữ liệu ngoài P3.7 RD Điều khiển đọc bộ nhớ dữ liệu ngoài

PSEN (Program store enable): PSEN là tín hiệu ngõ ra có tác dụng cho phép đọc bộ nhớ chương trình mở rộng và thường được nối đến chân OE của Eprom cho phép đọc các byte mã lệnh.PSEN ở mức thấp trong thời gian 89S52 lấy lệnh. Các mã lệnh của chương trình được đọc từ Eprom qua bus dữ liệu, được chốt vào thanh ghi lệnh bên trong 89S52 để giải mã lệnh. Khi 89S52 thi hành chương trình trong ROM nội, PSEN ở mức cao.

ALE (Address Latch Enable): Khi 89S52 truy xuất bộ nhớ bên ngoài, Port 0 có chức năng là bus địa chỉ vàdữ liệu do đó phải tách các đường dữ liệu và địa chỉ. Tín hiệu ra ALE ở chân thứ 30 dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và dữ liệu khi kết nối chúng với IC chốt. Tín hiệu ở chân ALE là một xung trong khoảng thời gian port 0 đóng vai trò là địa chỉ thấp nên chốt địa chỉ hoàn toàn tự động.

EA (External Access): Tín hiệu vào EA (chân 31) thường được mắc lên mức 1 hoặc mức 0. Nếu ở mức 1, 89S52 thi hành chương trình từ ROM nội. Nếu ở mức 0, 89S52 thi hành chương trình từ bộ nhớ mở rộng. Chân EA được lấy làm chân cấp nguồn 21V khi lập trình cho Eprom trong 89S52.

RST (Reset): Khi ngõ vào tín hiệu này đưa lênmức cao ít nhất 2 chu kỳ máy, các thanh ghi bên trong được nạp những giá trị thích hợp để khởi động hệ thống. Khi cấp điện mạch phải tự động reset.

Hình 2.4: Mạch RESET Vi Điều Khiển

Page 12: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 12

Các ngõ vào bộ dao động X1, X2: Bộ tạo dao động được tích hợp bên trong 89S52. Khi sử dụng 89S52, người ta chỉ cần nối thêm thạch anh và các tụ. Tần số thạch anh tùy thuộc vào mục đích của người sử dụng, giá trị tụ thường được chọn là 33p.

Hình 2.5: Mạch kết nối thạch anh cho Vi Điều Khiển

2.2.3 Led và Button LED (viết tắt của : Light Emitting Diode) được cấu tạo từ một khối bán dẫn loại p

ghép với một khối bán dẫn loại n, đèn LED tạo ra nhiều ánh sáng hơn, tỏa nhiệt ít hơn so với các thiết bị chiếu sáng khác vì vậy cũng tiêu thụ ít điện năng hơn.

Hình 2.6a: led

Hình 2.6b Buttom

Page 13: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 13

2.2.4 L298N L298N là một drive chip tích hợp sẵn hai mạch cầu H bên trong với chuẩn điều khiển TTL, không có diode nội bảo vệ Mosfet. IC L298 có khả năng hoạt động ở điện áp cao,dòng cao. - Điện áp cấp lên tới 46V - Tổng dòng một chiều chịu đ ợc tới 4A - Điện áp bão hòa - Chức năng bảo vệ quá nhiệt - Logic 0 từ 1.5V trở xuống

Hình2.7a: L298N

Hình 2.7b: Sơ đồ chân của L298N

Page 14: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 14

Chức năng các chân :

Bảng 2.2

Page 15: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 15

2.2.5 Động cơ DC Động cơ điện một chiều là động cơ điện hoạt động với dòng một chiều. Động cơ điện một chiều ứng dụng rộng rãi trong các ứng dụng dân dụng cũng như công nghiệp.Thông thường động cơ điện một chiều chỉ chạy ở một tốc độ duy nhất khi nối với nguồn điện,tuy nhiên vẫn có thể điều khiển tốc độ và chiều quay của động cơ với sự hỗ trợ của các mạch điện tử cùng phương pháp PWM.

Hình 2.8 Phần chính gồm Stato ( phần đứng yên ) với các cực từ (bằng nam châm vĩnh cửu hoặc nam châm điện), Roto với các cuộn dây quấn, cổ góp cùng chổi điện.

Hình 2.9

Page 16: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 16

Chương 3: Tính toán và thiết kế hệ thống.

3.1 Thiết kế phần cứng.

3.1.1 Mạch nguyên lý :

Hình 3.1: Mạch nguyên lý

Page 17: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 17

3.1.2 Các khối chính :

Khối hiển thị.

Hình 3.2

Dùng led 7 đoạn đôi anode chung để hiển thị tốc độ.

3 transistor A1013 có chức năng điều khiển cấp dòng hoặc không cấp dòng cho led,để mỗi thời điểm chỉ cho một led sáng.

Khối led báo và reset .

Hình 3.3: Khối led báo và reset - Trong khối Reset chúng ta sử dụng điện trở 1K giúp treo áp cho chân reset của

vi điều khiển luôn ở mức 0V. Tụ điện C3 1uF có tác dụng giảm nhiễu cho nút bấm.

Page 18: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 18

- Các led D5, D6, D7 được dùng để báo cho người sử dụng biết trạng thái hiện tại của động cơ.

- Khối mạch cầu H

Hình 3.4: Khối mạch cầu H - Để khối điều khiển tốc độ động cơ hoạt động ổn định và đạt hiệu suất cao nhất

thì trong mạch IC L298 được ghép nối với các linh kiện như sau: + 4 diode D1,D2,D3,D4 được ghép nối với chân đầu ra điều khiển động cơ có tác

dụng ngăn dòng ngược giảm xung nhiễu gây cháy chip vi điều khiển. - Để cho phép động cơ hoạt động chúng ta cần sử dụng chân EN như trong hình

vẽ. Với mức 1 là cho phép và mức 0 là ngừng hoạt động. Để điều khiển động cơ theo chiều thuận nghịch và tăng giảm tốc độ động cơ ta sử dụng 1 cách linh hoạt 2 chân IN1 và IN2 giống như trong hình vẽ. 1 chân sẽ cấp xung PWM và chân còn lại điều khiển chiều thuận nghịch của động cơ.

Khối điều khiển :

Hình 3.5. Khối nút điều khiển

Page 19: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 19

Các nút nhấn sw1,sw2,sw3,sw4,sw5 để điều chỉnh trạng thái hoạt động của động cơ, Stop, quay thuận,nghịch, tăng tốc,giảm tốc.

Khối vi xử lý :

Hình 3.6 .Khối vi điều khiển. Trong khối dao động chúng ta sử dụng 2 tụ C1, C2 cùng thạch anh 12Mhz.

3.2 Mạch in.

Hình 3.7

Page 20: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 20

Chương 4: Thi công phần mềm,mô phỏng , kết quả nghiên cứu. 4.1 Điều chế PWM để điều khiển động cơ DC

Để điều khiển được tốc độ động cơ thì ta chỉ cần thay đổi độ rộng xung trong vi điều khiển. Độ rộng xung càng lớn thì động cơ quay càng nhanh.

Như chúng ta đã biết thì việc điều khiển nhấp nháy 1 con LED cũng là chúng ta đã điều chế được PWM rồi nhưng xung đó có độ rộng thay đổi và tần số lớn và có thể điều khiển nó bằng hàm trễ (delay). Tuy nhiên khi dùng hàm delay thì trong thời gian xung lên 5V và xuống 0V thì vi điều khiển không làm gì cả hơn nữa việc tạo xung hàm delay thì nếu ta muốn phát xung ở 2 kênh có độ rộng thay đổi là rất khó khăn cho nên chúng ta sử dụng bộ định thời timer ở đây là phương pháp tối ưu nhất.

4.1.1. Tạo PWM từ ngắt Timer 0

4.1.1.1 Cách tạo hàm ngắt.

Để tạo được hàm ngắt ta phải làm những công việc sau đây:

a) Khởi tạo hàm ngắt

Dùng ngắt nào thì cho phép ngắt đó hoạt động bằng cách gán giá trị cho thanh ghi cho phép ngắt IE

Page 21: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 21

b) Cấu hình ngắt

Trong 1 ngắt có nhiều chế độ . Với ngắt Timer0 cấu hình cho nó chạy ở chế độ nào, chế độ timer hay counter, chế độ 8bit ,16bit…bằng cách gán cho giá trị tương ứng TMOD.

c) Bắt đầu chương trình có ngắt.

+ Trước khi chạy chương trình ngắt ta phải cho phép ngắt toàn cục được xẩy ra bằng cách gán EA =1 thì ngắt mới xẩy ra

+ Các giá trị thanh ghi TCON

Page 22: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 22

4.1.1.2 Tạo PWM có chu kì max : 100us

a) Tạo timer 0

Do yêu cầu của bài toán là điều khiển tốc độ động cơ quay nhanh và quay chậm trong khi chạy thuận nghịch nên dữ nguyên chu kì và thay đổi thời gian mở. Yêu cầu như:

+ Động cơ quay thuận nghịch bình thường : 1000us

+ Động cơ tăng tốc lớn nhất : 100us

+ Động cơ giảm tốc lớn nhất : 2000us

Khi bắt đầu cho timer 0 chạy thì bộ đếm của timer sẽ đếm dao động thạch anh, cứ 12 dao động cửa thạch anh thì bộ đếm timer 0 TL0 sẽ đếm tăng 1 , có thể nói timer 0 đếm chu kì máy đối với chế độ 8bit

TL0 là thanh ghi 8 bit nó đếm từ 0 đến 255 . Nếu nó đếm đến 256 thì nó tràn bộ đếm . TL0 lại quay về 0 và cờ ngắt TF0 tự động nạp lại giá trị 1 và ngắt được xảy ra

Page 23: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 23

Như đối với bài toán này thì ta chỉ cần tạo timer 0 là 100us nên ta tính theo công thức ta có :

Timer0 = (255 – TL0) * 1us

Như vậy để tạo được timer0 là 100us thì cần phải gán giá trị TL0=155 thì nó đếm từ 155 – 255 tức là 100 lần thì ngắt mới xẩy ra

Để điều khiển nhanh chậm của động cơ ta phải tạo ra các xung có độ rộng là 5%, 10%.......95%,100%.

Như trên ta có khoảng thời gian kéo lên 5V là T1. Xung có độ rộng 10% tức là T1/T=10%......

b) Nguyên lý hoạt động PWM

* PWM : Đưa ra để mở các transitor , xung có độ rộng lớn hơn thì transitor sẽ mở lâu hơn động cơ sẽ quay nhanh hơn nhưng mà không tuyến tính . Không có xung thì động cơ sẽ không quay, xung có độ rộng 100% thì động cơ quay là lớn nhất. Tuy nhiên xung phải lớn hơn 1 mức nào đó mới đủ khởi động động cơ.

Để có thể thay đổi được độ rộng xung theo 10 cấp khác nhau ( lấy giá trị quay thuận nghịch lúc bình thường là 1000us) với chu kì là 2000us.ta phải khởi tạo timer cứ 1000us lại ngắt 1 lần.

* Hàm khởi tạo timer0

Như đã nói ở trên muốn có giá trị timer0 nào chỉ cần gán cho TL0 để cho thanh ghi đếm sau đó tràn nhưng ở đây do tạo timer là 100us nên ta dùng chế độ 2 8 bit tự nạp

void khoitaotimer0(void)// Ham khoi tao

Page 24: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 24

{

EA=0;// Cam ngat toan cuc

TMOD=0x02;// Timer 0 che do 2 8 bit auto reload

TH0=0x9B;// Gia tri nap lai 155 doi ra so hex

TL0=0x9B;// Gia tri khoi tao 155 doi ra so hex

ET0=1;// Cho phep ngat timer 0

EA=1;// Cho phep ngat toan cuc

TR0=1;// Chay timer 0 bat dau dem so chu ki may

}

* Hàm ngắt.

bit PWM;

unsigned char dem=0;// Khai bao bien dem de dem tu 1 den 10

unsigned char phantram_PWM =10 ;// Bien chua phan tram xung(0...10)

void timer0(void) interrupt 1 //Ngat timer 0

{

TR0=0;// Dung chay timer 0

TF0=0;// Xoa co, o che do co tu duoc xoa

dem++;

if(dem<phantram_PWM) PWM=1;// Neu bien dem < phan tram xung thi dua gia tri 1 ra chan, xung 5V

else PWM=0;// Neu dem = phan tram xung

if(dem==20) dem=0;// Neu dem du 20 thi gan lai bang 0 de bat dau chu ki moi

TR0=1;// Cho chay timer

}

Page 25: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 25

Do yêu cầu bài toán là điều khiển thuận nghịch nên ta cần phải lưu biến PWM này. Do PWM có chu kì không đổi nên do đó ta chỉ cần thay đổi phantram_PWM là có thể thay đổi được độ rộng xung.

4.2 Lưu đồ chương trình.

Chương trình phục vụ ngắt

Phục vụ ngắt Timer 0

Dem++

dem > phantram_PWM

PWM=1

Chương trình chính

PWM=0

Dem=20

Dem=0 exit

Page 26: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 26

4.4 Chương trình. /* Truong DH su pham ky thuat TPHCM Tên : Vo Phong Phu MSSV:10117050 GVHD : Dang Phuoc Hai Trang. De tai : Dieu khien toc do dong co DC : Quay thuan, quay nghich, tang toc, giam toc */ // 2 Chan dieu khien dong co la : P2_0 va P2_1 // 5 chan de dieu khien : Quay thuan, quay nghich, Dung, Tang toc, giam toc // 3 chan bao hieu dong co dang o che do nao. #include <REGX51.H>

Begin

Stop Thuận Nghịch

P1_0 P1_1 P1_2

P2_0= pwm

P2_1=0

Khai báo các biến

Khởi động Timer0

P2_0=0

P2_1=0

P2_0=0

P2_1=pwm

exit exit exit

P1_3 P1_4

Tăng tốc Giảm tốc

Phantram_pwm - -

Hiện thị

Phantram_pwm ++-

Hiện thị

exit exit

Phục vụ ngắt Timer0

Page 27: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 27

/* Dinh nghia cac nut nhan*/ #define stop P1_0 #define thuan P1_1 #define nghich P1_2 #define tang P1_3 #define giam P1_4 bit PWM; unsigned char dem=0; unsigned int phantram_PWM=10; /* Ham tao thoi gian tre*/ void delay(unsigned int t) { unsigned int i,j; for(i=0;i<100;i++) for(j=0;j<t;j++); } /* Hien thi gia tri tang giam toc*/ unsigned char LED[10]={0x40,0xf9,0x24,0x30,0x19,0x12,0x02,0xf8,0x80,0x10}; void hienthi(unsigned char digit1, unsigned char digit2) { /*Hien thi so thu nhat*/ P3=LED[digit1]; P0_0=1; delay(2); P0_0=0; /*Hien thi so 2*/ P3=LED[digit2]; P0_1=1; delay(2); P0_1=0; } /* Khoi tao Timer 100us*/ void khoitaohethong()

Page 28: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 28

{ //ES=1; EA=0; TMOD=0x02; // che do 8 bit tu nap TH0=0x9b; // nap gia tri 155 ma hex TL0=0x9b; EA=1; TR0=1; ET0=1; } /* Ngat tao ra PWM*/ void ngat_timer0(void) interrupt 1 { TR0=0; TF0=0; dem++; if(dem>=phantram_PWM) { PWM=1; } else { PWM=0; } if(dem==20) dem=0; TR0=1; } /* Ham dung dong co*/ void stopdc(void) { P2_0=0; P2_1=0; P2_2=0; P2_3=1; P2_4=1; }

Page 29: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 29

/* Ham quay thuan dong co*/ void quaythuan(void) { P2_1=0; P2_0=PWM; P2_3=0; P2_2=1; P2_4=1; } /* Ham quay nghich dong co*/ void quaynghich(void) { P2_0=0; P2_1=PWM; P2_4=0; P2_3=1; P2_2=1; } /* Ham dieu khien tang toc*/ unsigned char tangtoc(void) { if(tang==0) { while(tang==0) {;} phantram_PWM--; delay(100); if(phantram_PWM<1) { phantram_PWM=1; } } return (phantram_PWM);

Page 30: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 30

} /* Ham dieu khien giam toc*/ unsigned char giamtoc(void) { if(giam==0) { while(giam==0) {;} phantram_PWM++; delay(100); if(phantram_PWM>20) phantram_PWM=20; } return (phantram_PWM); } /* Lua chon che do cua dong co*/ unsigned char n; unsigned char chonchedo(void) { if(stop==0) n=1; if(thuan==0) n=2; if(nghich==0) n=3; switch(n) { case 0: {break;} case 1: {stopdc();break;} case 2: {quaythuan();break;} case 3: {quaynghich();break;} } return (n); } /* Chuong trinh chinh*/ void main() { khoitaohethong(); while(1) {

Page 31: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 31

tangtoc(); giamtoc(); chonchedo(); hienthi((20-phantram_PWM)/10,(20-phantram_PWM)%10); } }

Page 32: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 32

4.5 Kết quả mô phỏng bằng phần mềm proteus :

Hình 4.1

4.6 Kết quả thi công mạch thực tế :

Hình 4.2

Page 33: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 33

Chương 5 : Kết luận –hướng phát triển .

5.1 Kết luận :

Đề tài điều khiển động cơ 1 chiều đã được hoàn thành đúng thời gian quy định. Kết quả thực hiện được đúng yêu cầu của đề tài đặt ra : Quay thuận, quay nghịch, tăng tốc, giảm tốc, dừng.

a. Ưu điểm Tổn hao trên phần công suất nhỏ.

Đây là phương pháp đơn giản và thực tế.

Do điện áp tác động vào cuộn dây của động cơ là liên tục nên tuổi thọ của động cơ kéo lâu hơn so với phương pháp khác .

b. Nhược điểm Đây chỉ là mô hình và nguyên lý điều khiển động cơ 1 chiều.

Mạch trên chỉ điều khiển được động cơ công suất nhỏ không điều khiển được động cơ công suất lớn.

Để điều khiển được động cơ công suất lớn thì cần phải có mạch công suất khác.

Dải điều khiển hẹp.

Phương pháp này không được sử dụng khi yêu cầu độ chính xác cao về tốc độ.

5.2 Tính thực tế của sản phẩm đã thiết kế và hướng cải tiến, phát triển Tính thực tế của sản phẩm: đo tốc độ động cơ được sử dụng rất rộng rãi trong rất nhiều các thiết bị điện tử: đầu đĩa, máy móc và các thiết bị công nghiệp cần đến độ chính xác cao. Hướng cải tiến, phát triển: sản phẩm có thể được cải tiến và được tích hợp trong các máy công nghiệp.

Page 34: DAMH1 dieu khien dong co DC

Đề tài : Điều khiển động cơ DC

Trang 34

Phần C:

Tài Liệu Tham Khảo

1. http://www.tailieu.vn 2. http://www.dientuvietnam.net 3. http://www.eitviet.com 4. Giáo trình vi điều khiển –Nguyễn Đình Phú