Vous êtes sur la page 1sur 32

Table des matières

1 Présentation de la carte Arduino et l’environnement Matlab/Simulink 4


1.1 Le matériel : Arduino UNO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Le logiciel Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Structure d’un programme Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 L’environnement Matlab/Simulink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 L’interfacage Arduino↔Matlab/Simulink 6
2.1 Programmation de la carte Arduino Uno comme une carte d’interface . . . . . . . . . . . . . . . 6
2.1.1 Configuration de la carte Arduino UNO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.2 Traitement des données sous Simulink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 ArduinoIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.1 Pré-chargement du programme dans la carte Arduino . . . . . . . . . . . . . . . . . . . . 8
2.2.2 Installation du package ArduinoIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.3 Exploitation de la bibliothèque ArduinoIO sous Simulink . . . . . . . . . . . . . . . . . . 9
2.2.4 Exploitation du package ArduinoIO sous Matlab . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 Arduino Target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3 Acquisition des données 10


3.1 Présentation du ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2 Acquisition des données : Capteur de distance Ultrason HC-SR04 . . . . . . . . . . . . . . . . . 11
3.2.1 Présentation du module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2.2 Branchement avec la carte Arduino UNO . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2.3 Exploitation de Instrument Control Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.3 Acquisition des données : Capteur de température LM35 . . . . . . . . . . . . . . . . . . . . . . 13
3.3.1 Présentation du capteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3.2 Branchement avec la carte Arduino UNO . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3.3 Exploitation du package ArduinoIO Libraray . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3.4 Exploitation de Instrument Control Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . 14

4 Envoie des données 15


4.1 Présentation des sorties analogiques (mode PWM) . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.2 Commande PWM d’un moteur à courant continu . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.2.1 Présentation du schéma électronique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.2.2 Exploitation du package ArduinoIO Libraray . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.3 Commande d’une résistance chauffante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.3.1 Présentation du schéma électronique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.3.2 Exploitation du package ArduinoIO Libraray . . . . . . . . . . . . . . . . . . . . . . . . . 17

5 Présentation de la maquette 18

6 Modélisation du procédé thermique 19


6.1 Présentation de l’étape d’identification avec Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.2 Acquisition de la réponse indicielle du système . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.3 Détermination de la fonction de transfert G(z) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

7 Commande du procédé thermique 23


7.1 Synthèse du régulateur numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
7.2 Implémentation de la commande sous Simulink . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
7.3 Implémentation de la commande sur la carte Arduino . . . . . . . . . . . . . . . . . . . . . . . . 27
7.3.1 Le régulateur PID Numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
7.3.2 L’implémentation du régulateur PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

1
Formation Arduino ↔ Matalab/Simulink Commande d’un système thermique

1 Présentation de la carte Arduino et l’environnement Matlab/Si-


mulink
Arduino est un projet créé par une équipe de développeurs, composée de six individus :
Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, David Mellis et Nicholas
Zambetti. Cette équipe a créé le "système Arduino". C’est un outil qui va permettre aux
débutants, amateurs ou professionnels de créer des systèmes électroniques plus ou moins
complexes.

1.1 Le matériel : Arduino UNO


C’est un circuit imprimé comportant tous les composants électroniques nécessaires pour faire
fonctionner un microcontrôleur (Atmega 328) associé à une interface USB lui permettant de
communiquer avec un ordinateur.

Figure 1 – Description de la Carte Arduino "Uno"

– Microcontroller : ATmega328
– Operating Voltage : 5v
– Input Voltage (recommended) : 7-12 v
– Input Voltage (limits) : 6-20 v
– DC Current per I/O Pin : 40mA
– DC Current for 3.3V Pin :50mA
– Flash Memory :32 KB
– Clock Speed : 16MHz
– Pins assignments :
– Analog read(A0-A5)
– Analog write[PWM] (3,5,6,9,10,11)
– Digital read(2-19)
– Digital write(2-19)

1.2 Le logiciel Arduino


Arduino IDE ( Integrated Development Environment ). Le logiciel est gratuit et open source
dont la simplicité d’utilisation est remarquable.Ce logiciel va nous permettre de programmer la

Nizar CHELLY-Amine CHARED 4 Hammamet Mai 2014


Formation Arduino ↔ Matalab/Simulink Commande d’un système thermique

carte Arduino pour :


– Réaliser l’interfacage avec Matlab/simulink
– Implémenter la commande directement sur la carte.

Figure 2 – L’interface du logiciel Arduino

1.3 Structure d’un programme Arduino


Le langage de programmation Arduino dérive du langage C++ et il en respecte les règles de
syntaxe :
1. Une ligne qui commence par "//" est considérée comme un commentaire.
2. Un paragraphe qui commence par "/*" et qui se termine par "*/" est considéré comme un
commentaire
3. Toute ligne d’instruction de code doit se terminer par un point virgule " ;"
4. Un bloc d’instructions (définition d’une fonction, boucle "while" ou "if"/"else"...) doit être
délimité par des accolades ouvrantes "" puis fermantes "".
5. Toutes les variables doivent être déclarées, ainsi que leur type (int,float,...) avant d’être
utilisées.
Un programme (ou "sketch") Arduino est constitué de 2 fonctions distinctes :
1. La fonction de configuration "void setup" exécutée une seule fois au lancement du pro-
gramme.
2. La fonction "void loop" qui est ensuite exécutée indéfiniment en boucle.
Remarque : On peut relancer le programme en actionnant le bouton poussoir "reset" sur la carte.

Exemple : le programme "Blink" :

Nizar CHELLY-Amine CHARED 5 Hammamet Mai 2014


Formation Arduino ↔ Matalab/Simulink Commande d’un système thermique

i n t DEL = 5 ;
void setup ( )
{
pinMode (DEL, OUTPUT) ;On i n i t i a l i s e l a borne 5 de l ’ Arduino
( n o m m e "DEL" ) comme une s o r t i e .
}
void loop ( )
{
d i g i t a l W r i t e (DEL, HIGH) ;On met l a borne 5 au n i v e a u
l o g i q u e haut (+5V) : l a d i o d e s ’ allume .
d e l a y ( 1 0 0 0 ) ; On a t t e n d un d e l a i de 1000ms ( s o i t 1 s ) .
d i g i t a l W r i t e (DEL, LOW) ;On met l a borne 5 au n i v e a u l o g i q u e bas ( 0V)
l a d i o d e s ’ teint .
d e l a y ( 1 0 0 0 ) ; On a t t e n d un d e l a i de 1000ms ( s o i t 1 s ) .
}
Et ainsi de suite tant que le circuit est alimenté.

