P1 Conception d'une pompe automatique à insuline

De Wiki de Projets IMA
Révision datée du 23 février 2018 à 19:00 par Afahem (discussion | contributions) (Semaine 17 (22/01/18 : 28/01/18))

Tuteurs : Belkacem Ould Bouamama
Projet de fin d'étude réalisé par Alice COFFIN et Amina FAHEM

Suivit du projet

Pour réaliser notre suivit de projet, nous avons utilisé un Gantt. Notre projet se repartir de la façon suivante :

Plan gantt.Png

Le suivit complet de notre projet se trouve dans le fichier suivant : Media:Gantt_pompe_insuline.pdf

Première semaine (18/09/17 : 24/09/17)

Objectif du Projet

Concevoir un système mécatronique représentant une pompe automatique d'injection d'insuline. Le produit final doit être une réalisation d'un prototype qui sera conçu au fabricarium de Polytech.

Description

Le remplacement du fonctionnement du pancréas pour l’équilibre de la glycémie est un challenge très important pour le confort des diabétiques insulinodépendant. Depuis peu de temps, des pompes fonctionnant en boucle ouverte sont proposées aux patients. Le profil du débit d'insuline à injecter est introduit manuellement en fonction des prescriptions du médecin. La problématique réside dans l'allure de la trajectoire de débit car il dépend d'un grand nombre de facteurs (activité physique, type d'alimentation, état du patient...). Ce projet est proposé par le laboratoire Cristal de Villeneuve d’Ascq et consiste en la réalisation d’un prototype de cette pompe avec une commande en boucle fermée c.à.d. en contre réaction du taux de glycémie avec des algorithmes de commande avancée.

Le diabète

Le diabète est une maladie caractérisée par un taux de sucre dans le sang anormalement élevé. Cela est due au manque d’une hormone appelée insuline, cette hormone est sécrétée par des îlots de Langerhans se trouvant au niveau du pancréas. Le diabète insulinodépendant est une maladie caractérisée par un déficit de cette hormone. Cette maladie est très dangereuse et peut même engendrer la mort du patient s’il n’est pas pris en charge. Elle peut également causer de grave complication (au niveau des yeux, des reins, du cœur et même des vaisseaux sanguins). Le patient doit réaliser le contrôle de sa glycémie lui-même et s’injecter les doses d’insuline nécessaire de manière à réguler son taux de sucre.

Les pompes à insuline

Le diabète est une maladie très contraignante, c’est pour cela que différents dispositifs ont été réalisés afin de faciliter la vie de ces patients. Les pompes à insuline en font partie. La pompe à insuline est un appareil réalisant des injections d’insuline à un patient atteint de diabète. Le patient programme sa pompe en fonction de valeurs qu’il mesure grâce à un capteur de glycémie. Ces pompes sont généralement constituées d’un réservoir d’insuline, d’un circuit électronique intégrant un moteur et une canule au bout de laquelle on trouvera une petite aiguille servant à injecter le produit (on appelle également cette partie le cathéter). Il existe à présent de nombreux modèle de pompe à insuline. Les principales entreprises qui réalisent ces pompes sont Medtronic, Animas ou encore Omnipod , mais ces dernières années, certain laboratoire se sont penchés sur la réalisation d’un pancréas artificiel.


Deuxième semaine (25/09/17 : 01/10/17)

Lors de cette semaine, nous avons répertorié l’ensemble des taches à réaliser afin de mener à bien le projet. De cette manière nous avons pu fractionner les sous-parties du projet et avons maintenant une vue d’ensemble sur les éléments à réaliser. Cela nous a permis d’organiser un calendrier provisionnel des taches à effectuer ainsi qu'un ordre de priorité.


Xmind pompe.Png


Nous avons également commencé la réduction du modèle 3D précédemment réalisée lors du stage. Le fonctionnement étudier lors de ce stage restera le même, un système vis/écrou. Le piston est déplacé en translation par la rotation de la vis, cette vis est entrainée par un moteur. Le premier prototype réaliser durant le stage était trop grand. En effet, les dimensions d'une pompe à insuline doivent être de l'ordre de 8cm*6cm*4cm, or le modèle précédemment réalisé mesurait 18cm*10cm*15cm. Il était donc important de diminuer le modèle afin de pouvoir réaliser les tests sur ce dernier. Nous avons donc réalisé les plans de ce modèle 3D sur l'application de conception 3D Onshape.

https://www.onshape.com/

Troisième semaine (02/10/17 : 08/10/17)

Nous avons terminé la modélisation sur Onshape avant de commencer à imprimer notre pompe en 3D en utilisant les imprimantes se trouvant au fabricarium.

PI CAD S3.Png

