{"id":144,"date":"2021-07-03T22:41:30","date_gmt":"2021-07-03T21:41:30","guid":{"rendered":"https:\/\/avionicsduino.com\/?page_id=144"},"modified":"2025-09-26T21:15:24","modified_gmt":"2025-09-26T20:15:24","slug":"micro-ems-arduino","status":"publish","type":"page","link":"https:\/\/avionicsduino.com\/index.php\/fr\/lavionique-open-source\/micro-ems-arduino\/","title":{"rendered":"Micro-EMS Arduino"},"content":{"rendered":"\n<p style=\"font-size:10px\"><em>(Mise \u00e0 jour par Benjamin le 17\/04\/2023)<\/em><\/p>\n\n\n\n<p class=\"has-dark-gray-color has-text-color has-background\" style=\"background:radial-gradient(rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%)\">Une <a href=\"https:\/\/avionicsduino.com\/index.php\/fr\/micro-ems-teensy\/\" title=\"Micro-EMS Teensy\">nouvelle version du Micro-EMS<\/a>, bas\u00e9e sur une carte Teensy 4.0, est d\u00e9sormais disponible.<\/p>\n\n\n\n<p>L&rsquo;EMS (Engine Monitoring System) est l&rsquo;appareil d\u00e9di\u00e9 \u00e0 la surveillance du fonctionnement du moteur. Il centralise les informations de tous les capteurs et affiche les r\u00e9sultats en temps r\u00e9el sur un \u00e9cran. Les param\u00e8tres habituellement surveill\u00e9s sur un avion l\u00e9ger monomoteur \u00e0 pistons sont la vitesse de rotation (RPM), la pression et la temp\u00e9rature de l&rsquo;huile, les temp\u00e9ratures des culasses et des gaz d&rsquo;\u00e9chappement, le d\u00e9bit et le niveau du carburant, la pression d&rsquo;admission, la tension et l&rsquo;intensit\u00e9.<\/p>\n\n\n\n<p>Le micro-EMS pr\u00e9sent\u00e9 ici repose sur une carte Arduino Uno. C&rsquo;est le tout premier syst\u00e8me AvionicsDuino qui a \u00e9t\u00e9 mis au point, et le plus simple. Pour ces raisons, bien qu&rsquo;obsol\u00e8te, il a encore sa page sur le site. Micro-EMS, car en dehors de sa petite taille, il ne surveille qu&rsquo;un petit nombre des param\u00e8tres cit\u00e9s plus haut. \u00c0 savoir le RPM, le d\u00e9bit et le niveau du carburant et la tension du bus principal. Dans la premi\u00e8re version du micro-EMS, le courant de charge\/d\u00e9charge de la batterie \u00e9tait \u00e9galement monitor\u00e9, mais d\u00e9sormais, l&rsquo;EMS principal assure cette fonction de fa\u00e7on nettement plus efficiente. Les param\u00e8tres surveill\u00e9s sont transmis \u00e0 l&rsquo;EMS par le CAN Bus ; cette fonctionnalit\u00e9 a \u00e9galement \u00e9t\u00e9 rajout\u00e9e \u00e0 la seconde et actuelle version.<\/p>\n\n\n\n<p>L&rsquo;avion sur lequel il est mont\u00e9 est motoris\u00e9 par un Rotax 912 80 CV dont les allumeurs \u00e9lectroniques Ducati d&rsquo;origine ont \u00e9t\u00e9 remplac\u00e9s par des bo\u00eetiers programmables adapt\u00e9s du mod\u00e8le <a href=\"https:\/\/www.ignitech.cz\/en\/vyrobky\/dccdip2\/dccdip2.htm\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Ignitech DC-CDI-P2 ignition module\">Ignitech DC-CDI-P2<\/a>. Ces allumeurs sont configur\u00e9s pour g\u00e9n\u00e9rer une impulsion par tour sur leur sortie \u00ab\u00a0Tacho\u00a0\u00bb, vers le compte-tours. Cette sortie d\u00e9livre un signal carr\u00e9 avec un rapport cyclique de 50% et une amplitude constante de 16 volts quel que soit le r\u00e9gime.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">L&rsquo;affichage<\/h3>\n\n\n\n<p>L&rsquo;affichage utilise un \u00e9cran couleur Adafruit 2,2&Prime; TFT LCD 240&#215;320, toutes les informations sont affich\u00e9es sur un seul \u00e9cran. Cet \u00e9cran \u00e9conomique n&rsquo;est pas \u00ab\u00a0sunlight readable\u00a0\u00bb, mais, plac\u00e9 sous la casquette du tableau de bord, il est facilement lisible en vol en toutes circonstances (fig. 1).<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" src=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/20190320_153612-768x1024.jpg\" alt=\"\" class=\"wp-image-154\" style=\"width:384px;height:512px\" srcset=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/20190320_153612-768x1024.jpg 768w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/20190320_153612-225x300.jpg 225w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/20190320_153612-1152x1536.jpg 1152w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/20190320_153612-1536x2048.jpg 1536w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/20190320_153612-1200x1600.jpg 1200w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/20190320_153612-scaled.jpg 1920w\" sizes=\"auto, (max-width: 768px) 85vw, 768px\" \/><figcaption class=\"wp-element-caption\">Figure 1 : La premi\u00e8re version du micro-EMS en vol, sur le tableau de bord du MCR Sportster<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1239\" height=\"485\" src=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Arduino-Uno-et-protoshield-Keyes.jpg\" alt=\"\" class=\"wp-image-161\" style=\"width:620px;height:243px\" srcset=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Arduino-Uno-et-protoshield-Keyes.jpg 1239w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Arduino-Uno-et-protoshield-Keyes-300x117.jpg 300w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Arduino-Uno-et-protoshield-Keyes-1024x401.jpg 1024w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Arduino-Uno-et-protoshield-Keyes-768x301.jpg 768w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Arduino-Uno-et-protoshield-Keyes-1200x470.jpg 1200w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption class=\"wp-element-caption\">Figure 2 : Le syst\u00e8me utilise une carte Arduino UNO, coupl\u00e9e \u00e0 un protoshield Keyes sur lequel sont soud\u00e9s les quelques composants externes<\/figcaption><\/figure>\n<\/div>\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"401\" src=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Schema-et-photo-protoshield-1024x401.jpg\" alt=\"\" class=\"wp-image-166\" style=\"width:768px;height:301px\" srcset=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Schema-et-photo-protoshield-1024x401.jpg 1024w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Schema-et-photo-protoshield-300x118.jpg 300w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Schema-et-photo-protoshield-768x301.jpg 768w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Schema-et-photo-protoshield-1536x602.jpg 1536w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Schema-et-photo-protoshield-2048x802.jpg 2048w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Schema-et-photo-protoshield-1200x470.jpg 1200w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption class=\"wp-element-caption\">Figure 3 : Sch\u00e9ma et photo du protoshield de la premi\u00e8re version avec les composants en place<\/figcaption><\/figure>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"439\" src=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/MicroEMS_V2_enPlace-1024x439.jpg\" alt=\"\" class=\"wp-image-2674\" style=\"width:1024px;height:439px\" srcset=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/MicroEMS_V2_enPlace-1024x439.jpg 1024w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/MicroEMS_V2_enPlace-300x128.jpg 300w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/MicroEMS_V2_enPlace-768x329.jpg 768w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/MicroEMS_V2_enPlace-1536x658.jpg 1536w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/MicroEMS_V2_enPlace-1200x514.jpg 1200w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/MicroEMS_V2_enPlace.jpg 1868w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption class=\"wp-element-caption\">Figure 4 : Le micro-EMS V2 en place sur le tableau de bord. Le module CAN bus est visible sur le dessus.<\/figcaption><\/figure>\n<\/div>\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-ebee026e-9a9b-4660-8c59-e6777773eaf5\" href=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Shield-micro-EMS.jpg\">Micro-EMS V1 : sch\u00e9ma du protoshield<\/a><a href=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Shield-micro-EMS.jpg\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-ebee026e-9a9b-4660-8c59-e6777773eaf5\">T\u00e9l\u00e9charger<\/a><\/div>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-e655768a-d8a4-4936-ae44-934537ac2977\" href=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Circuit-du-micro-EMS.jpg\">Micro-EMS V1 : sch\u00e9ma du circuit<\/a><a href=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Circuit-du-micro-EMS.jpg\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-e655768a-d8a4-4936-ae44-934537ac2977\">T\u00e9l\u00e9charger<\/a><\/div>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-67a20d6b-28ca-4194-935a-721a52952657\" href=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Connexions-du-micro-EMS.jpg\">Micro-EMS V1 : sch\u00e9ma des connexions aux circuits de l&rsquo;avion<\/a><a href=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Connexions-du-micro-EMS.jpg\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-67a20d6b-28ca-4194-935a-721a52952657\">T\u00e9l\u00e9charger<\/a><\/div>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-450d6a66-d131-4495-ab74-25d852ce4aa1\" href=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/09\/Micro-EMS_V1.zip\">Micro-EMS V1 : code source<\/a><\/div>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-e1ffad98-a118-4cbe-9093-68189c17b4e8\" href=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/09\/Cablage_micro_EMS_V2.pdf\">Micro-EMS V2 : sch\u00e9ma du circuit<\/a><a href=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/09\/Cablage_micro_EMS_V2.pdf\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-e1ffad98-a118-4cbe-9093-68189c17b4e8\">T\u00e9l\u00e9charger<\/a><\/div>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-1fe65a01-753c-46e7-93c0-0dcb0baebd3b\" href=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/09\/Connexions_micro_EMS_V2.pdf\">Micro-EMS V2 : sch\u00e9ma des connexions aux circuits de l&rsquo;avion<\/a><a href=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/09\/Connexions_micro_EMS_V2.pdf\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-1fe65a01-753c-46e7-93c0-0dcb0baebd3b\">T\u00e9l\u00e9charger<\/a><\/div>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-138de3ef-e9c2-45cc-b8ac-7afcc52794d1\" href=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/10\/Micro-EMS_V2.zip\">Micro-EMS V2 : code source<\/a><\/div>\n\n\n\n<p><\/p>\n\n\n\n<p>Faisant de nombreux appels directs aux registres du microcontr\u00f4leur ATmega328P, le programme du micro-EMS ne fonctionne que sur les cartes Arduino Uno, Nano ou compatibles.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Fonction compte tour :<\/strong><\/h3>\n\n\n\n<p>L&rsquo;\u00e9tage d&rsquo;entr\u00e9e, pour le traitement pr\u00e9alable du signal en provenance des allumeurs, fait appel \u00e0 un optocoupleur \u00e0 bascule de Schmitt. Avec ce m\u00eame \u00e9tage d&rsquo;entr\u00e9e, le syst\u00e8me pourrait aussi bien exploiter le signal d\u00e9livr\u00e9 par le capteur natif du Rotax.<\/p>\n\n\n\n<p>Le signal ainsi trait\u00e9 est appliqu\u00e9 sur la broche digitale 3 de l&rsquo;Arduino, puis exploit\u00e9 en utilisant le Timer 1 et l&rsquo;interruption externe Int1.<\/p>\n\n\n\n<p>Le programme mesure la p\u00e9riode du signal et en d\u00e9duit sa fr\u00e9quence. R\u00e9f\u00e9rence <a href=\"https:\/\/www.electronicsblog.net\/arduino-frequency-counterduty-cycle-meter\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Arduino frequency counter\/duty cycle meter\">ici<\/a>. C&rsquo;est la plus efficace des diff\u00e9rentes solutions test\u00e9es, pour mesurer la p\u00e9riode d&rsquo;un signal de ce type et dans la gamme de fr\u00e9quences qui nous int\u00e9resse. Les techniques simples qui comptent le nombre d&rsquo;impulsions pendant un certain intervalle de temps sont peu r\u00e9actives et peu pr\u00e9cises, car la fr\u00e9quence est basse. L&rsquo;utilisation de la fonction PulseIn s&rsquo;est \u00e9galement av\u00e9r\u00e9e d\u00e9cevante.<\/p>\n\n\n\n<p>En vol, la diff\u00e9rence d&rsquo;affichage du RPM entre le micro-EMS et le compte-tours digital commercial install\u00e9 sur le tableau de bord n&rsquo;exc\u00e8de jamais 10 tours par minute. Un facteur correctif de la fr\u00e9quence du microcontr\u00f4leur est \u00e0 appliquer pour obtenir cette pr\u00e9cision, voir les remarques dans le code source du programme.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Fonction amp\u00e8rem\u00e8tre :<\/strong><\/h3>\n\n\n\n<p>La version 1 du micro-EMS affichait l&rsquo;intensit\u00e9 du courant de charge ou de d\u00e9charge de la batterie, gr\u00e2ce \u00e0 un amplificateur num\u00e9rique de tension High End bidirectionnel INA219 12 bits. Le syst\u00e8me exploitait le shunt 50mV\/20A\/0.0025\u03a9 mont\u00e9 \u00e0 la construction dans le circuit \u00e9lectrique de l&rsquo;avion. Ce n&rsquo;\u00e9tait ni tr\u00e8s pr\u00e9cis ni tr\u00e8s exact, la r\u00e9solution \u00e9tait faible. Dans la version 2, cette fonction a \u00e9t\u00e9 supprim\u00e9e. Les mesures de courant sont r\u00e9alis\u00e9es dans l&rsquo;EMS \u00ab\u00a0principal\u00a0\u00bb.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Fonction voltm\u00e8tre :<\/strong><\/h3>\n\n\n\n<p>Le programme affiche en continu la tension en volts, mesur\u00e9e \u00e9galement par l&rsquo;INA 219. La mesure par la carte Arduino elle-m\u00eame, via une entr\u00e9e analogique, et un pont de r\u00e9sistances diviseur de tension aurait \u00e9t\u00e9 tout aussi efficace. Mais avec la carte INA, pas de pont diviseur, et aucun calibrage n&rsquo;est n\u00e9cessaire.<\/p>\n\n\n\n<p>La tension affich\u00e9e ne diff\u00e8re jamais de plus de 0,1 volt par rapport \u00e0 un multim\u00e8tre de r\u00e9f\u00e9rence.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Fonction \u00ab\u00a0Idiot Lamp\u00a0\u00bb :<\/strong><\/h3>\n\n\n\n<p>Une LED RGB joue le r\u00f4le \u00ab\u00a0d&rsquo;Idiot Lamp intelligente\u00a0\u00bb. Si la tension du bus est sup\u00e9rieure \u00e0 13,3 V, la LED est verte, c&rsquo;est une situation normale. Si la tension baisse alors que la vitesse de rotation du moteur est en dessous d&rsquo;un certain seuil, elle est rouge, fixe. C&rsquo;est aussi une situation normale, lorsque le moteur est au ralenti. Par contre, si la tension baisse avec un r\u00e9gime moteur plus \u00e9lev\u00e9, elle clignote (avec l&rsquo;aide du Timer 2) pour mieux attirer l&rsquo;attention : situation tr\u00e8s anormale !<\/p>\n\n\n\n<p>Avec ces premi\u00e8res fonctions, l&rsquo;arduino UNO (ou Nano) a encore de la ressource. Et il y a encore de la place sur l&rsquo;\u00e9cran. Prochaine \u00e9tape : la gestion du carburant.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Gestion du carburant :<\/strong><\/h3>\n\n\n\n<p>L&rsquo;EEPROM est disponible pour m\u00e9moriser le niveau de carburant dans le r\u00e9servoir apr\u00e8s extinction du syst\u00e8me.<\/p>\n\n\n\n<p>PCINT1 et les broches analogiques A1 et A2 sont utilis\u00e9es par les boutons d&rsquo;ajustement du niveau d&rsquo;essence dans le r\u00e9servoir en d\u00e9but de vol, gr\u00e2ce \u00e0 la biblioth\u00e8que PinChangeInterrupt.h.<\/p>\n\n\n\n<p>La broche analogique A0 est utilis\u00e9e pour la mesure en continu du niveau r\u00e9el de carburant dans le r\u00e9servoir gr\u00e2ce \u00e0 la jauge. Il s&rsquo;agit d&rsquo;une sonde r\u00e9sistive haute r\u00e9solution <a href=\"https:\/\/wema.co.uk\/products\/fuel-sender?variant=41998824020\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"WEMA FUEL SENDER - S3\">WEMA S3<\/a> (0 \u00e0 190 Ohms) de 35 cm, sa r\u00e9sistance varie entre 0 ohms r\u00e9servoir vide et 190 ohms avec le plein. Les 29 reed switches de cette sonde assurent une r\u00e9solution tr\u00e8s honn\u00eate. Contrairement aux sondes capacitives, cette sonde est insensible \u00e0 la nature du fluide jaug\u00e9 : SP 98 ou 100LL, ou m\u00e9lange des deux, peu importe.<\/p>\n\n\n\n<p>La sonde est utilis\u00e9e en s\u00e9rie avec une r\u00e9sistance de 220 Ohms pour constituer un pont diviseur. Cette r\u00e9sistance est situ\u00e9e en amont du connecteur 3 broches de la sonde elle-m\u00eame, de fa\u00e7on \u00e0 ne pas risquer de griller l&rsquo;Arduino en mettant distraitement le contact alors que le r\u00e9servoir a \u00e9t\u00e9 d\u00e9pos\u00e9 ! Si cette r\u00e9sistance \u00e9tait plac\u00e9e sur le Shield \u00ab\u00a0maison\u00a0\u00bb, l&rsquo;oubli de reconnecter la jauge appliquerait alors directement 8 volts sur A0. En effet, l&rsquo;ensemble du Micro-EMS est aliment\u00e9 en 8 volts par un r\u00e9gulateur L7808. On a \u00e9galement plac\u00e9 un condensateur de 100 \u00b5F dans ce connecteur pour amortir les variations rapides de la tension aux bornes de la sonde, li\u00e9es aux ondulations \u00e0 la surface du carburant.<\/p>\n\n\n\n<p>On souhaite utiliser l&rsquo;interruption externe INT0 sur la broche 2 et le Timer 0 pour le fuel flow. Mais le Timer 0 est d\u00e9j\u00e0 utilis\u00e9 par l&rsquo;environnement Arduino pour les fonctions delay(), millis() et micros(), et pour de la PWM sur les broches 5 et 6&#8230; Il faut donc ruser, r\u00e9f\u00e9rence <a href=\"https:\/\/stackoverflow.com\/questions\/46573550\/atmel-arduino-isrtimer0-ovf-vect-wont-compile-first-defined-in-vector\" target=\"_blank\" rel=\"noreferrer noopener\">ici<\/a>. Voir \u00e9galement les remarques dans le code source.<\/p>\n\n\n\n<p>Le fuel flow utilise donc le Timer 0, Int 0 et la broche digitale 2. Le capteur de d\u00e9bit \u00ab\u00a0Red Cube\u00a0\u00bb (Electronic International FT-60), avec une r\u00e9sistance pull up de 10k\u03a9 sur le bus 14 V, g\u00e9n\u00e8re en vol un signal carr\u00e9, la largeur des impulsions est tr\u00e8s variable, la fr\u00e9quence du signal est hautement instable. Dans ces conditions, la m\u00e9thode employ\u00e9e consiste \u00e0 compter les impulsions pendant un intervalle de temps donn\u00e9, puis \u00e0 lisser le r\u00e9sultat pour stabiliser l&rsquo;affichage du d\u00e9bit.<\/p>\n\n\n\n<p>Les r\u00e9sultats obtenus avec ce calculateur de carburant sont tr\u00e8s satisfaisants. Comme on le voit sur la vid\u00e9o ci-dessous, l&rsquo;affichage est stable (contrairement \u00e0 la cam\u00e9ra, tenue \u00e0 la main, et qui subit quelques turbulences&#8230;). En fin de vol, m\u00eame prolong\u00e9 (jusqu&rsquo;\u00e0 4 heures), les niveaux de carburant restant, soit affich\u00e9s par le calculateur, soit mesur\u00e9s manuellement dans le r\u00e9servoir, ne diff\u00e8rent jamais de plus d&rsquo;un litre. Et ce niveau est toujours dans l&rsquo;intervalle de 3 \u00e0 4 litres mesur\u00e9 par la sonde Wema.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"1080\" style=\"aspect-ratio: 1920 \/ 1080;\" width=\"1920\" controls src=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/20190320_153703.mp4\"><\/video><figcaption class=\"wp-element-caption\">Vid\u00e9o du Micro-EMS Arduino en vol.<\/figcaption><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Chronom\u00e8tre :<\/strong><\/h3>\n\n\n\n<p>Et enfin, comme l&rsquo;\u00e9chantillonnage du fuel flow est r\u00e9alis\u00e9 exactement toutes les secondes par le Timer0, on en profite pour ajouter une derni\u00e8re fonction annexe \u00e0 ce micro-EMS : l&rsquo;affichage du temps \u00e9coul\u00e9 depuis la mise en route du moteur. Le chronom\u00e8tre ne \u00ab\u00a0tourne\u00a0\u00bb en effet que s&rsquo;il y a consommation d&rsquo;essence.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">CAN Bus<\/h3>\n\n\n\n<p>Dans la version 2 du micro-EMS, un module <a href=\"https:\/\/joy-it.net\/en\/products\/SBC-CAN01\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Module CAN bus\">Joy-IT SBC-CAN01<\/a> ajoute une interface avec le CAN Bus.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Le sketch Arduino<\/h3>\n\n\n\n<p>La plupart des mesures font l&rsquo;objet d&rsquo;un lissage par calcul d&rsquo;une moyenne glissante, ce qui assure une excellente stabilit\u00e9\/r\u00e9activit\u00e9 de l&rsquo;affichage. Un filtre r\u00e9cursif \u00e0 r\u00e9ponse impulsionnelle infinie serait plus simple \u00e0 impl\u00e9menter (c&rsquo;est ce qui est fait dans le programme EFIS). Voir la <a href=\"https:\/\/avionicsduino.com\/index.php\/fr\/2021\/07\/21\/les-techniques-de-filtrage-numerique-dun-signal\/\" title=\"Filtres num\u00e9riques\">page du site consacr\u00e9e aux filtres<\/a>.<\/p>\n\n\n\n<p>Tous les calculs se font sur des entiers pour \u00e9viter les variables de type float au microcontr\u00f4leur ATMega328 qui ne poss\u00e8de pas d\u2019unit\u00e9 de calcul en virgule flottante.<\/p>\n\n\n\n<p>Deux constantes du programme sont \u00e0 personnaliser, elles apparaissent par commodit\u00e9 au tout d\u00e9but du programme :<\/p>\n\n\n\n<p>&#8211; le facteur K, en fonction des caract\u00e9ristiques du capteur de d\u00e9bit utilis\u00e9,<\/p>\n\n\n\n<p>&#8211; la fr\u00e9quence vraie de l&rsquo;horloge de la carte UNO, pas toujours exactement \u00e9gale \u00e0 16 MHz.<\/p>\n\n\n\n<p>Ces deux constantes sont \u00e0 ajuster par approximations successives au cours des premiers vols, ce qui n\u00e9cessite un nouveau t\u00e9l\u00e9versement \u00e0 chaque fois. C&rsquo;est moins ergonomique qu&rsquo;un encodeur rotatif coupl\u00e9 \u00e0 un syst\u00e8me de menus, mais c&rsquo;est beaucoup plus simple !<\/p>\n","protected":false},"excerpt":{"rendered":"<p>(Mise \u00e0 jour par Benjamin le 17\/04\/2023) Une nouvelle version du Micro-EMS, bas\u00e9e sur une carte Teensy 4.0, est d\u00e9sormais disponible. L&rsquo;EMS (Engine Monitoring System) est l&rsquo;appareil d\u00e9di\u00e9 \u00e0 la surveillance du fonctionnement du moteur. Il centralise les informations de tous les capteurs et affiche les r\u00e9sultats en temps r\u00e9el sur un \u00e9cran. Les param\u00e8tres &hellip; <a href=\"https:\/\/avionicsduino.com\/index.php\/fr\/lavionique-open-source\/micro-ems-arduino\/\" class=\"more-link\">Continuer la lecture<span class=\"screen-reader-text\"> de &laquo;&nbsp;Micro-EMS Arduino&nbsp;&raquo;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":46,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-144","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/avionicsduino.com\/index.php\/wp-json\/wp\/v2\/pages\/144","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/avionicsduino.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/avionicsduino.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/avionicsduino.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/avionicsduino.com\/index.php\/wp-json\/wp\/v2\/comments?post=144"}],"version-history":[{"count":58,"href":"https:\/\/avionicsduino.com\/index.php\/wp-json\/wp\/v2\/pages\/144\/revisions"}],"predecessor-version":[{"id":5016,"href":"https:\/\/avionicsduino.com\/index.php\/wp-json\/wp\/v2\/pages\/144\/revisions\/5016"}],"up":[{"embeddable":true,"href":"https:\/\/avionicsduino.com\/index.php\/wp-json\/wp\/v2\/pages\/46"}],"wp:attachment":[{"href":"https:\/\/avionicsduino.com\/index.php\/wp-json\/wp\/v2\/media?parent=144"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}