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

Vẽ lại bức ảnh chụp được từ webcam thông qua giao diện matlab và vi điều khiển

63 508 0

Đ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 63
Dung lượng 4,23 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Thực hiện ứng dụng nhúng này, chúng ta có thế biết nhiều hơn về Matlab và xử lý ảnh, vi xử lý, truyền thông giữa vi xử lý và Matlab, về động cơ bước, xây dựng mô hình cơ khí...Tóm lại ứn

Trang 1

thuậttoán để Đưa rabức

ảnhnâng

imshow Hiến thị bức ảnh trên màn hìnhimrezise Thay đôi độ phân giải của hình ảnhim2bw Chuyển ảnh mức xám sang ảnh đen trắngimcomplement Hoán đổi bức ảnh trắng đen

bwmorph Làm mảnh biên của bức ảnh

Chương I TỔNG QUAN VỀ ĐỀ TÀI

1.1 Tầm quan trọng của đề tài

Động cơ bước và các ứng dụng liên quan đến động cơ bước ngày nay trở nênquá quen thuộc đổi với các sinh viên khối kỹ thuật, nhất là đối với những người đam mê

chế tạo máy móc, Robot Nguyên nhân là việc điều khiến chúng khá đơn giản tuynhiên mang lại một sự chính xác cao, vì vậy nên việc lựa chọn động cơ bước cho cácứng dụng trở nên phố biến Nhất là các ứng dụng có liên quan tới điều khiển vị trí Đốivới các máy móc phức tạp đòi hỏi sự chính xác của cả cơ khí và điện tử, mà cụ thế hơn

là các ứng dụng có liên quan đến động cơ, thì việc lựa chọn động cơ bước là một nhucầu thiết yếu Bên cạnh đó thì còn có động cơ Servo DC, tuy nhiên khuyết điểm lớnnhất của loại động cơ này là về khó điều khiến chính xác về mặt vị trí nhung về mặt tốc

độ và công suất thì hơn hẳn động cơ bước

Nhằm mục đích tìm hiếu và cũng giúp các bạn hiếu nhiều hơn về động cơ bước

và cách điều khiến chúng thông qua việc nhúng chúng vào một ứng dụng cụ thế có liênquan tới vị trí Chẳng hạn như sử dụng chúng trong máy in, máy photocopy, máyCNC và một ứng dụng thực tế nữa là “vẽ ảnh”, vì vậy chúng tôi đã lựu chọn đề tàithực hiện việc vẽ lại bức ảnh chụp được từ Webcam thông qua giao diện matlab và viđiều khiển Thực hiện ứng dụng nhúng này, chúng ta có thế biết nhiều hơn về Matlab và

xử lý ảnh, vi xử lý, truyền thông giữa vi xử lý và Matlab, về động cơ bước, xây dựng

mô hình cơ khí Tóm lại ứng dụng điều khiển động cơ bước thông qua một giao diệnđiều khiển từ máy tính vào các ứng dụng đòi hỏi độ chính xác cao của động cơ là một

đề tài cần phải được phát triển trong tương lai

1.2 Cơ sở lý luận

1.2.1 Đối tượng nghiên cứu

- Mạch điều khiến động cớ bước

- Truyền dữ liệu thông qua RS232 giữa vi xử lý và Matlab

- Các thuật toán xử lý ảnh trong matlab

1.2.2 Dàn ý nghiên cứu

- Lý thuyết về ảnh và xử lý ảnh trong Matlab

- Lý thuyết về động cơ bước

- Sơ lược về vi xử lý (P89V51 Rx2)

- Tóm tắt sơ lựơc về nguyên lý hoạt động của từng khối (nêu ra các khối, chứcnăng của từng khối )

- Cơ sở tính toán thiết kế

1.3 Phương pháp, phương tiện nghiên cúư

1.3.1 Phương pháp

Tìm hiếu về động cơ bước và cách điều khiển chúng, từ đó thiết kế sơ đồ khối Sau

đó thiết kế tùng khối thành sơ đồ mạch điện, cuối cùng ghép chúng lại thành sơ đồmạch điện cụ thế Khâu cuối cùng vẽ mạch in và thi công mạch

Đồng thời tìm hiểu xử lý ảnh trong matlab và phương pháp truyền dữ liệu qua lạigiữa matlab và vi xử lý đế có thể lập trình điều khiển

Ngoài ra còn phải lập trình vi xử lý đế có các tín hiệu điều khiến các bộ phận chấphành một cách chính xác và ổn định

1.3.2 Phương tiện

Thông qua các tài liệu nói về động cơ bước, các sách viết về truyền động điện, tựđộng khống chế truyền động điện, điện tử công suất, kỹ thuật xung, kỹ thuật số, lậptrình vi điều khiển 8051, lập trình matlab và quan trọng nhất là tài liệu về xử lý ảnhtrong matlab

Chương II Cơ SỞ LÝ THUYẾT

2.1 Ánh và xử lý ảnh trong Matĩab2.1.1 Ánh và thu nhận ảnh:

Thông qua các thiết bị ngoại vi thu nhận ảnh như Camera, Webcam màhình ảnh bên ngoài được số hoá, lưu trữ và hiển thị trên màn hình Một bức ảnhthu vào là tập hợp của 3 ma trận màu cơ bản (RGB) R:red; G:Green; B:Blue

Mứcxám của mồi màu tại một toạ độ của mỗi ma trận là khác nhau tạo nên những màu

khác nhau

Giá trị của mức xám của tòng màu có thế thay đối từ 0 đến 255 (ảnh 8 bit)

Vì vậy mà chúng ta có thể biếu diễn tất cả các màu chỉ thông qua 3 ma trận này

Ánh đen trắng là một ma trận ảnh 2 chiều, giá trị tại mỗi tọa độ chỉ có 2 mức 0 và

1 với 0:màu đen ; 1: màu trắng Neu như giá trị mức xám 0 -> 255 thì đây không

còn được gọi là ảnh trắng đen nữa mà được gọi là ảnh xám Mồi toạ độ của matrận này được gọi là 1 điếm ảnh (pixel)

Kích thước bức ảnh thu được được gọi là độ phân giải, độ phân giải nàycàng lớn nghĩa là kích thước bức ảnh càng lớn

Ví dụ: Một bức ảnh với độ phân giải 240x320 nghĩa là bức ảnh này có kích thước 240

điếm ảnh theo chiều dọc và 320 điếm ảnh theo chiều ngang

Chất lượng bức ảnh thu được tùy thuộc nhiều vào các thiết bị thu ảnh, giải thích

sai lệch lớn Vì vậy lựa chọn sử dụng một thiêt bị thu nhận ảnh có chât lượng ôn định làmột trong những bước quan trọng trong việc xử lý ảnh

2.1.2 Xử lý ảnh thu được qua Matlab:

thành chủ yếu dựa vào tổng hợp các tập lệnh của các ngôn ngữ khác nhưC,C++,VB Cấu trúc các hàm và tập lệnh khá đơn giản, dế hiếu, đặc biệt Matlab

hổ trợ mạnh công cụ Help, các ví dụ minh họa trực quan giúp người dùng có thể

Xử lý bức ảnh thu được phải thông qua các công việc sau:

Một vài hàm cơ bản trong công cụ xử lý ảnh của Matlab đế thực hiện các

công việc trên:

Trang 2

Như vậy ta đã có được một bức ảnh như mong muốn, công việc còn lại là

xử lý tọa độ của bức ảnh đế tạo ra các dữ liệu điều khiến cho thiết bị ngoại vi, các

dữ liệu này sẽ được gởi qua thiết bị thông qua chuấn giao tiếp RS232

Tóm lại nhóm đã chọn Matlab đế thực hiện đồ án có liên quan tới xử lýảnh Việc thu nhận và xử lý ảnh được diễn tả qua sơ đồ khối sau:

Thu nhận ảnh tĩnh thông

qua

Tiền xử lý ảnh bức ảnh thu

được(lộc nhiễu, làm trơn ảnh )

Xử lý toạ độ bức ảnh đổ đưa ra

các

dừ liệu điều khiến cho thiết bị

chấpHình 2.1.2.2 Sơ đồ thực hiện xử lý ảnh thu được

2.2 Matlab và truyền thông nối tiếp RS2322.2.1 GIỚI THIỆU PHƯƠNG THỨC TRUYỀN DỮ LIỆU NỐI TIẾP.Trong truyền dữ liệu nối tiếp, nơi gửi sẽ gửi từng bit dữ liệu nối tiếp nhau trên

một đường truyền Một liên kết nối tiếp chỉ có hai thiết bị thì phải có đường dẫndành cho mỗi chiều truyền hoặc là nó chỉ có một đường dẫn được chia sẻ bởi cảhai thiết bị với thoả thuận của hai thiết bị này Khi mà có nhiều hơn hai thiết bị, tất

cả các thiết bị này thường dùng chung một đường dẫn, thì giao thức mạng quyếtđịnh xem thiết bị nào có quyền truyền nhận dữ liệu