1.4 L’environnement Matlab/Simulink


C’est un logiciel de calcul mathématique pour les ingénieurs et les scientifiques créé par
Mathworks.

MATLAB est un environnement de programmation pour le développement d’algorithme,


d’analyse de données, de visualisation, et de calcul numérique. En utilisant MATLAB, la ré-
solution des problèmes de calcul complexes se fait plus rapidement qu’avec des langages de
programmation traditionnels, tels que C, C++, et le Fortran.

SIMULINK est un environnement pour la simulation multidomaiane.Il fournit un environne-


ment graphique interactif et un ensemble de bibliothèques de bloc qui permettent de concevoir,
simuler, mettre en application, et examiner une variété de systèmes, tel que les systèmes de com-
munications, de commandes, de traitement des signaux, de traitement visuel, et de traitement
d’image.

2 L’interfacage Arduino↔Matlab/Simulink
Il existe trois possibilités d’interfacer la carte Arduino avec Matlab/Simulink, à savoir :
1. Programmation de la carte Arduino Uno comme une carte d’interface.
2. Utilisation du package ArduinoIO.
3. Utilisation du package Arduino Target.

2.1 Programmation de la carte Arduino Uno comme une carte d’interface


Cette solution consiste d’une part à utiliser les fonctions offert par le language Arduino qui
permet d’envoyer et d’acquérir des données binaires via le port série (USB) et d’autre part à
développer sous Simulink un programme pour traiter ou visualiser ces données.

2.1.1 Configuration de la carte Arduino UNO

Les fonctions Arduino permettant cette configuration sont les suivantes :


– Serial : Cette fonction est utilisée pour la communication entre le la carte Arduino et
un ordinateur ou un autre dispositifs.Toutes les cartes Arduino ont au moins un port

Nizar CHELLY-Amine CHARED 6 Hammamet Mai 2014


Formation Arduino ↔ Matalab/Simulink Commande d’un système thermique

série (également connue sous le nom d’UART ou USART).Serial, communique sur les pins
(0 :RX) et 1 :(TX)) avec l’ordinateur par l’intermédiaire d’USB.
– available() : Permet d’obtenir le nombre de bit (caractères) disponibles pour lire du port
série.Ces données sont stockées dans le buffer qui peut sauvegarder 64 bit.
– read() : Permet la lecture des bits entrants sur le port série(acquisition des données).
– write() : Permet l’écriture des bits sur le port série.(envoie des données)
Le programme suivant assure l’échange de données via le port série (USB) :
i n t e n t r e e ; // e n t r e e CAN
i n t s o r t i e ; // s o r t i e
void setup ( )
{
S e r i a l . b e g i n ( 9 6 0 0 ) ; / / ouvre l e p o r t s e r i e , f i x e l e d e b i t a 9600 bauds
pinMode ( 6 ,OUTPUT) ; // C o n f i g u r a t i o n de l a pi n 6 comme s o r t i e
}
void loop ( )
{
e n t r e e=analogRead (A0) ; / / l e c t u r e du CAN ( v a l e u r e n t r e 0 e t 1024)
S e r i a l . w r i t e ( e n t r e e ) ; // Envoie de l a donnee s u r l e p o r t USB
i f ( S e r i a l . a v a i l a b l e ( ) ) / / s i des donnees e n t r a n t e s s o n t p r e s e n t e s
{
s o r t i e=S e r i a l . read ( ) ; / / l e c t u r e des donnees a r r i v e s
a n a l o g W r i t e ( 6 , s o r t i e ) ; / / T r a n s f e r t de c e s d o n n e s s u r l a p i n 6
pour g e n e r e r l e s i g n a l PWM
}
d e l a y ( 1 0 0 ) ; // d e l a i de 100ms avant l a n o u v e l l e a c q u i s i t i o n
}

2.1.2 Traitement des données sous Simulink

La bibliothèque Instrument Control Toolbox offre les blocs qui permettent l’échange des
données binaires.

Figure 3 – Emplacement de la bibliothèque ”Instrument Control Toolbox”

Ces blocs sont les suivants :


– Serial Configuration : Configuration des paramétrés du port série.
– Serial Send : Envoie des données binaires via le port série.
– Serial Receive : Acquisition des données binaires via le port série.

Les paramétrés à configurer sont :


– Communication Port

Nizar CHELLY-Amine CHARED 7 Hammamet Mai 2014


Formation Arduino ↔ Matalab/Simulink Commande d’un système thermique

Figure 4 – Les blocs pour la communication série

Figure 5 – Paramétrage des blocs pour la communication série

– Data size
– Data type
– Block sample time
– Exemple d’acquisition et d’envoie sous Simulink :

2.2 ArduinoIO
Cette solution consiste à utiliser la carte arduino comme une interface d’entrées(Analog
Input)/sorties(Analog/Digital Output).Ce package permet de communiquer Matlab ou Simulink
avec la carte Arduino via un câble USB.

Elle consiste à pré-charger un programme dans la carte Arduino afin que celle-ci fonctionne
en serveur.
Ce programme consiste à "écouter" les requêtes envoyées via la liaison série (USB) et de répondre
à ces requêtes en renvoyant l’état d’une entrée ou en modifiant l’état d’une sortie. Ces mêmes
entrées/sortie sont vues dans matlab comme des entrées logiques ou analogiques (utilisation du
CAN) ou des sorties analogiques (mode PWM).

2.2.1 Pré-chargement du programme dans la carte Arduino

1. Télécharger le package ArduinoIO


2. Décompresser à la racine de votre disque dur, exemple E :\arduinoio
3. Ouvrir le dossier décompressé.
4. Aller vers : ”ArduinoIO\pde\adiosrv” *
5. Charger le fichier adiosrv.pde vers le logiciel Arduino.

Nizar CHELLY-Amine CHARED 8 Hammamet Mai 2014


Formation Arduino ↔ Matalab/Simulink Commande d’un système thermique

6. Televerser !
* adiosrv est l’abréviation de : Analog and Digital Input and Output Server for MATLAB.
La carte Arduino UNO est maintenant configuré pour être utiliser comme une carte d’interface
Entrées/Sorties.

2.2.2 Installation du package ArduinoIO

1. Lancer Matlab2013 et placer vous dans le répertoire E :\arduinoio


