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

Lập trình điều khiển động cơ bước từ máy tính qua cổng nối tiếp dùng vi điều khiển 8051

31 1,4K 5

Đ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 31
Dung lượng 698 KB

Nội dung

Lập trình điều khiển động cơ bước từ máy tính qua cổng nối tiếp dùng vi điều khiển 8051

Trang 1

Chương I

GIỚI THIỆU ĐỀ TÀI

Đề tài của em là “Lập trình điều khiển động cơ bước từ máy tính qua cổng nối tiếp dùng vi điều khiển 8051” với giao diện thân thiện với con người Mục đích là kết hợp được các kiến thức đã học về tính toán thiết kế mạch, lập trình trên vi điều khiển và trên giao diện phần mềm để thực hiện giao tiếp giữa vi điều khiển với PC nhằm điều khiển hoạt động của thiết bị ngoại vi là động cơ bước một cách linh hoạt.

Các mảng chính trong nội dung của thuyết minh là :

- Động cơ bước – hoạt động và nguyên lí điều khiển.

- Giao tiếp vi điều khiển P89V51RB2 với máy tính thông qua cáp RS232 9 chân.

- Lập trình giao diện điều khiển bằng Visual Basic 6.0.

Trang 2

I.1 Giới thiệu động cơ bước :

Theo quyển “Động cơ bước – kĩ thuật điều khiển và ứng dụng” (Nguyễn Quang Hùng – Trần Ngọc Bình) động cơ bước là loại động cơ không đồng bộ dùng để biến đổi các tín hiệu điều khiển dưới dạng các xung điện rời rạc kế tiếp nhau thành các chuyển động góc quay của rotor Góc quay này có giá trị nhất định phụ thuộc vào xung điện áp cấp vào stator theo kiểu nào, và được định nghĩa là góc bước của rotor Thông thường góc bước này rất nhỏ, có loại có thể đạt đến 0,720, và phổ biến là loại có góc bước 1,80 Nhờ có sự điều khiển cấp xung vào các đầu dây mà ta có thể điều khiển chuyển động của động cơ một cách chính xác, do đó động cơ bước được sử dụng rộng rãi trong kĩ thuật điều khiển tự động, điều khiển chính xác như chuyển động của máy gia công CNC, đầu đọc CD-ROM, máy in

Động cơ bước em sử dụng ở đây có số hiệu 23LM-C004, động cơ 2 pha, 6 đầu dây, dòng qui ước là 1,2A và áp cấp vào là 6V, thuộc loại động cơ biến từ trở

Tra catalog của series này, em xác định được các đầu dây theo màu sắc như sau :

Hình 1.1 Màu sắc các đầu dây chuẩn theo Catalog

Nếu không có catalog, có thể dùng phương pháp đo điện trở kết hợp với kích dòng cho động cơ để xác định các đầu dây của động cơ bước căn cứ vào cấu tạo của các cuộn dây bên trong động cơ Đối với động cơ bước 6 dây như trên sẽ chia làm 2 nhóm, mỗi nhóm có 3 dây trong đó có một dây chung, gọi là dây COM (common) mà điện trở của đầu dây này đối với 2 đầu dây còn lại thuộc nhóm đó sẽ bằng nhau, còn giữa các dây khác nhóm sẽ hoàn toàn cách điện Dựa vào đó ta sẽ tìm được 2 dây COM và các dây thuộc cùng nhóm với dây COM tương ứng của động cơ bước Vấn đề còn lại là kích dòng để tìm ra thứ tự các cuộn dây của động cơ sử dụng

Chọn một nhóm dây, loại trừ dây COM của nhóm đó đã tìm ra bằng phương pháp

Trang 3

nhau và đấu vào nguồn điện 1 chiều ở cực dương (điện áp của nguồn này trên mức định mức của động cơ một chút), kích lần lượt các cuộn còn lại vào cực âm của nguồn, bắt đầu

từ cuộn A  cuộn B  2 cuộn dây còn lại thuộc nhóm kia, nếu tạo ra chuyển động quay liên tục thì thứ tự 2 cuộn còn lại là C, D còn nếu có chuyển động quay ngược lại thì thứ

tự 2 cuộn còn lại là D, C

Việc diễn giải dài dòng song trên thực tế lại rất đơn giản, căn cứ vào hình vẽ sau :

Hình 1.2 Thứ tự đầu dây động cơ bước