Việc truyền nhận dữ liệu được điều khiến bởi tín hiệu xung clock Nơi truyền

và nơi nhận dùng xung clock để quyết định khi nào gửi và khi nào nhận dữ liệu

Có hai dạng truyền dữ liệu: truyền đồng bộ và truyền bất đồng bộ, và mồi phươngthức truyền sử dụng các xung clock khác nhau

2.2.1.1 Truyền đồng bộ nối tiếp

Trong truyền đồng bộ nối tiếp, sự đồng bộ được thực hiện bởi một xung clock

được phát ra bởi một thiết bị hoặc từ một nguồn xung ngoài Xung clock có thể

dựa vào sự chuyển đối của xung( như tăng hoặc giảm của sường xung) Nơi nhậndùng sự chuyến đối xung đế quyết định khi nào đọc các bit truyền tới

Trong quá trình truyền chỉ truyền data, không cần thêm tín hiệu đồng bộ vào

chuỗi data nên tốc độ truyền nhanh Nhưng phải thêm kênh thứ hai để truyền tín

Hình 2.2.1.1- Sơ đò truyền đồng bộ nối tiếp.

2.2.1.2 Truyền bất đồng bộ nối tiếp

Trong truyền bất đồng bộ nổi, dữ liệu không bao gồm đường xung clock, bởi

vì mỗi điểm đầu cuối của liên kết đã có xung clock cho riêng từng thiết bị Mồithiết bị truyền nhận sẽ cần phải có cùng một tần số xung clock hoặc chỉ khác nhau

một vài % nhỏ Mỗi byte dữ liệu truyền đi bao gồm một bit Start đế đồng bộ xung

clock và một hoặc hai bit Stop là tín hiệu báo kết thúc việc truyền dữ liệu (Trongtrường hợp nếu nơi nhận đòi hỏi phải có một thời gian kiếm tra dữ liệu nhận đuợc,

nơi truyền sẽ kéo dài độ rộng của bít Stop ra nhiều bit, có thể là 1,5 hoặc 2).Việc truyền dữ liệu bất đồng bộ cho phép truyền ngẫu nhiên không cần truyềnliên tục Phải thêm vào trước mỗi kí tự' một bit START và phía sau 1 hoặc 2 bitSTOP nên tốc độ truyền chậm nhưng đơn giản và kinh tế hơn Tốc độ 75,110, -10V

Mark +10V

-Mức 1Start L

8 bit dữ liệu Pairlybít

Hình 2.2 ỉ.2 Sơ đồ truyền bất đồng bộ nổi tiếp.

2.2.2.2.2.2

GIAO TIẾP VỚI MÁY TÍNH BẰNG CỔNG NỐI TIẾP

Giới thiệu cổng COM

cổng nối tiếp có đặc tính hoạt động song công (thu và phát đồng thời), và bộđệm nhận (thu ) cho phép một kí tụ’ được nhận và giữ trong bộ đệm trong khi đó

kí tụ’ thứ hai được thu Neu CPU đọc kí tự’ thú' nhất trước khi kí tự’ thú’ hai được

nhận đầy đủ thì dữ liệu vẫn không bị mất

Việc truyền dữ liệu qua cống COM được tiến hành theo cách nối tiếp, nghĩa là

các bit dữ liệu được truyền đi nối tiếp nhau trên một đường dẫn Phương thứctruyền dữ liệu này có khả năng dùng cho những ứng dụng có yêu cầu truyền dữliệu trên khoảng cách lớn bởi vì các khả năng gây nhiễu là nhở hơn nhiều so vớiviệc truyền dữ liệu qua cổng song song

Cống COM không phải là một hệ thống bus cho phép dễ dàng tạo ra liên kếtdưới hình thức điểm với điếm giữa hai thiết bị cần trao đổi thông tin với nhau, một

thành viên thú’ ba không thế tham gia vào việc trao đối thông tin này

Các chân và đường dẫn được mô tả như sau:

Trang 3

Việc truyền dữ liệu xảy ra trên hai đường dẫn Qua chân cắm TXD từ máy tính

gửi dữ liệu đến Kit Vi điều khiến(VĐK) ( Các thiết bị nhận), trong khi đó các dữliệu mà máy tính nhận được lại được gửi trên chân RXD các tín hiệu khác đóngvai trò như là tín hiệu hỗ trợ khi trao đổi thông tin vì thế không phải trong mọitrường hợp ta đều sử dụng hết các chân của nó

Trong thực tế người ta thường sử dụng cổng COM1 (DB9) cho việc truyền dữliệu nối tiếp, các cổng COM khác được dùng vào những ứng dụng khác nhau

Quá trình truyền nhận dữ liệu được thực hiện như sau:

—’ Đầu dữ liệu sẵn sàng DTR: khi thiết bị đầu cuối (máy tính và VĐK) đượcbật thì sau khi tự kiểm tra nó gửi một tín hiệu DTR báo rằng nó sẵn sàng chotruyền thông Neu có trục trặc với cổng COM thì tín hiệu này không được kíchhoạt Đây là tín hiệu tích cực mức thấp và có thế được dùng đế báo cho Kit VĐK(modem) biết rằng máy tính đang hoạt động và đang sẵn sàng truyền thông

— Đầu dữ liệu sẵn sàng DSR: khi DCE( data communication equipment) được

bật lên và đã chạy xong chương trình tự kiểm tra thì nó đòi hỏi DSR đế báo rằng

đã sẵn sàng cho truyền thông Do vậy, nó là đầu ra của DCE và là đầu vào củaDTE Đây là tín hiệu tích cực mức thấp

—’ Yêu cầu gửi RTS: DTE sẽ gửi tín hiệu RTS đến DCE khi nó có một byte dữ

liệu cần gửi RTS là đầu ra tích cực mức thấp

—’ Tín hiệu xóa để gửi CTS: DCE sẽ gửi tín hiệu này đến DTE đế báo rằng nó

có thể nhận dữ liệu Tín hiệu đầu vào này tới DTE dùng đế khởi động việc truyền

dữ liệu

— Phát hiện tín hiệu mang dữ liệu DCD: Modem yêu cầu tín hiệu DCD báocho DTE biết rằng đã phát hiện tín hiệu mang dữ liệu hợp lệ và rằng kết nổi giữa

nó có thế nhận dữ liệu

Tốc độ truyền: còn gọi là tốc độ Bau-rate, được xác định như tông số lần

thay đổi tín hiệu trong một giây Neu tín hiệu truyền đi là nhị phân thì tốc độtruyền tương ứng với số Bit truyền trong một giây Các kênh thông tin đượcđánh giá bằng tốc độ truyền Neu tín hiệu truyền đi ngoài khả năng của kênhtruyền sẽ xảy ra lỗi, bên thu sẽ nhận không đúng thông tin mà bên truyền gửi

Thiết bị được sử dụng trong truyền thông nối tiếp:ƯART(Universal Asynchronous Receiver Transmitter)

UART là một phần không thể thiếu trong việc điều khiển truyền thông nối tiếp

Trang 4

Hàm Chức năng

OOh Khởi tạo khối ghép nối tiếp

Olh Gửi một kí tự

02h Nhận một kí tụ’

03h Đọc trạng thái của khối ghép nối tiếp

04h Khởi tạo cống nối tiếp mở rộng

05h Điều khiển truyền thong của cổng nổi tiếp mở rộng

Khối ghcp nối Địa chỉ cơ sở Ngắt cứng IRQ

Một chiều khác, UART chuyển đổi dữ liệu nhận được dạng dữ liệu nối

tiếp thành dạng dữ liệu song song cho CPU có thế đọc vào bus hệ

Fig 56 LPC2300 UARTO, 2 and 3 block diagram

Hình 2.2.2 ỉ.b - Sơ đồ khối của UART

Nhìn vào sơ đồ khối ta có thể thấy UART gồm có 4 bộ chính :

• Bộ Interrupt: điều khiến việc interrupt, lun trữ status và khi nào cóinterrupt sẽ đưa dữ liệu ra chân UnlNTR

• Bộ điều khiển Clock UnBRG điều khiển việc sinh ra CLK từ hai dữ liệu

vào là UnDLL và UnDLM

• Bộ truyền dữ liệu : UnTX có hai thanh ghi : thanh ghi chứa dữ liệu vàthanh ghi truyền serial ra ngoài thông qua chân TXD

• Bộ nhận dữ liệu : UnRX gồm có hai thanh ghi là thanh ghi chứa dữ liệu

và thanh ghi truyền serial Dữ liệu nhận vào ở chân RXD sẽ đẩy vào thanh ghitruyền serial rồi đua vào thanh ghi nhận dữ liệu

Trong PC, hệ điều hành và ngôn ngữ lập trình hỗ trợ cho lập trình liên kết nối

