- Các thành phần bắt buộc:
- Giải thích mạch:
- Bộ tạo tín hiệu sử dụng IC hẹn giờ 555:
- Cổng kích hoạt Schmitt:
- Giải thích mã bộ đếm tần số Arduino:
Hầu hết mọi người yêu thích điện tử đều phải đối mặt với một tình huống mà họ phải đo tần số tín hiệu được tạo ra bởi đồng hồ hoặc bộ đếm hoặc bộ đếm thời gian. Chúng ta có thể sử dụng máy hiện sóng để thực hiện công việc này, nhưng không phải ai trong chúng ta cũng có thể mua được máy hiện sóng. Chúng ta có thể mua thiết bị đo tần số nhưng tất cả những thiết bị này đều đắt tiền và không phải dành cho tất cả mọi người. Với ý nghĩ đó, chúng tôi sẽ thiết kế một Bộ đếm tần số đơn giản nhưng hiệu quả bằng cách sử dụng Arduino Uno và cổng kích hoạt Schmitt.
Đây Tần Arduino Counter là chi phí có hiệu quả và có thể dễ dàng thực hiện, chúng ta sẽ sử dụng UNO Arduino cho đo tần số của tín hiệu, UNO là trái tim của dự án ở đây.
Để kiểm tra Máy đo tần số, chúng tôi sẽ tạo một bộ tạo tín hiệu giả. Bộ tạo tín hiệu giả này sẽ được thực hiện bằng cách sử dụng chip hẹn giờ 555. Mạch hẹn giờ tạo ra sóng vuông sẽ được cung cấp cho UNO để kiểm tra.
Với mọi thứ tại chỗ, chúng ta sẽ có một máy đo Tần số Arduino và một bộ tạo sóng vuông. Arduino cũng có thể được sử dụng để tạo ra các dạng sóng khác như sóng sin, sóng răng cưa, v.v.
Các thành phần bắt buộc:
- IC hẹn giờ 555 và cổng kích hoạt 74LS14 Schmitt hoặc cổng NOT.
- Điện trở 1K Ω (2 miếng), điện trở 100Ω
- Tụ điện 100nF (2 cái), tụ điện 1000µF
- 16 * 2 LCD,
- Nồi 47KΩ,
- Breadboard và một số đầu nối.
Giải thích mạch:
Sơ đồ mạch của Đo tần số sử dụng Arduino được hiển thị trong hình dưới đây. Mạch rất đơn giản, một màn hình LCD được giao tiếp với Arduino để hiển thị tần số tín hiệu đo được. 'Đầu vào sóng' sẽ đi đến Mạch tạo tín hiệu, từ đó chúng tôi đang cấp tín hiệu cho Arduino. Một cổng kích hoạt Schmitt (IC 74LS14) được sử dụng để đảm bảo rằng chỉ có sóng hình chữ nhật được cấp cho Arduino. Để lọc tiếng ồn, chúng tôi đã thêm một vài tụ điện trên nguồn. Máy đo tần số này có thể đo tần số lên đến 1 MHz.
Mạch tạo tín hiệu và kích hoạt Schmitt đã được giải thích bên dưới.
Bộ tạo tín hiệu sử dụng IC hẹn giờ 555:
Trước hết chúng ta sẽ nói về bộ tạo sóng vuông dựa trên vi mạch 555, hay tôi nên nói 555 Astable Multivibrator. Mạch này là cần thiết bởi vì, với Máy đo tần số tại chỗ, chúng ta phải có một tín hiệu có tần số mà chúng ta biết. Nếu không có tín hiệu đó, chúng ta sẽ không bao giờ có thể biết được hoạt động của Máy đo tần số. Nếu chúng ta có một ô vuông có tần số đã biết, chúng ta có thể sử dụng tín hiệu đó để kiểm tra Máy đo tần số Arduino Uno và chúng ta có thể tinh chỉnh nó để điều chỉnh cho chính xác, trong trường hợp có bất kỳ sai lệch nào. Hình ảnh Bộ phát tín hiệu sử dụng IC Timer 555 được đưa ra dưới đây:
Mạch điển hình của 555 ở chế độ Astable được đưa ra dưới đây, từ đó chúng tôi đã suy ra Mạch tạo tín hiệu đã cho ở trên.
Tần số tín hiệu đầu ra phụ thuộc vào RA, điện trở RB và tụ điện C. Phương trình được cho là, Tần số (F) = 1 / (Khoảng thời gian) = 1,44 / ((RA + RB * 2) * C).
Ở đây RA và RB là giá trị điện trở và C là giá trị điện dung. Bằng cách đặt các giá trị điện trở và điện dung trong phương trình trên, chúng ta nhận được tần số của sóng vuông đầu ra.
Có thể thấy rằng RB của sơ đồ trên được thay thế bằng một cái nồi trong Mạch tạo tín hiệu; điều này được thực hiện để chúng ta có thể nhận được sóng vuông tần số thay đổi ở đầu ra để kiểm tra tốt hơn. Để đơn giản hơn, người ta có thể thay thế nồi bằng một điện trở đơn giản.
Cổng kích hoạt Schmitt:
Chúng tôi biết rằng tất cả các tín hiệu thử nghiệm không phải là sóng vuông hoặc hình chữ nhật. Chúng ta có sóng tam giác, sóng răng, sóng hình sin, v.v. Với việc UNO chỉ có thể phát hiện các sóng hình vuông hoặc hình chữ nhật, chúng tôi cần một thiết bị có thể thay đổi bất kỳ tín hiệu nào thành sóng hình chữ nhật, do đó chúng tôi sử dụng Schmitt Trigger Gate. Cổng kích hoạt Schmitt là một cổng logic kỹ thuật số, được thiết kế cho các phép toán số học và logic.
Cổng này cung cấp OUTPUT dựa trên mức điện áp INPUT. Kích hoạt Schmitt có mức điện áp THERSHOLD, khi tín hiệu INPUT được áp dụng cho cổng có mức điện áp cao hơn mức THRESHOLD của cổng logic, OUTPUT sẽ ở mức CAO. Nếu mức tín hiệu điện áp INPUT thấp hơn THRESHOLD, OUTPUT của cổng sẽ THẤP. Chúng tôi thường không nhận được trình kích hoạt Schmitt một cách riêng biệt, chúng tôi luôn có cổng KHÔNG theo sau trình kích hoạt Schmitt. Schmitt Trigger hoạt động được giải thích ở đây: Cổng kích hoạt Schmitt
Chúng ta sẽ sử dụng chip 74LS14, chip này có 6 cổng Schmitt Trigger trong đó. Các cổng SIX này được kết nối bên trong như thể hiện trong hình bên dưới.
Các Truth Bảng cổng Inverted Schmitt trigger là show ở bên dưới con số, với điều này chúng ta phải chương trình UNO cho đảo ngược khoảng thời gian tích cực và tiêu cực tại các khu cảng của nó.
Bây giờ chúng ta sẽ cấp bất kỳ loại tín hiệu nào đến cổng ST, chúng ta sẽ có sóng hình chữ nhật trong khoảng thời gian đảo ngược ở đầu ra, chúng ta sẽ cấp tín hiệu này tới UNO.
Giải thích mã bộ đếm tần số Arduino:
Mã cho phép đo tần số này bằng arduino khá đơn giản và dễ hiểu. Ở đây chúng ta đang giải thích về hàm xungIn , có nhiệm vụ chính là đo tần số. Uno có một chức năng đặc biệt xungIn , cho phép chúng tôi xác định thời lượng trạng thái dương hoặc thời gian trạng thái âm của một sóng hình chữ nhật cụ thể:
Htime = xungIn (8, CAO); Ltime = xungIn (8, LOW);
Chức năng đã cho đo thời gian mà mức Cao hoặc Thấp hiện diện tại PIN8 của Uno. Vì vậy, trong một chu kỳ sóng duy nhất, chúng ta sẽ có thời lượng cho các mức âm và dương tính bằng Micro giây. Các pulseIn chức năng đo thời gian trong vài giây vi. Trong một tín hiệu nhất định, chúng ta có thời gian cao = 10mS và thời gian thấp = 30ms (với tần số 25 HZ). Vì vậy, 30000 sẽ được lưu trữ trong số nguyên Ltime và 10000 trong Htime. Khi chúng ta cộng chúng lại với nhau, chúng ta sẽ có Khoảng thời gian chu kỳ và bằng cách đảo ngược nó, chúng ta sẽ có Tần suất.
Mã và video hoàn chỉnh cho Máy đo tần số sử dụng Arduino này được đưa ra bên dưới.