2. Exécuter la commande : install-arduino
3. Fermer et relancer Matlab puis Simulink
4. Dans les bibliothèques se trouvent maintenant les blocs dans Arduino IO library.

Figure 6 – ArduinoIO Library

2.2.3 Exploitation de la bibliothèque ArduinoIO sous Simulink

Les blocs nécessaires pour notre objectif d’asservissement sont les suivants :

Figure 7 – Les Blocs d’ArduinoIO nécessaires pour la commande

– Real-Time Pacer : Ce bloc permet de ralentir le temps de simulation de sorte qu’il


synchronise avec le temps réel écoulé.Le coeffecient de ralentissement est contrôlable par
l’intermédiaire du paramètre Speedup.
– Arduino IO Setup : Pour configurer sur quel port la carte Arduino UNO est connectée.
Pour cela il suffit de voir dans Gestionnaire des périphériques.voir Figure 4.
– Arduino Analog Read : Pour configurer à partir de quel pin [0,1,2,3,4,5] on va acquérir
les données du capteur.
– Arduino Analog Write : Pour configurer à partir de quel pin [3,5,6,9,10,11] on va envoyer
la commande en PWM vers l’actionneur.

2.2.4 Exploitation du package ArduinoIO sous Matlab

Le package ArduinoIO offre une panoplie de commandes permettant d’écrire un programme


sous Matlab (M-file). Pour accéder à ces commandes il faut créer un objet arduino dans l’espace
de travail et spécifier le port sur lequel la carte arduino est connecté avec la commande :
>> a = arduino(0 port0 ); (1)

Nizar CHELLY-Amine CHARED 9 Hammamet Mai 2014


Formation Arduino ↔ Matalab/Simulink Commande d’un système thermique

Figure 8 – Emplacement COM de la carte Arduino UNO

Parmi les commandes qui sont accessibles on retrouve :


– pinMode
Exemple :a.pinMode(11,’output’) // configurer la pin 11 comme sortie.
– digitalRead
Exemple :val=a.digitalRead(4) ; // lecture de l’etat de la pin 4
– digitalWrite
Exemple :a.digitalWrite(13,0) ; // mettre la pin 13 à l’etat bas 0V
– analogRead
Exemple :val=a.analogRead(0) ; // lecture de la pin 0 de l’ADC
– analogWrite
Exemple :a.analogWrite(3,10) ; // envoyer sur la pin 10 un signal pwm de rapport cyclique
10/255

2.3 Arduino Target


Embedded Coder Support Package for Arduino permet de créer des applications Simulink
qui vont fonctionner de façon autonome sur la carte Arduino. on dit que la carte Arduino est
devenue une cible (Target) et elle peut fonctionner d’une façon autonome (sans avoir recours à
Matlab/Simulink).

Dans la suite, on utlisera les blocs Simulink offert par le package ArduinoIO Library et la
librairie Instrument Control Toolbox pour l’acquisition et l’envoie des données.

3 Acquisition des données


3.1 Présentation du ADC
La carte Arduino Uno dispose de 6 entrées analogiques notées A0, A1,..A5 mais d’un seul
convertisseur analogique/numérique, la durée d’une conversion est de l’ordre de 100µs.Il a une
résolution de 10 bits. La donnée numérique qu’il fournit après conversion est donc comprise
entre 0 et 1024.

Figure 9 – Type du CAN de la carte Arduino UNO

Nizar CHELLY-Amine CHARED 10 Hammamet Mai 2014


Formation Arduino ↔ Matalab/Simulink Commande d’un système thermique

Il n’est pas nécessaire d’initialiser ces entrées analogiques qui n’ont que cette seule fonction.

La syntaxe de l’instruction permettant d’acquérir l’entrée analogique est la suivante :


analogRead(pin) ;
– pin : la pin sur la quelle on souhaite acquérir le signal analogique.

3.2 Acquisition des données : Capteur de distance Ultrason HC-SR04


3.2.1 Présentation du module

Ce module dispose de 4 pins de sortie : VCC , TRIG, ECHO, GND . Les caractéristiques
techniques de ce module sont les suivantes :
– alimentation : 5V DC
– Courant de repos : <2mA
– Angle de mesure : <15°
– Gamme de distance : 2cm – 500 cm
– résolution : 0.3 cm

Figure 10 – Capteur de distance HC-SR04

Le processus de mesure de distance est le suivant : donner la pin "TRIG" une impulsion de
niveau haut (5V) durant au moins 10µs et le module démarre sa lecture ; à la fin de la mesure,
s’il détecte un objet devant lui, la pin "ECHO" passe au niveau haut (5V). Et , la distance où
se situe l’obstacle est proportionnelle à la durée de cette impulsion Il est donc très facile de
calculer cette distance avec la formule suivante :
vitesse.du.son : 340m/s
Distance = (Durée.du.niveau.haut) × (2)
2

3.2.2 Branchement avec la carte Arduino UNO

Figure 11 – Branchement du HC-SR04 avec la carte Arduino UNO

Nizar CHELLY-Amine CHARED 11 Hammamet Mai 2014


Formation Arduino ↔ Matalab/Simulink Commande d’un système thermique

3.2.3 Exploitation de Instrument Control Toolbox

1. Pré-programmation de la carte Arduino UNO


#d e f i n e echoPin 7 // Echo Pin
#d e f i n e t r i g P i n 8 // T r i g g e r Pin
l o n g duree , d i s t a n c e ;
void setup ( )
{
S e r i a l . begin (9600) ;
pinMode ( t r i g P i n , OUTPUT) ;
pinMode ( echoPin , INPUT) ;
}
void loop ( )
{
// Envoyer l e s i g n a l s u r l a p in 8
d i g i t a l W r i t e ( t r i g P i n , LOW) ;
delayMicroseconds (2) ;
d i g i t a l W r i t e ( t r i g P i n , HIGH) ;
delayMicroseconds (10) ;
d i g i t a l W r i t e ( t r i g P i n , LOW) ;
// a v o i r l a duree en ms
d ur e e = p u l s e I n ( echoPin , HIGH) ;
// V i t e s s e du Son 340 m/ s
// C a l c u l e r l a d i s t a n c e ( en cm)
d i s t a n c e = ( duree / 2 ) ∗ 3 4 0 ∗ 0 . 0 0 0 1 ;
// e n v o i e de l a donnee s u r l e p o r t s e r i e
Serial . write ( distance ) ;
// D e l a i de 50 ms avant l a n o u v e l l e a c q u i s i t i o n
delay (50) ;
}

2. Développement du modèle Simulink :

