1. Chú ý: Các bạn nên tham khảo Nội quy trước khi viết bài (click vào liên kết bên dưới).
    * Nội quy và Thông báo diễn đàn CNCProVN.com
    * Nếu bạn thấy hứng thú với bài viết. Hãy dùng chức năng Share to facebook để chia sẻ bài viết lên facebook.

          
Kết quả 1 đến 11 của 11

Chủ đề: Dùng Arduino điều khiển step driver vexta AKD514L

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Thợ bậc 6 CKD's Avatar
    Ngày tham gia
    Nov 2013
    Bài viết
    6,678
    Cám ơn
    1,737
    Được cám ơn 5,330 lần
           ở 2,595 bài viết
    Trích dẫn Gửi bởi Echchum Xem bài viết
    Trong cái code của bác có cái delay 2000ms thì sao nó nhanh được Bác chủ thớt
    Delay sau vòng lặp for mà. Nội dung của cái đoạn code đó nôm na thế này.

    Khởi tạo.
    Phát 5000 xung đồng thời báo cáo số xung qua RS232
    Chờ 2000ms
    Lăp lại quá trình.


    Có nhiều nguyên nhân gây chậm trong chương trình này.
    - Arduino không phải không thể chạy nhanh hơn (vì nó vẫn dùng atmega32 16MHz như nhiều ứng dụng đơn giản khác). Nhưng các lệnh của nó đều chạy qua thư viện, nên in/out của nó đều phải tra qua pin map. Do đó nó mất nhiều thời gian mới thay đổi trạng thái của 1 in/out được.
    - Mỗi khi thay đổi trạng thái, đều phải báo cáo qua RS232, làm mất thêm một khoảng thời gian chờ thực hiện xong việc này.
    - Ngay cả delayMicroseconds(1) nó cũng ngốn mất khá thời gian, thực hiện riêng lệnh đã mất đâu hơn 10us.

    Để cải thiện.
    - Tăng tốc tối đa cho giao tiếp RS232, hoặc bỏ luôn, chỉ báo cáo khi hoàn tất 5000 xung.
    - Thay vì dùng các lệnh như digitalWrite thì dùng bitwise (như bitRead, bitWrite v.v...) để truy cập trực tiếp lên pin/port của vxl sẽ cải thiện nhiều về tốc độ. Tất nhiên khi truy cập trực tiếp lên pin/port thì ta phải nắm rỏ pinout của vxl, vì lúc đó output nó không theo pin number của arduino nữa.
    DT: O7837277II - CKD's Youtube Channel - Facebook - Tổng hợp chủ đề
    17 ds 3, Thạnh Mỹ Lợi, Q2, tp.HCM

  2. #2
    Học việc
    Ngày tham gia
    Jul 2016
    Bài viết
    6
    Cám ơn
    1
    Được cám ơn 0 lần
           ở 0 bài viết
    Trích dẫn Gửi bởi CKD Xem bài viết
    Delay sau vòng lặp for mà. Nội dung của cái đoạn code đó nôm na thế này.

    Khởi tạo.
    Phát 5000 xung đồng thời báo cáo số xung qua RS232
    Chờ 2000ms
    Lăp lại quá trình.


    Có nhiều nguyên nhân gây chậm trong chương trình này.
    - Arduino không phải không thể chạy nhanh hơn (vì nó vẫn dùng atmega32 16MHz như nhiều ứng dụng đơn giản khác). Nhưng các lệnh của nó đều chạy qua thư viện, nên in/out của nó đều phải tra qua pin map. Do đó nó mất nhiều thời gian mới thay đổi trạng thái của 1 in/out được.
    - Mỗi khi thay đổi trạng thái, đều phải báo cáo qua RS232, làm mất thêm một khoảng thời gian chờ thực hiện xong việc này.
    - Ngay cả delayMicroseconds(1) nó cũng ngốn mất khá thời gian, thực hiện riêng lệnh đã mất đâu hơn 10us.

    Để cải thiện.
    - Tăng tốc tối đa cho giao tiếp RS232, hoặc bỏ luôn, chỉ báo cáo khi hoàn tất 5000 xung.
    - Thay vì dùng các lệnh như digitalWrite thì dùng bitwise (như bitRead, bitWrite v.v...) để truy cập trực tiếp lên pin/port của vxl sẽ cải thiện nhiều về tốc độ. Tất nhiên khi truy cập trực tiếp lên pin/port thì ta phải nắm rỏ pinout của vxl, vì lúc đó output nó không theo pin number của arduino nữa.

    thanks anh CKD,em đã bỏ cái rs232 và cải thiện tốc độ rất nhiều
    mỗi chu kì 40us thì mất bước 50us trở lên thì ổn rồi
    nhưng có vấn đề là toàn bộ quá trình máy chạy nếu cứ để mặc định tốc độ như vậy cho dù về home thì cũng chạm cử rất mạnh,rung cả máy
    em định dùng bộ thư viện accelstepper,do thư viện có gia tốc
    nhưng e tìm tài liệu thì không thấy nói rõ phải sử dụng thư viện ntn,em không biết làm sao để chỉnh tốc độ,tọa độ bước,gia tốc,code mẫu e thấy toàn random...chiều quay nữa,vì thằng vexta cấp xung CW quay thuận CCW lại quay ngược
    a có tài liệu hay code mẫu nào cho em tham khảo với ạ,tiếng anh cũng được

Các Chủ đề tương tự

  1. [ Xin hỏi SLA7044 ] Về mạch điều khiển step này.
    Bởi kenshido1231 trong diễn đàn Driver Step motor
    Trả lời: 0
    Bài viết cuối: 21-02-2016, 08:56:43 PM
  2. Thanh lý cuối năm bán 30 con driver đa năng điều khiển DC servo, Step 3 phase, Liner
    Bởi chetaocnc trong diễn đàn Gian hàng hết hiệu lực
    Trả lời: 63
    Bài viết cuối: 25-01-2016, 03:37:10 PM
  3. xây dựng bộ điều khiển step 3 phase
    Bởi nhatson trong diễn đàn Driver Step motor
    Trả lời: 19
    Bài viết cuối: 06-11-2014, 09:20:24 PM
  4. Xin chỉ dẫn mạch điều khiển step đơn giản bằng con 555
    Bởi ABCNC trong diễn đàn Break Out Board, Controller
    Trả lời: 42
    Bài viết cuối: 31-10-2014, 11:21:46 PM
  5. điều khiển cnc với arduino và tablet
    Bởi anhxco trong diễn đàn Break Out Board, Controller
    Trả lời: 10
    Bài viết cuối: 18-09-2014, 07:30:17 AM

Tag của Chủ đề này

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •