Hallovo čidlo, Hallův senzor, Hallova sonda nebo také hallovka – všechna tyto pojmenování patří čidlu fungujícím na bázi Hallova jevu. Uplatnění tohoto čidla najdete v miliónech komerčních zařízení i ve světě bastlířů – ESP32, Arduino.
Jak ale funguje a k čemu jej můžeme použít?
Pokud jste někdo Hallovo čidlo viděli, tak asi v tomto TO-92 pouzdře. Možná i na nějakém modulu s logickým a analogovým výstupem, ale věděli jste, že Hallova sonda je třeba přímo v populárním Wi-Fi a Bluetooth modulu s ESP32?
Funkce Hallova čidla
Edwin Hall v roce 1879 objevil efekt, který je nazýván po svém objeviteli – hallův jev a princip tohoto hallova jevu je velmi jednoduchý.
Skrze polovodičovou desku teče proud a díky kolmému magnetickému poli je náboj v destičce přeskupen na jednu stranu a toto přeskupení vytvoří měřitelné napětí na jeho okrajích (stranách). Toto napětí je úměrné síle magnetického pole.
Zapojení Hallovy sondy
Výstupním napětím z hallovky můžete přímo ovládat tranzistor, který bude spínat například LEDku nebo přidat Schmittův klopný obvod a dostat tak digitální logický výstup.
Nechceteli pájet, může vám přijít vhod vývojový kit, na kterém najdete všechny potřebné součástky.
Keyes KY-024 má kromě napájení i výstupy a to jak analogový, tak rovnou i ten digitální.
Výstupní napětí z Hallova čidla samozřejmě můžete měřit například AD převodníkem integrovaným v Arduino vývojové desce a na základě této hodnoty vyhodnotit okolní magnetické pole.
Použití Hallova čidla s Arduino
Jak jsme zmínili výše, i populárním ESP32 má Hallovo čidlo přímo v sobě. Práce s ESP32 je díky široké podpoře velmi jednoduchá a po instalaci základního balíčku do Arduino IDE vám stačí zavolat jednu funkci.
hallRead();
Tato funkce vám vrátí aktuální hodnotu z Hallova snímače. A že to funguje můžete vyzkoušet pomocí tohoto jednoduchého kódu a vývojové desky s ESP32 (třeba LilyGO TTGO ESP32 nebo MH-ET LIVE ESP32 MiniKIT)
void setup() {
//inicializace Serial
Serial.begin(115200);
}
void loop() {
// proměnná pro čtení dat
int hodnota = 0;
// čtení hodnoty z hallova čidla
hodnota = hallRead();
// zobrazení hodnoty v serial terminal
Serial.println(hodnota);
// čekání
delay(1000);
}
Měřenou hodnotu ovlivníte přiložením magnetu.
Příklady použití Hallovy sondy
Jistě vás během čtení tohoto článku napadla spousta nápadů na jeho použití, my tu vyjmenujeme ty, které napadly i nás.
- detekce otáček. Cokoliv, co se otáčí můžete pomocí Hallova snímače detekovat. Od otáček motoru až po využití v anemometru vaší meteo stanice.
- detekce otevření dveří. Na jedné straně je Hallovo čidlo, na straně druhé pak magnet. Při vychýlení – otevření či zavření dveří – se magnetické pole změní, tím i Hallovo napětí a tuto změnu můžete měřit.
- detekce přiblížení. Magnet nemusí být moc blízko čidlu a vy už o něm víte a jak se magnet přibližuje, roste i napětí na hallovce.
10 Responses
Upozornění na překlep:
V článku je uvedeno: „my tu vyjmenujeme ty, které napadli i nás.“,
správně má být: „my tu vyjmenujeme ty, které napadly i nás.“.
A má to vliv na čidlo ?!
No na čidlo patrně ne, ale rozhodně na kulturu komunikace… nicméně, to dnes málokomu dochází.
Aby ses nepos….
Dobrý den,
chtěl bych se zeptat jak provést instalaci balíčku: hallRead(). Je potřeba uvedený kód zkopírovat a vložit jako knihovnu?
Děkuji za odpověď.
Dobrý den, tato funkce se nijak nedoinstalovává, je již součástí balíčku podpory pro ESP32. Máte zvolenu správnou desku? Někdy je nutné podporu pro desky ESP32 znovu nainstalovat.
jsem naprostý laik v prostoru elektroniky. opravuji robot, kde se ulomily dráty k Hallovu snímači.
teď jenom vím, že do snímače musí přijít + -, prostřední kontakt sleduje ty otáčky.
Je to + a – závazné ? nebo to případně můžu zapojit i obráceně ?
díky za Váš čas
Polaritu napájení nelze zaměnit.
Dobrý den, já se chci zeptat . Mám motor z elektrokola a jsou tam 4 senzory. Každý má na sobě vytištěné číslo. Na jednom je 3144
309 a na zbylých třech je 3144
235x. Hledal jsem a hledám a to označení nemůžu najít. Otázka zní co ty spodní čísla znamenají a jestli ty konkrétní senzory můžu nahradit jinými. Asi jsem za trotla, ale já jsem zedník . (Vím že bych to vyřešil že bych to poslal do servisu, nebo koupi motoru nového, ale nevím kde je takový servis a nový motor stojí 8000 Kč.) Díky a jestli jsem pobavil tak jsem rád, ale srandu si nedělám. Pěkný den přeji
Upřímně? Číslo jako takové nemá vypovídací schopnost, ideální by bylo přiložit fotografie motoru s danými senzory a nejlépe detaily jednotlivých součástek, aby případný obchodník (resp. odborník) porovnal se znalostmi o součástkách a vyřkl (napsal) doporučení co s tím, kde sehnat (koupit), kdo je na to šikovný a kdo to uhradí … 🙂
Pěkný slunečný a pohodový den přeji.