Bienvenue sur le journal de bord du projet système de mesures sur un kart. On s'appelle Lucas et Thomas et nous sommes deux étudiants en deuxième année à l'IUT de Salon de Provence en Génie Électrique et Informatique Industrielle. Sur cette page nous vous partagerons notre journal de bord sur notre projet qui consiste à réaliser un système de mesures sur un kart électrique et de pouvoir transmettre les données du kart à un PC. Ce blog sera tenu à jour à chaque séance.
Don't wanna be here? Send us removal request.
Text
Séance 16 à l'IUT
Seizième séance :
Pour cette séance nous n'avions quasiment plus rien à faire mise à part arranger la face avant de l'exécutable de la carte SD.
Voici la face avant terminée :
Le programme permettant de traiter les données de la carte SD est terminée. Le programme fonctionne correctement.
0 notes
Text
Séance 15 à l'IUT
Quinzième séance : Pour cette séance nous avons crée un programme permettant de tracer les courbes de la Vitesse, du courant, et des 3 températures en fonction du temps.
Pour pouvoir tracer nos courbes en fonction du temps nous avons récupéré les valeurs de l'horodatages puis grâce à un item de LabVIEW nous avons pu transformer le format hh::mm::ss en seconde directement. Ces valeurs sont ensuite stockées dans un tableau. Pour réaliser notre temps écoulé il faut récupérer la première valeur de l'horodatage et ensuite soustraire chaque valeur suivante pour avoir le temps écoulé. On réalise ce calcul : ( Temps +1 )- Valeur de départ.
Voici le programme permettant de le faire :
Dans le tableau "Horodatage" on insère les valeurs en seconde puis dans le tableau "Array in" on vient récupérer la première valeur. Une fois le calcul réalisé on obtient dans le tableau "Temps X" le temps écoulé en seconde.
Une fois que ceci est fait on n'a plus qu'a tracer nos courbe avec cette item là :
On vient y placer avant un item qui permet de rassembler des valeurs, ceci s'appelle un "Cluster". Dans l'entrée du haut on connecte le tableau du temps écoulé et dans l'entrée du bas on vient y mettre les valeurs du tableau de la vitesse, du courant ou des 3 températures.
On obtient donc des courbes comme ceci :
Ensuite grâce aux courbes on doit également afficher la valeur maximal et minimal ainsi que la valeur moyenne. Pour afficher le Min et le Max il existe un item qui permet directement ses valeurs au fur et a mesure que le tableau se remplit .
Ensuite pour la valeur moyenne on va utiliser un item "somme des valeurs d'un tableau" et ensuite diviser cette somme par le nombre de valeur qui s'ajoute. Pour ce faire on va créer un registre à décalage qui va ajouter "+1" à chaque tour de loop.
Voici le résultat sur la face avant :
0 notes
Text
Séance 14 à l'IUT
Quatorzième séance à l'IUT :
Dans cette séance nous devions continuer notre programme des traitements des données du kart en temps réel et en lecture de carte SD.
Pour ce faire nous devions stocker toute nos valeur dans un tableau.
Nous devons effectuer un registre à décalage pour remplir notre tableau à chaque tour de loop.
Une fois les tableaux remplis nous pouvons programmer nos leds en créant des conditions. Nos leds doivent agir en fonction de la température et des seuils.
Une fois cette partie programmée on peut associer nos valeurs à des indicateurs visuels sur notre page d'accueil.
La partie face avant est terminée, on peut maintenant commencer les autres pages où nous allons devoir tracer les courbes de la vitesse, du courant et des 3 températures en fonction du temps.
On va devoir récupérer les données de l'horodatage pour pouvoir tracer en fonction du temps.
Voici la partie du programme permettant d'extraire l'horodatage et d'obtenir une valeur numérique :
Nous devons extraire la première valeur de notre horodate car le résultat est négatif. On transforme notre temps hh/mm/ss en seconde puis on calcul la différence avec la valeur de départ et la valeur suivante.
Prochaine séance calcul de la valeur moyenne, afficher le maximum et le minimum. Organiser la face avant.
0 notes
Text
Séance 13 à l'IUT
Treizième séance : C'est une séance un peu particulière car nous avions eu les journées portes ouvertes donc nous n'avons pas eu le temps d'avancer énormément sur le projet.
Nous avons tout de même commencé la partie programme pour lire une carte SD et afficher les données.
Comme pour le premier programme il faut détramer chaque donnée et les afficher en valeurs numériques.
Voici le programme permettant d'ouvrir un fichier et de lire les données détramées :
Ce programme consiste à détramer chaque donnée de la carte SD et de pouvoir ensuite afficher la vrai valeur en numérique. On vient d'abord ouvrir un fichier texte contenant les données. On analyse la taille du dossier puis on lit le fichier entier. Chaque donnée est séparée par un point virgule. Une fois la lecture terminée on ferme le fichier.
Voici l'interface vue par l'utilisateur :
Sur cette interface avant on y affiche la chaine de caractère de donnée de la carte SD et on y affiche chaque donnée. Les valeurs en haut à gauche sont les valeurs en chaines de caractères et à droite la valeur numérique. Il reste à présent mettre ses valeurs dans un tableau afin de pouvoir les exploiter au mieux par la suite.
Pour ce programme l'interface final est identique au programme précédent de la séance 12.
0 notes
Text
Séance 12 à l'IUT
Douzième séance :
Début de la deuxième partie du projet qui consiste à réaliser une IHM (Interface Homme Machine) avec le logiciel labVIEW. Début de séance on effectue notre planning et on commence à réfléchir sur la forme du programme.
Pour cette 12ème séance nous avons pris connaissance du sujet et du cahier des charges. Nous devons réaliser 2 programmes qui permettra d'acquérir les données du kart soit via le port série (le boitier de réception) soit en lisant la carte SD.
Notre programme doit contenir une page d'accueil avec les éléments suivants :
Une jauge pour la vitesse ainsi que la valeur numérique.
3 thermomètres de températures avec les leds représentant les seuils (Batteries, Moteur et Variateur) ainsi que la valeur numérique de chacun.
Une barre de batterie pour indiquer le niveau de la batterie avec la valeur en pourcentage.
Afficher l'autonomie en minute et l'heure d'enregistrement
Notre interface comportera 3 autres pages. La première consistera à afficher la courbe de la vitesse avec les valeurs suivantes :
Le minimum
Le maximum
La valeur moyenne
La deuxième page la courbe du courant avec les mêmes valeurs et la troisième page les 3 courbes de chaque température.
Se sera de même pour le deuxième programme avec la carte SD.
Nous avons débuté cette séance par créer un programme permettant de détramer nos données venant du port série :
Ce programme consiste à lire le buffer et décortiquer chaque caractère pour ensuite les distinguer correctement. On vient ouvrir la liaison avec l'Arduino puis on cherche le caractère séparateur qui est le point virgule. Une fois que chaque chaine de caractère est détramée on vient ensuite transformer la valeur de la string en valeur numérique.
Ensuite on a commencé à faire l'interface d'accueil et la navigation entre chaque page pour l'utilisateur :
Le programme permettant de lier chaque page à la barre de navigation est le suivant :
Ce programme consiste à créer une boucle de séquence qui est elle même reliée à un menu de sélection crée préalablement. Dans cette séquence on y ajoute une boucle de condition en associant le nom de l'onglet que l'on souhaite sélectionner avec la page associée. Tout ce bloque est dans une boucle while ainsi qu'un bouton stop.
0 notes
Text
Séance 11 à l'IUT
Onzième séance :
Pour cette dernière séance voici les dernières tâches que nous devions réaliser :
Nous avons imprimés nos pièces en 3D pour faciliter l'implantation des capteurs et du tableau de bord sur le Kart.
Sur cette photo on a le support pour le capteur de vitesse ainsi que le boitier du tableau de bord qui accueillera toute l'électronique embarquées. Il y a aussi la face avant permettant de mettre l'afficheur LCD, les leds, l'interrupteur et un switch pour le mode d'affichage. On a aussi le support pour la carte Arduino MEGA.
Pour de ce qui est le boitier de réception nous avons récupéré un boitier déjà existant à l'IUT.


