Về độ chính xác: độ chính xác của phép đo tần số ở điều kiện mô phỏng (chương trình mô phỏng proteus) là 99.9% với tần số thạch anh 16.000.000 hz. Trên thực tế thạch anh trên arduino có tần số 16.000.xxx.hz , do đó kết quả thu được ( từ 10khz trở lên) là tương đối .
1. Về mạch đệm
Mạch OA1 để lặp tín hiệu, tăng trở kháng vào.
Mạch OA2 so sánh giá trị điện áp trên biến trở và tín hiệu vào. Khi Urv < input, cấp một xung đến arduino để bắt đầu đo. Chú ý nguồn cấp cho OA cần ổn định trong khoảng 9v => 12v,dòng chỉ cần 10mA là đủ (PIN 9V là lựa chọn hợp lý, bạn có thể sài vài tháng).
Cả 2 mạch còn có tác dụng bảo vệ Arduino trong trường hợp điện áp ngõ vào tăng đột ngột, thậm chí nếu điện áp tăng quá cao, ic sẽ cháy mà vẫn đảm bảo an toàn cho Arduino giống với hiệu ứng "cầu chì".
Điện trở R2 có 2 chức năng: Giảm cường độ dòng điện từ ngõ ra của OA2, kết hợp với điện trở R1 phân áp xuống khoảng 0=>7v. Điện trở R1 còn có chức năng của điện trở kéo âm, giúp tín hiệu ổn định ở chế độ chờ.
Do tần số làm việc của ic lm358 chỉ dưới 1mhz nên sẽ không thích hợp để đo tần số yêu cầu độ chính xác cao, do đó ta sẽ chuyển mạch trực tiếp ra 2 đầu đo bằng 1 công tắc. Khi đó điện áp đặt phải từ 0v -> 5v để đảm bảo an toàn cho Arduino
Nguồn cấp cho lcd là 3,5 v (Nhiều bạn đặt luôn là 5v thế là nó bị nhòe mà không để ý ).
2. Quá trình thiết kế
Mất nhiều sức… nhưng thành quả thu được cũng giúp mình có tinh thần hơn, đặc biệt là nghĩ đến việc sẽ chia sẻ thành quả với cộng đồng cũng là một động lực lớn giúp mình sớm hoàn thiện sản phẩm.
Đây sẽ là một trong số đồ án tốt nghiệp của mình, nên mình chưa thể public mã nguồn được.
Đừng lo, mình sẽ gửi bạn những học liệu mà mình đã tham khảo trên INTERNET trong quá trình làm dự án này.
Đầu tiên phải kể đến phương pháp pháp đo tần số bằng 2 timer quen thuộc.