tiếp mà không cần phải hiểu rõ chi tiết cấu trúc UART Đế mở liên kết, ứng dụnglựa chọn một tần số dữ liệu hoặc là thiết lập khác hoặc cho phép truyền thông tạicác cống Đe gửi 1 byte, ứng dụng ghi byte này vào bộ đệm truyền của cống được

lựa chọn, và UART gửi dữ liệu này, tùng bit một, trong định dạng yêu cầu, thêmbit Start, bit Stop, bit chẵn lẻ khi cần Trong một cách đơn giản, byte nhận được tự’

động được lun trữ trong bộ đệm UART có thể dùng nhanh một ngắt để báo choCPU và các ứng dụng biết dữ liệu đang nhận được và các sự kiện khác

♦> Giói thiêu INT 14h của Bios

Trang 5

COM4 2E8h IRQ3

2.2.2.1 Chuẩn giao tiếp RS232

là chuẩn giao tiếp đuợc sử dụng rỗng rãi trong truyền thông nối tiếp

Có hai phiên bản RS232 được lưu hành trong thời gian tương đổi dài làRS232B và RS232C Cho đến nay, RS232B là phiên bản đã cũ, nay đã ít được sửdụng Còn RS232C hiện vẫn còn tồn tại và thường được gọi là chuẩn RS232.2.2.2.1 b Đặc điểm chuẩn RS232

Chuẩn RS232 quy định mức logic 1 ứng với điện áp từ -3V đến -25V (mark),mức logic 0 ứng với điện áp từ 3V đến 25V (space) và có khả năng cung cấp dòng

từ 10 mA đến 20 mA

Ngoài ra, tất cả các ngõ ra đều có đặc tính chống chập mạch

Chuẩn RS232 cho phép truyền tín hiệu với tốc độ đến 20.000 bps nhưng nếu

cáp truyền đủ ngắn có thể lên đến 115.200 bps

Chuấn RS 232 sử dụng phương thức truyền thông không đối xứng, tức là sửdụng tín hiệu điện áp chênh lệch giữa một dây dẫn và đất Các cổng của RS 232 có

ngưỡng điện áp qui ước là -15V tới -3V, và 3V tới 15V (hoặc -5V, +5V, sự khácbiệt giữa hai giá trị 3V, và 5V này được gọi là noise magin ( biên độ dao động củanhiễu)

• Tín hiệu có áp lớn +3V được coi là mức logic 0 hoặc có giá trị cao (H)

• Tín hiệu có áp nhở hơn -3 V được coi là mức logic 1 hoặc giá trị thấp (L)

• Điện áp từ -3V tới +3V là mức điện áp không có ý nghĩa

Chính vì tù' - 3V tới 3V là phạm vi không được định nghĩa, trong trường hợpthay đối giá trị logic tù' thấp lên cao hoặc tù' cao xuống thấp, một tín hiệu phải vượt

qua quãng quá độ trong một thời gian ngắn hợp lý Điều này dẫn đến việc phải hạn

chế về điện dung của các thiết bị tham gia và của cả đường truyền Tốc độ truyềndẫn tối đa phụ thuộc vào chiều dài của dây dẫn Đa số các hệ thống hiện nay chỉ

hồ trợ với tốc độ 19,2 kBd (chiều dài cho phép 30 - 50 m)

Trang 6

Obj Tên đối tượng (tên cống)

A Dữ liệu dạng Decimal tự’ động đối sang Binary khi truyền

Precision Số Bit được gởi thông

Mode Mở rộng chức năng gởi đồng bộ hay bất đồng bộ

Các mạch có tính năng như vậy gọi là mạch lái đường dây, Các IC có tính năngnày MAX232, MCI488, MC1489, DS275

Vi mạch Max232 của hãng MAXIM là vi mạch chuyên dùng trong giao tiếp

nối tiếp với máy tính Nó có nhiệm vụ chuyến đổi qua lại giữa các mức tính hiệu

TLT và RS232

Chuẩn RS232.

❖Mức thấp (logic 0) có trị số từ +3v đến +25vMức cao (logic 1) có trị số từ -3v đến -25V

Chuẩn TLT.

❖Ngõ vào:

Mức thấp (logic 0) là Ov đến +0.8vMức cao (logic 1) là +2v đến +5vMiền giữa 0.8v đến +2 V không hợp lệNgõ ra:

Mức thấp (logic 0) là Ov đến 2.5vMức cao (logic 1) là +2.7v đến +5v

v+

C1 -C2 +C2 -

GND

TI OUT

RI IN

RI OUT

TI IN

Hình 2.2.2 l.b- Dạng dóng gói của MAX232

2.2.3 GIAO TIẾP VI ĐIỀU KHIỂN ỴỚI MÁY TÍNH BẰNG MATLAB

2.2.3.1 Matlab trong truyền thông nối tiếp

Cũng như các phần mềm của Microsoft (Visuall basic , c ,c++) thì Matlabcũng là một trong nhũng phần mềm hỗ trợ đầy đủ các tính năng truyền thông quacổng nối tiếp Với Matlab ta có thể thiết kế giao diện điều khiến dễ dàng, thiết lập

các thuộc tính cho cống nổi tiếp tương đối đơn giản

2.2.3.2 Các hàm cơ bản của Matlab trong truyền thông nổi tiếp

Sau đây là một sổ hàm cơ bản của Matlab trong truyền thông nối tiếp

+ obj = serialCport’) tạo một cổng nối tiếp mới, nếu cổng không được mở

hay nó đang được sử dụng thì chúng ta không thế kết nối nó tới thiết bị truyền

thông

Ví dụ:

» sl = serial ('COM1') //tạo cổng COM1

Serial Port Object: Seriaỉ-COMI

Communication Settings

BaudRate: 9600 Communication State Status: cỉosed RecordStatus: off