Dans ce boitier on y trouve une carte Arduino avec un module LoRa pour recevoir les données.
Nous avons également imprimé une carte PCB pour le module LoRa du coté émission.


Cette carte permet de relier les pattes de LoRa que l'on utilise sur la carte MEGA.
On a également fabriqué un shield pour accueillir toute les connexions des capteurs et des différents modules.
En cas de secours pour l'alimentation on a utilisé un Traco pour nous fournir différentes tensions dont nous avons besoins.
Voici le schéma eagle ainsi que le board :
Cette petite carte doit permettre de nous fournir plusieurs tensions pour pouvoir alimenter chaque capteur ainsi que notre boite avec l'Arduino
On a également avancé le rapport de projet ainsi que le diaporama pour la soutenance.
0 notes
Text
Séance 10 à l'IUT
Dixième séance :
Finalisation de tout nos modules arduino. Durant cette séance nous avons terminés les 4 fonctions qui constitue notre système d'implantation sur le Kart. La fonction mesures, affichages, stockage et transmission.
Durant cette séance nous avons finalisé la fonction transmission avec le module Arduino LoRa.
Pour ce faire nous avons du faire deux programmes, premier consiste à envoyer nos données et le second permet de les réceptionner et de les afficher sur le port série du PC.
Voici le module LoRa :

