![]() |
|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
![]() |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#1 |
Đệ tử 1 túi
Tham gia ngày: Jul 2009
Bài gửi: 17
: |
Điều khiển PID 2 động cơ
Cho em hỏi để điều khiển 2 PID động cơ thì làm cách nào nhỉ. Em xài còn PIC6F877A
Hiện tại em có 2 hướng giải quyết: Cách 1: Em dùng 1 mạch để đều khiển PID cùng lúc 2 động cơ. Mà kẹt cái con này chỉ có 1 ngắt ngoài để đếm xung à. Còn đếm xung bằng Timer0 thì em có thử làm rồi, nhưng nó đếm không chính xác. Cách 2: Em tính dùng 2 mạch để điều khiển 2 động cơ nhưng làm như thế thì giao tiếp cổng COM như thế nào nhỉ, vì cần tới 2 cổng COM lận. Mọi người góp ý cho em nhé. |
![]() |
![]() |
![]() |
#2 |
Đệ tử 4 túi
Tham gia ngày: May 2009
Bài gửi: 74
: |
Điều khiển PID động cơ:
mình thấy thế này c1: bạn nên dùng timer để đếm xung ecoder thì hay hơn, không phải nó không chính xác đâu bạn ah,nếu bạn tính toán hợp lý,trừ đi các vòng lặp,thời gian câu lệnh thì rất chính xác đó ,nó tối ưu hơn dùng ngắt còn nếu bạn dùng ngắt với ecoder có số xung lớn thì chương trình của bạn sẽ liên tục nhảy đến ngắt nên o tốt, - còn nếu bạn dùng ngắt thì 16f877 không chỉ có 1 ngắt ngoài đâu. nó còn có ngắt ngoài RB bạn có thể sử dụng như ngắt INT. nhưng nếu sử dụng 2 ngắt như vậy thì bạn đếm xung dc từ 2 ecoder nhưng nếu 1 thời điểm mà có 2 ngắt đều xẩy ra thì sao? khi đó bạn cần ưu tiên ngắt nên sẽ dẫn tới thiếu chính xác ,nếu mức độ dk bình thường thì sai số đó tạm chấp nhận dc . với lại pic của bạn cơ bản luôn ở trong ct ngắt,nên ct chính main của bạn o làm dc gì cả - bạn nên dùng pic 18f có timer0,1,2,3 bạn sử dụng 1 timer để tạo ngắt thời gian,còn các timer 16bit khác để đếm xung và có các bộ power pwm để dk đông cơ cách 2 của bạn: không cần dùng 2 mạch để dk nhưng nếu bạn muốn bạn hoàn toàn có thể truyền nhân dữ liệu cổng com cho nhiều pic : đó là bạn giao tiếp pic ở chế độ master-slave khi đó master giao tiếp với com. hoắc 1 vdk vừa nhận vừa truyền data nhận cho vdk khác và vừa thực hiện lênh PID mình cũng không hiểu lắm về nó . mình đang định làm về nó.bạn đã làm với 1 động cơ thì có thể nói rõ hơn cách điều khiển nó không? bây giờ mình có tốc độ đặt a,tốc đọ phản hồi từ ecoder b, duty ứng với tốc độ đặt trước c vậy mình muốn điều khiển ổn định tốc đôh cho động cơ thì mình làm thế nào từ các tham số mình có để tìm ra các hệ số Ki,Kp,Kd? thanks! |
![]() |
![]() |
![]() |
#3 | |
Đệ tử 1 túi
Tham gia ngày: Jul 2009
Bài gửi: 17
: |
Trích:
Còn hệ số PID thì theo mình biết là làm thí nghiệm nhiều lần đề mò ra theo phương pháp nào đó, chứ không có cách nào tìm ra chính xác hệ số PID cả |
|
![]() |
![]() |
![]() |
#4 |
Đệ tử 5 túi
Tham gia ngày: Jan 2008
Bài gửi: 97
: |
Pid
nếu bạn muốn dùng động cơ dc không chổi quét (brushless dc Motor) thay cho động cơ dc chổi quét thì phone cho minh.
tên mình Bảo Huy. phone:0906745086 |
![]() |
![]() |
![]() |
#5 |
Nhập môn đệ tử
Tham gia ngày: May 2008
Bài gửi: 3
: |
minh đang làm đề tài dùng 18f4431 để điều khiển động cơ đc dùng bộ điều khiên pid và giao tiếp với máy tính. xin được giúp đỡ tài liều và hướng dẫn. xin chia sẻ tài liệu qua mail. ducvm2512@yahoo. trân thành cảm ơn mọi sự giúp đỡ
thay đổi nội dung bởi: minhduc_bn, 27-02-2011 lúc 10:09 PM. |
![]() |
![]() |
![]() |
#6 |
Đệ tử 1 túi
Tham gia ngày: Mar 2011
Bài gửi: 13
: |
|
![]() |
![]() |
![]() |
#7 | |
Đệ tử 1 túi
Tham gia ngày: Apr 2011
Bài gửi: 15
: |
Trích:
|
|
![]() |
![]() |
![]() |
#8 | |
Đệ tử 1 túi
Tham gia ngày: Apr 2011
Bài gửi: 15
: |
reply
Trích:
mỗi con đọc encoder và điều khiển một động cơ |
|
![]() |
![]() |
![]() |
|
|