sao thấy cụ mô tả phức tạp quá, em thấy nó chỉ so sánh thôi mà, đâu nhất thiết phải +/- 10v nhỉ.
=>Differential Reference Input (±10 V Operating Range, ±15 V Maximum Input)
Hế nhô các cụ,
Em đang dụ dỗ được 3 bộ brushless servo gồm servo + controller. Con servo có encoder, còn controller thì có thể điều khiển torque, tốc độ & chiều quay nhưng ko điều khiển được vị trí. Thông tin em nó ở đây: http://www.a-m-c.com/download/datasheet/b15a8.pdf
Cơ bản là để điều khiển em nó thì em cần điều khiển Ref+, Ref- của bên controller. Ref từ -10v đến 10v. Ref+ < Ref- thì quay chiếu này, Ref+<Ref- thì quay ngược lại. Duty cycle có thể dùng để điều chỉnh tốc độ. Vol thì em đoán là dùng để kiểm soát torque.
Em đã độ lại, để em nó chạy như servo, bằng cách điều khiển 2 line, y như pp dùng cho DC servo
http://forum.cncprovn.com/threads/21...ll=1#post23211
Vấn đề kẹt là con Cortex M3 thì đầu ra chỉ có 3.3v trong khi đó driver thì chạy 10v mới full torque. Mà nói gì thì nói chứ truyền 3.3v 30kHz chính xác qua khoảng cách 2m-3m em cũng ko an tâm tí nào. Do đó em đang tính độ lại để PWM bằng +-10v. Như vậy em nghĩ có 2 pp:
* Phương pháp 1:
Nối Ref- vào 0v, điều khiển Ref+ từ -10v -> 10v. Đây có lẽ là pp mà máy cnc em gỡ ra.
* Phương pháp 2:
Bật tắt Ref- và Ref+ với 10v, 0v
Em tính dùng pp1, nếu vậy thì từ 3.3v, Ref+ switch 3 nấc: -10v, 0v, 10v. Mình switch bằng cách nào?
Lần sửa cuối bởi Gamo, ngày 01-08-2015 lúc 09:13:08 PM.
sao thấy cụ mô tả phức tạp quá, em thấy nó chỉ so sánh thôi mà, đâu nhất thiết phải +/- 10v nhỉ.
=>Differential Reference Input (±10 V Operating Range, ±15 V Maximum Input)
3 bộ ấy cho thuê nhé , ế đừng nói là nguyên cái controller mày đem về luôn rồi nhé ??? mà thôi nghiên cứu thành công trả lại cho tao thì ok.
Nguyễn Hoàng Nam
n_h_n2002@yahoo.com DT: 0908415648
3.3V thì dùng opamp mà chuyển thành +-10V vô tư mà.
DT: O7837277II - CKD's Youtube Channel - Facebook - Tổng hợp chủ đề
17 ds 3, Thạnh Mỹ Lợi, Q2, tp.HCM
Up cái phim lên để dễ tám
Lần sửa cuối bởi Gamo, ngày 01-08-2015 lúc 10:39:42 PM.
Đúng rồi , phải dùng DAC để có analog điều khiển , sử dụng các IC convert , hoặc biến trở số cũng được .
Thì từ 0-3.3V -> offset -> amp -> +-10V là xong.
Đương nhiên phải có nguồn +-10V (tốt nhất là +-12V)
Mà mới alo bảo chạy rồi là chạy thế này đó à? Híc híc.. chém vãi.
Chạy kiểu ấy thì CKD dùng arduino cũng xơi được. Mấy con ARM chết nhục mất thôi. Hí hí hí
DT: O7837277II - CKD's Youtube Channel - Facebook - Tổng hợp chủ đề
17 ds 3, Thạnh Mỹ Lợi, Q2, tp.HCM
Hehe, nhiều chuyện quá, thế là đủ để chạy rồi. Còn thứ gì nữa nói ra để tau làm luôn
Ủa, mà ngoài pp dùng opamp + DAC thì có cách nào đơn giản switch 3 hiệu điện thế +10v, 0v, -10v hơn ko? (giả sử là đã có nguồn rồi)
Lần sửa cuối bởi Gamo, ngày 01-08-2015 lúc 11:47:10 PM.
Cơ bản thì nếu control không tuyến tính hoặc gần tuyến tính thì khó mà thành công.
Vì chạy thì không sao.. khi dừng lại thì thế nào? Dừng không tải khác xa với dừng có tải à.
Không dùng DAC thì dùng r2r, cùng lắm thì PWM dùng tạm. Opamp là phải có rồi.
Mà arm có DAC thì mắc gì mà không dùng nhỉ.
DT: O7837277II - CKD's Youtube Channel - Facebook - Tổng hợp chủ đề
17 ds 3, Thạnh Mỹ Lợi, Q2, tp.HCM
STM32 có DAC 12bit ah . Nếu bí quá thì dùng 2 pwm qua opamp để +-10v giống như tacho số vậy + thêm cái mạch chỉnh offset để điều chỉnh vị trí 0V , nhớ phải lọc thông thấp thật tốt , ko thì nó ripple tưng đít .
Lần sửa cuối bởi LEDUC, ngày 02-08-2015 lúc 08:58:57 AM.
Hehe, chuyện tuyến tính ko phải lo. Đúng là chạy kiểu này nó giật bể máy luôn.
Chưa xong board nên test tạm. Để chốt rồi sẽ biểu diễn S-Curve. Arduino sao bằng ARM được, hohoho....
Rất tiếc là dòng M3 high density mới có DAC, dòng thường chỉ có ADC >.<
Đám em hay dùng là STM32F103C8T6 thì ko có DAC cụ ui >.< Có con F4 thì đang để trên bàn thờ
Cái driver này nó ghi là control bằng duty cycle, vẫn chưa hiểu bên trong nó kiểm soát ra sao nữa >.<
Thanks bác! Đó là nguyên nhân vì sao em ko thích dùng DAC với Opamp vì phức tạp mà khả năng bị ripple cao >.<
Có khả năng phải chơi cho nó 1 cái H-Bridge ko ta? Phí đạn quá >.<
Lần sửa cuối bởi Gamo, ngày 02-08-2015 lúc 10:23:00 AM.
drive analog, dùng opam tao xung tam giác, rồi một số mạch logic để xác định trạng thái uvw , PI bằng opam > tạo ra áp, đem áp đó đua vào so sánh với xung tam giác <> pwm
ec. Có 2 cách cho Gamo chọn :
C1 : analog . tạo ra nguồn tham chiếu +-10v . cái này dùng những IC convert từ digital ra analog . Cái này ở ngoài bán nhiều 8bit digital -> +-10v , hoặc 10bit hoặc 12 bit .
C2 : có thể dùng 2 pwm để tạo ra +-10v đối xứng thông qua mạch opamp vi sai đối xứng + lọc thông thấp . Nhưng nhược điểm pwm sau khi lọc thông thấp cũng còn bị nhấp nhô không tuyến tính lắm . Còn mạch chỉnh offset thì hiển nhiên phải có để điều chỉnh điểm Zero .
Cụ thể 2x(0-3.3V) -> difference amplifier -> offset -> +-10V . Thường ngõ vào điều khiển analog chỉ lấy áp tham chiếu nên ko phải lo về chuyện công suất . chỉ cần tuyến tính là được .
Sử dụng cầu H thì cũng như C2 thôi , ko có ưu điểm gì mà còn ngược lại là khác , mà cũng ko ai làm ngược vậy đâu .
Kết luận tốt nhất là nên dùng IC convert digital to analog là . IC này thì bán đầy ngoài chợ , mua về là thịt thôi .
Dòng ARM cortex M3 thì con F1 đã có 2 DAC 12bit rồi . Cụ thể là con STM32F100x . Gamo dowload datasheet về mà xem .Đám em hay dùng là STM32F103C8T6 thì ko có DAC cụ ui >.< Có con F4 thì đang để trên bàn thờ
Cái driver này nó ghi là control bằng duty cycle, vẫn chưa hiểu bên trong nó kiểm soát ra sao nữa >.<
Nếu dùng duty cycle để điều khiển nghĩa là bên trong driver sẽ có 2 capture để đọc xung pwm tính toán Ton để điều khiển .
Lần sửa cuối bởi LEDUC, ngày 02-08-2015 lúc 11:58:04 AM.