« SE4Binome2024-4 » : différence entre les versions

De projets-se.plil.fr
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
mAucun résumé des modifications
Ligne 4 : Ligne 4 :
Projet Kicad : [[Fichier:Projet Kicad Shield.zip|vignette|Projet Kicad Shield Compressé]]
Projet Kicad : [[Fichier:Projet Kicad Shield.zip|vignette|Projet Kicad Shield Compressé]]


Le shield va nous permettre de tester nos cartes filles sans la carte mère du Pico. Pour faire nos tests, le shield doit posséder un lecteur de carte SD pour tester la mémoire, des LEDs pour tester des processus et des ports he-10 pour y brancher des cartes filles.
Le shield va nous permettre de tester nos cartes filles sans la carte mère du Pico. Pour faire nos tests, le shield doit posséder un lecteur de carte SD pour tester la mémoire, des LEDs pour tester des processus et des ports He-10 pour y brancher des cartes filles.
==== Carte Shield Soudé :====  
==== Carte Shield Soudé :====  
[[Fichier:Carte shield soudée face .jpg|vignette|Carte shield soudée face |centré]]
[[Fichier:Carte shield soudée face .jpg|vignette|Carte shield soudée face |centré]]
Ligne 10 : Ligne 10 :




Petite erreur de conception, la carte a été routée à l'envers... Ce n'est pas catastrophique (un peu quand même) et c'est rattrapable en rajoutant des rallonges pour avoir assez d'espace pour brancher les he-10.
Petite erreur de conception, la carte a été routée à l'envers... Ce n'est pas catastrophique (un peu quand même) et c'est rattrapable en rajoutant des rallonges pour avoir assez d'espace pour brancher les He-10.


Maintenant que la carte est soudé nous devons tester les différents éléments de la carte.
Maintenant que la carte est soudé nous devons tester les différents éléments de la carte.

Version du 20 novembre 2024 à 09:56

Lien du GIT : https://gitea.plil.fr/jwacquet/Pico_Binome4_Justin_Ibrahim.git

Shield Arduino

Projet Kicad : Fichier:Projet Kicad Shield.zip

Le shield va nous permettre de tester nos cartes filles sans la carte mère du Pico. Pour faire nos tests, le shield doit posséder un lecteur de carte SD pour tester la mémoire, des LEDs pour tester des processus et des ports He-10 pour y brancher des cartes filles.

Carte Shield Soudé :

Carte shield soudée face


Petite erreur de conception, la carte a été routée à l'envers... Ce n'est pas catastrophique (un peu quand même) et c'est rattrapable en rajoutant des rallonges pour avoir assez d'espace pour brancher les He-10.

Maintenant que la carte est soudé nous devons tester les différents éléments de la carte.

Test LED :

Pour tester les Leds nous avons réalisé un programme sur arduino qui allume les Leds.


Test cart SD :

Nous avons placé la carte SD dans le lecteur puis nous avons utilisé le programme info-carte sur l'IDE Arduino pour vérifier que le lecteur était fonctionnel.

Capture d'écran de l'IDE Arduino lors du test du lecteur de carte SD


Test Port He-10 :

Pour tester les ports He-10, nous avons connecté un afficheur 7-segment pour vérifier qu'ils fonctionnent.


Malgré des difficultés à connecter les afficheurs 7-segments à cause de défaut de conceptions, les 5 ports HE-10 sont fonctionnels.

Ordonnanceur :

sous-partie1 : Ordonnanceur

#include <avr/io.h>
#include <avr/interrupt.h>

#define CTC1 WGM12

#define PERIODE         1000

ISR(TIMER1_COMPA_vect){    // Procédure d'interruption
int led1=(PORTC & 0x0f);
led1 >>= 1; if(led1==0) led1=0b00001001;
PORTC &= 0xf0; PORTC |= led1;

int led2=(PORTD & 0x0f);
led2 >>= 1; if(led2==0) led2=0b10010010;
PORTD &= 0xf0; PORTD |= led2;
}


void init_minuteur(int diviseur,long periode){
TCCR1A=0;               // Le mode choisi n'utilise pas ce registre
TCCR1B=(1<<CTC1);       // Réinitialisation du minuteur sur expiration
switch(diviseur){
  case    8: TCCR1B |= (1<<CS11); break;
  case   64: TCCR1B |= (1<<CS11 | 11<<CS10); break;
  case  256: TCCR1B |= (1<<CS12); break;
  case 1024: TCCR1B |= (1<<CS12 | 1<<CS10); break;
}
// Un cycle prend 1/F_CPU secondes.
// Un pas de compteur prend diviseur/F_CPU secondes.
// Pour une periode en millisecondes, il faut (periode/1000)/(diviseur/F_CPU) pas
// soit (periode*F_CPU)/(1000*diviseur)
OCR1A=F_CPU/1000*periode/diviseur;  // Calcul du pas
TCNT1=0;                // Compteur initialisé
TIMSK1=(1<<OCIE1A);     // Comparaison du compteur avec OCR1A
}

int main(){
    init_minuteur(1024,PERIODE);
    DDRC |= 0b00001001;
    DDRD |= 0b10010010;
    PORTC &= ~0b00001001;
    PORTD &= ~0b10010010;
    init_minuteur(256,PERIODE);
    sei();    // Autorisation des interruptions
    while(1);
}

sous-partie2 : Ordonnanceur Naked en Round-Robin ( Tourniquet en patois )

bonjour
Video de démonstration de l'ordonnanceur en tourniquet

sous-partie3 : Ordonnanceur Naked avec fonction d'endormissement des tâches

bonjour

Carte Réseau

Projet Kicad:Fichier:Kicad CReseau.zip

Introduction

Nous allons réaliser la carte fille réseau. Nous avons décidé de partir sur la carte RNDIS, avec un AT90USB1287 car il a une plus grande capacité de stockage que l'AtMega32u4. La carte communiquera avec l'extérieur par mini USB et pourra être alimenté de deux manières différentes: Soit par la carte mère ou soit par le port USB directement grâce à un jumper.

Schéma du PCB
Schématique de la carte réseau











Bilan de puissance

Suite à une demande de la part de l'équipe Mère, nous allons effectuer un bilan de puissance de notre carte :

Le composant majeur de notre carte est le microprocesseur, l'AT90USB.

Carte d'écran du courant de l'AT90USB

Avec un tension d'entrée de 5V et une fréquence de 16MHz, le microprocesseur consomme : 0,030A x 5V =0,15 W.