Блог ветерана разработок

Датчики - KY-024 сенсор магнитный Холла

НАЗНАЧЕНИЕ
   Сенсор магнитный Холла KY-024  предназначен для измерения величины и направления магнитного поля  от  -1000   до +1000 Гаусс

ВНЕШНИЙ ВИД

 

Рабочий диапазон изм.    ±1000 Гаусс
Темпер.дрейф нуля    ±0,10 % на °C
Чувствительность    1,4 мВ/Гаусс     
Uпит                    3,0…6,5    В
Iпит             6 мА
Iвых max        10 мА
Выходной каскад        PNP

 

 

 

 

 

БЛОК- СХЕМА  СЕНСОРА  SS49E ФИРМЫ HONEYWELL

С выхода сенсора SS49E (Output)  сигнал подается разъем A0  модуля и на один из входов  компаратора LM393. На второй вход компаратора  подается аналоговый уровень,   который можно устанавливать  построечным сопротивлением.  При превышении  выставленного  уровня  компаратор срабатывает и на выходе  D0  модуля  устанавливается Лог «1», которая  сигнализирует,  что магнитное поле превысило заданное значение.  Это событие также дублируется «зажиганием» светодиода, расположенного на плате модуля


ПОРЯДОК РАБОТЫ
1.  Собрать схему,  изображенную на Рисунке
2. Залить  скетч   Hall_SS49E_UNO_OK.ino


СКЕТЧИ
Hall_SS49E_UNO_OK.ino

/*************************************************************************
Програма   тестирования  Датчика магнитного Холла GY-024   Артикул: EC?????  
     http://e????????

          Файл Hall_SS49E_UNO_OK.ino
Выводит на экран монитора заначение магнитного поля
При включении реле зогорается системный светодиод на плате Arduino UNO

Подготовлена  26  марта 2016г   Мащенко В.И.    mvi54@mail.ru

Arduino UNO     Модуль Холла GY-024    
    A0              A0                    
    A1              D0    
    +5V             +             
    GND             G                   
***************************************************************************/

const char Hall_Analog_pin  = A0;    //
const char Hall_Digital_pin =  A1;   //

unsigned int  Hall_ADC;
float         Hall_Voltage ;
float         Hall_GAUS ;

// Микросхема  SS49E имеет линейную зависимость выходного напряжения от величины измеряемого магнитного поля
//         Uвых=1в    соответствует  GAUSS=-1000
//         Uвых=4в    соответствует  GAUSS=+1000
const float min_GAUS=-1000.0;         
const float max_GAUS= 1000.0;  
const float min_Voltage= 1.0;  
const float max_Voltage= 4.0;       

boolean  Hall_Digital;

unsigned long time_Delay;


void setup()
{
  Serial.begin (9600);
  pinMode (Hall_Analog_pin, INPUT);
  pinMode (Hall_Digital_pin , INPUT);
  time_Delay = 1000;                     // 1 сек
}

void loop()
{    
     Hall_Digital  = digitalRead (Hall_Digital_pin);
     Hall_ADC      = analogRead  (Hall_Analog_pin);
     Hall_Voltage  = Hall_ADC*(5.0/1024);
     
     Hall_GAUS = mapfloat(Hall_Voltage, min_Voltage , max_Voltage ,  min_GAUS, max_GAUS);

     Serial.print ("Hall_Digital=");
     Serial.print (Hall_Digital);
     Serial.print ("		");
 
     Serial.print ("Hall_ADC=");
     Serial.print (Hall_ADC);
     Serial.print ("	");
    
     Serial.print ("Hall_Voltage=");
     Serial.print (Hall_Voltage);
     Serial.print ("	");
     
     Serial.print ("Hall_GAUS=");
     Serial.print (Hall_GAUS);
     Serial.print ("
");
    
     delay (time_Delay);
}

float mapfloat(float x, float in_min, float in_max, float out_min, float out_max)
{// функция масштабирование  переменной типа float
  return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}

Share This Post: