Đồ án Điều khiển máy vẽ bằng vi xử lý (sử dụng Autocad)

Trước đây, ở các máy cắt kim loại thông thường, việc điều khiển các chuyển động cũng như thay đổi vận tốc của các bộ phận, máy đều thực hiện bằng tay. Với cách điều khiển này thời gian phụ khá lớn, nên không thể tăng năng suất lao động cũng như đảm bảo độ chính xác của vật gia công. Do đó để giảm thời gian phụ, ta cần thiết tiến hành tự động hoá quá trình điều khiển. Và phương pháp gia công tự động ra đời với các dấu tì, cam trên trục phân phối v.v nhưng vẫn chưa đáp ứng được nhu cầu sản suất, vì nó rút ngắn được thời gian phụ nhưng thời gian chuẩn bị sản suất sẽ dài. Nhược điểm này không đáng kể nếu như sản suất được số lượng lớn, nhưng với sản suất nhỏ, mặt hàng phải thay đổi thường xuyên, loại máy này trở nên bất tiện và không kinh tế. Điều này hình thành nhu cầu tìm một phương pháp điều khiển mới, đảm bảo được thời gian hiệu chỉnh máy để gia công từ loại chi tiết này sang loại chi tiết khác nhanh hơn. Và phương pháp điều khiển theo chươnh trình ra đời để đáp ứng yêu cầu đó Điều khiển theo chương trình là một dạng điều khiển tự động mà tín hiệu điều khiển (tín hiệu ra) được thay đổi theo một qui luật đã được định trước. Nói cách khác, trên máy điều khiển theo chương trình, thứ tự giá trị của chuyển động, cũng như thứ tự của các bộ phận máy, đóng mở các hệ thống làm nguội, bôi trơn, thay dao đều được thực hiện đúng theo một trình tự đã được lập trình sẵn. Các cơ cấu mang chương trình này được đặt vào thiết bị điều khiển và máy sẽ làm việc tự động theo chương trình đã cho. Nếu các chương trình trên được ghi lại bằng các dấu tì, bằng hệ thống cam, bằng mẫu chép hình ta gọi hệ thống điều khiển đó là hệ thống điều khiển phi số. Nếu các chương trình được biểu thị bằng các chữ số dưới dạng mã hiệu, ta gọi đó là hệ thống điều khiển theo chương trình số. Như vậy điều khiển theo chương trình số là một quá trình tự động cho phép đưa một cơ cấu di động từ vị trí này đến vị trí khác bằng một lệnh. Sự dịch chuyển này có thể là lượng di động thẳng hay góc quay theo các bậc tự do. Trong nhiều trường hợp, phương pháp điều khiển theo chương trình số được thiết kế tự động hoá việc di động một cơ cấu từ vị trí này đến vị trí khác, ta gọi là “điều khiển theo điểm”. Nhưng ta cũng thực hiện dễ dàng khi rút ngắn vô hạn khoảng cách giữa hai điểm di động kế tiếp nhau và sẽ đạt được một quá trình điều khiển quĩ đạo gọi là “điều khiển theo đường”. Phương pháp điều khiển chương trình số có thể dùng để di động bất kì một cơ cấu nào được truyền động bằng cơ. Phạm vi sử dụng của nó rất rộng, nhưng chủ yếu là tự động hoá máy công cụ, vì lĩnh vực này bao gồm việc điều khiển dao cắt bằng các chữ số. Chương trình ghi bằng các chữ số được thực hiện ở ngoài máy, dưới dạng băng xuyên lỗ, băng từ, đĩa từ, film Các chương trình này có thể cất giữ vào kho, ngăn tủ. Khi cần sử dụng ta chỉ cần nạp nó vào máy, để máy có thể thực hiện chương trình và điều khiển các chuyển động tương đối giữa dao và phôi. Vì làm các chương trình số có thể tiến hành xa máy và máy có hệ thống đo lường riêng, nên hệ thống này có thể thay đổi dễ dàng và nhanh chóng. Dựa trên phương pháp điều khiển vị trí theo chương trình số đã nêu, đề tài của luận văn này là: ”Điều khiển máy vẽ bằng vi xử lý”. Máy vẽ được đề cập ở đây là một máy vẽ có khả năng vẽ liên tục các đường nét của một hình cho trước (của AutoCad).