Il suffit d’utiliser les blocs offert par Instrument Control Toolbox.


– Un bloc Serial Configuration
– Un bloc Serial Receive
– Un bloc Display ou Scope pour assurer la lecture de la distance en temps réel.

Figure 12 – Acquisition de la distance sous Instrument Control Toolbox

Nizar CHELLY-Amine CHARED 12 Hammamet Mai 2014


Formation Arduino ↔ Matalab/Simulink Commande d’un système thermique

3.3 Acquisition des données : Capteur de température LM35


3.3.1 Présentation du capteur

Le LM35 fait partie des capteurs de température électroniques de précision en structure


intégrée.

Figure 13 – Capteur de température LM35

D’après la fiche technique :

10mV → C o (3)
Autrement un volt correspond à 100 degrés Celsius.
La lecture analogique d’un signal de 0 à 5V étant codée de 0 à 1023, on a la formule :
T emp = V olt ∗ (5/1023) ∗ 100; V olt.entre.(0et1023) (4)

3.3.2 Branchement avec la carte Arduino UNO

Pour exploiter le capteur LM35, il suffit :


– D’alimenter les pattes VCC et GND
– De brancher la patte centrale à une entrée analogique d’Arduino (A0,...,A5).

Figure 14 – Branchement du Capteur LM35 avec Arduino UNO

3.3.3 Exploitation du package ArduinoIO Libraray

1. Pré-chargement de adiosrv.pde sur la carte Arduino UNO


2. Développement du modèle Simulink

Nizar CHELLY-Amine CHARED 13 Hammamet Mai 2014


Formation Arduino ↔ Matalab/Simulink Commande d’un système thermique

Figure 15 – Acquisition de la température sous ArduinoIO Library

3.3.4 Exploitation de Instrument Control Toolbox

1. Pré-programmation de la carte Arduino UNO


i n t temp ;
void setup ( )
{
S e r i a l . begin (9600) ;
}

void loop ( )
{
// l e c t u r e de l a donnee a p a r t i r du CAN ( v a l e u r e n t r e 0 e t 1023)
temp = analogRead (A0 ) ;
// e n v o i e de l a donnee v i a l e p o r t s e r i e
S e r i a l . w r i t e ( temp ) ;
// d e l a i de 1 s avant n o u v e l l e a c q u i s i t i o n
delay (1000) ;
}

2. Développement du modèle Simulink :

Le modele Simulink qui va traiter les données transmises à partir de la carte Arduino UNO.

Figure 16 – Acquisition de la température sous Instrument Control Toolbox

Nizar CHELLY-Amine CHARED 14 Hammamet Mai 2014


Formation Arduino ↔ Matalab/Simulink Commande d’un système thermique

4 Envoie des données

4.1 Présentation des sorties analogiques (mode PWM)


La carte Arduino Uno dispose de 6 sorties (3,5,6,9,10 et 11) qui peuvent être utilisées en
mode PWM, c’est-à-dire en modulation de largeur d’impulsion.Ce sont des signaux logiques
binaires de fréquence constante (500Hz) mais de rapport cyclique variable.

Figure 17 – Description du signal PWM

Lorsqu’un moteur ou une lampe est alimenté par ce type de tension, tout se passe comme
si il était alimenté par une tension continue ajustable entre 0V (rapport cyclique= 0) et 5V
(rapport cyclique=255).Ces sorties doivent être initialisées comme des sorties digitales.

τo
Vout = Vs × ; avec : τc = 2ms (5)
τc
La syntaxe de l’instruction permettant de générer le signal PWM est la suivante :
analogWrite(pin, valeur) ;
– pin : la pin sur la quelle on souhaite envoyer le signal (3,5,6,9,10 ou 11).
– valeur : le rapport cyclique entre 0 et 255.

Figure 18 – Exemles de variation du rapport cyclique

Nizar CHELLY-Amine CHARED 15 Hammamet Mai 2014


Formation Arduino ↔ Matalab/Simulink Commande d’un système thermique

4.2 Commande PWM d’un moteur à courant continu

4.2.1 Présentation du schéma électronique

Le circuit électronique ci-dessous permet de contrôler un moteur à courant continue à partir


des sorties PWM de la carte Arduino. Ce circuit doit amplifier le courant de sortie de la carte
Arduino (40 mA) et doit aussi supporter la variation du rapport cyclique du signal PWM. Parmi
les transistors pouvant satisfaire ces conditions on a choisit le TIP121.

Figure 19 – Branchement de la carte Arduino UNO avec un moteur DC

Les composants utilisés sont les suivants :

– Le transistor TIP121 : C’est un transistor Darlington NPN qui d’après la fiche technique
permet d’amplifier le courant jusqu’à 5A avec son gain d’amplification ”au minimum”
β = 1000 et supportant
– La diode 1N4004 : Dans une charge inductive (bobines), le courant ne peut pas se stopper
instantanément. Cette diode joue le rôle d’une diode de roue libre qui permet au courant
de s’arrêter progressivement.

4.2.2 Exploitation du package ArduinoIO Libraray

1. Pré-chargement de adiosrv.pde sur la carte Arduino UNO


2. Développement du modèle Simulink

Figure 20 – Envoie de la commande PWM sous ArduinIO Library

Nizar CHELLY-Amine CHARED 16 Hammamet Mai 2014


Formation Arduino ↔ Matalab/Simulink Commande d’un système thermique

4.3 Commande d’une résistance chauffante

4.3.1 Présentation du schéma électronique

Le circuit électronique comporte :


– Une lampe halogène 12V-35W
– Une resistance 1kΩ
– Un transistor TIP121

Figure 21 – Branchement de la carte Arduino UNO avec une lampe

L’utilisation de la commande PWM à partir de la carte Arduino permet de faire varier la tension
appliquée aux bornes de la lampe autrement ceci permet de contrôler l’intensité lumineuse de la
lampe.

4.3.2 Exploitation du package ArduinoIO Libraray

1. Pré-chargement de adiosrv.pde sur la carte Arduino UNO


2. Développement du modèle Simulink

Figure 22 – Envoie de la commande PWM sous ArduinIO Library

Nizar CHELLY-Amine CHARED 17 Hammamet Mai 2014


Formation Arduino ↔ Matalab/Simulink Commande d’un système thermique

5 Présentation de la maquette