+ obj = serial(fportf, 'PropertyNameProperty Value, ) tạo ra một cổng

nối tiếp mới với tên cống, thuộc tính và giá trị thuộc tính đuợc chỉ rõ Neu tên

hay một trong những thuộc tính của nó bị sai thì cống nối tiếp không đuợc mở

Ví dụ:

s2 = serial ('COM2', 'Baudrate', 9600, 'DataBits',8, 'StopBits',1)

+ fopen(serial) mở cổng nối tiếp để kết nổi tới thiết bị truyền thông.

Truyền dữ liệu ( kết nối các đối tượng ) qua cổng nối tiếp.

Sau khi đã mở cổng nối tiếp, ta tiếp hành kết nổi máy tính với thiết bị truyềnthông, thực hiện quá trình trao đối thông tin

+ fwrite (serial) truyền các giá trị binary tới các thiết bị truyền thông.

Cú pháp:

fwrite(obj,A)fwrite(obj,A,'precision')fwrite(obj,A,'mode')

Ví dụ :fwrite(s 1,254) // truyền giá trị nhị phân của số 254 qua cổng sl

+ fprintf (serial) truyền các giá trị dạng ASCII tói các thiết bị truyền

thông

Đọc dữ liệu (truy vấn các thiết bị) qua cống nối tiếp.

Các hàm hay dùng trong giao tiếp nối tiếp:

+fread(serial)ỉ đọc dữ liệu dạng Binary, hiển thị dạng số Decimal từ port nối tiếp

Ví dụ:

Trang 7

Dữ liệu đọc vào và lưu vào biến Data giá trị tù' port nối tiếp

+fscanf(serial): đọc dữ liệu dạng ASCII từ port nổi tiếp.

ByíesToOutpuí: số byte hiện thời trong bộ đệm phát dữ liệu của máy tính.

BytesAvailable : số byte hiện có trong bộ đệm nhận dữ liệu.

+OutputBufferSỉze\ Dung lượng của bộ đệm phát, mặc định là 512 byte +InputBufferSize: Dung lượng của bộ đệm nhận, mặc định là 512 byte.

+ Timeout :thời gian chờ để đọc hay gởi dữ liệu ra port nối tiếp, mặc định là

10(giây) Het thời gian timeout mà không có dữ liệu truyền, nhận thì Matlab sẽbáo lỗi

+ ValuesSent: Tổng số byte đã gởi qua cổng nối tiếp.

+ ValuesReceỉved\ Tổng số byte đã nhận qua cống nổi tiếp.

Một số hàm quan trọng trong giao tiếp:

+BytesAvailableFcnCount: So sánh số byte trong bộ đệm nhận nếu giá trị này

giá trị được thiết lập trong hàm thì sẽ tạo ra một sự kiện trong port nối tiếp Dựa

vào sự kiên này ta sẽ thực hiện một vài chức năng mong muốn

+BytesAvaiIableFcnMode: Dạng dữ liệu trong bộ đệm nhận để tạo ra sự kiện.

Dạng dữ liệu thường được chọn là ‘Byte’

+BytesAvaiIableFcn: Đây là một Hàm đáp ứng sự kiện ở port nối tiếp Hàm này

sẽ được gọi khi có sự kiện xảy ra ở port nối tiếp Nghĩa là có dữ liệu được truyền

Trang 8

Cách 2:

Đọc dữ liệu dựa vào sự kiện của port nổi tiếp, nghĩa là hàm đáp ứng sự kiệncủa port Cách hay được dùng vì rất thích hợp cho những ứng dụng phức tạp đòihỏi tốc độ đồng bộ nhanh giữa 2 thiết bị

Tới đây là công việc điều khiển cơ bản đã hoàn thành, vấn đề còn lại ta sẽthi công các phần tử chấp hành các tín hiệu điều khiển này Cụ thể ở đây là Motorbước trong mô hình cơ khí, do vậy chúng ta bắt đầu tìm hiểu đến động cơ bước vàmạch điều khiển chúng

- Trục quay của động cơ xoay tròn tăng dần số bước khi các xung điềukhiến cấp vào mạch theo thứ tự’ hợp lí

- Động cơ bước đặc biệt sử dụng trong các ứng dụng điều khiến vì ta có thếbiết chính xác vị trí của trục động cơ (motor shaft) mà không cần sử dụngcác thiết bị cảm ứng Chúng cho phép điều khiển bất kỳ sự chuyến độngnào với sự chính xác cao bằng việc đếm số bước của động cơ Góc bướcđược xác định bởi số cực rotor và stator

- Động cơ bước thường được chia thành 3 loại: động cơ bước nam châm vĩnh

Trang 9

Động cơ nam châm vĩnh cửu hay còn gọi là động cơ bước kiểu tác dụng sử

dụng nam châm vĩnh cửu làm Roto Hình 2.3.1.1 minh hoạ động cơ bướcnam châm vĩnh cửu đơn giản:

HỊB '

\Statorconaists of I|*« pe>«

Hình 2.3.1.1 Cấu tạo động cơ bước nam châm vĩnh cửu

- Hoạt động của loại động cơ này như sau: giả thuyết rằng rotor đang nằm ở

vị trí với cực nam của nam châm quay lên trên Khi cuộn dây Stator 1 được

cấp điện, cực nam của Rotor bị hút về phía nó Sau đó, ngắt điện cuộn 1 vàtiếp tục cung cấp điện vào cuộn Stator 2, do lực hút giữa tù’ trường của nam

châm và từ trường của cuộn dây Stator, Rotor lại thắng hàng với cuộnStator 2 Như vậy, Rotor sẽ quay 90° mỗi bước cho mỗi lần kích liên tiếptheo trình tự của các cực Stator Ta có thế đảo chiều động cơ nếu thay đốitrình tụ’ kích các cực Stator

- Một đặc tính của loại động cơ này là Rotor luôn có khuynh hướng thẳnghàng với Stator ngay cả khi không cấp điện cho Stator Ta có thế cảm nhậnđược lực kéo của tù' trường khi xoay nhẹ Rotor bằng tay, nó gọi là lực hãm

Một ưu điểm của động cơ bước là nó có thể sử dụng trong điều khiển vòng

Trang 10

- Động cơ bước 2 pha lưỡng cực có 2 cuộn dây nhưng có 4 cực từ.

- Động cơ bước nam châm vĩnh cửu 2 pha lường cực được sử dụng trongthực tế có sơ đồ như Hình 2.3.1.2 Trong Hình 2.3.1.2, cuộn dây 1 gồm 2cực la và lb nằm đối diện nhau đế khi cấp điện qua cuộn 1 với cực tính+ la -lb, cực la và lb lần lượt đóng vai trò là từ trường bắc và từ trườngnam, tạo lực hút và đấy rotor sắp thằng hàng (vị trí 1) Cách đơn giản nhất

đế điều khiến động cơ loại này là cấp điện vào lần lượt hoặc cuộn 1 hoặccuộn 2 của stator Neu muốn động cơ quay ngược chiều kim đồng hồ(CCW) tù’ vị trí 1, tiếp tục cấp điện cho cuộn 2 với cực tính +2a -2b, lúc này

lực từ trường sẽ tạo lực hút rotor quay đến vị trí 2 Ke tiếp, ta tiếp tục cấpđiện vào cuộn 1 nhưng lần này đảo cực tính của 2 cực la và lb: -la +lb, tù'trường làm rotor quay đến vị trí 3 Thuật ngũ' lưỡng cực được sử dụng vì có

sự đảo cực tính 2 cực của mỗi cuộn (dòng điện lần lượt chảy theo 2 chiềutrên mỗi cuộn) Chuỗi điện áp cung cấp đế quay động cơ được minh hoạ

Neu đọc bảng trên theo trình tự’ tù' trên xuống, chuồi điện áp lần luợt cungcấp vào các cuộn dây sẽ làm cho động cơ quay ngược chiều kim đồng hồ(CCW) Nguợc lại, nếu đọc từ dưới lên trên, chuỗi điện áp lần lượt cungcấp vào các cuộn dây sẽ làm cho động cơ quay theo chiều kim đồng hồ

(CW).

Phương pháp này gọi là phương pháp điều khiến theo kiểu 1 bước (wavedirve) Ngoài ra đế điều khiển động cơ 2 pha lường cực, ta có thể kích vào

2 cuộn dây cùng một lúc Trong chế độ này, rotor được hút tới giũa 2 cực

kế bên gần nhất Phương pháp này gọi là phương pháp điều khiển theo kiếubước đủ (full drive) Bảng sau và Hình 2.3.1.3 sẽ minh hoạ cho chuồi điện

áp kích theo phương pháp này:

Hình 2.3.1.3

- Trong kiểu điều khiển này, 2 cuộn dây được kích cùng lúc Điều này sẽ tạonhiều momen xoắn hơn kiểu điều khiển một bước Tuy nhiên, dòng cungcấp cho động cơ sẽ tăng gấp 2 lần và việc điều khiến khó khăn hơn so vớiphương pháp điều khiển một bước

- Cả hai phương pháp trình bày ở trên gồm 4 bước điều khiển (quay 4 bướctrên 1 vòng) Bằng cách kết hợp 2 phương pháp trên, động cơ quay lần lượt

đến các vị trí 1, r, 2, 2’, 3, 3’, 4, 4’, 1, r,2 đây gọi là phương pháp điềukhiến theo kiếu nửa bước (hafl step) Khi điều khiến theo phương pháp này,

động cơ chạy 8 bước trên một vòng Phương pháp điều khiến theo kiếu nửa

kích 360°1.8°= 200 bước ở chế độ wave drive Khi điều khiến bằng phươngpháp half-step (nửa bước), ta cần phải kích 400 bước với góc quay 0.9°.Hình 2.3.1.4 sẽ minh hoạ cho phương pháp half-step

Trang 11

2.3.1 b Động cơ bước nam châm vĩnh cửu 4 pha đơn cực.

Hỉnh 2.3.1.6 Động cơ nam châm vĩnh cửu đơn cực

- Bốn pha đơn cực là loại động cơ bước được sử dụng phổ biến nhất

- Động cơ bước nam châm vĩnh cửu đơn cực có 5 hay 6 đầu dây thường dùng

sơ đồ như Hình 2.3.1.7 có kết nối giữa cho mỗi dây Khi sử dụng các kếtnối giữa của cuộn dây thường được cấp vào nguồn dương và hai đầu củamỗi cuộn dây được nối xuống đất, tuỳ thuộc vào đầu vào nối đất ta sẽ xácđịnh chiều quay rotor Gọi là động cơ 4 pha vì động cơ có 4 cuộn dây được

cung cấp điện một cách độc lập và thuật ngữ đơn cực được sử dụng vì

la

- Cách đơn giản để điều khiển động cơ bước 4 pha đơn cực là cung cấp điệncho một pha tại một thời điếm theo trình tự’ nhất định (phương pháp wavedrive)

- Bảng điều khiển sau sẽ minh hoạ cho quá trình điều khiển kiểu một bước:

Hình 2.3.1.8 Giản đồ xung ở các đầu dây tương ứng: la, lb, 2a, 2b

- Việc điều khiển động cơ bước 4 pha đơn cực thì đơn giản hơn động cơbước 2 pha lưỡng cực Mạch driver cho động cơ bước 4 pha đơn cực đơngiản là đóng và ngắt các cực của Stator một cách tuần tự, nó không phảiđảo cực tính của cuộn dây Stator Tuy nhiên, động cơ bước 2 pha lưỡng cực

tạo nhiều momen xoắn hơn do có lực đấy và kéo ở cùng một lúc

- Lực xoắn của động cơ bước 4 pha đơn cực có thế được tăng lên nếu 2 cuộn

dây kề nhau được cung cấp năng lượng cùng một lúc, tạo momen làm chorotor quay đến nằm giữa 2 cực của 2 cuộn dây Tuy nhiên, cách này sẽ tiêuhao dòng điện gấp 2 lần so với động cơ bước 2 pha lưỡng cực nhưng cũngchỉ làm momen xoắn tăng khoảng 40% Bảng sau sẽ minh hoạ cho phương

Hình 2.3.1.9 Giản đồ xung ở các đầu dây tương ứng: la, lb, 2a, 2b

- Bằng cách xen kẽ các bước trong 2 chế độ điều khiến một bước và bước đủ,

ta có thế điều khiển động cơ quay với góc bước nhỏ hơn 2 lần góc bướcdanh định của nó Bảng sau sẽ minh hoạ cho kiếu điều khiến half-step này:

Trang 12

Dựa vào cấu tạo của động cơ bước 2 pha lưỡng cực và 4 pha đơn cực, tathấy rằng có thế chuyển chế độ dùng động cơ 4 pha đơn cực thành 2 phalưỡng cực và ngược lại bằng cách :

+ Neu muốn chuyển thành động cơ 4 pha từ động cơ 2 pha, ta có thể lấy

ra ở mỗi cuộn 1 đầu dây chung (common), đầu dây chung này được nối

vào điếm giữa 2 cực của mỗi cuộn dây Hai đầu dây common (2 và 5)được kết nối như Hình 2.3.1.10:

+ Nếu muốn sử dụng ở chế độ 2 pha lưỡng cực thì 2 đầu dây common (2

và 5) không dùng

Ngày nay, hầu hết các động cơ bước nam châm vĩnh cửu có góc bước rấtnhỏ Những loại động cơ có góc bước nhỏ này được làm bằng cách ghépchồng hai rotor đa cực như Hình 2.3.1.11:

Trang 13

2.3.2 Động cơ bước có tù’ trở biến thiên (động cơ bước biến tù’ trở).

- Động cơ biến từ trở hay còn gọi là động cơ phản kháng Rotor của loạiđộng cơ này không sử dụng nam châm vĩnh cửu, thay vào đó nó sử dụngmột bánh răng bằng sắt Vì không sử dụng nam châm vĩnh cửu-không đòihỏi rotor phải tù' ho á- nên rotor có thế chế tạo với nhiều hình dạng khácnhau Vì được làm bằng sắt nên mồi răng rotor sẽ bị hút về phía cực statorđược cấp điện gần nhất nhưng với lực hút yếu hơn loại nam châm vĩnh cửu

Điều này làm cho momen xoắn của động cơ biến từ trở nhỏ hơn momenxoắn của động cơ nam châm vĩnh cửu

(a) Symbol (b) Construcbon

Hình 2.3.2.1 Động cơ bước biến từ trở loại 3 pha

Trang 14

Động cơ biến từ trở thông thường có 3 hoặc 4 pha Hình 2.3.2.1 minh hoạcho loại động cơ biến từ trở 3 pha Sator của loại động cơ này có 3 mạch

từ: ệ\, Ộ2 và 03 Mỗi mạch từ gồm 4 cực từ Như vậy Stator của động cơ

như hình 3 có 12 cực từ Chú ý, rotor có 8 răng trong khi stator có tất cả 12

răng Đây là cấu tạo đặc biệt của động cơ này Bởi vậy, răng cuả rotor sẽkhông bao giờ thẳng hàng tòng đôi 1-1 với răng của sator, điều này đóngvai trò quan trọng trong hoạt động của loại động cơ này

Hoạt động của loại động cơ này như sau:

(a) Pote 01 energized (b) Pote 02 energized

Hình 2.3.2.2 Động cơ bước biến từ trở 3 pha 15°

+ Khi mạch từ ộ\ được cung cấp năng lượng, răng A của rotor sẽ di chuyến đến thẳng hàng với cực của ộ\.

+ Ke tiếp, khi Ộ2 được cấp điện, răng B gần nhất sẽ di chuyển về phía nó + Nếu tiếp tục cấp điện cho Ộ2, rotor sẽ tiếp tục quay 15° theo hướng ngược chiều kim đồng hồ bằng cách hút răng c thắng hàng với Ộ3>.

Góc bước của động cơ bước biến tù’ trở là hiệu số giữa góc 2 cực rotor gần

nhất và góc 2 cực stator gần nhất Góc bước của động cơ được minh hoạnhư hình 3 đươc xác đinh là: = 45° -30° =15°

Trang 15

Bằng cách sử dụng lối thiết kế này, động cơ bước biến từ trở có thể đạtđược những góc bước rất nhỏ, thậm chí nhỏ hơn 1° Góc bước càng nhỏgiúp cho việc điều khiển vị trí càng chính xác hơn.

- Động cơ bước biến từ trở có sự khác biệt so với động cơ nam châm vĩnhcửu Vì rotor của động cơ bước biến từ trở không được từ hoá nên lực xoắn

của nó yếu hơn lực xoắn của động cơ nam châm vĩnh cửu có cùng gócbước Mặc dầu vậy, nó sẽ không có lực xoắn hãm (detent torque) khi tắtnguồn như động cơ nam châm vĩnh cửu Có góc bước nhỏ và không có lựcxoắn hãm nên động cơ biến từ trở dễ bị mất bước Đây là vấn đề cần đượcxem xét khi động cơ đang vận hành ở chế độ vòng hở Vì thế, nên dùng các

bộ điều khiển vòng kín cho loại động cơ này

2.3.3 Động cơ bước hỗn hợp (động cơ bước dạng ghép)

- Trong các loại động cơ bước kế trên thì động cơ bước hỗn hợp được sửdụng nhiều hơn cả vì loại động cơ này kết hợp những ưu điếm của loạiđộng cơ bước nam châm vĩnh cửu và động cơ bước biến tù’ trở

- Rotor có các răng cho phép động cơ quay với góc bước nhỏ (có loại quayvới góc bước 1.8°) và nó có một nam châm vĩnh cửu tạo lực xoắn hãm nhỏngay cả khi không cấp điện cho động cơ

- Chúng ta thấy rằng việc từ hoá các cực rotor của động cơ bước nam châmvĩnh cửu tương đối khó khăn nên góc bước của loại động cơ này thường bịhạn chế Neu như động cơ bước biến từ trở có góc bước nhỏ nhờ rotor được

cấu tạo bởi bánh răng bằng sắt thì lực quay và lực xoắn hãm của nó lại yếuhơn động cơ bước nam châm vĩnh cửu Động cơ bước hỗn hợp tù' hoá mộtcách hợp lý các cực của rotor và như vậy nó sẽ có những ưu điếm của

Trang 16

Nam châm vinh cửu

Hình 2.3.3.1 Cấu tạo động cơ bước hỗn hợp (hybrid stepper motor)

- Động cơ bước hỗn họp có cấu tạo tương đổi phức tạp hơn động cơ namchâm vĩnh cửu Rotor bao gồm 2 vòng bánh răng và một nam châm vĩnhcửu được đặt ở giữa 2 vòng bánh rănh này-một vòng bánh răng ở cực bắc

và vòng còn lại ở cực nam của nam châm vĩnh củu Với mỗi bước, 2 răngđối nhau trên bánh răng nằm ở cực bắc sẽ bị hút tới 2 cực nam của cuộndây Stator và 2 răng đối nhau trên bánh răng nằm ở cực nam sẽ bị hút tới 2cực bắc của cuộn dây Stator cấu tạo bên trong tương đối phức tạp songviệc điều khiến lại đơn giản hơn động cơ nam châm vĩnh cửu và biến từ trở

- Theo lý thuyết hoạt động của động cơ bước hồn hợp cũng giống như hoạtđộng của động cơ biến từ trở, rotor và stator có số răng khác nhau, trongmỗi bước khi cực của stator được cấp điện thì răng rotor gần nhất sẽ quayxếp thẳng hàng với cực này Tuy nhiên, do nguyên lý của lực từ trường màtrong bất kì lúc nào một nửa số cực của stator là cực bắc, nửa số cực còn lại

là cực nam Đe cân bằng lực từ, mồi cực của stator cần có khả năng

Trang 17

- Ảnh hưởng của tải.

- Vì điều khiển theo kiểu vòng hở nên đòi hỏi mỗi bước phải thật chính xác,nhưng nếu tải quá lớn, động cơ không đủ momen để quay bước Khi cóxung điều khiển đặt vào, rotor chỉ quay nhẹ rồi bị kéo trở lại vị trí gốc, hiện

tượng này gọi là ‘bị kẹt’ (stalling)

- Trong mỗi bước, momen luôn thay đối bởi vì step motor phụ thuộc vào góc

của trục, thật vậy, khi rotor hướng thẳng hàng với cuộn dây được kích từ thì

Hình 2.3.4.1 Sự thay đổi momen theo góc quay

- Vấn đề này dẫn đến một trạng thái là rotor có thể bị dừng tại một vị trí nào

đó mà tại đó momen quay cân bằng với momen cản Neu tải vượt quámomen cực đại của động cơ sẽ làm động cơ bị trượt nhanh Hình 1.4 cho ta

hai vấn đề khi ta cho rotor trễ đi một xung kích hay cho xung kích tới sớmhơn như ở hình 1.4 b vấn đề thứ nhất là tại đây có momen rất nhỏ hoặc

Trang 18

không có momen sinh ra, vấn đề thứ hai là tại đây rotor sẽ bị cân bằng và ta

không biết chắc rằng rotor sẽ quay trái hay quay phải

Hình 2.3.4.2 Minh họa vấn đề xảy ra khi cho rotor trễ một xung so với xung

- Do đó bản thân rotor không cho phép trễ quá 1/2 kích thước một bước.Trong thực tế, momen động (dynamic torque : là momen có ích khi động cơ

quay) chỉ bằng một nửa momen giữ (holding torque: momen giúp giữ rotorkhi dừng)

Kết luận:

- Từ những đặc điếm phân tích ở trên, ta thấy được những un điếm lớn củastep motor , thứ nhất là điều khiển vòng hở, thứ hai là xác định vị trí theogóc bước một cách chính xác vấn đề ở đây là phải tính toán momen quaysao cho phù hợp với tải, đế khi điều khiến không xảy ra hiện tượng trượtbước

Công thức tính momen tông quát: momen=lực*tay đòn

Trang 19

Công thức tính mo men xoắn đối vối động co bước:

- Với đề tài này, ta không chọn động cơ DC vì thứ nhất cần phải có hồi tiếp

về khi hệ thống hoạt động, khi đó ta phải dùng encorder, do đó sẽ phát sinh

chi phí thiết kế, thứ hai là khi dừng, động cơ DC không dừng một cách tứcthời như step motor, khi đó đòi hỏi ta phải có một phương pháp điều khiếnhọp lí, vì trong đề tài của ta vấn đề vị trí của tòng điếm rất quan trọng nêntính chất dừng tóc thời của step motor rất phù họp

2.4 Vi điều khiển AT89C51

2.4.1 Giới thiệu

Hình 2.4.1.1 Vi điều khiển AT89C51

- Vi điều khiến viết tắt của từ micro- controller, là mạch tích hợp trên chip cóthể lập trình, được dùng để điều khiển một hệ thống hoạt động theo mong

Trang 20

muốn của mình Hệ thống bao gồm cả phần cứng lẫn phần mềm, phần cứng

và phần mềm phải có quan hệ với nhau; vi điều khiển có tập lệnh, khi nguời

lập trình nạp vào vi điều khiển, vi điều khiến tiến hành đọc chương trình,lưu trữ chương trình, xử lí chương trình, đo thời gian tiến hành đóng mởmột cơ cấu nào đó

Vi điều khiển được sử dụng trong các tivi, máy giặt, lò vi-ba, điện

thoại trong lĩnh vực tự động hóa thì vi điều khiển cũng được sử dụngkhá phô biến như trong robot, trong các băng chuyền, các bộ điều khiến tựđộng, và vi điều khiến còn ứng dụng trong nhiều thiết bị khác nữa

Do họ MCS-51TM đã trở thành chuấn công nghiệp nên có rất nhiều hãngsản xuất ra nó, điển hình là ATMEL Corporation Hãng này đã kết hợp rấtnhiều tính năng dựa trên nền tảng kỹ thuật của mình đế tạo ra các vi điềukhiến tương thích với MCS-51TM nhưng mạnh mẽ hơn

AT89C51 cung cấp những đặc tính chuẩn như sau: 4 KB bộ nhớ chỉ đọc cóthể xóa và lập trình nhanh (EPROM), 128 Byte RAM, 32 đường I/O, 2TIMER/COETNTER 16 Bit, 5 vectơ ngắt có cấu trúc 2 mức ngắt, một Portnối tiếp bán song công, 1 mạch dao động tạo xung Clock và bộ dao độngON-CHIP Thêm vào đó, AT89C51 được thiết kế với logic tĩnh cho hoạtđộng đến mức không tần số và hỗ trợ hai phần mềm có thế lựa chọn nhũngché độ tiết kiệm công suất, chế độ chờ (IDLE MODE) sẽ dừng CPU trongkhi vẫn cho phép RAM, timer/counter, port nối tiếp và hệ thống ngắt tiếptục hoạt động Chế độ giảm công suất sẽ lưu nội dung RAM nhưng sẽ treo

bộ dao động làm mất khả năng hoạt động của tất cả những chức năng kháccho đến khi Reset hệ thống

Các đặc điếm của 89C51 được tóm tắt như sau:

+ 4 KB bộ nhớ có thế lập trình lại, có khả năng tới 1000 chu kỳ ghi xoá.+ 2 bộ Timer/counter 16 Bit

Trang 21

+ 128 Byte RAM nội.

+ 4 Port xuất /nhập 1/0 8 bit

+ Giao tiếp nối tiếp

.1 (A

□ PSẼN

2

7 (AHình 2.4.2.1 Sơ đồ chânAT89C51

Trang 22

Bit Tên Địa

2.4.3 Chức năng các chân AT89C51

- Chân 40: Cung cấp điện áp Vcc

- Chân 20: Chân nối đất

Port 0 (32 - 39): Là một port 2 chức năng 8 bit Data Bus & 8 bit thấpAddress Bus khi có bộ nhớ mở rộng Khi port 0 là port xuất nhập dữ liệuphải sử dụng điện trở kéo lên bên ngoài

- Port 1 ( 1 - 8 ) : Là một port I/O-xuất nhập dữ liệu Sử dụng hoặc không sửdụng bộ nhớ ngoài

- Port 2 (21 - 28): Là một port có 2 chúc năng vừa làm port I/O khi không sửdụng bộ nhớ ngoài, vừa là 8 bit cao Address Bus khi sử dụng bộ nhớ ngoài

- Port 3 (10 - 17): Là một port có 2 chức năng vừa là port xuất nhập dữ liệukhi không sử dụng bộ nhớ ngoài vừa là các tín hiệu điều khiển khi sử dụng

bộ nhớ ngoài hoặc thực hiện những chức năng đặc biệt

- PSEN (Program Store Enable), (chân 29): Là tín hiệu điều khiển đế chophép bộ nhớ chương trình mở rộng và thường được nối đến chân OE(output enable) của một EPROM để cho phép đọc các byte mã lệnh

- PSEN ở mức thấp trong thời gian Microcontroller 8951 lấy lệnh Các mãlệnh của chương trình được đọc từ EPROM qua bus dữ liệu và được chốtvào thanh ghi lệnh bên trong 8951 đê giải mã lệnh Khi 8951 thi hànhchương trình trong ROM nội PSEN sẽ ở mức logic 1

- ALE (Address Latch Enable), (chân 30): Khi 8951 truy xuất bộ nhó' bênngoài, port 0 có chức năng là bus địa chỉ và bus 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

Trang 23

điều khiển đế giải đa hợp các đường địa chỉ và dữ liệu khi kết nối chúngvới IC chốt.

Tín hiệu ra ở chân ALE là một xung trong khoảng thời gian port 0 đóng vaitrò là địa chỉ thấp nên chốt địa chỉ hoàn toàn tự động Các xung tín hiệuALE có tốc độ bằng 1/6 lần tần số dao động trên chip và có thể được dùnglàm tín hiệu clock cho các phần khác của hệ thống Chân ALE được dùnglàm ngõ vào xung lập trình cho Eprom trong 8951

EA (Extemal Access), (chân 31): Tín hiệu vào EA nếu ở mức cao thì thựchiện chuông trình từ ROM nội Neu ở mức thấp, chưong trình chỉ được thihành tù’ bộ nhó' mở rộng

RST (reset), (chân 9): 8951 sẽ được reset khi RST ở mức cao

Hình 2.4.3.1 Reset tổng hợp( Reset bằng tay và reset khi cấp nguồn )

Khi ngõ RST này được đưa lên cao (trong ít nhất hai chu kì máy), cácthanh ghi bên trong AT89C51 được tải những giá trị thích hợp đế khởi

Trang 24

< mâcđinh choRO-R7Ì

Các ngõ vào bộ dao động (chân 18, 19): XTAL1 và XTAL2 là hai ngõ vào

và ra của một bộ khuếch đại dao động nghịch được cấu hình đế dùng nhưmột bộ dao động trên chip

XTAL2

XTAL1

GND

Note: C1, C2 = 30 pF ± 10 pF for Crystals

= 40 pF ± 10 pF for Ceramic Resonators

Hỉnh 2.4.3.2 Kết nối bộ tạo dao động

FF0EDBAA999890

8382SỉHỉnh 2.4.1 Bộ nhớ dữ liệu trên AT89C51RAM nội:

ACCPS\V

IP

P3

IEP2SBUFSCON

P1

THI

+ Bank thanh ghi (00H - 1FH): 8951 hồ trợ 8 thanh ghi (RO - R7), cáclệnh dùng thanh ghi RO - R7 thì sẽ ngắn hơn các lệnh tương ứngnhưng dùng địa chỉ trực tiếp Các giá trị dữ liệu được dùng thườngxuyên nên dùng một trong các thanh ghi này Bank thanh ghi tíchcực có thê chuyên đôi băng cách thay đôi các bit chọn bank thanhghi trong PSW

+ RAM địa chỉ hóa từng bit (20H - 2FH)

+ RAM đa dụng-đa chức năng (30H - 7FH)

- Các thanh ghi chức năng đặc biệt (80H - FFH) bao gồm:

+ Thanh ghi từ trạng thái chương trình PSW:

+ Cờ nhớ

Cờ nhó' (CY) có công dụng kép Thông thường nó được dùng cho cáclệnh toán học : nó sẽ được set nếu có một số nhớ sinh ra bởi phép cộnghoặc có một số mượn bởi phép trừ Ví dụ, nếu thanh ghi tích lũy chứa0FFH, thì lệnh ADD A, #1 sẽ trả về thanh ghi tích lũy kết quả 00H vàset cờ nhớ trong PSW

Cờ nhớ cũng có thể xem như một thanh ghi 1 bit cho các lệnh luận lý thi

hành trên bit

Trang 25

+ Cờ nhớ phụ

Khi cộng các số BCD, cờ nhớ phụ (AC) được set nếu kết quả của 4bit thấp trong khoảng OAH đến 0FH Neu các giá trị được cộng là số

BCD, thì sau lệnh cộng cần có DA A (hiệu chỉnh thập phân thanhghi tích lũy) để mang kết quả lớn hơn 9 vào nibble cao

+ Cờ 0 Cờ 0 (F0) là 1 bit cờ đa dụng dành cho các ứng dụng của ngườidùng

+ Các bit chọn bank thanh ghi

Các bit chọn bank thanh ghi (RSO và RS1) xác định bank thanh ghiđược tích cực Chúng được xóa sau khi reset hệ thống và được thayđối bằng phần mềm nếu cần Ví dụ, ba lệnh sau cho phép bank thanh

ghi 3 và di chuyến nội dung của thanh ghi R7 (địa chỉ byte 1FH) đến

thanh ghi tích lũy :

+ Cờ tràn

Cờ tràn (OV) được set sau một lệnh cộng hoặc trừ nếu có một phéptoán bị tràn Khi các số có dấu được cộng hoặc trừ với nhau, phầnmềm có thể kiểm tra bit này đế xác định xem kết quả có nằm trongtầm xác định không Khi các số không dấu được cộng, bit ov có thể

Trang 26

Thanh ghi Trạng thái

7 GATE 1 Bit (mở) cống, khi lên 1, timer chỉ chạy

khi 1NT1 ở mức cao6

C/T 1 Bit chọn chế độ counter/timer

1 = bộ đếm sự kiện

0 = Bộ định khoảng thời gian

00=chế độ 0: timer 13 bit01=chế độ 1: timer 16 bit10=chế độ 2: tự’ động nạp lại 8 bit

+ Con trỏ ngăn xếp (SP: 81H): Con trỏ ngăn xếp (SP) là một thanh ghi

8 bit ở địa chỉ 81H Nó chứa địa chỉ của byte dữ liệu hiện hành trênđỉnh của ngăn xếp Các lệnh trên ngăn xếp bao gồm các thao tác cất

dữ liệu vào ngăn xếp và lấy dữ liệu ra khỏi ngăn xếp Lệnh cất dữliệu vào ngăn xếp sẽ làm tăng SP trước khi ghi dữ liệu, và lệnh lấy

dữ liệu ra khỏi ngăn xếp sẽ đọc dữ liệu và giảm SP

+ Con trỏ dữ liệu (DPTR: 83H - 82H): được dùng để truy xuất bộ nhớngoài, là một thanh ghi 16 bit ở địa chỉ 82H (DPL : byte thấp) và83H (DPH : byte cao) Ba lệnh sau sẽ ghi 55H vào RAM ngoài ở địa

chỉ 1000H :MOV A, #55HMOV DPTR, #1000HMOVX @DPTR, ALệnh đầu tiên dùng địa chỉ tức thời đế tải dữ liệu 55H vào thanh ghitích lũy Lệnh thứ hai cũng dùng địa chỉ tức thời, lần này để tải dữliệu 16 bit 1000H vào con trỏ dữ liệu Lệnh thứ ba dùng địa chỉ giántiếp để di chuyến dữ liệu trong A (55H) đến RAM ngoài ở địa chỉđược chứa trong DPTR (1000H)

+ Các thanh ghi port I/O: port 0, port 1, port 2, port 3+ Các thanh ghi Timer: timer 0: 8CH - 8AH ; timer 1: 8DH - 8BH ;TMOD: 89H ; TCON: 88H

+ Các thanh ghi port nối tiếp SBUF: 99H ; SCON: 98H+ Các thanh ghi ngăt: 8951 có 5 nguồn ngắt được cho phép băng thanhghi IE: A8H

+ Thanh ghi điều khiển công suất PCON: 87H

Khi có hoạt động reset, trạng thái của các thanh ghi:

2.4.5 Một số chức năng của AT89C512.4.5.aBỘ định thời Timer

- 8951 có hai timer 16 bit, mỗi timer có 4 cách làm việc Người ta sử dụngcác timer đế: định khoảng thời gian; đếm sự kiện hoặc tạo tốc độ baud choport nối tiếp trong 8951

- Truy xuất các timer của 8951 dùng 6 thanh ghi chức năng đặc biệt chotrong bảng sau:

- Thanh ghi chế độ Timer (TMOD):

Trang 27

Bit Ký hiệu Địa chỉ Mô tả

TCON.7 TF1 8FH Cờ báo tràn Timer 1 Đặt bởi phần cứng khitràn, được xóa bởi phần mềm hoặc phần cúng

khi bộ xử lý chỉ đến chương trình phục vụ ngắt

TCON.6 TRI 8EH Bit điều khiến timer 1 chạy Đặt/xóa bằng phần

mềm để cho timer chạy/ngưngTCON.5 TF0 8DH Cờ báo tràn timer 0

TCON.4 TRO 8CH Bit điều khiến timer 0 chạy

TCON.3

IE1 8BH Cờ cạnh ngắt 1 bên ngoài Đặt bởi phần cứng

khi phát hiện một cạnh xuống ở 1NT1; xóa bằng

phần mềm hoặc bằng phần cứng khi CPU chỉđến chương trình phục vụ ngắt

TCON.2

IT1 8AH Cờ kiểu ngắt 1 bên ngoài Đặt/xóa bằng phần

mềm đế ngắt ngoài tích cực cạnh xuống/mứcthấp

TCON.l IEO 89H Cờ cạnh ngắt 0 bên ngoài

TCON

O ITO 88H Cờ kiểu ngắt 0 bên ngoài

1 0 2 UART 9 bit Cố định (Fosc chia cho 12 hoặc 64)

Bit Ký hiệu Địa chỉ bit Mô tả (l=cho phép, 0=cấm)

Thanh ghi điều khiển Timer (TCON)

2.4.5.b Serial port (Port nối tiếp)

- AT89C51 có một port nổi tiếp trong chip có thể hoạt động ở nhiều chế độtrên một dải tần số rộng Chức năng chủ yếu của port nối tiếp là thực hiệnchuyển đối song song sang nổi tiếp đối với dữ liệu xuất, và chuyển đối nối

tiếp sang song song với dữ liệu nhập

Hai thanh ghi chức năng đặc biệt cho phép phần mềm truy xuất đến portnối tiếp là: SBUF và SCON Viết vào SBUF để nạp dữ liệu sẽ được phát,

và đọc SBUF đế truy xuất dữ liệu thu được

Thanh ghi điều khiển port nối tiếp:

- Các chế độ port nối tiếp:

2.4.6 Ngắt (Interrupt)

- Một ngắt là sự xảy ra một điều kiện - một sự kiện - mà nó gây ra treo tạmthời chương trình trong khi điều kiện đó được phục vụ bởi một chươngtrình khác Chương trình giải quyết ngắt được gọi là chương trình phục vụngắt (1SR: Interrupt Service Routine) Khi ngắt xảy ra, chương trình chínhtạm thời bị treo và rẻ nhánh đến 1SR: 1SR thực thi và kết thúc bằng lệnh trở

về tù' ngắt, chương trình chính tiếp tục thực thi ở chỗ mà nó tạm dừng

- Tổ chức ngắt ở 8951: 2 ngắt ngoài, 2 ngắt từ timer và 1 ngắt port nối tiếp.Tất cả các ngắt đều mặc nhiên bị cấm sau khi reset hệ thống và được chophép từng cái một bằng phần mềm Khi có hai hoặc nhiều ngắt đồng thời,hoặc một ngắt xảy ra trong khi một ngắt khác đang được phục vụ, có cả hai

sự tuần tự hỏi vòng và sơ đồ ưu tiên hai mức dùng đế xác định việc thựchiện các ngắt

- Cho phép và cấm các ngắt thông qua thanh ghi chức năng đặt biệt IE(Interrupt Enable)

Trang 28

IE.2 EX1 AAH Cho phép ngắt ngoài 1

Bit Ký hiệu Địa chỉ

bit

Mô tả (l=mức cao hơn, 0= mức thấp)

IP.4 PS BCH Ưu tiên cho ngắt từ port nối tiếp

IP.3 PT1 BBH Ưu tiên cho ngắt tù' Timer 1

IP.l PTO B9H Ưu tiên cho ngắt tù' Timer 0

Port nối tiếp

NGUỒNĐỘNG

Cơ 12V

VI XỬ

ĐIỀUKHIỂNĐỘNGCơ

THIẾT

BI THU

ẰNH

ĐÔNGCơBƯỚC MÔ HÌNHCơ KHÍ

Số thứ tự Các chi tiết cơ khí Thông số Vật liệu Chức năng

Thanh trược <ỊA (mm) Inox Đế trược cho 3 trục X,Y,Z

- Ưu tiên ngắt: mỗi nguồn ngắt được lập trình riêng vào một trong hai mức

ưu tiên qua thanh ghi chức năng đặc biệt IP (Interrupt Priority):

- Hỏi vòng tuần tự: các bit cờ tạo các ngắt được tóm tắt ở bảng sau

- Xử lý ngắt: Khi ngắt xảy ra và đuợc CPU chấp nhận, chương trình chính bịngắt quãng Những hoạt động sau xảy ra:

* Lệnh hiện hành hoàn tất việc thực thi

Chương III THIẾT KÉ PHẦN CỨNG VÀ PHẦN MỀM3.1 Thiết kế phần cứng

Phân tích sơ đồ khối của hệ thống đế tiến hành thực hiện các công việc:

3.1.1 Mô hình và các thông số tính toán cho phần cơ khí

3.1.1 aCác chi tiết cơ khí

Bảng liệt kê các chi tiêt cơ khí sử dụng trong mô hình

Trang 29

Bánh răng 37 (răng)

Ộ5 (mm)

Nhựa tổng hợp Truyền chuyển động quay cl

thanh xoắn của 3 trụcThanh xoắn Ộ5 (mm)

Ẳ = 1 (mm)

Inox Chuyển chuyển động quay s

chuyển động ngangDây đai có răng ^8 (mm) Cao su tổng hợp

Công tắc hành trình 3 chân Nhựa tổng hợp Reset các trục về vị trí ban đ

Trang 30

Số thứ tự Thông số Chi tiết

Định dạng thu được JPG

3.1.1 cThông số động cơ bước sử dụng trong đề tài

3.1.1 d Thiêt bị thu nhận ảnh trong đê tài

Thiết bị thu nhận ảnh chính trong đề tài này loại Webcam với chuấn USB của hãng

Trang 31

Parameter Symbol Rating unit

Operating temperature Tọnr -30 to +100 °c

Storage temperature Tstg -55 to+125 °c

Parameter Symbol Condition MIN TYP MAX Unit

cơ, còn Mos-fet như là một khóa đóng/ ngắt.

Thông sổ của opto PC817

Absolute maximum ratings (Giá trị định mức)

❖ Electro-optical characteristics (đặc tính quang-điện)

Ngày đăng: 07/01/2016, 17:42

HÌNH ẢNH LIÊN QUAN

Hình 2.3.1.1 Cấu tạo động cơ bước nam châm vĩnh cửu - Vẽ lại bức ảnh chụp được từ webcam thông qua giao diện matlab và vi điều khiển
Hình 2.3.1.1 Cấu tạo động cơ bước nam châm vĩnh cửu (Trang 9)
Sơ đồ như Hình 2.3.1.7 có kết nối giữa cho mỗi dây. Khi sử dụng các kết nối giữa của cuộn dây thường được cấp vào nguồn dương và hai đầu của mỗi cuộn dây được nối xuống đất, tuỳ thuộc vào đầu vào nối đất ta sẽ xác định chiều quay rotor - Vẽ lại bức ảnh chụp được từ webcam thông qua giao diện matlab và vi điều khiển
Sơ đồ nh ư Hình 2.3.1.7 có kết nối giữa cho mỗi dây. Khi sử dụng các kết nối giữa của cuộn dây thường được cấp vào nguồn dương và hai đầu của mỗi cuộn dây được nối xuống đất, tuỳ thuộc vào đầu vào nối đất ta sẽ xác định chiều quay rotor (Trang 11)
Hình 2.3.2.2 Động cơ bước biến từ trở 3 pha 15° - Vẽ lại bức ảnh chụp được từ webcam thông qua giao diện matlab và vi điều khiển
Hình 2.3.2.2 Động cơ bước biến từ trở 3 pha 15° (Trang 14)
Hình 2.3.4.2 Minh họa vấn đề xảy ra khi cho rotor trễ một xung so với xung - Vẽ lại bức ảnh chụp được từ webcam thông qua giao diện matlab và vi điều khiển
Hình 2.3.4.2 Minh họa vấn đề xảy ra khi cho rotor trễ một xung so với xung (Trang 18)
Bảng liệt kê các chi tiêt cơ khí sử dụng trong mô hình - Vẽ lại bức ảnh chụp được từ webcam thông qua giao diện matlab và vi điều khiển
Bảng li ệt kê các chi tiêt cơ khí sử dụng trong mô hình (Trang 28)
Hình 2.6. Mạch kích fet. - Vẽ lại bức ảnh chụp được từ webcam thông qua giao diện matlab và vi điều khiển
Hình 2.6. Mạch kích fet (Trang 36)
Hình   3.2.1   Lưu   đồ   giải   thuật   chính   của   khối   xử   lý   ảnh 3.2.1.1 Giải thuật lấy toạ độ của hình ảnh thu được trên một khung nền cố  định: - Vẽ lại bức ảnh chụp được từ webcam thông qua giao diện matlab và vi điều khiển
nh 3.2.1 Lưu đồ giải thuật chính của khối xử lý ảnh 3.2.1.1 Giải thuật lấy toạ độ của hình ảnh thu được trên một khung nền cố định: (Trang 38)
Hình 3.2.1.l.b Lun đồ giải thuật của khối lấy tọa độ của bức ảnh màu đen - Vẽ lại bức ảnh chụp được từ webcam thông qua giao diện matlab và vi điều khiển
Hình 3.2.1.l.b Lun đồ giải thuật của khối lấy tọa độ của bức ảnh màu đen (Trang 40)
Hình 3.2.1.l.c Lưu đồ giải thuật chi tiết của khối lấy tọa độ màu đen của bức ảnh - Vẽ lại bức ảnh chụp được từ webcam thông qua giao diện matlab và vi điều khiển
Hình 3.2.1.l.c Lưu đồ giải thuật chi tiết của khối lấy tọa độ màu đen của bức ảnh (Trang 41)
Hình 3.2.1.2.C Sơ đồ giải thuật di chuyến tối ưu đến tọa độ tiếp theo - Vẽ lại bức ảnh chụp được từ webcam thông qua giao diện matlab và vi điều khiển
Hình 3.2.1.2. C Sơ đồ giải thuật di chuyến tối ưu đến tọa độ tiếp theo (Trang 43)
Hình 3.2.1.3.a Cách di chuyển đầu vẽ tối uu đến tọa độ tiếp theo - Vẽ lại bức ảnh chụp được từ webcam thông qua giao diện matlab và vi điều khiển
Hình 3.2.1.3.a Cách di chuyển đầu vẽ tối uu đến tọa độ tiếp theo (Trang 44)
Hình 3.2.1.3.b Sơ đồ giải thuật của khối xử lý tọa độ di chuyến tối un trục - Vẽ lại bức ảnh chụp được từ webcam thông qua giao diện matlab và vi điều khiển
Hình 3.2.1.3.b Sơ đồ giải thuật của khối xử lý tọa độ di chuyến tối un trục (Trang 45)
Hình 3.2.1.3.c Sơ đồ giải thuật chi tiết của khối xử lý tọa độ tối uu trục z - Vẽ lại bức ảnh chụp được từ webcam thông qua giao diện matlab và vi điều khiển
Hình 3.2.1.3.c Sơ đồ giải thuật chi tiết của khối xử lý tọa độ tối uu trục z (Trang 47)
Hình 3.2.1 A.b Sơ đồ giải thuật chi tiết tạo ra mảng chiều quay và số vòng của trục - Vẽ lại bức ảnh chụp được từ webcam thông qua giao diện matlab và vi điều khiển
Hình 3.2.1 A.b Sơ đồ giải thuật chi tiết tạo ra mảng chiều quay và số vòng của trục (Trang 49)
Hình 3.2.1.4.C Sơ đồ giải thuật chi tiết tạo ra mảng chiều quay và số vòng của trục Y - Vẽ lại bức ảnh chụp được từ webcam thông qua giao diện matlab và vi điều khiển
Hình 3.2.1.4. C Sơ đồ giải thuật chi tiết tạo ra mảng chiều quay và số vòng của trục Y (Trang 51)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w