Un moteur qui tombe en panne un lundi matin, c’est une ligne arrêtée, des commandes en retard et souvent une réparation plus chère que prévu. Pourtant, la plupart des pannes ne tombent pas du ciel : quelques jours ou quelques semaines avant, la machine vibre un peu plus, chauffe un peu plus ou consomme un peu plus. La maintenance prédictive, c’est simplement écouter ces petits signes pour intervenir avant la casse.
Bonne nouvelle : avec l’intelligence artificielle embarquée, on n’a plus besoin d’un système à plusieurs millions de dirhams pour commencer. Une carte ESP32, deux ou trois capteurs et un peu de méthode suffisent pour surveiller une pompe, un compresseur ou un ventilateur. Dans ce guide, on vous explique le principe avec des mots simples, puis on vous montre un premier montage.
Trois façons de faire la maintenance
| Méthode | Le principe | Le problème |
|---|---|---|
| Corrective | On répare quand ça casse. | Arrêt imprévu, pièces abîmées autour, réparation en urgence. |
| Préventive | On change les pièces à date fixe (toutes les 2 000 heures, par exemple). | On remplace parfois des pièces encore bonnes, et une panne peut quand même arriver entre deux visites. |
| Prédictive | On mesure l’état réel de la machine et on intervient quand les mesures commencent à dériver. | Il faut des capteurs et un peu d’analyse : c’est là que l’IA aide. |
L’idée n’est pas de supprimer la maintenance préventive, mais de la rendre plus intelligente : on garde les contrôles de base, et on ajoute une surveillance continue sur les machines les plus importantes.
Ce qu’on mesure sur une machine
- Les vibrations : c’est le signe le plus parlant. Un roulement usé, un balourd, un arbre mal aligné ou une fixation desserrée changent la façon dont la machine vibre, souvent bien avant qu’on l’entende.
- La température : un roulement ou un bobinage qui chauffe plus que d’habitude annonce un problème. Une thermistance CTN 10 kΩ à cosse Vishay, vissée sur la carcasse du moteur, fait très bien l’affaire.
- Le courant consommé : un moteur qui force (pompe bouchée, courroie trop tendue) consomme plus. On peut le mesurer avec un capteur de courant, ou sur une résistance de mesure avec un amplificateur de courant INA186.
- La vitesse de rotation : un capteur inductif LJ18A3-8-Z/BX placé devant une vis ou une came compte les tours. Un capteur à effet Hall SS495A avec un petit aimant fait la même chose.
- La pression : sur une pompe, une pression qui baisse peu à peu peut annoncer une fuite ou une roue usée. Un capteur de pression SEN0257, ou un transmetteur industriel comme dans notre guide sur les capteurs industriels 4-20 mA.
Pour les vibrations, on utilise un accéléromètre. En industrie, ce sont des capteurs dédiés vissés sur le moteur, comme sur notre photo. Pour un prototype, un petit accéléromètre MEMS (type ADXL345 ou MPU-6050) relié à l’ESP32 suffit pour apprendre. Il n’est pas encore en ligne sur la boutique : Contactez-nous et nous vous le trouvons.
Où intervient l’IA ?