La maquette est constituée d’un capteur de température LM35 et une Lampe halogène 12V
35W qui joue le rôle d’un élément chauffant.Le capteur et la lampe sont installés dans une
boite en bois avec un couvercle en plexiglass. Cette boite représente le système thermique à
commander. La figure suivante schématise la connexion de la carte Arduino UNO avec l’entrée
et la sortie du système thermique.

Figure 23 – Branchement du procédé avec la carte Arduino

La figure ci dessous montre une vue réelle de la maquette utilisée.

Figure 24 – Une vue de la maquette

Nizar CHELLY-Amine CHARED 18 Hammamet Mai 2014


Formation Arduino ↔ Matalab/Simulink Commande d’un système thermique

6 Modélisation du procédé thermique


Le but de cette partie est de déterminer la fonction de transfert échantillonnée de notre
procédé thermique en boucle ouvert notée G(z).L’entrée du système est la tension u(z) en volts
et la sortie est la température T (z) de degré celsius.

6.1 Présentation de l’étape d’identification avec Matlab


Cette étape est constituée de deux parties. La première est assuré par l’environnement
Simulink et le package ArduinoIO pour l’envoie et l’acquisition des données. La deuxième partie
est assuré par l’outil System identification sous Matlab.

Figure 25 – L’utilisation de l’outil System Identification

6.2 Acquisition de la réponse indicielle du système


Plusieurs méthodes sont utilisées pour la modélisation d’un système comme la détermination
des équations physiques du système, l’étude de la réponse d’un système à une entrée....etc.
Dans notre cas on va identifier notre système en étudiant la réponse de notre système à échelon
de tension.
Le modèle Simulink permettant de réaliser l’acquisition de la réponse du système à un échelon
de tension est le suivant :

Figure 26 – Modèle Simulink pour la détermination de la réponse indicielle

Nizar CHELLY-Amine CHARED 19 Hammamet Mai 2014


Formation Arduino ↔ Matalab/Simulink Commande d’un système thermique

6.3 Détermination de la fonction de transfert G(z)


Après avoir déterminer la réponse du système, on passe à la détermination de la fonction de
transfert G(z).
1. Ouvrir l’outil System identification Tool

Figure 27 – L’interface de l’outil System identification

2. Cliquer sur import data et choisir Time domain data.

Figure 28 – Choix des types des données ”Time Domain Data”

Nizar CHELLY-Amine CHARED 20 Hammamet Mai 2014


Formation Arduino ↔ Matalab/Simulink Commande d’un système thermique

3. Entrer le nom de la variable Input et la variable Output ainsi que tempsde starting time et
sample time qu’on a utiliser lors de l’identification avec Simulink.Enfin cliquer sur Import.

Figure 29 – Saisie des données relatives aux Input et Output du système

4. Cliquer sur Estimate et choisir Transfer Function Models

Figure 30 – Choix de la description du système à estimer”Tranfer Function”

Nizar CHELLY-Amine CHARED 21 Hammamet Mai 2014


Formation Arduino ↔ Matalab/Simulink Commande d’un système thermique

5. Entrer le nombre de pôle et de zéro et cliquer sur Discrete-Time ensuite cliquer sur Estimate.

Figure 31 – Choix du nombre des pôles et zéros de la fonction de transfert à estimer

6. Revenir à l’interface System Identification Tool et cliquer deux fois sur tf1.

Figure 32 – Visualisation du résultat de l’estimation

Nizar CHELLY-Amine CHARED 22 Hammamet Mai 2014


Formation Arduino ↔ Matalab/Simulink Commande d’un système thermique

7. Une fenêtre apparait dans laquelle vous trouvez G(z).

Figure 33 – Récupération de la fonction de transfert estimée

7 Commande du procédé thermique


L’étape de la commande du procédé thermique est constituée de deux parties.
La première partie consiste à utiliser l’outil Matlab PID Tuning pour déterminer les différents
paramétrés de notre régulateur PID à savoir Kp ,Ki et KD en fonction de notre objectif de
commande.
La deuxième partie consiste à implémenter sur Simulink puis sur la carte Arduino le correcteur
PID(z).

Figure 34 – Emplacement de l’outil PID tuning

Nizar CHELLY-Amine CHARED 23 Hammamet Mai 2014


Formation Arduino ↔ Matalab/Simulink Commande d’un système thermique

7.1 Synthèse du régulateur numérique

1. Ouvrir l’outil PID Tuner

Figure 35 – Interface de l’outil ”PID tuning”

2. Cliqueur sur Import new plant, une nouvelle fenêtre apparait.

Figure 36 – Importation du modèle estimé

Nizar CHELLY-Amine CHARED 24 Hammamet Mai 2014


Formation Arduino ↔ Matalab/Simulink Commande d’un système thermique

3. Une nouvelle fenêtre apparait dans laquelle vous allez sélectionner tf1 ensuite cliquer sur
import puis close.

Figure 37 – Interface de l’outil ”Import Linear System”

4. Revenir à la fenêtre PID Tuner, vous pouvez choisir le type de régulateur à implémenter et
les objectifs de la commande en boucle fermé et voir la réponse de la sotie du système.

Figure 38 – Choix du régulateur à implémenter

Nizar CHELLY-Amine CHARED 25 Hammamet Mai 2014


Formation Arduino ↔ Matalab/Simulink Commande d’un système thermique

5. Cliquer sur la flèche de show parameter pour voir les paramétrés utilisés de votre régulateur
ainsi que les performances du système en boucle fermé.

Figure 39 – Récupération des paramétrés du régulateur

7.2 Implémentation de la commande sous Simulink


La boucle d’asservissement à implémenter sur Simulink se traduit par le schéma suivant :

Figure 40 – Synoptique de la boucle d’asservissement à implémenter

L’asservissement de notre procédé est assuré par le schéma Simulink ci-dessous qui regroupe la
consigne, le comparateur, le correcteur PID(z), le traitement de la température issue du capteur
et l’envoie de la commande PWM.

Figure 41 – Modèle Simulink d’asservissement de température

Nizar CHELLY-Amine CHARED 26 Hammamet Mai 2014


Formation Arduino ↔ Matalab/Simulink Commande d’un système thermique

L’appui deux fois sur le bloc PID(z) permet d’introduire les paramétrés Kp Ki Kd et de
configurer le régulateur selon notre objectif de commande.

Figure 42 – Saisie des paramétrés du régulateur

7.3 Implémentation de la commande sur la carte Arduino


Dans cette partie on va utiliser les fonctions offert par Arduino pour envoyer (la commande)
et acquérir (la température instantanée). L’implémentation du régulateur se fera directement
sur la carte Arduino.