Ce module est directement implanté sur la carte MEGA . Nous avions du connecter correctement les pattes MISO, MOSI et SCK à l'aide de câble car les pins de la LoRa ne sont pas reliées au bon endroit sur la carte MEGA. Pour palier ce problème de fil nous avons crée un Shield sur la Lora en circuit imprimé que voici :
Schéma Eagle.
Board eagle.
Voici la partie programme permettant de recevoir les données :
Dans cette partie nous définissons nos variables. Nos données nous allons les recevoir en chaine de caractères. On définit les pattes du SPI qui sont la 10, 9 et 2. On règle notre fréquence de transmission et de réception à 433 Mhz.
Dans la partie Setup on va initialiser le module et paramétrer la connexion des deux modules.
Dans la Loop nous allons venir récupérer nos données en chaine de caractères et les afficher sur notre moniteur série.
Voici maintenant la partie programme pour le transmetteur :
Dans la partie Setup on va initialiser nos modules qui fonctionnent en SPI pour ne pas avoir d'interférence, en l'occurrence le module de LoRa et la carte SD. On choisit à qui on va s'adresser. Ces paramètres là sont rajoutés juste devant l'initialisation de chaque module dans la partie Setup.
Voici la partie initialisation du module de transmission qui est quasiment identique à la partie initialisation du module de réception.
Dans cette partie de programme on vient mesurer la longueur de notre chaine de caractères. On utilise la fonction charAt qui nous permet d'envoyés des variables en caractère. Dans le début du programme on récupère nos données qui sont aussi stocker sur carte SD et on les envoies directement à notre module de réception.
Voici le résultat de la réception :
On peut observer dans la première colonne la vitesse qui est nul, ensuite la tension, le courant et les 3 capteurs de températures.


Une fois toute cette partie terminée, il faut qu'on modélise nos boite en 3D pour ranger notre électronique, faire le tableau de bord et fabriquer une carte en circuit imprimée pour toute nos connectiques.
NE PAS OUBLIER DE RACHARGER LES BATTERIES POUR LA PROCHAINE FOIS !!!!
0 notes
Text
Séance 9 à l'IUT
Neuvième séance :
Pendant cette séance nous avons fait un test général de tout les capteurs. Notre carte ArduinoMEGA nous permets de récupérer les données de nos 3 capteurs de températures, la vitesse, la tension et le courant. Nous avons du corriger des morceaux de programmes notamment sur les capteurs de températures. On a eu un problème dans l'appel de nos fonctions et de la déclaration de nos valeurs, un mélange d'entier avec des flottant.

On a ensuite horodatés nos données. Après avoir galéré pendant 3h sur le module RTC qui ne fonctionnait pas car la pile qui faisait office d'horloge et de mémoire sur le module était morte, nous avons pu changer la pile et pu initialiser le module RTC grâce à ce programme.
A la ligne 10 on initialise la RTC et on envoie le programme sur le module. Ce programme est envoyé une seule fois. Ensuite dans notre programme générale on fera appel juste aux lignes de codes suivantes :
Grâce à ce programme on vient juste lire l'heure. Une fois ce programme injecté dans notre programme principal du projet, on a pu horodater nos données dans la carte SD. Voici le résultat :
On peut voir dans la première colonne que l'heure et la date apparait bien et correctement.
Il nous reste la transmission de donnée et le câblage de nos capteurs sur notre carte ArduinoMEGA et la conception de nos boites pour protéger nos Arduino et les connections.
0 notes
Text
Séance 8 à l'IUT
Huitième séance :
Impression de notre carte en circuit imprimé pour notre capteur vitesse :