doc166 trang | Chia sẻ: ngtr9097 | Lượt xem: 2323 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Đồ án Điều khiển máy vẽ bằng vi xử lý (sử dụng Autocad), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Lời cảm ơn : Em xin chân thành cảm ơn thầy Hoàng Minh Trí đã tận tình hướng dẫn,giúp đỡ và động viên em trong suốt thời gian thực hiện bài luận văn tốt nghiệp . Em xin chân thành cảm ơn các thầy cô trường ĐHBK ,đặc biệt là các thầy cô Bộ môn ĐKTĐ bởi những kiến thức , những bài học bổ ích mà thầy cô đã truyền dạy cho em trong 5 măm học. MỤC LỤC Trang PHẦN I : GIỚI THIỆU 1 1/LỜI GIỚI THIỆU 1 2/SƠ LƯỢC VỀ LUẬN VĂN 2 PHẦN II : CÁC THIẾT BỊ ĐỒ HỌA 3 1/MỘT SỐ THIẾT BỊ ĐỒ HỌA THÔNG DỤNG 3 2/GIỚI THIỆU BÀN VẼ TRONG LUẬN VĂN 6 PHẦN III : ĐỘC LẬP THIẾR BỊ 8 1/ĐỘC LẬP THIẾT BỊ 8 2/ỨNG DỤNG VÀO ĐỀ TÀI 10 PHẦN IV : GIỚI THIỆU TẬP TIN .DXF 11 1/GIỚI THIỆU 11 2/CẤU TRÚC FILE .DXF 11 PHẦN V : GIẢI THUẬT VẼ 19 1/GIẢI THUẬT SINH ĐƯỜNG THẲNG 19 2/GIẢI THUẬT SINH ĐƯỜNG TRÒN 21 3/GIẢI THUẬT SINH ĐƯỜNG SPLINE 25 PHẦN VI : GIỚI THIỆU VI XỬ LÝ 8951 28 1/GIỚI THIỆU AT89C51 28 2/TẬP LỆNH CỦA AT89C51 32 3/MỘT SỐ CHỨC NĂNG TRONG AT89C51 33 PHẦN VII : CỔNG COM VÀ CÁC CHUẨN GIAO TIẾP 39 1/GIAO TIẾP VỚI MÁY TÍNH 39 2/CÁC CHUẨN TRUYỀN THÔNG NỐI TIẾP 40 3/CHUẨN RS-232 41 PHẦN VIII :ĐỘNG CƠ BƯỚC 44 1/GIỚI THIỆU ĐỘNG CƠ BƯỚC 44 2/MỘT SỐ MẠCH ĐIỀU KHIỂN ĐỘNG CƠ BƯỚC 49 3/DÒNG GIỚI HẠN CỦA ĐỘNG CƠ BƯỚC 51 PHẦN IX : TỔNG KẾT 53 PHẦN X : PHỤ LỤC 54 PHẦN I GIỚI THIỆU 1/LỜI GIỚI THIỆU Trước đây, ở các máy cắt kim loại thông thường, việc điều khiển các chuyển động cũng như thay đổi vận tốc của các bộ phận, máy đều thực hiện bằng tay. Với cách điều khiển này thời gian phụ khá lớn, nên không thể tăng năng suất lao động cũng như đảm bảo độ chính xác của vật gia công. Do đó để giảm thời gian phụ, ta cần thiết tiến hành tự động hoá quá trình điều khiển. Và phương pháp gia công tự động ra đời với các dấu tì, cam trên trục phân phối v.v…nhưng vẫn chưa đáp ứng được nhu cầu sản suất, vì nó rút ngắn được thời gian phụ nhưng thời gian chuẩn bị sản suất sẽ dài. Nhược điểm này không đáng kể nếu như sản suất được số lượng lớn, nhưng với sản suất nhỏ, mặt hàng phải thay đổi thường xuyên, loại máy này trở nên bất tiện và không kinh tế. Điều này hình thành nhu cầu tìm một phương pháp điều khiển mới, đảm bảo được thời gian hiệu chỉnh máy để gia công từ loại chi tiết này sang loại chi tiết khác nhanh hơn. Và phương pháp điều khiển theo chươnh trình ra đời để đáp ứng yêu cầu đó Điều khiển theo chương trình là một dạng điều khiển tự động mà tín hiệu điều khiển (tín hiệu ra) được thay đổi theo một qui luật đã được định trước. Nói cách khác, trên máy điều khiển theo chương trình, thứ tự giá trị của chuyển động, cũng như thứ tự của các bộ phận máy, đóng mở các hệ thống làm nguội, bôi trơn, thay dao… đều được thực hiện đúng theo một trình tự đã được lập trình sẵn. Các cơ cấu mang chương trình này được đặt vào thiết bị điều khiển và máy sẽ làm việc tự động theo chương trình đã cho. Nếu các chương trình trên được ghi lại bằng các dấu tì, bằng hệ thống cam, bằng mẫu chép hình… ta gọi hệ thống điều khiển đó là hệ thống điều khiển phi số. Nếu các chương trình được biểu thị bằng các chữ số dưới dạng mã hiệu, ta gọi đó là hệ thống điều khiển theo chương trình số. Như vậy điều khiển theo chương trình số là một quá trình tự động cho phép đưa một cơ cấu di động từ vị trí này đến vị trí khác bằng một lệnh. Sự dịch chuyển này có thể là lượng di động thẳng hay góc quay theo các bậc tự do. Trong nhiều trường hợp, phương pháp điều khiển theo chương trình số được thiết kế tự động hoá việc di động một cơ cấu từ vị trí này đến vị trí khác, ta gọi là “điều khiển theo điểm”. Nhưng ta cũng thực hiện dễ dàng khi rút ngắn vô hạn khoảng cách giữa hai điểm di động kế tiếp nhau và sẽ đạt được một quá trình điều khiển quĩ đạo gọi là “điều khiển theo đường”. Phương pháp điều khiển chương trình số có thể dùng để di động bất kì một cơ cấu nào được truyền động bằng cơ. Phạm vi sử dụng của nó rất rộng, nhưng chủ yếu là tự động hoá máy công cụ, vì lĩnh vực này bao gồm việc điều khiển dao cắt bằng các chữ số. Chương trình ghi bằng các chữ số được thực hiện ở ngoài máy, dưới dạng băng xuyên lỗ, băng từ, đĩa từ, film… Các chương trình này có thể cất giữ vào kho, ngăn tủ. Khi cần sử dụng ta chỉ cần nạp nó vào máy, để máy có thể thực hiện chương trình và điều khiển các chuyển động tương đối giữa dao và phôi. Vì làm các chương trình số có thể tiến hành xa máy và máy có hệ thống đo lường riêng, nên hệ thống này có thể thay đổi dễ dàng và nhanh chóng. Dựa trên phương pháp điều khiển vị trí theo chương trình số đã nêu, đề tài của luận văn này là: ”Điều khiển máy vẽ bằng vi xử lý”. Máy vẽ được đề cập ở đây là một máy vẽ có khả năng vẽ liên tục các đường nét của một hình cho trước (của AutoCad). 2/ SƠ LƯỢC VỀ LUẬN VĂN * Luận văn có nhiệm vụ thiết kế một máy vẽ có khả năng đọc được các tập tin (file) .DXF của AutoCad , sau đó định dạng lại file.DXF này (có nghĩa là tạo ra một file.TXT chứa các thông tin về điểm, đường cần vẽ ). Việc định dạng được thực hiện trên máy tính (PC) , cuối cùng PC sẽ truyền lần lượt những thông tin trong file.TXT xuống vixử lý 8952 đề thực hiện thao tác vẽ. * Những công việc cần thực hiện: - Phần cứng : thiết kế mạch giao tiếp giữa PC và 8952 theo chuẩn RS-232. - Phần mềm: >Lập trình cho việc đọc và định dạng file.DXF trên PC (dùng DELPHI). >Lập trình cho vi xử lý 8952 thực hiện thao tác vẽ. 3/ỨNG DỤNG CỦA ĐỀ TÀI Với cách điều khiển cùng một lúc sự dịch chuyền theo 2 trục X,Y của bút vẽ để di chuyển nó đi theo một đường xác định , đề tài khẳng định được sự tối ưu và khả thi của việc điều khiển vị trí liên tục đối với các máy công cụ , và là nền tảng cho việc thiết kế máy khoan , máy cắt… Để có thể ứng dụng vào trong sản suất , cụ thể là trong cắt may, đòi hỏi chúng ta phải có những mạch hồi tiếp về từ các cơ cấu chấp hành , những động cơ có công suất lớn hơn với độ tin cậy cao hơn. PHẦN II CÁC THIẾT BỊ ĐỒ HỌA 1/ MỘT SỐ THIẾT BỊ ĐỒ HỌA THÔNG DỤNG a/ Thiết bị quét Raster : Thiết bị quét Raster (gọi tắt là Raster) cũng là một loại thiết bị thể hiện (màn hình) chính. Thiết bị Raster thể hiện hình ảnh từ những điểm màu thay vì đường. Mỗi điểm còn gọi là pixel. Giới thiệu một số thiết bị Raster : -Màn hình (Monitor): Màn hình hiển thị trong hệ thống đồ họa máy tính là cầu nối chính trong việc trao đổi thông tin giữa người sử dụng và hệ thống. Có nhiều loại công nghệ được sử dụng để phối hợp các loại màn hình đồ họa. Độ phân giải liên quan đến khả năng màn hình thể hiện các chi tiết. Các màn hình đạt đến độ phân giải 1280x1024, ở đây các con số thể hiện các điểm có thể phân biệt trên màn hình. Sơ đồ phân loại : Hình: Các công nghệ sử dụng trong cấu tạo thiết bị hiển thị đồ họa Các ký tự văn bản được hình thành từ các mẫu điểm. Đường thẳng và cung được hình thành từ một dãy các điểm thích hợp. Và một vùng màn hình có thể được tô màu ; đơn giản là tất cả các điểm trong vùng được lập cùng một màu. Ảnh Raster được đặt trong một vùng nhớ gọi là vùng đệm khung (frame buffer). Thuật ngữ frame để chỉ một ảnh đơn. Trong một vùng đệm khung, với trường hợp hai cấp thì chỉ cần một bit cho một điểm, khi giá trị của bit là 0, thì điểm tương ứng của ảnh có màu trắng, còn nếu là 1 thì điểm tương ứng có màu đen. Với ảnh màu, để biểu diễn mỗ điểm cần nhiều bit hơn. Vùng đệm khung : Vùng đệm khung chiếm rất nhiều bộ nhớ: giả sử kích thước hình là r dòng, c cột và cần b bit cho một điểm, thì cần r*c*b bit. Một thiết bị Raster chất lượng cao có thể có r=1024, c=1024, b=24, như thế cần 25 triệu bit (3MB). Như thế vùng đệm này nằm ở đậu và làm sao truy cập được chúng. Với một số hệ Raster, vùng đệm khung thực sự là một phần bộ nhớ của máy. Chúng được gọi là thiết bit-maped : bộ xử lý có thể truy xuất từng điểm, và có một mạch logic riêng để làm tươi màn hình. Để tạo ảnh ứng dụng sẽ ghi màu (là giá trị) trực tiếp lên vị trí bộ nhớ thích hợp. Tại cấp thấp nhất, sẽ có những chỉ thị máy làm việc này. Tuy nhiên để tiện lợi người ta tạo thủ tục SetPixel(row,col,A) để nạp giá trị A cho điểm tại (row,col). -Máy in kim: Cơ cấu in của máy in ma trận điểm là tập hợp từ 7 đến 24 cây kim cứng sắp xếp trên đầu in, di chuyển theo phương nằm ngang trên mặt tờ giấy. Các máy in này làm việc như thiết bị quét dòng và cần có sự chuyển đổi cho các hình ảnh dạng quét vector. Việc in màu thực hiện nhờ sử dụng ruyban màu. Các màu bổ sung được tạo ra bằng cách gõ hai vùng đệm trên ruyban lên cùng một điểm trên giấy. -Máy in, vẽ phun: Cũng là thiết bị quét dòng (raster scan), nó là thiết bị in màu rẻ tiền. Cơ cấu của nó gồm các đầu vòi mực gắn ở đầu in, di chuyển trên bề mắt tờ giấy và phun mực với màu sắc khác nhau. Các vòi phun được gắn với các hốc mực bằng các rãnh rất nhỏ bao bọc bởi các tinh thể áp điện. Một xung điện đặt vào tinh thể sẽ tạo ra một cái giật nhẹ, làm bắn ra một giọt mực. Độ phân giải của máy in này được quy định bởi kích thước giọt mực, hay là kích thước vòi phun tạo ra nó. Vòi phun thường rất nhỏ nên khi in thường gặp một số vấn đề phức tạp. -Máy in laser: Là thiết bị quét dòng (raster scan), trong đó chùm tia lazer quét lên một cái trống quay được tích điện dương, phủ bằng một lớp selen. Phần mặt trống bị chiếu bởi chùm tia lazer sẽ bị mất điện tích dương. Những phần tích điện còn lại tương ứng với những phần đen trên giấy. Một lớp bột tĩnh điện phủ lên các phần tích điện dương và được truyền sang giấy. Một bộ vi xử lý trên máy in lazer sẽ thực hiện chuyển đổi sang dạng quét dòng. -Máy in tĩnh điện: Là thiết bị nạp điện tích âm cho các phần của loại giấy được chế tạo đặc biệt, sau đó làm cô đặc bột tĩnh điện dạng lỏng, tích điện dương lên tờ giấy. Bột tĩnh điện sẽ phủ lên và làm tối phần giấy tích điện âm. Đây là thiết bị dạng quét dòng, chứa bộ xử lý để thực hiện việc chuyển đổi. b/ Thiết bị vẽ đường : Có hai dạng thường gặp nhất của máy vẽ là dạng phẳng và dạng trống. -Máy vẽ dạng phẳng: Máy vẽ dạng phẳng truy cập đến các vị trí xy trên mặt phẳng bằng cách chuyển động cần vẽ gắn trên bàn vẽ. Trên cần vẽ có gắn một cây viết vẽ có thể chuyển động dọc theo trục x và trục y. Cây viết có thể hạ xuống hay nhấc lên, tùy theo việc đường nét hay thay đổi vị trí cây viết. Tờ giấy được giữ trên bàn vẽ bằng tĩnh điện hoặc chân không. -Máy vẽ dạng trống: Máy vẽ dạng trống có một vài điểm phức tạp hơn dạng phẳng, mặc dù các chế độ hoạt động cơ bản là tương tự nhau. Trong máy vẽ dạng trống, tờ giấy được cuốn lên trống vẽ sao cho không có sự trượt. Trống sẽ quay tới, quay lui, trong khi đầu vẽ trượt trên một cần vẽ cố định, truy cập đến các điểm trên tờ giấy. Nhận xét : Các thiết bị vẽ đường (Line Drawing) chỉ có thể vẽ đường. Thông dụng nhất là bút vẽ Plotter. Khi plotter vẽ đường, trước hết bút được di chuyển đến điểm đầu, đặt bút xuống, sau đó bút di chuyển theo đường thẳng tới đầu kia của đường. Các thiết bị vẽ đường có hệ tọa độ định sẵn cho bút vẽ, như trong hình dưới đây : Bút vẽ được chỉ đến một điểm cụ thể bằng cách gửi cho Plotter tọa độ của điểm. Thiết bị vẽ đường có sẵn một số thủ tục cơ bản, ví dụ một số lệnh cho bút vẽ như : Pen_Up : nhấc bút Pen_Down : đặt bút Go_To (x,y) : di chuyển bút đến điểm (x,y) Get_Pen (i) : đổi bút hiện tại thành bút thứ i. Những lệnh trên gọi là lệnh thiết lập chế độ (mode setting). Khi thiết bị nhận được lệnh chúng sẽ thay đổi “trạng thái” máy cho đến khi có lệnh thiết lập chế độ khác. Thiết bị phải được gửi giá trị (x,y) theo hệ tọa độ của nó, gọi là tọa độ thiết bị. 2/ GIỚI THIỆU BÀN VẼ TRONG LUẬN VĂN Máy vẽ được thiết kế trong luận văn này là máy vẽ được điều khiển theo chương trình số. Phần chính của máy vẽ gồm hai trục X,Y để điều khiển vị trí qua lại của bút vẽ trong mặt phẳng bản vẽ và trục Z gắn trực tiếp với bút vẽ để điều khiển nhấc bút lên hay hạ bút xuống. Mỗi trục X,Y được cấu tạo gồm một động cơ bước có trục quay gắn liền với một vitme . Vitme là một trục có răng xoắn, được mài kỹ. Nếu ta gắn một vật lên răng xoắn của vitme thì khi động cơ quay, vitme sẽ chuyển chuyển động quay thành chuyển động trượt của vật trên răng xoắn. Tùy theo chiều quay của động cơ là thuận hay nghịch mà vật sẽ chuyển động tới hay lui trên răng xoắn. Trục X được đặt lên vitme của trục Y, còn trục Z lại được đặt lên vitme của trục X. Kết quả là khi chỉ quay một động cơ thì bút vẽ chỉ di chuyển theo một trục, còn khi quay đồng thời hai động cơ thì bút vẽ sẽ di chuyển theo hai trục, và việc này dẫn đến việc ta có thể vẽ được các đường xiên và là tiền đề cho việc vẽ các đường cong. Trục Z đơn giản chỉ là một nam châm điện có trục gắn với bút vẽ dùng để điều khiển vị trí nhấc lên hay hạ xuống của nó. Khi có dòng điện đi qua nam châm, bút sẽ được nhấc lên. Ngoài ra còn một số công tắc hành trình để việc điều khiển được chính xác và dễ dàng. Tìm hiểu hai động cơ bước của hai trục X,Y : Hai động cơ bước trong mô hình được thiết kế như sau : Động cơ trục X : Quay thuận : đưa bút vẽ qua phải ( chiều tăng x. Quay nghịch : đưa bút vẽ qua trái ( chiều giảm x. Động cơ trục Y : Quay thuận : đưa bút vẽ lên trên ( chiều tăng y. Quay nghịch : đưa bút vẽ xuống dưới ( chiều giảm y. Trục động cơ gắn với vitme có độ phân giải là 0.1mm ứng với một bước quay của motor. Nghĩa là khi động cơ quay một bước thì vitme xoay làm di chuyển vật gắn trên nó 0.1mm. Với độ phân giải này, ta có thể vẽ được các đường nét khá mịn đòi hỏi độ phân giải cao. Khi vận hành, đầu chung của các động cơ nối lên nguồn DC 5V, các đầu còn lại nối xuống mass hay không là do các bit điều khiển. ……Giới thiệu động cơ bước….. Động cơ được dùng trong mô hình này là loại động cơ bước nam châm vĩnh cửu đơn cực 6 đầu dây, điện áp làm việc 1.8VDC và góc bước là 1.8 độ. Trục Z và các công tắc hành trình của mô hình : Trục Z : Dùng nam châm điện 24VDC để điều khiển nhấc bút hay hạ bút. Nam châm này cấu tạo chính gồm một cuộn dây quấn quanh lõi sắt có thể di chuyển tự do ở giữa. Khi có dòng điện qua cuộn dây sẽ tạo ra một lực từ hút lõi sắt lên trên. Dựa vào tính chất này ta gắn bút vẽ vào lõi sắt của nam châm để điều khiển vị trí nhấc lên hay hạ xuống của bút vẽ. Khi vận hành, một đầu dây của nam châm luôn nối với nguồn 24VDC, đầu còn lại được nối với mass hay không là do 1 khóa BJT. Để giữ cố định bút vẽ khi di chuyển hay đang vẽ, đồng thời để xác định trạng thái nhấc lên hay hạ xuống của bút vẽ, người ta dùng một công tắc hành trình gắn liền với trục tác động của nam châm. Công tắc này một đầu nối xuống mass, đầu kia nối với một bit điều khiển (bit này bình thường được treo lên 5V). Khi bút vẽ nhấc lên thì bit này = 0 và ngược lại, khi không nhấc thì bit = 1. Khi muốn nhấc bút lên ta tác động vào khóa BJT ( dòng điện đi qua cuộn dây ( bút được nhấc lên. Khi muốn hạ bút xuống công việc cũng tương tự như trên. Chú ý : phải đọc công tắc hành trình của bút trước khi tác động vào BJT và phải ngưng kích ngay khi bút đã đổi trạng thái vì nếu tác động lâu sẽ dẫn đến cuộn dây nam châm bị cháy (nam châm DC làm việc ngắn hạn). Các công tắc hành trình : Trên mô hình có 4 công tắc hành trình (2 trên trục X, 2 trên trục Y) để xác định đầu trục hay cuối trục tương ứng. Các công tắc này một đầu được nối xuống mass, đầu còn lại nối về các bit điều khiển. Hình :Bàn vẽ. PHẦN III ĐỘC LẬP THIẾT BỊ 1/ĐỘC LẬP THIẾT BỊ * Chúng ta đã gặp nhiều dạng “lệnh thiết bị” tùy theo thiết bị. Các thiết bị vẽ đường như Plotter thì có các thủ tục Pen_Up, Pen_Down, Go_To (x,y). Thiết bị Raster thì có cá thủ tục SetPixel, Line. Trong mọi trường hợp ta phải gửi đi tọa độ thiết bị, và mỗi thiết bị có riêng hệ tọa độ định sẵn. Điều đó gây ra hai vấn đề : Khó để tìm hiểu các ý tưởng và phương pháp cơ bản mà không biết chi tiết về thiết bị. Khó thay đổi một ứng dụng viết cho thiết bị này sang thiết bị khác. Như vậy cần phải “che giấu” chi tiết về thiết bị trong các thủ tục “điều khiển” để có được dạng giao tiếp thống nhất cho ứng dụng. Ví dụ : Chúng ta cần một thủ tục như Draw_Line(x1,y1,x2,y2:real) để vẽ đường thẳng từ điểm (x1,y1) đến điểm (x2,y2). Bên trong là những lệnh có thể phụ thuộc tọa độ thiết bị, nhưng chương trình ứng dụng không cần biết chi tiết này. Vì vậy nó được xem như thủ tục độc lập thiết bị. * Xuất phát từ nhu cầu “Nếu ta dùng thiết bị đồ họa khác, mà không phải viết lại chương trình điều khiển hoặc ngay cả không cần biên dịch lại, mà chỉ cần nối kết chương trình điều khiển thiết bị mới”. Độc lập thiết bị sẽ giúp bạn làm được điều ấy Để đảm bảo tính linh động, các tiêu chuẩn đồ họa đã thiết lập cho chương trình ứng dụng các thay đổi tối thiểu, cho phép nó định địa chỉ các thiết bị nhập khác nhau. Khởi đầu, người lập trình tạo ra một hệ thống tọa độ mô hình, trong đó mô tả một đối tượng gọi là Hệ tọa độ thực (World Coordinate_WC). Tiếp theo, người lập trình sẽ mô tả một Hệ thống tọa độ thiết bị chuẩn (Normalized Device Coordinate_NDC), bằng cách xác định các vùng hai chiều của bề mặt quan sát mà trên đó hình ảnh sẽ xuất hiện. Sau đó các tọa độ thiết bị chuẩn sẽ chuyển sang tọa độ thiết bị (Device Coordinate). Chương trình ứng dụng sẽ giao tiếp với hệ thống tọa độ chuẩn theo cách thức phù hợp, không quan tâm đến thiết bị xuất được sử dụng. Do đó tạo ra được sự độc lập thiết bị trong việc tạo ảnh của đối tượng. *Tọa độ thiết bị chuẩn hóa (NDC – Normalized Device Coordinate) : KGS (Graphic Kernel System – một hệ chuẩn quốc tế) định nghĩa tọa độ thiết bị được chuẩn hóa (NDC) là vùng hình vuông với góc thấp trái là (0,0) và góc cao phải là (1,1), như trong hình dưới đây : Không gian NDC là hệ tọa độ chuẩn cho mọi thiết bị, và một lệnh như Draw_Line() sẽ tự mở rộng khuôn này để vừa khớp với khuôn của thiết bị. *Ánh xạ NDC lên thiết bị : Mỗi lần xuất thủ tục LineNDC_() lên thiết bị phải ánh xạ hình vuông đơn vị của hình vuông lớn nhất tên thiết bị gọi là hình vuông thiết bị. Nghĩa là, cho điểm bất kỳ P(x,y) trong NDC ta cần tính tọa độ thiết bị tương ứng Q(dx,dy) trong hình vuông thiết bị, như trong hình dưới đây :