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 506 0
Vẽ lại bức ảnh chụp được từ webcam thông qua giao diện matlab và vi điều khiển

Đ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

Ket nối Camer a Lấy dừ liệu ảnh thu từ Camera Các Đưa thuật toán để sai lệch lớn Vì lựa chọn sử dụng thiêt bị thu nhận ảnh có chât lượng ôn định Chương I TỔNG ảnh nâng sau QUAN VỀ ĐỀ TÀI quan trọng củanghiên đề tài.cúư 1.1 bước quan trọng việc xử lý ảnh cao 1.3 Phương pháp, phương tiện chất xửTầm lýnhững lượng Động bước ứng dụng liên quan đến động bước ngày trở nên Tên hàm 1.3.1 Phương Chức pháp Số thứ tự 2.1.2 Xửcác lý sinh ảnh quáTìm quen thuộc đổi viênđược khốiqua kỹ Matlab: thuật, nhấttừlàđóđối vớikếnhững đam videoinput Ket vớivới Camera hiếu vềnối động bước thu cách điều khiển chúng, thiết sơ đồngười khối Sau 2.1.2.1 MatLab preview hình ảnh đangsơthu từđiện, Camera mêthiết kếXem tùng khối thành đồđược mạch cuối chúng Ngôn ngữ lập trình Matlab ngày trở nêncùng phố ghép biến đối vớilại tất thành dânsơ đồ getsnapshot Chụp hình ảnh từ Camera chế tạo máy móc, Robot Nguyên nhân việc điều khiến chúng đơn giản mạch điện cụ Khâu cuối vẽ mạch in thi công mạch imshowkỹ Hiến thị ảnh hình nhiên mang lạitìm xác cao, vìmatlab chọn động cho Đồng thời hiểu xử lý ảnh phương dữbước liệucho qua lại thuật Đây dường ngôn ngữ hỗ trợnên hầuviệc hết lựa cácpháp côngtruyền cụ phục vụ imrezise Thay đôi độ phân giải hình ảnh ứng dụng trở nên phố biến Nhất ứng dụng có liên quan tới điều khiển vị trí Đối nhiều ngành khác nhau, tù' kinh tế kỹ thuật Đặc biệt Matlab mạnh vi xử đế cóxám thể sang lập trình khiển im2bwgiữa matlab Chuyển ảnhlýmức ảnh điều đen trắng vớiNgoài móc phức tạp đòi hỏi sựlýchính xác cơkhác, khí điệnMatlab tử, màphận cụ công cụmáy xử lý ảnh bất kỳvi ngôn ngữ lập trình lệnh phải lập trình xử đế có tíncả hiệu điều khiến chấp imcomplement Hoán đổi ảnh trắng đen hình cácmột ứngcách dụng có liên động hành xác vàcủa ổnđến định bwmorph Làm mảnh biênquan ảnh cơ, việc lựa chọn động bước nhu thành chủyếu yếuBên dựacạnh vào tổng hợp cácđộng tập lệnhServo DC, ngônnhiên ngữ khuyết khác cầu1.3.2 thiết có điểm lớn Phương tiện C,C++,VB Cấu trúc hàm tập lệnh đơn giản, dế hiếu, đặc biệt Matlab nhấtThông loại động cơliệu khó điều khiến xácviết mặttruyền vị trí động nhungđiện, mặt qua cụ tài bước, sách hổ trợ mạnh công Help,nói cácvề ví động dụ minh họa trực quan giúp người dùng tự tốc khống chế truyền động điện, điện tử công suất, kỹ thuật xung, kỹ thuật số, lập động độ vàvicông 8051, hẳn động cơmatlab bước quan trọng tài liệu xử lý ảnh trình điềusuất khiển trình 2.1.2.2 Xử lập lý ảnh matlab Nhằm mục đích tìm hiếu giúp bạn hiếu nhiều động bước matlab Ảnh sau thu ảnh dạng thô cần phải xử lý cách điều khiến chúng thông qua việc nhúng chúng vào ứng dụng cụ có liên thông Chương II.tới Cơ THUYẾT quanmột vịSỞ trí.LÝ Chẳng hạn vào sử dụng chúng máyđổiin,bức máy qua vài lọc, nghĩa dựa thuật toántrong đế biến ảnhphotocopy, sang máy 2.1 Ánh xử lý ảnh Matĩab CNC muốn ứng dụng thực tế “vẽ ảnh”, vậytrong chúngnhũng đãbước lựu chọn ảnhvà mong khác Bước thựclàhiện làvìmột quan đề tài trọng trongviệc kỹ thuật lý ảnh ảnh, nhận định đến mứcthông độ thành án vi 2.1.1 Ánh thu ảnh: thực vẽ lạixử chụp từ Webcam qua công giao diệndự matlab Xử lý ảnh thu phải thông qua công việc sau: điều khiển Thực ứng dụng nhúng này, biết nhiều Matlab Thông qua thiết bị ngoại vi thu nhận ảnh Camera, Webcam mà hình ảnh bên số hoá, lưu trữ hiển thị hình Một ảnh xử lý ảnh, vi xử lý, truyền thông vi xử lý Matlab, động bước, xây dựng thu vào tập hợp ma trận màu (RGB) R:red; G:Green; B:Blue mô hình khí Tóm lại ứng dụng điều khiển động bước thông qua giao diện Mức điều khiển từ màu máy tínhmột vàotoạ cácđộứng xám mồi củadụng đòi ma hỏi trậnđộlàchính khác xác nhaucao tạocủa nênđộng đề tài cần phải phát triển tương lai màu khác 1.2Giá Cơ trị sở lý luận mức xám tòng màu thay đối từ đến 255 (ảnh bit) Một vài hàm công xử lý ảnh củaqua Matlab Vì mà chúng taĐối biếu diễn tất cáccụmàu thông ma đế trậnthực này.hiện 1.2.1 tượng nghiên cứu Ánh đen- trắng trậnđộng ảnhcớ chiều, Mạch điều ma khiến bước giá trị tọa độ có mức trên: 1công với- việc 0:màu đen ; 1: màu trắng Neu trị lý mức xám -> 255 Truyền liệu thông qua RS232 giữagiá vi xử Matlab không - Các thuật toán xử lý ảnh matlab gọi ảnh trắng đen mà gọi ảnh xám Mồi toạ độ ma Dàn cứu trận 1.2.2 gọi ý1 nghiên điếm ảnh (pixel) - Kích Lý thuyết ảnhảnh thu xử lý ảnhđược tronggọi Matlab thướcvề độ phân giải, độ phân giải thuyết động cơbức bước càng- lớnLý nghĩa kích thước ảnh lớn Ví - dụ: Sơ Một lược viảnh xử với lý (P89V51 độ phân Rx2) giải 240x320 nghĩa ảnh có kích thước 240 - Tóm tắt sơ lựơc nguyên lý hoạt động khối (nêu khối, chức điếm ảnh theo từngchiều khối ) dọc 320 điếm ảnh theo chiều ngang Chất - Cơ lượng sở tính bứctoán ảnhthiết thu kế tùy thuộc nhiều vào thiết bị thu ảnh, giải thích MứcD0 D1 D D D D DD7 (ooooooooooooo) u \oooooooooooo/Ư CHẨN (Loại chân) Stop p _ o \oooo/ o ('oooooV dựa vào cổng chuyển xung( tăng giảm(thu sường Nơilạinhận Như nối vậyKÝ tiếp tađối cócó đặc tínhmột hoạt động ảnhsong TẦ công mong muốn, công phát xung) đồng việc thời), VÀO/RA MÔ CHẦN HIỆU dùng chuyến xung định nàođiều đọc bitcho truyền tới xử đệm lý tọa nhận độ (thu )đối choảnh phép đếđếmột tạo kí tụ’ dữkhi liệu nhận khiến giữ thiết đệm bị ngoại vi, (Loại 25 Trong trình thu truyền chỉCPU truyền không hiệu đồng bộhai cáckí tụ’ thứ hai Neu đọcdata, kí tự’ thú' cần nhấtthêm trướctínkhi kí tự’ thú’ chán) dữvào liệu gởi qua thiết bị thông qua chuấn giao tiếp RS232 DCD Lôi vào Data Carrier Detect chuỗi nênthìtốc nhanh.bịNhưng nhận data đầy đủ dữđộ liệutruyền không phải thêm kênh thứ hai để truyền Việc Lốichọn vào cống Rcceive Datahiện Tómtruyền lạiRXD nhóm Matlab đế thực án có liên quan xử nghĩa lý tín liệu qua COM tiếnđồ hành theo cách nốitới tiếp, 2làViệc thu nhận TXDvà xử Lối Transmit Datasơ đồ khối sau: ảnh lý ảnh diễn tả qua Load/Shift\ Input Read/Shift\ Output 20 DTR nối DataTcrminal Ready bit liệu đượcLối truyền tiếp đường dẫn Phương thức 7truyền liệu GND Thu Nối nhận đất ảnhnhững tĩnh thông có khả dùng cho ứng dụng có yêu cầu truyền qua lớnvào vìData khả gây nhiễu nhở nhiều so với 6liệu khoảng DSRcách Lôi Sct Ready việc truyền liệu qua cổng song song RTS Lôi Request to Scnd CTS Lôi vào TiềnClear toảnh Scnd xửhệlýthống Cống COM busảnh chothu phép dễ dàng tạo liên kết 22 RI Lôi vào Ring lndicator hình thức điểm với điếm hai thiết bị cần trao đổi thông tin với nhau, (lộc nhiễu, làm trơn ảnh ) Hình 2.2.1.1Sơ đò truyền đồng đối nối thông tiếp tin thành viên thú’ ba không giađộ vào Xửtham lý toạ bứcviệc ảnhtrao đổ đưa ❖ CácTruyền chân dẫn mô tả sau: 2.2.1.2 bấtđường đồng nốiđược tiếp 13 dừ liệu điều khiến cho thiết bị Trong truyền bất đồng nổi, liệuchấp không bao gồm đường xung clock, điểm đầu cuối liên kết có xung clock cho riêng thiết bị Mồi thiết bị2.1.2.2 truyền Sơ nhận cần phải cùngthu tần số xung clock khác Hình đồ thực xử có lý ảnh 25 bao gồm bit Start 9đế đồng vài % 14 nhỏ Mỗi byte liệu truyền 2.2 Matlab truyền thông nối tiếp RS232 Loại 25 chân Loại xung 2.2.1 GIỚI THIỆU PHƯƠNG THỨC TRUYỀN DỮ LIỆU NỐI TIẾP chân clock hai bit Stop tín hiệu báo kết thúc việc truyền liệu (Trong trường hợp nơi nhận đòi hỏi phải có thời gian kiếm tra liệu nhận Trong truyền liệu nối tiếp, nơi gửi gửi bit liệu nối tiếp trênđuợc, truyền kéoMột dài liên độ rộng tiếp bít Stop hai nhiều bit,bịcóthìthể 1,5 mộtnơi đường truyền kết nối có thiết phải có đường2).dẫn Việc truyền liệu bất đồng cho phép truyền ngẫu nhiên không dành cho chiều truyền có đường dẫn chia sẻcần bởitruyền liên tục Phải thêm vào trước kí tự' bit START phía sau bit hai thiết bị với thoả thuận hai thiết bị Khi mà có nhiều hai thiết bị, STOP nên tốc độ truyền chậm đơn giản kinh tế Tốc độ 75,110, tất -10V thiết bị thường dùng chung đường dẫn, giao thức Mức mạng1quyết định xemMark thiết bị- có quyền truyền nhận liệu Start L Pai rly +10V bit dữkhiến liệu tín hiệu bít xung clock Nơi Việc truyền nhận liệu được8 điều truyền Hình 2.2 ỉ.2 Sơ đồ truyền bất đồng tiếp nơi nhận dùng xung clock để định gửi nhận liệu Có hai dạng truyền liệu: truyền đồng truyền bất đồng bộ, mồi phương thức truyền sử dụng xung clock khác 2.2.2 GIAO TIẾP VỚI MÁY TÍNH BẰNG CỔNG NỐI TIẾP Hình 2.2.2 l.a —cổng Sơ đồCOM chân chức chan công COM 2.2.1.1 Giới thiệu Truyền đồng nối tiếp 2.2.2truyền đồng nối tiếp, đồng thực xung Trong clock phát thiết bị từ nguồn xung Xung clock Việc truyền liệu xảy hai đường dẫn Qua chân cắm TXD từ máy tính gửi liệu đến Kit Vi điều khiến(VĐK) ( Các thiết bị nhận), liệu mà máy tính nhận lại gửi chân RXD tín hiệu khác đóng vai trò tín hiệu hỗ trợ trao đổi thông tin trường hợp ta sử dụng hết chân Trong thực tế người ta thường sử dụng cổng COM1 (DB9) cho việc truyền liệu nối tiếp, cổng COM khác dùng vào ứng dụng khác ❖ Quá trình truyền nhận liệu thực sau: —’ Đầu liệu sẵn sàng DTR: thiết bị đầu cuối (máy tính VĐK) bật sau tự kiểm tra gửi tín hiệu DTR báo sẵn sàng cho truyền thông Neu có trục trặc với cổng COM tín hiệu không kích hoạt Đây tín hiệu tích cực mức thấp dùng đế báo cho Kit VĐK (modem) biết máy tính hoạt động sẵn sàng truyền thông — Đầu liệu sẵn sàng DSR: DCE( data communication equipment) bật lên chạy xong chương trình tự kiểm tra đòi hỏi DSR đế báo sẵn sàng cho truyền thông Do vậy, đầu DCE đầu vào DTE Đây tín hiệu tích cực mức thấp —’ Yêu cầu gửi RTS: DTE gửi tín hiệu RTS đến DCE có byte liệu cần gửi RTS đầu tích cực mức thấp —’ Tín hiệu xóa để gửi CTS: DCE gửi tín hiệu đến DTE đế báo nhận liệu Tín hiệu đầu vào tới DTE dùng đế khởi động việc truyền liệu — Phát tín hiệu mang liệu DCD: Modem yêu cầu tín hiệu DCD báo cho DTE biết phát tín hiệu mang liệu hợp lệ kết nhận liệu Tốc độ truyền: gọi tốc độ Bau-rate, xác định tông số lần thay đổi tín hiệu giây Neu tín hiệu truyền nhị phân tốc độ truyền tương ứng với số Bit truyền giây Các kênh thông tin đánh giá tốc độ truyền Neu tín hiệu truyền khả kênh truyền xảy lỗi, bên thu nhận không thông tin mà bên truyền gửi ❖ Thiết bị sử dụng truyền thông nối tiếp:ƯART(Universal Asynchronous Receiver Transmitter) UART phần thiếu việc điều khiển truyền thông nối tiếp ❖ Hàm Chức OOh Khởi tạo khối ghép nối tiếp Olh Gửi kí tự 02h Nhận kí tụ’ Đọc trạng thái khối ghép nối tiếp 03h 04h Khởi tạo cống tiếptruyền mở rộng • nối Một Bộ liệuUART : UnTX có haiđổi ghi :nhận thanhđược ghi chứa chiều khác, chuyển liệu dạng dữ liệu liệu 05h Điều khiển truyền nối thong cổng tiếp mở rộng thanhĐịa ghichỉ truyềnsởserial thông qua chân TXD cứng IRQ Khối ghcp nối tiếpcơthành dạng Ngắt liệu song song cho CPU đọc vào bus hệ 3F8h IRQ4 COM1 • Bộ nhận liệu : UnRX IRỌ3 gồm có hai ghi ghi chứa liệu 2F8h COM2 IRQ4 COM3 thanh3E8h ghi truyền serial Dữ liệu nhận vào chân RXD đẩy vào ghi truyền serial đua vào ghi nhận liệu Trong PC, hệ điều hành 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ụng lựa chọn tần số liệu thiết lập khác cho phép truyền thông cống Đe gửi byte, ứng dụng ghi byte vào đệm truyền cống lựa chọn, UART gửi liệu này, tùng bit một, định dạng yêu cầu, thêm bit Start, bit Stop, bit chẵn lẻ cần Trong cách đơn giản, byte nhận tự’ động lun trữ đệm UART dùng nhanh ngắt để báo cho CPU ứng dụng biết liệu nhận kiện khác 7r ♦> Giói thiêu INT 14h Bios Fig 56 LPC2300 UARTO, and block diagram Hình 2.2.2 ỉ.b - Sơ đồ khối UART Nhìn vào sơ đồ khối ta thấy UART gồm có : • Bộ Interrupt: điều khiến việc interrupt, lun trữ status có Bios điều hành tối đa bốn khối ghép nối tiếp có tên từ COM1 interrupt đưa liệu chân UnlNTR đến COM4 với địa chì: • Bộ điều khiển Clock UnBRG điều khiển việc sinh CLK từ hai liệu vào UnDLL UnDLM COM4 2.2.2.1 2E8h IRQ3 Chuẩn giao tiếp RS232 aLịch sử RS232 Để thuận lợi cho việc giao tiếp thiết bị truyền thông với máy tính 2.2.2.1 qua cổng nối tiếp, vào năm 1960 Hiệp hội công nghiệp điện tử (electronics industries asociation) đua chuẩn giao tiếp RS232 (RS = Recommended Standard); chuẩn giao tiếp đuợc sử dụng rỗng rãi truyền thông nối tiếp Có hai phiên RS232 lưu hành thời gian tương đổi dài RS232B RS232C Cho đến nay, RS232B phiên cũ, sử dụng Còn RS232C tồn thường gọi chuẩn RS232 .b Đặc điểm chuẩn RS232 Chuẩn RS232 quy định mức logic ứng với điện áp từ -3V đến -25V (mark), mức logic ứng với điện áp từ 3V đến 25V (space) có khả cung cấp dòng từ 10 mA đến 20 mA Ngoài ra, tất ngõ 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 cáp truyền đủ ngắn 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 sử dụng tín hiệu điện áp chênh lệch dây dẫn đất Các cổng RS 232 có ngưỡng điện áp qui ước -15V tới -3V, 3V tới 15V (hoặc -5V, +5V, khác biệt hai giá trị 3V, 5V gọi noise magin ( biên độ dao động nhiễu) • Tín hiệu có áp lớn +3V coi mức logic có giá trị cao (H) • Tín hiệu có áp nhở -3 V coi mức logic giá trị thấp (L) • Điện áp từ -3V tới +3V mức điện áp ý nghĩa Chính tù' - 3V tới 3V phạm vi không định nghĩa, trường hợp thay đối giá trị logic tù' thấp lên cao tù' cao xuống thấp, tín hiệu phải vượt qua quãng độ thời gian ngắn hợp lý Điều dẫn đến việc phải hạn chế điện dung thiết bị tham gia đường truyền Tốc độ truyền dẫn tối đa phụ thuộc vào chiều dài dây dẫn Đa số hệ thống hồ trợ với tốc độ 19,2 kBd (chiều dài cho phép 30 - 50 m) 2.2.2.1 o M A X Obj A Precision Mode Các mạch có tính gọi mạch lái đườngValue, ) dây, Cáctạo ICracómột tínhcổng + obj = serial(fportf, 'PropertyNameProperty vcc C1 + MAX232, MCI488, MC1489, DS275 nối tiếp với tên cống, thuộc tính giá trị thuộc tính đuợc rõ Neu v+ tên GND mạch Max232 hãng vi mạch chuyên dùng giao hayVimột thuộc tínhMAXIM bịlàsai cống nối tiếp không đuợc C1 tiếp TI mở nối qua lại mức tính Ví tiếp dụ: với máy tính.- Nó có nhiệm vụ chuyến đổiOUT hiệu Tên đối tượng (tên cống) s2 = serial ('COM2', 'Baudrate', 9600, 'DataBits',8, C2 RI IN'StopBits',1) RS232 Dữ liệu dạngTLT Decimal tự’ động đối sang Binary truyền + cổng nối tiếp để kết tới thiết RI bị truyền thông ❖ Chuẩn mở RS232 + fopen(serial) Số Bit gởi thông thấp (logic 0) có trị số từ +3v đến +25v Ví dụ: C2 bất Mở rộng chức năngMức gởi đồng hay đồng OUT MứcsÌ=serial('COMl’); cao (logic 1) có trị số từ -3v đến -25V TI IN fopen(sl) + fclose(serial) tiếpdóng đế kết thiết bị truyền thông Hìnhđóng 2.2.2.cống l.b- nối Dạng góinối củatớiMAX232 Ví dụ: sÌ=serial('COMl'); 2.2.3 GIAO TIẾP VI ĐIỀU KHIỂN ỴỚI MÁY TÍNH BẰNG MATLAB fopen(sl); 2.2.3.1 Matlab truyền thông nối tiếp fclose(sl); Cũng phần mềm Microsoft (Visuall basic , c ,c++) Matlab liệu ( kết nốihỗcác cổng truyền nối tiếp Truyền nhũng phần mềm trợđối đầytượng đủ các) qua tính thông qua Sau mở cổng nối tiếp, ta tiếp hành kết máy tính với bị truyền cổng nối tiếp Với Matlab ta thiết kế giao diện điều khiến dễthiết dàng, thiết thông, thực trình trao đối thông tin lập thuộc tính cho cống tiếp tương đối đơn giản + fwrite (serial) truyền cáccủa giáMatlab trị binary tới truyền thiết bị truyền thông 2.2.3.2 Các hàm thông tiếp Cú pháp: Sau sổ hàm Matlab truyền thông nối tiếp fwrite(obj,A) ❖ Chuẩn TLT fwrite(obj,A,'precision') Ngõ vào: + obj = serialCport’) tạo cổng nối tiếp mới, cổng không mở fwrite(obj,A,'mode') Mức thấpsử(logic Ov đếnta +0.8v hay dụng0)thìlà chúng không kết nối tới thiết bị Mức cao (logic 1) +2v đến +5v truyền Miền 0.8v đến +2 V không hợp lệ thông Ngõ ra: Ví dụ: Mức('COM1') thấp (logic 0)cổng Ov đến 2.5v » sl = serial //tạo COM1 (logicSeriaỉ-COMI 1) +2.7v đến +5v SerialMức Portcao Object: Ví dụ : fwrite(s 1,254) // truyền giá trị nhị phân số 254 qua cổng sl Communication Settings + fprintf Port:(serial) truyền CO MI giá trị dạng ASCII tói thiết bị truyền thông BaudRate: Đọc liệu9600 (truy vấn thiết bị) qua cống nối tiếp Communication State Các hàm hay dùng giao tiếp nối tiếp: Status: cỉosed +fread(serial)ỉ đọc liệu dạng Binary, hiển thị dạng số Decimal từ port nối tiếp RecordStatus: off Ví dụ: Data=fread(sl); Dữ liệu đọc vào lưu vào biến Data giá trị tù' port nối tiếp +fscanf(serial): đọc liệu dạng ASCII từ port tiếp ByíesToOutpuí: số byte thời đệm phát liệu máy tính BytesAvailable : số byte có đệm nhận liệu +OutputBufferSỉze\ Dung lượng đệm phát, mặc định 512 byte +InputBufferSize: Dung lượng đệm nhận, mặc định 512 byte + Timeout :thời gian chờ để đọc hay gởi liệu port nối tiếp, mặc định 10(giây) Het thời gian timeout mà liệu truyền, nhận Matlab 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 tiếp Một số hàm quan trọng giao tiếp: +BytesAvailableFcnCount: So sánh số byte đệm nhận giá trị giá trị thiết lập hàm tạo kiện port nối tiếp Dựa vào kiên ta thực vài chức mong muốn +BytesAvaiIableFcnMode: Dạng liệu đệm nhận để tạo kiện Dạng liệu thường chọn ‘Byte’ +BytesAvaiIableFcn: Đây Hàm đáp ứng kiện port nối tiếp Hàm gọi có kiện xảy port nối tiếp Nghĩa có liệu truyền tới máy tính Ví dụ: Viết chưong trình gởi xuống liệu dang Binary sau liệu gởi lên lại dạng Binary Code: fopen(s); fwrite(s,10); s.BytesAvailableFcnCount s.BytesAvailableFcnMode = 'byte'; = 1; s.BytesAvailableFcn = {@data_Callback,handles}; íunction data_Callback(hObject, global s data_in=fread(hObject ); save data; if data_in==10; eventdata, handles) set(handles.editl,'StringVDa nhan du lieu’); else set(handles.editl,'StringVChưa co du lieu'); end; fclose(s); delete(s); Như có cách đế thực đọc liệu từ port nối tiếp Cách 1: Đọc liệu dựa vào timeout, nghĩa Matlab chờ khoảng thời gian cố định đế đọc hay truyền liệu Cách không khả dụng cho ứng dụng mang tính tức thời Cách 2: Đọc liệu dựa vào kiện port tiếp, nghĩa hàm đáp ứng kiện port Cách hay dùng thích hợp cho ứng dụng phức tạp đòi hỏi tốc độ đồng nhanh thiết bị Tới công việc điều khiển hoàn thành, vấn đề lại ta thi công phần tử chấp hành tín hiệu điều khiển Cụ thể Motor bước mô hình khí, bắt đầu tìm hiểu đến động bước mạch điều khiển chúng 2.3 Động bước - Động bước loại động DC, động quay theo bước cố định theo góc Góc bước giới hạn phạm vi từ 0.9° đến 90° Trên thực tế, động bước thiết bị khí dùng để chuyển đổi xung điện thành chuyển động học tương ứng - Trục quay động xoay tròn tăng dần số bước xung điều khiến cấp vào mạch theo thứ tự’ hợp lí - Động bước đặc biệt sử dụng ứng dụng điều khiến ta biết xác vị trí trục động (motor shaft) mà không cần sử dụng thiết bị cảm ứng Chúng cho phép điều khiển chuyến động với xác cao việc đếm số bước động Góc bước xác định số cực rotor stator - Động bước thường chia thành loại: động bước nam châm vĩnh Động nam châm vĩnh cửu hay gọi động 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 bước nam châm vĩnh cửu đơn giản: HỊB ' \ Stator conaists I|*« pe>«of Hình 2.3.1.1 Cấu tạo động bước nam châm vĩnh cửu - Hoạt động loại động sau: giả thuyết rotor nằm vị trí với cực nam nam châm quay lên Khi cuộn dây Stator cấp điện, cực nam Rotor bị hút phía Sau đó, ngắt điện cuộn tiếp tục cung cấp điện vào cuộn Stator 2, lực hút tù’ trường nam châm từ trường cuộn dây Stator, Rotor lại thắng hàng với cuộn Stator Như vậy, Rotor quay 90° bước cho lần kích liên trình tự cực Stator Ta đảo chiều động thay đối trình tụ’ kích cực Stator - Một đặc tính loại động Rotor có khuynh hướng thẳng hàng với Stator không cấp điện cho Stator Ta cảm nhận lực kéo tù' trường xoay nhẹ Rotor tay, gọi lực hãm Một ưu điểm động bước sử dụng điều khiển vòng Cấp điện la+ lb- Vị trí 2a+ 2bla- lb+ 2a- 2b+ Cấp điện - Trong kiểu điều khiển này, cuộn dây kích lúc Điều tạo la nhiều momen xoắn kiểu điều khiển bước Tuy nhiên, dòng cung Vị cho trí động tăng gấp lần việc điều khiến khó 1khăn so với cấp o 1’— pháp o l điều b khiển bước la+ lb-và 2a+ 2b- l a phương 2a 2b - Cả hai phương pháp trình bày gồm bước điều khiển (quay bước o2b la- lb+và2a+ 2b- 2a o vQ_P_Q_Q_y 2’ vòng) Bằng cách kết hợp phương pháp trên, động quay lần la- lb+và 2a- 2b+ 3’ lượt lb la+ lb- 2a- 2b+ đến4’các vị 2.3.1.2 trí 1, r,Động 2, 2’,cơ 3, 3’, 4,nam 4’, 1, r,2 gọi phương pháp điều vĩnh cửu 2điện pha lưỡng Neu đọc Hình bảng theo trình bước tự’ tù' trênchâm xuống, chuồi áp lần cực luợt cung khiến theo kiếu nửa bước (hafl step) Khi điều khiến theo phương pháp cấpVịvào Cấp điện trí cuộn dây làm cho động quay ngược chiều kim đồng hồ - Động bước pha lưỡng cực có cuộn dây có cực từ này, (CCW) Nguợc lại, đọc từ lên trên, chuỗi điện áp cung la+ lb-và2a- 2b- - Động bước nam châm vĩnh cửu pha lường cực sử dụng động chạy bước vòng Phương pháp điều khiến theo kiếu cấp vào cuộn dây làm cho động quay theo chiều kim đồng hồ thực tế có sơ đồ Hình 2.3.1.2 Trong Hình 2.3.1.2, cuộn dây gồm a+ b- 2a+ nửa 360°r = 200 bước chế độ wave drive Khi điều khiến phương (CW) kích 2bcực 1.8° la lb nằm đối diện đế cấp điện qua cuộn với cực tính la- b- 2a+ 2b-Phương 2pháp gọi phương pháp điều khiến theo kiểu bước (wave + la half-step -lb, cực la(nửa lbbước), đóngphải vai trò từ trường bắc trường pháp ta cần kíchlà 400 bước với góctừquay 0.9° dirve) Ngoài đế điều khiển động pha lường cực, ta kích vào la- lb+và2a+ 2b2’2.3.1.4 nam, tạo lựcsẽhút thằng hàng (vị trí 1) Cách đơn giản Hình minh hoạ rotor cho phương pháp half-step cuộn dây lúc Trong chế độ này, rotor hút tới giũa cực đế điều la- lb+và2a- 2b3 khiến động loại cấp điện vào cuộn kế bên gần Phương pháp gọi phương pháp điều khiển theo kiếu cuộn stator Neu muốn động quay ngược chiều kim đồng hồ bước la- lb+và 2a- 2b+ 3’đủ (full drive) Bảng sau Hình 2.3.1.3 minh hoạ cho chuồi điện (CCW) tù’ vị trí 1, tiếp tục cấp điện cho cuộn với cực tính +2a -2b, lúc áp kích theo phương pháp này: này4 la- b- 2a- 2b+ la+ lb-và 2a- 2b+ lực từ trường tạo lực hút rotor quay đến vị trí Ke tiếp, ta tiếp tục cấp 4’ điện vào cuộn lần đảo cực tính cực la lb: -la +lb, tù' trường làm rotor quay đến vị trí Thuật ngũ' lưỡng cực sử dụng có đảo cực tính cực cuộn (dòng điện chảy theo chiều cuộn) Chuỗi điện áp cung cấp đế quay động minh hoạ Hình 2.3.1.3 n=n+l; i=i+l; cqx(n)=chieuqua y; svx(n)=KetquaX Hình 3.2.1 A.b Sơ đồ giải thuật chi tiết tạo mảng chiều quay số vòng trục Nhu' ta có mảng liệu: cqx mảng lưu trữ liệu chiều quay motor trục X; svx mảng lưu trữ liệu số bước quay motor trục X Đối với liệu trục Y Với cách làm tương tư được: cqy mảng lưu trữ liệu chiều quay motor trục Y; svy mảng lun trữ liệu số bước quay motor trục Y Bắt đầu KetquaY=Y2(l) - 0; n=0; n=n+l; i=l; cqy(n)=Chieuquay Y; svy(n)=KetquaY; s Kết thúc Byte thứ Byte thứ hai Byte thứ ba Byte thứ tư Byte thứ năm CHIEU_QUA EQU 60H CHIEU QUAYTRUC X NHAN TU MATLAB ' Y_X $0_V0NG_X EQU 61H SO VONG QUAYTRUC X NHAN TU MATLAB X CHIEU_QU EQU 62H CHIEUQUAYTRUC Y NHAN TU MATLAB AY_Y SO_vÕNG_Y EQU 63H SO VONG QUAYTRUC Y NHAN TU MATLAB YZ_LIENTUC EQU 64H QUY DINH VE LIENTUC HAY GIAN DOAN TU MATLAB TRUCX EQU 70H XUNG DIEU KHIENTRUC X TRUCY EQU 71H XUNGDIEU KHIENTRUC Y TRUC_Z EQU 72H XUNG DIEU KHIENTRUC z Lưutrịđôcógiải viPORTOTRUC điêuđịa khiên Các giá thểthuật nhận chỉXCHIEU_QUAY_X, CHIEU_QƯAY_Y, EQU PO X3.2.2 Đe dễ dàng hiếu lun đồ giải chương trình, cần tìm hiếu bảng EQU P1 Y Z_LIENTUC cho PORT1TRUC Y thuật bảng sau: EQU CÁC p2 PORT2TRUC z ĐỊNH NGHĨA z THONG SỐ sau: SO_VONG_X EQU 34H SO VONG QUAY CUA MOTOR X SO_VONG_Y EQU 35H SO VONG QUAY CUA MOTOR Y SO_VONG_Z EQU 36H SO VONG QUAY CUA MOTOR z BIT P3.S TINHIEU RESETTRUC X KT_X ĐINH NGHĨA CÁC THÔNG SỐ BIT P3.6 TIN HIEU RESETTRUC Y KT_Y KT_Z BIT P3.7 TIN HIEU RESETTRUC z C H I E U Q U AY X Quy định chiều quay Motor X SOVONGXX Quy định số vòng quay Motor X C H I E U Q Ư AY Y SO VONG YY Z_LIENTUC Quy định chiều quay Motor Y Quy định số vòng quay Motor Y n=n+l; Quy định i=i+l; điểm cần vẽ gián đoạn hay liên tục so cqy(n)=chieuqua với điểm vẽ trước y; C H I E U Q U AY X Giá trịsvy(n)=KetquaY; nhận Quy định 00H Không quay Motor X 01H Quay trái Motor X 3.2.2.a Lun đồ giải thuật02H chương trình Quay phải Motor X CHIEU QUAY Y Muc tiêu: sau Reset trục toạ độ X, Y, z toạ độ ban đầu, chờ 00H Không quay Y đủ liệu (5 byte liệu gửi từ Matlab vào vi điều khiển KhiMotor nhận 01H Quay trái Motor Y liệu), hànhthuật xử lýchi dữtiết liệutạo nhận chiều quay số vòng trục Hình 3.2.1.4.C Sơtiến đồ giải mảng 02H Quay phải Motor Y Y Đầu tiên, xét giá trị Z_LIENTƯC Z_LIENTUC + Giả cầntừvẽbộ đệm điếmnhận vẽ đầu Z_LIENTUC có giá Vi điều khiển nhậnsử5 byteđiếm liệu củatiên portthìnối tiếp Khi nhận đủ 00H Điểm vẽ liênsau: tục đãtrị tạođiều 7khiển mảng liệuhành khác byte Ta liệu, vi sẽdữtiến lý liệu Các làra02H (Xem bảng giá xử trị Z_LIENTUC), khidữ đóliệu tiếnnày hành 01H Điếm vẽ gián đoạn gán cách tựX,di vào địa - X2,Y2: làtuần tọa ưuđã lần lượtđịnh theonghĩa, trục bao X, Ygồm: quay trụcđộ Ychuyển đến toạtốichỉ độ điểm 02H Điểm vẽ đầuđầu tiêntiên cần vẽ (gọi chương - Lientuc_z: cáchQUAY_X_VA_Y-chương di chuyển tối ưu củavẽ đầu vẽ (1này diênsẽtục, 0:không liênbên tục) trình 03H trình trình bày Điếm cuối - Cqx: dưới), Chiều hạ quay trục (0:đứng :quay(gọi trái,chương 2:quaytrình phải)con trụcmotor z từ vị trí X Reset ban yên, đầu xuống - Cqy: MOTOR_Z) Chiều quay motor trục Y (0:đứng yên, :quay trái, 2:quay phải) thực vẽ điểm Lưu ý, lúc trục z - Svx: nằm Giá trị quay trục X (0 tiên -> 160) vị trí vẽ điếm đầu (không nâng trục z lên) Bốn liệu - Svy: Giá trị quay trục Y (0 -> 160) lại CHIEU QUAY_x, SO_VONG_XX, CHIEU_QUAY_Y, S O V O N G Y Y xử lý chương trình Như vậyQƯAY ta điXđược 50% quãng đường Công lại đồ ta kết nối với VA_Y, vấn đề trình bàyviệc phần Luu giảicần thuật vi điều khiển vàcác truyền qua trình liệuNhư nàyvậy, mô cơđiếm khí ta vẽ lại chương sau hình vẽ đầuchúng tiên, tiến hành gửi thông báo vẽ xong tiếp tục chờ liệu ảnh thu điếm được.cần Bâyvẽgiờlà tađiểm tiếp vẽ tục liên tìm tục giải thuậtđiểm đế vivẽxửtrước lý thực công + Nếu so với ( việc khoảng cách điếm nhỏ) Z_LIENTUC có giá trị 00H, trục z nằm toạ độ điểm vẽ trước (không nâng trục (Sọi CTC reset trục X 'Y vi tri ũ ban đểu RẼSET_XY r Nộp ihá dù noi chứa giá trí liliiài đầu tiêu lừ poitnốiúép (RI) -~Ó0H Gụi CHƯƠNG Z) Thực vẽ điểm cách quay trục X, Y đến toạ độ CTC nàng TRÌNH trục z íén điếm cần vẽ Sau gửi thông báo vẽ xong tiếp tục chờ MOTOR 12 ƯP MAÍN: GoiCTC h?liệu Gộí Gộitrục CTC •iu liệu báo tnic*z rctet CTC z OọíváCTC hục X GótET_Z RESET.XY (SBƯF)00H ZJ>OWN KHỞI ĐÔNG + TIÊP Neu điếm cần vẽ điếm vẽ gián đoạn so với điếm vẽ truớc ( PORT NÔI (MODE REN' i TĨ«I Rỉ=0)khoảng cách điểm lớn) Z_LIENTUC có giá trị ÌHCÙN) = Ĩ2H 01H, TÕC Độ BAU1>9600 BPS trục z nằm toạ độ điểm vẽ trước đó.Thực nâng trục z lên 5mm (gọi CTC MOTOR_lZ_UP), quay trục X, Y đến toạ độ Câu hinh port cần vẽ Tiến hành vẽ điểm cách hạ trục z xuống 5mm điểm (gọi CTC MOTOR_DOWN) Sau gửi thông báo vẽ xong Gài xunạ đíẻu khiếu đấuchờ liệu tiếp tục úãi vào đut chì + Neu điểm cần vẽ điểm vẽ cuối kết thúc trình thực Z_LIENTUC có giá trị 03H, trục z nằm toạ độ điểm vẽ ztrước đó.Thực nâng trục z lên 5mm (gọi CTC Gọi CTC resd trục vè MOTOR 1Z_UP), quay trục X, Y đến toạ độ điếm cần vẽ Tiến hành vẽ điểm cách hạ trục z xuống 5mm (gọi CTC MOTOR_DOWN) Sau tiến hành reset trục toạ độ X, Y, z để sẵn sàng vẽ hình (nếu có) gửi thông báo hoàn thành m Nạp lại địa chi mù clvùìi già tri nhận đàn íiệíỉ tir poìt nồi tiq> (RỊ)-^f>0H JỄL Gộícirc nàng dí?ị CTC quay Gọi CTC quay Gọi CTC trục X va ÍIỊÍC z vè gúi clũ Yíĩèn toa [...]... 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ụng khá phô... đòi hỏi ta phải có một phương pháp điều khiến họ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ên tí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... trị sau: Số thứ tự Thông số Nhà sản xuất Mã sản phẩm Bộ phân giải Loại Sensor Màu Video Định dạng thu được Chi tiết ColorVis CVC-1010 160x120 Cmod 24Bit-True color 30 khung hình / giây JPG Thông số kỹ thuật của loại Webcam này như sau: 3.1.2 3.1.2 3.1.2 Mạch điều khiến a Khối vi điều khiến b Khối công suất điều khiển động cơ bước .d Thiêt bị thu nhận ảnh trong đê tài Thiết bị thu nhận ảnh chính trong... bằng lực từ, mồi cực của stator cần có khả năng - Ả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... thuộc vào đầu vào nối đất ta sẽ xác 0 1 1 0 định chiều quay rotor Gọi là động cơ 4 pha vì động cơ có 4 cuộn dây 0 đượcGiản 0xung ở Giản 1 dây Hình đồ1 dây xungtương ở cácứng: đầu tương ứng: la, lb, 2a, 2b Hình 2.3.1.8 đồ 2.3.1.9 các đầu la, lb, 2a, 2b cung cấp điện một cách độc lập và thuật ngữ đơn cực được sử dụng vì - Bằng cách xen kẽ0các bước trong độ điều một bước và bước đủ, 0 2 chế 1 khiến - 1 Vi c... 17): Là một port có 2 chức năng vừa là port xuất nhập dữ liệu B7HĐiều khiển đọc vào RAM ngoài khi 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 đế cho phé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... 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 : SETB RS1 SETB RSO MOV A, R7 Khi chương trình được hợp dịch, các địa chỉ bit đúng được thay thế cho các ký hiệu “RS1” và “RSO” Vậy, lệnh... cứng khi 8FH trà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ụ 8EH Bit ngắt điều khiến timer 1 chạy Đặt/xóa bằng phần Thanh ghiở điều khiển Timer (TCON) mềm để cho chạy/ngưng - Tổ chức ngắt 8951: 2 timer ngắt ngoài, 2 ngắt từ timer và 1 ngắt port nối tiếp 8DH Cờ báo tràn timer 0 Tất cảBit cácđiều ngắtkhiến đều mặc bị cấm sau khi reset hệ thống và được cho 8CH timernhiên... SBUF để nạp dữ liệu sẽ được phát, O 1 là sự xảyghira một điều một sự kiện - mà nó gây ra treo tạm 0 - Một ngắt Thanh Cốkiện định- (FOSC/12) và đọc SBUF đế truy xuất dữ liệu thu được 0 0 dịch thờiUART chương trình trong khi điều đó được phục vụ bởi một chương 1 8 bit Thay đổikiện (đặt bằng timer) Thanh ghi điều khiển port nối tiếp: 0 1 trình khác.9Chương trìnhCố giải quyết ngắtchia đượccho gọi 12 là chương... cửu đơn cực 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, ta thấy rằng có thế chuyển chế độ dùng động cơ 4 pha đơn cực thành 2 pha lưỡ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ư ... thuật vi điều khiển vàcác truyền qua trình liệuNhư nàyvậy, mô cơđiếm khí ta vẽ lại chương sau hình vẽ đầuchúng tiên, tiến hành gửi thông báo vẽ xong tiếp tục chờ liệu ảnh thu điếm được. cần Bâyvẽgiờlà... tiến hành đóng mở cấu Vi điều khiển sử dụng tivi, máy giặt, lò vi- ba, điện thoại lĩnh vực tự động hóa vi điều khiển sử dụng phô biến robot, băng chuyền, điều khiến tự động, vi điều khiến ứng dụng... Bộ điều khiển Clock UnBRG điều khiển vi c sinh CLK từ hai liệu vào UnDLL UnDLM COM4 2.2.2.1 2E8h IRQ3 Chuẩn giao tiếp RS232 aLịch sử RS232 Để thuận lợi cho vi c giao tiếp thiết bị truyền thông

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

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan