Tất cả những người yêu thích nhúng đều quen thuộc với đồng hồ vạn năng, một công cụ tuyệt vời để đo điện áp, dòng điện, điện trở, v.v. Đồng hồ vạn năng có thể đo chúng dễ dàng. Nhưng đôi khi chúng ta cần đo độ tự cảm và điện dung mà không thể thực hiện được bằng đồng hồ vạn năng thông thường. Có một số đồng hồ vạn năng đặc biệt có thể đo điện cảm và điện dung nhưng chúng rất tốn kém. Chúng tôi đã xây dựng Máy đo tần số, Máy đo điện dung và Máy đo điện trở bằng Arduino. Vì vậy, hôm nay chúng ta sẽ tạo một Máy đo LC điện cảm bằng Arduino. Trong dự án này, chúng tôi sẽ hiển thị các giá trị điện cảm và điện dung cùng với tần số trên màn hình LCD 16x2. Một nút nhấn được đưa ra trong mạch để chuyển đổi giữa màn hình điện dung và độ tự cảm.
Thành phần bắt buộc
- Arduino Uno
- IC opamp 741
- Pin 3v
- Điện trở 100 ohm
- Tụ điện
- Cuộn cảm
- 1n4007 diode
- Điện trở 10k
- Hủ 10k
- Nguồn cấp
- Nút ấn
- Breadboard hoặc PCB
- Kết nối dây
Tính toán tần số và điện cảm
Trong dự án này, chúng ta sẽ đo độ tự cảm và điện dung bằng cách sử dụng một mạch LC song song. Mạch này giống như một chiếc chuông hoặc chuông bắt đầu cộng hưởng ở một tần số nhất định. Bất cứ khi nào chúng ta áp dụng một xung, mạch LC này sẽ bắt đầu cộng hưởng và tần số cộng hưởng này ở dạng tương tự (sóng hình sin) vì vậy chúng ta cần chuyển đổi nó thành sóng squire. Để làm điều này, chúng tôi áp dụng tần số cộng hưởng tương tự này cho opamp (trong trường hợp của chúng tôi là 741) sẽ chuyển đổi nó ở dạng sóng squire (tần số) ở 50% chu kỳ nhiệm vụ. Bây giờ chúng tôi đo tần số bằng cách sử dụng Arduino và bằng cách sử dụng một số phép tính toán học, chúng tôi có thể tìm thấy điện cảm hoặc điện dung. Chúng tôi đã sử dụng công thức đáp ứng tần số mạch LC đã cho.
f = 1 / (2 * thời gian)
mà thời gian là đầu ra của pulseIn () chức năng
bây giờ chúng ta có mạch LC Tần số:
f = 1/2 * Pi * căn bậc hai của (LC)
chúng ta có thể giải quyết nó để có được điện cảm:
f 2 = 1 / (4Pi 2 LC) L = 1 / (4Pi 2 f 2 C) L = 1 / (4 * Pi * Pi * f * f * C)
Như chúng ta đã đề cập rằng sóng của chúng ta là sóng hình sin nên nó có cùng khoảng thời gian với cả biên độ dương và âm. Nó có nghĩa là bộ so sánh sẽ chuyển nó thành sóng vuông có chu kỳ nhiệm vụ 50%. Vì vậy, chúng ta có thể đo lường nó bằng cách sử dụng hàm xungIn () của Arduino. Hàm này sẽ cung cấp cho chúng ta một khoảng thời gian có thể dễ dàng chuyển đổi thành tần số bằng cách đảo ngược khoảng thời gian. Vì hàm xungIn chỉ đo một xung, vì vậy bây giờ để có được tần số chính xác, chúng ta phải nhân nó với 2. Bây giờ chúng ta có một tần số có thể được chuyển đổi thành điện cảm bằng cách sử dụng công thức trên.
Lưu ý: trong khi đo độ tự cảm (L1), giá trị tụ điện (C1) phải là 0,1uF và trong khi đo điện dung (C1), giá trị cuộn cảm (L1) phải là 10mH.
Sơ đồ mạch và giải thích
Trong sơ đồ mạch LC Meter này, chúng tôi đã sử dụng Arduino để điều khiển hoạt động của dự án. Trong điều này, chúng tôi đã sử dụng một mạch LC. Mạch LC này bao gồm một cuộn cảm và một tụ điện. Để chuyển đổi tần số cộng hưởng hình sin sang sóng kỹ thuật số hoặc sóng vuông, chúng ta đã sử dụng bộ khuếch đại hoạt động cụ thể là 741. Ở đây chúng ta cần áp dụng nguồn cung cấp âm cho op-amp để có được tần số đầu ra chính xác. Vì vậy, chúng tôi đã sử dụng một pin 3v kết nối ngược cực, nghĩa là chân âm 741 được kết nối với cực âm của pin và chân dương của pin được nối với đất của mạch còn lại. Để rõ hơn, hãy xem sơ đồ mạch bên dưới.
Ở đây chúng ta có một nút nhấn để thay đổi chế độ hoạt động cho dù chúng ta đang đo điện cảm hay điện dung. Một LCD 16x2 dùng để hiển thị độ tự cảm hoặc điện dung cùng tần số với mạch LC. Một nồi 10k được sử dụng để kiểm soát độ sáng của màn hình LCD. Mạch được cấp nguồn với sự trợ giúp của nguồn cung cấp 5v Arduino và chúng ta có thể cấp nguồn cho Arduino 5v bằng bộ chuyển đổi USB hoặc 12v.
Giải thích lập trình
Phần lập trình của dự án LC Meter này rất dễ dàng. Mã Arduino hoàn chỉnh được đưa ra ở cuối bài viết này.
Đầu tiên chúng ta phải bao gồm thư viện cho LCD và khai báo một số chân và macro.
#include
Sau đó, trong chức năng cài đặt, chúng tôi đã khởi tạo giao tiếp LCD và Serial để hiển thị các giá trị đo được qua LCD và màn hình nối tiếp.
void setup () { #ifdef serial Serial.begin (9600); #endif lcd.begin (16, 2); pinMode (freqIn, INPUT); pinMode (sạc, OUTPUT); pinMode (chế độ, INPUT_PULLUP); lcd.print ("Sử dụng đồng hồ LC"); lcd.setCursor (0, 1); lcd.print ("Arduino"); chậm trễ (2000); lcd.clear (); lcd.print ("Thông báo Mạch"); chậm trễ (2000); }
Sau đó, trong chức năng vòng lặp , áp dụng một xung của một khoảng thời gian cố định vào mạch LC sẽ sạc mạch LC. Sau khi loại bỏ xung LC mạch bắt đầu cộng hưởng. Sau đó, chúng tôi đọc chuyển đổi sóng vuông của nó, đến từ op-amp, bằng cách sử dụng hàm xungIn () và chuyển đổi bằng cách nhân với 2. Ở đây chúng tôi cũng đã lấy một số mẫu của điều này. Đó là cách tính tần số:
void loop () { for (int i = 0; i
Sau khi nhận được giá trị tần số, chúng tôi đã chuyển đổi chúng thành điện cảm bằng cách sử dụng đoạn mã nhất định
điện dung = 0,1E-6; độ tự cảm = (1. / (điện dung * tần số * tần số * 4. * 3.14159 * 3.14159)) * 1.E6; #ifdef serial Serial.print ("Ind:"); if (inductance> = 1000) { Serial.print (inductance / 1000); Serial.println ("mH"); } else { Serial.print (điện cảm); Serial.println ("uH"); } #endif lcd.setCursor (0, 1); lcd.print ("Ind:"); if (inductance> = 1000) { lcd.print (inductance / 1000); lcd.print ("mH"); } else { lcd.print (điện cảm); lcd.print ("uH"); } }
Và bằng cách sử dụng mã nhất định, chúng tôi đã tính toán điện dung.
if (Bit.flag) { inductance = 1.E-3; điện dung = ((1. / (điện cảm * tần số * tần số * 4. * 3.14159 * 3.14159)) * 1.E9); nếu ((int) điện dung <0) điện dung = 0; #ifdef serial Serial.print ("Capacitance:"); Serial.print (điện dung, 6); Serial.println ("uF"); #endif lcd.setCursor (0, 1); lcd.print ("Cap:"); if (điện dung> 47) { lcd.print ((điện dung / 1000)); lcd.print ("uF"); } else { lcd.print (dung); lcd.print ("nF"); } }
Vì vậy, đây là cách chúng tôi tính toán tần số, điện dung và điện cảm bằng Arduino và hiển thị nó trên màn hình LCD 16x2.