KY-024 Linearer, magnetischer Hall-Sensor
Halleffekt-Schalter sind monolithisch integrierte Schaltungen mit engeren magnetischen Spezifikationen.
- Arduino
- Raspberry Pi
- Raspberry Pi Pico
- Micro:Bit
Dieses Modul enthält einen Halleffekt-Schalter, der magnetische Felder erkennt und darauf reagiert. Im Ruhezustand, wenn kein äußeres Magnetfeld vorhanden ist, beträgt die Ausgangsspannung typischerweise die Hälfte der Versorgungsspannung. Wenn sich ein Südmagnetpol der markierten Seite des Sensors nähert, erhöht sich die Ausgangsspannung. Ein Nordmagnetpol hingegen senkt die Ausgangsspannung. Diese Schwankungen sind symmetrisch und ermöglichen präzise Schwellenwertmessungen.
Der Sensor gibt ein digitales High-Signal aus, sobald ein voreingestellter Schwellenwert überschritten wird. Dieser Schwellenwert wird über ein Drehpotentiometer eingestellt und vom eingebauten LM393 Komparator mit dem gemessenen Wert des Sensors verglichen. Wenn der eingestellte Wert überschritten wird, gibt der Sensor ein logisches High-Signal aus.
Der digitale Ausgang signalisiert, ob ein Magnetfeld erkannt wurde, während der analoge Ausgang den direkten Messwert der Sensoreinheit ausgibt. Zwei LEDs zeigen den Betriebsstatus an: LED1 zeigt an, dass der Sensor mit Spannung versorgt ist, und LED2 leuchtet, wenn ein Magnetfeld detektiert wurde.
Dieses Modul ist ideal für Anwendungen, bei denen die Erkennung und Messung von Magnetfeldern erforderlich ist, wie z.B. in Drehzahlsensoren, Positionssensoren oder Sicherheitssystemen. Mit dem Chipsatz AH49E und dem Komparator LM393 bietet es eine zuverlässige und präzise Lösung für die magnetische Felderkennung. Der Sensor arbeitet mit einer Versorgungsspannung von 5V und bietet eine Genauigkeit von 9 bis 12 Bit.
Technische Daten
Technische Daten | |
---|---|
Chipsatz | AH49E, LM393 |
Sensortyp | Hall Effect Transistor/Schalter |
Genauigkeit | 9 bis 12 Bit |
Funktionsbereich | 5V (Bedingt durch die Komponenten) |
Funktionsweise des Sensors
Dieser Sensor besitzt auf seiner Platine zwei funktionelle Bestandteile: Die vordere Sensoreinheit, welche das Umfeld physikalisch misst und als analoges Signal auf die zweite Einheit, den Komparator, ausgibt. Der Komparator vergleicht den Messwert des Sensors mit der am Drehpotentiometer eingestelltem Wert und gibt bei Überschreitung des Wertes am Drehpotentiometer ein logisches High-Signal am digitalen Pin und der LED L1 aus.
Hierbei ist zu beachten: Das Signal ist invertiert. Wird ein hoher Wert gemessen, so resultiert dies in einem niedrigeren Spannungswert am analogen Ausgang.
Das Drehpotentiometer kann wie folgt eingestellt werden:
Anschlussbelegung
Arduino | Sensor |
---|---|
5 V | +V |
GND | GND |
Pin 3 | Digitales Signal |
Pin A0 | Analoges Signal |
Code-Beispiel
Das Programm liest den aktuellen Spannungswert aus, der am analogen Ausgang gemessen werden kann, und gibt diesen auf der seriellen Schnittstelle aus. Zudem wird ebenfalls der Zustand des digitalen Pins in der Konsole angegeben. Dieser gibt an, ob der Grenzwert überschritten wurde.
Um das folgende Codebeispiel auf Ihren Arduino zu laden, empfehlen wir die Verwendung der Arduino IDE. In der IDE können Sie den passenden Port und das richtige Board für Ihr Gerät auswählen.
Kopieren Sie den unten stehenden Code in Ihre IDE. Um den Code auf Ihren Arduino hochzuladen, klicken Sie einfach auf den Upload-Button.
// Deklaration und Initialisierung der Eingang-Pins
int analog_input = A0; // Analoger Ausgang des Sensors
int digital_input = 3; // Digitaler Ausgang des Sensors
void setup () {
pinMode(analog_input, INPUT);
pinMode(digital_input, INPUT);
Serial.begin(9600); // Serielle Ausgabe mit 9600 bps
Serial.println("KY-024 Magnetfelderkennung");
}
// Das Programm liest die aktuellen Werte der Eingang-Pins
// und gibt diese auf der seriellen Ausgabe aus
void loop () {
float analog_value;
int digital_value;
//Aktuelle Werte werden ausgelesen, auf den Spannungswert konvertiert...
analog_value = analogRead(analog_input) * (5.0 / 1023.0);
digital_value = digitalRead(digital_input);
//... und an dieser Stelle ausgegeben
Serial.print("Analoger Spannungswert: ");
Serial.print(analog_value, 4);
Serial.print(" V, \t Grenzwert: ");
if (digital_value == 1) {
Serial.println("erreicht");
}
else {
Serial.println("noch nicht erreicht");
}
Serial.println("----------------------------------------------------------------");
delay(1000);
}
Dieses Modul enthält einen Halleffekt-Schalter, der magnetische Felder erkennt und darauf reagiert. Im Ruhezustand, wenn kein äußeres Magnetfeld vorhanden ist, beträgt die Ausgangsspannung typischerweise die Hälfte der Versorgungsspannung. Wenn sich ein Südmagnetpol der markierten Seite des Sensors nähert, erhöht sich die Ausgangsspannung. Ein Nordmagnetpol hingegen senkt die Ausgangsspannung. Diese Schwankungen sind symmetrisch und ermöglichen präzise Schwellenwertmessungen.
Der Sensor gibt ein digitales High-Signal aus, sobald ein voreingestellter Schwellenwert überschritten wird. Dieser Schwellenwert wird über ein Drehpotentiometer eingestellt und vom eingebauten LM393 Komparator mit dem gemessenen Wert des Sensors verglichen. Wenn der eingestellte Wert überschritten wird, gibt der Sensor ein logisches High-Signal aus.
Der digitale Ausgang signalisiert, ob ein Magnetfeld erkannt wurde, während der analoge Ausgang den direkten Messwert der Sensoreinheit ausgibt. Zwei LEDs zeigen den Betriebsstatus an: LED1 zeigt an, dass der Sensor mit Spannung versorgt ist, und LED2 leuchtet, wenn ein Magnetfeld detektiert wurde.
Dieses Modul ist ideal für Anwendungen, bei denen die Erkennung und Messung von Magnetfeldern erforderlich ist, wie z.B. in Drehzahlsensoren, Positionssensoren oder Sicherheitssystemen. Mit dem Chipsatz AH49E und dem Komparator LM393 bietet es eine zuverlässige und präzise Lösung für die magnetische Felderkennung. Der Sensor arbeitet mit einer Versorgungsspannung von 5V und bietet eine Genauigkeit von 9 bis 12 Bit.
Technische Daten
Technische Daten | |
---|---|
Chipsatz | AH49E, LM393 |
Sensortyp | Hall Effect Transistor/Schalter |
Genauigkeit | 9 bis 12 Bit |
Funktionsbereich | 5V (Bedingt durch die Komponenten) |
Funktionsweise des Sensors
Dieser Sensor besitzt auf seiner Platine zwei funktionelle Bestandteile: Die vordere Sensoreinheit, welche das Umfeld physikalisch misst und als analoges Signal auf die zweite Einheit, den Komparator, ausgibt. Der Komparator vergleicht den Messwert des Sensors mit der am Drehpotentiometer eingestelltem Wert und gibt bei Überschreitung des Wertes am Drehpotentiometer ein logisches High-Signal am digitalen Pin und der LED L1 aus.
Hierbei ist zu beachten: Das Signal ist invertiert. Wird ein hoher Wert gemessen, so resultiert dies in einem niedrigeren Spannungswert am analogen Ausgang.
Das Drehpotentiometer kann wie folgt eingestellt werden:
Anschlussbelegung
Raspberry Pi | Sensor |
---|---|
GPIO 24 [Pin 18] | Digitales Signal |
3,3 V [Pin 1] | +V |
GND [Pin 6] | GND |
- | Analoges Signal |
Sensor | KY-053 |
---|---|
Analoges Signal | A0 |
Digitales Signal | - |
+V | - |
GND | - |
Raspberry Pi | KY-053 |
---|---|
GPIO 3 [Pin 5] | SCL |
GPIO 2 [Pin 3] | SDA |
3,3 V [Pin 1] | VDD |
GND [Pin 6] | GND |
Analoger Sensor, daher muss folgendes beachtet werden: Der Raspberry Pi besitzt, im Gegensatz zum Arduino, keine analogen Eingänge bzw. es ist kein ADC (analog digital Converter) im Chip des Raspberry Pi's integriert. Dies schränkt den Raspberry Pi ein, insofern man Sensoren einsetzen möchte, bei denen keine digitalen Werte ausgegeben werden, sondern es sich um einen kontinuierlich veränderlichen Wert handelt (Beispiel: Potentiometer -> Andere Position = Anderer Spannungswert).
Um diese Problematik zu umgehen, enthält unser Sensorkit X40 mit dem KY-053 ein Modul mit einem 16-Bit ADC, welchen Sie am Raspberry nutzen können, um diesen um 4 analoge Eingänge zu erweitern. Dieser wird per I2C an den Raspberry Pi angeschlossen, übernimmt die analoge Messung und übergibt den Wert digital an den Raspberry Pi.
Somit empfehlen wir bei analogen Sensoren dieses Sets das KY-053 Modul mit dem erwähnten ADC dazwischenzuschalten. Nähere Informationen finden Sie auf der Informationsseite zum KY-053 Analog Digital Converter KY-053 Analog Digital Converter.
Code-Beispiel
Achtung! Für die Verwendung dieses Moduls, in Kombination mit dem KY-053 Analog-Digital-Converter, ist die Einrichtung einer virtuellen Umgebung nötig. Alle hierfür notwendigen Informationen finden Sie hier.
#!/usr/bin/python
# coding=utf-8
import time
import board
import busio
import adafruit_ads1x15.ads1115 as ADS
from adafruit_ads1x15.analog_in import AnalogIn
import gpiozero
# Den I2C-Bus erstellen
i2c = busio.I2C(board.SCL, board.SDA)
# Erstellen des ADC-Objekts über den I2C-Bus
ads = ADS.ADS1115(i2c)
# Single-Ended-Eingang auf den Kanälen erstellen
chan0 = AnalogIn(ads, ADS.P0)
chan1 = AnalogIn(ads, ADS.P1)
chan2 = AnalogIn(ads, ADS.P2)
chan3 = AnalogIn(ads, ADS.P3)
delayTime = 1
Digital_PIN = 24
input = gpiozero.DigitalInputDevice(Digital_PIN, pull_up=None, active_state=True)
while True:
analog = '%.2f' % chan0.voltage
# Ausgabe auf die Konsole
if input.is_active == False:
print ("Analoger Spannungswert:", analog,"V, ","Grenzwert: noch nicht erreicht")
else:
print ("Analoger Spannungswert:", analog, "V, ", "Grenzwert: erreicht")
print ("---------------------------------------")
time.sleep(delayTime)
Dieses Modul enthält einen Halleffekt-Schalter, der magnetische Felder erkennt und darauf reagiert. Im Ruhezustand, wenn kein äußeres Magnetfeld vorhanden ist, beträgt die Ausgangsspannung typischerweise die Hälfte der Versorgungsspannung. Wenn sich ein Südmagnetpol der markierten Seite des Sensors nähert, erhöht sich die Ausgangsspannung. Ein Nordmagnetpol hingegen senkt die Ausgangsspannung. Diese Schwankungen sind symmetrisch und ermöglichen präzise Schwellenwertmessungen.
Der Sensor gibt ein digitales High-Signal aus, sobald ein voreingestellter Schwellenwert überschritten wird. Dieser Schwellenwert wird über ein Drehpotentiometer eingestellt und vom eingebauten LM393 Komparator mit dem gemessenen Wert des Sensors verglichen. Wenn der eingestellte Wert überschritten wird, gibt der Sensor ein logisches High-Signal aus.
Der digitale Ausgang signalisiert, ob ein Magnetfeld erkannt wurde, während der analoge Ausgang den direkten Messwert der Sensoreinheit ausgibt. Zwei LEDs zeigen den Betriebsstatus an: LED1 zeigt an, dass der Sensor mit Spannung versorgt ist, und LED2 leuchtet, wenn ein Magnetfeld detektiert wurde.
Dieses Modul ist ideal für Anwendungen, bei denen die Erkennung und Messung von Magnetfeldern erforderlich ist, wie z.B. in Drehzahlsensoren, Positionssensoren oder Sicherheitssystemen. Mit dem Chipsatz AH49E und dem Komparator LM393 bietet es eine zuverlässige und präzise Lösung für die magnetische Felderkennung. Der Sensor arbeitet mit einer Versorgungsspannung von 5V und bietet eine Genauigkeit von 9 bis 12 Bit.
Technische Daten
Technische Daten | |
---|---|
Chipsatz | AH49E, LM393 |
Sensortyp | Hall Effect Transistor/Schalter |
Genauigkeit | 9 bis 12 Bit |
Funktionsbereich | 5V (Bedingt durch die Komponenten) |
Funktionsweise des Sensors
Dieser Sensor besitzt auf seiner Platine zwei funktionelle Bestandteile: Die vordere Sensoreinheit, welche das Umfeld physikalisch misst und als analoges Signal auf die zweite Einheit, den Komparator, ausgibt. Der Komparator vergleicht den Messwert des Sensors mit der am Drehpotentiometer eingestelltem Wert und gibt bei Überschreitung des Wertes am Drehpotentiometer ein logisches High-Signal am digitalen Pin und der LED L1 aus.
Hierbei ist zu beachten: Das Signal ist invertiert. Wird ein hoher Wert gemessen, so resultiert dies in einem niedrigeren Spannungswert am analogen Ausgang.
Das Drehpotentiometer kann wie folgt eingestellt werden:
Anschlussbelegung
Micro:Bit | Sensor |
---|---|
Pin 1 | Digitales Signal |
3,3 V | +V |
GND | GND |
- | Analoges Signal |
Sensor | KY-053 |
---|---|
Analoges Signal | A0 |
Digitales Signal | - |
+V | - |
GND | - |
Micro:Bit | KY-053 |
---|---|
Pin 19 | SCL |
Pin 20 | SDA |
3,3 V | VDD |
GND | GND |
Analoger Sensor, daher muss folgendes beachtet werden: Der Micro:Bit besitzt analoge Eingänge bzw. es ist ein ADC (analog digital Converter) im Chip des Micro:Bits integriert. Diese sind jedoch nur auf 10-Bit beschränkt und bieten daher nur eine recht geringe Genauigkeit für analoge Messungen.
Um diese Problematik zu umgehen, enthält unser Sensorkit X40 mit dem KY-053 ein Modul mit einem 16-Bit ADC, welchen Sie am Micro:Bit nutzen können, um diesen um 4 analoge Eingänge zu erweitern. Dieser wird per I2C an den Micro:Bit angeschlossen, übernimmt die analoge Messung und übergibt den Wert digital an den Micro:Bit.
Somit empfehlen wir bei analogen Sensoren dieses Sets das KY-053 Modul mit dem erwähnten ADC dazwischenzuschalten. Nähere Informationen finden Sie auf der Informationsseite zum KY-053 Analog Digital Converter KY-053 Analog Digital Converter.
Code-Beispiel
Das Programm nutzt zur Ansteuerung des ADS1115 ADC die entsprechende Bibliothek von uns. Diese wurde unter dem folgenden Link pxt-ads1115 unter der MIT-Lizenz veröffentlicht.
pins.setPull(DigitalPin.P1, PinPullMode.PullUp)
ADS1115.setMode(mode.Multi)
ADS1115.setRate(rate.Rate5)
ADS1115.setGain(gain.One)
ADS1115.initADS1115(userInI2C.Gnd)
basic.forever(function () {
serial.writeString("Analog Value: ")
serial.writeLine("" + (ADS1115.raw_to_v(ADS1115.read(0))))
if (pins.digitalReadPin(DigitalPin.P1) == 1) {
serial.writeLine("Magnetic field detected!")
} else {
serial.writeLine("No magnetic field detected")
}
serial.writeLine("_____________________________________")
basic.pause(1000)
})
Beispielprogramm Download
Dieses Modul enthält einen Halleffekt-Schalter, der magnetische Felder erkennt und darauf reagiert. Im Ruhezustand, wenn kein äußeres Magnetfeld vorhanden ist, beträgt die Ausgangsspannung typischerweise die Hälfte der Versorgungsspannung. Wenn sich ein Südmagnetpol der markierten Seite des Sensors nähert, erhöht sich die Ausgangsspannung. Ein Nordmagnetpol hingegen senkt die Ausgangsspannung. Diese Schwankungen sind symmetrisch und ermöglichen präzise Schwellenwertmessungen.
Der Sensor gibt ein digitales High-Signal aus, sobald ein voreingestellter Schwellenwert überschritten wird. Dieser Schwellenwert wird über ein Drehpotentiometer eingestellt und vom eingebauten LM393 Komparator mit dem gemessenen Wert des Sensors verglichen. Wenn der eingestellte Wert überschritten wird, gibt der Sensor ein logisches High-Signal aus.
Der digitale Ausgang signalisiert, ob ein Magnetfeld erkannt wurde, während der analoge Ausgang den direkten Messwert der Sensoreinheit ausgibt. Zwei LEDs zeigen den Betriebsstatus an: LED1 zeigt an, dass der Sensor mit Spannung versorgt ist, und LED2 leuchtet, wenn ein Magnetfeld detektiert wurde.
Dieses Modul ist ideal für Anwendungen, bei denen die Erkennung und Messung von Magnetfeldern erforderlich ist, wie z.B. in Drehzahlsensoren, Positionssensoren oder Sicherheitssystemen. Mit dem Chipsatz AH49E und dem Komparator LM393 bietet es eine zuverlässige und präzise Lösung für die magnetische Felderkennung. Der Sensor arbeitet mit einer Versorgungsspannung von 5V und bietet eine Genauigkeit von 9 bis 12 Bit.
Technische Daten
Technische Daten | |
---|---|
Chipsatz | AH49E, LM393 |
Sensortyp | Hall Effect Transistor/Schalter |
Genauigkeit | 9 bis 12 Bit |
Funktionsbereich | 5V (Bedingt durch die Komponenten) |
Funktionsweise des Sensors
Dieser Sensor besitzt auf seiner Platine zwei funktionelle Bestandteile: Die vordere Sensoreinheit, welche das Umfeld physikalisch misst und als analoges Signal auf die zweite Einheit, den Komparator, ausgibt. Der Komparator vergleicht den Messwert des Sensors mit der am Drehpotentiometer eingestelltem Wert und gibt bei Überschreitung des Wertes am Drehpotentiometer ein logisches High-Signal am digitalen Pin und der LED L1 aus.
Hierbei ist zu beachten: Das Signal ist invertiert. Wird ein hoher Wert gemessen, so resultiert dies in einem niedrigeren Spannungswert am analogen Ausgang.
Das Drehpotentiometer kann wie folgt eingestellt werden:
Anschlussbelegung
Raspberry Pi Pico | Sensor |
---|---|
GPIO26 (A0) | Analoges Signal |
GND | GND |
3 V | +V |
GPIO18 | Digitales Signal |
Man kann auch einen ADC wie der KY-053 verwenden. Dieser ADC hat eine höhere Auflösung als der interne ADC vom Raspberry Pi Pico, was dazuführt, dass der Sensor genauer ausgewertet werden kann.
Code-Beispiel
Das Programm liest den aktuellen Spannungswert aus, der durch das Auslesen des analogen Ausgangs berechnet werden kann, und gibt diesen auf der seriellen Schnittstelle aus. Zudem wird ebenfalls der Zustand des digitalen Pins in der Konsole angegeben. Dieser gibt an, ob der Grenzwert überschritten wurde.
Um das folgende Codebeispiel auf Ihren Pico zu laden, empfehlen wir die Verwendung von der Thonny IDE. Sie müssen nur zunächst unter Run > Configure interpreter … > Interpreter > Which kind of interpreter should Thonny use for running your code? > MicroPython (Raspberry Pi Pico) auswählen.
Kopieren Sie den untenstehenden Code nun in Ihre IDE und klicken Sie auf Run.
# Bibliotheken laden
from machine import Pin, ADC
from time import sleep
# Initialisierung von ADC0
adc = ADC(0)
# Initialisierung von GPIO18 als Input
digital = Pin(18,Pin.IN, Pin.PULL_UP)
print("KY-024 Magnetfelderkennung")
# Endlosschleife zum Auslesen des ADC
while True:
raw_value = adc.read_u16()
# Umrechnung von Analogwert zu Spannung
Volt = round(raw_value* 3.3 / 65536, 2)
digital_value = digital.value()
# Serielle Ausgabe des Analogwertes und der errechneten Spannung
print("Analoger Spannungswert: " + str(Volt) + " V\t Grenzwert: ", end="")
# Abfrage ob der Digitale Wert sich geändert hat mit Serieller Ausgabe
if digital_value == 1:
print("erreicht")
else:
print("nicht erreicht")
print("----------------------------------------")
sleep(2)