Figure 43 – Schéma synoptique de l’asservissement à implémenter

Nizar CHELLY-Amine CHARED 27 Hammamet Mai 2014


Formation Arduino ↔ Matalab/Simulink Commande d’un système thermique

7.3.1 Le régulateur PID Numérique

Ce type de correcteur est défini par l’équation différentielle suivante :


Z t
d
UP ID (t) = Kp × e(t) + Ki × e(τ )dτ + Kd × e(t) (6)
0 dt
L’équation de contrôle PID numérique peut être exprimée en de diverses manières, mais une
formulation générale est donnée par l’équation suivante [3] :
(erreur − erreurprécédente )
P ID = Kp × erreur + Ki × (erreur × ∆t) + Kd × (7)
X
∆t
L’implémentation du régulateur PID sur la carte Arduino se fera de la manière suivante [3] :
PID :
E r r o r = S e t p o i n t − Actual
I n t e g r a l = I n t e g r a l + ( E r r o r ∗ dt )
D e r i v a t i v e = ( E r r o r − P r e v i o u s _ e r r o r ) / dt
Drive = ( E r r o r ∗kP ) + ( I n t e g r a l ∗ k I ) + ( D e r i v a t i v e ∗kD)
Previous_error = Error
wai t ( dt )
GOTO PID

7.3.2 L’implémentation du régulateur PID

Le code suivant permet d’implémenter le régulateur PID sur la carte Arduino.


float d e l t a _ e r r e u r =0 ;
float somme_erreur = 0 ; // Somme des e r r e u r s pour l ’ i n t g r a t e u r
float kp = 1 . 0 8 8 6 ; // C o e f f i c i e n t p r o p o r t i o n n e l
float ki = 0.005317 ; // C o e f f i c i e n t i n t g r a t e u r
float kd =0.27182 ; // C o e f f i c i e n t d r i v a t e u r

f l o a t ep , up , temp , u , e , cmd ;

i n t c o n s i g n e =35;

void setup ( ) {
S e r i a l . begin (9600) ;
}

void loop ( )
{
temp=analogRead ( 0 ) ;
temp=temp∗ 0.48828125 ;
e=consigne−temp ;
d e l t a _ e r r e u r = ( e−ep ) / 0 . 5 ;
somme_erreur=somme_erreur+e ∗ 0 . 5 ;
cmd = kp∗ e + k i ∗ somme_erreur + kd∗ d e l t a _ e r r e u r ;
a n a l o g W r i t e ( 6 , cmd ∗ ( 2 5 5 / 1 2 ) ) ;
ep=e ;
delay (500) ;// periode d ’ echantillonage
S e r i a l . w r i t e ( analogRead ( 0 ) ) ; / / e n v o i e de l a donnee s u r l e p o r t s e r i e
}
Il suffit d’exploiter la bibliothèque Instrument Control Toolbox pour la lecture de la tempéra-
ture instantanée.

Nizar CHELLY-Amine CHARED 28 Hammamet Mai 2014


Product Sample & Technical Tools & Support &
Folder Buy Documents Software Community

LM35
www.ti.com SNIS159D – AUGUST 1999 – REVISED OCTOBER 2013

LM35 Precision Centigrade Temperature Sensors


1FEATURES DESCRIPTION

2 Calibrated Directly in ° Celsius (Centigrade) The LM35 series are precision integrated-circuit
temperature sensors, with an output voltage linearly
• Linear + 10 mV/°C Scale Factor proportional to the Centigrade temperature. Thus the
• 0.5°C Ensured Accuracy (at +25°C) LM35 has an advantage over linear temperature
• Rated for Full −55°C to +150°C Range sensors calibrated in ° Kelvin, as the user is not
required to subtract a large constant voltage from the
• Suitable for Remote Applications
output to obtain convenient Centigrade scaling. The
• Low Cost Due to Wafer-Level Trimming LM35 does not require any external calibration or
• Operates from 4 to 30 V trimming to provide typical accuracies of ±¼°C at
• Less than 60-μA Current Drain room temperature and ±¾°C over a full −55°C to
+150°C temperature range. Low cost is assured by
• Low Self-Heating, 0.08°C in Still Air trimming and calibration at the wafer level. The low
• Nonlinearity Only ±¼°C Typical output impedance, linear output, and precise inherent
• Low Impedance Output, 0.1 Ω for 1 mA Load calibration of the LM35 make interfacing to readout or
control circuitry especially easy. The device is used
with single power supplies, or with plus and minus
supplies. As the LM35 draws only 60 μA from the
supply, it has very low self-heating of less than 0.1°C
in still air. The LM35 is rated to operate over a −55°C
to +150°C temperature range, while the LM35C is
rated for a −40°C to +110°C range (−10° with
improved accuracy). The LM35 series is available
packaged in hermetic TO transistor packages, while
the LM35C, LM35CA, and LM35D are also available
in the plastic TO-92 transistor package. The LM35D
is also available in an 8-lead surface-mount small-
outline package and a plastic TO-220 package.

+VS +VS
(4 V to 20 V)

LM35 VOUT
LM35 OUTPUT
0 mV + 10.0 mV/°C
R1

Figure 1. Basic Centigrade Temperature Sensor tVS


(+2°C to +150°C) Choose R1 = –VS / 50 µA
VOUT = 1500 mV at 150°C
VOUT = 250 mV at 25°C
VOUT = –550 mV at –55°C

Figure 2. Full-Range Centigrade Temperature


Sensor

Please be aware that an important notice concerning availability, standard warranty, and use in critical applications of
Texas Instruments semiconductor products and disclaimers thereto appears at the end of this data sheet.
2 All trademarks are the property of their respective owners.
PRODUCTION DATA information is current as of publication date. Copyright © 1999–2013, Texas Instruments Incorporated
Products conform to specifications per the terms of the Texas
Instruments standard warranty. Production processing does not
necessarily include testing of all parameters.
LM35
SNIS159D – AUGUST 1999 – REVISED OCTOBER 2013 www.ti.com

These devices have limited built-in ESD protection. The leads should be shorted together or the device placed in conductive foam
during storage or handling to prevent electrostatic damage to the MOS gates.

CONNECTION DIAGRAMS

METAL CAN PACKAGE SMALL-OUTLINE MOLDED PACKAGE


TO (NDV) SOIC-8 (D)
TOP VIEW

+VS VOUT
VOUT 1 8 +VS
t
GND N.C. 2 7 N.C.
Case is connected to negative pin (GND) N.C. 3 6 N.C.
GND 4 5 N.C.
N.C. = No connection

