LabVIEW Vietnam

cancel
Showing results for 
Search instead for 
Did you mean: 

Đếm tín hiệu xung của myRIO trong Labview

Chào mọi người! Em có thắc mắc mong mọi người giúp đỡ trong Labview.
1. Tình hình là em tạo máy phát xung khoảng 100us(micro giây), tạo code để đọc xung này trên myRIO nhưng khi cho xung vào thì có lúc nó đếm có lúc không đếm, em không biết myRIO xử lí chậm hay do code em sai. Nếu sai mong mọi người chỉ bảo cho em ạ !
2. Cách tạo xung chỉ đếm cạnh lên khi có xung vào cỡ 100us trên myRIO.
Em cảm ơn mọi người !

Download All
0 Kudos
Message 1 of 20
(15,802 Views)

Chào mrteo167,

Mình xin phép được góp ý như sau.

1. Mình chưa thử code của bạn với NI myRIO nhưng logic của bạn cho thấy là bạn đang đếm cạnh xuống chứ không phải đếm cạnh lên. Nhưng mà không sao. Trong trường hợp này đếm cạnh lên cũng tương tự như đếm cạnh xuống.

Bạn có thể thử dùng hàm "Get Date/Time In Seconds" để tính xem thử tốc độ vòng lặp này chạy trên NI myRIO là bao nhiêu? (Bằng cách dùng hàm này ở trong 2 chu kỳ lặp liên tiếp n và n+1. Sau đó lấy T(n+1) - T(n) để tính tốc độ vòng lặp).

Bạn xem ví dụ đính kèm.

Bạn cần đếm xung 100 us (10kHz) thì tốc độ vòng lặp của bạn ít nhất phải là 20kHz.

Đối với những bài toán đếm xung tốc độ cao như thế này, thông thường mình sẽ lập trình trên FPGA vì FPGA sẽ cho mình tốc độ cao hơn và độ tin tưởng tốt hơn so với processor.

2. Bạn có thể diễn đạt ý của bạn rõ hơn không? Bạn muốn tạo xung hay bạn muốn đếm xung? Có phải là bạn muốn đếm xung theo yêu cầu: chỉ xung nào có độ rộng (khoảng cách từ cạnh lên đến cạnh xuống) lớn hơn 100us mới đếm. Còn xung nào hẹp hơn 100us thì không được đếm. Ý của bạn có đúng vậy không?

0 Kudos
Message 2 of 20
(11,158 Views)

sao không dùng khối encoder

0 Kudos
Message 3 of 20
(11,159 Views)

Chào bạn vinh155,

Đúng là khối encoder có thể đọc xung quadrature encoder lên đến 100kHz. Tuy nhiên, hôm trước mình có thử. Nó yêu cầu phải có cả 2 xung A và B mới đếm. Nếu chỉ đưa vào xung A hoặc xung B thì nó không đếm. Mình vẫn chưa tìm được cách nào khắc phục được việc này. Vì thế, mình lập trình lại trên FPGA.

0 Kudos
Message 4 of 20
(11,159 Views)

hôm trước mình đã dùng được khối encoder để đếm xung. mình chỉ dùng 1 pha của encoder đưa vào chân C\DIO2 của khối enc trong myRIO. trong khối enc mình chọn vào mục step ở bên dưới là đếm ok lun

0 Kudos
Message 5 of 20
(11,159 Views)

Chào bạn vinh155,

Cám ơn bạn rất nhiều. Đúng như bạn nói, khi dùng hàm encoder và đặt ở chế độ "Step and direction signals" thì mình có thể đọc được. Chú ý rằng, xung phải được nối vào chân dành cho Step signal.

Ví dụ, nếu dùng Encoder 0 trên connector C, thì tín hiệu Step nằm ở chân DIO2. Khi đó, xung của mình phải nối vào DIO2 mới đọc được.

Xem hình bên dưới để rõ hơn.

Cám ơn bạn vinh155 nhiều.

NI myRIO Encoder.PNG

Message 6 of 20
(11,159 Views)

Tuyệt vời! Đây là thứ em cần.
Tiện đây cho em hỏi là còn tín hiệu kiểu analog thì sao ạ. Vì encoder chỉ đọc tín hiệu digital.

Cảm ơn 2 anh vinh155 và qpham nhiều.

Message 7 of 20
(11,159 Views)

mình đang tìm cách sử dụng khối ENC kết hợp với PID trong myRIO để điều khiển tốc độ động cơ DC 24v theo ý muốn, có thể đặt yêu cầu theo điện áp ra hoặc theo số vòng quay.Tốc độ của động cơ này thay đổi nhanh chậm tùy theo tín hiệu điện áp 0-5v xuất ra qua ngõ ra analog sau đó đưa qua 1 cái bo mạch công suất để điều khiển động cơ này. có bạn nào biết thì hỗ trợ với

Message 8 of 20
(11,159 Views)

em đang  tìm hiểu  pid  ah anh  ! hien tai em co the tìm  được các thong số kp ki kp  của 1 động cơ  băng mô phỏng nhưng khi  minh thay đổi điện áp  áp đầu vào  thì như vậy  kp ki kd  sẽ biến đổi ? em đang tìm hiểu đẻ có thể làm được việc đó?   anh có tìm hiểu vấn đề này không ah? nếu có anh có thể cho em tham gia hô trợ anh được không ?"  thank anh

0 Kudos
Message 9 of 20
(11,159 Views)

Chào bạn Vinh155,

mình nghĩ là bạn có thể dùng khối ENC để đọc về giá trị vận tốc động cơ về, sau đó lấy giá trị vận tốc đọc được đem đi điều khiển với khối PID, kết quả sau khối PID thì bạn dùng khối analog output xuất điện áp từ 0-5V để điều khiển động cơ.

0 Kudos
Message 10 of 20
(11,159 Views)