Các bạn cùng tham gia thảo luận nhé.
Thân chào
Các bạn cùng tham gia thảo luận nhé.
Thân chào
HSC dùng để đếm các sự kiện tốc độ cao mà không phụ thuộc chu kỳ quét trong PLC và có tương ứng 12 mode hoạt động khác nhau. Tần số đếm lớn nhất của HSC phụ thuộc vào loại CPU, có thể đạt tối đa 30 kHz.
Mỗi counter có các ngõ vào xác định hỗ trợ các chức năng: xung Clock, hướng điều khiển, reset, và start. Trong chế độ đếm 2 pha, cả hai xung clock có thể hoạt động ở tốc độ lớn nhất. Còn trong chế độ một phần tư (quadrature), thì tùy ý chọn hoạt động theo kiểu 1x hoặc 4x. Tất cả các counter hoạt động ở tốc độ lớn nhất khi không giao tiếp với các hoạt động khác.
HSC sử dụng một shaft encoder để xác định số xung trên một vòng quay và reset số xung đó trên một vòng quay. Số xung clock và xung reset từ shaft encoder cung cấp đến các ngõ vào của HSC. Đặt giá trị đếm xung tương ứng PV, khi số xung hoạt động CV bằng với PV thì xảy ra ngắt, một giá trị đặt PV mới sẽ được setup.
Sơ đồ sau trình bày các chức năng của mỗi counter tùy thuộc vào MODE
Lần sửa cuối bởi tran_hieu0983, ngày 03-12-2011 lúc 06:47 PM.
Khi muốn khai báo HSC cần khai báo các thông số sau đây:
Mode HSC nào?
Địa chỉ HSC?
Byte điều khiển?
Byte trạng thái?..
Mình sẽ thông tin chi tiết tài liệu mình có nếu các bạn cần.
Thân chào
Lần sửa cuối bởi tran_hieu0983, ngày 03-12-2011 lúc 06:51 PM.
Để điều khiển tốc độ động cơ là bạn dùng chế độ phát xung tốc độ cao chứ không phải đếm đâu. Trong PLC 200 hỗ trợ phát xung PTO và PWM tích hợp sẵn luôn. Và con mình hay sử dụng đó là loại CPU224, nên mua loại DC/DC/DC vì loại này phát xung tốc độ cao mới đc. Ngõ ra Transistor thì phát mới được chứ Relay mà phát xung là die ngõ ngay tức khắc.
Chúc bạn thành công
Muốn lấy số xung trong khoảng 10ms thì cứ sau mỗi 10ms thì bạn cho ngắt thực hiện lấy mẫu về để coi số xung được được là bao nhiêu rồi quy đổi bình thường ra thôi mà.
Khi nhảy vào chương trình ngắt thì chương trình ngắt sẽ thực hiện với chức năng của mình.
Còn quy đổi số xung đọc được ra động cơ thì làm sao?
Ví dụ: Encoder của bạn là 360 xung/ vòng
bạn đọc được bao nhiêu xung/1s hay trên 10ms như bạn làm
rồi thì bạn lấy số xung đọc được chia cho 360 xung/vòng thì ra số vòng/s. Tới đây chính là tốc độ động cơ.
http://www.mediafire.com/?44lxl9xxckct5k1 đây là đoạn chương trình tiểu luận tốt nghiệp đo tốc độ động cơ mình dùng excell để điều khiển hiệu chỉnh và hiển thị tốc độ trên micrsoft excell bạn tham khảo , chúc thành công
Lần sửa cuối bởi cho&nhan, ngày 04-02-2011 lúc 12:21 PM.
Ai có cách lắp đặt cái cái encoder vào trục động cơ chỉ dùm với ?
bạn có thể mang đến tiệm cơ khí nhờ họ làm.
Pác Hiếu không hiểu đúng câu trả lời rồi, người ta hỏi cách tính vận tốc từ số xung mà, có động chạm gì tới điều khiển đâu nà.
@ phamdanghong : gọi X là số xung của 1 vòng quay, đặt một timer T1 ( ko cần phải dùng ngắt, khi nào bật timer thì tính). khi timer on , nếu bắt được Y xung thì vận tốc là : v=60.k.Y/(T1.X)(vòng/phút), k= 1 phút/T1. bạn lập trình 1 đoạn tính công thức trên và cho tính khi timer on và reset timer sau khi tính xong. vậy là dc
@Hieu: Pac hiếu từ ngày "lên" làm thầy ->mất tích luôn không thấy họp lớp nhỉ !!!
Lần sửa cuối bởi nhiepphong1, ngày 04-03-2011 lúc 01:03 AM.
Dùng High speed counter đo tốc độ động cơ mà không dùng ngắt thì ko thể chính xác được:
Giả sử trong 1 khoảng thời gian T phút (thời gian lấy mẫu ) encoder đếm được X xung
Sau T phút thì gọi chương trình ngắt ( ngắt định thời )
Vậy trong khoảng thời gian lấy mẫu T phút thì động cơ quay được X/Y vòng ( Y là số xung encoder/vòng )
suy ra số tốc độ là : N= X/(Y*T) vòng/ phút
Đánh dấu