Loại động cơ bước em dùng có các đầu dây có màu sắc

được ghi ở ngoài dấu ngoặc đơn hình 1.1 Theo đó 2 đầu

dây chung có màu trắng và đen Đầu A, B, C, D theo thứ tự

là lục/trắng, lục, đỏ, đỏ/trắng

Để tạo chuyển động quay của động cơ bước, về mặt logic có 3 cách : điều khiển cả bước, điều khiển nửa bước và điều khiển vi bước Hai cách đầu tiên chỉ cần điều khiển theo thứ tự cấp xung cho các cuộn dây, còn cách thứ ba liên quan đến thay đổi dòng điện

để tạo những dịch chuyển rất nhỏ gần như vô cấp cho động cơ, khá phức tạp Trong đồ án này em chọn hai cách đầu để thực hiện điều khiển Đối với điều khiển cả bước và nửa bước cũng có nhiều cách cấp xung, mà tác dụng của nó chính là thay đổi momen quay của động cơ Có thể liệt kê ra tất cả các phương án có thể dùng để điều khiển cho 4 đầu dây này như sau :

- Quay cả bước : số đầu dây được cấp xung điều khiển tuần tự như nhau theo

Trang 4

- Quay nửa bước : số đầu dây được cấp xung điều khiển tuần tự từ lẻ sang chẵn kế

tiếp nhau, theo chiều nhất định và dịch từng bước Cụ thể :

I.2 Giới thiệu về chuẩn giao tiếp truyền thông RS232

Trong khi làm việc với các thiết bị truyền tin, ta thường gặp các thuật ngữ DTE (Data Terminal Equipment – thiết bị đầu cuối dữ liệu) như các PC, PLC, vi điều khiển …

và DCE (Data Communication Equipment – thiết bị truyền dữ liệu) như MODEM

Để mở rộng cấu hình của máy tính cũng như tạo sự truyền thông linh hoạt giữa các máy tính với nhau, giữa các máy tính và thiết bị ngoại vi cũng như giữa các thiết bị ngoại vi với nhau, hiện nay ta có các phương thức như sử dụng rãnh cắm mở rộng trên board mạch máy tính, chuẩn giao tiếp song song (thường là cổng máy in hay cổng Centronics), chuẩn giao tiếp nối tiếp, chuẩn USB, cáp mạng …

Chuẩn giao tiếp truyền thông RS232 thuộc về loại chuẩn giao tiếp nối tiếp Ưu điểm của chuẩn này là cáp nối có độ kháng nhiễu cao do đó có thể truyền thông trong những khoảng cách rất lớn, giá thành rẻ hơn so với cáp sóng song Tuy nhiên tốc độ

Trang 5

lợi, điều này sẽ được đề cập ở bên dưới Không được sử dụng cho những yêu cầu mang tính thời gian thực.

Chuẩn RS232 có mức điện áp như sau :

- High : -3V ÷ -12V

- Low : +3V ÷ 12VTrong khi đó điện áp sử dụng cho các thiết bị logic trên mạch điều khiển số ngoại

vi sử dụng ở mức High là 5V và mức Low là 0V Do đó để có thể truyền dẫn thông tin từ máy tính ra thiết bị điều khiển thông qua cáp truyền theo chuẩn RS232 cần phải có các linh kiện chuyển đổi trung gian để tương thích về mức tín hiệu Để đơn giản ta dùng chip Max232 phổ biến trên thị trường có tích hợp sẵn chức năng này

Các cổng trên máy tính tuân theo chuẩn RS232 gồm 2 loại, loại 25 chân và loại 9 chân Song loại 25 chân cồng kềnh và không sử dụng hết chức năng nên hiện nay ta chỉ gặp các cổng 9 chân có sẵn trên Case máy tính Tên gọi và chức năng của các chân này như sau :

Hình 1.3 Hình dạng của cổng DB9 trên máy tính

Hình 1.4 Vị trí các chân của cổng DB9 trên máy tính

Trang 6

Bảng 1.1 Bảng liệt kê tên gọi và chức năng các chân của DB9

1 DCD (Data Carrier Detect) DCE phát hiện sóng mang

2 RxD (Received Data) Chân nhận dữ liệu

3 TxD (Transmitted Data) Chân truyền dữ liệu

4 DTR (Data Terminal Ready) DTE sẵn sàng làm việc