Fixer un seuil à la main (« alerte au-dessus de 70 °C ») marche, mais c’est souvent trop tard : quand on atteint le seuil, la pièce est déjà bien abîmée. L’IA permet de faire mieux, de manière très simple :
- Elle apprend ce qui est normal. Pendant quelques heures ou quelques jours, on laisse la machine tourner en bon état et on enregistre ses mesures. C’est sa « signature ».
- Elle repère ce qui sort de l’ordinaire. Ensuite, chaque nouvelle mesure est comparée à cette signature. Si la machine commence à vibrer autrement, même sans dépasser un seuil fixe, on le voit.
- Elle donne une tendance. Une petite dérive tous les jours, c’est le signe d’une usure : on peut planifier l’intervention pendant un arrêt prévu.
On appelle ça la détection d’anomalies. Pas besoin d’avoir déjà vu des pannes pour commencer : on apprend seulement le bon fonctionnement. C’est le même esprit que notre guide de reconnaissance d’objets par IA sur Raspberry Pi, mais avec des vibrations et des températures à la place des images.
Le matériel pour un premier montage
- Le cerveau : une carte ESP32-S3-DevKitC-1 N8R8. Sa mémoire PSRAM et ses instructions accélérées pour l’IA en font la meilleure carte pour faire tourner un petit modèle directement sur place. Une ESP32-DevKitC-VE suffit pour des calculs simples. Si vous hésitez entre les cartes, lisez notre comparatif Arduino ou ESP32.
- Pour l’atelier : l’OLIMEX ESP32-EVB-IND est faite pour un environnement industriel (alimentation large, relais, Ethernet). La carte ESP32 Ethernet PoE se branche sur un seul câble réseau qui l’alimente aussi.
- Pour les sites éloignés (station de pompage, puits, ferme) : la Heltec Wireless Stick V3 (ESP32-S3 + LoRa) envoie ses alertes à plusieurs kilomètres, sans Wi-Fi.
- Les capteurs : une thermistance CTN 10 kΩ à cosse Vishay avec une résistance 10 kΩ 1 % pour la température, un accéléromètre pour les vibrations, et selon la machine un capteur inductif LJ18A3-8-Z/BX ou un capteur de pression SEN0257.
- L’alimentation : dans une armoire, une alimentation rail DIN 24 V et un module abaisseur LM2596 pour descendre à 5 V. Tout est expliqué dans notre guide alimentation 24 V sur rail DIN.
- Pour aller plus loin : un Raspberry Pi 4 peut recevoir les données de plusieurs ESP32, les afficher sur un tableau de bord et entraîner des modèles plus lourds.
Exemple : apprendre la température normale d’un moteur
Commençons par le plus simple pour bien comprendre le principe. La thermistance est vissée sur la carcasse du moteur. Elle forme un pont diviseur avec la résistance de 10 kΩ : 3,3 V, puis la résistance de 10 kΩ, puis la broche GPIO34, puis la thermistance, puis la masse. Notre calculateur de pont diviseur vous aide à vérifier les tensions.
Le programme ci-dessous (Arduino IDE, carte ESP32) apprend pendant 30 minutes la température normale et sa variation habituelle. Ensuite, il signale toute mesure qui s’écarte nettement de cette habitude.
// Maintenance prédictive : apprendre le "normal" puis repérer les écarts
const int PIN_NTC = 34; // entrée ADC1, fonctionne avec le Wi-Fi
const float R_FIXE = 10000.0; // résistance du pont diviseur (10 kΩ)
const float R25 = 10000.0; // CTN de 10 kΩ à 25 °C
const float BETA = 3984.0; // valeur B de la CTN : vérifiez la fiche technique
const int N_APPRENTISSAGE = 180; // 180 mesures x 10 s = 30 minutes
long n = 0;
float moyenne = 0, m2 = 0; // calcul de la moyenne et de la variation
float lireTemperature() {
long somme = 0;
for (int i = 0; i < 32; i++) { somme += analogRead(PIN_NTC); delay(5); }
float brut = somme / 32.0;
if (brut < 1 || brut > 4094) return NAN; // capteur débranché ou en court-circuit
float rNtc = R_FIXE * brut / (4095.0 - brut);
float tK = 1.0 / (1.0 / 298.15 + log(rNtc / R25) / BETA);
return tK - 273.15;
}
void setup() {
Serial.begin(115200);
analogReadResolution(12);
Serial.println("Apprentissage du fonctionnement normal...");
}
void loop() {
float t = lireTemperature();
if (isnan(t)) { Serial.println("Defaut capteur !"); delay(10000); return; }
if (n < N_APPRENTISSAGE) { // 1) phase d'apprentissage
n++;
float ecart = t - moyenne;
moyenne += ecart / n;
m2 += ecart * (t - moyenne);
if (n == N_APPRENTISSAGE) Serial.println("Apprentissage termine.");
} else { // 2) phase de surveillance
float sigma = sqrt(m2 / (n - 1));
if (sigma < 0.3) sigma = 0.3; // évite les fausses alertes
float score = (t - moyenne) / sigma; // combien de fois "l'écart habituel"
Serial.printf("T = %.1f C normal = %.1f C score = %.1f\n", t, moyenne, score);
if (score > 4 && t - moyenne > 5) {
Serial.println("ALERTE : le moteur chauffe plus que d'habitude");
// ici : envoyer un message, allumer un voyant, prévenir l'automate...
}
}
delay(10000); // une mesure toutes les 10 s
}
Ce n’est pas encore un réseau de neurones, mais c’est déjà de l’apprentissage : la carte découvre seule ce qui est normal pour cette machine, au lieu d’utiliser un seuil identique partout. Deux conseils : faites l’apprentissage quand la machine est en bon état et dans ses conditions habituelles, et refaites-le si vous changez de saison ou de cadence, car la température ambiante joue beaucoup.
Passer aux vibrations avec un vrai modèle d’IA
Pour les vibrations, on ne regarde pas une seule valeur, mais la « forme » du mouvement. Le chemin le plus courant est le suivant :
- Mesurer vite : l’accéléromètre est lu plusieurs centaines de fois par seconde, pendant une ou deux secondes.
- Résumer : l’ESP32 calcule quelques indicateurs simples, comme l’intensité moyenne des vibrations (la valeur efficace, ou RMS), le pic le plus fort et la répartition par fréquences (une FFT). Un balourd, un défaut de roulement ou un desserrage ne « sonnent » pas à la même fréquence.
- Entraîner un modèle : on enregistre des exemples de fonctionnement normal, puis on entraîne un petit modèle de détection d’anomalies avec un outil gratuit comme Edge Impulse ou TensorFlow Lite for Microcontrollers.
- Le faire tourner sur la carte : le modèle est exporté en bibliothèque Arduino et tourne directement sur la carte ESP32-S3-DevKitC-1 N8R8, sans connexion permanente à Internet. Seules les alertes et quelques chiffres sont envoyés.
Gardez une règle simple : l’IA ne remplace pas le technicien. Elle lui dit où regarder et quand. Le diagnostic final (roulement, alignement, lubrification) reste un travail de maintenance.
Les erreurs fréquentes à éviter
- Un capteur mal fixé : un accéléromètre collé avec du scotch mesure surtout le scotch. Vissez-le ou utilisez une embase magnétique, au plus près du roulement.
- Apprendre sur une machine déjà abîmée : le modèle prendra le défaut pour la normale.
- Mélanger les régimes : une machine à vide et à pleine charge ne vibre pas pareil. Notez le régime, ou apprenez chaque régime séparément.
- Trop d’alertes : si le système sonne tous les jours, plus personne ne le regarde. Commencez avec une marge large, puis resserrez.
- Oublier l’environnement : poussière, humidité et parasites électriques. Mettez l’électronique dans un boîtier, soignez les masses et l’alimentation, et voyez notre article PLC ou Arduino en milieu industriel pour savoir quand passer sur du matériel industriel comme un automate CONTROLLINO MINI.
- Toucher une machine en marche : installez toujours les capteurs machine arrêtée et consignée, en respectant les règles de sécurité du site.
Par où commencer dans votre atelier ?
- Choisissez une seule machine, celle dont la panne coûte le plus cher ou arrive le plus souvent.
- Posez un capteur de température et un capteur de vibrations, et enregistrez pendant quelques jours.
- Regardez les courbes avec l’équipe de maintenance : on apprend beaucoup avant même d’ajouter l’IA.
- Ajoutez ensuite la détection d’anomalies, puis les alertes.
- Quand le premier essai marche, étendez aux autres machines.
Où trouver le matériel ?
Vous trouverez nos cartes ESP32 et tout le rayon Kits et cartes de développement, nos capteurs, ainsi que les relais et alimentations du rayon Électromécanique. Pour vos calculs de résistances et de tensions, utilisez notre calculateur de loi d’Ohm et tous nos outils et calculateurs gratuits.
Vous voulez surveiller une pompe, un compresseur ou une ligne complète, ou vous cherchez un capteur de vibrations industriel sur devis ? Contactez-nous avec la description de votre machine : nous vous aidons à choisir les bons capteurs et la bonne carte.
Photo de couverture : capteur de vibrations sur un moteur, Cedric Leturcq, CC BY-SA 4.0, via Wikimedia Commons (montage djenni.ma).

