Un ampèremètre embarqué

Un ampèremètre embarqué

Lorsqu'on construit un circuit électrique demandant un peu de puissance, par exemple un modèle réduit télécommandé, il est important de bien savoir quels sont les courants électriques en jeu. C'est indispensable pour dimensionner correctement les fils et l'accu. Lorsque les fils sont trop fins, ils se transforment en chauffage électrique, mais lorsqu'un accu LiPo est sous-dimensionné, il peut se transformer en bombe incendiaire... Le problème, c'est que la consommation ne peut se mesurer qu'en situation réelle, quand le moteur (ou autre consommateur) est réellement en charge. D'où l'intérêt d'utiliser un petit ampèremètre embarqué, dont on peut lire les mesures après-coup par USB. C'est l'occasion de vous présenter le Yocto-Amp, notre nouveau produit.


Le Yocto-Amp est un produit relativement simple à utiliser: Il s'agit d'un ampèremètre isolé, c'est-à-dire que l'électronique de mesure est indépendante de l'électronique USB. Il suffit donc de brancher les contacts de mesure sur un fil dont on désire mesurer le courant (en série), sans se poser d'autre question. Le module peut mesurer des pointes de courant jusqu'à 17 Ampères, mais nous recommandons de ne pas dépasser 10 Ampères en continu pour éviter que la température du composant de mesure ne monte trop.

Le Yocto-Amp
Le Yocto-Amp



Pour prendre un exemple réel, nous utiliserons un petit avion télécommandé de la flotte Yoctopuce. Le branchement du Yocto-Amp est très simple: on soude un petit connecteur en parallèle sur les fils d'alimentation USB afin de pouvoir alimenter le module, qui utilisera le même 5V utilisé dans l'avion pour alimenter le récepteur radio, et on remplace le bornier à vis un peu lourd par des connecteurs légers, en insérant l'ampèremètre sur l'alimentation (attention, ne le branchez surtout pas en parallèle entre les deux fils, sinon vous allez faire un terrible court-circuit!).

Le même, une fois adapté pour le modélisme
Le même, une fois adapté pour le modélisme



Notre banc de test volant
Notre banc de test volant



Le Yocto-Amp, une fois installé dans l'avion
Le Yocto-Amp, une fois installé dans l'avion



Le schéma de l'installation dans l'avion
Le schéma de l'installation dans l'avion



Ensuite, pour que l'ampèremètre enregistre des mesures chaque seconde sur sa mémoire flash, il suffit de connecter le module par USB, et d'utiliser un des programme d'exemple fournit dans la librairie Yoctopuce pour activer l'enregistrement automatique à chaque mise sous tension. Il ne reste ensuite plus qu'à faire un vol de test...

En route pour effectuer les mesures en vol
En route pour effectuer les mesures en vol



Une fois le vol terminé, on débranche le Yocto-Amp de l'alimentation et on le rebranche via USB pour relire les mesures. L'interface du datalogger permet de relire directement des valeurs en milliampère (mA), avec une précision nominale de 1%. Pour rendre cet exemple un peu visuel, nous allons faire un petit script qui relit les valeurs stockées par l'enregistreur de données et générer automatiquement une séquence d'images JPEG contenant l'évolution de la consommation (graphique), que pourrons convertir en vidéo et superposer à la vidéo du vol.

Certains utilisateurs nous ayant fait part du fait que l'interface pour accéder à l'enregistreur de données actuelle était un peu complexe à utiliser, et qu'il lui manquait la possibilité de choisir la période d'échantillonnage des valeurs lues, nous vous préparons une version plus simple à utiliser et plus puissante. Cet exemple de code illustre son utilisation en PHP, en conjonction avec la librairie jpgraph.

include_once("yocto_api.php");
include_once("yocto_datalogger.php");
include_once("jpgraph.php");
include_once("jpgraph_line.php");
include_once("jpgraph_plotline.php");

// Connect to data logger
yRegisterHub("http://127.0.0.1:4444");
$logger = yFirstDataLogger();
if(is_null($logger)) {
    die("No data logger connected\n");
}

// Find the latest run longer than 300 seconds
$runIdx = $logger->get_currentRunIndex();
do {
    $run = $logger->get_dataRun($runIdx);
    $len = $run->get_duration();
} while($len < 300 && --$runIdx >= $logger->get_oldestRunIndex());

// Create a sequence of sliding graphs for this run, starting at t=130[s]
$run->set_valueInterval(1);
$start = 130;
for($f = 0; $f < 150; $f++) {
    $xaxis = Array();
    $data = Array();
    for($i = -20; $i <= 0; $i++) {
        $xaxis[] = $i;
        $data[] = $run->get_averageValue("currentDC", $start+$f+$i) / -1000;
    }
    $graph = new Graph(600,350);
    $graph->SetScale('intlin',0,7);
    $graph->SetMargin(60,60,40,50);
    $graph->xaxis->SetFont(FF_FONT2,FS_BOLD);
    $graph->yaxis->SetFont(FF_FONT2,FS_BOLD);
    $graph->title->Set("In-flight current measure");
    $graph->title->SetFont(FF_FONT2,FS_BOLD);
    $plot = new LinePlot($data,$xaxis);
    $graph->Add($plot);
    $plot->SetColor('#ff0000');
    $txt = new Text(end($data)." Amp", 260, 50);
    $txt->SetFont(FF_FONT2,FS_BOLD);
    $graph->Add($txt);
    $graph->img->SetImgFormat('jpeg');
    $graph->Stroke(sprintf("frames/%04u.jpg", $f));
}
// Start this script using command: php graph.php
// Then convert images to a movie:  ffmpeg -r 1 -b 1800 -i %04d.jpg currentDC.mp4



Et voilà le résultat:

  
Mesures de consommation prises avec un ampèremètre embarqué



Vous trouverez le Yocto-Amp en vente sur notre shop d'ici quelque jour, dès que la documentation sera finalisée!

Commenter aucun commentaire Retour au blog












Yoctopuce, get your stuff connected.