5 GND (GRounD)Nối đất tín hiệu

6 DSR (Data Set Ready) DCE sẵn sàng làm việc

7 RTS (Request To Send) DTE yêu cầu gửi dữ liệu

8 CTS (Clear To Send) DCE sẵn sàng nhận dữ liệu

9 RI (Ring Indicator) Báo chuông

I.3 Ngôn ngữ lập trình Visual Basic

Là ngôn ngữ cấp cao 32 bit dùng để viết các chương trình cấp cao chạy trong Windows, giao diện thân thiện với người dùng, có chứa các chức năng thiết kế giao diện

dễ dàng, hướng đối tượng đồng thời có điều khiển MSCOMM được hỗ trợ sẵn cho việc truyền tín hiệu qua cổng COM Ngôn ngữ này sẽ được giới thiệu kĩ hơn khi thiết kế phần mềm

I.4 Giới thiệu chip P89V51RB2

Thuộc họ vi điều khiển MCU51 của Philips, với các đặc trưng đáng quan tâm :

Trang 7

I.5 Nội dung của đồ án

Thực hiện việc giao tiếp truyền thông giữa PC và chip vi điều khiển P89V51RD2 qua chuẩn truyền thông RS232 với IC chuyên dụng để tương thích điện áp sử dụng nhằm điều khiển động cơ bước 6 dây 2 pha Các bước tiến hành :

- Thiết kế mạch điều khiển động cơ, mạch công suất, mạch giao tiếp

- Thiết kế giao diện phần mềm trên máy tính bằng VB6.0 với MSCOMM để điều khiển cổng COM trên máy

- Thực hiện giao tiếp giữa PC và vi điều khiển ngay trên đường nạp chip

- Chọn chế độ, chiều quay trên máy tính và xuất ra chuyển động quay của động cơ đúng theo ý muốn

- Sau khi động cơ dừng, hiển thị thông báo trên màn hình máy tính

Trang 8

Chương 2

THIẾT KẾ PHẦN CỨNG

Phần cứng được thiết kế theo từng module riêng biệt để dễ kiểm tra, bảo trì, nâng cấp từng phần, phù hợp chức năng chuyên biệt hóa sản phẩm hiện nay 3 module chính là : module giao tiếp, module điều khiển và module công suất Phần này sẽ nghiên cứu cấu tạo và chức năng của các linh kiện có trong module, công năng chung của module và tính toán thiết

kế một sản phẩm hoàn chỉnh trên cơ sở các module rời rạc trên.

Trang 9

Hình 2.1 Sơ đồ các khối chức năng

Giải thích các khối chức năng :

- Phần mạch giao tiếp : gồm linh kiện chính là cổng COM DB9 với IC MAX232

để thực hiện chuyển đổi tương thích điện áp giữa cổng COM trên máy tính và điện áp tín hiệu trên mạch điều khiển Làm nhiệm vụ giao tiếp giữa máy tính và vi điều khiển

- Phần mạch điều khiển chính : gồm IC P89V51RB2 với các linh kiện phụ khác

như bộ tạo dao động ngoài là thạch anh tần số 11.0592MHz, nút Reset và các tụ, trở để thực hiện chức năng điều khiển

- Phần mạch nguồn : gồm 2 cấp điện áp : nguồn cho vi điều khiển dùng ở mức 5V

và nguồn cho thiết bị ngoại vi ở mức 9V, để an toàn dùng hai nguồn riêng và cách li chúng Nguồn cho vi điều khiển cần có mạch riêng để đưa từ mức 12V về 5V

- Phần mạch công suất : trực tiếp điều khiển các cuộn dây động cơ, gồm các

transistor, linh kiện cách li quang là OPTO PC817, mạch đẩy kéo Darlington gồm cặp BJT bổ phụ 2SD468 và 2SB562, transistor trường chịu dòng ngược cao là FET IRF540

Trong khi thi công mạch, em đã tách riêng các phần mạch để dễ kiểm tra và bảo đảm an toàn

MẠCH

CHÍNH

MẠCH GIAO TIẾP

MẠCH CÔNG SUẤT

PC

THIẾT BỊ NGOẠI VI

Trang 10

II.1 Phần mạch giao tiếp

6

7

8 9

C 2

1 n

1 2

C 3

1 n

1 2

C 4

1 n

1 2

Hình 2.2 Module giao tiếp

