PDA

View Full Version : Điều khiển đồng thời 5 động cơ bước


dinosaur12a1
29-08-2008, 03:51 PM
Chào các bạn trong diễn đàn
Mình đang có một ứng dụng cần phải điều khiển được đồng thời vị trí của 5 động cơ bước theo thời gian. Cụ thể là có 5 bảng dữ liệu thể hiện tổng số xung cần cấp theo thời gian. ở thời gian ti cần phải cấp tổng số xung đên thời điểm đó là qi. Và vấn đề là tốc độ của 5 động cơ thay đổi liên tục và khác nhau ( Điều khiển Trajectory). Như vậy chu kỳ của xung cũng thay đổi liên tục
Mình không cần phải điều khiển ở chế độ vi bước mà chỉ cần điều khiển theo chế độ nửa bước. nhưng chu kỳ xung cần phải thay đổi được trong một gia số thời gian cho trước. Mình có một số câu hỏi xin các anh và các bạn trong diễn đàn giúp đỡ
1. Nếu với yêu cầu trên, có phải là cần có một con PIC có tới 5 nguồn tạo xung PWM độc lập. Như vậy mình cần phải chọn con PIC nào. ( Một số như 18F4431 chỉ có 4 nguồn).
2. Nều không có con PIC nào thì liệu có thể dùng một giải pháp nào khác ( 5 động cơ cần phải điều khiển động bộ). ví dụ như dùng truyền thông từ main đến các slaver. Mình không có kiến thức tốt về truyền thông nên không biết, nêu như vậy có khả năng đồng bộ 5 động cơ hay không
Thanks for your attention

thaovma
29-08-2008, 05:05 PM
Chào các bạn trong diễn đàn
Mình đang có một ứng dụng cần phải điều khiển được đồng thời vị trí của 5 động cơ bước theo thời gian. Cụ thể là có 5 bảng dữ liệu thể hiện tổng số xung cần cấp theo thời gian. ở thời gian ti cần phải cấp tổng số xung đên thời điểm đó là qi. Và vấn đề là tốc độ của 5 động cơ thay đổi liên tục và khác nhau ( Điều khiển Trajectory). Như vậy chu kỳ của xung cũng thay đổi liên tục
Mình không cần phải điều khiển ở chế độ vi bước mà chỉ cần điều khiển theo chế độ nửa bước. nhưng chu kỳ xung cần phải thay đổi được trong một gia số thời gian cho trước. Mình có một số câu hỏi xin các anh và các bạn trong diễn đàn giúp đỡ
1. Nếu với yêu cầu trên, có phải là cần có một con PIC có tới 5 nguồn tạo xung PWM độc lập. Như vậy mình cần phải chọn con PIC nào. ( Một số như 18F4431 chỉ có 4 nguồn).
2. Nều không có con PIC nào thì liệu có thể dùng một giải pháp nào khác ( 5 động cơ cần phải điều khiển động bộ). ví dụ như dùng truyền thông từ main đến các slaver. Mình không có kiến thức tốt về truyền thông nên không biết, nêu như vậy có khả năng đồng bộ 5 động cơ hay không
Thanks for your attention

Để thay được tốc độ của động cơ step, nghĩa là bạn phải thay đổi tần số của xung xuất ra, chứ không phải là thay đổi độ rộng xung, vì vậy, theo mình, bạn có thể sử dụng mô đun CCP hoạt động ở chế độ PWM để điều khiển tốc độ và vị trí của các động cơ, tuy nhiên, bạn không thể tìm được 1 con PIC nào mà có 5 mô đun CCP có thể tạo xung ở tần số độc lập. Nên theo mình, về giải pháp phần cứng ở đây, bạn phải xây dụng mạng điều khiển thì mới đáp ứng được yêu cầu của bạn.

dinosaur12a1
30-08-2008, 03:45 PM
Vấn đề ở đây là theo bạn mình nên chọn giao thức nào, và liệu có khả năng đồng bộ được nguồn xung nhịp giữa main và slaver không ?
Cảm ơn