PLASTIC PACKAGE PLASTIC PACKAGE


TO-92 (LP) TO-220 (NEB)
BOTTOM VIEW

+VS VOUT GND


LM
35DT

+VS VOUT
GND
Tab is connected to the negative pin
(GND).
NOTE: The LM35DT pinout is different than
the discontinued LM35DP

2 Submit Documentation Feedback Copyright © 1999–2013, Texas Instruments Incorporated

Product Folder Links: LM35


LM35
www.ti.com SNIS159D – AUGUST 1999 – REVISED OCTOBER 2013

ABSOLUTE MAXIMUM RATINGS (1) (2)


MIN MAX UNIT
Supply voltage –0.2 35 V
Output voltage –1 6 V
Output current 10 mA
Electrostatic discharge (ESD) susceptibility (3) 2500 V
Storage temperature TO Package –60 180
TO-92 Package –60 150
°C
TO-220 Package –65 150
SOIC-8 Package –65 150
Lead temperature TO Package (soldering, 10 seconds) 300
TO-92 and TO-220 Package (soldering, 10 seconds) 260
°C
SOIC Package Infrared (15 seconds) 220
Vapor phase (60 seconds) 215
Specified operating temperature LM35, LM35A –55 150
range: TMIN to TMAX (4)
LM35C, LM35CA –40 110 °C
LM35D 0 100

(1) If Military/Aerospace specified devices are required, please contact the Texas Instruments Sales Office/ Distributors for availability and
specifications.
(2) Absolute Maximum Ratings indicate limits beyond which damage to the device may occur. DC and AC electrical specifications do not
apply when operating the device beyond its rated operating conditions. See Note 1.
(3) Human body model, 100 pF discharged through a 1.5-kΩ resistor.
(4) Thermal resistance of the TO-46 package is 400°C/W, junction to ambient, and 24°C/W junction to case. Thermal resistance of the TO-
92 package is 180°C/W junction to ambient. Thermal resistance of the small outline molded package is 220°C/W junction to ambient.
Thermal resistance of the TO-220 package is 90°C/W junction to ambient. For additional thermal resistance information see table in the
APPLICATIONS section.

ELECTRICAL CHARACTERISTICS (1) (2)


LM35A LM35CA
UNITS
PARAMETER TEST CONDITIONS TYP TESTED DESIGN TYP TESTED DESIGN (MAX.)
LIMIT (3) LIMIT (4) LIMIT (3) LIMIT (4)
TA = 25°C ±0.2 ±0.5 ±0.2 ±0.5
TA = –10°C ±0.3 ±0.3 ±1
Accuracy (5) °C
TA = TMAX ±0.4 ±1 ±0.4 ±1
TA = TMIN ±0.4 ±1 ±0.4 ±1.5
Nonlinearity (6) TMIN ≤ TA ≤ TMAX ±0.18 ±0.35 ±0.15 ±0.3 °C
Sensor gain TMIN ≤ TA ≤ TMAX +10 +9.9, +10 +9.9,
mV/°C
(average slope) +10.1 +10.1
Load regulation (7) TA = 25°C ±0.4 ±1 ±0.4 ±1
mV/mA
0 ≤ IL ≤ 1 mA TMIN ≤ TA ≤ TMAX ±0.5 ±3 ±0.5 ±3
TA = 25°C ±0.01 ±0.05 ±0.01 ±0.05
Line regulation (7) mV/V
4 V ≤ VS ≤ 30 V ±0.02 ±0.1 ±0.02 ±0.1

(1) Unless otherwise noted, these specifications apply: −55°C ≤ TJ ≤ 150°C for the LM35 and LM35A; −40°C ≤ TJ ≤ 110°C for the LM35C
and LM35CA; and 0°C ≤ TJ ≤ 100°C for the LM35D. VS = 5 Vdc and ILOAD = 50 μA, in the circuit of Figure 2. These specifications also
apply from +2°C to TMAX in the circuit of Figure 1. Specifications in boldface apply over the full rated temperature range.
(2) Specifications in boldface apply over the full rated temperature range.
(3) Tested Limits are ensured and 100% tested in production.
(4) Design Limits are ensured (but not 100% production tested) over the indicated temperature and supply voltage ranges. These limits are
not used to calculate outgoing quality levels.
(5) Accuracy is defined as the error between the output voltage and 10 mv/°C times the case temperature of the device, at specified
conditions of voltage, current, and temperature (expressed in °C).
(6) Nonlinearity is defined as the deviation of the output-voltage-versus-temperature curve from the best-fit straight line, over the rated
temperature range of the device.
(7) Regulation is measured at constant junction temperature, using pulse testing with a low duty cycle. Changes in output due to heating
effects can be computed by multiplying the internal dissipation by the thermal resistance.
Copyright © 1999–2013, Texas Instruments Incorporated Submit Documentation Feedback 3
Product Folder Links: LM35
LM35
SNIS159D – AUGUST 1999 – REVISED OCTOBER 2013 www.ti.com

ELECTRICAL CHARACTERISTICS(1)(2) (continued)


LM35A LM35CA
UNITS
PARAMETER TEST CONDITIONS TYP TESTED DESIGN TYP TESTED DESIGN (MAX.)
LIMIT (3) LIMIT (4) LIMIT (3) LIMIT (4)
VS = 5 V, 25°C 56 67 56 67
VS = 5 V 105 131 91 114
Quiescent current (8) µA
VS = 30 V, 25°C 56.2 68 56.2 68
VS = 30 V 105.5 133 91.5 116
Change of quiescent 4 V ≤ VS ≤ 30 V, 25°C 0.2 1 0.2 1
µA
current (7) 4 V ≤ VS ≤ 30 V 0.5 2 0.5 2
Temperature +0.39 +0.5 +0.39 +0.5
coefficient of µA/°C
quiescent current
Minimum temperature In circuit of Figure 1, IL = 0 +1.5 +2 +1.5 +2
°C
for rate accuracy
Long term stability TJ = TMAX, for 1000 hours ±0.08 ±0.08 °C

(8) Quiescent current is defined in the circuit of Figure 1.

ELECTRICAL CHARACTERISTICS (1) (2)