<chú ý : các tụ phân cực, thông số tra theo datasheet>

Vi mạch MAX232 với sơ đồ kết nối chân với DB9 và vi điều khiển giống như trong datasheet đi kèm Led điểm và R8 chỉ để kiểm tra điện áp ngoài cấp vào cho MAX232

II.2 Phần mạch điều khiển chính :

Thành phần chính là chip P89V51RB2 của Philips Với mục đích mở rộng thêm các chức năng sau này, nên các cổng P0, P1, P2 được đưa đến các Jumper 10 chân, trong

đó 8 chân là dành cho các đường tín hiệu từ các cổng, 1 chân nguồn và 1 chân nối đất

Bộ tạo dao động ngoài của chip vi điều khiển là thạch anh tần số 11,0592MHz

Trang 11

Hình 2.3 Module điều khiển

II.3 Phần mạch nguồn

Nguồn sử dụng trong đồ án gồm 2 cấp điện áp : Nguồn 5V cấp cho vi điều khiển

và nguồn 9V cấp cho động cơ Để có thể tận dụng ngay nguồn điện năng xoay chiều có sẵn, em thiết kế ra 2 mạch chỉnh lưu kết hợp với ổn áp riêng lẻ để cấp cho mạch 9V và adapter dòng 15mA để cấp cho mạch điều khiển

Trang 12

Hình 2.4 Nguồn 5V Các linh kiện trong mạch :

D1, C10 : diode loại 5A và tụ 1000u tạo thành mạch xén xung âm đưa vào ổn áp U18 : IC ổn áp 7812, 7805 là thành phần chính tạo điện áp đầu ra 5V để cấp cho vi

điều khiển và 9V để cấp cho động cơ

C11, C12 : tụ hóa 104, làm nhiệm vụ lọc tín hiệu dương ở tần số cao

C10, C13 : lọc tín hiệu dương ở đầu vào và đầu ra của 7805

Q2 : Transistor loại B688 hoặc B633 làm nhiệm vụ đệm dòng

R7, D2 : led điểm để phát hiện nguồn đã được cấp và đạt đến 5V hay chưa, còn R7

là để tạo điện áp rơi đủ để D2 sáng mà không bị cháy Giá trị R7 được tính như sau :

V7,0V5I

VV57R

led

led

chọn R7 = 330 (Ω)Phần mạch nguồn này được tích hợp luôn trên mạch điều khiển

II.4 Phần mạch công suất :

Động cơ bước sử dụng thuộc loại 2 pha, 6 dây, số hiệu 23LM-C004 với các thông

số cho trước như sau :

- Dòng điều khiển : Iđm = 1,2A

- Áp điều khiển : Uđm = 6V

- Bước quay : 1,80

- Số bước quay 1 vòng : 200 bước

Trang 13

Với các đặc điểm của động cơ như trên, việc kích dòng cho động cơ trực tiếp từ vi điều khiển là không thể thực hiện được Có các cách giải quyết vấn đề này như sau :

- Sử dụng IC họ ULN, UCN như ULN2003, ULN2803, UCN5803, UCN5804 …

để tăng dòng 1 ưu điểm nữa của các IC này là có diode bảo vệ bên trong chống lại dòng ngược từ động cơ xuất hiện khi hãm

- Sử dụng linh kiện rời với các BJT và FET IRF làm nhiệm vụ tăng dòng dẫn ra các cuộn dây

- Sử dụng vi mạch chuyên dụng điều khiển động cơ 2 pha là cặp L297, L298 với cách mắc được cho sẵn trong datashet của sản phẩm

Xét về sự phù hợp với đặc điểm của động cơ là dòng kích lớn, họ ULN không đáp ứng được, cùng với sự phù hợp về kinh tế, em lựa chọn cách thứ hai Mạch công suất thiết kế gồm 8 khối công suất giống hệt để có thể điều khiển được 2 động cơ, phục vụ mục đích mở rộng sau này Ở hình bên dưới chỉ trích ra một khối Để bảo đảm an toàn, ở đầu vào mạch này lắp cách li quang

Hình 2.5 Mạch công suất

Trong đó dk5 dẫn trực tiếp từ đầu ra của chân vi điều khiển, VCC là nguồn của vi điều khiển, nguồn 12V là trên lí thuyết, thực tế có thể thay đổi chút ít nằm trong giới hạn cho phép của động cơ sử dụng, ở đây em dùng nguồn 9V coin5 nối ra dây động cơ bước, còn ISO5 là linh kiện OPTO PC817