Perçage de la carte, soudure des composants, vérification de la continuité des pistes et implantation sur le Kart. Nous avions du modifier notre programme pour le capteur vitesse puisque nous avions eu des soucis d'affichage. On a du limité les périodes de temps quand la vitesse était à son minimum et de même quand elle était à son maximum.
Voici le programme :
Nous avons rajoutés Tmin, T_précédent et v_précédent. Ces 3 nouvelles variables nous permettent de résoudre notre problème de vitesse quand le Kart est à son maximum. On va venir filtrer notre période, du moins la limiter pour ne pas avoir des pics de valeurs et donc avoir une vitesse correcte. Cette action est réalisée par Tmin, T_précédent. Ensuite nous avions eu un problème de vitesse quand le kart ne fonctionnait pas il nous affichait une valeur. Pour palier ce problème nous avons rajouté la variable v_précédent qui permet de garder la valeur précédente un certain temps et quand cette valeur reste trop longtemps ça veut dire que le kart est arrêté et donc doit afficher 0 Km/h
Durant cette séance nous avons terminé notre fonction mesure de notre schéma fonctionnelle.
Nous avons pu passer à la partie stockage de donnée, transmission et affichage.
Nous avons réussi à stocker nos données sur une carte SD.
Voici le programme :
Pour le stockage nous avons repris des programmes vue en cours d'info et nous les avons adaptées à notre projet. On a crée une chaine de caractère pour faire les en-têtes de notre fichier Excel. Nous avons ensuite intégré ce programme dans notre programme principal en incluant nos capteurs qui récoltes les données. Voici ce que l'on a obtenue :
Voici les données du kart stocker dans un fichier. Il nous manque l'horodatage des données.
Nous avons aussi crée un programme permettant de savoir le niveau de batterie et l'autonomie de la batterie. Voici les programmes :
Ces données là ont pu être calculer grâce à notre capteur de courant ainsi qu' à notre capteur de tension. Pour l'autonomie de la batterie nous avons calculés l'énergie total du kart qui vaut 1400 Joules. Puis grâce à la puissance on a pu calculer l'énergie instantanée du Kart.
Pour le niveau de batterie nous avons calculé le niveau total des batteries et mesuré en instantané la tension des batteries puis on l'a convertit en pourcentage.
0 notes
Text
Séance 7 à l'IUT
Septième séance :
Enfin nous avons réussi à faire démarrer le Kart nous avons pu tester nos capteurs de vitesse, de courant et de tension.
Mettre les batteries neuves sur le kart. Nous les avons reliés en série pour avoir la tension maximal que peut délivrer le Kart. Nous les avons testés une par une, elles font chacune 12.5 V, donc elles sont correctement chargées. Après avoir identifié le capteur qui permet de faire démarrer le kart nous avons pu mettre en place notre protocole de test des capteurs.
Test du capteur de tension de Kart :

Nous avons placé notre capteur de tension sur 2 batteries en séries. Pour vérifier nos valeurs obtenues grâce à notre programme nous avons utilisé un voltmètre. Voici les valeurs mesurées avec notre programme et avec le voltmètre :
Mesure voltmètre : 49,85V Mesure capteur : 50,30V
Nous avons une légère différence entre la mesure capteur et la mesure voltmètre. On peut rectifier la mesure capteur en modifiant le programme ci-dessous :
Ces lignes de code nous permettent de relever la tension mesurée sur une sortie Analogique A0. La première ligne de la fonction void mesure_tension permet de relever notre tension, ensuite la deuxième ligne permet d'avoir la bonne valeur grâce au calcul du qantum et la troisième ligne permet de rectifier la valeur final pour qu'elle s'approche le plus à la valeur mesurée par le voltmètre.
Après avoir corrigé le programme nous obtenons les valeurs suivantes :
Mesure voltmètre : 49.81 Mesure capteur : 49.80
Les valeurs sont quasiment identiques.
Test du capteur de courant sur le Kart :

