Module Click Board MIKROE3240 avec capteur inductance numérique
Dont 0,01 € d'eco-participation déjà incluse dans le prix
Ce module Click Board intègre un capteur LDC1101 à liaison SPI, lequel s'apparente à un convertisseur industance -> Numérique" disponible sur le marché.
Ce module peut être utilisé pour le comptage d'objets à grande vitesse, la détection de la vitesse d'un moteur, pour le développement de divers boutons, claviers et autres types d'applications basées sur l'IHM. En utilisant la capacité de détecter à la fois les propriétés d'impédance et d'inductance, il est possible de développer des applications de composition métallique et de détection de métal.
Le LDC1101 est équipé du LDC1101, le convertisseur inductance-numérique intégré haute résolution et haute vitesse. Le convertisseur permet de mesurer à la fois l'inductance et l'impédance. Le mode impédance rapide + inductance (R P + L) offre des lectures 16 bits séparées pour les deux paramètres, tandis que le mode inductance haute résolution (LHR) offre une lecture unique avec une résolution de 24 bits.
Deux noyaux de détection fonctionnent indépendamment. Un noyau offre des lectures rapides d'impédance et d'inductance (RP + L) avec une résolution de 16 bits, tandis que l'autre noyau offre des lectures 24 bits haute résolution de l'inductance (LHR). Alors que le RP + L est capable de fonctionner sans horloge d'entrée, le mode LHR nécessite un signal d'horloge à la broche CLKIN.
Le LDC 1101 propose deux modes de faible consommation: le mode d'arrêt et le mode veille. Dans les deux modes, le CI n'exécute activement aucune conversion. En mode d'arrêt, toutes les sections du LDC1101 sont éteintes, de sorte que le moins de courant est consommé. La section logique du LDC1101 devient active en mode veille, et ce mode est utilisé pour configurer les paramètres de fonctionnement. La configuration de l'IC n'est valide qu'en mode veille. Le mode actif utilise le plus d'énergie lorsque tout le circuit intégré devient opérationnel.
Le principe de fonctionnement principal est basé sur la mesure des paramètres de l'oscillateur LC, formé par un tracé de cuivre PCB et un condensateur: lorsqu'un objet conducteur s'approche, il est couplé magnétiquement avec l'oscillateur LC, piloté par le CI LDC1101. Le LDC1101 mesure alors la quantité d'énergie qu'il doit fournir, afin de soutenir l'oscillation. La perte de puissance du circuit oscillateur est proportionnelle à l'impédance de l'objet conducteur, qui est ensuite échantillonné et devient disponible sous forme de valeur numérique. Étant donné que la valeur d'impédance est affectée par la distance de l'objet, elle peut être utilisée pour déterminer la distance de l'objet par rapport à l'oscillateur LC. De même, en ayant une distance fixe et connue de l'objet conducteur, et en mesurant les paramètres d'impédance (et d'inductance), il est possible de déterminer sa composition.
Le module est prévu pour être piloté par votre microcontrôleur au moyen d'une liasion SPI. Il est déstiné à être alimenté sous une tension de +3,3 V.
Pouvant être utilisé et piloté par la plupart des microcontrôleurs, sa conception vous permettra de pouvoir l'insérer sur des plaques de développement sans soudure (type BreadBoard). Consultez ce lien pour une présentation générales des modules Click Board
Il est également directement compatibles avec les platines de développement mikroElektronika (telles que l'EasyPIC7, l'EasyPIC Fusion, l'EasyAVR7 ou encore la platine Flip & Click - voir en bas de page).
A l'aide de platines d'adaptations additionnelles, il vous sera également possible de les enficher sur des plateformes arduino™ (UNO ou Mega2560) ou Rasberry Pi ou BeagleBone Black.
Du code source pour vos modules Click™ Board !
Disposer d'une solution matérielle pour développer c'est bien... mais disposer du code source associé pour faciliter une intégration au sein de son application... c'est mieux ! C'est ce que vous propose mikroelektronika (le fabricant des modules Click Board) par l'intermédiaire d'un site Internet dédié à cet usage. Des exemples de programmes dédiés (suivant les modules Click Board) aux PIC, dsPIC, PIC24, PIC32, ARM™, FT90x, AVR, 8051 avec les compilateurs "C" (mikroC) sont disponibles afin de vous permettre une prise en main rapide et intuitive du module.
Connectez vous sur le www.libstock.com pour accélérer la mise en oeuvre des modules "Click Board".
Nous proposons également ci-dessous une application avec un arduino™
Enfichez le module MIKROE-1583 sur la platine MIKROE-1581... Puis enfichez le tout sur la platine arduino™ (A000066) ou réalisez les connexions ci-dessous entre la platine Arduino™ (A000066) et le module MIKROE-1583 (si vous ne disposez pas de la platine d'interface MIKROE-1581).
Programme Arduino
/************************************************************************
*
* Test du module "LDC1000 click"
*
*************************************************************************
* Le passage d'une pièce métallique devant le capteur incrémente une variable
* qui est affichée dans le moniteur série
*
* Matériel
* 1 Arduino Uno (A000066)
* 1 Shield "Click" pour arduino UNO (Réf. : MIKROE-1581)
* 1 Module "LDC1000 click" (Réf.: MIKROE-1583) inséré sur le support N°1 du shield
* ou divers straps mâles/femelles (réf.: PRT-12794) si vous ne disposez pas de
* de la platine shield MIKROE-1581)
* Schéma publié sous licence CC Attribution-ShareALike (Arduino et ses connexions réalisés avec Fritzing)
*
************************************************************************/
#include <SPI.h> // appel de la bibliothèque
// Affectation des broches
#define CS 10 // broches de la liaison SPI
#define MOSI 11
#define MISO 12
#define SCK 13
// Configuration des registres
#define POWER_CONFIGURATION 0x0B
#define RP_MAX 0x01
#define RP_MIN 0x02
#define INTB_CONFIGURATION 0x0A
#define COMPARATOR_TRESHOLD_HIGH_LSB 0x06
#define COMPARATOR_TRESHOLD_HIGH_MSB 0x07
#define COMPARATOR_TRESHOLD_LOW_LSB 0x08
#define COMPARATOR_TRESHOLD_LOW_MSB 0x09
#define PROXIMITY_LSB 0xA1
#define PROXIMITY_MSB 0xA2
unsigned int donnee=0;
unsigned int donnee_LSB = 0;
unsigned int donnee_MSB = 0;
unsigned int comptage=0;
void setup(void)
{
Serial.begin(9600); // initialisation de la liaison série
// Configuration des broches
pinMode(CS, OUTPUT);
pinMode(MOSI, OUTPUT);
pinMode(SCK, OUTPUT);
pinMode(MISO, INPUT);
// Configuration de la liason SPI
SPI.begin();
SPI.setBitOrder(MSBFIRST);
SPI.setDataMode(SPI_MODE0);
SPI.setClockDivider(SPI_CLOCK_DIV4);
// Configuration du LDC1000
digitalWrite(CS,LOW); // début de la communication SPI
SPI.transfer(POWER_CONFIGURATION); // écriture dans le registre POWER_CONFIGURATION
SPI.transfer(0x00); // mode Standby
digitalWrite(CS,HIGH); // fin de la communication SPI
digitalWrite(CS,LOW); // début de la communication SPI
SPI.transfer(RP_MAX); // écriture dans le registre RP_MAX
SPI.transfer(0x0E); // 83.111 KΩ
digitalWrite(CS,HIGH); // fin de la communication SPI
digitalWrite(CS,LOW); // début de la communication SPI
SPI.transfer(RP_MIN); // écriture dans le registre RP_MAX
SPI.transfer(0x3B); // 2.394 KΩ
digitalWrite(CS,HIGH); // fin de la communication SPI
digitalWrite(CS,LOW); // début de la communication SPI
SPI.transfer(INTB_CONFIGURATION); // écriture dans le registre INTB_CONFIGURATION
SPI.transfer(0x00); // mode d'interruption dévalidé
digitalWrite(CS,HIGH); // fin de la communication SPI
digitalWrite(CS,LOW); // début de la communication SPI
SPI.transfer(COMPARATOR_TRESHOLD_HIGH_LSB); // écriture dans le registre COMPARATOR_TRESHOLD_HIGH_LSB
SPI.transfer(0x50);
digitalWrite(CS,HIGH); // fin de la communication SPI
digitalWrite(CS,LOW); // début de la communication SPI
SPI.transfer(COMPARATOR_TRESHOLD_HIGH_MSB); // écriture dans le registre COMPARATOR_TRESHOLD_HIGH_MSB
SPI.transfer(0x14);
digitalWrite(CS,HIGH); // fin de la communication SPI
digitalWrite(CS,LOW); // début de la communication SPI
SPI.transfer(COMPARATOR_TRESHOLD_LOW_LSB); // écriture dans le registre COMPARATOR_TRESHOLD_LOW_LSB
SPI.transfer(0xC0);
digitalWrite(CS,HIGH); // fin de la communication SPI
digitalWrite(CS,LOW); // début de la communication SPI
SPI.transfer(COMPARATOR_TRESHOLD_LOW_MSB); // écriture dans le registre COMPARATOR_TRESHOLD_LOW_MSB
SPI.transfer(0x12);
digitalWrite(CS,HIGH); // fin de la communication SPI
digitalWrite(CS,LOW); // début de la communication SPI
SPI.transfer(POWER_CONFIGURATION); // écriture dans le registre POWER_CONFIGURATION
SPI.transfer(0x01); // mode actif
digitalWrite(CS,HIGH); // fin de la communication SPI
}
void loop()
{
digitalWrite(CS,LOW); // début de la communication SPI
SPI.transfer(PROXIMITY_LSB); // lecture dans le registre PROXIMITY_LSB
donnee_LSB=SPI.transfer(0x00); // récupération de l'octet de poids faible de la donnée
digitalWrite(CS,HIGH); // fin de la communication SPI
digitalWrite(CS,LOW); // début de la communication SPI
SPI.transfer(PROXIMITY_MSB); // lecture dans le registre PROXIMITY_MSB
donnee_MSB=SPI.transfer(0x00); // récupération de l'octet de poids fort de la donnée
digitalWrite(CS,HIGH); // fin de la communication SPI
donnee=(donnee_MSB << 8) | (donnee_MSB); // reconstitution de la donnée sur deux octets
if (donnee>9000) // si détection de pièce
{
comptage=comptage+1;
delay(400); // pause pour éviter de compter la même pièce plusieurs fois
}
// Affichage dans le moniteur série
Serial.print("Valeur : ");
Serial.print(donnee);
Serial.print("t");
Serial.print("Nombre de pieces : ");
Serial.println(comptage);
}
Cette note d'application a retenu votre attention ? Consultez toutes nos autres notes d'applications concernant les modules Click Board et les Arduino™
Note d'application Click Board™ et Arduino™ (TOME 1)
Note d'application Click Board™ et Arduino™ (TOME 2)
Note d'application Click Board™ et Arduino™ (TOME 3)
Note d'application Click Board™ et Arduino™ (TOME 4)
Note d'application Click Board™ et Arduino™ (TOME 5)
Note d'application Click Board™ et Arduino™ (TOME 6)
Note d'application Click Board™ et Arduino™ (TOME 7)
Note d'application Click Board™ et Arduino™ (TOME 8)
Note d'application Click Board™ et Arduino™ (TOME 9)
Note d'application Click Board™ et Arduino™ (TOME 10)
Téléchargez également les fichiers sources de ces notes d'applications
Les modules Click™ Board sont utilisés dans les établissements scolaires !
Lextronic propose également désormais aux professeurs de recevoir (par email) et sur simple demande différents TP leur permettant de mettre en oeuvre divers modules Click Board avec une platine arduino UNO.
En tant que professeur, il vous suffit de nous adresser votre demande via notre adresse email lextronic@lextronic.fr (en précisant le nom et l'adresse de votre établissement) - Seules les demandes en provenance d'une adresse email académique seront traitées (les demandes via des comptes free, gmail, hotmail, etc... ne pourront pas être traitées - Merci de votre compréhension).
Ces différents TP sont composés:
- d'une documentation technique
- des programmes Arduino™
- des schémas (sous Proteus)
- des corrigés
Produits associés