Khi có điện áp kích (ở mức 0) đưa vào dk5, ISO 5 dẫn Cụm D468, B568 làm

Trang 14

điểm sẽ có một hoặc nhiều đầu dây được kích để tạo ra chuyển động quay của động cơ bước.

Giá trị của các điện trở được tính như sau :

V5,0V5I

VV

ak

ak cc 29

V2,0V12I

VV12R

A5,7I

IA

//

RgR//

RV

VgA

15

15 gs

15 m gs 15 gs

gs m

17

,4

1R

120

Trang 16

III.1 Thiết kế giao diện phần mềm trên máy tính

III.1.1 Những vấn đề chung nhất về Visual Basic

- Visual Basic hỗ trợ đồ họa mạnh, nên có thể dễ dàng thiết kế giao diện theo ý muốn

- Ngôn ngữ Visual Basic là ngôn ngữ cấp cao, hướng đối tượng nên dễ dàng lập trình xử lí trên từng đối tượng, tạo sự đóng gói dữ liệu, dễ kiểm tra và phát triển theo ý muốn

- Khi thiết kế giao diện trên phần mềm, ta có thể sử dụng các đối tượng hỗ trợ sẵn

có thể tìm thấy ở bên trái cửa sổ phần mềm khi khởi động Visual Basic hoặc gọi ra từ nút Toolbox ở thanh công cụ phía trên màn hình Ngoài các đối tượng trên, Visual Basic còn

hỗ trợ thêm các điều khiển mạnh và chuyên biệt, được gọi từ Project  Component Trong đó, điều khiển MS_COMM là điều khiển được hỗ trợ sẵn cho cổng nối tiếp Ngoài

ra cũng có thể điều khiển bằng cách lập trình trên thư viện liên kết động ở dạng file dll tuy nhiên ở mức độ không chuyên em chọn cách dùng điều khiển MS_COMM cho đồ án của mình

III.1.2 Bản chất của việc thu nhận dữ liệu qua cổng COM

Khi thu dữ liệu bằng cổng COM, giá trị sẽ truyền trên qua chân RxD và đưa vào chip UART (Universal Asynchronous Receiver/Transmitter : mạch thu phát không đồng

bộ vạn năng) kết nối trực tiếp với cổng COM trên máy tính Một số loại chip UART được

sử dụng trên các máy tính là 8250, 16450, 16550 Bên trong chip UART có 1 thanh ghi đệm thu, chính là nơi lưu giữ các dữ liệu tạm thời được nhập qua cổng COM, và 1 thanh ghi đệm phát lưu giữ dữ liệu chờ được xuất ra khỏi cổng Khi phát dữ liệu, giá trị người dùng đưa vào máy sẽ đưa vào bộ đệm phát và xuất ra chân TxD đưa đến thiết bị ngoại vi

Mỗi lần thu và phát dữ liệu trên cổng COM sẽ gây ra một ngắt trên chip UART

Em không đi sâu vào cấu tạo bên trong của vi mạch UART vì đồ án của em chỉ quan tâm đến phương thức gửi và nhận tín hiệu qua cổng, còn việc xử lí tín hiệu bên trong chip UART đã được nhà sản xuất đảm nhận

III.1.3 Nghiên cứu các thuộc tính của điều khiển MS_COMM

- Settings :

Cú pháp : MSCOMMx.Settings = “bps,p,d,s”

Trong đó : x : số thứ tự của điều khiển MS_COMM ta đang sử dụng

bps: tốc độ truyền dữ liệu của cổng nối tiếp (bit/giây)

p : kiểm tra chẵn lẻ Giá trị của nó là O (kiểm tra lẻ), E (kiểm tra

Trang 17

d : số bit dữ liệu

s : số bit stopCác thông số được lấy tương ứng với cổng RS232 của người dùng

Như hình bên dưới là thông số cổng COM trên máy tính của em Như vậy khai báo thuộc tính Settings sẽ là :

MSCOMM1.Settings = “9600,N,8,1”

Hình 3.1 Cách xác định thuộc tính cổng COM trên máy tính

Kiểm tra thuộc tính này trên điều khiển MSCOMM :

Ngày đăng: 22/03/2016, 14:38

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w