Nos tests pour ce capteur ne sont pas concluant. Pour comparer la valeur mesurée par notre capteur et qui est envoyée sur notre Arduino, nous avons utilisé une pince ampèremétrique. Hors nos valeurs sur l'Arduino ne correspondent pas avec la pince. Nous devons donc modifier notre programme qui est le suivant :
Nos calculs dans la partie void mesure_courant ne sont pas bons. A modifier pour la prochaine séance.
Test du capteur de vitesse : Nous avons placé notre capteur de vitesse :
Nos résultats sont concluants, notre signal carré en sortie est parfait nous n'avons pas de parasites. Nous pouvions donc mesurer notre période et notre fréquence en faisant varier la vitesse du kart.
Voici les résultats : quand nous sommes à faible vitesse notre période vaut 150ms soit une fréquence de 6.66 Hz et une tension à l'état haut de 4.4V et quand nous sommes à la vitesse maximal notre période vaut 9.8ms soit une fréquence de 102 Hz une tension à l'état haut de 3.8V. Nous devons encore modifier notre programme ci-dessous pour obtenir la bonne valeur de la vitesse qui n'est pas correcte pour l'instant.
Voici le programme du capteur vitesse :
Nous avons un problème de calcul de la pulsation et donc de la vitesse dans la partie void mesure_vitesse. Il faut vérifier si nos équations sont homogènes et refaire un test à la prochaine séance.
0 notes
Text
Séance 6 à l'IUT
Sixième séance :
Test du nouveau capteur de courant : le LT 200-S
Ce capteur est mieux adapté pour notre projet. Ce capteur peut supporter un pic de courant maximum de 200A . Il a un ratio = I(primaire)/I(secondaire) = 1/2000. Donc pour nous I(out) max = 200*1/2000 = 0.1 = 100mA. Nous prenons ensuite en compte la sortie V(out) max qui ne doit pas dépasser 5V. On aura donc un résistance en sortie branchée sur la patte M du capteur. R = V(out) max/I(out) max = 5/0.1 = 50 Ohm.
Voici le câblage de notre capteur :

La résistance va nous permettre d'avoir une tension image du courant et de limiter aussi notre tension de sortie max.
Nous avons donc ensuite testé le capteur et fait des relevées pour avoir l'équation de la courbe.

Nous obtenons cette courbe ci-dessous :
Pour un courant de 200A max nous obtiendrons au maximum 4.5V en sortie. Le calcul est effectué avec l'équation de la courbe Tension=22.534*Courant-3.2864.
Nous avons ensuite soudés nos câbles sur le capteur pour qu'il soit opérationnel sur le Kart :

Tester les batteries du Kart : Ensuite nous devions tester les batteries du Kart et les changer si elles étaient défectueuses. Une fois testés nous avons décidé de changer les 4 batteries par des nouvelles. Ces batteries sont chargées à 12.6V chacune, donc en bon état.

Nous avons aussi modifié notre capteur de tension car le bornier n'était pas adapté à la taille du câble. Nous avons donc changé le bornier et changé les connections qui seront placées sur les batteries. Pour la prochaine séance il faudra remonter les batteries et vérifier le fonctionnement du Kart pour ensuite tester nos capteurs de courant, tension, vitesse et température.

Nous avons aussi refais nos mesures du capteur vitesse sur le disque de frein avec nos relevés de tensions :

Quand le capteur est devant de le disque on obtient une tension de 0V et quand le capteur passe devant le trou nous obtenons une tension de 4.9V. Ces valeurs sont cohérentes avec la partie théorique.
0 notes
Text
Séance 5 à l'IUT
Séance cinq :
Tâche réalisées :
Test du capteur de vitesse : Pour tester le capteur de vitesse nous avons placé une roue codeuse de couleur blanche pour réfléchir le laser et un trou pour permettre au laser de passer et d'obtenir une variation de tension de 0V à 5V.
Nous avons d'abord soudés notre capteur :

Le fil rouge correspond à notre Vcc = 5V, les fils correspondent à notre masse 0V et le fil vert notre sortie Vout.
Voici notre plaquette d'essai pour tester notre capteur de vitesse :

Voici notre signal de sortie :

Nous obtenons un signal carré. Quand notre capteur est sur le blanc (réfléchi) notre signal vaut 0V. Quand notre capteur est dans le trou notre signal vaut 5V.
Nous avons ensuite tester notre capteur sur le Kart :

