Sie sind auf Seite 1von 96

Portes Stanley Magic Door

Dossier Technique

SOMMAIRE
1/ Prsentation du systme.......................................................................................3
1-1/ Mise en situation :..............................................................................................3
Environnement du systme technique :.............................................................3
Organisation de l'objet technique.......................................................................3
Milieux associs :...............................................................................................4
Principe de fonctionnement................................................................................4
La carte de commande :....................................................................................4
Algorigramme du programme principal :............................................................6
Vue de la partie oprative de la maquette :.......................................................7
1-2/ Principales caractristiques techniques du systme rel :...............................7
1-3/ Modes de fonctionnement :...............................................................................7
1-4/ Schma fonctionnel de 1er degr de la carte de commande...........................8
1-5/ Schma structurel de la partie commande......................................................12
1-7/ Calcul de la vitesse relle maximum des portes.............................................14
2/ tude des fonctions principales du systme technique..................................15
2-1 tude de FP1 : adaptation et mise en forme....................................................15
Structure associe FS11...........................................................................15
Structure associe FS12...........................................................................16
2-2 tude de FP2 et FP8 : traitement et affichage.................................................16
Caractristiques du microcontrleur............................................................17
Organisation matrielle de la fonction Traitement et Mmorisation :...........17
Menu utilisateur sur laffichage LCD :...........................................................18
Schma structurel de FP2 et FP8 :..............................................................19
Algorigrammes du programme complet de lobjet technique.......................20
2-3 tude de FP3 : commande du moteur.............................................................36
Schma structurel de FP3 :..........................................................................36
Structure associe FS31...........................................................................37
Structure associe FS32...........................................................................37
Etude du circuit LM3524...............................................................................38
Structure associe FS33...........................................................................38
Structure associe FS34...........................................................................39
Schmas de circulation du courant :............................................................40
2-4 tude de FP4 : slection de la vitesse.............................................................41
Schma structurel de FP4 :..........................................................................41
Structure associe FS41...........................................................................42
Structure associe FS42...........................................................................42
Structure associe FS43...........................................................................43
2-5 tude de FP5 : Gnration des signaux de mise en fonctionnement..............44
Schma structurel de FP5............................................................................44
Page 1/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Structure associe FS51...........................................................................45


Structure associe FS52...........................................................................45
Structure associe FS53...........................................................................47
Relevs exprimentaux des signaux de fonctionnement du LM2917.........49
Exemples de relevs de couple et de vitesse :...........................................50
2-6 tude de FP6 : calcul de la position relle des portes.....................................52
Schma structurel de FP6 :.........................................................................52
Structure associe FS61...........................................................................53
Structure associe FS62...........................................................................54
Structure associe FS63...........................................................................54
2-7 tude de FP7 : Saisie des consignes..............................................................55
Schma structurel de FP7 :.........................................................................55
Structure associe FA1,............................................................................56
Structure associe FS71...........................................................................56
Structure associe FS72, FS73 et FS74...................................................56
Structure associe FS73 Dtection touche appuye................................57
Structure associe FS74 Encodage clavier..............................................57
Structure associe FS75 Dcodage clavier..............................................58
3/ Physique applique : tude de FP5 :..................................................................59
Schma fonctionnel de degr 2 de la fonction FP5 :...................................59
Schma structurel de la fonction FS51 et FS53 :........................................59
3.1/ Chane de mesure du couple moteur..............................................................60
Captage du couple :.....................................................................................60
Choix de la frquence de coupure du filtrage :............................................60
Contrainte de lalimentation :........................................................................60
Choix de lamplification en continu de la chane :........................................60
Caractristique de transfert de la chane de mesure du couple :................61
Etude en rgime permanent continu :..........................................................62
3.2 / Etude de la chane de mesure de la vitesse du moteur (FS53) :...................63
3.3 / Dtermination exprimentale de la constante de FEM du moteur :...............65
But de la manipulation :................................................................................65
Protocole exprimental :...............................................................................65
Relevs exprimentaux :..............................................................................65
Exploitation des rsultats :...........................................................................65
3.4/ Chronogrammes qualitatifs :............................................................................66
Phase dapprentissage :...............................................................................66
Cycle douverture et cycle de fermeture :.....................................................67
Le filtrage de la chane de mesure du courant moteur :..............................68
4/ Documentation constructeur...............................................................................69
4.1 Caractristiques du moteur MX10..........................................................69
Page 2/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

4.2 Documentation constructeur du radar de dtection...............................70

5/ Documentation annexes......................................................................................72
5.1 Schma dimplantation de la carte de commande.................................72
5.2 Nomenclature des composants..............................................................73
5.4 Dtails sur la procdure de calcul de la position des portes..................75
5.5 Programme en C de la carte de commande..........................................76

Page 3/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

1/ Prsentation du systme
1-1/ Mise en situation :
Les lieux publics trs frquents, et en particulier les grands magasins, sont quips d'accs
ouverture des portes automatiques afin d'offrir aux usagers un accs ais, fluide en toute scurit
et en toutes circonstances.
Environnement du systme technique :

RESPONSABLE
DE
L'ACCS

D P LA C EM E NT
VE RS L' AC C S

CH OI X D' U N
MOD E D E
F ON CT ION NE ME NT

P ORTES
AUTOMATI QUES

USAG ER
DE
L'ACC S

R G LA GE S
&
CO NS IG NE S

OBJET TECHNIQUE

OPRATEUR
FR AN CH IS S EM EN T
SA NS C ON TR AI N TE
C OM PT E- RE N DU S
DE
FO NC TI ON NE ME NT

Cette tude porte sur l'objet technique PORTES AUTOMATIQUES.


Organisation de l'objet technique
Fonction d'usage de l'objet technique : assurer le dplacement automatique de portes
coulissantes par dtection de prsence.
Schma fonctionnel de niveau 2 :
CHOIX DU MODE
DE FONCTIONNEMENT
INFLUENCE EXTRIEURE :
PITON OU OBJET
EN MOUVEMENT

NERGIE

PORTES EN
POSITION
INITIALE

RGLAGES
& CONSIGNES
COMPTE-RENDU
OPRATEUR

GRER LES INFORMATIONS


Commande
des portes

Position
des portes

PORTES EN
POSITION
FINALE

ACTIONNER LES PORTES

PORTES AUTOMATIQUES

Page 4/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Milieux associs :

Humain : doit offrir une scurit maximum pour l'usager. Son installation et son rglage
doivent tre aiss.
Physique : doit rsister aux chocs et aux intempries (humidit et chaleur) dans le cas de
portes extrieures.
Technique : l'objet technique est constitu d'lments standard, faciles
d'approvisionnement.
conomique : c'est un matriel comptitif dans sa catgorie car capable de dtecter tout
blocage sans micro rupteurs, cames, embrayage ni amortisseurs pneumatiques.

Principe de fonctionnement
Le fonctionnement de la porte Stanley est ax autour d'un microcontrleur ATMEL 90S8535 qui
assure la gestion du dplacement des portes.
La position des portes est connue grce aux impulsions fournies par un codeur mont sur l'axe
du moteur. La dtection de prsence est effectue par 2 radars (un intrieur et un extrieur),
plus une barrire infrarouge.
RESPONSABLE
DE L'ACCS
Mode de
fonctionnement

Compte
rendu

OPRATEUR
Compte Reglages
&
rendu
consignes
IMPULSIONS CODEUR

CARTE DE

220 V ~

COMMANDE

Dtection
prsence

ALIMENTATION
MOTEUR

RADARS
BANDEAU DE PORTE

MOTEUR CC

CELLULES
INFRA-ROUGE
DE BARRAGE
PORTE
GAUCHE
BUTE

PORTE
DROITE
BUTE

La carte de commande :

Page 5/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Les diffrents menus du logiciel offrent au technicien les possibilits :


de paramtrer la marge de course (distance darrt avant les butes)
de paramtrer les tolrances de fermeture et douvertures (afin de compenser les effets
dinertie de la chane cinmatique)
de modifier le code daccs aux paramtrage
de forcer une squence douverture fermeture, afin de vrifier les rglages.
D'autre part, il est possible de rgler indpendamment les vitesses d'ouverture, de fermeture et
d'approche par lintermdiaire de 3 potentiomtres.
Phases de fonctionnement :
Initialisation : aprs une mise sous tension le contrleur procde une phase
dapprentissage, les portes s'ouvrent au ralenti jusqu'au moment o les impulsions du codeur ne
sont plus reues (blocage sur la bute). Le nombre N d'impulsions reues pendant le dplacement
donne une image de la course d'ouverture L, les portes se referment alors de cette mme
distance L.
La fonction traitement et mmorisation a alors dtermin la course des portes ainsi que les
positions de changement de vitesse
Attente de passage : ds que lun des radars (intrieur ou extrieur) dtecte une prsence, les
portes s'ouvrent de la course L, d'abord rapidement, puis au ralenti. Aprs une temporisation, elles
se referment de cette mme distance :
Les paliers de changement de vitesse sont tels que P1 = 1/3 de la course pour la phase
douverture, et P2 = 2/3 de la course pour la phase de fermeture.

OUVERTURE

FERMETURE

Vitesse
des portes
Vitesse d'ouverture

Vitesse de fermeture
Vitesse d'approche

40cm/s
20cm/s
10cm/s
P1
ouverture
fin
rapide d'ouverture

dtection
de
prsence

temporisation
d'ouverture

P2
fermeture
rapide

fin
de fermeture

Attente
prsence

C'est grce une mesure constante du nombre d'impulsions reues par unit de temps que le
systme calcul la position des portes et ajuste automatiquement la vitesse, de telle sorte que la
course se finisse au ralenti.
Au cas o une personne ou un objet stationnerait entre les portes (hors de porte des radars),
une barrire infrarouge avertie le systme de maintenir les portes ouvertes. Cette barrire nest
pas installe sur notre systme. Dans tous les cas le signal DETECT est produit avec un OU
logique entre les signaux issus des diffrents capteurs.
Blocage : tout blocage des portes est dtect par l'absence d'impulsions avant la fin de course.
Cela entrane la rouverture immdiate des portes.
Page 6/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Algorigramme du programme principal :

Dbut

Initialisation

Lapprentissage
a-t-il t effectu ?

Calcul de la course
par apprentissage

... un passage
est dtect

Dans le cas o...


... le code
est correct

Squence douverture
fermeture

Modification des
paramtres

... la dtection
de panique est
active

Coupure de
lalimentation de la
partie oprative

Dtection
de panique
active ?

Page 7/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Vue de la partie oprative de la maquette :

1-2/ Principales caractristiques techniques du systme rel :


Alimentation 220 V monophas 10A.
Temprature de fonctionnement de -30C +50C.
Systme anti-panique assur par batteries (non fournies).
Transmission par courroie crante.
Masse d'un ventail (porte) : 100kg.
Hauteur ajustable de la porte.
Moto rducteur :
Moteur lectrique de 75V courant continu, aimant permanent.
Vitesse nominale de 3000 tr/mn.
Rducteur 1/7
Poulie de diamtre primitif de 64,68 mm et de largeur 19,1 mm.
Courroie crante (16 crans) au pas de 12,7 mm.

1-3/ Modes de fonctionnement :


Marche / Arrt des portes.
Fonctionnement automatique : ouverture puis fermeture automatique.
Portes maintenues en position ouverte.
Portes maintenues en position ferme.
Page 8/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

1-4/ Schma fonctionnel de 1er degr de la carte de commande

USAGER DE
L'ACCS

Page 9/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Description des fonctions principales :


FA : FONCTION ALIMENTATON : fournit les tensions continues de +5V et Vcc1 = +12V et
Vcc2 = +12V pour l'alimentation en nergie des fonctions principales.
La fonction assure une isolation entre les tensions Vcc1 et Vcc2, cette dernire servant la
commande par MLI du moteur est sources de parasites et de perturbations.
FP1 : ADAPTATION ET MISE EN FORME : permet ladaptation et la mise en forme des informations
provenant des capteurs un format adapt FP2. La fonction assure galement lextinction de la
tension de scurit Ubreak en cas de dtection de panique.
Entres :
DETECT :
o dtection dun usager de laccs.
o circuit ouvert si absence dusager.
o circuit ferm si prsence dun usager.
BREAKOUT :
o dtection de panique.
o circuit ferm si les portes sont en position normale de fonctionnement
o circuit ouvert si les portes sont ouvertes en vantaux.
Sorties :
VPT1 :
o dtection prsence dun usager de laccs.
o Vpt1 = 0V si absence dusager.
o Vpt1 = 5V si prsence dun usager.

VPT11 : dtection panique


o
o

Vpt11 = 0V si absence de dtection panique.


Vpt11 = 5V si prsence de dtection panique.

Ubreak : scurit dtection panique

o Ubreak = Vcc1 = 12V si absence de dtection panique.


o Ubreak = 0V si prsence de dtection panique.
o La prsence de Ubreak est visualise par loprateur laide dune diode
lectroluminescente LD2
FP2 TRAITEMENT ET MMORISATION : grce son logiciel de traitement, cette fonction assure la
gestion du cycle d'ouverture / fermeture des portes, en tenant comptes des consignes utilisateur.
Entres :
VPT1 : dtection prsence dun usager de laccs. (Cf FP1).
VPT11 : dtection panique (Cf FP1).
CLAV[03] : Code binaire sous 4 bits reprsentatif de la touche enfonce sur le clavier
12 touches.
TA : Signal binaire au niveau haut lorsquune touche du clavier est appuye.
N[07] : Nombre binaire reprsentatif de la position relle des portes issu de FP6.
Sorties :
T0,T1 : choix de la vitesse de dplacement des portes
Signaux binaires permettant la slection dune vitesse parmi 4vitesse : nulle, approche,
fermeture et ouverture.
R1,R2 : slection du sens de dplacement des portes. Signaux binaires permettant la
fermeture, louverture ou le freinage (arrt) des portes.
Page 10/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

LCD[07] : Donnes sous 8 bits vers lafficheur LCD de FP7.


RS, R/W, E : Bits de contrle vers lafficheur LCD de FP7.

FP3 COMMANDE DU MOTEUR : gnre un signal de commande du moteur en fonction de la