Pour faire fonctionner notre pompe nous allons utiliser un moteur à courant continu (DC). Etant donner que nous allons réaliser une simulation complète du système sous Matlab/Simulink, nous avons commencé à y modéliser un moteur DC. Le modèle équivalent du moteur DC est représenté de la manière suivante :


Modele eq moteur.Png

On peut donc en retirer les équations suivante :

Equation modele eq moteur.Png

Ce sont ces équations qui serons ensuite implémentées sous Matlab/Simulink afin de simuler ce moteur et d’étudier l'influence des différents paramètres sur le système.

Quatrième semaine (09/10/17 : 15/10/17)

En assemblant les différentes pièces imprimer par les imprimantes 3D, il est apparu que certaines dimensions n’étaient pas les bonnes (trop de jeu autour de l’écrou). Nous avons donc réimprimé ces pièces.

Ci-dessous l’assemblage de notre prototype avec vis-écrou.

Dimensions extérieures : 4 x 3.5 x 3.5 cm


La modélisation du moteur DC sous Simulink a été poursuivi et les premières simulations réalisées avec des valeurs types.

PI simulink S4.Png

Cinquième semaine et Sixième semaine (16/10/17 : 22/10/17) et 23/10/17 : 29/10/17)

Le travail de ces semaines à porter sur la modélisation du système sous Simulink. Nous avons débuté par réaliser un schéma des éléments mis en cause dans notre modèle afin de pouvoir prendre en compte l’ensemble des phénomènes impliqués dans ce dernier.


Schema systeme pompe.Png

Le moteur DC sera relié au système vis/écrou. La rotation de la vis entraînera le mouvement en translation du piston. Le piston exercera une pression sur l'insuline présent dans le cylindre qui s’échappera par le petit orifice de sortie.

Afin de modéliser le système, il est important de bien établir ses équations caractéristiques. Nous partons du moteur et de ses équations notées la semaine précédente.

Bras moteur : Expression de la force électromotrice de l’induit

Fem eq.Png

On applique ensuite le principe fondamental de la dynamique en rotation sur notre système : La somme des couples est égale au quotient du moment d’inertie et de l’accélération angulaire du point considéré. On a donc :

PFD1.Png

Le frottement existant entre la vis et l’écrou constitue un élément résistif sur le système, or nous avons une relation directe entre le couple de frottement et la vitesse angulaire :

Resistance1.Png

Les équations suivantes correspondent au système d’engrenage permettant de réduire la vitesse de rotation appliqué à la vis

Eq2.Png

On applique ensuite le principe fondamental de la dynamique en translation sur notre système, pour cela on considère la force exercée par le piston, les forces de frottement et la force lie à la pression qu’exerce le liquide sur le piston :

Eq3.Png

Système hydraulique

La variation de volume dans le cylindre est équivalente au produit de la vitesse du piston et de la section du cylindre

Eq4.Png

Nous avons ensuite calculé le débit totale grâce à l’équation suivante :

Eq5.Png


Référence : https://ocm.univ-lille1.fr/index.php/s/mwaO1ya25mocGRH

Semaines du 6/11/17 au 29/11/17

Le travail de ces semaines à porté sur l'estimation des paramètres à utiliser dans le modèle Simulink, à la recherche des capteurs à utiliser et à l’assemblage du prototype. Estimation des paramètres et réalisation du modèle Simulink :

Les paramètres n’étant pas mesurable à partir du prototype, il a fallu réaliser leurs estimations soit en les calculant soit en récupérant leur ordre de grandeur à partir d'autre application. Cette partie a été principalement constitué de documentation afin de comprendre les phénomènes physiques existant dans chaque élément de notre schéma.


L’assemblage du prototype :

Afin de pouvoir réaliser des tests sur notre prototype, nous avons récupéré un petit moteur DC ainsi que le réducteur (en kit) qui lui correspond. Étant donné que le moteur est beaucoup plus rapide que ce que nous souhaitons, nous avons utilisé le réducteur pour diviser la vitesse par 225.

Il a fallu fabriquer un socle pour fixer correctement les deux parties du système ensemble (la partie moteur + réducteur et la partie vis/écrou).


De cette façon, pour 1 tour de moteur, le piston se déplace de 0.011mm.

La recherche des paramètres de simulation et le choix des capteurs se poursuivra dans les prochaines semaines

Semaine 11 - 12 (27/11/17 : 10/12/17)

  • choix des capteur à utiliser pour s'assurer du bon fonctionnement du système
  • test de la modélisation en réalisant des simulation et en réajustant les paramètres de manière à valider cette dernière.

Semaine 13 - 14 (11/12/17 : 24/12/17)

  • débuggage de la partie simulation
  • écart dans un gain implémenté dans la simulation causant une incohérence avec la simulation
  • recherche sur la commande du moteur

