Chapitre
II :
Conception du
système
II.1 Introduction
Ce chapitre présente la conception du système de spin-coating. Le fonctionnement du
système, les objectifs de la conception ainsi que les choix techniques, notamment ceux des
composants électroniques, sont détaillés. Ensuite, les différents blocs du système sont abordés
: puissance, commande, entrée/sortie et alimentation. Enfin, nous aborderons la partie
informatique ainsi que les logiciels utilisés.
II.2 Présentation du système
Le système que nous concevons est un automate de spin-coating pour le dépôt de couches
minces sur des substrats, par application d’une solution sur un substrat en rotation. En effet, le
fait de faire tourner le substrat permet de retirer l’excès de solution et de favoriser
l’évaporation du solvant, conduisant ainsi à la formation de couches dont l’épaisseur peut être
contrôlée en jouant sur différents paramètres, comme la vitesse de rotation.
II.2.1 Description globale du fonctionnement de notre système de spin-coating
Au départ, la pièce à revêtir est déposée au centre de la plaque tournante,
puis fixée à l’aide de vis sur les côtés. On dépose quelques gouttes de la
solution au centre de la pièce, puis on referme le couvercle pour éviter
que, durant la rotation, les gouttes soient dispersées dans l’air.
Lorsque le système est sous tension, un message s’affiche sur l’écran LCD
et le buzzer émet un son pour indiquer que le système est opérationnel.
L’utilisateur saisit la vitesse de rotation à l’aide du clavier, puis la
confirme. Ensuite, il entre la durée de rotation, qu’il confirme également.
Les deux valeurs s’affichent à l’écran pour vérification.
Après confirmation, le moteur commence à tourner à la vitesse choisie. À
l’issue du temps programmé, le moteur s’arrête automatiquement, un
message de fin apparaît et un son est émis par le buzzer pour indiquer que
la procédure est terminée.
II.2.2 Liste et caractéristiques des composants utilisés
La liste complète des composants utilisés pour le prototype et le PCB final
est présentée dans le Tableau Annexe 1.
Nous détaillons ci-après les caractéristiques principales et la justification
du choix de chaque composant.
Tableau II.1 : Récapitulatif des composants électroniques utilisés dans le système
1. DC MOTOR RS-775 12V 100000 RPM [1]
Moteur à courant continu avec roulement à billes et ventilateur de
refroidissement intégré.
Figure II.1 : Moteur à courant continu RS-775 12V 100 000 RPM
Spécifications :
Type de moteur : 775
Tension de fonctionnement : 6 à 20 Vcc (nominale 12 Vcc)
Vitesse à vide : 12 000 tr/min à 12 V
Courant nominal : 1,2 A à 12 V
Couple de blocage : 79 Ncm à 14,4 V
Ventilateur de refroidissement : interne
Dimensions globales : 98 x 42 mm
Arbre : type rond complet Ø5 mm
Taille des vis de montage : M4
Poids : 350 g
2. L298N Driver de Moteur à Pont-H Double [2]
Le L298N est un pilote de moteur bidirectionnel double, basé sur le circuit
intégré L298 Dual H-Bridge Motor Driver. Ce circuit permet de contrôler
facilement et indépendamment deux moteurs jusqu’à 2 A chacun, dans les
deux sens..
Figure II.2 : Driver de moteur à pont-H double L298N
Diagramme schématique
Figure II.3 : Diagramme schématique du driver de moteur L298N
Spécifications :
Driver : L298N Dual H-Bridge Driver pour moteur à courant continu
Alimentation : 5 V à 35 V
Courant de crête : 2 A
Plage de courant de fonctionnement : 0 à 36 mA
Plage de tension d’entrée du signal de commande :
Bas : -0,3 V ≤ Vin ≤ 1,5 V
Haut : 2,3 V ≤ Vin ≤ Vss
Plage de tension d’entrée du signal d’activation :
Bas : -0,3 ≤ Vin ≤ 1,5 V (signal de commande non valide)
Haut : 2,3 V ≤ Vin ≤ Vss (signal de commande actif)
Consommation maximale de puissance : 20 W (à T = 75 °C)
Température de stockage : -25 °C à +130 °C
Sortie régulée +5 V intégrée (alimentation de la carte contrôleur,
par exemple Arduino)
Dimensions : 3,4 cm x 4,3 cm x 2,7 cm
3. Carte Arduino® UNO R3 [3]
L’Arduino UNO est une carte microcontrôleur basée sur l’ATmega328P. Elle
dispose de 14 broches d’entrée/sortie numériques (dont 6 peuvent être
utilisées comme sorties PWM), de 6 entrées analogiques, d’un résonateur
céramique 16 MHz, d’une connexion USB, d’une prise d’alimentation, d’un
connecteur ICSP et d’un bouton de réinitialisation. Elle contient tout le
nécessaire pour le microcontrôleur ; il suffit de la connecter à un
ordinateur avec un câble USB ou de l’alimenter avec un adaptateur
secteur ou une batterie pour démarrer.
Figure II.4 : Carte Arduino® UNO R3
Spécifications :
Puce remplaçable : l’ATmega328P peut être facilement remplacé,
car il n’est pas soudé à la carte.
EEPROM : l’ATmega328P dispose de 1 Ko d’EEPROM, une mémoire
qui n’est pas effacée lorsqu’elle est éteinte.
Connecteur de batterie : l’Arduino UNO dispose d’un connecteur à
barillet, qui fonctionne parfaitement avec une pile 9 V standard.
4. Module LCD 1602 avec interface série I2C [4]
Il s’agit d’un module d’affichage LCD 16x2 avec interface I2C, de haute
qualité, à 2 lignes et 16 caractères, doté d’un réglage de contraste
intégré, d’un rétroéclairage et d’une interface de communication I2C. Ce
module simplifie la connexion du circuit du driver LCD, évitant ainsi des
connexions complexes. Les véritables avantages de ce module LCD série
I2C sont qu’il simplifie la connexion du circuit, permet d’économiser des
broches d’entrée/sortie sur la carte Arduino et facilite le développement
du firmware grâce à la bibliothèque Arduino, largement disponible.
Figure II.5 : Module LCD 1602 avec interface série I2C
Spécifications :
Compatible avec la carte Arduino ou toute autre carte de contrôle
disposant d’un bus I2C
Type d’affichage : négatif blanc sur fond bleu rétroéclairé
Adresse I2C : 0x38-0x3F (0x3F par défaut)
Tension d’alimentation : 5 V
Interface : I2C pour les lignes de données et de contrôle LCD à 4 bits
Réglage du contraste : potentiomètre intégré
Contrôle du rétro éclairage : par firmware ou fil de cavalier
Taille de la carte : 80 x 36 mm
5. Clavier à membrane matrice 4x4 [5]
Ce clavier à 16 boutons offre un composant d’interface utilisateur pratique
pour les projets de microcontrôleur.
Figure II.6 : Clavier à membrane matrice 4x4
Caractéristiques :
Conception ultra-fine
Dos adhésif
Excellent rapport qualité/prix
Interface facile avec n’importe quel microcontrôleur
Programmes d’exemple fournis pour les microcontrôleurs BASIC Stamp 2 et Propeller
P8X32A
Spécifications principales :
Tension maximale : 24 VDC, 30 mA
Interface : accès 8 broches à la matrice 4x4
Température de fonctionnement : de 0 à 50 °C (32 à 122 °F)
Dimensions :
Clavier : 6,9 x 7,6 cm (2,7 x 3,0 in)
Câble : 2,0 x 8,8 cm (0,78 x 3,5 in)
6. Alimentation DC 12V 5A (Transformateur LED 12VDC
60W/5A IP25) [6]
12 VDC : sortie en courant continu (DC) de 12 volts
60 W : puissance maximale de 60 watts
5 A : courant maximal de 5 ampères (car 60 W ÷ 12 V = 5 A)
IP25 : indice de protection contre la poussière et l’eau (protégé
contre les corps solides > 12,5 mm et contre les jets d’eau à faible
pression)
Figure II.7 : Alimentation DC 12V 5A
Spécifications Techniques
Puissance : 60 W
Indice de protection (IP) : IP25
Dimensions : 110 x 77 x 37 mm
Tension nominale : 12 V – 5 A
Code produit : KD-TRIP2560W5A
Matériau : aluminium
Poids : 180 g
Fréquence : 50 / 60 Hz
Classe énergétique : A
Plage de température de fonctionnement : de -20 °C à +60 °C
Certifications : CE
7. Buzzer
Figure II.8 : Buzzer
Spécifications :
Tension nominale : 6 V CC
Tension de fonctionnement : 4 à 8 V CC
Courant nominal : ≤ 30 mA
Niveau sonore à 10 cm : ≥ 85 dB
Fréquence de résonance : 2300 ± 300 Hz
Type de son : continu
Température de fonctionnement : -25 °C à +80 °C
Température de stockage : -30 °C à +85 °C
Poids : 2 g
8. Module régulateur de tension abaisseur DC-DC
réglable LM2596 [7]
La série de régulateurs LM2596 est composée de circuits intégrés
monolithiques fournissant toutes les fonctions actives d’un régulateur à
découpage abaisseur (buck), capable d’alimenter une charge de 3 A avec
une excellente régulation de ligne et de charge.
Figure II.9 : Module régulateur de tension abaisseur DC-DC
LM2596 (réglable)
Spécifications du module d'alimentation réglable LM2596 DC-DC abaisseur :
Type de régulateur : abaisseur (entrée non isolée vers sortie)
Tension d’entrée : +4 à 40 VDC
Tension de sortie : +1,25 à 35 VDC
Courant de sortie : 2 A nominal (3 A maximum avec radiateur)
Fréquence de commutation : 150 kHz
Efficacité : jusqu’à 92 % (lorsque la tension de sortie est réglée sur une valeur élevée)
Tension de décrochage : 2 VDC minimum
Régulation de charge : ±0,5 %
Régulation de tension : ±2,5 %
Température : -40 à +85 °C (puissance de sortie inférieure à 10 W)
Dimensions de la carte PCB :
Longueur : 43,6 mm
Largeur : 21 mm
Hauteur : 14 mm
Dimensions de la carte PCB :
Longueur : 43,6 mm
Largeur : 21 mm
Hauteur : 14 mm
9. Composants utilisés pour le PCB final
Après la validation du prototype, nous avons transformé le circuit en PCB
en remplaçant certains composants.
9.1 Remplacement de l’Arduino Uno par un ATmega328P
autonome
Ajout des composants nécessaires à son fonctionnement :
Quartz 16 MHz
2 condensateurs de 22 pF
1 résistance pull-up (10 kΩ) pour le RESET
9.2 Ajout d’un régulateur de tension LM2596
Permet d’alimenter l’ATmega328P en 5 V stable à partir de la source 12 V.
9.3 Fabrication du PCB
Composants nécessaires à la réalisation :
Plaque PCB
Fils de connexion
Soudure et fer à souder
II.3 Conception du système
Le schéma synoptique général de notre dispositif est présenté ci-dessous.
Figure II.10 : Schéma de conception du système
Pour mieux comprendre notre système, nous avons divisé le schéma
synoptique en quatre blocs fonctionnels principaux :
Figure II.11 : Schéma bloc du système
II.3.1 Bloc de Puissance
Le bloc de puissance est chargé d’alimenter et de contrôler le moteur
principal du système. Il est constitué de plusieurs éléments essentiels :
1. Moteur à courant continu 12 V
Le système intègre un moteur à courant continu 12 V, capable
d’atteindre une vitesse de 10 000 tours par minute (tr/min). Ce
moteur assure la rotation du disque dans le dispositif de spin-
coating.
Il a été choisi pour ses performances élevées en vitesse, sa
simplicité de commande via des signaux PWM, ainsi que sa
compatibilité avec les systèmes embarqués tels qu’Arduino. Grâce à
sa réponse rapide et à sa stabilité, il permet un dépôt uniforme et
contrôlé des couches minces.
2. Driver L298N
Le moteur est piloté à l’aide du L298N, un contrôleur de moteur
bipolaire haute puissance, qui peut être utilisé pour contrôler la
vitesse et la direction de deux moteurs à courant continu (DC)
simultanément. Il est également capable de contrôler un moteur à
courant continu à vitesse variable en utilisant un signal PWM. Il est
alimenté par une tension de 5 V à 35 V et peut fournir jusqu’à 2 A de
courant par canal. Il possède des entrées pour les commandes de
direction et de vitesse, ainsi qu’une broche d’alimentation pour les
moteurs. [8]
3. PWM – Pour contrôler la vitesse
La vitesse d’un moteur à courant continu peut être contrôlée en
modifiant sa tension d’entrée. Une technique largement utilisée pour
y parvenir est la modulation de largeur d’impulsion (PWM).
La PWM est une technique dans laquelle la valeur moyenne de la
tension d’entrée est ajustée en envoyant une série d’impulsions
marche-arrêt. Cette tension moyenne est proportionnelle à la largeur
des impulsions, appelée cycle de service.
Plus le cycle de service est élevé, plus la tension moyenne appliquée
au moteur DC est élevée, ce qui entraîne une augmentation de la
vitesse du moteur. Plus le cycle de service est court, plus la tension
moyenne appliquée au moteur DC est faible, ce qui entraîne une
diminution de la vitesse du moteur. [9]
Figure II.12 : Contrôle de la vitesse du moteur par modulation de largeur d’impulsion
(PWM)
Dans notre système, le moteur est contrôlé via un signal PWM généré par l’Arduino Uno.
Le driver L298N reçoit ce signal PWM sur sa broche ENA pour ajuster la vitesse de rotation
du moteur.
PWM = 255 (niveau maximum) : le moteur tourne à sa vitesse maximale de 10 000
tr/min.
PWM = 0 : le moteur est arrêté (vitesse = 0 tr/min).
Pour ajuster la vitesse du moteur à une plage spécifique, comme celle requise pour le spin-
coating (entre 2 800 tr/min et 3 600 tr/min), le système doit calculer la valeur PWM
correspondante. Comme le moteur tourne à 10 000 tr/min pour une valeur PWM de 255, il
existe une relation linéaire entre le signal PWM et la vitesse de rotation.
Calcul de la valeur PWM :
On peut calculer la valeur PWM nécessaire en utilisant la formule suivante :
Vitesse cible
PWM =( )× 255
Vitesse maximale
Par exemple, pour 2 800 tr/min :
PWM= (2800/10000) ×255 = 71.4
Donc, pour obtenir une vitesse de 2 800 tr/min, la valeur PWM envoyée au moteur devrait
être d’environ 71.
Le système Arduino calcule cette valeur PWM en fonction de la vitesse cible souhaitée pour
le moteur. Une fois le calcul effectué, la valeur PWM est envoyée à l’entrée ENA du L298N
pour ajuster la vitesse de rotation du moteur dans la plage nécessaire au processus de spin-
coating.
II.3.2 Bloc de Commande
Dans notre projet, nous avons d’abord utilisé la carte Arduino Uno pour tester et développer
le système. Cette carte contient le microcontrôleur ATmega328P, qui permet de gérer la
vitesse du moteur DC, de lire les entrées du clavier matriciel et d’afficher les informations sur
l’écran LCD.
Dans la version finale, nous avons retiré la carte Arduino et utilisé directement le
microcontrôleur ATmega328P de manière autonome. Ce composant est le cœur du système. Il
permet de contrôler tous les périphériques connectés, comme le moteur, le clavier, l’écran et
les capteurs. Il reçoit les valeurs saisies par l’utilisateur, traite les données, puis envoie un
signal PWM au driver L298N pour ajuster la vitesse du moteur.
Grâce à ce microcontrôleur, le système fonctionne de façon automatique, fiable et précise
selon les paramètres définis par l’utilisateur.
Figure II.13 : Schéma de principe du bloc de commande
III.3.3 Interface d’Entrées/Sorties [10]
Le principe du bloc « Interface Entrée-Sortie » dans notre
système repose sur l’interaction entre l’utilisateur et le
système. Ce bloc est constitué de :
Clavier à membrane pour la saisie des paramètres
Il s’agit d’un type de clavier qui utilise une grille de 4 colonnes et 4
lignes de touches pour entrer des données. Chaque touche est
associée à une combinaison unique de lignes et de colonnes, ce qui
permet de détecter la touche appuyée en mesurant la résistance
entre les lignes et les colonnes.
Affichage LCD avec module I2C
Un afficheur LCD I2C est un type d’afficheur à cristaux liquides (LCD)
qui utilise le protocole de communication série I2C (Inter-Integrated
Circuit) pour se connecter à un microcontrôleur ou à un autre
dispositif de traitement de données.
Dans notre système, le clavier matriciel permet à l’utilisateur de saisir
deux valeurs : la vitesse de rotation souhaitée et le temps de
fonctionnement du moteur. Chaque valeur saisie est confirmée par
l’utilisateur, puis affichée sur l’écran LCD. Cela permet de vérifier les
paramètres avant de lancer le moteur. Une fois les deux valeurs
confirmées, le microcontrôleur envoie le signal nécessaire pour faire
tourner le moteur à la vitesse choisie, pendant le temps défini.
Ajoutons que ce bloc représente la relation entre l’utilisateur et le
système.
Figure II.14 : Fonctionnement du clavier matriciel 4x4 avec Arduino
II.3.4 Bloc d’alimentation
Le bloc d’alimentation joue un rôle fondamental au sein de notre système,
en garantissant la stabilité et la fiabilité des tensions nécessaires au
fonctionnement des composants électroniques.
Pour la source d’alimentation, nous avons choisi une alimentation 12 V – 5
A comme source principale, en raison du courant requis par le moteur et
par les autres composants tels que le microcontrôleur, l’écran LCD, le
clavier matriciel, le buzzer et les capteurs.
Deux lignes d’alimentation distinctes ont été mises en œuvre :
Une ligne directe de 12 V – 5 A alimente le moteur via le driver.
Une autre ligne, dérivée de la première et régulée, alimente les
composants sensibles.
Régulation de tension et protection :
Pour délivrer une tension stable de 5 V aux composants logiques (Arduino,
écran LCD, clavier, capteurs, etc.), un module abaisseur de tension
LM2596 a été utilisé. Ce régulateur à découpage permet :
La conversion de 12 V en 5 V.
Une protection contre les surtensions et les surchauffes grâce à ses
circuits internes.
II.4 Partie informatique
Dans cette partie, nous allons d’abord présenter les logiciels utilisés, puis
expliquer le fonctionnement du programme qui contrôle notre système.
II.4.1 L’IDE Arduino
Le logiciel Arduino est un environnement de développement intégré (IDE)
open source et gratuit, téléchargeable sur le site officiel Arduino.
L’IDE Arduino permet :
D’éditer un programme : un programme est composé de croquis
(sketch en anglais), écrits en langage C.
De compiler ce programme dans le langage « machine » de
l’Arduino. La compilation est une traduction du langage C vers le
langage du microcontrôleur. La zone de sortie (en bas de la fenêtre)
donne des informations sur le déroulement de la compilation et
affiche les messages d’erreur et diverses notifications.
De téléverser le programme dans la mémoire de l’Arduino. Le
téléversement (upload) se fait via le port USB de l’ordinateur. Une
fois dans la mémoire de l’Arduino, le logiciel s’appelle un microgiciel.
La zone de sortie indique également le déroulement du
téléversement et affiche les messages d’erreur et diverses
notifications.
De communiquer avec la carte Arduino grâce au terminal (ou
moniteur série). Pendant le fonctionnement du programme en
mémoire sur l’Arduino, il peut communiquer avec l’ordinateur tant
que la connexion est active (câble USB, etc.).
Figure II.15 : Interface du logiciel Arduino IDE et ses principales fonctionnalités
II.4 .2 Fritzing [12]
Fritzing est un logiciel libre de conception de schémas électroniques, largement utilisé pour la
conception de circuits électroniques basés sur Arduino.
Figure II.16 : Interface du logiciel Fritzing
Ce logiciel propose trois vues :
Ce logiciel propose trois vues principales :
La vue « Breadboard » : montre le montage réel tel qu’il serait
câblé sur une breadboard.
Figure II.18 : Représentation d’une breadboard
La vue « Schématique » : représente le circuit sous la forme d’un
schéma électrique.
La vue « PCB » : permet de réaliser la conception du circuit
imprimé (PCB).
II.4 .3 Développement du programme de contrôle
Présentation générale
La fonction principale du programme est de piloter un moteur à
courant continu dont les paramètres (vitesse et temps) sont saisis
par l’utilisateur à l’aide d’un clavier matriciel. Les éléments
d’affichage (écran LCD et buzzer) servent à restituer ces
informations à l’utilisateur.
Structure fonctionnelle
Début
1. Initialisation du système
Affichage du message de bienvenue sur l’écran LCD
2. Saisie de la vitesse
L’utilisateur entre la vitesse via le clavier
La vitesse est affichée sur l’écran LCD
L’utilisateur appuie sur la touche A pour confirmer
Le buzzer émet un son
La vitesse confirmée est affichée
3. Saisie du temps
L’utilisateur entre la durée souhaitée
La durée est affichée sur l’écran LCD
L’utilisateur appuie sur la touche B pour confirmer
Le buzzer émet un son
Le temps confirmé est affiché
4. Validation des paramètres
L’utilisateur appuie sur la touche C pour afficher les deux
paramètres
Si les paramètres sont corrects :
L’utilisateur appuie sur la touche D pour lancer le
processus
Le buzzer émet un son
5. Lancement de la rotation
Le moteur tourne selon la vitesse et le temps définis
Le temps restant est mis à jour sur l’écran LCD
6. Fin de processus
Le moteur s’arrête automatiquement
Un message de fin est affiché
Le buzzer émet un son
Retour à l’état initial
7. Si erreur ou mauvaise saisie
L’utilisateur appuie sur la touche * pour réinitialiser
Le buzzer émet un son
Retour à l’état initial pour une nouvelle saisie
• Organigramme
:
Début
Initialisation du système
Afficher message de bienvenue
La conclusion
Dans ce chapitre, nous avons présenté en détail la conception du système de spin-coating.
Lire le clavier
Nous avons décrit le fonctionnement global du système, expliqué les choix techniques
Afficher la
effectués, justifié les composants électroniques sélectionnés et divisé l’architecture en
vitesse +
plusieurs blocs fonctionnels : alimentation,
Presser Apuissance, commande et interface utilisateur.
BUZZER
Cette étape de conception a permis de poser les bases solides du projet, en définissant
clairement l’organisation et les interactions entre les différentes parties du système. Elle
Afficher le
constitue ainsi une préparation essentielle à la phase suivante, celle de +la réalisation concrète,
temps
Pesser B
où les éléments conçus seront assemblés et testés. BUZZER
Afficher la vitesse
Presser C et le temps
Afficher début
Presser D
process
Lancer le moteur
Presser *
Afficher le
temps
Afficher
restant
réinitialisation
Attendre message de
fin du process
Reset
Sources utilisées
[1] HandsOnTec. (s.d.). Moteur à courant continu 775 avec ventilateur de refroidissement intégré
[Datasheet]. Récupéré de : [Link]
[2] HandsOnTec. (s.d.). Fiche technique du L298N Motor Driver [Datasheet]. Récupéré de :
[Link]
[3] Arduino. (s.d.). Arduino Uno Rev3 [Documentation]. Récupéré de :
[Link]
[4] HandsOnTec. (s.d.). Module LCD 1602 avec interface I2C [Datasheet]. Récupéré de :
[Link]
[5] SparkFun Electronics. (s.d.). 4x4 Matrix Membrane Keypad (#27899) [Datasheet]. Récupéré de :
[Link]
[6] ManoMano. (2025). Module de contrôle moteur – Fiche technique. Récupéré de :
[Link] (consulté le 4 avril 2025)
[7] Amazon. (s.d.). Module d'alimentation abaisseur réglable CC-CC LM2596 [Fiche technique].
Récupéré de : [Link]
[8] Moussasoft. (s.d.). L298N avec Arduino. Récupéré de : [Link]
arduino/
[9] Moussasoft. (s.d.). Comment contrôler des moteurs DC avec le module L298N et Arduino.
Récupéré de : [Link]
[10] Robotique Tech. (s.d.). Utilisation du clavier matriciel 4x4 avec Arduino. Récupéré de :
[Link]
[11] [Link]. (s.d.). Présentation du logiciel Arduino IDE. Récupéré de :
[Link]
[12] ArduinoFactory. (s.d.). Fritzing : créer un schéma électronique facilement. Récupéré de :
[Link]