consigne de vitesse slectionne par FP4, assure l'alimentation en puissance du moteur actionnant
les portes partir du signal de commande fournit par FP4 et du sens de rotation dfinit par FP2.
Cette fonction fournit constamment laide du codeur incrmental la position relative des portes ainsi
que le courant consomm travers le moteur.
En cas de dtection panique, la tension Ubreak disparat et le moteur est mis hors tension.
Entres :
R1,R2 : slection du sens de dplacement des portes (Cf FP2).
V-VIT : tension analogique image de la consigne de vitesse labore par FP4.
V-VIT peut prendre 4 valeurs de tension dont le 0V. Les 3 autres sont rglables par
loprateur.
Sorties :
VA,VB : Signaux binaires 0-5V en quadrature de phase issus du codeur incrmental
IMOT : tension image du courant consomm travers le moteur
COMMANDE DES PORTES : action mcanique sur les portes pour permettre louverture
et la fermeture de celles-ci diffrentes vitesses.
FP4 SLECTION DE LA VITESSE : gnre un signal de commande du moteur en fonction de la
consigne de vitesse slectionne par FP2. Cette consigne est inhibe en cas dabsence de la tension
Ubreak.
Entres :
T0,T1 : choix de la vitesse de dplacement des portes (Cf FP2).
Sorties :
V-VIT : tension image de la consigne de vitesse labore par FP4. (Cf FP3)
FP5 GNRATION DES SIGNAUX DE MAINTENANCE : gnre les tensions images du courant
moteur et de la vitesse de dplacement des portes utiles loprateur pour les diffrents rglages lors
de la premire installation ou lors dune modification du systme ( type de portes par ex.)
Entres :
IMOT : tension image du courant consomm travers le moteur.
VA : Signal VA binaires 0-5V issus du codeur incrmental protg contre une
dconnexion du cble codeur par FP6 (Calcul de la position relle des portes)
Sorties :
Vitesse portes : tension continue image de la vitesse de dplacement des portes.
Courant Moteur : tension continue image du courant moyen consomme travers le
moteur.
FP6 CALCUL DE LA POSITION RELLE DES PORTES : gnre partir de la position relative
fournie par le codeur incrmental un nombre binaire reprsentatif de la position relle vers FP2
Traitement. Les deux entres ncessitent dtre protges contres les potentiels flottants : cas o le
cble qui relie la carte de commande au codeur est dconnect ou sectionn.
Entres :
VA,VB : Signaux binaires 0-5V issus du codeur incrmental en quadrature de phase.
Sorties :
N[07] : Nombre binaire reprsentatif de la position relle des portes.
VA : Signal VA binaires 0-5V issus du codeur incrmental protg contre une
dconnexion du cble codeur.
Page 11/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Page 12/96

Dossier Technique

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

FP7 SAISIE DES CONSIGNES : cette fonction assure lacquisition et le transcodage des consignes
utilisateur vers lobjet technique. Elle est ralise autour dun clavier matriciel 12 touches.
Entres :
CONSIGNES UTILISATEUR : action mcanique de lutilisateur sur le clavier 12
touches, ces touches ayant une fonction relative au menu en cours visualis sur
lafficheur LCD (FP8).
Sorties :
CLAV[03] : Code binaire sous 4 bits reprsentatif de la touche enfonce sur le clavier
12 touches.
TA : Signal binaire au niveau haut lorsquune touche du clavier est appuye.
FP8 AFFICHAGE MENU UTILISATEUR : cette fonction assure laffichage du menu logiciel de lobjet
technique. Elle est base sur la mise en uvre dun afficheur de type LCD.
Entres :
LCD[07] : Donnes sous 8 bits pour lafficheur LCD de FP2.
RS, E : Bits de contrle pour lafficheur LCD de FP2.
Sorties :
INFORMATION UTILISATEUR : informations visuelles de type alphanumrique sur
lcran de lafficheur LCD
NB : Il ny a pas de dcoupage fonctionnel du 2ieme degr pour les fonctions FP2 et FP8

Page 13/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

1-5/ Schma structurel de la partie commande

Page 14/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

1-6/ Schma cinmatique de la partie oprative

Caractristiques du moteur:
Rfrence :
Vitesse nominale :
Tension nominale :
Courant nominale :
Puissance nominale :
Couple nominale :

Page 15/96

MX10
3000
75
2,2
110
35

tr/mn
V
A
W
N.cm

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

1-7/ Calcul de la vitesse relle maximum des portes


La poulie menante tant monte directement sur laxe de sortie de lensemble Moteur +
Rducteur, la relation reliant la vitesse de dplacement des portes la vitesse de rotation des
portes est la suivante :
Soit :

p la vitesse angulaire de la poulie en rad/s


Rp le rayon de la poulie en m (0.032m)
Np la vitesse de rotation poulie en tr/mn
Nm la vitesse de rotation moteur sans rduction en tr/mn
V la vitesse de dplacement des portes en m/s
V = Rp.p

V = (2.Rp.Np) / 60
V = (2.Rp.Nm) / (60*7)
V = Nm / 2089 en m/s
Nm nominal = 3000 tr/mn pour une alimentation nominale de 75V.
Dans notre systme, le moteur est aliment sous une tension de 12V, soit un rapport de
tension de 6,25
U = E + r .I = k.N + r .I avec k constante de fem = 21,3 mV/tr/mn et r rsistance dinduit = 5,1
ohms
soit N = (U r.I)/k . La vitesse N dpend donc de I donc du couple
Sous une alimentation continue de 12 V , considrons Nm max = Nm nom / 6,25
soit Nm max = 480 tr/mn
Pour Nm max, Vmax = 0,23 m/s
Note : cette valeur ne donne quun ordre de grandeur des vitesses de dplacement des
portes

Page 16/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

2/ tude des fonctions principales du systme technique


2-1 tude de FP1 : adaptation et mise en forme
La fonction permet ladaptation et la mise en forme des informations provenant des capteurs un
format adapt FP2. La fonction assure galement lextinction de la tension de scurit Ubreak
en cas de dtection de panique.
USAGER
DE LACCS
Dtectin prsence
USAGER
DE LACCS
Dtection
panique

FP2Traitement
et
mmorisation:
panique
Information

VPT1

Chane capteur dtection


prsence
VPT1
Ubreak
1

prsence usager

FP3,FP4
Chane capteur dtection
Inhibition des
commandes
FS11
panique
OPRATEUR:
moteurs
Information
FP1: Adaptation et mise en forme
FS12
prsence
Structure associe FS11
tension
Ubreak
Le capteur est quivalent un contact normalement ouvert. Lors du passage dune personne le
contact se ferme.
En absence de passant, la rsistance de tirage R5 impose un niveau logique haut lentre de
la porte donc PT1 est un niveau logique 0.
Lors du passage dune personne, UC7 = 0V et le transistor de sortie de U14A est bloqu. Cest
donc la rsistance de tirage R6 qui impose un niveau logique haut.
Le condensateur C7 se charge travers R5 lorsque la personne est passe. Ce circuit permet
dobtenir un niveau logique haut (VIHmin = Vcc/2 =2,5V) lentre de la porte au bout de
(-100010-6ln(0,5))= 690 s. Cela permet de saffranchir des rebonds du capteur.

Page 17/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Si le capteur nest pas reli la carte de commande, R5 impose lentre de la fonction un


potentiel +5V.

Structure associe FS12

BREAKOUT :
Le capteur de panique est un contact normalement ferm. Ce capteur souvre si les panneaux
de la porte sont forcs louverture sous leffet de la panique. Les vantaux peuvent alors
souvrir comme des portes classiques.
On retrouve le mme montage que pour le circuit Detect.
Lorsque le contact est ferm, BRK est au niveau logique 0 et PT11 est forc au niveau
logique 1 par la rsistance de tirage R21.
Quand le contact est ouvert, le condensateur C9 se charge travers R24 et atteint le niveau
logique haut (VIHmin = Vcc/2) au bout de 690s. La charge est trs rapide mais permet de
saffranchir des rebonds du capteur. Alors PT11 est au niveau logique 0.
Dans le cas dune panique de trs courte dure, le contact est nouveau ferm. Le circuit se
retrouve dans la premire configuration, mais le condensateur C10 va se charger travers
R21. PT11 atteindra le niveau logique haut (2,5V) au bout de 6,90ms. Cela permet au
programme davoir effectu toutes les oprations ncessaires et aux courants prsents dans
les bobines des relais REL1 et REL2 dtre totalement vacus.
Ubreak :
M1 est un transistor MOS CANAL N enrichissement (le canal nexiste pas pour Vgs = 0).
Pour le rendre passant, il faut lui appliquer une tension Vgs > Vp (3V max).
Lorsque le contact est ferm, Vpt11 = 5V environ. M1 se comporte comme un circuit ferm
entre Drain et Source (Rdson = 10 max). Un courant de base est alors extrait de Q1
travers R22.
Lorsque le contact est ouvert, Vpt11 = 0V environ. Vgs < Vp et M1 se comporte comme un
circuit ouvert entre Drain et Source. Le courant de base ne peut plus tre extrait de Q1
travers R22. La Base de Q1 se trouve dconnect et ne peut donc pas conduire.
Q1 est un transistor bipolaire de type PNP. Il est capable de vhiculer le courant ncessaire
aux commandes des relais, des leds des opto-coupleurs ainsi qu la diode
lectroluminescente LD2. Cela impose un courant denviron 160mA (60mA de courant de
maintient pour un relais, environ 10mA par led-opto et 20 mA pour LD2).
Pour un courant Ic de lordre de 150 mA, le coefficient damplification min en courant vaut 100,
Vcesat vaut 0,4V et Vbesat vaut 2,3V max. Pour M1 on donne Vdson max = 2,5V
Le Calcul de Ibsat = (Vcc1 + Vbesat - Vdson max) / R22
Ibsat = 2,67 mA
Le coefficient de sursaturation vaut (Ibsat*min)/Icsat = 1,7.

2-2 tude de FP2 et FP8 : traitement et affichage


La fonction FP2 : Traitement et mmorisation
Cette fonction assure grce son logiciel de traitement :

lapprentissage et la mmorisation de la course des portes la mise sous tension du systme.


le squencement et la gestion des cycles d'ouverture / fermeture des portes, en tenant
comptes les consignes utilisateur et la scurit de lusager.

Page 18/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

le pilotage de la fonction FP8 Affichage menu utilisateur.

Page 19/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

La fonction est ralise autour du microcontrleur ATMEL AT90S8535.

Caractristiques du microcontrleur
o
o
o
o
o
o
o
o
o
o
o
o

8 Ko de mmoire programme du type FLASH (1000 cycles de programmation),


512 octets de EEPROM,
512 octets de RAM,
4 ports E/S,
2 timers 8 bits,
Un timer 16 bits,
Un convertisseur A / N 10 bits avec 8 entres multiplexes
Un comparateur analogique,
Un chien de garde (WatchDog),
Une interface srie synchrone (SPI),
Une interface srie asynchrone (UART).
Frquence du quartz = 8Mhz

Organisation matrielle de la fonction Traitement et Mmorisation :

Reset manuel :
Lors dun appuie sur le bouton poussoir S1, un niveau logique bas est appliqu sur la patte 9
du micro contrleur. Le Reset est actif.
Reset automatique :
Lors de la mise sous tension du circuit, le condensateur C8 se charge travers R9 pour
atteindre 0,6.Vcc (VIHmin du AT90S8535) au bout de
(-4700010010-9ln(0,4) ) = 4,3ms (voir la simulation).
Cela permet de faire un Reset automatique la mise sous tension du systme. Lors de
lextinction de lalimentation, la diode D1 permet de dcharger instantanment le
condensateur C8. Ceci permet un nouveau Reset automatique si le systme est nouveau
aliment rapidement.
Une impulsion sur lentre Reset/ du micro contrleur entrane un Reset interne dune dure
de 11ms minimum (p20 de la doc Atmel).
La constante de temps du circuit nest donc pas calcul en fonction du temps minimum
pendant lequel le niveau bas doit tre appliqu sur lentre Reset du micro contrleur. Elle
permet de saffranchir des rebonds du bouton poussoir S1 afin dviter des remises zro
successives.
La rsistance R10 permet dviter les conflits entre le bus ISP et le circuit de Reset lors de la
programmation du microcontrleur.

Broches C
utilises

Nature

Information

PortA
[PA7..PA0]

Entres logiques

Position relle des portes


[N7N0]

PortB
PB0,PB1

Sorties logiques
active ltat haut

Sens rotation moteur


R1,R2

Page 20/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

PortB
PB2,PB3

Sorties logiques
active ltat haut

Slection vitesse
T0,T1

PortB
PB4

Entre logique

Dtection touche appuye


TA

PortB
PB5,PB6,PB7

Entres/Sorties
logiques

Programmation in situ
BUS ISP

PortC
[PC7..PC0]

Sorties logiques

Donnes afficheur LCD


[LCD7LCD0]

PortD
PD0,PD1

Sorties logiques
active ltat haut

Contrle afficheur LCD


RS/E

PortD
PD2 (INT0)

Entre logique
active ltat haut

Dtection prsence usager


DETECT

PortD
PD3 (INT1)

Entre logique
active ltat haut

Dtection panique
BREAKOUT

