Chương 3 : THIẾT KẾ
3.3. Thiết kế hệ thống điều khiển
3.3.4. Driver động cơ bước
Driver của động cơ bước là bộ phận giúp chuyển đổi xung tín hiệu từ bộ điều khiển trung tâm sang động cơ bước, nhằm vận hành động cơ bước. Trong một số trường hợp, driver động cơ bước còn đảm bảo cho động cơ bước vận hành chính xác vị trí thơng qua một vịng hồi tiếp (driver động cơ bước hồi tiếp vịng kín).
Với hai loại động bước đã chọn như ở bước tính tốn động cơ, nhóm lựa chọn sử dụng hai loại động cơ bước là driver HBS57 (hồi tiếp vịng kín) và driver DM542 (hồi tiếp vịng hở).
Thơng số kỹ thuật DM542:
Điện áp sử dụng: 20 ~ 50VDC Dòng điện ngõ ra tối đa: Max 4.2A
Các tùy chỉnh vi bước: 1/2, 1/4, 1/8, 1/16, 1/32, 1/64, 1/128; or 1/5, 1/10, 1/20, 1/25, 1/40, 1/50, 1/100, 1/125
Các tùy chỉnh dòng điện: 1.0A, 1.46A, 1.91A, 2.37A, 2.84A, 3.31A, 3.76A, 4.20A
Giảm độ nóng motor bằng cơng nghệ implementation of 3-state current control.
Xung điều khiển: PULSE/DIRECTION & CW/CCW
Tích hợp cơng nghệ tự động căn chỉnh phù hợp với động cơ. Tần số xung tối đa: 300 KHz
Tương thích mức tín hiệu TTL 5VDC và tích hợp Opto cách ly giao tiếp với mạch điều khiển
Automatic idle-current reduction
15 selectable resolutions, up to 25,000 steps/rev Sử dụng cho động cơ 2 Phase và 4 Phase
Bảo vệ Ngắn mạch, Q áp, dịng, nhiệt độ tích hợp Kích thước: 4.65 X 2.97 X 1.30 inches; 10 oz
65 Chứng nhận CE, ROHS
Thông số kỹ thuật driver HBS57:
32 –bit DSP dựa trên thuật toán điều khiển vector kết hợp lợi thế của ổ đĩa servo khơng chổi than bước vịng hở
Bước/ hướng hoặc lệnh đầu vào CW/ CCW Mặc định tần số tối đa 200K, 500 K tùy chọn Điện áp đầu vào 20-50DC
Tải dựa trên tự động điều chỉnh dòng điện từ 0 -8A
Mặc định độ phân giải vi bước 4000 (1/20), cấu hình phần mềm 200- 104000 (tăng 200)
Khơng bị mất bước. Vịng khép kín giữa các ổ đĩa và động cơ thúc đẩy để loại bỏ sự mất bước di chuyển trong hệ thống bước mở lặp Hoạt động trơn tru, động cơ sinh nhiệt ít hơn
Phản ứng nhanh, khơng chậm trễ và không mất thời gian cài đặt Mô – men xoắn cao khi khởi động và khi ở tốc độ trung bình thấp, độ
cứng cao ở trạng thái dừng
Chi phí thấp hơn nhiều so với các hệ thống servo truyền thống
3.3.5. Cơng tắc hành trình
Cơng tắc hành trình hay cịn gọi cơng tắc giới hạn hành trình là dạng cơng tắc dùng để giới hạn hành trình của các bộ phận chuyển động. Nó có cấu tạo như cơng tắc điện bình thường nhưng có thêm cần tác động để cho các bộ phận chuyển động tác động vào làm thay đổi trạng thái của tiếp điểm bên trong nó. Cơng tắc hành trình là loại khơng duy trì trạng thái, khi khơng cịn tác động sẽ trở về vị trí ban đầu. Cơng tắc hành trình dùng để đóng cắt mạch dùng ở lưới điện hạ áp. Nó có tác dụng giống như nút ấn động tác ấn bằng tay được thay thế bằng động tác va chạm của các bộ phận cơ khí, làm cho q trình chuyển động cơ khí thành tín hiệu điện.
66 Dựa trên các tiêu chí về cơng năng, kích thước và giá thành, nhóm lựa chọn loại cơng tắc hành trình có mã KW11-N KW12 5a.
Hình 3.27: Cơng tắc hành trình KW11-N KW12 5a 3.3.6. Nguồn ni 3.3.6. Nguồn nuôi
Phần lớn các thiết bị trong hệ thống đều hoạt động với hiệu điện thế DC, do vậy cần một bộ chuyển đổi từ AC sang DC nhằm đảm bảo cung cấp đúng và đủ năng lượng cho hệ động hoạt động. Nguồn tổ ong được lựa chọn vì tính năng của nó đáp ứng được những u cầu kỹ thuật đã đặt ra cũng như tính sẵn có của nó. Dựa theo hiệu điện thế và cơng suất định mức của các thiết bị trong hệ thống, nhóm lựa chọn nguồn tổ ong 24VDC 240W.
67
3.3.7. Sơ đồ nguyên lý
68
3.4. Thiết kế thuật toán xử lý ảnh và điều khiển 3.4.1. Phân tích các đặc tính của ảnh 3.4.1. Phân tích các đặc tính của ảnh
Để có thể xây dựng thuật tốn cho q trình xử lý ảnh, nhóm đã tiến hành thu thập các mẫu ảnh ở nhiều thời điểm khác nhau nhằm tìm ra những đặc trưng riêng của đối tượng cần nhận diện (gọi tắt là đối tượng) – đường hàn.
Dựa trên những mẫu thu thập được, nhóm có các nhận định như sau:
- Độ tương phản: Do đặc tính phản xạ ánh sáng của bề mặt kim loại, nên khi dùng một nguồn sáng chiếu vng góc với bề mặt kim loại, ảnh thu nhận được có độ tương phản khá tốt giữa đối tượng và nền – bề mặt kim loại. Hình 3.24 bên dưới mơ tả vị trí đặt của camera, nguồn sáng và mẫu. Đây là một yếu tố khá quan trọng để ta có thể thu hẹp các điều kiện nhằm tìm ra vị trí của đối tượng trong khơng gian ảnh.
69
Hình 3.30: Ảnh mơ tả về độ tương phản
- Hình dạng của đối tượng: Hình dáng thực tế của đường hàn khơng có một quy luật cố định, có thể là một đường thẳng hoặc cũng có thể là một đường cong. Nhưng tại mỗi thời điểm, do vùng ảnh thu được có kích thước nhỏ, hình dạng của đối tượng là một đoạn thẳng dài khoảng 1cm trên ảnh. Điều này cũng giống như việc ta xấp xỉ đường cong thành nhiều đoạn thẳng nhỏ.
70
3.4.2. Xây dựng giải thuật cho xử lý ảnh
71 Sau khi hệ thống bắt đầu hoạt động, mẫu được chụp trực tiếp từ camera và lưu vào bộ nhớ hệ thống và xử lý ngay sau đó. Ở hệ thống này, ảnh được lưu trữ dưới dạng ảnh màu RGB với kích thước 640x480. Đồng thời với việc lưu trữ ảnh, hệ thống còn ghi nhận lại thời điểm ảnh được chụp, điều này có ý nghĩa rất quan trọng cho việc tái tạo lại biên dạng sau này. Tiếp đến, ảnh sẽ trải qua tiếp các quá trình xử lý:
Tiền xử lý ảnh: Đây là quá trình gồm các thao tác chuyển đổi ảnh xám, làm
mịn ảnh, tăng độ tương phản nhằm tăng chất lượng ảnh cho quá trình nhận dạng được nhanh và chính xác hơn.
Hình 3.32: Giải thuật tiền xử lý ảnh
Lấy khung xương (Skeletonization): Quá trình này tập trung vào việc tái tạo
72
Hình 3.33: Giải thuật lấy khung xương
Xác định đường hàn: Phân tích hình dạng để nhận biết chính xác đường hàn
73
Hình 3.34: Giải thuật xác định đường hàn
Xác định vị trí điểm lấy mẫu trên đường hàn: Q trình này nhằm trích xuất tọa độ các điểm trên đường hàn, từ đó ta có sẽ tái tạo lại quỹ đạo của đường hàn phục vụ cho mục đích điều khiển đầu hàn.
74
Hình 3.35: Giải thuật xác định vị trí lấy mẫu
Tính tốn vị trí của điểm trong không gian thực: Tọa độ của điểm trích
xuất được trong khơng gian ảnh sẽ được chuyển về tọa độ trong không gian thực (khơng gian làm việc của máy).
75
Hình 3.36: Giải thuật xác định vị trí đường hàn
Tạo lệnh G-Code và lưu trữ: Dựa trên tọa độ tính toán được, một lệnh G- Code tương ứng sẽ được tạo ra. Tất cả các lệnh G-Code được tạo ra trong suốt quá trình xử lý ảnh (mỗi lần thực thi chương trình) sẽ được lưu trữ vào một tập tin (riêng) trên máy tính để tiện cho việc kiểm tra và lưu trữ.
3.4.3. Giải pháp điều khiển hệ thống
Mach 3 là một phần mềm của hãng Airsoft USA, giúp biến một máy vi tính cơ bản thành một bộ điều khiển máy CNC. Mach 3 cung cấp nhiều tiện ích cần có cho một bộ điều khiển CNC hoàn chỉnh.
Mach 3 hoạt động trên hầu hết các máy vi tính cá nhân sử dụng hệ điều hành Windows nhằm điều khiển chuyển động của động cơ bước và servo bằng cách xử lý các lệnh G-Code được người dùng đưa vào.
76 Với nhiều tính năng tiên tiến, đây là phần mềm điều khiển CNC trực quan nhất hiện có. Mach 3 có khả năng tùy biến cho nhiều loại ứng dụng với nhiều loại phần cứng khác nhau.
3.4.4. Giao tiếp điều khiển giữa phần mềm Mach 3 và xử lý ảnh
Vì Mach 3 là một phần mềm được đóng gói một cách hồn chỉnh, nên việc can thiệp và chỉnh sửa phần mềm để có thể tương tác với xử lý ảnh là vơ cùng khó khăn. Nhóm sử dụng giải pháp sẽ thực hiện việc điều khiển Mach 3 kết hợp với xử lý ảnh thông qua việc viết một chương trình con tự động thực hiện các tương tác “click” chuột và thao tác phím lên giao diện của phần mềm Mach 3. Chương trình con này cũng được viết bằng python với một mô-đun được gọi là pywinauto. Pywinauto là một tập hợp các mơ-đun python để tự động hóa Microsoft Windows GUI. Ở mức đơn giản nhất, nó cho phép bạn gửi các hành động chuột và bàn phím tới các hộp thoại và điều khiển của Windows, nó cũng hỗ trợ cho các hành động phức tạp hơn như lấy dữ liệu văn bản. Các công nghệ được hỗ trợ: Win32 API (backend="win32"; được sử dụng theo mặc định), MS UI Automation (backend="uia"). Mô-đun hoạt động trên cả Windows và Linux.
77
Hình 3.37: Lưu đồ tương tác giữa xử lý ảnh và điều khiển
Ngay khi người dùng thực thi chương trình, một loạt câu lệnh sẽ được thực thi theo cấu trúc như lưu đồ 3.38 bên dưới. Mục đích của việc này là giảm thiểu tối đa thao tác của người sử dụng cũng như đảm bảo tối đa yêu cầu về đồng bộ thời gian khi xử lý ảnh.
Để thực thi các thao tác như trong lưu đồ 3.38 cần sử dụng các hàm của mô- đun Pywinauto. Cấu trúc của các hàm trong mô-đun Pywinauto được quy định như sau:
App.<DialogName>.<ControlName>.<method>(<params>) Trong đó:
78 App: được xác định bằng công nghệ hỗ trợ của chương trình cần tương tác (UIA hay WIN32) và tên của chương trình.
DialogName: xác định vùng cửa sổ chính của chương trình và một vài các thành phần khác như nút nhấn, hộp thoại.
ControlName: là một lớp nhỏ hơn DialogName, lớp này sẽ xác định cụ thể vị trí, nút nhấn, edit box,… cần tương tác đến.
Method: là thao tác muốn thực thi lên đối tượng.
Trong lưu đồ 3.38 các lệnh “click chọn” sẽ có method là click, “gõ” sẽ có thao tác là type_keys và “gửi phím” sẽ được thực thi bằng hàm send_keys().
Yêu cầu quan trọng để các thao tác này được thực thi đúng là khi phần mềm “Mach3 CNC Controller” phải được mở sẵn và đang trong trạng thái sẵn sàng (đã nhấn Reset và đang trong cửa sổ Program Run Alt-1) trước khi thực thi XuLyAnh.py.
79
80
Chương 4: THI CƠNG VÀ THỰC NGHIỆM 4.1. Thi cơng mơ hình 4.1. Thi cơng mơ hình
Mơ hình có khung được làm bằng nhơm định hình 20x20 mm và 20x40 mm, đây là vật liệu dễ mua, dễ gia công và có độ bền cao.
Cụm vít me sử dụng trục vít me - đai ốc bi. Các gối đỡ vít me, gối đỡ ổ lăn và gối đỡ động cơ được thực hiện gia công CNC trên nhôm nguyên khối.
Cụm bàn máy của mơ hình được làm bằng mica hai lớp có độ dày tổng 13 mm, sử dụng bánh xe trượt V-slot và bộ truyền đai giúp bàn máy vận hành trơn tru và ổn định hơn.
Trước khi gia cơng, tồn bộ thiết kế của mơ hình được vẽ và mơ phỏng trên phần mềm Autodesk Inventor.
81 Nhơm định hình được cắt theo các kích thước trên bản vẽ bởi một bên xưởng gia cơng cơ khí bên ngồi. Khung mơ hình đa phần sử dụng nhơm 20x40 mm để có cấu trúc gọn và chịu lực ổn định. Các thanh nhôm được ghép nối với nhau bởi các nối góc chữ T, chữ L và các bu lông. Bốn chân đế cao su được sử dụng giúp bảo vệ mơ hình, giảm chấn, giảm rung lắc trong quá trình vận hành.
Hình 4.2: Lắp ráp khung của mơ hình
Đối với cụm bàn máy, sử dụng bộ truyền đai để truyền chuyển động. Do không đặt yêu cầu về vận hành thực tế với công tác hàn, bàn máy sử dụng mica giúp giảm bớt khối lượng và tiết kiệm chi phí. Bộ truyền đai có tỉ số truyền 1:1 với hai pulley GT2 20 răng cùng với đai GT2 kèm bộ căng đai giúp bàn máy vận hành ổn định và lâu dài.
82
Hình 4.3: Bộ bàn máy của mơ hình
Cụm vít me – đai ốc được đặt chế tạo theo các thơng số nhóm đã tính tốn
Hình 4.4: Cụm vít me-đai ốc được sử dụng trong mơ hình
Tồn bộ các thiết bị điện – điện tử được đặt trong tủ điện nhằm bảo vệ các thiết bị và cách ly các thiết bị mang điện với người sử dụng. Tủ điện được làm bằng thép cán mỏng có độ dày 0,7 mm và được sơn tĩnh điện.
83
Hình 4.5: Lắp ráp tủ điện cho mơ hình
Sau khi gia công, lắp ráp và kết nối các phần của mơ hình với nhau, mơ hình được hồn thiện như hình 4.6 bên dưới.
84
4.2. Lập trình hệ thống
Hình 4.7: Các bước chính trong q trình xử lý ảnh 4.2.1. Tiền xử lý ảnh
Sau khi thu nhận được ảnh từ camera, ảnh cần được nâng cao chất lượng để quá trình nhận dạng được tốt nhất. Quá trình này bao gồm hai bước là chuyển đổi ảnh xám, tăng độ tương phản và làm mịn ảnh.
85
Chuyển đổi ảnh xám là q trình chuyển đổi hình ảnh từ khơng gian màu
RGB (Red – Green – Blue) sang không gian xám. Bản chất của việc này là tổng hợp 3 ma trận màu R-G-B thành một ma trận duy nhất, điều đó sẽ giúp cho việc tính tốn với các giá trị màu trong ảnh được nhanh chóng hơn. Trong thư viện OpenCV, quá trình này được thực hiện bằng cách sử dụng hàm cv::cvtColor().
Hình 4.9: Ảnh đã chuyển sang khơng gian xám
Tăng độ tương phản mục đích nhầm làm nổi bật phần cần nhận diện so với
màu nền. Cụ thể trong trường hợp này, phần bề mặt kim loại ta dùng để hàn (phần nền) có tính chất phản xạ ánh sáng khiến chúng “trắng” hơn so với phần đường hàn. Do vậy ta sẽ nhân toàn bộ các điểm ảnh với một hệ số alpha, điều này sẽ làm cho
phần nền được đẩy lên mức sáng thuần (255) còn phần đường hàn (gần bằng 0) nên sẽ ít bị ảnh hưởng hơn (vẫn giữ được mức “đen” cần thiết). Quá trình này được thực hiện bằng hàm cv::addWeight().
86
Hình 4.10: Ảnh đã được tăng độ tương phản
Làm mịn ảnh là công việc quen thuộc trong xử lý ảnh. Nó giúp loại bỏ các
dữ liệu không cần thiết như hạt nhiễu (noise). Ta sử dụng hàm cv::Blur() để thực hiện thao tác này.
87
4.2.2. Lấy khung xương
Q trình lấy khung xương nhằm mục đích tái cấu trúc là hình dáng các chi tiết có trong ảnh. Đây là q trình quan trọng để có thể xác định được đường hàn dựa trên dạng hình học của nó. Q trình này được thực hiện thơng qua 2 bước: Nhị phân hóa và làm mỏng hóa.
Nhị phân hóa là quá trình biến một ảnh xám thành ảnh nhị phân. Ảnh nhị
phân chỉ chứa hai giá trị 0 và 255. Theo đó, giá trị 0 sẽ là giá trị ứng với những điểm đen trên ảnh và giá trị 255 sẽ là giá trị ứng với những điểm trắng. Công thức để nhị phân ảnh là đặt tất cả các giá trị của ảnh xám về 0 nếu chúng bé hơn một ngưỡng T cho trước và về 255 nếu chúng lớn hơn ngưỡng T đó. Vấn để ở đây là với ngưỡng T như thế nào thì cho ta được tấm ảnh nhị phân như ý muốn, nghĩa là ảnh làm nổi các vùng đối tượng và nền. Việc xác định giá trị T là rất khó vì chúng phụ thuộc vào từng điều kiện chiếu sáng khác nhau của môi trường. Với môi trường này T nhận một giá trị, môi trường khác lại một giá trị khác. Để tránh khó khăn trong việc chọn ngưỡng