PDA

View Full Version : cho em hỏi về QEI


han_nang_008
21-01-2009, 04:39 PM
các bác cho em hỏi, em đã cấu hình cho module QEI đọc được số xung ok rồi, nhugn chỉ đuọc 1 chiều, khi quay ngc động cơ lại theo chiều kia thì con 30F4011 bị reset, bác nào chỉ em cách đọc dc số xung theo 2 chiều với

namqn
21-01-2009, 05:11 PM
các bác cho em hỏi, em đã cấu hình cho module QEI đọc được số xung ok rồi, nhugn chỉ đuọc 1 chiều, khi quay ngc động cơ lại theo chiều kia thì con 30F4011 bị reset, bác nào chỉ em cách đọc dc số xung theo 2 chiều với
Bạn đổi chiều động cơ ra sao? Có thể là vấn đề liên quan đến mạch động lực và nguồn của dsPIC, chứ không phải vấn đề đọc xung vào QEI (QEI hỗ trợ đọc cả hai chiều quay của động cơ).

Thân,

han_nang_008
21-01-2009, 06:01 PM
em chưa dùng j đến mạch lưc cả, em chỉ xoay tay ko thôi xoay dcow quay trai thì đọc số xung ok, xoay ngc lại thì vdk bị reset, em thay 2 con vdk đều bị thế, để đọc dc cả 2 ch thì mình phải cấu hình như nào hả bác, bit nào cho phép đoc cả 2 chiều

namqn
21-01-2009, 06:45 PM
em chưa dùng j đến mạch lưc cả, em chỉ xoay tay ko thôi xoay dcow quay trai thì đọc số xung ok, xoay ngc lại thì vdk bị reset, em thay 2 con vdk đều bị thế, để đọc dc cả 2 ch thì mình phải cấu hình như nào hả bác, bit nào cho phép đoc cả 2 chiều
Nếu bạn dùng động cơ DC nhỏ, chúng thường dùng nam châm vĩnh cửu cho mạch kích từ. Khi bạn quay trục động cơ của động cơ thì nó sẽ làm việc như máy phát, tức là sẽ sinh ra điện áp ở hai đầu cực của động cơ. Điện áp này có thể gây nhiễu đến các mạch điện gần nó, một cách trực tiếp hay gián tiếp. Do đó, câu hỏi là "Bạn nối các đầu dây của động cơ đến đâu?"

Mạch nguồn cho dsPIC của bạn ra sao? Bạn gặp một vấn đề thực tế mà không hề đưa ra sơ đồ, hay mô tả mạch thử nghiệm, nên sẽ rất khó khăn cho những người muốn giúp bạn.

Về QEI, bạn đọc mục 16.4.1 của tài liệu "dsPIC30F Family Reference Manual" để thấy rằng mạch logic của QEI sử dụng các cạnh của hai kênh A và B để phát hiện chiều quay cũng như việc đổi chiều. Bit UPDN của thanh ghi QEICON cho biết chiều quay (tương ứng là chiều đếm) hiện thời của động cơ. Module QEI có sẵn khả năng xác định chiều quay và cập nhật số đếm một cách tương ứng, không cần phải cấu hình gì cả.

Thân,

han_nang_008
21-01-2009, 10:00 PM
em chỉ có cắm phần encoder của động cơ vào thôi, còn chưa cấp nguồn cho đọng cơ, em đã tìm được ra nguyên nhân bi reset rồi.
Em hỏi thêm bác là em chọn chế đọ reset POSCNT khi nó băng giá trị MAXCNT, em cho MAXCNT =10000,
nếu em lấy tay quay thuận trục đọng cơ thì giá trị POSCNT tăng lên từ 0 lên 10000,
còn em quay ngc động cơ thì POSCNT giảm từ 10000 xuống 0
Em muốn bây h khi em quay thuận hay ngc đọng cơ thì POSCNT đều tăng lên từ 0, như thế module QEI có hỗ trợ ko, hay mình phải biết code để giải quyết vần đề này, nếu phải viết code thì em giải quyết như này liệu có ổn ko, kiểm tra bit UPDN,
giả sư UPDN =1 thì đọng cơ quay thuận, nếu UPDN = 0 thì SWPAB =1 để quay lại thứ tự pha A,B.
Thanks a nhiều

namqn
21-01-2009, 11:32 PM
...
Em muốn bây h khi em quay thuận hay ngc đọng cơ thì POSCNT đều tăng lên từ 0, như thế module QEI có hỗ trợ ko, hay mình phải biết code để giải quyết vần đề này, nếu phải viết code thì em giải quyết như này liệu có ổn ko, kiểm tra bit UPDN,
giả sư UPDN =1 thì đọng cơ quay thuận, nếu UPDN = 0 thì SWPAB =1 để quay lại thứ tự pha A,B.
Thanks a nhiều
Tôi không hiểu lý do khiến bạn muốn làm việc này. Tại sao cần phải làm như vậy?

Số đếm POSCNT giữ thông tin vị trí, nếu bạn muốn POSCNT tăng lên bất chấp chiều quay, vậy ý nghĩa của số đếm này là gì?

Thân,

han_nang_008
21-01-2009, 11:37 PM
em làm như vậy để đo tốc độ khi quay thuận, và ngược, nếu quay thuận thì POSCNT sẽ tăng lên, con quay ngc thì nó sẽ giảm đi, như vậy khi qua ngc mình lấy số xung là MAXCNT - POSCNT cũng dc bác nhỉ

mtuankct
03-03-2009, 07:24 PM
theo mình biết thì có 2 cách đo tốc độ động cơ, 1 cách là đếm số xung, cách còn lại là do độ rộng xung encoder với các encoder có độ phân giải thấp, các vạch chia đều thì theo mình dùng cách đo độ rộng xung chính xác hơn