PortD
[PD4..PD7

Entres logiques

Code touche appuye


CLAV[03]

/RESET

Entre logique
active ltat bas

Mise sous tension ou


reset manuel S1

XTAL1,XTAL2

Entres dhorloge

Horloge
8Mhz

La fonction FP8 : Affichage menu utilisateur


Offre une interface visuelle agrable lutilisateur pour llaboration du choix de fonctionnement, la
saisie des consignes et les rglages de diffrents paramtres. La fonction consiste en la mise en
uvre dun afficheur cristaux liquides U11. On remarquera que seuls 2 bits de contrle sont
ncessaires puisque que lentre R/W est relie la masse.

Menu utilisateur sur laffichage LCD :

A la mise sous tension, lafficheur affiche Taper * pour code .


Le responsable daccs ou loprateur doit connatre et taper le code daccs pour accder
aux sous-menus suivants :
Appuyer sur :
1 : Changer le code
2 : K vitesse (facteur vitesse)
3 : Tolrance Ouverture
4 : Tolrance Fermeture
5 : Tolrance Course
6 : Ouvrir Portes
# : Quitter
Laffichage tant sous forme de 2 lignes de 16 caractres, le menu droule constamment
jusquau choix du sous menu.
Lappuie sur #Quitter verrouille le menu et laffichage affiche Taper * pour code .

Page 21/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Page 22/96

Dossier Technique

Schma structurel de FP2 et FP8 :

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Algorigrammes du programme complet de lobjet technique

Algorigramme du programme principal


Gestion des
interruptions

Dbut
Initialisation des Ports
d entres et de sorties
Initialisation des timers
Initialisation des interruptions
PD2: capteur dtection
PD3: capteur panique

Comparateur analogique inhib


Interruptions valides
Initlcd
Vitesse nulle slectionne
(T0=T1=1)

Affichage du message
d accueil

non

Mise en service
dj effectue
?

oui

Personne
dtecte
?
non

Course =Apprentissage

oui
Squence

Calcul des positions P1 et P2


Code correct
?

Message d attente du code

Action
Message d attente code

Message Panique

Forage actif
?

Capteur
Panique actif
?
Message d attente code
Forage inactif

Page 23/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Algorigramme de la fonction INITLCD

Dbut
Gestion des
interruptions

Interruptions inhibes

Accs la DGRAM
Slection Communication

Slection du type de caractres

Afficheur actif, curseur visible


Effacement de l afficheur
Curseur en haut gauche

Accs la CGRAM

Interruptions valides

FIN

Page 24/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Algorigramme de la fonction Apprentissage


Dbut

Initialisation des variables

Message mesure course

Ouverture vitesse d approche


(R1=0;R2=1;T0=1;T=0)

oui

non

PostCalculposition

?
Calcul de la course avec marge
de scurit

Post=Calculposition
Temporisation de500ms

Affichage de la course

Affichage de la position

Fermeture vitesse d approche


(T0=1,T1=0,R1=1;R2=0)

Temporisation
Dtection arrt
du mouvement
Calculposition > tolrancef
?
oui
Arrt du moteur, vitesse nulle
(R1=R2=0; T0=T1=1)

non
Posti=Calculposition

Affichage position

Post

FIN

Page 25/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Algorigramme de la fonction Calculposition

Dbut

Initialisation des variables

Pos=(PORTA)10

oui

Dcalage>0
?
non

Pos=Pos+dcalage

oui

Pos 255

non
Pos=Pos- 255

Pos

FIN

Page 26/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Algorigramme de la fonction Squence

Dbut

Apprentissage dj
ralis
?

non

oui
Dsactiver l interruption
dtection passant

Ouverture

Message Portes Ouvertes

oui

Prsence Passant
?
non
Temporisation

Fermeture

Message Portes Fermes

Message Pas de course

Message Attente Code

FIN

Page 27/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Algorigramme de la fonction Ouverture

Dbut
Slection vitesse nulle
(T0=T1=1)

Portes Ouvertes
?

oui

non
Slection sens moteur
(R1=0;R2=1)
Slection vitesse d ouverture
(T0=T1=0)
Portes en mouvement
(mvt =1)
Attente (inertie moteur)

Message Ouverture

non

Portes ouvertes la tolranceo


prs?

Codeposition>Pos
?

Vitesse d approche (T0=1;T1=0)

oui

Arrt moteur, Vitesse nulle


(R1=R2=0;T0=T1=1)

Portes l arrt (MVT=0)

Affichage de la vitesse
FIN

Page 28/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Algorigramme de la fonction Affichevitesse

Dbut

non

La vitesse est-elle
modifie?
oui
Initialisation de la chane
de caractres vit

Vit=0
?

non

oui
Affichage de la vitesse

Mmorisation de la vitesse

FIN

Page 29/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Algorigramme de la fonction Calculvitesse

Dbut

Portes en mouvement
(MVT=1)?

non

oui

Vitesse= (calculposition-position) / facteur chelle

Position=calculposition

FIN

Page 30/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Algorigramme de la fonction Action


Dbut
Initialisation des variables

Touche appuye
?
oui

non

Afficher le menu

Touch(0,1,2,3,4,5,6,#)
?
oui
oui

Touch=1 ?
non

Val=modificode
oui

Touch = 2 ?
non

modifiek
oui
tolopen

Touch = 3 ?
non

oui
tolclose

Touch = 4 ?
non

oui

Touch = 5 ?
non

settol
oui
squence

non

Touch = 6 ?
non
Touch=decodetouch
Touch # ?

oui

non
FIN

Page 31/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Algorigramme de la fonction Modifiek

Dbut
Initialisation des variables
Message modifier le facteur
non

Touche # ?
Message entrer facteur

non

Touche relche?
Touche appuye?

non

Touche=dcodetouche
oui
Touche = .

Touche = *
non

Incrmentation du
compteur de point
Touche. Et pas 2 points
?

non

oui

Aucune Touche
appuye?
non

Mmo de la touche dans RAM


Affichage de la touche
non
oui

Touche relche?
Moins de 4 caractres
et Touche # ?
non
Touche # ?

non

oui
Facteur dans EEPROM

Message d action annule

Affichage du nouveau facteur


FIN

Page 32/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Algorigramme de la fonction tolopen (tolclose et settol)

Dbut
Initialisation des variables
Affichage du menu
Affichage de la tolrance
Touche = decodetouche

Touche = 1 ?
non

oui

Touche < 255

Incrmentation de
tolrance

non

Touche = 2 ?

oui
Tolrance > 0 ?

non

non

oui

oui

oui
Dcrmentation de
tolrance

Touche # ?
non
Mmo de la tolrance

FIN

Page 33/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Algorigramme de la fonction decodetouche

Dbut

Initialisation des variable (a=0)

A= (PIND)10

B= conversion de a en caractre

FIN

Page 34/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Algorigramme de la fonction decodecode


Dbut
Initialisation des variables
decodetouche =* ?

Touche=decodetouche
n

Touche relche?

CodeBon=0 et Touche# ?

Message saisie code


n
n

Touche relche?
Touche appuye?
Touche=decodetouche

Touche appuye?

Touche=# ?
n

Mmorisation de la touche
Incrmentation du nombre
de caractre

Affichage attente

Affichage du code en cours


n
o

Touche relche?
Moins de 4 caractres
et Touche# ?
n

CodeBon=1 ?

Ind =1

Incrmentation de ind

Caract. ind saisie = caract ind code


et ind4 ?
n
Ind = 4 ?

Affichage code bon

n
Affichage code erron

CodeBon = 1

Chane de caractre = ****

FIN

Page 35/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Algorigramme de la fonction Fermeture


Dbut
Slection Fermeture vitesse nulle
(T0=T1=1;R1=1;R2=0)
Portes en mouvement
(MVT=1)
Slection vitesse fermeture
(T0=0;T1=1)
Affichage fermeture

Calculpositionpos

oui
Slection vitesse d approche
(T0=1;T1=0)

non
Affichevitesse

oui

Portes en mouvement
et pas de passant ?
non
Passant dtect?

non

oui
Squence

Portes bloques?

non

oui
Squence
Arrt du moteur, vitesse nulle
(T0=T1=1;R0=R1=0)
Portes l arrt
(mvt=0)
FIN

Page 36/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Algorigramme de la fonction Modifiecode


Dbut

Initialisation des variables

non

Touche relche ?
oui
Affichage ancien code?

oui

Code ancien mauvais ?


non
Affichage nouveau code :
Ind=0

Touche appuye ?

non

oui
Caractre nind =decodetouche
Touche appuye ?

non

Affichage du code en cours


non

Touche relche ?
oui

oui

Ind < 4 ?
non
Message Validation par *

touche * ?

non

Touche =decodetouche

oui
Mmorisation du code
Affichage du code
0
FIN

Page 37/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Interruptions et Timer

non

INT0(PD2)?
oui
Passant prsent

INT1(PD3)?

non

oui
Forage actif

Timer coul?

non

oui
Calculvitesse

Mise zro du timer

Page 38/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

2-3 tude de FP3 : commande du moteur


La fonction Commande moteur permet la rotation du moteur et le dplacement des portes en fonction
des consignes de sens et de vitesse. Le moteur tant pourvu dun codeur incrmental, la fonction
fournit galement une image de la position relative des portes.
Elle labore galement une tension image du courant permettant une scurit contre les surintensits
moteur.
FP2 Traitement
et mmorisation:
SENS
R0,R1

REL1,REL2
Amplifier et isoler
galvaniquement

Courant
Moteur

Commuter
lnergie

FS34
Moduler
lnergie
et protger
contre une
surintensit

FP4 Slection
de la vitesse :
VVIT

IMOT

Courant
Moteur

VPT12

IMOT

Amplifier
le courant

Convertir une
nergie
lectrique en
une nergie
mcanique
VA,VB
Ensemble
Moteur,
Codeur,
poulies,
courroie et
portes

IMOT

Usager de laccs :
Commande des
portes

FP6 calcul de la
position relle
des portes:
Position relative

FP5 Gnration des


signaux de
maintenance:
Image courant moteur

FS33
FP3 : Commande moteur

Page 39/96

Schma structurel de FP3 :

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Structure associe FS31

Cette fonction permet de respecter lisolation galvanique souhaite entre la partie Traitement
de linformation et la partie Commande moteur.
Lisolation galvanique des sorties PB0 et PB1 du microcontrleur sont assures par lutilisation
des relais REL1 et REL2. On remarquera que si Ubreak est absent, la commande de ces
relais est inhibe.
La documentation Atmel page 94 indique que la somme des courants de sortie des ports
PB3, PB2, PB1 et PB0 ne doit pas dpasser 100mA.
Or, la commande des leds des opto-coupleurs et la commande des relais (PB0 et PB1)
imposent de fournir au moins 140mA (60mA de courant de maintient pour un relais et environ
10mA par led). Il est donc ncessaire de mettre des buffers sur chaque sortie de poids faibles
du port B.
R1

R2

REL1

REL2

Tension aux bornes du


moteur

Action du moteur

0V

ARRT

+(Vcc2-VCESATQ2 - VD5)

SENS1

-(Vcc2-VCESATQ2 - VD6)

SENS2

R26 en shunt

FREINAGE

Structure associe FS32

Cette fonction permet de moduler la valeur moyenne du signal de sortie VPT12 en fonction de
la tension analogique VVIT. Le principe mis en uvre consiste faire varier le rapport cyclique
dun signal rectangulaire priodique.
La documentation du Lm3524 donne les valeurs suivantes du rapport cyclique :
min = 0% pour VVIT = 1V
max = 90% pour VVIT = 3,5V (utilisation des 2 sorties collecteur ouvert CA et CB)
Il faudra veiller rgler les tensions de vitesses dans cette gamme de tensions.
Les sorties CA et CB de U6 tant collecteur ouvert, sur une priode :

VPT12 = Vcesat max = 2V pendant Ton (transistor satur)


VPT12 = +Vcc2 pendant Toff (transistor bloqu)

La valeur moyenne VPT12MOY = (Vcc2 Vcesat).(1-) est directement proportionnelle au


rapport cyclique. Lamplification en courant tant assure par un transistor PNP, la tension aux
bornes du moteur est directement de la forme .UMOT.
Scurit contre une surintensit
Le retour de la tension VPT17 (IMOT) vers U6 , permet de protger le moteur en cas de
surintensit. La mesure du courant VPT17 (IMOT) est assure en insrant en srie avec le
moteur la rsistance R30.
VPT17 = R30. IMOT
Page 40/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Si une surintensit est dtecte le composant U6 arrte la M.L.I ( =0%) et VPT12 = Vcc2.
Le moteur est mis hors tension jusqu disparition des surintensits.

Etude du circuit LM3524

La variation de vitesse du moteur est obtenue en gnrant un signal M.L.I. dont le rapport
cyclique dpend de la tension V-Vit. Cette tension est applique sur lentre Vconsigne dun
LM3524D.
Ce circuit comporte un oscillateur intgr associ au condensateur C13 et la rsistance
R25. La frquence de hachage est de 554Hz. Une rampe est gnre aux bornes du
condensateur C13 qui se charge avec un courant constant de 3,6V/R25. Elle varie donc de
1v 3,6V. Le signal Vcomp est donc le rsultat de la comparaison entre Vconsigne et Vosc .
Cela permet dobtenir un signal M.L.I..
De plus, ce circuit fait une rgulation de courant. En effet la rsistance shunt R30 permet
dobtenir une tension image du courant dans le moteur (hors phase de roule libre). Cette
dernire est compare avec une tension interne de 200mV.
Donc si le courant traversant le moteur devient suprieur 200.103/0.15 =1.3 A , le signal
Vcomp est forc 1 , les transistors Qa et Qb sont alors bloqus, et le moteur nest plus
aliment.

Vcc=12V

(9 )
(1 )
(2 )

V c o n s ig n e

V
V

O SC

(1 2 )

Vd=200m V
(5 )

>1

Q A
(1 1 )

(1 3 )

>1

C O M PAR ATEUR

Q 1
BD X54

C O M P

C O MPAR ATE UR
(4 )

VOU

R67
1K

Q B
(1 4 )

M
=
Imo teu r

R30
0 .1 5

(7 )

C13

(6 )

R25

O s c illa t e u r

synchro

LM 3524D

La rgulation de courant nest quune protection en cas de panne logicielle. En effet, le


programme gre le blocage des portes en analysant constamment leurs positions pendant les
dplacements.

Structure associe FS33

Cette fonction permet lamplification en courant de la sortie VPT12 pour lalimentation du


moteur.
Lamplification en courant est assure par un transistor Darlington basse et moyenne tension
Q2 de type PNP.
Celui-ci est satur lorsque VPT12 = 0V. Dans ce cas, les potentiels des cathodes de D6 et D5
sont ports Vcc2 Vcesat Vd.

Page 41/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

On donne pour le transistor BDX54


Vcesat = -2V max
Vbesat = -2,5V max

Vcc2

IR36

R36

IR27

min = 750

R27

IB

Calcul du courant Ibsatmin

Q2
BDX54

= IR27min IR36max
= [(Vcc2 + Vbesat) / R27 + Vbesat/R36
= 9,5mA 1,1mA = 8,4 mA

Ic

Calcul du courant sans coefficient de sursaturation


Icsat max = min.Ibsatmin = 6,3 A (Courant limit 8A pour le BDX54)
Le courant maximal tant de 1,3A, nous obtenons dans ce cas un coefficient de sursaturation
voisin de 5.

Structure associe FS34

Cette fonction permet la commutation de lnergie aux bornes du moteur pour sa mise en
rotation.
En fonction des commandes relais, le moteur peut tourner dans un sens 1, tourner dans un
sens 2 ou bien est reli la rsistance de freinage R26 jusqu larrt
La slection arrt moteur tant ralise par les commandes R1 = R2 = 0, le cas ou les deux
relais sont commands ne figure pas dans notre systme.
Le moteur est protg contre les surtensions lextinction du courant par les diodes de roues
libres D13 et D14.
Action du
moteur

Action des
portes

Codeur
incrmental

FREINAGE
ARRT

FREINAGE
ARRT

Pas
dimpulsion

SENS1

Fermeture

Vb en avance de
phase sur Va

SENS2

Ouverture

Va en avance de
phase sur Vb

R1

R2

REL1

REL2

Le fonctionnement du moteur est rgit par le tableau ci-dessous :


Etat
Etat 0
Etat 1
2
PageEtat
42/96
Etat 3
Etat 4
Etat 5

Rel1
repos
travail
travail
repos
repos
travail

Rel2
repos
repos
repos
Travail
travail
travail

Q2
X
satur
bloqu
Satur
bloqu
x

Moteur
Non aliment : arrt avec frein lectrique
Aliment : ouverture
En roue libre avec D13
: inertie
de
louverture2003
Thme
Gnie
Electronique
Aliment : fermeture
En roue libre avec D14 : inertie de la fermeture
Non aliment : arrt, tat jamais activ

Portes Stanley Magic Door

Dossier Technique

Schmas de circulation du courant :


Etat 0 : le moteur a est connect sur la
rsistance de freinage R26 : il devient
gnrateur.

Etat 1 : La diode D6 est passante, les


diodes D5, D13 et D14 sont bloqus.
Le moteur est aliment.

+ V cc2

+ V cc2

R27

Etat 2 : Le transistorQ 2Q2 se bloque ; le courant du


moteur continu de circuler travers la diode D13.
Les autres diodes sont bloques. Aucun courant ne
D6
D14
R e l2
traverse la rsistance shunt.
V ou t
LM 35 24 D

M
=

R26

R27
Q2

D6
V ou t
LM 35 24 D

+ Vcc2

R e l2
M
=

R26

R e l1

D5

D14

R e l1

D5

D13

D13

R30

R30

R27
Q2

D6
V ou t
LM 35 24 D

D14

R e l2
M
=

R26
R e l1

D5
D13
R30

Etat 3 : La diode D5 est passante, les


diodes D6,D13 et D14 sont bloqus. Le
moteur est aliment.
Etat 4 : Le transistor Q2 se bloque ; le
courant du moteur continue de circuler
travers la diode D14. Les autres diodes sont
bloques.
+ V cc2
R27

+ Vcc2
R27
Q2

D6
V ou t
LM 35 24 D

Q2

D14

R e l2
M
=

R26
R e l1

D5
D13

D6
V ou t
LM 35 24 D

D14

R e l2
M
=

R26
R e l1

D5
D13

R30

Etat 5 : Dans ce cas le moteur est court-circuit. Lors


dun fonctionnement normal, cet tat est inexistant.

R30

Page 43/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

2-4 tude de FP4 : slection de la vitesse


La fonction Slection de la vitesse permet dlaborer un signal de commande du moteur en fonction
de la consigne de vitesse slectionne par FP2. Cette consigne est inhibe en cas dabsence de la
tension Ubreak

FP2Traitementet
mmorisation:
Choix vitesse
T0,T1

OPRATEUR:
Rglages
vitesses

Amplifier et isoler
galvaniquement

VPT4,VPT5

VApproche

FS41

Gnrer
3 tensions
rglables
FS42

Slectionner
la tension
de consigne
vitesse

FP3 Commande
moteur:
Consigne vitesse

VVIT

VOuverture
VFermeture
FS43
FP4: Slection de la vitesse

Page 44/96

Schma structurel de FP4 :

F
S
7
2

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Structure associe FS41

Cette fonction permet de respecter lisolation galvanique souhaite entre la partie Traitement
de linformation et commande moteur.
On dsire isoler galvaniquement les sorties PB2 et PB3 du microcontrleur du montage de
commande du moteur afin dviter les parasites dus ce dernier.
Il est donc ncessaire dintroduire des opto-coupleurs comme interface.
La documentation Atmel page 94 indique que la somme des courants de sortie des ports PB3,
PB2, PB1 et PB0 ne doit pas dpasser 100mA.
Or, la commande des leds des opto-coupleurs et la commande des relais (PB0 et PB1)
imposent de fournir au moins 140mA (60mA de courant de maintient pour un relais et environ
10mA par led). Il est donc ncessaire de mettre des buffers sur chaque sortie de poids faibles
du port B.
Etude des opto-coupleurs :
Si Tn = 0, le transistor de sortie de U14 est bloqu, la led est teinte et le transistor de loptocoupleur est bloqu. La rsistance R11 (ou R13) impose un niveau logique 0 sur PT5 (ou
PT4).
Si Tn = 1, le transistor de sortie de U14 est satur et on considre son
VCEsat = 0. Le courant dans la led est donc de :
If = (Vbreak Vledmax)/R12 ;
If = (12-1,5)/1800 = 5,8mA ;
Le transistor de lopto-coupleur est donc satur et le courant du collecteur est :
Ic = (Vcc2 Vcesat)/R11 ;
Ic = (12-0,5)/27000 =425 A ;
Le coefficient de transfert tant de 20%, il est ncessaire davoir
If > Ic/CTR ;
Or Ic / CTR = 2.13mA ; If est environ 3 fois suprieur Ic/CTR.
Le transistor de lopto-coupleur est donc correctement satur.
Dautre part, on remarque que les leds des opto-coupleurs sont alimentes par la tension
Vbreak. Si le capteur de panique est activ les leds ne seront plus alimentes. Cela imposera
des niveaux logiques bas sur les entres dadresse de U5.

Structure associe FS42

Calcul de la gamme de tension possible pour VOuverture (VFermeture ou VApproche)


Le courant de lentre NI (broche 2) du circuit LM3524 est Ibias current = 1A (entre FP3
Commande moteur).
Le courant traversant la maille R15, P1 et R20 est de 3mA.
On peut donc considrer le montage comme un pont diviseur.
Vmin = (R20Vcc2)/(R20+P1+R15)
Vmax = (P1+R20) Vcc2 / (R20+P1+R15)
Vouverture varie entre 3,8 V et 5 V.
Vfermeture varie entre 3 V et 4 V.
Vapproche varie entre 2 V et 3,2 V.
Page 45/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Voila les valeurs thoriques pour les rsistances :


Vitesse de
fermeture
8000
3000

R15
R20

Vitesse
douverture

Vitesse
dapproche

3823
2235

7331
1666

Structure associe FS43

Etude de U5 : 4052
Il sagit dun multiplexeur analogique qui permet de slectionner la vitesse de mouvement des
portes en fonction de PT4 et PT5 soit de T1 et T0.
T1

T0

Led u2

Led u3

Tu2

Tu3

PT4

PT5

ZA

V-Vit

Y0

0V

Y1

Vouverture

Y2

Vfermeture

Y3

Vapproche

On remarque que lorsque le capteur de panique est activ, PT4 = PT5 = 0, et V-Vit est nulle.
La rsistance Ron du circuit 4052 est de 1050 maximum. La chute de tension maximale
induite par cette rsistance interne sera donc de :
Uchute = Ron Ibias current
Uchute = 1,05mV
Cette chute de tension est ngligeable devant la gamme de tensions prsentes aux entres
du multiplexeur. On considrera donc que V-VIT sera directement connecte lentre
slectionne par les adresses.

Page 46/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

2-5 tude de FP5 : Gnration des signaux de mise en fonctionnement


La fonction Gnration des signaux de mise en fonctionnement permet de fournir deux sorties de
types analogiques images de la vitesse de dplacement des portes et du courant moteur.
Ces signaux sont disponibles aux personnels de maintenance lors de la mise en fonctionnement.

FP3:
Imot

Schma

structurel

de

Conversion
Filtrer & amplifier
Vm
courant/tension
Structure associe FS51
FS51
FS51

Convertir une
frquence en une tension

FP6:
Vb

FP5 :

Vcouple

Oprateur:
Image du
couple moteur

Oprateur:
Image de la
vitesse des
portes

FS53

FP5 : Gnration des signaux de maintenance

Page 47/96

Schma structurel de FP5

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Cette structure permet dobtenir une tension image du courant consomm par le moteur donc
du couple moteur.
En effet le couple T = KT x Imoteur avec KT=21.8 Ncm/A pour le moteur MX10

Structure associe FS51

La conversion courant/tension est ralise laide de la rsistance R30.


La tension ses bornes Vm = R30 x Imoteur soit
Vm = 0.3 x Imoteur

Structure associe FS52

La tension Vm est amplifie afin dobtenir une tension Vcouple de 0.5V/Ncm.


Dtermination de lamplification :
Donc Vcouple = Vm x A
Soit Vcouple = (0.3 x Imoteur) x A
Do Vcouple = 0.3 *

Si

T
*A
KT

Vcouple
0.3
0.5
* A A 36.3
T
21.8

Il faudra donc pouvoir obtenir un gain de 36.3 sur ltage amplificateur

P5

1 40
R
49

On choisit alors A
Avec

R49 = 10K -> P5= 39 x R49 = 39 x 10K = 390 K

Dtermination du filtrage :
La tension Vm est filtre par un passe-bas du 2me ordre ralis laide de 2 passe bas
identiques du 1er ordre.
La frquence de coupure doit tre comprise entre la frquence de coupure mcanique (pour
pouvoir suivre lvolution du couple en minimisant la perte dinformation), et la frquence de
hachage de la MLI (pour pouvoir observer un courant moyen sur une priode du hacheur).
La frquence de coupure mcanique de lensemble (moteur + portes) Fmca =1.3Hz
(identification par rponse indicielle en vitesse).
La frquence de hachage Fh=554 Hz
On choisi ici Fmca < Fc < Fh/10 soit Fc= 55 Hz.
Calcul de C15 et C25 :

Fc

1
1
1

On choisit R50=R48 = 10K

R1.C1 R50.C 25

Ce qui implique :

C1 C 2
Page 48/96

1
Fc.R50

AN : C1=C2=330nF
Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Relev exprimentale de Vm et Vcouple :

CH1 : Vm
CH2 : Vcouple

Relev exprimental de londulation


La voie 2 (Vcouple) est en position AC afin de mesurer lefficacit du filtrage

Page 49/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Structure associe FS53

La structure se repose sur le circuit intgr LM2917 qui laide des composants passifs
externes ralise une conversion frquence-tension. La tension de sortie est proportionnelle
la frquence issue du codeur incrmental, soit proportionnelle la vitesse de dplacement
des portes.
Schma synoptique du LM2917 et composants externes passifs :

* Daprs la documentation du constructeur, la rgulation zener est intgre uniquement dans


les composants de la srie LM2917. Il suffit de dconnecter la zener pour obtenir le
synoptique des composants de la srie LM2907.
Le premier tage est un comparateur hystrsis non inverseur.
Le seuil V- tant relie la masse, la tension dentre doit osciller de part et dautre le 0V de
la tension threshold +/- VTH pour provoquer un basculement de la sortie.
+/- VTH en entre est donne +/- 25 mV.
Le second tage constitue un circuit pompe de charge. Il ncessite :

une capacit de timing C26


une rsistance de charge R41
une capacit de filtrage (ou lissage) C27

Quand lentre de ce montage change dtat, la capacit de timing C26 se charge ou se


dcharge courant constant entre deux seuils de tension dont la diffrence vaut Vcc/2.
Sur une demi priode de la frquence dentre FIN, la charge Q accumule ou restitue est
Q = 0,5.C26.Vcc .
Page 50/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Sur une demi priode soit T = 2/ FIN, le courant moyen ICmoy travers C26 vaut Q/T,
Soit ICmoy = Q. FIN /2
ICmoy = Vcc. FIN .C26 et est proportionnel la frquence dentre.
La sortie de cet tage ce comporte comme une source de courant miroir du courant de IC sur
la rsistance de charge R41.
On obtient alors une tension VO de sortie = R41. IC
Soit VOmoy = K.R41. Vcc. FIN .C26. avec la filtrage de la capacit C27. K est la constante de
gain du composant gal 1 pouvant varier sur une plage maxi 0,9 < K < 1,1.
Le dernier tage est un tage suiveur associ un transistor ayant pour rle damplificateur
de courant.
On retrouve cette sortie une source de tension VOUT = R41. Vcc. FIN .C26.
VOUT = fIN.Vcc.R41.C26
Pour fmin = 0 Hz , on a VOUT = 0 V.
Daprs la documentation constructeur, la valeur de Vcc vaut 7,56V avec la rgulation de
tension de la diode zener interne au composant (LM2917).
Pour fmax = fIN= 1/ R41.C26 , soit f = 9,67 KHz on VOUT = Vcc. (thorique)
(cf doc. Constructeur : on suppose ici que I2 = Vcc/R1 ce qui est vrai dans lobjet technique
7,56/41000 = 184A)
Il est possible de mesurer la valeur du courant I2 daprs le chronogramme de UC26 en page
suivante en appliquant la relation Q = I.T = C.V

Exploitation des chronogrammes de la page suivante :


Pour Fin = 6,2 kHz on obtient une tension de sortie Vout = 5V.
La relation thorique pour cette frquence nous donne Vout = Vcc.(6,3/9,67) = 4,92 V
La mesure du courant I2 donne I = C.V / T = 220 A avec V = 4V et T = 40s.

Page 51/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Relevs exprimentaux des signaux de fonctionnement du LM2917

En rgime tabli, FIN = 6,3 kHz, priode Tin =160 s environ.

FIN
Entre

broche1

3V

t (s)
-1,2V

UC26
broche2
6V

2V
t (s)

Tension
broche3

7,6V

broche3 charge
uniquement par R
( 39 k )
5,0V

UC27
broche3 charge par
R41 et filtre par C27

1,2V
t (s)
Page 52/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Exemples de relevs de couple et de vitesse :

Cycle douverture

CH1 : Vitesse des portes


CH2 : Courant moteur chelle : 0.5V = Ncm
Cycle de fermeture

CH1 : Vitesse des portes


CH2 : Courant moteur chelle : 0.5V = Ncm

Page 53/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Cycle complet

CH1 : Vitesse des portes


CH2 : Courant moteur chelle : 0.5V = Ncm

Page 54/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

2-6 tude de FP6 : calcul de la position relle des portes


La fonction Calcul de la position relle des portes permet de fournir la fonction FP7 Traitement et
mmorisation une reprsentation numrique binaire de la position des portes.

Codeur :
Va

FP5
Gnration des
signaux de
maintenance :
Position relative VA

VPT2
Scuriser
les
liaisons
codeurs

Codeur :
Vb

Dtecter le
sens du
dplacement
VPT3

DIR

Compter ou
dcompter
les impulsions
codeur

FS61
FP6 : Calcul de la position relle des portes

Page 55/96

N[0..7]

FP2
Traitement et
mmorisation :
Valeur binaire sur 8
bits

Schma structurel de FP6 :

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

La fonction est principalement assure par le circuit logique programmable U8 Mach4 - 64/32.
Lintrt de ce PLD est de pouvoir raliser plusieurs fonctions logiques diverses avec un seul
composant :
un compteur-dcompteur 15 tages
une bascule D
Dautres structures logiques sont programmes dans le PLD pour raliser la fonction FP7
Saisie des consignes (dtection touche appuye, encodage et dcodage clavier).
Le PLD remplace plusieurs circuits intgrs. Il en rsulte une rduction du cot de fabrication
et une simplification de la structure.
Dautre part le contenu du PLD peut tre facilement modifi in situ. Cela offre des possibilits
peu coteuses dvolution ou de modification des fonctions assures par le composant
programmable.
Voici le schma structurel logique interne aux Mach4 assurant les fonctions FS62 et FS63
I33
N0
N1
N2
N3
N4
N5
N6
H
N7
DIR
N8
N9
N10
N11
N12
N13
N14
DIVFREQ

Position des portes sur 8 bits

VA
I27
I28

24

D
I30

25
36
37
38
39
40
41
42

43

VB

I20
I26
I25
I24
I23
I22
I21

I29

N0
N1
N2
N3
N4
N5
N6

N7

Structure associe FS61

Elle est constitue des rsistances de tirage R7 et R8 ainsi que des condensateurs C2 et C4.
Ces structures assurent un niveau logique haut aux entres du Mach4 lorsque les sorties
codeur ne sont pas relies la carte de commande.

Page 56/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Structure associe FS62

La bascule D I28 permet grce aux sorties en quadrature de phases fournies par le codeur, de
dtecter le sens de dplacement des portes.
ouverture

fermeture

Va

t
Vb

t
DI
R

t
I28 labore le signal binaire DIR pour le comptage ou dcomptage des impulsions codeur.

Structure associe FS63

Elle est base sur un compteur-dcompteur 15 sorties not I33.


En fonction du niveau logique prsent sur lentre DIR, les impulsions codeur sont comptes
ou dcomptes de faon obtenir une valeur binaire en sortie image de la position relle ou
instantane des portes.
Le codeur fournit 512 impulsions/tour. La poulie a un diamtre de 64,68 mm, les portes se
dplacent donc dune distance de .D = 203,2 mm.
Avec un rapport de rduction de 1/7, le moteur effectue 7 tours pour un tour de poulie.
Le nombre dimpulsions qui incrmentent compteur pendant un tour de poulie est
gal 7*512 = 3584
On obtient alors une rsolution codeur de 203,2 / 3584 = 57 m (rsolution du bit N0)
En utilisant la sortie Nn comme LSB, la rsolution est multiplie par 2n.
En utilisant la sortie N7comme LSB du nombre de sortie N, on obtient alors une rsolution de
7,26mm.
Cette information numrique est transmise FP2 Traitement et mmorisation.
Programme associ la fonction FS63 Compter ou Dcompter :
* MODULE divfreq
*
* DECLARATIONS;
*
* N14,N13,N12,N11,N10,N9,N8,N7,N6,N5,N4,N3,N2,N1,N0 pin istype 'reg';
* H,DIR pin;
*
* position = [N14 .. N0];
*
* EQUATIONS;
*
* position.clk = H;
*
when DIR==0 then position := (position + 1);
*
else {position := (position - 1)};
*
* END

Page 57/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

2-7 tude de FP7 : Saisie des consignes


La fonction Saisie des consignes permet la communication entre lobjet technique (Fp2
traitement et mmorisation) et le milieu extrieur (milieu humain).

Y1,Y2,Y3,Y4
Gnrer une
rfrence
temporelle

Dcoder le
clavier

D,C,B,A

FS74

FP2Traitement et
mmorisation:
CLAV[03]
Code touche

FS71
Encoder le
clavier

CLK

Responsable de
laccs et/ou
oprateur:
consignes

Coder les
consignes
Clavier
12 touches
FA1

X1,X2,X3

Dtecter appui
touche

FS73
FP2Traitement et
mmorisation:
Tatouche appuye

TA

FS72
FP7: Interfaage

Page 58/96

Schma structurel de FP7 :

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Page 59/96

Dossier Technique

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Structure associe FA1,

Cette fonction permet de communiquer la partie traitement de linformation diffrentes


consignes. Elle est assure par un clavier 12 touches, dont les fonctions dpendent de la
position dans le menu droulant propos par le logiciel (Cf Algorigramme de fonctionnement).

Structure associe FS71

Cette fonction ralise autour du diviseur de frquence U1 et du quartz X2 4 MHz permet


dobtenir une rfrence temporelle ncessaire au bon fonctionnement de la fonction FS74
Encodage clavier. En sortie Q14 on obtient une frquence pou le signal CLK denviron 244 Hz.

Structure associe FS72, FS73 et FS74

Les fonctions sont assures nouveaux par le circuit logique programmable U8 Mach4 64/32.
Le PLD est programm de faon obtenir la structure interne suivante :

Dcodage du clavier

C
o
d
eto
u
c
h
e

B
C
D

Touche
TA
Appuye

X1

L
ig
n
e
sd
uc
la
v
ie
r

S
c
ru
ta
tio
nd
e
sc
o
lo
n
n
e
s

X2
X3

clk

I14
I13
I12
I11
I10

I15

Y1
Y2
Y3
Y4
X1
X2
X3
DECODAGE

A
B
C
D

3
4
5
6

I9
I8
I7

I18
X1
TA
X2
clk
X3
ENCODAGE

16
15

33

I2

Y4

18

Y3

19

Y2

20

Y1

21

DIV

17

DETECT
Y4
Y3
TA
Y2
Y1
I17

I3
I4
I5
I6

Dautres structures logiques sont programmes dans le PLD pour raliser la fonction FP6
Calcul de la position relle des portes (compteur-dcompteur 15 tages, une bascule D)

Page 60/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

Structure associe FS73 Dtection touche appuye

Le sous-ensemble ralisant la dtection de lappui dune touche est not DETECT.


Description des signaux dentre :
YI, Y2, Y3 et Y4 : signaux indiquant ltat de chacune des 4 lignes du clavier
Description du signal de sortie :
TA : signal actif ltat haut indiquant quune touche est appuye.

Programme associ la fonction Dtection touche


* MODULE detect
*
* TITLE 'Dtection ligne active'
*
* "entres
* Y1,Y2,Y3,Y4 pin;
* "sorties
* TA pin istype 'com';
*
* EQUATIONS
*
* !TA=Y1&Y2&Y3&Y4;
*
* END

Structure associe FS74 Encodage clavier

Le sous-ensemble ralisant la dtection de lappui dune touche est not ENCODAGE


Description des signaux dentre :
TA : signal actif ltat haut indiquant quune touche est appuye.
CLK : signal dhorloge issue de FS71 servant la scrutation des colonnes
Description des signaux de sortie :
X1, X2 et X3 : signaux de scrutation des trois colonnes, actifs aux niveaux bas
Programme associ la fonction Encodage clavier
* MODULE encodage
*
* TITLE 'Scrutation du clavier'
*
* "entres
* clk,TA pin;
* "sorties
* X3,X2,X1 pin istype 'reg';
*
* "quivalence
* X=[X3..X1];
*
Page 61/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Dossier Technique

*
*
* EQUATIONS
*
X.clk=clk;
*
when TA==0 then
*
{
* when X==^b011 then X:=^b101;
* else
* {
* when X==^b101 then X:=^b110;
*
else {X:=^b011};
* };
*
*}
*
* else X:=X;

Structure associe FS75 Dcodage clavier

Le sous-ensemble ralisant la dtection de lappui dune touche est not ENCODAGE


Description des signaux dentre :
X1, X2 et X3 : signaux de scrutation des trois colonnes, actifs aux niveaux bas
YI, Y2, Y3 et Y4 : signaux indiquant ltat de chacune des 4 lignes du clavier
CLK : signal dhorloge issue de FS71 servant la scrutation des colonnes
Description des signaux de sortie :
D, C, B et A : code binaire de la touche enfonce
Programme associ la fonction Dcodage clavier
* MODULE decodage
*
* DECLARATIONs
*
* X1,X2,X3,Y1,Y2,Y3,Y4,A,B,C,D pin istype 'com';
*
* Equations
*
* A=!Y1&!X1#!Y1&!X3#!Y2&!X2#!Y3&!X1#!Y4&!X3#!Y3&!X3;
*
* B=!Y1&!X2#!Y1&!X3#!Y2&!X3#!Y3&!X1#!Y4&!X1#!Y4&!
X3;
*
* C=!Y2&!X1#!Y2&!X2#!Y2&!X3#!Y3&!X1;
*
* D=!Y3&!X2#!Y3&!X3#!Y4&!X1#!Y4&!X3;
*
* END

Page 62/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Physique Applique

3/ Physique applique : tude de FP5 :


Cette fonction doit laborer une tension-image du couple moteur moyen ainsi quune tension-image de
la vitesse du moteur.
Le technicien de maintenance pourra ainsi visualiser et mesurer en temps rel, le couple et la vitesse
du moteur afin de dtecter dventuels problmes

Schma fonctionnel de degr 2 de la fonction FP5 :

FP3:
Imot

Schma

structurel

de

Conversion
Filtrer & amplifier
Vm
courant/tension
Structure associe FS51
FS51

FP5 :

Vcouple

FS51

Oprateur:
Image de la
vitesse des
portes

Convertir une
frquence en une tension

FP6:
Vb

Oprateur:
Image du
couple moteur

FS53

FP5 : Gnration des signaux de maintenance

Schma structurel de la fonction FS51 et FS53 :

Vm

R1
C1

+
lm358 : 1
A
+
-

C2
P3

R
2

R4

Vcouple
+
lm358 : 7
B
+

R1 = R2 = R4 = 10k
P3 : Potentiomtre
multitour (10 tours) de
390k.
C1 = C2 = 330nF

Page 63/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Physique Applique

3.1/ Chane de mesure du couple moteur


Justification thorique- chane de mesure du couple

Captage du couple :

Le moteur utilis est un moteur courant continu aimants permanents. Le couple


lectromagntique est directement proportionnel lintensit du courant fourni au moteur.

T K T .I

avec KT = 21,8 N.cm/A (donnes constructeur pour le MX10)

La tension image du couple est donc prleve aux bornes dune rsistance shunt de 0,33 ,5W
(1%) en srie avec le moteur. Quelque soit le sens de rotation du moteur, le courant circule
dans le mme sens dans cette rsistance (voir structure gnrale).

Choix de la frquence de coupure du filtrage :

Le filtrage doit liminer les ondulations dues au hachage (on sintresse au couple moyen)
mais doit permettre de conserver les variations dues aux caractristiques mcaniques.

Frquence de hachage :

1
fH
554Hz
1,1.R25.C13

Donnes constructeur pour le MX10 : Constante de temps mcanique du moteur :


Tmech = 4,3ms soit une quivalence frquentielle

1
37Hz
2..Tmech

Avec une exprience consistant tudier la rponse de lensemble de traction un chelon


de tension, il a t dtermin en fait que la constante de temps mcanique du systme est de

1
1,14Hz
2..Tmeca
.

lordre de 140ms soit une quivalence frquentielle de lordre de


Cest cette frquence qui nous intresse pour dterminer la frquence de coupure du filtre.
Conclusion : Le filtre doit laisser passer les signaux de frquences infrieures 2Hz mais doit
attnuer fortement (-40dB) les signaux de frquences 554Hz.

1,14Hz f c

fH
10

Contrainte de lalimentation :

La fonction alimentation de la carte ne fournit que des tensions positives (+12V ou +5V). Les
ADI de la chane sont donc aliments en non-symtrique 0/+12V. Le choix des ADI sest port
sur le LM358 supportant bien ce type dalimentation (faible tension de dchet).

Choix de lamplification en continu de la chane :

Le circuit LM3524 qui gnre la MLI alimentant le hacheur, possde un limiteur de couple qui
se dclenche pour un courant suprieur environ 700mA. Ce qui se traduit par une tension
maximale aux bornes de la rsistance de captage du courant denviron 0,33x700mA = 231mV.
On veut qu cette tension maximale en entre corresponde une tension maximale en sortie
afin de profiter de toute la dynamique de la chane.
Page 64/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Physique Applique

Pour saffranchir de la tolrance des composants et des tensions de dchets des AOP, on
choisit Ve max = 300mV devant correspondre Vs max = 10V
On en dduit lordre de grandeur de lamplification en continu de la chane :

A 10 33,3
0,300
Lamplification est assure par le 2me tage et est rglable grce P3.

Caractristique de transfert de la chane de mesure du couple :


Etude frquentielle de la chane de mise en forme :

Diagramme de Bode thorique de la chane de mesure du couple

Fonction de transfert du premier tage :

1
T 1
1 j.R1.C1.

Fonction de transfert du deuxime tage :

T2 1 P3
R2

Fonction de transfert du troisime tage :

1
T 3
1 j.R4.C2.

Fonction de transfert de la chane : T T1.T2.T3

Page 65/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Physique Applique

Choix de R1, R4, C1 et C2 :


On prend pour simplifier R1 = R4 et C1 = C2 donc T1T3

T2
(1 j.R1.C1.)2

Donc

En module

T2
T
1(R1.C1.)2

Ce qui nous conduit lexpression thorique de la frquence de coupure 3dB :

fc

2 1
2..R1.C1

En choisissant R1 = R4 = 10k et C1 = C2 = 330nF, on obtient une frquence de coupure de


fc 31Hz
Rglage de P3 :

Dans la bande passante, on veut une amplification de A 33.


Donc

T2 1 P3 33 .
R2

En choisissant R2 = 10k, on doit rgler P3 = 320k.

Couple T
(N.cm)

Etude en rgime permanent continu :

MOTEU
R

Courant I RESISTANC
(A)
E
R30

Tension Ve
(V)

Chane de
mise en
forme.

Tension vs
(V)

Donc de faon idale (sans tenir compte de la tension de dchet), on a :

T KT .VS 2.VS
A.R30
Il est donc trs facile et trs rapide dobtenir une valeur du couple dvelopp par le moteur
partir de la mesure de la tension de sortie de la chane.

Page 66/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Physique Applique

3.2 / Etude de la chane de mesure de la vitesse du moteur (FS53) :


Cette fonction est assure par un codeur incrmental de 512 pas par tour solidaire du rotor du
moteur associ un convertisseur frquence tension LM2907. La tension de sortie du
LM2907 est donc directement proportionnelle la vitesse de rotation du moteur.

Vitesse des
portes (en cm/s)

Ensemble
Poulie-Courroie
NP

Rayon de la poulie RP = 3,2cm

Vitesse de rotation
poulies (en tr/min)

Rducteur
1/7me
Nm

Vitesse de rotation
moteur (en tr/min)

Codeur
incrmental
f

Frquence
(en Hz)

Convertisseur
frquence-tension
LM2907
V290 Tension de sortie du
LM2907 (en V)
7

Etage
Diviseurdetension

P6 : Portion de rsistance
entre le curseur et la masse

Vout Tension de sortie


de la chane (en V)

NB : Le C.I. LM2907 possde son propre rgulateur intgr de tension. V cc2907 est donc gal
7,56V selon les donnes constructeur.
Page 67/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Physique Applique

La conversion tension de sortie-Vitesse des portes se fait donc par la relation :

2..RP.60.(P6R40)
.Vout
60.7.512.0,78.103..P6

v 7,9.Vout

On choisit pour avoir de faon trs pratique

v10.Vout

Soit = 79%

Page 68/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Physique Applique

3.3 / Dtermination exprimentale de la constante de FEM du moteur :

But de la manipulation :

Vrifier exprimentalement la valeur de KE = 21,3 V/1000/tr/min donne par le constructeur.

Protocole exprimental :
Courroie dentranement

U = 10V

Poulie 3,2cm

com

Rducteur
1/7me

M
_

40cm

Portes coulissantes

On mesure le temps t que met une des portes coulissantes pour parcourir 40cm lorsque le
moteur est aliment sous une tension de 10V. Cette mesure doit tre ralise en
fonctionnement tabli. En pratique le moteur doit dj tourner lors du dclenchement du
chronomtre (pour viter le rgime transitoire du dmarrage). On effectuera plusieurs
mesures pour en faire une moyenne et gagner en prcision.
On relve lintensit du courant moyen dans le moteur pendant le fonctionnement.
Relevs exprimentaux :
Relev
1
2
t (s)
2,41
2,47

4
2,44

5
2,37

Moyenne
2,41

On mesure I 200mA.
Exploitation des rsultats :

v 40 16,6cm / s
2,41
Vitesse de dplacement des portes :
R

3,2

Vitesse angulaire du moteur : m 7. p 7.5,1936,31rad / s


Vitesse du moteur :

N 60.m
2 .

60.36,31
346,76tr / min
2 .

Modle quivalent de
linduit du moteur

FEM du moteur (voir schma ci-contre) : E U RA.I 109.0,28,2V

Constante de FEM exp. :

K E E 23,6.103V /tr / min23,6V /1000/tr / min


N

K E 23,621,3 11%
21,3
Erreur relative : K E
Compte tenu du protocole exprimental, cette erreur relative est acceptable.
Page 69/96

+
E

Vitesse angulaire des poulies :

p v 16,6 5,19rad / s

RA

3
2,37

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Physique Applique

3.4/ Chronogrammes qualitatifs :

Phase dapprentissage :

Lorsque le systme est mis sous tension, il effectue automatiquement une phase
dapprentissage. Les portes souvrent jusquau blocage (en bute), puis se referment. Cette
phase permet au systme de connatre la course maximale des portes.

Ouverture des
portes

Blocage des
portes

Fermeture des
portes

Lgende :
Canal 1 : Image de la vitesse du moteur
Canal 2 : Image du couple moteur

Page 70/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Physique Applique

Cycle douverture et cycle de fermeture :

Cycle douverture
Cycle de fermeture
Lgende :

Canal 1 : Image de la vitesse du moteur


Canal 2 : Image du couple moteur

Remarques : On observe bien pour les 2 cycles les 2 phases de vitesses de dplacement
des portes.
Page 71/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Physique Applique

On observe bien galement que louverture des portes se fait plus rapidement que la
fermeture. On voit dailleurs que le couple de dmarrage est plus important lors de la phase
douverture que lors de la phase de fermeture.

Le filtrage de la chane de mesure du courant moteur :

Lgende :
Canal 1 : Tension aux bornes de la rsistance shunt R30
Canal 2 : Tension la sortie de la chane de mesure du courant.

Page 72/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Documentation constructeur

4/ Documentation constructeur

4.1 Caractristiques du moteur MX10 :


Symbole

Unit

MX10

Couple nominal

Cn

Ncm

0,35

Vitesse nominale

Nn

t/min

3000

Puissance nominale

Pn

110

Tension nominale 5%

Un

75

Courant nominal

In

2,2

Couple impulsionnel max.

Cmax

Ncm

350

Courant impulsionnel max.

Imax

18

Dure de charge pour Imax

tB

10

Courant max. en rotation lente

I0

Vitesse max.

Nmax

t/min

5000

Constante de FEM 5%

KE

V/1000/t/min

21,3

Constante de couple 5%

KT

Ncm/A

21,8

Chute de vitesse tension const.

Kn

t/min.N.cm

0,45

Couple de frot. Sec

CF

N.cm

2,2

Coef. de frot. visqueux

KD

Ncm/1000/t/min

0,5

Rsist. dinduit ( 25C)

RA

Ohm

5,1

Inductance dinduit

LA

mH

3,2

Const. de temps mcanique

Tmech

ms

4,3

Const. de temps lectrique

Tel

ms

0,63

Moments dinertie

g.cm2

380

Const. de tps therm. rotor carcasse

Tth

min

20

Rsist. therm. rotor carcasse

Rth

C/W

Charge radiale de larbre

Fr

daN

15

Charge axiale de larbre

Fa

daN

15

Poids standard

mM

kg

0,85

Poids avec tachy

mM+T

kg

1,1

Caractristiques nominales

Valeurs limites

Caractristiques intrinsques

Valeurs thermiques

Donnes mcaniques

Page 73/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Page 74/96

Documentation constructeur

4.2 Documentation constructeur du radar de dtection

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Page 75/96

Documentation constructeur

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Annexes

5/ Documentation annexes

Page 76/96

5.1 Schma dimplantation de la carte de commande

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Annexes

5.2 Nomenclature des composants

Rfrence schma

Dsignation

D3,D4, D5, D6,D13, D14


D1

1N4001
1N4148

Q1
Q2
M1

2N2907
BDX54B
2N7000

U5
U10
U12, U13
U1
U15
U9
U6
U14
U7
U8

CD4052BCN
Rgulateur L7805CP
Rgulateur L7812CP
CD4060BCN
LM358N
LM2917N
SG3524
ULN2003A
ATMEL AT90S8535
M4A5-64/32-10JC

C1,C6, C19,C20
C13
C15,C25
C26
C24
C16
C3,C8,C11,C14,C18,
C21,C22, C28, C35

Cond. Cramique Srie 683 Pas 5,08mm


Cond. Polyester Srie 470
Cond. Polyester Srie 470
Cond. Polyester Srie 470
Cond. Polyester Srie 470
Cond. Polyester Srie 470

22pf/100V
22nf/100V
330nf/100V
2.2nf/400V
15nf/250V
10nf/250V

Cond. Polyester Srie 470

100nf/100V

C5,C12
C39,C40
C7,C27,C9,C10
C30, C31, C32,C33, C38
C34, C36,C43,C44,C45

Cond. Electro. Srie M - Radial


Cond. Electro. Srie M - Radial
Cond. Electro. Srie M - Radial
Tantale srie MDT pas : 5mm
Cond. Electro. Srie M - Radial

1000u /35 V
2200u/35V
1uF/50V
2.2uF/25V
10uF/50V

JP1, JP2
pour U7
pour U1,U5, U6 et U14
pour U9
pour U15
pour U2 et U3
Pour U8
Pour le LCD (16 points) et le
clavier (7 points)
PT1 PT18
CN1 CN9

Embase mle HE10 droite classe III


Supports tulipe bas profil, serie 800SL
Supports tulipe bas profil, serie 800SL
Supports tulipe bas profil, serie 800SL
Supports tulipe bas profil, serie 800SL
Supports tulipe bas profil, serie 800SL
Support PLCC 44 voies

40 points
16 points
14 points
8 points
6 points

Fiches femelles droite HE14 secables


Points test (broches de wrapping diam0,8)
Bornier pour CI, bas profil 17,5A

12 points

D9, D10,D11
D2
U2,U3
U11

Led 3mm standard


Led 3mm standard
Optocoupleur 4N25
Afficheur LCD 2*16 (80x36mm)

verte
rouge

Page 77/96

Valeur

GDM1602A
Thme Gnie Electronique 2003

Portes Stanley Magic Door

Annexes

P5
P1,P2, P3
P6,P7

Ajustable multitour cermet Srie 3296Y


Ajustable horiz Srie 3319P
Ajustable horiz Srie 3319P

390K
1k
10k

X1
X2
S1
REL1, REL2
U4

Quartz HC49
Quartz HC49
Touche de contact D6 - bouton rond
Relais Finder Srie 40.31S
Clavier 12 touches
capteur dtection

8MHz
4MHz
Rouge
1RT -12V

R26
R30
R45
R10,R23,43,R44, R46
R5,R24, R27,R29,R40
R12, R14
R7,R8, R36,R19
R22
R17
R20
R15
R18
R16
R6,R21, R31,R33, R38,R39
R11, R13
R1,R2, R3, R4,R9,R41
R25
R28

Page 78/96

Dissipateur boitier TO-220

KL205/38,1S
W 9C/W

Rsistance bobine Srie RB 59


Rsistance bobine Srie RB 59
Rsis. Couche mtal Srie MF12 - 1/8W
Rsis. Couche mtal Srie MF12 - 1/8W
Rsis. Couche mtal Srie MF12 - 1/8W
Rsis. Couche mtal Srie MF12 - 1/8W
Rsis. Couche mtal Srie MF12 - 1/8W
Rsis. Couche mtal Srie MF12 - 1/8W
Rsis. Couche mtal Srie MF12 - 1/8W
Rsis. Couche mtal Srie MF12 - 1/8W
Rsis. Couche mtal Srie MF12 - 1/8W
Rsis. Couche mtal Srie MF12 - 1/8W
Rsis. Couche mtal Srie MF12 - 1/8W
Rsis. Couche mtal Srie MF12 - 1/8W
Rsis. Couche mtal Srie MF12 - 1/8W
Rsis. Couche mtal Srie MF12 - 1/8W
Rsis. Couche mtal Srie MF12 - 1/8W
Rsis. Couche mtal Srie MF12 - 1/8W

100 / 3W
0.3/3W
220
470
1k
1.8k
2.2k
2.7k
1.6k
3k
3.9k
6.8k
8.2k
10k
27k
47k
82k
1M

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Annexes

5.4 Dtails sur la procdure de calcul de la position des portes

Aprs la mise sous tension,


On doit tenir compte du fait que la dernire position absolue mesure par le mach4 n'est
pas forcment la position relle des portes aprs un reset !
En effet, rien n'empche un technicien d'avoir boug les portes manuellement, entre deux
reset du microcontrleur,
Les portes peuvent aussi avoir boug pendant que la carte tait hors tension...
En effet un reset de l'atmel n'efface pas la dernire position du mach4
La diffrence entre le zro du programme atmel et la position mmorise par le mach4 est
appel : dcalage.
Le dcalage est gal du 255 - la position lue sur le compteur MACH4 car le compteur du
programme ne peut coder les nombres ngatifs (compteur 8bits non signs) on utilise donc
la proprit du compteur modulo 255.
Lors de lappelle de la fonction calculposition, lalgorithme suivant est excut :

Pos <- 0
Pos <- Calcul de la valeur du compteur mach4 prsente sur le port A
Si dcalage>=0 alors pos<-pos+dcalage
Si pos>=255 alors pos<-pos-255
Retourne pos.

Exemple :
Hypothse :
Supposons qu la mise sous tension, les portes soient fermes, mais que le compteur
mach4 (CptM4) ait pour valeur 115.
Aprs la mise sous tension, le microcontrleur calcul le dcalage :
dcalage = 255-CptM4 = 255-115 = 140.
Ensuite, lors du premier appel la fonction calcul position, nous aurons le calcul suivant :
o
o
o
o
o

Page 79/96

pos = 0
pos = CptM4 = 115
dcalage >=0 donc : pos = pos+decalage =115+140 =255
pos >= 255 donc : pos =pos -255 =255-255 = 0
pos = 0 alors que le compteur mach 4 indique 115, on bien dcal le zro relatif
du programme !
Toutes le mesures suivantes seront donc rfrences par rapport ce 0 !

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Annexes

5.5 Programme en C de la carte de commande

/*********************************************
This program was produced by the
CodeWizardAVR V1.0.2.1b Evaluation
Automatic Program Generator
Copyright 1998-2001
Pavel Haiduc, HP InfoTech S.R.L.
http://infotech.ir.ro
e-mail:dhptechn@ir.ro , hpinfotech@xnet.ro
Project : Portes automatiques "Magic doors"
Version : 2.0
Date
: 12/9/2002
Author : Thierry Deschamps
Company : Durzy
Comments:
Chip type
: AT90S8535
Clock frequency
: 8,000000 MHz
Memory model
: Small
Internal SRAM size : 512
External SRAM size : 0
Data Stack size
: 128
*********************************************/
// Dclarations des fichiers inclus
#include <90s8535.h>
#include <delay.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
// Dclarations des prototypes des fonctions et des procdures
int calculposition(void);
int apprentissage(void);
void initlcd(void);
void clearlcd(void);
void lcdgotoxy(unsigned char colonne,unsigned char ligne);
void printlcd(char flash *str);
void printlcd1(char *str);
void ouverture(int pos);
void fermeture(int pos);
char decodetouche(void);
int decodecode(void);
int modifiecode(void);
void affichevitesse(void);
void calculvitesse(void);
void sequence(void);
void action(void);
void modifiek(void);
void settol(void);
void tolopen(void);
void tolclose(void);
// Declarations des variables globales
eeprom int mdsecu=10;
// marge de scurit sur la course (pour viter des
butes en cas de lecture trop lent des positions
int decalage=0;
// dcalage compteur li aux jeux mcaniques et aux inerties
du systme
eeprom int tolerancef=1;
// marge de tolrance sur la postion finale de fermeture
eeprom int toleranceo=3;
// marge de tolrance sur la position finale d'ouverture
const int compeninertie=200;
// Compensation de l'inertie mcanique qui provoque un
dcalage du zro des portes
int course=0;
// course code sur 8 bits des portes.
bit mvt=0;
// mvt=0 => les portes sont l'arrt, mvt=1 => les portes
bougent
bit detect=0;
// detection de passant
float vitesse=0.0;
// variable globale contenant la vitesse de dplacement des
portes
float vitesseb=1.0;
// vitesse mmorise pour viter des affichages inutiles
eeprom float facteur=40.0; // ce facteur permet de mettre l'echelle des m/s le calcul de
la vitesse

Page 80/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door


char eeprom *code="1234";
l'utilisateur
int p1=80;
int p2=20;
int tempo=1000;
int forcage=1;
int position=0;
instant T
char *vit="0.0";
char wor[]="40.00";
vitesse
char *tolc="000";
int tol=0;
l'eeprom
char *posi="0
";

Annexes
// code intgr en flash ce code peut tre modifi par
// position de changeemnt de vitesse
// position de changeemnt de vitesse
// temps d'attente les portes ouvertes
// forcage inactif=1 actif =0;
// permet de mmoriser la position de la porte un
// Chaine de caractre contenant la vitesse
// Chaine de caractre contenant le facteur de conversion de
// Chaine de caractre contenant les tolrances
// variable globale en ram permettant l'accs en criture de

// Calcul de la vitesse des portes


void calculvitesse(void)
{
if (mvt==1) // si la porte est en mouvement
{
vitesse=fabs(((float) calculposition()-(float) position)/facteur);
position=calculposition();
};
}
// squencement de l'opration d'ouverture fermeture
void sequence(void)
{
if (course!=0) // si l'apprentissage est fait
{
detect=0;
ouverture(p1);
clearlcd();
printlcd("Porte Ouverte");
while (PIND.2==0)
{
// on attend qu'il n'y ai plus rien devant le radar
};
delay_ms(tempo); // on attend le temps tempo avant de refermer les portes
fermeture(p2);
clearlcd();
printlcd("Porte Fermee");
delay_ms(1000);
clearlcd();
printlcd("-attente- Taper");
lcdgotoxy(2,2);
printlcd(" * pour code");
}
else
{
clearlcd();
printlcd("Pas de course !");
delay_ms(800);
};
}
// Routine excute lors d'une interruption 0 : dtection d'une personne par le radar
interrupt [EXT_INT0] void ext_int0_isr(void)
{
detect=1;
}
// Routine excute lors d'une interruption 1 : forage en cas de panique
interrupt [EXT_INT1] void ext_int1_isr(void)
{
forcage=0;
}
// Interruption Timer 1 (output compare A)
interrupt [TIM1_COMPA] void timer1_compa_isr(void)
{

Page 81/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Annexes

calculvitesse();
}
// Calcul de la positionv des portes
int calculposition(void)
{
//dcode la valeur du compteur mach 4 prsente sur le port A
int pos=0;

pos=PINA;
if (decalage>0) pos=pos+decalage;
// on ajoute le decalage l'origine
pos=pos;
// on tient compte du decalage li aux jeux mecaniques
if (pos>=255) pos=pos-255;
if (pos<0) pos=0;
// si la nouvelle position est suprieur 255 alors il y
dpassement de compteur 8 bits donc on soustrait 255.
return pos;
}
// Gestion de la phase d'apprentissage (mmorisation des courses)
int apprentissage(void)
{
//code d'apprentissage
int post=256;
int posti=0;
decalage = 255 - PINA;
mvt=0;
// on ne s'interresse pas la vitesse !
clearlcd();
// on efface le LCD
printlcd("Mesure course");
lcdgotoxy(0,2);
printlcd("Position :");
printlcd(" 0");
//selection vitesse nulle
PORTB.2=1;
PORTB.3=1;
//on s'assure que les relais sont bien en position repos (utile aprs un cycle complet
d'ouverture fermeture)
PORTB.0=0;
PORTB.1=0;
delay_ms(40); //attention au temps de relachement des relais !
//activation de l'ouverture
PORTB.0=0;
PORTB.1=1;
delay_ms(40); //attention au temps de collage des relais !
//selection vitesse d'approche
PORTB.2=1;
PORTB.3=0;
while (post!=calculposition())// on continue le mouvement tant que la position volue
entre 2 intervals de temps
{
post=calculposition();//memorisation a l'instant t
itoa(post,posi);
lcdgotoxy(11,2);
printlcd1(posi);
printlcd(" ");
delay_ms(500); //le process evolue un certain temps
};
//selection vitesse nulle
PORTB.2=1;
PORTB.3=1;
//on s'ssaure que les relais sont bien en position repos (utile aprs un cycle complet
d'ouverture fermeture)
PORTB.0=0;

Page 82/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Annexes

PORTB.1=0;
delay_ms(1000); //attention au temps de relachement des relais !
clearlcd();
printlcd("course :");
post=post-mdsecu;
lcdgotoxy(9,1);
itoa(post,posi);
printlcd1(posi);
printlcd(" ");
delay_ms(2000);
//on referme
PORTB.0=1;
PORTB.1=0;
delay_ms(40); //attention au temps de collage des relais !
//selection vitesse d'approche
PORTB.2=1;
PORTB.3=0;
clearlcd();
printlcd("Fermeture");
lcdgotoxy(0,2);
printlcd("Position :");
while (calculposition()>=(tolerancef))
{
posti=calculposition();
itoa(posti,posi);
lcdgotoxy(11,2);
printlcd1(posi);
printlcd(" ");
};
//selection vitesse nulle
PORTB.2=1;
PORTB.3=1;
// on met les relais en position repos
PORTB.0=0;
PORTB.1=0;
delay_ms(40); //attention au temps de relachement des relais !
if (post<0) post = 0;
return post;
}
// Initialisation du LCD
void initlcd(void)
{
//routine d'initialisation du lcd
//Accs et type d'afficheurs : 8bits, 5*7points, 2lignes
#asm("cli") // inhibition des interruptions
PORTD.0=0; // RS=0
PORTD.1=1; // E=1
PORTC=0x38; // selection communication
PORTD.1=0; // E=0 : validation de la donne
delay_ms(5);
PORTD.1=1; // E=1
PORTC=0x38; // selection communication
PORTD.1=0; // E=0 : validation de la donne
delay_us(100); // attente 100s
PORTD.1=1;
PORTC=0x06; // incrment de la position de curseur :+1, pas de dcalage du texte
PORTD.1=0; // E=0 : validation de la donne
delay_us(100); // attente 100s
PORTD.1=1;
PORTC=0x0E; // Affichage actif, Curseur visible, pas de clignotement
PORTD.1=0; // E=0 : validation de la donne
delay_us(100); // attente 100s
PORTD.1=1;
PORTC=0x01; // effacement

Page 83/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Annexes

PORTD.1=0; // E=0 : validation de la donne


delay_us(100); // attente 100s
PORTD.1=1;
PORTC=0x02; // curseur en position home
PORTD.1=0; // E=0 : validation de la donne
delay_us(100); // attente 100s
PORTD.1=1;
PORTC=0x80; // accs la mmoire donne
PORTD.1=0; // E=0 : validation de la donne
delay_us(100); // attente 100s
PORTD.1=1;
#asm("sei") // restitution des interruptions
}
// Effacement du LCD
void clearlcd(void)
{
// efface l'cran du lcd
PORTD.0=0; // RS=0
PORTD.1=1;
PORTC=0x01; // effacement
PORTD.1=0; // E=0 : validation de la donne
delay_us(50); // attente 100s
PORTD.1=1;
PORTC=0x02; // curseur en position home
PORTD.1=0; // E=0 : validation de la donne
delay_us(50); // attente 100s
PORTD.1=1;
PORTC=0x80; // accs la mmoire donne
PORTD.1=0; // E=0 : validation de la donne
delay_us(50); // attente 50s
}
// Gestion de l'affichage du LCD : positionne le curseur la ligne et la colonne spcifie
void lcdgotoxy(unsigned char colonne,unsigned char ligne)
{
unsigned char pc=0;
if (ligne==1)
{
pc=128+colonne;
};
if (ligne==2)
{
pc=128+64+colonne;
};
PORTD.0=0; // RS=0
delay_ms(1); // attente 1ms
PORTD.1=1; //eneble=1
PORTC=pc; // positionnement
PORTD.1=0; // E=0 : validation de la donne
delay_us(100); // attente 100s
}
// Routine d'affichage d'une chane de caractres sur le lcd
void printlcd(char flash *str)
{
char flash *org3;
org3=str;
PORTD.0=1;
// RS=1 : ecriture d'une donne sur le LCD
delay_ms(3);
// attente 5ms
PORTD.1=1;
delay_us(50);
// attente 100s
while(*str!=NULL)
{
PORTD.1=1;
PORTC=*str;
// accs la mmoire donne
PORTD.1=0;
// E=0 : validation de la donne
delay_us(50); // attente 100s
str++;
};
str=org3;// on repointe l o on tait
}

Page 84/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Annexes

// Routine d'affichage d'une variable sur le lcd


void printlcd1(char *str)
{
char *org4;
org4=str;
PORTD.0=1; // RS=1 : ecriture d'une donne sur le LCD
delay_ms(3); // attente 5ms
PORTD.1=1;
delay_us(50); // attente 100s
while(*str!=NULL)
{
PORTD.1=1;
PORTC=*str; // accs la mmoire donne
PORTD.1=0; // E=0 : validation de la donne
delay_us(50); // attente 100s
str++;
};
str=org4; //faut pas se pommer dans la mmoire !
}
void ouverture(int pos)
{
// ouverture des portes a vitesse variable
//selection vitesse nulle
PORTB.2=1;
PORTB.3=1;
//on remet les relais au repos (utile aprs un cycle complet d'ouverture fermeture)
PORTB.0=0;
PORTB.1=0;
delay_ms(40); //attention au temps de relachement des relais !
// on ouvre pas les portes si elles le sont dj.
if (calculposition()<(course-toleranceo))
{
// selection ouverture
PORTB.0=0;
PORTB.1=1;
delay_ms(40);
//selection vitesse ouverture
PORTB.2=0;
PORTB.3=0;
mvt=1; // on indique que les portes doivent bouger pour activer
//le calcul de vitesse lors de l'appel de l'interruption timer1 compA
};
clearlcd();
delay_ms(compeninertie);
lcdgotoxy(1,0);
printlcd("Ouverture");
// Gestion de changement de vitesse pendant la course
while (calculposition()<(course-toleranceo))
{
if (calculposition()>=pos)
{
//selection vitesse approche
PORTB.2=1;
PORTB.3=0;
};
affichevitesse();
};
//selection vitesse nulle
PORTB.2=1;
PORTB.3=1;
//on remet les relais au repos (utile aprs un cycle complet d'ouverture fermeture)
PORTB.0=0;
PORTB.1=0;
delay_ms(40); //attention au temps de relachement des relais !

Page 85/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door


mvt=1;

Annexes

// on indique que le mouvement est termin pour l'interuption timer

}
// Fermeture des portes vitesse variable
void fermeture(int pos)
{
//selection vitesse nulle
PORTB.2=1;
PORTB.3=1;
delay_ms(20);
//selection fermeture
PORTB.0=1;
PORTB.1=0;
delay_ms(40);//on attend que les relais collent
//selection vitesse fermeture
clearlcd();
mvt=1;
PORTB.2=0;
PORTB.3=1;
// Affichage LCD
lcdgotoxy(1,0);
printlcd("Fermeture");
vitesse=0.0;
detect=0;
while(vitesse==0.0)
{
// on attend que les portes commence bouger
};
//boucle de changement de vitesse et test d'vnements prioritaires
while((calculposition()>=(tolerancef))&&(detect==0)&&(vitesse!=0.0))
{
//selection vitesse fermeture
if (calculposition()<=pos)
{
//selection vitesse approche
PORTB.2=1;
PORTB.3=0;
};
affichevitesse();
};
if (detect==1) sequence(); // si quelqu'un est dtect alors qu'on referme les portes,
on les rouvre
//si les portes se bloquent alors que la fermeture n'est pas finie, on les rouvre
(personne coince)
if ((vitesse==0.0)&&(calculposition()>(tolerancef))&&(calculposition()<(course +
mdsecu))) sequence();
//selection vitesse nulle
PORTB.2=1;
PORTB.3=1;
//on remet les relais au repos (utile aprs un cycle complet d'ouverture fermeture)
PORTB.0=0;
PORTB.1=0;
delay_ms(300); //on attend un peu que les portes soient bien arrtes
mvt=0;
}
//Retourne le caractre tap sur le clavier
char decodetouche(void)
{
char a=0;
char b='-';
delay_ms(10);
a=(PIND.4)*1+(PIND.5)*2+(PIND.6)*4+(PIND.7)*8;
switch(a)

Page 86/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Annexes

{
case 0 : b='0';
break;
case 1 : b='1';
break;
case 2 : b='2';
break;
case 3 : b='3';
break;
case 4 : b='4';
break;
case 5 : b='5';
break;
case 6 : b='6';
break;
case 7 : b='7';
break;
case 8 : b='8';
break;
case 9 : b='9';
break;
case 10 : b='*';
break;
case 11 : b='#';
break;
default : b='e';
}
delay_ms(10);
return b;
}
// Dcodage du code saisi au clavier
// retourne 1 si le code est bon et 0 si il est mauvais
int decodecode(void)
{
char touche;
char eeprom *org;
char temp[]="****";
char *ptrtemp;
int ind;
int codebon=0;
org=code;
touche=' ';
ind=0;
PORTB.4=0;
DDRB.4=0;
if (decodetouche()=='*')
{
touche=decodetouche(); // test de l'appui sur une touche
while(PINB.4);
while((codebon==0)&&(touche!='#'))
{
clearlcd();
lcdgotoxy(0,1);
printlcd("Saisie du Code:");
ptrtemp=&temp[0];// on pointe sur le premier caractre du tableau temp
ind=0;
while(PINB.4);
while((ind<4)&&(decodetouche()!='#'))
{
if(PINB.4)
{
temp[ind]=decodetouche();
touche=decodetouche();
++ind;
lcdgotoxy(0,2);
ptrtemp=&temp[0]; // on pointe sur le premier caractre
du tableau temp
printlcd1(ptrtemp);// on affiche le nouveau caractre ?
while(PINB.4);
// on attend tant que la touche n'est
pas relache

Page 87/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Annexes
delay_ms(100);

// petite pause (rebonds au

relachement)
}
else
{
while(!PINB.4);

// on attend tant que la touche n'est

pas appuye
delay_ms(30);
};
};
ind=0;
while((temp[ind]==*code)&&(*code!=NULL))
{
code++;
ind++;
};
code=org;
if(ind==4) // a veux dire que la boucle t xcute 4 fois
donc le code est bon
{
codebon=1;
clearlcd();
printlcd("Code bon !");
delay_ms(800);
}
else
{
codebon=0;
clearlcd();
printlcd("Code errone !");
lcdgotoxy(0,2);
printlcd("# pour sortir");
touche=decodetouche();
delay_ms(800);
for(ind=0;ind<4;ind++)temp[ind]='*';
};
};//while codebon
if (touche=='#')
{
clearlcd();
printlcd("-attentelcdgotoxy(0,2);
printlcd(" * pour code");
};

Taper");

}
else
{
if (codebon==1)
{
return 1;
}
else
{
return 0;
};
}
if (codebon==1)
{return 1;}
else
{return 0;};
code=org; //il faut replacer le pointeur code en position initiale
}
// Modification du code secret en EEPROM
int modifiecode(void)
{
char touche;
char temp[]="****";
char *ptrtemp;
int ind=0;
char eeprom *org;
org=code;

Page 88/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door


while (PINB.4);

Annexes

// attente du relachement de la touche en cours

if (PINB.4==0)
{
clearlcd();
printlcd("Changement code");
lcdgotoxy(0,2);
printlcd("Patientez 1s...");
delay_ms(1000);
clearlcd();
printlcd("Ancien code ?");
lcdgotoxy(0,2);
printlcd("Appuyer sur *");
delay_ms(1000);
while(decodecode()!=1);
clearlcd();
printlcd("Nouveau code ?");
lcdgotoxy(0,2);
ind=0;
while (ind<4)
{
if (PINB.4)
{
temp[ind++]=decodetouche();
touche=decodetouche();// on lit la touche suivante
ptrtemp=&temp[0]; // on pointe sur le premier caractre du
tableau
lcdgotoxy(0,2);
printlcd1(ptrtemp);// on affiche le nouveau caractre ?
delay_ms(5); // avec cette tempo, on s'affranchis des rebonds
sur le clavier (signal TA)
while (PINB.4)
{
// attente du relachement de la touche en cours
}
delay_us(1000); // petite pause
}
else
{
while(!PINB.4);
};
}
clearlcd();
printlcd("Valider par *");
lcdgotoxy(0,2);
ptrtemp=&temp[0];
printlcd1(ptrtemp);
ind=0;
while (!PINB.4);
touche=' ';
// attente d'appuis sur une touche
while (touche!='*')
{
if (PINB.4)
{
touche=decodetouche();
};
};

code=org;
for(ind=0;ind<4;ind++)
{
*code=temp[ind];
++code;
};
lcdgotoxy(0,1);
printlcd("Le code est :");
lcdgotoxy(0,2);
ptrtemp=&temp[0];
printlcd1(ptrtemp);

Page 89/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Annexes
delay_ms(1000);

};
code=org;// il faut repointer sur le premier caractre de code
return 0;
}
// Procdure d'affichage de la vitesse sur le lcd
void affichevitesse(void)
{
char *org2;
if (vitesseb!=vitesse)
{
org2=vit;
ftoa(vitesse, 2, vit);
if (*vit!=NULL)
{
lcdgotoxy(0,2);
printlcd("Vitesse=");
lcdgotoxy(8,2);
printlcd1(vit);
printlcd("m/s
");
};
vit=org2;
vitesseb=vitesse;
};
// si la vitesse n'a pas change, on ne perd pas de temps l'afficher,
// cela permet de suivre correctement l'volution de la position des portes
}
void modifiek(void)
{
int badstring=0;
int ind=0;
int b=0;
char touche=' ';
float vfact=1.0;
char *aff;
char *org;
clearlcd();
printlcd("Modifier le ");
lcdgotoxy(0,2);
printlcd("Facteur vitesse");
delay_ms(800);
clearlcd();
printlcd("Attention !!!");
lcdgotoxy(0,2);
printlcd("4 caracteres");
delay_ms(800);
clearlcd();
printlcd("Appuyer sur #");
lcdgotoxy(0,2);
printlcd("touche *<=>.");
while(decodetouche()!='#');
clearlcd();
printlcd("Entrer facteur :");
lcdgotoxy(0,2);
org=aff;
while(PINB.4);
delay_ms(40);
while((ind<=4)&&(touche!='#'))
{
if(PINB.4)
{
touche=decodetouche();
if (touche=='*')
{
touche='.';
++badstring;
};
//on vrifie qu'il n'y a pas 2 points dans la chane

Page 90/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Annexes

if((badstring<=1)||(touche!='.'))
{
aff=org;
wor[ind]=touche;
for(b=0;b<=ind;b++)*aff++=wor[b];
aff=org;
lcdgotoxy(0,2);
printlcd1(aff);
++ind;
};
while(PINB.4);
// on attend tant que la touche n'est pas relache
delay_ms(100);
// petite pause (rebonds au relachement)
}
else
{
while(!PINB.4);
delay_ms(30);
};

// if PINB4

};

// fin d'entree des caractres

if (touche!='#')
{
aff=org;
for(b=0;b<=ind-1;b++)*aff++=wor[b];
*aff=NULL;
vfact=atof(wor);// travail en ram
facteur=vfact; //recopie en eeprom
aff=org;
ftoa(vfact,4,aff);
lcdgotoxy(0,1);
printlcd("le facteur est :");
lcdgotoxy(0,2);
printlcd1(aff);
delay_ms(1000);
}
else
{
clearlcd();
printlcd("- Action");
lcdgotoxy(0,2);
printlcd("Annulee !");
delay_ms(800);
};
//fin du test permettant de modifier valeur
}// fin de fonction qui permet de modifier le paramtre facteur dans le calcul de la vitesse
// Modification de la tolerance de course
void settol(void)
{
char touche='-';
tol=mdsecu;
clearlcd();
printlcd(" Tolerance");
lcdgotoxy(0,2);
printlcd("sur la course");
delay_ms(800);
clearlcd();
printlcd("Appuyer sur");
lcdgotoxy(0,2);
printlcd("1:+ 2:- #:Sauver");
delay_ms(800);
clearlcd();
printlcd("1:+ 2:- #:Sauver");
while(touche!='#')
{
itoa(tol,tolc);
lcdgotoxy(0,2);
printlcd("Tolerance : ");
lcdgotoxy(13,2);

Page 91/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Annexes

printlcd1(tolc);
printlcd("
");
touche=decodetouche();
if (touche=='1')
{
if(tol<255)tol=tol+1;
};
if (touche=='2')
{
if(tol>0)tol=tol-1;
};
delay_ms(100);
};
mdsecu=tol;
}// fin de la fonction qui permet de modifier la tolerance course
// modification de la tolerance sur l'ouverture
void tolopen(void)
{
char touche='-';
tol=toleranceo;
clearlcd();
printlcd(" Tolerance");
lcdgotoxy(0,2);
printlcd("sur l'ouverture");
delay_ms(800);
clearlcd();
printlcd("Appuyer sur");
lcdgotoxy(0,2);
printlcd("1:+ 2:- #:Sauver");
delay_ms(800);
clearlcd();
printlcd("1:+ 2:- #:Sauver");
while(touche!='#')
{
itoa(tol,tolc);
lcdgotoxy(0,2);
printlcd("Tolerance : ");
lcdgotoxy(13,2);
printlcd1(tolc);
printlcd("
");
touche=decodetouche();
if (touche=='1')
{
if(tol<255)tol=tol+1;
};
if (touche=='2')
{
if(tol>0)tol=tol-1;
};
delay_ms(100);
};
toleranceo=tol;
}// fin de la fonction qui permet de modifier la tolerance sur l'ouverture
void tolclose(void)
{
char touche='-';
tol=tolerancef;
clearlcd();
printlcd(" Tolerance");
lcdgotoxy(0,2);
printlcd("sur la Fermeture");
delay_ms(800);
clearlcd();
printlcd("Appuyer sur");
lcdgotoxy(0,2);
printlcd("1:+ 2:- #:Sauver");
delay_ms(800);

Page 92/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Annexes

clearlcd();
printlcd("1:+ 2:- #:Sauver");
while(touche!='#')
{
itoa(tol,tolc);
lcdgotoxy(0,2);
printlcd("Tolerance : ");
lcdgotoxy(13,2);
printlcd1(tolc);
printlcd("
");
touche=decodetouche();
if (touche=='1')
{
if(tol<255)tol=tol+1;
};
if (touche=='2')
{
if(tol>0)tol=tol-1;
};
delay_ms(100);
};
tolerancef=tol;
}// fin de la fonction qui permet de modifier la tolerance fermeture
void action(void)
{
int val=0;
char touch;
touch='-';
while(touch!='#')
{
while(PINB.4);
while((touch!='1')&&(touch!='2')&&(touch!='3')&&(touch!='#')&&(touch!='4')&&(touch!
='5')&&(touch!='6'))
{
clearlcd();
printlcd("Appuyer sur");
lcdgotoxy(0,2);
printlcd("1-changer code");
touch=decodetouche();
delay_ms(1000);
touch=decodetouche();
clearlcd();
printlcd("2-K vitesse");
lcdgotoxy(0,2);
printlcd("3-Tol Ouverture");
delay_ms(800);
touch=decodetouche();
clearlcd();
printlcd("4-Tol Fermeture");
lcdgotoxy(0,2);
printlcd("5-Tol Course");
delay_ms(800);
touch=decodetouche();
clearlcd();
printlcd("6-Ouvrir portes");
lcdgotoxy(0,2);
printlcd("#-Quitter");
touch=decodetouche();
delay_ms(800);
};// fin boucle attente touche appuye
if (touch=='1') val=modifiecode();
if (touch=='2') modifiek();
if (touch=='3') tolopen();
if (touch=='4') tolclose();
if (touch=='5') settol();
if (touch=='6') sequence();
delay_ms(200);
touch=decodetouche();

Page 93/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Annexes

}; //while (touch!='#')
}
void main(void)
{
// Declare your local variables here
// Input/Output Ports initialization
// Port A
PORTA=0xFF;
DDRA=0x00;
PORTA=0x00;
// Port B
PORTB=0x00;
DDRB=0x0F;
PORTB.4=0;
// Port C
PORTC=0x00;
DDRC=0xFF;
// Port D
// E (PD0) et RS (PD1) en sorties
// tous les autres en entres
PORTD=0x00;
DDRD=0x03;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Output Compare
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 125,000 kHz
// Mode: Output Compare
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: On
// Input Capture on Rising Edge
TCCR1A=0x00;
TCCR1B=0xCC; //reset compteur aprs comparaison et fclk/1024
TCNT1H=0x00;
TCNT1L=0x00;
OCR1AH=0x30;
OCR1AL=0xD4;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Output Compare
// OC2 output: Disconnected
TCCR2=0x00;
ASSR=0x00;
TCNT2=0x00;
OCR2=0x00;
//
//
//
//
//

External Interrupt(s) initialization


INT0: On
INT0 Mode: falling Edge
INT1: On
INT1 Mode: Falling Edge

GIMSK=0xC0;
MCUCR=0x0A;
GIFR=0xC0;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x10;

Page 94/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Annexes

// Analog Comparator initialization


// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
// Global enable interrupts
//test();
#asm("sei")
initlcd();
facteur=atof(wor);
PORTB.2=1;
PORTB.3=1;
clearlcd();
printlcd("Theme 2003 V2.0");
lcdgotoxy(2,2);
printlcd("Lycee DURZY");
delay_ms(1000);
clearlcd();
printlcd("-attente- Taper");
lcdgotoxy(0,2);
printlcd(" * pour code");
// On doit tenir compte du fait que la dernire position absolue mesure par le mach4 n'est
pas forcment la position relle des portes aprs un reset !
//En effet, rien n'empche un technicien d'avoir boug les portes manuellement, entre deux
reset du microcontrleur,
//Les portes peuvent aussi avoir boug pendant que la carte tait hors tension...
// en effet un reset de l'atmel n'efface pas la dernire position du mach4
//La diffrence entre le zro du programme atmel et la position mmorise par le mach4 est
appel : dcalage.
// le dcalage est gal du 255 - la position lue sur le compteur MACH4 car le compteur du
programme ne peut coder les nombres ngatifs
// on utilise donc la proprit du compteur modulo 255.
//decalage=255-((PINA.0)*1+(PINA.1)*2+(PINA.2)*4+(PINA.3)*8+(PINA.4)*16+(PINA.5)*32+
(PINA.6)*64+(PINA.7)*128);
while (1)
{
if (course==0)
{
decalage=255-PINA;
course=apprentissage();
p2=course/3;
p1=course-p2;
clearlcd();
printlcd("-attente- Taper");
lcdgotoxy(0,2);
printlcd(" * pour code");
}
if (detect==1) sequence();
if (decodecode()==1)
{
action();
clearlcd();
printlcd("-attente- Taper");
lcdgotoxy(0,2);
printlcd(" * pour code");
};//test de dcodage de code
if (forcage==0)
{
clearlcd();
printlcd("Panique !!!");
while (PIND.3==0)
{
//attente de la fin du forage
}
clearlcd();
printlcd("-attente- Taper");
lcdgotoxy(0,2);
printlcd(" * pour code");
if (PIND.3==1) forcage=1;

Page 95/96

Thme Gnie Electronique 2003

Portes Stanley Magic Door

Annexes

};
};
}

Page 96/96

Thme Gnie Electronique 2003