0509592
31-08-2008, 01:44 AM
đúng vậy!
chỉ cần một pwm bạn có thể điều khiển được n động cơ!
vấn đề là bạn cần điều khiển 5 động đồng bộ xung nhịp thì chỉ cần xây dựng phần cứng điều khiển đồng thời cả 5 động cơ là được !

thaovma
31-08-2008, 03:52 PM
Vấn đề ở đây là theo bạn mình nên chọn giao thức nào, và liệu có khả năng đồng bộ được nguồn xung nhịp giữa main và slaver không ?
Cảm ơn
Về phần mạng, bạn có thể chọn UART, hoặc I2C cho việc giao tiếp, xây dụng 5 mô đun điều khiển động cơ step, và 5 mô đun này được điều khiển bởi 1 master.
Mình chưa hiểu rõ lắm về ý của bạn, " đồng bộ được nguồn xung nhịp giữa main và slave" là gì? Chắc chắn rằng trong quá trình giao tiếp giữa master và slave sẽ có thời gian trễ, nhưng bạn cần tính toán để sao cho thời gian trễ là nhỏ nhất.

thaovma
31-08-2008, 04:00 PM
đúng vậy!
chỉ cần một pwm bạn có thể điều khiển được n động cơ!
vấn đề là bạn cần điều khiển 5 động đồng bộ xung nhịp thì chỉ cần xây dựng phần cứng điều khiển đồng thời cả 5 động cơ là được !
Vấn đề bạn đang muốn đề cập đến là gì, " chỉ cần một Pwm có thể điều khiển được n động cơ " mình chưa hiểu rõ lắm. Như mình đã nói trong các bài truớc, thì để điều khiển các động cơ buớc độc lập, chạy ở tốc độ khác nhau, thì chúng ta ko thể gọi là sử dụng PWM, vì PWM là điều chế độ rộng xung, còn để điều khiển tốc độ step thì chúng ta phải thay đổi tần số xung. Mà ở đây chúng ta tận dụng các mô đun CCP- có thể tạo các tần số khác nhau để điều khiển động cơ bước.

Anhcdt
04-09-2008, 09:59 AM
Tôi đang cầm mua pic18f4685 và pic18F4331 ai biết wed nào xin chỉ giáo. Cảm ơn.

dinosaur12a1
17-09-2008, 04:36 PM
Đúng là chỉ cần một nguồn xung PWM có thể điều khiển được nhiều động cơ. Tuy nhiên là mình cần phải có cycle time thay đổi liên tục và khác nhau cho cả 5 động cơ này. Cám ơn bạn thaovma, mình cũng đã tham khao một số tải liệu về I2C, theo mình thì chỉ cần 2 slaver là đủ, vì một con PIC tối đa có 4 nguôn rồi. Trong ứng dụng của mình để tính được giá trị tham khảo xuất xuống slavers cũng khá phức tạp và tốn thời gian. Nếu coi như slavers và master đều dùng chung một nguồn xung thì khi đó khi truyền dữ liệu từ master xuống slave với khoảng thời gian tính toán ở trên là giống nhau cho cả master và slave nhưng khi dùng hai nguồn xung ngoài cho hai mạch này thi chúng sai số có đáng kể hay không ?

lion
17-09-2008, 09:04 PM
ở đây có bán PIC18F4431 / 4331 nè

http://ic-vn.com/modules.php?name=Products&op=viewproduct&cid=19

2518
02-01-2010, 03:04 PM
bac nào có mạch phâà cứng điều khiển động cơ buớc post lên cho mọi nguời xem với!!!thank

nhatson.elec
02-01-2010, 06:39 PM
em vote cho viêc điều khiển theo mạng, có thể xây dựng bộ điều khiển motor bước chạy theo dữ liệu từ mạng, hoặc 1 thiết bị điều khiển motor bước qua mạng ( nhận dữ liệu từ mạng, tạo xung step dir)



b.r