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 20 của 165

Chủ đề: Thảo luận về DC Servo

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Thợ cả
    Ngày tham gia
    Nov 2013
    Bài viết
    5,894
    Cám ơn
    2,195
    Được cám ơn 3,269 lần
           ở 2,043 bài viết

    vấn đề bự chà pá lửa của hệ thống servo
    làm sao để giảm over shot?
    1 giải pháp là tăng độ phân giải encoder?

    hình em lấy chỗ này
    http://people.ece.umn.edu/users/riaz...dcmotpos0.html

  2. Có 3 thành viên đã cám ơn nhatson cho bài viết hữu ích này:


  3. #2
    Thợ bậc 5
    Ngày tham gia
    Apr 2014
    Bài viết
    271
    Cám ơn
    46
    Được cám ơn 128 lần
           ở 81 bài viết
    Trích dẫn Gửi bởi nhatson Xem bài viết

    vấn đề bự chà pá lửa của hệ thống servo
    làm sao để giảm over shot?
    1 giải pháp là tăng độ phân giải encoder?

    hình em lấy chỗ này
    http://people.ece.umn.edu/users/riaz...dcmotpos0.html
    mình nghĩ over shot không phải vấn đề lớn ah . khi điều chỉnh mình bắt nó chạy biểu đồ hình vuông +phóng to biểu đồ error nên trông nó kinh thế chứ khi chạy thực tế còn có hàm gia tốc của control nên over shot chỉ có vài xung tương đương vài um trên hệ cơ ah(giả sử encoder 2000p visme 5mm) chỉ có cố gắng giảm sai số khi tăng giảm tốc là khó khăn thôi . nếu so với step mình cứ nghĩ rằng step chính xác nhưng thực ra không có đâu khi bước 1 bước nó cũng vượt ra khổi vị trí cân bằng rồi bị kéo trở về nên mới gây ra rung động đó thôi .
    @ gacon bác gacon có nghiên cứu qua giải thuật servo uhu chưa ? mình thấy nó khá tốt mà viết bằng asm nên mới khám phá được 1 ít ah .

  4. Có 2 thành viên đã cám ơn cuongmay cho bài viết hữu ích này:


  5. #3
    Thợ cả
    Ngày tham gia
    Nov 2013
    Bài viết
    5,894
    Cám ơn
    2,195
    Được cám ơn 3,269 lần
           ở 2,043 bài viết
    Trích dẫn Gửi bởi cuongmay Xem bài viết
    mình nghĩ over shot không phải vấn đề lớn ah . khi điều chỉnh mình bắt nó chạy biểu đồ hình vuông +phóng to biểu đồ error nên trông nó kinh thế chứ khi chạy thực tế còn có hàm gia tốc của control nên over shot chỉ có vài xung tương đương vài um trên hệ cơ ah(giả sử encoder 2000p visme 5mm) chỉ có cố gắng giảm sai số khi tăng giảm tốc là khó khăn thôi . nếu so với step mình cứ nghĩ rằng step chính xác nhưng thực ra không có đâu khi bước 1 bước nó cũng vượt ra khổi vị trí cân bằng rồi bị kéo trở về nên mới gây ra rung động đó thôi .
    @ gacon bác gacon có nghiên cứu qua giải thuật servo uhu chưa ? mình thấy nó khá tốt mà viết bằng asm nên mới khám phá được 1 ít ah .
    Vấn đề lớn vì dùng servo mà gia tốc thấp thì...
    và ván đề rung khi motor đứng yên và có tải lại càng khó chịu

    step 2 phase nó rung do cộng hưởng , step 2 phase bị trùng phase với dòng điện nện nó bị cộng hưỡng > rung và mất bước ở 2 điểm, 1 là ở tốc độ thấp 50 ~ 150 rpm cái này xử lí bằng microstep sẽ giảm được rung và mất bước, 1 đoạn nữa là tốc độ giữa 500RPM đến 900RPM
    1 phần nữa do góc bước ko tuyến tính, nó méo nên true sin nó rung, 1 số drive cao cấp có chức năng 3rd harmoic correction
    với kỹ thuật điều khiển mix decay độ rung được giảm thiểu
    1 cái nữa step rung do bước lớn, drive sau này có chế độ nhân xung nên chạy chậm like servo

    vibaration reduce với step drive đời mới của vexta


    và 1 phần hạn chế của servo là khi chạy với controller laọi thấp là chạy tín hiệu step dir, các trục ko đồng bộ dược với controller, PID cũng ko đồng bọ được với việc tạo ra chuyển động từ controller
    Lần sửa cuối bởi nhatson, ngày 20-04-2017 lúc 11:15:56 PM.

  6. Có 4 thành viên đã cám ơn nhatson cho bài viết hữu ích này:


  7. #4
    Thợ bậc 5
    Ngày tham gia
    Apr 2014
    Bài viết
    271
    Cám ơn
    46
    Được cám ơn 128 lần
           ở 81 bài viết
    Trích dẫn Gửi bởi nhatson Xem bài viết
    Vấn đề lớn vì dùng servo mà gia tốc thấp thì...
    và ván đề rung khi motor đứng yên và có tải lại càng khó chịu

    step 2 phase nó rung do cộng hưởng , step 2 phase bị trùng phase với dòng điện nện nó bị cộng hưỡng > rung và mất bước ở 2 điểm, 1 là ở tốc độ thấp 50 ~ 150 rpm cái này xử lí bằng microstep sẽ giảm được rung và mất bước, 1 đoạn nữa là tốc độ giữa 500RPM đến 900RPM
    1 phần nữa do góc bước ko tuyến tính, nó méo nên true sin nó rung, 1 số drive cao cấp có chức năng 3rd harmoic correction
    với kỹ thuật điều khiển mix decay độ rung được giảm thiểu
    1 cái nữa step rung do bước lớn, drive sau này có chế độ nhân xung nên chạy chậm like servo

    vibaration reduce với step drive đời mới của vexta


    và 1 phần hạn chế của servo là khi chạy với controller laọi thấp là chạy tín hiệu step dir, các trục ko đồng bộ dược với controller, PID cũng ko đồng bọ được với việc tạo ra chuyển động từ controller
    rung khi đướng yên và rung khi có tải có lẽ là tuning bị sai hoặc giải thuật quá tồi thôi bác ,việc treo trục z trên 1 bộ servo tuning đúng nó cũng chỉ lấy lại vị trí trong im lặng. còn việc không đồng bộ với control thì chắc chắn là có nhưng nó vẫn chính xác vượt xa độ chính xác cơ khí nên có lẽ không cần coi đó là khuyết điểm . ví dụ như mình nâng cấp con máy có độ rơ visme khoảng 2%mm với con servo có en 2000p(encoder fanuc đít vàng từ thế kỉ trước) khi tăng giảm tốc trên mach 3 với gia tốc 400 f2000 thì sai số luôn dưới 15p(khi tăng tốc) còn sai số khi chạy là dưới 2p . tính sơ bộ en có độ phân giải 8000 visme 5mm thì sai số khi tăng tốc cũng chỉ 0.0094mm,tạm đủ cho con máy cổ trong khi đó nghe đồn encoder ngày nay tới 1.000.000p thì chính xác lắm ah.

  8. #5
    Thợ cả
    Ngày tham gia
    Nov 2013
    Bài viết
    5,894
    Cám ơn
    2,195
    Được cám ơn 3,269 lần
           ở 2,043 bài viết
    Trích dẫn Gửi bởi cuongmay Xem bài viết
    rung khi đướng yên và rung khi có tải có lẽ là tuning bị sai hoặc giải thuật quá tồi thôi bác ,việc treo trục z trên 1 bộ servo tuning đúng nó cũng chỉ lấy lại vị trí trong im lặng. còn việc không đồng bộ với control thì chắc chắn là có nhưng nó vẫn chính xác vượt xa độ chính xác cơ khí nên có lẽ không cần coi đó là khuyết điểm . ví dụ như mình nâng cấp con máy có độ rơ visme khoảng 2%mm với con servo có en 2000p(encoder fanuc đít vàng từ thế kỉ trước) khi tăng giảm tốc trên mach 3 với gia tốc 400 f2000 thì sai số luôn dưới 15p(khi tăng tốc) còn sai số khi chạy là dưới 2p . tính sơ bộ en có độ phân giải 8000 visme 5mm thì sai số khi tăng tốc cũng chỉ 0.0094mm,tạm đủ cho con máy cổ trong khi đó nghe đồn encoder ngày nay tới 1.000.000p thì chính xác lắm ah.
    em làm 1 phép tính để thấy vấn đề servo, hệ thống servo chất lượng có tốc độ đáp ứng 5kz
    hệ thống thường thường ngày nay là 1khz, 1 số servo cũ cũ ... em ko thấy đề cập, nhưng PID 1khz là thông thường em cứ tính theo 1khz
    tốc độ có thể đạt được của servo là 1500RPM là tệ nhất rồi, với vít me 5mm 1500RPM là 7500mm/min > 1 giay la 125mm
    PID 1khz > comand là 125/1000 ~ 0.125mm servo mới tiến hành điều chỉnh và 3 trục thì mạnh thằng nào thằng đó PID

    còn chính xác ah? về độ dơn giản trong 1 số ứng dụng ... đáng nể về giá thành và hiệu năng, dùng mấy con servo làm bài test như clip mà kim dứng im khi dừng như clip cũng căng đóa ợ


    1 vấn đề BỰ của servo nữa là người dùng servo hay nói TẠI TURNING SAI, vậy làm thế nào để TURNING cho đúng?
    Lần sửa cuối bởi nhatson, ngày 21-04-2017 lúc 06:48:40 AM.

  9. Có 6 thành viên đã cám ơn nhatson cho bài viết hữu ích này:


  10. #6
    Thợ bậc 5
    Ngày tham gia
    Apr 2014
    Bài viết
    271
    Cám ơn
    46
    Được cám ơn 128 lần
           ở 81 bài viết
    Trích dẫn Gửi bởi nhatson Xem bài viết
    em làm 1 phép tính để thấy vấn đề servo, hệ thống servo chất lượng có tốc độ đáp ứng 5kz
    hệ thống thường thường ngày nay là 1khz, 1 số servo cũ cũ ... em ko thấy đề cập, nhưng PID 1khz là thông thường em cứ tính theo 1khz
    tốc độ có thể đạt được của servo là 1500RPM là tệ nhất rồi, với vít me 5mm 1500RPM là 7500mm/min > 1 giay la 125mm
    PID 1khz > comand là 125/1000 ~ 0.125mm servo mới tiến hành điều chỉnh và 3 trục thì mạnh thằng nào thằng đó PID

    còn chính xác ah? về độ dơn giản trong 1 số ứng dụng ... đáng nể về giá thành và hiệu năng, dùng mấy con servo làm bài test như clip mà kim dứng im khi dừng như clip cũng căng đóa ợ


    1 vấn đề BỰ của servo nữa là người dùng servo hay nói TẠI TURNING SAI, vậy làm thế nào để TURNING cho đúng?
    bác nhatson tính sai 1 số chỗ.
    - mình không hiểu sao bác cho rằng tốc độ lấy mẫu 1khz là điển hinh,đồ chế của mình đã có tg lấy mẫu 300us rồi,ấy là mình làm rất lâu rồi ,đang muốn nâng cấp lên chip arm để tăng tần số lên vài lần nữa .
    - f7500 là tốc độ G0,cái này sai số cũng không sao,xác lập chính xác là được còn chạy chính xác thông thường f chỉ 2000 trở xuống .
    -control không bắt servo chạy ngay tốc độ tối đa mà chạy theo hàm gia tốc nên thổi điểm ban đầu f rất thấp,servo bám theo vẫn trễ nhưng rất ít chứ không như bác tính.
    còn muốn tuning đúng thì đương nhiên cần người có chuyên môn và phải có biểu đồ +bảng thống kê error ,còn không thì cần người có kinh nghiệm và kết quả cũng tàm tạm .
    mình chưa thử cách test trên bao giờ vì mình nghĩ servo chạy vọt lố tới mức dùng mắt nhìn thấy thì quá tệ rồi , mình chỉ tin vào thống kê error thôi .
    Lần sửa cuối bởi cuongmay, ngày 21-04-2017 lúc 07:43:51 AM.

  11. Thành viên đã cám ơn cuongmay cho bài viết hữu ích này:


  12. #7
    Thợ cả
    Ngày tham gia
    Nov 2013
    Bài viết
    5,894
    Cám ơn
    2,195
    Được cám ơn 3,269 lần
           ở 2,043 bài viết
    Trích dẫn Gửi bởi cuongmay Xem bài viết
    bác nhatson tính sai 1 số chỗ.
    - mình không hiểu sao bác cho rằng tốc độ lấy mẫu 1khz là điển hinh,đồ chế của mình đã có tg lấy mẫu 300us rồi,ấy là mình làm rất lâu rồi ,đang muốn nâng cấp lên chip arm để tăng tần số lên vài lần nữa .
    - f7500 là tốc độ G0,cái này sai số cũng không sao,xác lập chính xác là được còn chạy chính xác thông thường f chỉ 2000 trở xuống .
    -control không bắt servo chạy ngay tốc độ tối đa mà chạy theo hàm gia tốc nên thổi điểm ban đầu f rất thấp,servo bám theo vẫn trễ nhưng rất ít chứ không như bác tính.
    còn muốn tuning đúng thì đương nhiên cần người có chuyên môn và phải có biểu đồ +bảng thống kê error ,còn không thì cần người có kinh nghiệm và kết quả cũng tàm tạm .
    mình chưa thử cách test trên bao giờ vì mình nghĩ servo chạy vọt lố tới mức dùng mắt nhìn thấy thì quá tệ rồi , mình chỉ tin vào thống kê error thôi .
    mcu chạy 5khz pid là 1 chuyện, motor đáp ứng là chuyện khác ợ, thêm 1 vấn dề của servo. lệ thuộc thig số động cơ

  13. Có 2 thành viên đã cám ơn nhatson cho bài viết hữu ích này:


  14. #8
    Thợ cả
    Ngày tham gia
    Feb 2014
    Bài viết
    2,369
    Cám ơn
    669
    Được cám ơn 1,423 lần
           ở 846 bài viết
    Trích dẫn Gửi bởi cuongmay Xem bài viết
    mình nghĩ over shot không phải vấn đề lớn ah . khi điều chỉnh mình bắt nó chạy biểu đồ hình vuông +phóng to biểu đồ error nên trông nó kinh thế chứ khi chạy thực tế còn có hàm gia tốc của control nên over shot chỉ có vài xung tương đương vài um trên hệ cơ ah(giả sử encoder 2000p visme 5mm) chỉ có cố gắng giảm sai số khi tăng giảm tốc là khó khăn thôi . nếu so với step mình cứ nghĩ rằng step chính xác nhưng thực ra không có đâu khi bước 1 bước nó cũng vượt ra khổi vị trí cân bằng rồi bị kéo trở về nên mới gây ra rung động đó thôi .
    @ gacon bác gacon có nghiên cứu qua giải thuật servo uhu chưa ? mình thấy nó khá tốt mà viết bằng asm nên mới khám phá được 1 ít ah .
    Hi anh Caocuong,
    Cái UHU ELM ngày xưa em nghiên cứu nát ra. Nhòm đi nhòm lại thấy...nó cũng giống mình , nhưng chuẩn mực hơn.

    Tuy nhiên vẫn còn những hạn chế về tốc độ. Với bản Free xài Tiny2313, tần số đọc xung enc chỉ max 100kHz, với enc 1.000ppr tiêu chuẩn thì tốc độ chạy chỉ được tối đa 1.500rpm. Bản thương mại hình như công bố max 250kHz cũng còn quá thấp (max 3.750rpm với enc 1.000ppr).

    Với em, e tách 2 con VXL xử lý 2 tác vụ độc lập, cũng chỉ tự tin đọc đến 4-500kHz (tương đương max 6.000rpm với enc 1.000ppr), càng nhiễu thì tốc độ đọc càng thấp do phải đụng các vòng lặp kiểm tra. Với VXL đời mới hơn, tốc độ không phải là vấn đề nhưng ta lại đụng phải giới hạn khác về kỹ thuật đi dây, giải thuật chống nhiễu (phần mềm không phải phần cứng)... nên cỡ loanh quanh mức 4-500kHz là an toàn.

    Với con chip UHU thương mại, giá 10$/con thật tình e thấy quá rẻ, nhưng e chưa xài thử. Trên này e biết có cụ Giang nick Ghoang có mua, chắc nhờ anh ấy vào chia sẻ thêm về thực tế quá.

    Thanks.

  15. Có 3 thành viên đã cám ơn Ga con cho bài viết hữu ích này:


  16. #9
    Thợ bậc 6
    Ngày tham gia
    Nov 2013
    Đang ở
    TP.TDM-Bình Dương
    Bài viết
    327
    Cám ơn
    69
    Được cám ơn 88 lần
           ở 65 bài viết
    Trích dẫn Gửi bởi Ga con Xem bài viết
    Hi anh Caocuong,
    Cái UHU ELM ngày xưa em nghiên cứu nát ra. Nhòm đi nhòm lại thấy...nó cũng giống mình , nhưng chuẩn mực hơn.

    Tuy nhiên vẫn còn những hạn chế về tốc độ. Với bản Free xài Tiny2313, tần số đọc xung enc chỉ max 100kHz, với enc 1.000ppr tiêu chuẩn thì tốc độ chạy chỉ được tối đa 1.500rpm. Bản thương mại hình như công bố max 250kHz cũng còn quá thấp (max 3.750rpm với enc 1.000ppr).

    Với em, e tách 2 con VXL xử lý 2 tác vụ độc lập, cũng chỉ tự tin đọc đến 4-500kHz (tương đương max 6.000rpm với enc 1.000ppr), càng nhiễu thì tốc độ đọc càng thấp do phải đụng các vòng lặp kiểm tra. Với VXL đời mới hơn, tốc độ không phải là vấn đề nhưng ta lại đụng phải giới hạn khác về kỹ thuật đi dây, giải thuật chống nhiễu (phần mềm không phải phần cứng)... nên cỡ loanh quanh mức 4-500kHz là an toàn.

    Với con chip UHU thương mại, giá 10$/con thật tình e thấy quá rẻ, nhưng e chưa xài thử. Trên này e biết có cụ Giang nick Ghoang có mua, chắc nhờ anh ấy vào chia sẻ thêm về thực tế quá.

    Thanks.
    UHU thương mại chỉ khuyến cáo chạy với ENC 500~1000 là tốt nhất, lúc trước em có thử với motor 2500ppr ~ 10000 cpr chạy tốc độ 1000rpm con chíp báo encoder tracking error
    Em tính toán lại thì thấy: nhà sản xuất khuyến cáo tần số tối đa là 150Khz, em chay 1000rpm với encoder 2500 xung thì tần số là 166KHz nó báo lỗi là đúng
    Có so sánh với driver của bác gacon thì thấy tốc độ cao hơn
    Lần sửa cuối bởi ghoang, ngày 21-04-2017 lúc 11:52:51 AM.
    SDT: 078.423.4424.
    Email: giangxuanhoang@gmail.com.

  17. Thành viên đã cám ơn ghoang cho bài viết hữu ích này:


  18. #10
    Thợ bậc 6 CKD's Avatar
    Ngày tham gia
    Nov 2013
    Bài viết
    6,681
    Cám ơn
    1,737
    Được cám ơn 5,330 lần
           ở 2,595 bài viết
    Vụ đọc enc, có cách nào đọc hiệu quả ở chip tốc độ thấp không ạ?
    Cụ nào chỉ điểm giúp em với. Lúc trước làm với arduino em vẫn chưa hài long lắm.
    DT: O7837277II - CKD's Youtube Channel - Facebook - Tổng hợp chủ đề
    17 ds 3, Thạnh Mỹ Lợi, Q2, tp.HCM

  19. #11
    Thợ cả
    Ngày tham gia
    Nov 2013
    Bài viết
    5,894
    Cám ơn
    2,195
    Được cám ơn 3,269 lần
           ở 2,043 bài viết
    Trích dẫn Gửi bởi CKD Xem bài viết
    Vụ đọc enc, có cách nào đọc hiệu quả ở chip tốc độ thấp không ạ?
    Cụ nào chỉ điểm giúp em với. Lúc trước làm với arduino em vẫn chưa hài long lắm.
    giờ chip mạnh rẻ, dùng MCU ko có module encoder chi cho cực vậy ta
    như cụ gacon phài dùng 2 chip kia, em là em chơi ic chuyên dùng hoặc CPLD đọc encoder AB> paraller hoặc truyền SPI cho lành
    ko pán là độ luôn con encoder, có con MCU chuyên để counter dưới đó rồi truyền về con MCU controller

  20. Thành viên đã cám ơn nhatson cho bài viết hữu ích này:


  21. #12
    Thợ cả
    Ngày tham gia
    Feb 2014
    Bài viết
    2,369
    Cám ơn
    669
    Được cám ơn 1,423 lần
           ở 846 bài viết
    Trích dẫn Gửi bởi nhatson Xem bài viết
    giờ chip mạnh rẻ, dùng MCU ko có module encoder chi cho cực vậy ta
    như cụ gacon phài dùng 2 chip kia, em là em chơi ic chuyên dùng hoặc CPLD đọc encoder AB> paraller hoặc truyền SPI cho lành
    ko pán là độ luôn con encoder, có con MCU chuyên để counter dưới đó rồi truyền về con MCU controller
    Một số chip chuyên đọc encoder em đã gặp:
    - uPD4701A, đọc 2 kênh, tốc độ max 500kHz, xài từ những năm 198x, e hay gặp trong các máy cắt dây, bắn điện đời cổ lỗ sĩ. Giao tiếp song song. Đời mới mình lập trình không ngon chưa chắc qua những chip này.

    - Những chip lập trình cứng của hãng LSI/CSI như LS7266, LS7566, đọc enc nhiều trục, có chức năng làm enc ABS, giao tiếp nối tiếp.

    Thực tế e không đánh giá cao mấy module đọc encoder tích hợp của mấy chip như PIC, vì cơ chế hoạt động của nó. Có thể do cảm tính hoặc do ấn tượng không tốt (em không xài PIC nhưng e xài AVR Mega với mode ngắt pinchange cho đọc encoder, kết quả không tốt như giải thuật vòng lặp).

    Thanks.

  22. Thành viên đã cám ơn Ga con cho bài viết hữu ích này:


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

  1. thảo luận về phần mềm mach3 cnc controller
    Bởi Quach Viet Hai trong diễn đàn Driver DC/AC servo motor
    Trả lời: 7
    Bài viết cuối: 18-12-2016, 12:28:07 AM
  2. Thảo luận chạy song mã servo
    Bởi h-d trong diễn đàn Driver DC/AC servo motor
    Trả lời: 109
    Bài viết cuối: 08-10-2016, 03:38:40 AM
  3. Thảo luận về cách vẽ trong Solidworks
    Bởi CKD trong diễn đàn Phần mềm CAD, CAM và các tiện ích
    Trả lời: 22
    Bài viết cuối: 02-08-2016, 06:20:49 PM
  4. Thảo luận về visme dài cho máy lớn.
    Bởi iamnot.romeo trong diễn đàn Vít me, thanh răng, ray trượt, trục trượt, vòng bi, gối đở...
    Trả lời: 23
    Bài viết cuối: 15-06-2016, 09:55:18 PM
  5. Thảo luận về artcam nâng cao
    Bởi ABCNC trong diễn đàn Phần mềm ART
    Trả lời: 0
    Bài viết cuối: 23-03-2016, 10:32:16 PM

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
  •