Trong bài viết này, chúng ta sẽ tìm hiểu về cảm biến điện áp và cách sử dụng mạch chia áp để đo lường và điều khiển điện áp trong các ứng dụng Arduino. Cảm biến điện áp, hay còn được gọi là mạch chia áp, đơn giản và chi phí thấp, được sử dụng rộng rãi trong nhiều ứng dụng khác nhau.
Contents
Tổng quan về cảm biến điện áp
Cảm biến điện áp hoạt động dựa trên mạch chia áp, một mạch đơn giản bao gồm hai điện trở. Hai điện trở này tạo thành một mạch chia áp, với điện trở gần nguồn điện có giá trị lớn hơn và điện trở gần đất có giá trị nhỏ hơn.
Bạn đang xem: Giao tiếp cảm biến điện áp Voltage Sensor với Arduino
Đọc giá trị cảm biến điện áp
Để đọc giá trị cảm biến điện áp hoặc bất kỳ mạch chia áp nào, chúng ta có thể sử dụng công thức sau:
Vout = Vin * R2 / (R1 + R2)
Tuy nhiên, khi sử dụng Arduino để đo giá trị cảm biến điện áp, chúng ta không biết giá trị Vin là bao nhiêu. Chúng ta chỉ biết giá trị đọc từ chân ADC của Arduino. Do đó, chúng ta cần sử dụng công thức sau để tính giá trị Vin:
Vin = Vout * (R1 + R2) / R2
Sơ đồ chân cảm biến điện áp
-
Xem thêm : Cách đo và kiểm tra tụ điện bằng đồng hồ vạn năng chi tiết nhất
Chân đầu vào:
- VCC: Được nối với nguồn điện áp dương mà bạn muốn đo. Dải điện áp là từ 0 đến 25V.
- GND: Được nối với nguồn điện áp âm.
-
Chân đầu ra:
- S: Là chân đầu ra tín hiệu của module cảm biến áp điện. Nó thường được nối với các chân đầu vào trên Arduino.
- +: Không được nối.
- -: Là chân nối đất chung.
Sơ đồ đấu nối cảm biến điện áp (Voltage Sensor) với Arduino Uno
Dưới đây là sơ đồ đấu nối cảm biến điện áp (Voltage Sensor) với Arduino Uno:
Code ví dụ
Dưới đây là một ví dụ đơn giản để đọc giá trị điện áp trên chân ADC A0 của Arduino và tính toán giá trị điện áp đầu vào bằng cách sử dụng công thức mạch chia áp. Kết quả được in ra Serial Monitor.
// Define analog input
#define ANALOG_IN_PIN A0
// Floats for ADC voltage & Input voltage
float adc_voltage = 0.0;
float in_voltage = 0.0;
// Floats for resistor values in divider (in ohms)
float R1 = 30000.0;
float R2 = 7500.0;
// Float for Reference Voltage
float ref_voltage = 5.0;
// Integer for ADC value
int adc_value = 0;
void setup(){
// Setup Serial Monitor
Serial.begin(9600);
}
void loop(){
// Read the Analog Input
adc_value = analogRead(ANALOG_IN_PIN);
// Determine voltage at ADC input
adc_voltage = (adc_value * ref_voltage) / 1024.0;
// Calculate voltage at divider input
in_voltage = adc_voltage*(R1+R2)/R2;
// Print results to Serial Monitor to 2 decimal places
Serial.print("Input Voltage = ");
Serial.println(in_voltage, 2);
// Short delay
delay(500);
}
Xem thêm : 2 dm bằng bao nhiêu cm? Làm sao để đổi đơn vị đo chiều dài?
Kết quả khi cấp 5V cho cảm biến điện áp:
Và đây là kết quả khi cấp 12V:
Nếu bạn muốn tìm hiểu thêm về Arduino và các loại cảm biến khác, hãy tham khảo các bài viết liên quan dưới đây:
- Giao tiếp nhiều cảm biến nhiệt độ DS18B20 với Arduino
- Hướng dẫn sử dụng cảm biến lực FSR với Arduino
- Hướng dẫn sử dụng cảm biến khí Gas MQ2 (Gas Sensor) với Arduino
- Hướng dẫn sử dụng cảm biến từ trường (Reed Switch) với Arduino
Nguồn: https://cite.edu.vn
Danh mục: Học tập