Mình đang tìm hiểu để làm một chiếc MPG (Manual Pulse Generator) cho em máy 5 trục, vì vậy mình làm trước bản demo này để có thể hiểu thêm về cách thức giao tiếp của Mach3 với thiết bị bên ngoài qua cổng LPT.
Đây là board các nút bấm điều khiển và một chiếc encoder mouse wheel mình tháo ra từ con chuột cũ.
Mình dùng cổng USB để lấy nguồn 5V nuôi mạch. Do ban đầu chưa hiểu rõ về cách làm việc của cổng LPT nên mình làm khá nhiều nút bấm để có thể kiểm tra tất cả các chân.
Sau đó mình nhận ra rằng chỉ có thể sử dụng 13 chân gồm 8 chân Data (Pin2 đến Pin9) và 5 chân Status (Pin10, 11, 12, 13, 15) làm các input nhận tín hiệu từ nút bấm và pulser. Các chân Control (Pin1, 14, 16, 17) thì xuất output (ở bài sau mình sẽ dùng các chân này để điều khiển LED).
Đây là sơ đồ nối dây mình tham khảo từ trang 9w2bsr.com, các bạn có thể tùy biến theo mục đích của mình.
Còn đây là chân cẳng của em mouse wheel, các bạn nhớ thay Pin 6, Pin 7 trong hình thành 2 chân cấp xung.
Chiếc rotary encoder từ em chuột cũ của mình hoạt động rất tốt nên mình đã thử luôn với em Manual Pulser của ANCA này xem tình hình ra sao.
Cách đấu nối tương tự với mini encoder.
Đã lo liệu xong xuôi phần cứng, giờ là lúc đả động đến phần mềm.
Máy tính của mình chỉ có 1 cổng LPT on board nên mình cắm thêm 1 card PCI-express to LPT. Các bạn cài driver rồi vào Device Manager lấy địa chỉ của card điền vào Port #2 như hình.
Mach3 hỗ trợ 15 nút bấm ngoài nhưng cổng LPT chỉ hỗ trợ 13 chân, trong đó có 2 chân cấp xung, do vậy chỉ còn 11 chân làm nút bấm.
Bảng mã OEM Code chi tiết các bạn có thể tham khảo tại Mach3Wiki.
Quy định bước tiến dùng trong Jog Increment Cycle Mode. Ở đây mình dùng 3 bước đầu tiên.
Chuyển sang MPG mode để có thể sử dụng MPG chúng ta vừa mới hì hục làm.
Cùng xem kết quả nào.
Đây mới chỉ là bản demo, còn nhiều vấn đề mình cần phải giải quyết như việc tối ưu hóa, lựa chọn các nút bấm cần thiết nhất để chiếc MPG có thể thay thế hầu hết công việc của bàn phím máy tính; viết macro cho Mach3 để set Zero cho từng trục; thêm đèn LED hiển thị cho chế độ Jog increment cycle và Jog mode; thêm LCD hiển thị tốc độ của trục chính và tọa độ các trục; thiết kế vỏ tay cầm...
Mình sẽ hoàn thiện dần và cập nhật liên tục.
Cám ơn vì đã đọc bài viết!
Không có nhận xét nào:
Đăng nhận xét