Nous avons eu des soucis sur le capteur puisque après plusieurs tests sur le Kart et notre maquette nous avons remarqué que si notre capteur n'est pas perpendiculaire à notre disque de frein nos valeurs sont faussées. Pour cela nous avons pris des mesures pour fabriquer un support qui nous permettra d'adapter la perpendiculaire du capteur par rapport au disque. De plus comme le kart ne fonctionne pas nous avons bougé nous même les roues pour pouvoir mesurer la valeur de la tension quand le capteur est devant le disque et quand il est devant le trou.
La prochaine fois nous devrons charger les batteries pour pouvoir faire nos mesures dans de bonne condition.
Nous en avons profité pour vérifier si notre câble qui nous permettra de mesurer notre courant passe dans notre capteur. Conclusion le câble est trop large pour le capteur, nous devons tester d'autre capteur et trouver un autre moyen pour pouvoir implanter notre capteur.
0 notes
Text
Séance 4 à l'IUT
Quatrième séance :
Tâches réalisées :
Nous avons effectué un vérification de notre capteur de tension en ajustant des paramètres de code Arduino pour se rapprocher le plus de la tension délivrée par le générateur de tension. Il a fallu relever 2 points importants qui sont les suivants : 21 V et 28 V correspondant à notre plage de tension de batterie.
Test capteur vitesse :
Voici à quoi ressemble notre capteur vitesse :
Les OPB703, OPB704 et OPB705 se composent d'une diode électroluminescente (DEL) infrarouge (890 nm) et d'un silicium NPN Phototransistor, montés côte à côte sur des axes optiques convergents dans un boîtier en plastique noir.
Pour pouvoir utiliser correctement ce capteur il va falloir étudier la datasheet et réaliser des adaptations de résistances pour contrôler le courant dans le transistor et de pouvoir le saturer. Notre but étant d'avoir une tension de 5V quand le capteur passe devant le vide et une tension de 0V quand il est sur le métal de notre disque de frein (réfléchie). A partir de la datasheet voilà ce que nous en avons déduit :
Grâce à la datasheet nous avons pu comprendre le fonctionnement du capteur, son câblage et les différentes valeurs importantes pour que le capteur fonctionne correctement.
Nous avons choisi d'alimenter ce capteur Vcc en 5V pour la partie Led et de même pour la partie transistor. Cela nous permettra de ne pas dépasser nos 5V en sortie et donc de ne pas faire d'adaptation si on avait augmenter Vcc. De plus notre carte Arduino peut supporter au maximum 5V. Donc cela nous convient parfaitement.
Choix des résistances :
Pour Rled il nous fallait une résistance qui nous permettait de gérer le courant et de le fixer à 40mA. Comme notre tension Vcc étant de 5V et une tension max de 1.7V dans la led nous avons choisi une résistance de 82 Ohm.
Pour saturer notre transistor donc c'est-à-dire Vce = 0V nous devions tester différentes valeurs de résistances pour une plage de courant Ic allant de 0.15mA à 2.5mA. Pour connaitre la valeur de Rc qui nous permet d'avoir un courant qui sature notre transistor. Pour trouver Rc max et Rc min on utilise la valeur min de Ic et la valeur max de Ic. Donc Rc min= Vcc/Icmin = 2.2 Komhs et Rc max =Vcc/Icmax = 33 Kohms. Pour faire varier notre valeur de Rc nous allons placer notre plus petite valeur de Rc en série avec un potentiomètre de 50Kohms. Test du capteur à la séance suivante.
Nous avons ensuite modifier et refais nos mesures pour le capteur de courant pour en déduire notre expression pour trouver le courant en fonction de notre tension mesurée en sortie. Les allures des courbes sont les mêmes que celles de la séance 3. L' équation obtenue est la suivante : Tension = 0.0392*Courant + 0.3985.
Test leds + capteurs :
Nous avons testés notre capteur de température avec les leds. Pour effectuer nos mesures nous avons modifiés les seuils de température pour observer le changement d'état de la led.
Pour vérifier les mesures de températures affichés sur le PC nous avons utilisés une sonde de température et une caméra thermique.

