Introduction

La carte PCB réalisé est à base d’Atmega 328P. Celui-ci est relié à  différents composants afin d’utiliser l’I2C, le SPI et les broches programmables du microcontôleur. Cette carte PCB est une 2 couches. L’objectif de cette carte est de choisir un microcontrôleur existant sur le marché et de l’adapter à nos besoins en fonction du projet.

Voici la liste des composants relié au microcontroleur Atmega328p :

Le logiciel utilisé pour la conception est Altium Designer. Nous avons réalisé puis fait produire la carte chez PCB Way en PCB nu puis soudé les composants par nous même.

Vous pouvez retrouver notre projet sur le github.

Schema électronique

Voici le schéma électronique de la carte Arduino et des composants reliés à celle-ci :

La Carte Arduino

L’élément principal de la carte PCB est l’Atmega 328P. Fabriqué par Atmel, il fait partie de la famille des AVR, offrant une combinaison puissante de performances et d’efficacité énergétique. Avec une architecture RISC 8 bits, une fréquence d’horloge pouvant atteindre 20 MHz et une mémoire flash de 32 Ko, il convient parfaitement à une variété d’applications.

Grâce à ses fonctionnalités, comme les timers, les UARTs et les interfaces de communication, l’ATmega328P est un bon choix de microcontrôleur.

Pour programmer l’Atmega328P, nous l’avons relié un micro-USB et un microcontrôleur Atmega 16U2. Ceci permet programme directement notre carte depuis Arduino ide par usb. 

Nous avons ajouté une led d’alimentation pour l’Atmega328P afin d’indiquer quand le microcontrôleur est sous tension : 

Il y a un connecteur d’alimentation contenant le +5V et le +3.3V afin de pouvoir alimenter des composants externes :

Nous avons ajouté un bouton poussoir sur le reset afin que l’on puisse redémarrer manuellement le programme sur l’Atmega328P en cas de problème :  

Les composants

Nous avons connecté un bouton poussoir sur notre carte. Celui-ci est relié a une GPIO afin de pouvoir récupérer sa valeur.  Nous avons ajouté une résistance de pull down afin d’avoir l’état bas quand on n’appuie pas sur le bouton :

Nous avons ajouté une LED contrôlable depuis la carte : 

Une photorésistance est branché sur la partie analogique du microcontrôleur Atmega328P.  Ceci permet de mesurer la luminosité extérieur et de la transmettre sous forme de tension à la carte :

Le potentiomètre permet de faire varier la tension aux bornes de l’entrée analogique : 

Le module d’horloge, ou RTC, permet de garder l’heure exacte dans votre projet même quand celui-ci est hors tension. Celui utilisé dans notre projet DS1388 :

L’afficheur 7 segments est relié a un décodeur qui fait le lien entre l’Atmega 328P et l’afficheur. Avec cet afficheur on peut afficher les chiffres de 0 à 9. C’est un afficheur à cathode commune donc celle-ci est relié à la masse : 

Nous avons ajouté un accéléromètre sur notre carte qui fonctionne en I2C. Celui-ci permet d’indiquer quand le vottre pièce est en mouvement et quel est le mouvement de celle-ci. L’accéléromètre fonctionne sur trois axes X,Y et Z : 

Nous avons ajouté un connecteur pour l’i2C afin de connecter des composants extérieur à la carte et la rendre plus évolutive : 

Un transistor Mosfet permet à notre carte de piloter un composant qui une tension très importante (220V par exemple).  Il s’utilise avec une alimentation externe qui permet d’alimenter le composant haute tension. Celui choisit peut piloter jusqu’à deux composants en même temps : 

Le transistor bipolaire permet de contrôler un composant extérieur en courant. Celui-ci s’utilise avec une source de courant externe. C’est un transistor NPN qui peut contrôler qu’un seul composant : 

Nous avons ajouté un port ethernet afin que notre carte puisse communiquer par modbus TCP/IP. Pour cela le port ethernet est relié par liaison SPI : 

Carte PCB

Voici la couche top de la carte PCB :

Voici la deuxième couche et qui celle du dessous de la carte PCB :

Voici le résultat de la carte PCB 3D :