Thông báo

Collapse
No announcement yet.

Mạch đo tần số điện lưới dùng MCU

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • thaithutrang
    replied
    Hihi... cách của em là nhất rồi.
    Cách của anh có phải đếm số xung trong 1s không?vậy sai số là 1% chứ ko phải là 0.1% đâu..hihi..

    Leave a comment:


  • trungkt
    replied
    Theo tui thì thế này , đo trực tiếp tần số 50Hz thì dễ sai số lớn lắm , chi bằng ta làm thêm 1 mạch nhân tần (VD nhân lên 100 lần), sau đó sẽ đo tần số này. Nếu 1s lấy mẫu 1 lần thì sai số cũng chỉ 0.01% .

    Leave a comment:


  • thaithutrang
    replied
    Nguyên văn bởi www9van
    Độ chính xác sau 2 dấu phẩy, tức 0.01%. T lấy mẫu ko cần nhanh, khoảng 10 chu kỳ tần số lứoi lấy 1 lần là được tức là T= 10*1/50 = 0,2s hay nói cách khác là khoảng 5 lần/s. Mạch chạy 24/24 ko ngừng nghỉ
    Nếu cái này dùng PIC thì quá tuyệt, anh sử dụng module capture hệ số *16 của PIC. Vậy tốc độ sẽ là 8 chu kỳ điện lưới. Anh làm như sau:
    Khởi tạo:
    {
    cho phép ngắt T1;
    cho phép ngắt Capture hệ số 16.
    }


    Ngắt T1:
    {
    i++;
    }


    Ngắt capture
    {
    T1L=0;//Tốt nhất =20 để tránh sai số khi vào ngắt(nên khảo sát thực tế thông số này)
    T1H=0;
    Tổng thời gian=i*65536+value_capture;//8chu kỳ điện lưới
    i=0;
    }

    Sai số có thể đến: 0.2 uS/(8*20ms)=0.2/160.000=0.000125 %.
    Hihi... quá nhỏ nhỉ?

    Leave a comment:


  • thaithutrang
    replied
    Nguyên văn bởi daihang86
    Các bạn nêu ra những phương án ở trên chỉ dùng 1 trong tần số cao hoặc tần số thấp . Thế bác nào đã nghỉ ra cách cho con vi sử lí nó tự động chọn 1 trong những cách trên để đo tần số từ nhỏ đến lớn chưa ?Tôi thấy trong các thiết bị đo lường bây giờ đều làm được vậy. Ai làm nhiều đo lường mong được chỉ giáo
    Những cái đó chỉ là những cái cơ bản, bạn đọc chế độ capture/compare/cuonter của uC là sẽ giải quyết được. Bạn nên mở 1 luồng khác, tớ có thời gian sẽ chỉ cho bạn.
    Anh www9van làm tới đâu rồi?

    Leave a comment:


  • daihang86
    replied
    Các bạn nêu ra những phương án ở trên chỉ dùng 1 trong tần số cao hoặc tần số thấp . Thế bác nào đã nghỉ ra cách cho con vi sử lí nó tự động chọn 1 trong những cách trên để đo tần số từ nhỏ đến lớn chưa ?Tôi thấy trong các thiết bị đo lường bây giờ đều làm được vậy. Ai làm nhiều đo lường mong được chỉ giáo

    Leave a comment:


  • phucthinhel
    replied
    À sao mấy cậu không dung bộ đếm rồi dùng 89 đọc ra nhỉ ! như mình nói lúc ở bài truớc đó !

    Leave a comment:


  • www9van
    replied
    Độ chính xác sau 2 dấu phẩy, tức 0.01%. T lấy mẫu ko cần nhanh, khoảng 10 chu kỳ tần số lứoi lấy 1 lần là được tức là T= 10*1/50 = 0,2s hay nói cách khác là khoảng 5 lần/s. Mạch chạy 24/24 ko ngừng nghỉ

    Leave a comment:


  • www9van
    replied
    Độ chính xác sau 2 dấu phẩy, tức 0.01%. T lấy mẫu ko cần nhanh, khoảng 10 chu kỳ tần số lứoi lấy 1 lần là được tức là T= 10*1/50 = 0,2s hay nói cách khác là khoảng 5 lần/s. Mạch chạy 24/24

    Leave a comment:


  • thaithutrang
    replied
    Anh cần sai số bao nhiêu %? tốc độ cần cao ko? nghĩa là bao nhiêu lần trên 1 giây?

    Leave a comment:


  • www9van
    replied
    hey, mình vừa post 1 bài, sao ko thấy đâu. Mặc dù ngoài trang chủ nhìn thấy -> vào xem thì rỗng ko !!! BQT nên xem lại có vấn đề gì ko ? cả chức năng Search nữa chứ ?

    Leave a comment:


  • www9van
    replied
    có rất nhiều cách đo tần số khác nhau, tuy nhiên ta hay chọn lấy 1 phương pháp đạt nhưng tiêu chí sau:
    + ổn định
    + sai số nhỏ
    + Ngoài 1 MCU ->Dùng thêm ít nhất các linh kiện, IC có thể -> ít hỏng hơn, tiêu thụ năng lượng ít hơn.
    + Dễ thực hiện hay nói cách khác là tính khả thi cao.

    lưu ý ở đây là đo tần số điện lưới (50Hz) -> yêu cầu về sai số là quan trọng nhất
    Thông thường f trên lưới quốc gia chỉ cho phép dao động từ 49,80Hz -> 50,20Hz

    Leave a comment:


  • thaithutrang
    replied
    Nguyên văn bởi www9van
    Đếm xung ? giữa 2 lần ngắt hay ntn ? đề nghị bác trung_kt giải thích thêm!
    Phương pháp này cũng chỉ chính xác tương đương cách của em post ở trên thôi, thậm chí phần cứng nó phức tạp hơn.

    Leave a comment:


  • www9van
    replied
    Đếm xung ? giữa 2 lần ngắt hay ntn ? đề nghị bác trung_kt giải thích thêm!

    Leave a comment:


  • www9van
    replied
    Đếm xung ? giữa 2 lần ngắt hay ntn ? đề nghị bác trung_kt giải thích thêm!

    Leave a comment:


  • trungkt
    replied
    Cách đơn giản nhất là dùng 1 bộ phát xung chuẩn , sau đó dùng mạch AND để and giữa xung chuẩn và tần số cần đếm , đầu ra đưa vào int.
    Chương trình chỉ cần đếm số xung là suy ra được tần số cần đo.
    F=n*fx.
    (fx:tần số phát chuẩn
    n : số xung đếm được
    F :tần số cần đo.
    Sai số phụ thuộc chủ yếu vào tần số phát chuẩn
    )

    Leave a comment:

Về tác giả

Collapse

www9van Tìm hiểu thêm về www9van

Bài viết mới nhất

Collapse

Đang tải...
X