Semaine 15 - 16 (08/01/18 : 21/01/18)

Nous avons réaliser un second état de l'art afin de connaitre mieux les origines de la maladie mais également les pompes déjà existantes sur le marché.

Historique

Dans les années 1960, la première pompe à insuline a été réalisée par le Docteur Arnold Kadish en Californie. Elle se portait comme un sac à dos. Quelques années plus tard, les premiers capteurs à insuline sont mis sur le marché par les laboratoires MILES ensuite racheter par Bayer (1969). Parallèlement, la première transplantation de pancréas a eu lieu à l'Université du Minnesota (1966). Les docteurs ont alors essayé de guérir le diabète par transplantation. Aujourd’hui, la greffe de pancréas est une opération réalisée partout dans le monde. En 1978, Baxter lance la première commercialisation de la pompe à insuline alors appelée AutoSyringe (inventée par Dean Kamen). Ce fut la première pompe programmable utilisable à domicile par les patients. En 2004, la première pompe programmable sans fil, l'OmniPod est commercialisé.


Aujourd'hui

De nombreuses pompes à insuline existent sur le marché. Seulement, ce dispositif médical reste peu répandu du fait de son prix très élevé (3000 euros minimum). Les principales entreprises réalisant ce genre de dispositif sont Medtronic, Roche, Novalab. Les derniers modèles proposent des moyens de surveillance et d'acquisition de données en temps réel. La pompe à insuline Animas (Novalab) a un système de SGC (Surveillance du Glucose en Continu) intégré. Ce système permet de connaitre la quantité de bolus encore actif dans l'organisme, cela permet de prendre de meilleure décision quant à l'administration de l'insuline. Il existe également des pompes connectées au capteur de glycémie afin de contrôler les taux du patient. D'autres sociétés ont fait le pari de la discrétion en essayant de minimiser les dimensions de la pompe de manière à ce qu'elle soit discrète pour le patient qui la porte.Ce fut le cas pour OmniPod qui s’est engagé à créer une pompe discrète tout en assurant sa robustesse et ses performances avec des pompes à changer tous les 3 jours. Cette pompe est connectée à un PDM (Personal Diabetes Manager) sans fil qui gère l'administration de l'insuline, récupère les données du glucomètre intégré, calcule l'insuline active dans l'organisme et peut également suggérer au patient une dose de bolus à injecter. Cellnovo a souhaité réaliser une pompe à insuline discrète mais qui serait en plus rechargeable de manière à avoir un impact le plus minime possible sur 'environnement.

Problématique de ces systèmes

Ces systèmes sont uniquement commandés en boucle ouverte : il n'y a aucun contrôle de la glycémie par la pompe. C'est pour cela que le médecin est obligé de réaliser un contrôle fréquent de l'utilisation de la pompe et de donner des directives aux patients quant à la prescription et l'administration de l'insuline. Malgré le fait que la pompe est connectée au capteur, il n'influe en rien sur l'administration du médicament mais permet uniquement de réaliser un suivi. Pour que le calcul de la dose soit interactif de manière à réaliser un contrôle en boucle fermée, il faut faire une validation clinique. C'est l’objet de certaines recherches énoncées par la suite.


Thématique de recherche

Le projet de pancréas artificiel pour lutter contre le diabète a commencé en 2011 avec un groupe de diabétologue. Ce projet est également appelé « Insulinothérapie en boucle fermé », il consiste à faire communiquer le capteur de glycémie et la pompe à insuline grâce à une intelligence artificielle. Le dispositif est alors composé de 3 parties : une partie acquisition en continu de la glycémie, une seconde partie qui calcule les doses à injecter et qui donne des ordres à la troisième partie, une pompe à insuline connectée. Ce projet a débuté en 2011 et des études cliniques ont été réalisées en 2014 sur une trentaine de patient. Le concept avait été alors validé. La compétition est maintenant rude après le lancement de plusieurs études sur patient dans les conditions de vie habituelle. En Amérique (Université de Virginie), en Angleterre (Cambridge) ou encore en France les premiers tests en temps réel sont lancés. Cependant, aucun des systèmes n'est prêt à être commercialisé. Diabeloop espère commercialiser son premier pancréas artificiel en 2018. Parallèlement, ce projet intéresse aussi les écoles d'ingénieur telles que Sup'biotech où un groupe d'élèves a imaginé un système de type implant. Ce concept a été présenté au concours Coup2boost (Dassault Système) qu'ils ont gagné. Le groupe a également été nominé pour le Concours des Jeunes Ingénieurs organisé par l'Usine Nouvelle.

Semaine 17 (22/01/18 : 28/01/18)

  • recherche émulation glycémie