LM35 LM35C, LM35D
UNITS
PARAMETER TEST CONDITIONS TYP TESTED DESIGN TYP TESTED DESIGN (MAX.)
LIMIT (3) LIMIT (4) LIMIT (3) LIMIT (4)
TA = 25°C ±0.4 ±1 ±0.4 ±1
Accuracy, LM35, TA = –10°C ±0.5 ±0.5 ±1.5
°C
LM35C (5) TA = TMAX ±0.8 ±1.5 ±0.8 ±1.5
TA = TMIN ±0.8 ±1.5 ±0.8 ±2
TA = 25°C ±0.6 ±1.5
Accuracy, LM35D (5) TA = TMAX ±0.9 ±2 °C
TA = TMIN ±0.9 ±2
Nonlinearity (6) TMIN ≤ TA ≤ TMAX ±0.3 ±0.5 ±0.2 ±0.5 °C
Sensor gain TMIN ≤ TA ≤ TMAX +10 +9.8, +10 +9.8,
mV/°C
(average slope) +10.2 +10.2
Load regulation (7) TA = 25°C ±0.4 ±2 ±0.4 ±2
mV/mA
0 ≤ IL ≤ 1 mA TMIN ≤ TA ≤ TMAX ±0.5 ±5 ±0.5 ±5
TA = 25°C ±0.01 ±0.1 ±0.01 ±0.1
Line regulation (7) mV/V
4 V ≤ VS ≤ 30 V ±0.02 ±0.2 ±0.02 ±0.2

(1) Unless otherwise noted, these specifications apply: −55°C ≤ TJ ≤ 150°C for the LM35 and LM35A; −40°C ≤ TJ ≤ 110°C for the LM35C
and LM35CA; and 0°C ≤ TJ ≤ 100°C for the LM35D. VS = 5 Vdc and ILOAD = 50 μA, in the circuit of Figure 2. These specifications also
apply from +2°C to TMAX in the circuit of Figure 1. Specifications in boldface apply over the full rated temperature range.
(2) Specifications in boldface apply over the full rated temperature range.
(3) Tested Limits are ensured and 100% tested in production.
(4) Design Limits are ensured (but not 100% production tested) over the indicated temperature and supply voltage ranges. These limits are
not used to calculate outgoing quality levels.
(5) Accuracy is defined as the error between the output voltage and 10 mv/°C times the case temperature of the device, at specified
conditions of voltage, current, and temperature (expressed in °C).
(6) Nonlinearity is defined as the deviation of the output-voltage-versus-temperature curve from the best-fit straight line, over the rated
temperature range of the device.
(7) Regulation is measured at constant junction temperature, using pulse testing with a low duty cycle. Changes in output due to heating
effects can be computed by multiplying the internal dissipation by the thermal resistance.

4 Submit Documentation Feedback Copyright © 1999–2013, Texas Instruments Incorporated

Product Folder Links: LM35


Continental Device India Limited
An ISO/TS 16949, ISO 9001 and ISO 14001 Certified Company

PLASTIC POWER TRANSISTORS TIP120 TIP125


TIP121 TIP126
TIP122 TIP127
NPN PNP

TO-220
Plastic Package

High Power Switching, Hammer Drive, Pulse Motor Drive and Inductive Load Drive Applications

ABSOLUTE MAXIMUM RATINGS


DESCRIPTION TIP120/125 TIP121/126 TIP122/127 UNIT
Collector Emitter Voltage VCEO 60 80 100 V
Collector Base Voltage VCBO 60 80 100 V
Emitter Base Voltage VEBO 5 V
Collector Current Continuous IC 5 A
Collector Current Peak ICM 8 A
Base Current IB 120 mA
Power Dissipation upto Tc=25ºC PD 65 W
Derate above 25ºC 0.52 W/ºC
Power Dissipation upto Ta=25ºC PD 2 W
Derate above 25ºC 16 mW/ºC
Unclamped Inductive Load
*E 50 mJ
Energy
Operating And Storage Junction
Tj, Tstg - 65 to +150 ºC
Temperature

* IC=1A, L=100mH, P.R.F.=10Hz, Vcc=20V, RBE=100Ω

THERMAL RESISTANCE
Junction to Case Rth (j-c) 1.92 ºC/W
Junction to Ambient in free air Rth (j-a) 62.5 ºC/W

ELECTRICAL CHARACTERISTICS (TC=25ºC unless specified otherwise)


TIP120/125 TIP121/126 TIP122/127
DESCRIPTION SYMBOL TEST CONDITION UNIT
MIN MAX MIN MAX MIN MAX
Collector Emitter (sus) Voltage *VCEO(sus) IC=100mA, IB=0 60 80 100 V
Collector Cut Off Current ICEO VCE=50V, IB=0 0.5 mA
VCE=40V, IB=0 0.5 mA
VCE=30V, IB=0 0.5 mA
Collector Cut Off Current ICBO VCB=100V, IE=0 0.2 mA
VCB=80V, IE=0 0.2 mA
VCB=60V, IE=0 0.2 mA
Emitter Cut Off Current IEBO VEB=5V, IC=0 2.0 2.0 2.0 mA
DC Current Gain *h FE I C =0.5A,V CE=3V 1000 1000 1000
IC=3A, VCE=3V 1000 1000 1000
Collector Emitter Saturation *VCE (sat) IC=3A, IB=12mA 2.0 2.0 2.0 V
Voltage IC=5A, IB=20mA 4.0 4.0 4.0 V
Base Emitter On Voltage *VBE (on) IC=3A,VCE=3V 2.5 2.5 2.5 V
*Pulse Test : Pulse width <300µµ s, Duty Cycle <2%

Continental Device India Limited Data Sheet Page 1 of 4


PLASTIC POWER TRANSISTORS TIP120 TIP125
TIP121 TIP126
TIP122 TIP127
NPN PNP

TO-220
Plastic Package

ELECTRICAL CHARACTERISTICS (TC=25ºC unless specified otherwise)

DYNAMIC CHARACTERISTIC
DESCRIPTION SYMBOL TEST CONDITION MIN TYP MAX UNIT
Small Signal Current Gain hfe IC=3A,VCE=4V, f=1MHz 4

Output Capacitance Cob VCB=10V, IE=0, f=0.1MHz


TIP125,126,127 300 pF
TIP120,121,122 200 pF

SWITCHING CHARACTERISTICS
DESCRIPTION SYMBOL TEST CONDITION MIN TYP MAX UNIT
Turn on time ton IC=3A, RL=10Ω 0.4 µs
IB1=IB2=12mA
Turn off time toff VEB (off)=5V 1.2 µs

Continental Device India Limited Data Sheet Page 2 of 4

Vous aimerez peut-être aussi