L Meter Click Board
L Meter Click Board
Overview
The L Meter Click Board™ is a compact and accurate Click Board™, capable of measuring and monitoring the inductance of the external component. The board can be used to measure a wide range of inductance. The design is based on a single high-speed voltage comparator LM311 by which the frequency of the oscillating LC circuit is measured and, based on the known value of capacitance, measures the unknown inductance value.
The L Meter Click Board™ can be used to measure inductance as well as to check the accuracy and precision of the coil.
The L-Meter 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 The L-Meter Click Board™ Work?
The principle how L meter Click Board™ 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 labelled 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 Board™ 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 |
Compatibility | mikroBUS |
Click Board™ size | M (42.9 x 25.4 mm) |
Input Voltage | 5V |
PINOUT DIAGRAM
This table shows how the pinout on L meter Click Board™ 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
Software Support
We provide a library for the L meter Click Board™ 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.
Example 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:
Conversions Library
Additional Notes and Information
Depending on the development board you are using, you may need USB UART Click Board™, USB UART 2 Click Board™ or RS232 Click Board™ 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.
The online instant HTML beautifier tools make a great resource that will help you a lot in your work.
Software Support
Software Support
We provide a library for the L meter Click Board™ 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.
Example 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:
Conversions Library
Additional Notes and Information
Depending on the development board you are using, you may need USB UART Click Board™, USB UART 2 Click Board™ or RS232 Click Board™ 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.
The online instant HTML beautifier tools make a great resource that will help you a lot in your work.
Frequently Asked Questions
Have a Question?
Be the first to ask a question about this.