« I2L 2025 Groupe4 » : différence entre les versions

De wiki-se.plil.fr
Aller à la navigation Aller à la recherche
(résumé 13 nov)
Ligne 58 : Ligne 58 :
[Mise à jour suite au dernier cours de Systèmes embarqués du 13 novembre]
[Mise à jour suite au dernier cours de Systèmes embarqués du 13 novembre]


Nous avons passé la journée à tenter de faire fonctionner le servo-moteur toujours avec le même code et en le changeant par petites touches pour tester. Puis, en accord avec vous, nous avons repris le code du groupe  
Nous avons passé la journée à tenter de faire fonctionner le servo-moteur toujours avec le même code et en le changeant par petites touches pour tester. Puis, en accord avec vous, nous avons repris le code du groupe 3 qui utilisait aussi un servo-moteur. Même avec ce nouveau code, cela ne fonctionnait pas comme voulu : le moteur tournait toujours dans le même sens et chauffait rapidement alors que le code lui faisait changer de sens (théoriquement). Vous avez ensuite interverti les cartes entre nos deux groupes mais cela n'a pas permis de résoudre la situation. Puis vous nous avez donné un code simple qui fonctionnait enfin pour faire tourner le moteur. L'idée est maintenant de tester les capteurs de lumière en récupérant les valeurs via la lufa.


= Extraits significatifs de code (étudiants) =
= Extraits significatifs de code (étudiants) =

Version du 13 novembre 2025 à 14:48

Proposition de système (étudiants)

Un système qui s'oriente automatiquement vers la source lumineuse la plus forte. Il intégrera deux capteurs de lumière ainsi qu'un moteur. Le moteur fera tourner le système vers le capteur de lumière qui en reçoit le plus. Pour cela, le moteur bougera sur un axe vertical à 180° et sera entouré de deux capteurs de lumière, celui qui reçoit le plus de lumière donnera au système (et donc au moteur) la direction à prendre. Une LED indiquera l'état actuel du système :

  • allumée: le système est en train de se diriger vers la source de lumière
  • éteinte: le système ne bouge pas

Egalement un bouton permettra de switcher entre un mode manuel et automatique. Le mode automatique suit le fonctionnement précédemment décrit. Tandis que le mode manuel permettra à l'ordinateur d'ordonner au moteur de se rendre à un certain angle. Une deuxième LED indiquera le mode actuel.

  • allumée: mode automatique
  • éteinte: mode manuel

Contre-proposition (intervenant)

Dans le mode non-autonome (commandé par le PC) les valeurs de luminosité doivent être récupérées par le PC et affichées. Votre périphérique USB utilisera la classe "vendeur" (spécifique).

Le mode autonome doit pouvoir fonctionner avec la carte alimentée par batterie.

Le bricolage pour installer les photorésistances sur le servo-moteur est à votre charge. Une petite carte électronique serait adaptée. Une solution sera proposée avec un PCB d'essai.

Proposition définitive (étudiants)

Répartition du travail (étudiants)

Carte

Schéma initial (étudiants)

Schéma de la carte

Carte routée (intervenant)

Vous utiliserez la carte avec batterie.

Composants (intervenant)

Carte réalisée (intervenant)

Photo de la carte

La carte est entiérement soudée. Cela dit il y a encore du travail pour le PCB d'essai portant les photorésistances. D'autre part les photorésistances ne sont pas encore disponibles.

A noter un problème : les photorésistances R38 et R39 ne sont pas connectées sur des broches ADC du microcontrôleur. Il faut basculer de PC6 et PC7 vers PB5 et PB6.

Au 10 octobre 2025, le problème des broches ADC est réglé par connexion entre PC6/PC7 et PB5/PB6.

A noter un second problème : la broche de commande du servo-moteur est reliée à PF6 alors qu'elle devrait être connecté à une broche gérée par un minuteur pour générer un signal PWM comme PB7 ou PD0.

Au 15 octobre 2025, la carte est complétement soudée, y compris la carte d'essai portant les photorésistances. A la même date le servo a été déplacé vers PD0 et la LED initialement sur PB0 vers PF6. Attention aux fils au recto de la carte : fragile !

Travaux (étudiants)

Nous avons commencé par tester le servo moteur. Son utilisation s'est avérée très compliquée. Lors de la première séance en classe, nous avions eu des premières difficultés : rien ne fonctionnait. Nous avons mis du temps à comprendre que le moteur était branché à l'envers, une fois inversé, le moteur réagissait enfin à notre code. Cependant celui-ci tournait de manière chaotique. Nous ne savions pas comment le faire tourner de gauche à droite (jusqu'aux bornes min et max). Puis nous avons repris le code d'autres camarades qui utilisaient également le servo-moteur, mais le moteur ne réagissait toujours pas comme nous le souhaitions. Il tournait à gauche à fond sans jamais retourner à droite. De plus, le moteur chauffait. Devant ces échecs, nous avons ensuite essayé d'exploiter les valeurs des capteurs de lumière. Cependant, ne disposant encore ni d'un écran ni de la lufa, nous n'avions aucun moyen de récupérer les valeurs des capteurs. La technique a donc été de tester individuellement chaque capteur en allumant une led lorsque la valeur de celui-ci dépassait un certain seuil (exemple 128). Cependant, nous avons remarqué que les valeurs renvoyées semblaient être toujours les mêmes car peu importe le seuil fixé, la led restait allumée (pour le premier capteur). En revanche lors du test d'un deuxième capteur, la led restait toujours éteinte peu importe le seuil.


[Mise à jour suite au dernier cours de Systèmes embarqués du 13 novembre]

Nous avons passé la journée à tenter de faire fonctionner le servo-moteur toujours avec le même code et en le changeant par petites touches pour tester. Puis, en accord avec vous, nous avons repris le code du groupe 3 qui utilisait aussi un servo-moteur. Même avec ce nouveau code, cela ne fonctionnait pas comme voulu : le moteur tournait toujours dans le même sens et chauffait rapidement alors que le code lui faisait changer de sens (théoriquement). Vous avez ensuite interverti les cartes entre nos deux groupes mais cela n'a pas permis de résoudre la situation. Puis vous nous avez donné un code simple qui fonctionnait enfin pour faire tourner le moteur. L'idée est maintenant de tester les capteurs de lumière en récupérant les valeurs via la lufa.

Extraits significatifs de code (étudiants)

Rendus (étudiants)

Projet KiCAD : Fichier:I2L-2025-Carte-G4-final.zip

Programmes :