Click board™ contains all the necessary components needed for a reliable measuring of coil inductance L, which in combination with host MCU makes it ideal in all applications where accurate inductance measuring is needed.Featuring four standard different SMD footprint size and two universal connectors for trought hole components, it's universal tool for any development.
How does it work?
The principle how L meter click works is very simple. In series with the measured coil is C1 capacitor, thus forming the LC circuit when the coil is present. The reference value on a high-speed voltage comparator LM311 is a half of the power supply voltage 2.5V. When the coil is added to the comparator input, the transistor briefly drops the coil to the ground, which is at on the half of the power voltage. The coil and the capacitor then start oscillating a resonant frequency that depends on the capacitor and the value of the coils. Since the capacitor has the fixed capacitance, the only variable is the inductance of the coil which can be calculated by:
2 * pi * F = 1 / sqrt (L * C)
This Click board™ is designed to use only next mikroBUS™ pins: PWM output as a Trigger signal and INT – Hardware Interrupt that receive a square wave frequency output from Click board™. Pins PWM and INT and are labeled as TS and FO, respectively. The board has two type of terminals for a coil connection: TB1 screws terminals and TS2 female header terminals. L meter click also have four blank SMD places, to allow soldering different SMD coils for measuring directly onboard .
Specifications
Type |
Measurements |
Applications |
It can be used to measure inductance as well as to check the accuracy and precision of the coil. |
On-board modules |
LM311D, a high-speed voltage comparator from Texas Instruments |
Key Features |
Low power consumption, high level of integration, simple use |
Interface |
GPIO |
Input Voltage |
5V |
Click board size |
M (42.9 x 25.4 mm) |
Pinout diagram
This table shows how the pinout on L meter click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Notes |
Pin |
|
Pin |
Notes |
---|
|
NC |
1 |
AN |
PWM |
16 |
TS |
Trigger switch |
|
NC |
2 |
RST |
INT |
15 |
FO |
Frequency out |
|
NC |
3 |
CS |
RX |
14 |
NC |
|
|
NC |
4 |
SCK |
TX |
13 |
NC |
|
|
NC |
5 |
MISO |
SCL |
12 |
NC |
|
|
NC |
6 |
MOSI |
SDA |
11 |
NC |
|
|
NC |
7 |
3.3V |
5V |
10 |
5V |
Power Supply |
Ground |
GND |
8 |
GND |
GND |
9 |
GND |
Ground |
Onboard settings and indicators
Label |
Name |
Default |
Description |
---|
LD1 |
PWR |
- |
Power LED Indicator |
TB1 |
Lx-IN |
- |
Inductor connector |
TS2 |
Lx-IN |
- |
Inductor connector |
Software support
We provide a library for the L meter click on our LibStock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Library Description
Library contains all the necessary functions for successfully reading Frequency and Inductance on the indicator.
Key functions:
uint32_t lmeter_getFrequency()
- Frequency reading function.
float lmeter_getCoilInductance()
- Inductances reading function.
void lmeter_tick()
- Timer Tick functions.
Examples description
The application is composed of the three sections :
- System Initialization - Sets PWM pin as OUTPUT and INT pin as INPUT.
- Application Initialization - Initialization driver init and Timer init.
- Application Task - Reads the frequency and induction on the inductor in [uH] and this data logs to USBUART. - Waits for valid user input and executes functions based on set of valid commands.
- Commands :
'F' - For calculating and logging frequencies
'L' - For calculating and logging inductances
'T' - Enabling and disabling additional C2 capacitors
void applicationTask()
{
uint8_t dataReady_;
char receivedData_;
dataReady_ = UART_Rdy_Ptr( );
if (dataReady_ != 0)
{
receivedData_ = UART_Rd_Ptr( );
switch (receivedData_)
{
case 'F' :
{
mikrobus_logWrite(" --- PLEASE WAIT FOR THE CALCULATION PROCESS TO COMPLETE ---", _LOG_LINE);
lmeter_setTimer();
_Frequency = lmeter_getFrequency();
if (_Frequency < _LMETER_MIN_INDUCTANCE_RANGE)
{
mikrobus_logWrite(" Frequency is out of range !!! ", _LOG_LINE);
mikrobus_logWrite(" ", _LOG_LINE);
}
else
{
FloatToStr(_Frequency, demoText);
mikrobus_logWrite(" Frequency = ", _LOG_TEXT);
mikrobus_logWrite(demoText, _LOG_TEXT);
mikrobus_logWrite(" kHz ", _LOG_LINE);
mikrobus_logWrite(" ", _LOG_LINE);
}
break;
}
case 'L' :
{
mikrobus_logWrite(" --- PLEASE WAIT FOR THE CALCULATION PROCESS TO COMPLETE ---", _LOG_LINE);
lmeter_setTimer();
_Frequency = lmeter_getFrequency();
if (_Frequency < _LMETER_MIN_INDUCTANCE_RANGE)
{
mikrobus_logWrite(" Frequency is out of range !!! ", _LOG_LINE);
mikrobus_logWrite(" ", _LOG_LINE);
}
else
{
_Inductance = lmeter_getCoilInductance(_Frequency);
FloatToStr(_Inductance, demoText);
mikrobus_logWrite(" Inductance = ", _LOG_TEXT);
mikrobus_logWrite(demoText, _LOG_TEXT);
mikrobus_logWrite(" uH ", _LOG_LINE);
mikrobus_logWrite(" ", _LOG_LINE);
}
break;
}
case 'T' :
{
if (T_SW == _LMETER_T_SW_ENABLE)
{
T_SW = _LMETER_T_SW_DISABLE;
lmeter_setTSpin( _LMETER_T_SW_DISABLE );
mikrobus_logWrite(" --- NEW SETTINGS - DISABLE [C2] CAPACITOR --- ", _LOG_LINE);
mikrobus_logWrite("* The sum of all the capacitors is 1000pF ", _LOG_LINE);
mikrobus_logWrite("* Disabled capacitor [C2]", _LOG_LINE);
}
else
{
T_SW = _LMETER_T_SW_ENABLE;
lmeter_setTSpin( _LMETER_T_SW_ENABLE );
mikrobus_logWrite(" --- NEW SETTINGS - ENABLE [C2] CAPACITOR --- ", _LOG_LINE);
mikrobus_logWrite("* The sum of all the capacitors is 500pF ", _LOG_LINE);
mikrobus_logWrite("* Active new capacitor [C2]", _LOG_LINE);
}
break;
}
}
}
}
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
Additional notes and informations
Depending on the development board you are using, you may need USB UART click, USB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.
mikroSDK
This Click board™ is supported with mikroSDK - MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant Click board™ demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
For more information about mikroSDK, visit the official page.