Afin de pallier au manque de capteur de glycémie et de cobaye (ce qui empêche de réaliser des tests en temps réel) nous avons réalisé un dispositif d’émulation du comportement de la glycémie. Pour ce faire, nous avons étudié la cinétique de ce taux sanguin de manière à se rapprocher le plus possible du comportement réel. La glycémie est le taux de glucose présent dans le sang, c’est la caractéristique surveillée chez les diabétiques car il ne s’autorégule pas chez eux (c’est l'homéostasie). Lorsque l’on ingère un aliment, la glycémie augmente en fonction du taux glucidique de ce que l’on a mangé. En règle générale, lorsque l’on consomme des glucides, notre glycémie augmente. L’augmentation dépend de l’indice glycémique de l’aliment ingéré. Si son indice est élevé, la glycémie augmentera très rapidement et pour une personne non diabétique elle diminuera rapidement également. Inversement si l’indice de l’aliment est petit, la glycémie augmentera très lentement et pour une personne non diabétique elle diminuera lentement également. Une personne atteinte de diabète doit calculer la quantité de glucides ingérés pour connaitre la quantité d’insuline à s’injecter. Il utilise un ratio qui évolue en fonction du moment de la journée et permet de donner le nombre de dose à s’injecter en fonction du nombre de glucide ingéré.

Le but de cette partie est de modéliser le comportement de la glycémie selon différents facteurs tels que l’alimentation ou l’injection d’insuline. Le taux de glycémie ainsi calculé sera ensuite transmis au calcul du nombre de dose comme donnée du capteur de glycémie.


Vérification de la stabilité du système

Pour vérifier la stabilité du système, nous récupérons les équations d’états du système à partir du fichier Simulink. Nous avons trouvé une fonction Matlab permettant de calculer le critère de Routh et ainsi la stabilité du système. Les résultats du script Verifications.m :

Stabilite.Png

Tests en boucle ouverte

Nous avons fait quelques tests en boucle ouverte. Tout d’abord, avec un step de 10V à 1s en entrée on retrouve en sortie le débit suivant : Le débit est de 17e-10 m3/s avec un temps de réponse de 4s.

Commande tension variable.Png

Nous avons également utilisé une commande de tension variable :

Débit variable.Png

Ce qui donne un débit variable :

Quantité d’insuline injectée.Png

A cause du temps de réponse vu plus haut, le débit d’injection ne se stabilise jamais avant que la tension de commande change. A partir du débit, on récupère la quantité d’insuline injectée :

Quantité d’insuline injectée1.Png

Semaine 18 (29/01/18 : 04/02/18)

calcule de la commande

Pour réaliser la commande en débit nous avons utilisé l’apps Matlab « Control System Tuner » qui permet de donner le PID ou les gains (correcteur) nécessaires au bon fonctionnement du système en boucle fermée. Pour le correcteur de débit, nous avons donné les équations d’état de la pompe sous forme système à G et nous avons récupéré les gains F et C pour un «  Tracking of step commands » sans dépassement. Avec une commande variable de débit on trouve le graphique suivant :


Bleu : la commande de débit / Jaune : le débit de sortie On voit que le débit suit bien la commande sans dépassement comme nous le voulions.

Commande de la quantité injectée On souhaite commander la pompe en quantité d’insuline à injecter. Pour cela il faut un nouveau contrôleur qui régule l’injection des doses et donc le débit. On limite le débit d’injection à 2e-9 m3/s ce qui permet d’injecter une dose d’insuline (1e-8 m3) en minimum 5s. On ajoute donc une saturation à 2e-9 sur la commande de débit. On utilise la même apps que précédemment pour trouver le PID. Nous avons cette fois-ci utilisé le système régulé précédent avec l’intégration pour récupérer la quantité injectée comme système G et nous ne recherchons que le C sous forme PI enplaçant F à 1.

Une dose d’insuline est de 1e-8 m3, ici on injecte une dose à 5s puis une seconde à 20s. La commande du nombre de dose doit être l’addition du nombre de dose injectée depuis la mise en marche plus le nombre à injecter. Courbes : Bleu : commande de quantité / Jaune : quantité injectée

Bleu : commande de débit en sortie du PI / Jaune : commande de débit après la saturation / Rouge : débit en sortie de la pompe On peut voir que comme nous le souhaitons, la quantité injectée atteint bien la consigne. Il faut 10s pour injecter une dose, ce qui correspond à notre demande (temps d’injection supérieur à 5s). On voit également que la saturation fonctionne parfaitement. Après ces différentes étapes de modélisation et de commandes, nous avons sous Simulink le modèle de la pompe commandable en quantité d’insuline à injecter et qui retourne le débit d’injection ainsi que la quantité réellement injectée.


  • implémentation de l'émulation du patient sur arduino