Les mesures sont légèrement faussées puisque que nous avons le PC derrière qui génère une source de chaleur et ainsi que la lampe. En faisant nos mesures nous observons que nos différents appareils de mesures suivent les valeurs mesurés par notre capteur. Mais encore une fois nos appareils ne sont pas assez précis pour des températures basses et ambiantes. La mesure de température est très complexe car on peut avoir très vite plusieurs paramètres qui viennent en compte et qui pourraient fausser nos résultats
Voici maintenant la partie programmation pour que la led change de couleur en fonction de nos seuils :
Nous définissons nos seuils, le port sur lequel doit être connecté , nos leds. On déclare notre sortie grâce à pinMode(0, INPUT) dans notre setup. Dans notre loop on va venir mesurer notre température grâce à la fonction temp et ensuite nous définissons des conditions multiples grâce à ce caractère "&&" pour venir comparer temp aux seuils. En fonction de ses seuils nous réglons notre led de différente couleurs grâce à leds.setColorRGB.
0 notes
Text
Séance 3 à l'IUT
Troisième séance :
Tâches réalisées :
Test du capteur de courant Has100 et Has200. Ce capteur va nous permettre de mesurer le courant en sortie de nos de batterie du kart pour pouvoir ensuite déterminer son courant et donc définir la consommation du kart en Kwh. Ce capteur est donc très important pour notre système !!! Nous avons étudiés les caractéristiques de nos deux capteurs, les voici :
Les deux capteurs sont quasiment identiques la seule donnée qui change c'est la mesure du capteur qui vos 300 A pour le Has100 et 600 A pour le Has200. Nous choisirons le Has100 qui est largement suffisant pour notre kart qui demande un courant max de 200A.
Pour tester ce capteur nous avons mis en place un montage simple qui va nous permettre de tracer la caractéristique courant/tension.
Voici le montage :


Explication de notre montage : Alimentation du capteur en +15V et -15V avec un générateur de tension. On fait passer un câble alimenté en courant, ce câble boucle plusieurs fois le capteur car notre générateur de courant est limité jusqu'à 2.5 A. On branche la patte 0V du capteur à la masse et la patte de sortie vers l'oscilloscope. On fait ensuite varier le courant et on observe à l'oscilloscope que la tension varie. Elle augmente en quand le courant augment et inversement. C'est un capteur à effet Hall. Nous avons donc pu relever différents points pour ensuite tracer les caractéristiques des deux capteurs.
On remarque que la tension est proportionnelle au courant.
Le coefficient dans l'équation sera utile par la suite dans notre programme Arduino quand le capteur sera placé sur le kart.
Réalisation de la fonction F2.1 « Afficher les données sur l’écran LCD » :
Pour réaliser cette fonction, nous avons repris les précédents programmes de tests de l’écran LCD que nous avions codés à la séance 2.
Pour nous aider à positionner le curseur où nous écrivons, nous avons réalisé au préalable un tableau Excel servant à indiquer les cases où se situent les écritures (fixes ou statiques), ainsi que les données (variables ou dynamiques).
Le tableau Excel :
Le programme avec la fonction « affichage_lcd() » :
Remarque :
Dans un premier temps, le programme ne fonctionnait pas car nous avions inversé l’ordre de déclaration des cases dans les fonctions lcd.setCursor(). Le pointage correct est lcd.setCursor(n° de la colonne, n° de la ligne).

Test du capteur de tension pour la fonction f1.2 « Mesurer la tension » :
Tout d’abord, nous avons pris connaissance de la datasheet du capteur de tension qui est en réalité un pont diviseur de tension avec un sélecteur de gain 3 ou 10.
D’après la datasheet, nous devons utiliser le capteur en gain 10, pour que l’on puisse mesurer dans la bonne plage de tension (doit être supérieur à 24V pour deux batteries de 12V en série, tension image de nos quatre batteries en série) :
Ensuite nous avons testés le programme exemple suivant, pour comprendre comment fonctionne la lecture analogique d’un signal :
Par la suite, nous avons modifié le programme comme suit, pour réaliser la caractéristique du capteur sur Excel :
Pour finir, nous avons ajoutés l’équation obtenu dans notre précédent programme, pour pouvoir obtenir une lecture de la tension plus correcte :
Remarque / Par exemple : pour 28V = 27,8V, nous avons toujours une variation entre 27,8V et 27,85V. Cette erreur correspond à la précision maximale que l’on peut obtenir, imposée par le quantum q = tension max arduino / nb de bits du CAN = 5 / 1024 = 0,00488 (fois 10 car le capteur de tension est en gain 10).
0 notes
Text
Séance 2 à l'IUT
Deuxième séance :
Tâches réalisées :
Test du capteur de température LM35. Ce capteur va permettre de mesurer notre température du moteur, du variateur de et de la batterie. Pour cela nous avions dû tester le bon fonctionnement de celui-ci à l'aide de ce montage et de ce programme Arduino :

