Both sides previous revisionPrevious revisionNext revision | Previous revision |
en:iot-open:hardware2:sensors_electric [2023/07/04 18:50] – ktokarz | en:iot-open:hardware2:sensors_electric [2024/05/27 11:58] (current) – ktokarz |
---|
==== Electrical Characteristic Sensors ==== | ====== Electrical Characteristic Sensors ====== |
Electrical characteristic sensors are used to measure the voltage and amperage of the electric current. When the voltage and current sensors are used concurrently, the consumed power of the device can be determined. Electrical characteristic sensors can determine whether the circuit of the device is working properly. Different sensor circuits must be used to measure direct current (DC), different to measure alternating current (AC). If the parameters of the mains are to be measured it must be done with the use of transformers for safety reasons. | {{:en:iot-open:czapka_b.png?50| General audience classification icon }}{{:en:iot-open:czapka_e.png?50| General audience classification icon }}\\ |
| Electrical characteristic sensors measure the voltage and amperage of the electric current. When the voltage and current sensors are used concurrently, the device's consumed power can be determined. Electrical characteristic sensors can also determine whether the device's circuit is working correctly. Different sensor circuits must be used to measure direct current (DC) and alternating current (AC). For safety reasons, the parameters of the mains must be measured using transformers. |
| |
===Voltage Sensor=== | == Potentiometer == |
A voltage sensor is a device or circuit for voltage measurement. A simple DC (direct current) voltage sensor consists of a voltage divider circuit with an optional amplifier for a very small voltage measure. For measuring the AC (alternating current), input is connected to the rectifier diode or bridge to rectify AC to DC, and a capacitor to flatten the voltage. The resulting voltage can be measured with an analogue digital converter of the microcontroller. For safety, while measuring the mains voltage, an optoelectrical isolator should be added at the output, or a transformer to additionally lower the voltage at the input. | A potentiometer is a type of resistor whose resistance can be adjusted using a mechanical lever. The device consists of three terminals. The resistor between the first and the third terminal has a fixed value, but the second terminal is connected to the lever. Whenever the lever is turned, a slider of the resistor is moved; it changes the resistance between the second terminal and side terminals. Variable resistance causes the change of the voltage, which can be measured to determine the position of the lever. Thus, the potentiometer output is an analogue value.\\ |
| Potentiometers are commonly used as a control level, for example, a volume level for the sound and joystick position. They can also be used to determine the angle in feedback loops with motors, such as servo motors. The potentiometer symbol is present in figure {{ref>potentiometer1}}, a device in figure {{ref>potentiometer2}} and a connection to the Arduino board in figure {{ref>potentiometer3}}. |
| |
A voltage sensor can detect a power failure, and measure if the voltage is in the range required. Examples of IoT applications are the monitoring of appliances, power lines, and power supply. | <figure potentiometer1> |
| {{ :en:iot-open:getting_familiar_with_your_hardware_rtu_itmo_sut:arduino_and_arduino_101_intel_curie:potentiometer_symbol_europe.png?100 | Symbol of a potentiometer}} |
| <caption>A symbol of a potentiometer</caption> |
| </figure> |
| |
<figure label> | <figure potentiometer2> |
{{ :en:iot-open:getting_familiar_with_your_hardware_rtu_itmo_sut:arduino_and_arduino_101_intel_curie:voltage_senor_c.jpg?200 | title }} | {{ :en:iot-open:getting_familiar_with_your_hardware_rtu_itmo_sut:arduino_and_arduino_101_intel_curie:potentiometer_c.jpg?200 | Potentiometer}} |
<caption>Voltage sensor module 0–25 V.</caption> | <caption>A potentiometer</caption> |
</figure> | </figure> |
| |
<figure label> | <figure potentiometer3> |
{{ :en:iot-open:getting_familiar_with_your_hardware_rtu_itmo_sut:arduino_and_arduino_101_intel_curie:voltage_sen_sch_hd.jpg?400 | title}} | {{ :en:iot-open:getting_familiar_with_your_hardware_rtu_itmo_sut:arduino_and_arduino_101_intel_curie:sch_apz_shemas_potentiometer.png?200 | Arduino and potentiometer circuit}} |
<caption>Arduino and voltage sensor schematics.</caption> | <caption>Arduino and potentiometer circuit</caption> |
</figure> | </figure> |
| |
| An example code: |
| <code c> |
| |
| //Potentiometer sensor output is connected to the analogue A0 pin |
| int potentioPin = A0; |
| //The analogue reading from the potentiometer output |
| int potentioReading; |
| |
| void setup(void) { |
| //Begin serial communication |
| Serial.begin(9600); |
| //Initialize the potentiometer analogue pin as an input |
| pinMode(potentioPin, INPUT); |
| } |
| |
| void loop(void) { |
| //Read the analogue value of the potentiometer sensor |
| potentioReading = analogRead(potentioPin); |
| Serial.print("Potentiometer reading = "); //Print out |
| Serial.println(potentioReading); |
| delay(10); |
| } |
| </code> |
| |
| == Voltage Sensor == |
| A voltage sensor is a device or circuit for voltage measurement. A simple DC (direct current) voltage sensor consists of a voltage divider circuit with an optional amplifier for a tiny voltage measure. For measuring the AC (alternating current), the input is connected to the rectifier diode or bridge to rectify AC to DC and a capacitor to flatten the voltage. The resulting voltage can be measured with an analogue digital converter of the microcontroller. For safety, while measuring the mains voltage, an optoelectrical isolator should be added at the output, or a transformer should lower the voltage at the input.\\ |
| A voltage sensor can detect a power failure and measure if the voltage is in the range required. IoT applications include monitoring appliances, power lines, and power supplies.\\ |
| Sample voltage sensor module is present in figure {{ref>sensor_voltage1}} and schematic connection to the Arduino Uno in figure {{ref>sensor_voltage2}}. |
| |
| <figure sensor_voltage1> |
| {{ :en:iot-open:getting_familiar_with_your_hardware_rtu_itmo_sut:arduino_and_arduino_101_intel_curie:voltage_senor_c.jpg?200 | Voltage sensor module 0–25 V}} |
| <caption>Voltage sensor module 0–25 V</caption> |
| </figure> |
| |
| <figure sensor_voltage2> |
| {{ :en:iot-open:getting_familiar_with_your_hardware_rtu_itmo_sut:arduino_and_arduino_101_intel_curie:voltage_sen_sch_hd.jpg?400 | Arduino and voltage sensor schematics}} |
| <caption>Arduino and voltage sensor schematics</caption> |
| </figure> |
| |
The example code: | The example code: |
</code> | </code> |
| |
===Current Sensor=== | == Current Sensor == |
| |
A current sensor is a device or a circuit for current measurement. A simple DC sensor consists of a high-power resistor with low resistance. The current value is obtained by measuring the voltage on the resistor and applying a formula derived from Ohm's law. Other non-invasive measurement methods involve hall effect sensors for DC and AC and inductive coils for AC. Current sensors are used to determine the power consumption, to detect whether the device is turned on, or short circuits. | A current sensor is a device or a circuit for current measurement. A simple DC sensor consists of a high-power resistor with low resistance. The current value is obtained by measuring the voltage on the resistor and applying a formula derived from Ohm's law. Other non-invasive measurement methods involve hall effect sensors for DC and AC and inductive coils (current transformer) for AC.\\ |
| Current sensors determine the power consumption and detect whether the device is turned on or shorted.\\ |
| Sample current sensor modules are present in figures {{ref>sensor_current1}} and {{ref>sensor_current2}}, and schematic connection to the Arduino Uno in figure {{ref>sensor_current3}} |
| |
| <figure sensor_current1> |
| {{ :en:iot-open:hardware2:20230925_114306_copy.jpg?300 | Current transformer module for AC}} |
| <caption>Current transformer module for AC</caption> |
| </figure> |
| |
<figure label> | <figure sensor_current2> |
{{ :en:iot-open:getting_familiar_with_your_hardware_rtu_itmo_sut:arduino_and_arduino_101_intel_curie:current_sen_c.jpg?200 | title}} | {{ :en:iot-open:getting_familiar_with_your_hardware_rtu_itmo_sut:arduino_and_arduino_101_intel_curie:current_sen_c.jpg?200 | Analogue current meter module 0–50 A}} |
<caption>Analogue current meter module 0–50 A.</caption> | <caption>Analogue current meter module 0–50 A</caption> |
</figure> | </figure> |
| |
<figure label> | <figure sensor_current3> |
{{ :en:iot-open:getting_familiar_with_your_hardware_rtu_itmo_sut:arduino_and_arduino_101_intel_curie:sch_apz_shemas_current.png?400 | title}} | {{ :en:iot-open:getting_familiar_with_your_hardware_rtu_itmo_sut:arduino_and_arduino_101_intel_curie:sch_apz_shemas_current.png?350 | Arduino and current sensor module schematics}} |
<caption>Arduino and current sensor module schematics.</caption> | <caption>Arduino and current sensor module schematics</caption> |
</figure> | </figure> |
| |
int currentReading; | int currentReading; |
int ACSoffset = 2500; | int ACSoffset = 2500; |
double Voltage; | double voltage; |
double Current; | double current; |
| |
void setup(){ | void setup(){ |
Serial.print(currentReading); | Serial.print(currentReading); |
Serial.print("\t Current = "); //Shows the voltage measured | Serial.print("\t Current = "); //Shows the voltage measured |
//The '3' after current allows to display 3 digits after decimal point | //The '3' after current allows to display 3 digits after the decimal point |
Serial.println(Current,3); | Serial.println(Current,3); |
delay(1000); //Short delay | delay(1000); //Short delay |
</code> | </code> |
| |