Le programme test nous permet de visualiser les variations de température qui sont ensuite afficher sur le moniteur série de l'Arduino. On peut observer que ce bout de programme nous affiche toute les 100 millisecondes la température qui est elle même calculer à l'aide de la formule temp. Le point à améliorer sur ce bout de programme c'est le calcul qui n'est pas optimisé. ( A modifier par la suite dans nos futur programme).
Test de l'afficheur LCD RGB Grove. Cet afficheur sera par la suite implanter sur notre boitier qui sera situé sur le kart. Il permettra à l'utilisateur de visualiser la vitesse, l'autonomie de la batterie, la consommation et le niveau de charge. Pour cela nous avions dû tester le bon fonctionnement de celui-ci en rajoutant dans le programme test de l'afficheur le programme de la température.

Ce programme comporte le programme qui permet d'afficher un caractère sur l'afficheur, ça couleur de fond, la caractère à afficher et le programme permettant de mesurer la température et de l'afficher su notre écran. La partie Setup permet de définir notre couleur de fond grâce à la fonction lcd.setRGB, le nombre d'emplacement pour notre caractère grâce à la fonction lcd.begin et l'écriture de notre texte avec la fonction lcd.print. Dans notre Loop nous retrouvons la partie de code pour mesurer la température avec son affichage.
Test de la transmission entre les deux module LoRA Radio (433Mhz). Ces deux modules nous permettront par la suite de transmettre les données relevées sur le kart vers notre PC. Pour tester nos deux modules nous les avions connectés chacun sur un pc en leur envoyant sur l'un un programme permettant de recevoir et sur l'autre permettant de transmettre. Ce test a été effectué sur une très courte distance (par la suite il faudra le faire sur longue distance pour pouvoir effectuer différents régalages). Voici les deux programmes :

Programme Partie Setup module Transmetteur et Recepteur:
Transmetteur :
Récepteur :
Dans la partie Setup on définit les entrées de notre module LoRA et on effectue une procédure de test pour initialiser et connecter les deux modules. Sur notre premier test l'initialisation de fonctionnait pas car nous n'avions pas modifié la fréquence de transmission et de réception et qui doivent être la même. Nous avions eu alors ce message d'erreur "LoRa radio init failed" qui est définit dans notre Setup. Ensuite nous avons trouvé l'erreur et donc on a pu modifier la fréquence. Nous avions eu alors ce message sur le moniteur série "LoRa radio init OK".
Programme Partie Loop module Transmetteur et Recepteur:
Transmetteur :
Récepteur :
Dans notre partie Loop nous avons la partie code qui va nous permettre de transmettre les données. Nous a changé le caractère "Hello World" par "Bonjour" dans notre partie transmetteur grâce à cette ligne de code (char radiopacket [20] = "Bonjour #";). On a pu observer sur le moniteur série du récepteur que le caractère a bien été envoyé puisqu'il nous a affiché "Bonjour".
Dans cette procédure de test du module LoRa il nous reste encore des éléments à identifier pour bien comprendre son fonctionnement pour pouvoir ensuite correctement l'utiliser dans notre système.
0 notes
Text
Séance 1 à l'IUT
Première séance : découverte de notre SAE (Situation d'apprentissage et d'Évaluation). Nous avons eu le choix entre 3 projets. Nous avons opté pour le projet qui consiste à développer un système de mesures permettant de relever des données d'un kart électrique. Ces données sont : la vitesse, la consommation de batterie et calculer le niveau de batterie restante et de l'afficher sur le kart. Ces données là il faudra pouvoir aussi les stocker sur une carte SD qui ensuite les transmettra vers notre boitier de réception qui sera relié sur le moniteur série d'un PC. L'utilisateur pourra également voir a l'aide d'un voyant lumineux la température du moteur, de la batterie et du variateur.
Quand la température est au dessus de 90°C, la led devient rouge. Quand la température est comprise entre 60°C et 89°C, la led devient orange. Quand la température est comprise entre 0°C et 59°C, la led devient verte.
Nous avons pris connaissance du sujet et du matériel .
Voici le kart sur lequel nous devons effectuer notre projet :

2 notes
·
View notes