FR 2870404 A1 20051118 FR 0010440 A 20000808 La présente invention se rapporte d'une manière générale à des dispositifs d'actionnement de barrières mobiles pour actionner des barrières ou portes mobiles. Plus particulièrement, elle se rapporte à des dispositifs de commande de portes de garage présentant des caractéristiques améliorées de sécurité et de rendement énergétique. Les dispositifs de commande de portes de garage sont devenus plus sophistiqués dans les dernières années, en fournissant aux utilisateurs une commodité et une sécurité accrues. Cependant, les utilisateurs continuent à souhaiter davantage d'améliorations et de nouvelles caractéristiques telles qu'un rendement énergétique accru, une facilité d'installation, une configuration automatique, et des caractéristiques d'utilisation agréable, comme un fonctionnement silencieux, sans à-coup. Pour certains marchés, le coût de l'énergie est important. Ainsi, des options de rendement énergétique, comme des moteurs à puissance en chevaux inférieure, et une commande d'utilisateur des fonctions d'éclairage sont importantes pour les propriétaires de dispositifs de commande de porte de garage. Par exemple, la plupart des dispositifs de commande de porte de garage comporte une lampe de service qui s'allume lors de la commande d'un mouvement de la porte et se coupe un certain temps fixe après l'arrêt de la porte. Aux Etats-Unis, on considère qu'une période d'éclairage de quatre minutes et demie est adéquate. Pour des marchés extérieurs aux Etats-Unis, on considère une période de quatre minutes et demie comme trop longue. Certains dispositifs de commande de porte de garage présentent des fonctions de sécurité spéciales, fonctions qui permettent, par exemple, un allumage de la lampe de service à chaque fois que le faisceau de détection d'obstacle est coupé par une personne franchissant une porte de garage ouverte. Certains utilisateurs peuvent souhaiter éteindre la lumière de service dans cette situation. Il y a un besoin d'un dispositif de commande de porte de garage qui puisse être configuré automatiquement pour présenter des caractéristiques prédéfinies d'économie d'énergie, comme le temps avant coupure de la lampe de service. Certains dispositifs de commande de barrières mobiles comprennent un module d'éclairage qui fait qu'une petite lumière s'allume, ou clignote, à chaque fois que la barrière fait l'objet d'une instruction de mouvement. Le module d'éclairage fournit un certain avertissement lorsque la barrière se déplace. Il y a un besoin de module d'éclairage amélioré qui fournisse un avertissement bien meilleur à l'utilisateur lorsque la barrière fait l'objet d'une instruction de déplacement. Pour certains marchés, une autre caractéristique souhaitée est un moteur et une transmission sans à-coup, silencieux. La plupart des dispositifs de commande de porte de garage possèdent des moteurs à courant alternatif du fait qu'ils sont moins coûteux que des moteurs à courant continu. Cependant, les moteurs à courant alternatif sont généralement plus bruyants que les moteurs à courant continu. La plupart des dispositifs de commande de porte de garage ne comporte qu'une ou deux vitesses de fonctionnement. Un fonctionnement à vitesse unique, c'est-à-dire lorsque le moteur monte immédiatement à son plein régime de fonctionnement, peut créer un démarrage avec vibration de la porte. Ensuite, pendant la fermeture, lorsque la porte approche le sol à la pleine vitesse de fonctionnement, que l'on utilise un moteur à courant continu ou un moteur à courant alternatif, la porte se ferme brutalement, un couple important lui étant appliqué en raison de l'inertie du système. Cette vibration peut avoir des conséquences sur la transmission et la porte et représente une nuisance pour l'utilisateur. Si l'on utilise deux vitesses de fonctionnement, le moteur peut démarrer à vitesse lente, habituellement 20 pour cent du plein régime, puis, après une période de temps fixe, le moteur accélère à pleine vitesse de fonctionnement. De façon similaire, lorsque la porte atteint un point fixe situé au-dessus/au-dessous de la limite de fermeture/d'ouverture, la commande ralentit la vitesse de moteur à 20 pour cent de la vitesse maximale de fonctionnement. Bien que ce fonctionnement à deux vitesses puisse éliminer une certaine dureté des démarrages et des arrêts, il se peut que les variations de vitesse soient bruyantes et ne se fassent pas sans à-coup, ce qui provoque une contrainte pour la transmission. Il y a un besoin pour un dispositif de commande de porte de garage qui ouvre sans à-coup et silencieusement la porte, sans signe apparent de variation brusque de vitesse pendant le fonctionnement. Les portes de garage se fabriquent selon de nombreux types et tailles et ainsi des vitesses de fonctionnement différentes leur sont nécessaires. Par exemple, une porte d'une seule pièce sera mobile sur une distance de déplacement totale plus courte et nécessitera un déplacement plus lent pour des raisons de sécurité qu'une porte segmentée avec une distance totale plus longue de déplacement. Pour s'adapter aux deux types de porte, de nombreux dispositifs de commande de porte de garage comprennent deux pignons à chaîne pour entraîner la transmission. Lors de l'installation, l'installateur doit déterminer quel type de porte doit être entraîné, puis choisir le pignon à chaîne approprié pour équiper la transmission. Ceci prend un temps supplémentaire et, si l'installateur est l'utilisateur, plusieurs tentatives peuvent lui être nécessaires avant d'adapter le bon pignon à chaîne à la porte. Il y a un besoin pour un dispositif de commande de porte de garage qui configure automatiquement une vitesse de déplacement en fonction de la taille et du poids de la porte. Les normes de sécurité nationale imposent qu'un dispositif de commande de porte de garage assure une inversion de son sens de fonctionnement pour la sécurité (renversement de marche automatique) lorsqu'un objet est détecté à seulement un pouce (2,54 cm) au-dessus de la limite basse (DOWN) ou du sol. Pour satisfaire à ces exigences de sécurité, la plupart des dispositifs de commande de porte de garage comprennent un système de détection d'obstacle situé à proximité de la fin de course de fermeture. Ceci empêche une fermeture de la porte sur des objets ou personnes qui peuvent se trouver dans le trajet de la porte. Ce genre de systèmes de détection d'obstacle comprend souvent une source et un détecteur infrarouge situés de chaque côté du chambranle de porte. Le détecteur d'obstacle émet un signal lorsque le faisceau infrarouge est coupé entre la source et le détecteur, ce qui indique qu'un obstacle est détecté. En réponse au signal d'obstacle, le dispositif de commande provoque un fonctionnement en inversion automatique de sécurité. La porte s'arrête et commence à remonter en s'écartant de l'obstacle. Il existe deux "forces" différentes utilisées pour le fonctionnement du dispositif de commande de porte de garage. La première "force" est habituellement prédéter- minée ou réglable à deux niveaux de force: le réglage de niveau de force de montée (UP) utilisé pour déterminer la vitesse à laquelle la porte se déplace dans le sens montant (UP) et le réglage de niveau de force de descente (DOWN) utilisé pour déterminer la vitesse à laquelle la porte se déplace dans le sens vers le bas (DOWN). La seconde "force" est le niveau de force déterminé par la diminution de vitesse du moteur due à une force externe appliquée à la porte, c'est-à-dire, par un obstacle ou par le sol. Ce niveau de force externe est également prédéterminé ou réglable, et est une force quelconque de type à point de consigne à laquelle est comparé le signal de force de réaction. Lorsque le système détermine que la force de point de consigne a été atteinte, une instruction de fonctionnement en sens inverse automatique, ou d'arrêt, est délivrée. Pour surmonter des différences d'installations de porte, c'est-à-dire, la tendance à l'adhérence et la résistance au déplacement et à d'autres forces variables de type frottement, certains dispositifs de commande de porte de garage permettent que la force maximale (la seconde force) pour commander la vitesse de déplacement puisse être réglée manuellement. Cependant, ceci affecte le fonctionnement en sens inverse automatique du système basé sur une force. Le système d'inversion automatique basé sur une force provoque un fonctionnement en sens inverse automatique si la force exercée sur la porte dépasse, d'une certaine quantité prédéterminée, le réglage de force maximale (la seconde force). Si l'utilisateur augmente le réglage de cette force pour entraîner la porte sur une partie difficile ou "collante" de son parcours, l'utilisateur peut, par inadvertance, affecter la force dans une mesure bien plus grande que la sécurité ne le permet pour le fonctionnement du module pendant une utilisation normale. Par exemple, si le réglage de force de descente est réglé à un niveau si élevé qu'il ne présente qu'une petite valeur incrémentale de moins que le réglage de force qui déclenche une inversion automatique dû à une force, ceci amène la porte à rencontrer des objets à une vitesse plus élevée avant d'atteindre le réglage de force d'inversion automatique. Bien que le système de détection d'obstacle fasse que la porte fonctionne en inversion automatique, la vitesse et la force avec lesquelles la porte heurte l'obstacle peuvent provoquer un endommagement de l'obstacle et/ou de la porte. Des dispositifs de commande de déplacement de barrière doivent non seulement assurer un fonctionnement en sens inverse de sécurité à partir d'une obstruction qui se trouve seulement légèrement au-dessus du sol, mais encore fermer la porte en toute sécurité contre le sol. Dans des systèmes de commande où la porte se déplace à une vitesse élevée, une quantité de mouvement relativement importante des éléments en mouvement, comprenant la porte, assure une fermeture complète. Dans des systèmes à fermeture douce, où la vitesse de porte diminue de la vitesse maximale à un faible pourcentage de la vitesse maximale lors de la fermeture, il peut y avoir une quantité de mouvement insuffisante de la porte ou du système pour assurer une fermeture complète. Par exemple, même si la porte se trouve au niveau du sol, il arrive quelquefois qu'il y ait un jeu suffisant dans le chariot de transport du dispositif de commande pour permettre de déplacer la porte si l'utilisateur tente de l'ouvrir. En particulier, dans des systèmes employant un moteur à courant continu, lorsque le moteur à courant continu est arrêté, il devient un frein dynamique. Si la porte n'est pas tout à fait au niveau du sol lorsque la limite de déplacement basse est atteinte et que le moteur à courant continu est arrêté, il se peut que la porte et les éléments en mouvement associés ne présentent pas la quantité de mouvement suffisante ou couple suffisant pour surmonter la force de freinage du moteur à courant continu. Il y a un besoin pour un dispositif de commande de porte de garage qui ferme complètement la porte, en éliminant le jeu de la porte après fermeture. De nombreuses installations de dispositif de commande de porte de garage sont réalisées sur des portes de garage existantes. La quantité de force nécessaire à entraîner la porte varie en fonction du type de porte et de la qualité du chambranle de porte et de l'installation. Comme résultat, certaines portes sont plus "adhérentes" que d'autres, ce qui nécessite une force supérieure pour les déplacer sur toute la longueur de déplacement. Si la porte démarre et s'arrête en utilisant la pleine vitesse de fonctionnement, habituellement, l'adhérence n'est pas un problème. Cependant, si le dispositif de commande de porte de garage peut fonctionner à deux vitesses, l'adhérence devient un problème plus conséquent à la vitesse lente. Dans certaines installations, une force suffisante de fonctionnement à 20 pour cent de la vitesse normale est trop faible pour commencer à déplacer certaines portes. Il y a un besoin pour un dispositif de commande de porte de garage qui commande automatiquement la force délivrée et donc les vitesses de démarrage et d'arrêt. Un dispositif de commande de barrière mobile comportant un moteur électrique destiné à entraîner une porte de garage, un portail, ou une autre barrière, est mis en uvre à partir d'une source de courant alternatif. Le dispositif de commande de barrière mobile comprend des circuits destinés à détecter automatiquement la tension alternative du secteur entrant et la fréquence du courant alternatif. En détectant automatiquement la tension alternative du secteur entrant et en déterminant la fréquence, le dispositif de commande peut se configurer automatiquement conformément à certaines préférences d'utilisateur. Ceci se produit sans que l'un ou l'autre de l'utilisateur ou de l'installateur n'ait à régler ni à programmer le dispositif de commande. Le dispositif de commande de barrière mobile comprend une lampe de service destinée à éclairer son entourage immédiat, comme l'intérieur d'un garage. Le dispositif détecte la fréquence du secteur (typiquement de 50 Hz ou 60 Hz) pour régler automatiquement un temps avant extinction approprié de la lampe de service. Du fait que la fréquence du secteur est en Europe de 50 Hz et aux Etats-Unis de 60 Hz, la détection de la fréquence du secteur permet au dispositif de se configurer soit pour un marché européen soit pour un marché américain sans modification d'utilisateur ni d'installateur. Pour des utilisateurs américains, de préférence, on règle le temps avant extinction de lampe de service à quatre minutes et demie; pour des utilisateurs européens, de préférence, on règle le temps avant extinction de lampe de service à deux minutes et demie. Ainsi, un dispositif de commande de déplacement de barrière unique peut être vendu sur deux marchés différents avec une configuration automatique et une économie de temps d'installation. Le dispositif de commande de barrière mobile de la présente invention détecte automatiquement s'il y a présence d'un module d'éclairage optionnel. Si le module est présent, lorsque la porte fait l'objet d'une instruction de déplacement, le dispositif de commande provoque un allumage du module d'éclairage. Par la présence du module d'éclairage, le dispositif de commande peut également retarder le fonctionnement du moteur pendant un court instant, disons une ou deux secondes. Ce retard, le module d'éclairage clignotant avant une man uvre de la porte, procure une fonction de sécurité supplémentaire aux utilisateurs en les avertissant d'un mouvement imminent de la porte (par exemple, si celle-ci est activée par un émetteur que l'on ne voit pas). Le dispositif de commande de barrière mobile de la présente invention entraîne, à une vitesse variable, la barrière qui peut être une porte ou un portail. Après le démarrage de moteur, le moteur électrique atteint une vitesse initiale préférée de 20 pour cent de la pleine vitesse de fonctionnement. La vitesse de moteur augmente ensuite linéairement de façon continue de 20 pour cent à pour cent de la pleine vitesse de fonctionnement. Ceci fournit un démarrage sans à-coup, souple, sans faire vibrer la transmission ni la porte, ou portail. Le moteur déplace la barrière à une vitesse maximale sur la plus grande partie de son trajet, après quoi le dispositif de commande diminue lentement la vitesse de 100 pour cent à 20 pour cent à mesure que la barrière approche la limite de déplacement, en fournissant un arrêt souple, sans à-coup et silencieux. Un démarrage et un arrêt lents, sans à-coup, fournissent un dispositif de commande de déplacement de barrière plus sûr pour l'utilisateur du fait qu'il y a une quantité de mouvement moindre pour appliquer une force impulsionnelle dans le cas d'une obstruction. Dans un système rapide, une quantité de mouvement relativement élevée de la porte s'annule au niveau de l'obstruction avant que le système ne puisse détecter réellement l'obstruction. Ceci mène à l'application d'une force impulsionnelle élevée. Avec le système de l'invention, une vitesse d'arrêt plus lente signifie que le système présente une quantité de mouvement moindre à surmonter et, par conséquent, un fonctionnement en sens inverse plus souple à force moins dangereuse. Un démarrage et un arrêt lents, sans àcoup, fournissent également un effet d'utilisation agréable pour l'utilisateur, et lorsqu'on l'accouple avec un moteur à courant continu plus silencieux, un dispositif de commande de déplacement de barrière qui fonctionne très silencieusement. Le dispositif de commande comprend deux relais et deux transistors à effet de champ (FET) destinés à commander le moteur. On utilise les relais pour commander le sens de déplacement. Les transistors à effet de champ, commandés en phase, à modulation de largeur d'impulsion, commandent le démarrage et la vitesse. La vitesse est sensible à la durée des impulsions appliquées aux transistors à effet de champ. Une impulsion plus longue rend les transistors à effet de champ conducteurs plus longtemps, provoquant une augmentation de la vitesse de barrière. Des impulsions plus courtes ont pour conséquence une vitesse plus lente. Ceci fournit une commande de variation très fine et des démarrages et des arrêts plus doux. Le dispositif de commande de barrière mobile fournit la mesure et le calcul automatiques de la distance totale sur laquelle la porte doit se déplacer. La distance totale de déplacement de porte est la distance qui sépare les limites haute et basse (qui dépendent du type de porte). La mesure automatique de distance de déplacement de porte est une mesure de la longueur de la porte. Puisque des portes plus courtes doivent se déplacer à des vitesses plus lentes que des portes normales (pour des raisons de sécurité), ceci permet que le dispositif de commande règle automatiquement la vitesse de moteur de sorte que la vitesse de déplacement de porte soit la même quelles que soient les dimensions de porte. La distance totale de déplacement de porte détermine, à son tour, la vitesse maximale à laquelle le dispositif de commande effectuera le déplacement. En déterminant la distance totale de déplacement, les vitesses de déplacement peuvent varier automatiquement sans qu'il soit nécessaire de modifier le matériel. Le dispositif de commande de barrière mobile fournit une fermeture complète de porte, ou portail, c'est-à-dire, une fermeture sûre de la porte sur le sol de sorte que la porte ne soit plus mobile en place une fois arrêtée. Le dispositif de commande comprend une commande numérique, ou processeur, de façon plus précise, un microrégisseur qui comporte un microprocesseur interne, une RAM interne (mémoire vive) et une ROM interne (mémoire morte) et une EEPROM externe (mémoire à lecture seule programmable effaçable électriquement). Le microrégisseur exécute des instructions mémorisées dans sa ROM interne et délivre des signaux de commande de sens de moteur aux relais et des signaux de commande de vitesse aux transistors à effet de champ. Le dispositif de commande se met d'abord en ouvre en mode apprentissage pour mémoriser une position de limite basse de la porte. On utilise la position de limite basse de la porte comme approximation de l'emplacement du sol (ou comme point minimal de renversement de marche, au-dessous duquel aucun fonctionnement en sens inverse automatique ne se fera). Lorsque la porte atteint la position de limite basse, le microrégisseur fait que le moteur électrique entraîne la porte au-delà de la limite basse sur une petite distance, disons sur un à deux pouces (2,54 à 5,08 cm). Ceci fait que la porte se ferme solidement sur le sol. Le dispositif de commande réalisant la présente invention fournit une vitesse variable de man uvre de porte ou portail, c'est-à-dire que l'utilisateur peut faire varier la vitesse minimale à laquelle le moteur fait fonctionner et arrête la porte. Ceci permet à l'utilisateur de surmonter des différences d'installation de porte, c'est-à-dire, la tendance à l'adhérence et la résistance au déplacement et d'autres forces du type variant avec la fonction. Les vitesses de barrière minimales des sens de montée et de descente sont déterminées par les réglages de force configurés par l'utilisateur, qui sont réglés en utilisant des potentiomètres de force de montée et de descente. Les potentiomètres de force règlent la longueur des impulsions délivrées aux transistors à effet de champ, lesquels traduisent ce réglage en variations de vitesses. L'utilisateur gagne une production de force supérieure et une vitesse de départ minimale plus élevée pour surmonter les différences d'installation de porte, c'est-à-dire, la tendance à l'adhérence et la résistance au déplacement et d'autres forces de type variant avec la fonction, sans affecter la vitesse maximale de déplacement de la porte. L'utilisateur peut configurer la porte pour qu'elle commence à se déplacer à une vitesse supérieure à une valeur par défaut, disons 20 pour cent. Cette vitesse initiale supérieure de montée et de descente en régime est transférée en vitesse linéairement variable en fonction du fait que plutôt que de se déplacer à une vitesse de 20 pour cent, d'augmenter à une vitesse de 100 pour cent, puis, de diminuer à une vitesse de 20 pour cent, la porte peut, par exemple, se déplacer à une vitesse de 40 pour cent jusqu'à une vitesse de 100 pour cent puis diminuer de nouveau à une vitesse de 40 pour cent. Les caractéristiques et avantages de l'invention ressortiront d'ailleurs de la description qui va suivre à titre d'exemple en référence aux dessins annexés où : La figure 1 est une vue en perspective d'un garage équipé d'un dispositif de commande de porte de garage réalisant la présente invention; la figure 2 est une vue en perspective éclatée d'un module en hauteur du dispositif de commande de porte de garage que montre la figure 1; la figure 3 est une vue en perspective éclatée d'une partie d'un module de transmission du dispositif de commande de porte de garage que montre la figure 1; la figure 4 est un schéma fonctionnel d'un régisseur et d'un moteur montés dans le module en hauteur du dispositif de commande de porte de garage que montre la figure 1; les figures 5A à 5D sont des schémas du régisseur que montre sous forme de bloc la figure 4; les figures 6A à 6B sont des organigrammes d'un 20 programme complet exécuté dans un microprocesseur du régisseur que montrent les figures 5A à 5D; les figures 7A à 7H sont des organigrammes du programme principal exécuté dans le microprocesseur; la figure 8 est un organigramme d'un programme de temporisation de réglage variable d'extinction de lumière exécuté par le microprocesseur; les figures 9A à 9C sont des organigrammes d'un programme d'interruption par temporisateur de matériel exécuté dans le microprocesseur; les figures 10A à lOC sont des organigrammes d'un programme de temporisation d'une milliseconde exécutée dans le microprocesseur; les figures 11A à 11C sont des organigrammes d'un programme de temporisation de 125 millisecondes exécuté 35 dans le microprocesseur; les figures 12A à 12B sont des organigrammes d'un programme de temporisation de 4 millisecondes exécuté dans le microprocesseur; les figures 13A à 13B sont des organigrammes d'un 5 programme d'interruption de rotation (RPM) exécuté dans le microprocesseur; la figure 14 est un organigramme d'un programme machine état du moteur exécuté dans le microprocesseur; la figure 15 est un organigramme d'un programme d'arrêt à mi-chemin exécuté dans le microprocesseur; la figure 16 est organigramme d'un programme de position basse exécuté dans le microprocesseur; les figures 17A à 17C sont des organigrammes d'un programme de sens de montée exécuté dans le microprocesseur; la figure 18 est un organigramme d'un programme de fonctionnement en inversion automatique exécuté dans le microprocesseur; la figure 19 est un organigramme d'un programme de position haute exécuté dans le microprocesseur; les figures 20A à 20D sont des organigrammes du programme de descente exécuté dans le microprocesseur; la figure 21 est une vue en perspective éclatée d'un détecteur de point de passage et d'un moteur du dispositif de commande que montre la figure 2; la figure 22A est une vue en plan du détecteur de point de passage que montre la figure 21; et la figure 22B est une vue partielle en plan du détecteur de point de passage que montre la figure 21. En se référant maintenant aux dessins et plus particulièrement à la figure 1, celle-ci représente globalement un système de commande de barrière mobile ou de porte de garage, et celui-ci est désigné par le repère 8. Le système 8 comprend un dispositif 10 d'actionnement de barrière mobile ou de porte de garage comportant un module en hauteur 12 monté à l'intérieur d'un garage 14. De façon plus précise, le module en hauteur 12 est monté au niveau du plafond 15 du garage 14. L'actionneur 10 comprend une transmission 18 s'étendant du module en hauteur 12, un chariot 20 de transport y étant fixé de façon libérable. Le chariot 20 de transport libérable relie de façon libérable un bras 22 s'étendant vers une porte 24 de garage à panneau unique placée pour déplacement le long de deux rails de porte 26 et 28. Le système 8 comprend un module émetteur HF (haute fréquence) 30 à main apte à émettre des signaux vers une antenne 32 (voir figure 4) placée sur le module en hauteur 12 et connectée avec un récepteur qui se trouve à l'intérieur du module en hauteur 12, comme il apparaîtra ci-après. Un module 39 de commutateurs est monté sur le module en hauteur 12. Le module 39 de commutateurs comprend des commutateurs servant chacun à des commandes disponibles à partir d'un émetteur à distance ou d'un interrupteur optionnel monté sur un mur (non représenté). Le module 39 de commutateurs permet à un installateur d'appeler de façon commode les divers modes d'apprentissage pendant l'installation du module en hauteur 12. Le module 39 de commutateurs comprend un commutateur d'apprentissage, un commutateur d'éclairage, un commutateur de verrouillage et un commutateur d'instruction que l'on va décrire ci- dessous. Le module 39 de commutateurs peut également comprendre des bornes destinées à câbler un capteur d'état de porte pour piéton comprenant deux contacts 13 et 15 destinés à une porte 11 pour piéton, de même qu'à câbler un interrupteur mural optionnel (non représenté). La porte 24 de garage comprend la porte 11 pour piéton. Le contact 13 est monté sur la porte 24 pour contact avec le contact 15 monté sur la porte 11 pour piéton. Les contacts 13 et 15 sont tous les deux connectés, par l'intermédiaire d'un fil 17, avec le module en hauteur 12. Comme on va mieux le décrire ci-dessous, lorsque l'on ferme la porte 11 pour piéton, un contact électrique s'établit entre les contacts 13 et 15 en fermant un circuit de porte pour piéton qui se trouve dans le récepteur du module en hauteur 12 et en signalant que la porte pour piéton est dans un état fermé. Ce circuit doit se fermer avant que le récepteur ne permette à d'autres parties de l'actionneur de déplacer la porte 24. Si le circuit est ouvert, en indiquant que la porte pour piéton est ouverte, le système ne permettra pas de déplacer la porte 24. Le module en hauteur 12 comprend un boîtier comprenant quatre sections: une section inférieure 102, une section avant 106, une section arrière 108 et une section supérieure 110, qui sont maintenues les unes avec les autres par des vis 112 que montre la figure 2. Un élément 104 de recouvrement se monte sur la section avant 106 et fournit un élément de recouvrement à une lampe de service. De la puissance alternative extérieure est délivrée à l'actionneur 10 par l'intermédiaire d'un cordon 112 de puissance. La puissance alternative est appliquée à un transformateur abaisseur de tension 120. Un moteur électrique 118 est alimenté sélectivement par de la puissance alternative redressée et entraîne un pignon à chaîne 125 d'un ensemble 124 de pignons à chaîne. Le pignon à chaîne 125 entraîne une chaîne 144 (voir figure 3). Une carte à circuit imprimé 114 comprend un régisseur 200 et d'autres composants électroniques destinés à actionner le module en hauteur 12. Un câble 116 fournit des connexions d'entrée et de sortie de trajets de signal qui se trouvent entre la carte à circuit imprimé 114 et le module 39 de commutateurs. La transmission 18 comprend, comme le montre la figure 3, un rail 142 qui contient la chaîne 144 située à l'intérieur d'un boîtier 140 de rail et de chaîne et qui maintient la chaîne tendue pour transférer l'énergie mécanique du moteur à la porte. La figure 4 montre un schéma fonctionnel des connexions du régisseur et du moteur. Le régisseur 200 comprend un récepteur HF 80, un microprocesseur 300 et une EEPROM 302. Le récepteur HF 80 du régisseur 200 reçoit une instruction de manoeuvre de la porte et actionne le moteur soit à partir de l'émetteur à distance 30, lequel émet un signal HF qui est reçu par une antenne 32, soit à partir d'un commutateur 250 d'instruction d'utilisateur. Le commutateur 250 d'instruction d'utilisateur peut être un commutateur situé sur le tableau 39 de commutateurs, monté sur le module en hauteur, ou un commutateur d'un interrupteur mural optionnel. Lors de la réception d'un signal d'instruction de mouvement de porte provenant soit de l'antenne 32 soit du commutateur 250 d'utilisateur, le régisseur 200 délivre un signal de validation de puissance, via une ligne 240, à une connexion 206 d'alimentation alternative qui fournit le courant alternatif du secteur à un transformateur 212 et de l'énergie à une lampe 210 de service. Le courant alternatif redressé est fourni par un redresseur 214, via une ligne 236, à des relais 232 et 234. En fonction du sens commandé du mouvement, le régisseur 200 délivre un signal soit au relais 232 soit au relais 234. On utilise les relais 232 et 234 pour commander le sens de rotation du moteur 118 en commandant le sens de circulation de courant dans les enroulements. On utilise le premier relais pour une rotation dans le sens des aiguilles d'une montre; l'autre étant utilisé pour une rotation dans le sens contraire des aiguilles d'une montre. Lors de la réception du signal d'instruction de déplacement de porte, le régisseur 200 délivre un signal, par l'intermédiaire de la ligne 230, à un transistor à effet de champ 252 de commande de puissance. La vitesse du moteur est déterminée par la durée ou la longueur des impulsions du signal délivré à l'électrode de grille du transistor à effet de champ 252. Plus les impulsions sont courtes, plus la vitesse est lente. Ceci complète le circuit entre le relais 232 et le transistor à effet de champ 252 en fournissant de l'énergie au moteur 118 via la ligne 254. Si la porte a fait l'objet d'une instruction de mouvement dans le sens contraire, le relais 234 aura été excité, en complétant le circuit avec le transistor à effet de champ 252 et en fournissant de l'énergie au moteur 118 par l'intermédiaire d'une ligne 238. L'énergie étant délivrée, le moteur 118 entraîne l'arbre 216 de sortie qui fournit la puissance d'entraînement au pignon à chaîne 125 de transmission. Un boîtier 260 d'engrenage réducteur comprend un système de point de passage intérieur qui délivre un signal de point de passage, via une ligne 220, au régisseur 200 à chaque passage du point de passage. Le signal de point de passage est délivré au régisseur 200 via une résistance 226 de limitation de courant pour protéger le régisseur 200 contre une décharge électrostatique (ESD). Un signal d'interruption de rotation est délivré, par l'intermédiaire d'une ligne 224, via une résistance 228 de limitation de courant, au régisseur 200. Un conducteur 222 fournit une alimentation positive de cinq volts à tous les capteurs à effet Hall qui se trouvent dans le module de rotation. La force commandée est entrée par deux potentiomètres 202, 204 de force. On utilise le potentiomètre 202 de force pour régler la force commandée du mouvement de montée; on utilise le potentiomètre 204 de force pour régler la force commandée de mouvement de descente. Les potentiomètres 202 et 204 de force délivrent des entrées commandées au régisseur 200, lesquelles sont utilisées pour régler la longueur du signal pulsé délivré au transistor à effet de champ 252. Le point de passage de ce système est prévu à l'intérieur du moteur 118. En se référant à la figure 22, le module 40 de point de passage est fixé au boîtier 260 d'engrenage réducteur du moteur 118. Le module 40 de point de passage comprend une plaque supérieure 42 qui couvre les trois engrenages intérieurs et un commutateur qui se trouve à l'intérieur d'un boîtier inférieur 50. Le boîtier inférieur 50 comprend un évidement 62 comportant deux broches 61 qui positionnent l'ensemble 52 de commutateurs dans l'évidement 62. Le boîtier 50 comprend également trois découpes qui sont dimensionnées pour supporter les trois éléments d'engrenage et leur procurer une rotation. Un engrenage extérieur 44 se monte mobile en rotation à l'intérieur de la découpe 64. L'engrenage extérieur comprend une surface extérieure lisse destinée à tourner à l'intérieur du boîtier 50 et des dents d'engrenage intérieures destinées à faire tourner un engrenage intermédiaire 46. L'engrenage intermédiaire 46 se monte mobile en rotation à l'intérieur d'une découpe intérieure 66. L'engrenage intermédiaire 46 comprend une surface extérieure lisse et une partie surélevée à dents d'engrenage pour entraînement par les dents d'engrenage de la couronne de train planétaire extérieure 44. Un engrenage intérieur 48 se monte à l'intérieur de l'engrenage intermédiaire 46 et est entraîné par un prolongement d'un arbre 216. La rotation du moteur 118 fait que l'arbre 216 tourne et entraîne l'engrenage intérieur 48. L'engrenage extérieur 44 comprend une encoche 74 dans sa périphérie extérieure. L'engrenage intermédiaire comprend une encoche 76 dans sa périphérie extérieure. En se référant à la figure 22A, la rotation de l'engrenage intérieur 48 entraîne en rotation l'engrenage intermédiaire 46 dans le même sens. La rotation de l'engrenage intermédiaire 46 entraîne en rotation l'engrenage extérieur 44 dans le même sens. Les engrenages 46 et 44 sont dimensionnés de façon que des indications de point de passage, comprenant des découpes 74 et 76 de déclenchement de commutateur, ne viennent en alignement qu'une seule fois sur toute la distance de déplacement de la porte. Comme on le voit à la figure 22A, lorsque les découpes 74 et 76 de déclenchement de commutateur sont alignées, le commutateur 72 s'ouvre, ce qui génère un signal de présence de point de passage. L'emplacement où les découpes 74 et 76 de déclenchement de commutateur sont alignées est le point de passage. Le reste du temps, au moins l'un des deux engrenages maintient le commutateur 72 fermé en générant un signal indiquant que le point de passage n'a pas été atteint. La figure 5A montre la partie 80 de récepteur du régisseur 200. Des signaux HF doivent être reçus par le régisseur 200, au niveau de l'antenne 32, et délivrés au récepteur 80. Le récepteur 80 comprend une bobine d'inductance variable L1 et deux condensateurs C2 et C3 qui procurent une adaptation d'impédance entre l'antenne 32 et d'autres parties du récepteur. Un transistor de type NPN Q4 est connecté en montage à base commune en tant qu'amplificateur séparateur. La polarisation du transistor Q4 amplificateur séparateur est fournie par des résistances R2, R3. Le signal de sortie HF mis en tampon est délivré à un second transistor de type NPN Q5. Le signal haute fréquence passe par un amplificateur accordé 280, puis par un détecteur 282 de moyenne qui le délivre à un comparateur 284. En se référant aux figures 5C et 5B, le signal A, B de sortie analogique est appliqué à des condensateurs C19, C20 et C21 de réduction de bruit puis est délivré à des broches P32 et P33 du microrégisseur 300. Le microrégisseur 300 peut être un microprocesseur Z86733. Le transformateur externe 212 reçoit du courant alternatif d'une source, comme un fournisseur d'énergie électrique, et diminue le niveau de la tension alternative délivrée au circuit 90 d'alimentation du régisseur 200. Le transformateur 212 fournit un courant alternatif au circuit monté en pont, pleine onde, 214, lequel fournit un signal redressé sur les deux alternances de vingt-huit volts aux bornes du condensateur C35. Le courant alternatif peut avoir une fréquence de 50 Hz ou de 60 Hz. Un transformateur externe est particulièrement important lorsque le moteur 118 est un moteur à courant continu. On utilise le signal redressé de vingt-huit volts pour attaquer un commutateur mural de commande, un circuit détecteur d'obstacle, un commutateur de contact entre portes et des transistors à effet de champ Qll et Q12 de puissance utilisés pour démarrer le moteur. Une diode Zener D18 assure une protection contre une surtension due au courant pulsé, en particulier, provenant des transistors à effet de champ mettant rapidement hors circuit la charge inductive du moteur. Le potentiel du signal redressé sur les deux alternances est réduit davantage pour délivrer cinq volts à un condensateur C38 que l'on utilise pour alimenter le microprocesseur 300, le circuit récepteur 80 et d'autres fonctions logiques. Le signal d'alimentation redressé de vingt-huit volts, désigné par le repère T à la figure 5C, est réduit en tension par des résistances R61 et R62, puis est appliqué à une broche P24 d'entrée du microprocesseur 300. On utilise ce signal pour délivrer la phase du courant du secteur au microprocesseur 300. Le microprocesseur 300 vérifie de façon constante la phase de la tension du secteur afin de déterminer si la fréquence de la tension du secteur est de 50 Hz ou de 60 Hz. On utilise cette information pour établir la période de temps d'éclairage de service et pour choisir la table de consultation mémorisée dans la ROM du microrégisseur pour effectuer une conversion de largeur d'impulsion en vitesse de porte. Lorsque la porte fait l'objet d'une instruction de mouvement, soit par un signal provenant d'un émetteur à distance reçu par l'antenne 32 et traité par le récepteur 80, soit par un interrupteur mural optionnel, le microprocesseur 300 commande l'allumage de la lampe de service. Le microprocesseur 300 délivre un signal de validation de lampe de service à partir d'une broche P07. Le signal de validation de lampe de service est appliqué à la base du transistor Q3, lequel excite le relais K3. Le courant alternatif d'un signal U fournit l'énergie d'allumage de la lampe de service 210. Le microprocesseur 300 lit des données d'une EEPROM 302, ou en écrit dans celle-ci, via ses broches P25, P26 et P27. L'EEPROM 302 peut être une 93C46. Le microprocesseur 300 fournit un signal de validation d'éclairage à une broche P21, signal que l'on utilise pour valider une LED (diode émettrice de lumière) jaune D15 indicatrice de mode apprentissage. La LED D15 est validée, ou s'allume, lorsque le récepteur est en mode apprentissage. La broche P26 fournit une double fonction. Lorsque l'utilisateur choisit un commutateur Sl, un signal de validation d'apprentissage est délivré à la fois au microprocesseur 300 et à l'EEPROM 302. Le commutateur S1 est monté sur le module en hauteur 12 et fait partie du module 39 de commutateurs que l'installateur utilise pour faire fonctionner le système. Un module d'éclairage optionnel fournit un niveau supplémentaire de sécurité aux utilisateurs et est commandé par le microprocesseur 300 au niveau d'une broche P22. Le module d'éclairage optionnel est connecté entre des bornes 308 et 310. Dans le module d'éclairage optionnel, après réception d'une commande de porte, le microprocesseur 300 délivre un signal à partir de P22 qui fait que la lampe d'éclairage clignote pendant deux secondes. La porte ne bouge pas pendant cette période de deux secondes, ce qui informe l'utilisateur que la porte a fait l'objet d'une instruction de mouvement et va commencer à se déplacer dans les deux secondes qui suivent. Après expiration de la période de deux secondes, la porte se déplace et le module de lampe d'éclairage clignote pendant toute la période de déplacement de porte. Si l'actionneur ne comporte pas de module d'éclairage installé dans le module en hauteur, lorsque la porte fait l'objet d'une instruction de mouvement, il n'y a pas de retard avant que la porte commence à se déplacer. Le microprocesseur 300 fournit les signaux qui démarrent le moteur 118, commande son sens de rotation (et donc le sens du mouvement de la porte) et la vitesse de rotation (vitesse de déplacement de porte). On utilise les transistors à effet de champ Q11 et Q12 pour démarrer le moteur 118. Le microprocesseur 300 applique un signal de sortie pulsé aux grilles des transistors à effet de champ Q11 et Q12. La longueur des impulsions détermine le temps de conduction des transistors à effet de champ et donc la quantité de courant par unité de temps appliquée pour démarrer et faire fonctionner le moteur 118. Plus l'impulsion est longue, plus le courant est appliqué longuement, plus la vitesse de rotation du moteur 118 sera élevée. Une diode D11 est connectée aux bornes de l'alimentation de vingt-huit volts et on l'utilise pour assainir une très haute tension délivrée au montage en pont D4 d'entrée lorsque les transistors à effet de champ sont conducteurs. De façon similaire, on utilise une diode Zener D19 (voir figure 5A) pour assurer une protection contre une surtension lorsque les transistors à effet de champ sont conducteurs. La commande du sens de rotation du moteur 118 (et donc le sens du mouvement de la porte) s'obtient à l'aide des deux relais K1 et K2. Le relais K1 délivre du courant servant à provoquer une rotation du moteur dans le sens des aiguilles d'une montre, dans un sens d'ouverture (la porte monte) ; le relais K2 délivre du courant servant à faire tourner le moteur dans le sens contraire des aiguilles d'une montre, dans un sens de fermeture (la porte descend). Lorsque la porte fait l'objet d'une instruction de montée, le microprocesseur 300 délivre un signal de validation à partir d'une broche P05 à la base du transistor Ql, lequel excite le relais Kl. Lorsque la porte fait l'objet d'une instruction de descente, le microprocesseur 300 délivre un signal de validation à partir d'une broche P06 à la base du transistor Q2, lequel excite le relais K2. Les contacts entre portes 13 et 15 sont connectés avec des bornes 304 et 306. Les bornes 304 et 306 sont connectées avec les relais Kl et K2. Si le signal qui passe entre les contacts 13 et 15 est rompu, le signal aux bornes 304 et 306 ne passe plus, ce qui empêche une alimentation des relais Kl et K2. Le moteur 118 ne tournera pas et la porte 24 demeura immobile jusqu'à ce que l'utilisateur ferme la porte 11 pour piéton en établissant ainsi un contact entre les contacts 13 et 15. Le signal 220 de point de passage, provenant du module 40 de point de passage (voir figure 21) du moteur 118, est appliqué à une broche P23 du microprocesseur 300. Le signal de rotation 224 provenant du module capteur de rotation qui se trouve dans le moteur 118 est appliqué à une broche P31 du microprocesseur 300. L'application du signal de point de passage et du signal de rotation est décrit en liaison avec les organigrammes. Une commande murale optionnelle, qui reproduit les commutateurs de l'émetteur à distance 30, peut être connectée avec le régisseur 200 au niveau de bornes 312 et 314. Lorsque l'utilisateur appuie sur le commutateur 39 de commande de porte, un court-circuit direct est établi à la masse, que le microprocesseur 300 détecte par le défaut de détection de tension. Le condensateur C22 est prévu pour une réduction de bruit HF. Le court-circuit direct à la masse est détecté au niveau de broches P02 et P03 pour redondance. Les commutateurs S1 et S2 font partie du module 39 de commutateurs monté sur le module en hauteur 12 et l'installateur les utilise pour faire fonctionner le système. Comme on l'a mentionné ci-dessus, S1 est le commutateur d'apprentissage, S2 est le commutateur de commande de porte. Lorsque S2 est enfoncé, le microprocesseur 300 détecte le court-circuit au niveau des broches P02 et P03. Une entrée provenant du détecteur d'obstacle (non représenté) est délivrée à une borne 316. Ce signal est réduit en tension et est délivré au microprocesseur 300 au niveau de broches P20 et P30 pour redondance. Le microprocesseur exécute le programme d'inversion automatique, excepté lorsque la porte bouge et qu'il reste moins d'un pouce au-dessus du sol, lorsque le détecteur d'obstacle détecte un obstacle dans le trajet de porte, ce qui fait que la porte s'arrête et/ou fonctionne en sens inverse en fonction de l'état du mouvement de porte. Deux potentiomètres déterminent la force et la vitesse de mouvement de porte. Un potentiomètre R33 règle la force et la vitesse du mouvement de montée; un potentiomètre R34 règle la force et la vitesse de mouvement de descente. Les potentiomètres R33 et R34 servent de diviseurs analogiques de tension. Le signal analogique provenant de R33, R34 est en outre diminué en tension par des diviseurs de tension R35/R37, R36/R38 avant d'être appliqué à l'entrée de comparateurs 320 et 322. Des impulsions de référence provenant des broches P34 et P35 du microprocesseur 300 sont comparées avec la force entrée par les potentiomètres R33 et R34 dans les comparateurs 320 et 322. La sortie des comparateurs 320 et 322 est appliquée à des broches P01 et P00. Pour effectuer la conversion A/D (d'analogique en numérique), le microprocesseur 300 échantillonne la sortie des comparateurs 320 et 322 au niveau des broches P00 et P01 pour déterminer quelle est la tension la plus haute. la tension provenant du potentiomètre R33 ou R34 (IN) ou la tension provenant de la broche P34 ou P35 de référence (REF). Si la tension de potentiomètre est plus élevée que la tension de référence, alors le microprocesseur délivre une impulsion. Si ce n'est pas le cas, la tension de sortie est maintenue basse. Un filtre RC (R39, C29 / R40, C30) convertit les impulsions en une tension continue équivalant au rapport cyclique des impulsions. En délivrant les impulsions de la façon décrite ci-dessus, le microprocesseur crée une tension au niveau REF qui oscille autour de la tension au niveau entrant (IN). Le microprocesseur calcule ensuite le rapport cyclique de la tension sortie qui fait l'objet d'une corrélation directe avec la tension observée en entrée (IN). Lorsque l'on applique de l'énergie au module en hauteur 12 comprenant le régisseur 200, le microprocesseur 300 exécute une série de programmes. Par l'énergie appliquée, le microprocesseur 300 exécute les programmes principaux que montrent les figures 6A et 6B. La boucle principale 400 comprend trois fonctions de base qui sont exécutées en boucle, en continu, jusqu'à coupure de l'énergie. A un bloc 402, le microprocesseur 300 analyse toutes les transmissions EEPROM non radio et invalide l'accès radio à l'EEPROM 302 lors d'une transmission. Ceci garantit le fait que, pendant un fonctionnement normal, c'est-à-dire, lorsque l'actionneur de porte de garage n'est pas programmé, l'émetteur à distance n'a pas accès à l'EEPROM où sont mémorisés des codes d'émetteur. Des transmissions radio sont traitées lors de la réception d'une interruption radio (voir ci-dessous). A un bloc 404, le microprocesseur 300 maintient toutes les tâches de faible priorité, comme le calcul de nouveaux niveaux de force et de vitesse minimale. De préférence, un ensemble de registres de RAM redondants est prévu. Dans le cas d'un événement imprévu (par exemple, dans le cas d'une décharge électrostatique (ESD)) qui altère une RAM normale, les registres de RAM principaux et les registres de RAM redondants ne concordent pas. Ainsi, lorsque les valeurs de la RAM normale ne correspondent pas, le programme sait que la RAM normale a été endommagée. (Voir bloc 504 ci-dessous). A un bloc 406, le microprocesseur 300 essaie des registres de RAM redondants. Plusieurs programmes d'interruption peuvent prendre la priorité sur les blocs 402, 404 et 406. Le détecteur infrarouge d'obstacle génère un signal d'interruption IR asynchrone qui est une série d'impulsions. L'absence d'impulsions de détecteur d'obstacle indique une obstruction du faisceau. Après traitement de l'interruption IR, à un bloc 416, le microprocesseur 300 fixe l'état du détecteur d'obstacle comme n'étant pas obstrué. A un bloc 410, la réception d'une émission de l'émetteur à distance 30 génère une interruption radio asynchrone. A un bloc 418, s'il se trouve en mode de commande de porte, le microprocesseur 300 traite des signaux radio entrants et, si le signal concorde avec un code mémorisé, active un indicateur. S'il se trouve en mode apprentissage, le microprocesseur 300 mémorise les nouveaux codes d'émetteur dans l'EEPROM. Une interruption asynchrone est générée si un module de télécommunications à distance est connecté avec un accès de télécommunications RS-232 optionnel situé sur le module en hauteur. Lors de la réception de l'interruption par matériel, le microprocesseur 300 exécute un programme de télécommunications de données sérielles pour transférer et mémoriser des données à partir du matériel à distance. Un bloc 422 représente une interruption par temporisateur de matériel à 0. Au bloc 422, le microprocesseur 300 lit le signal entrant du secteur alternatif à partir de la broche P24 et traite la sortie de commande de phase de moteur. On utilise le signal entrant du secteur pour déterminer si la tension du secteur est de 50 Hz pour le marché extérieur ou de 60 Hz pour le marché intérieur. Avec chaque interruption, le microprocesseur 300, à un bloc 426, effectue une commutation de tâches entre trois tâches. A un bloc 428, le microprocesseur 300 met à jour les temporisateurs de logiciel. A un bloc 430, le microprocesseur 300 supprime un rebondissement de signaux d'interrupteur mural de commande. A un bloc 432, le microprocesseur 300 commande l'état de moteur, y compris les sorties de relais de sens de moteur et les systèmes de sécurité de moteur. Lorsque le moteur 118 fonctionne, à un bloc 434, il génère une interruption asynchrone de rotation. Lorsque le microprocesseur 300 reçoit l'interruption asynchrone de rotation, au niveau de la broche P31, à un bloc 436, il calcule la période de rotation de moteur puis, à un bloc 438, met à jour la position de la porte. Les figures 7A à 7H représentent des détails supplémentaires de la boucle principale 400. La première étape exécutée dans la boucle principale 400 correspond à un bloc 450, où le microprocesseur vérifie le fait que le point de passage a été dépassé, ou non, depuis la dernière mise à jour. Si c'est le cas, le programme va à un bloc 452, où le microprocesseur 300 met à jour la position de la porte par rapport au point de passage de l'EEPROM 302 ou d'une mémoire non volatile. Le programme va ensuite à un bloc 454. Une fonction de sécurité optionnelle du système de dispositif de commande de porte de garage allume la lampe de service lorsque l'on ouvre la porte et qu'elle est arrêtée et que le faisceau infrarouge du détecteur d'obstacle est rompu. A un bloc 454, le microprocesseur vérifie si l'allumage/extinction de la lampe de service a été modifié en ce qui concerne cette fonction. Certains utilisateurs souhaitent la fonction de sécurité ajoutée; d'autres préfèrent économiser l'électricité. Si une nouvelle entrée a été délivrée, le programme va à un bloc 456 et fixe l'état de la lampe de service commandée par détecteur d'obstacle dans une mémoire non volatile en fonction de la nouvelle entrée. Puis, le programme va à un bloc 458 où le programme effectue une vérification pour déterminer si la lampe de service a été allumée sans la temporisation. Un commutateur distinct est prévu à la fois sur l'émetteur à distance 30 et sur le module en hauteur au niveau du module 39 pour permettre à l'utilisateur d'allumer la lampe de service sans actionner l'interrupteur de commande de porte. Si ce n'est pas le cas, le programme saute à un bloc 470. Si c'est le cas, à un bloc 460, le programme effectue une vérification pour voir si l'indicateur monostable a été activé en ce qui concerne une rupture de faisceau de détecteur d'obstacle. Si ce n'est pas le cas, le programme saute au bloc 470. Si c'est le cas, à un bloc 462, le programme vérifie si la lampe de service commandée par détecteur d'obstacle est allumée. Si elle ne l'est pas, le programme saute au bloc 470. Si elle l'est, à un bloc 464, le programme vérifie si la porte est arrêtée dans la position complètement ouverte. Sinon, le programme saute au bloc 470. Si c'est le cas, le programme appelle le sous-programme SetVarlight (voir figure 8) pour permettre un temps d'extinction approprié (de 4,5 minutes pour des systèmes de 60 Hz ou de 2,5 minutes pour des systèmes de 50 Hz). A un bloc 468, le programme allume la lampe de service. Au bloc 470, le microprocesseur 300 remet à zéro l'indicateur monostable en ce qui concerne la rupture de faisceau infrarouge. Ceci restaure le détecteur d'obstacle, de sorte qu'une rupture de faisceau ultérieure peut générer une interruption. A un bloc 472, si l'utilisateur a installé un mot de passe temporaire utilisable pendant une période de temps fixe, le microprocesseur 300 met à jour le temporisateur non volatil en ce qui concerne le mot de passe radio temporaire. A un bloc 474, le microprocesseur 300 rafraîchit les registres de RAM en ce qui concerne le mode radio de la mémoire non volatile (EEPROM 302). A un bloc 476, le microprocesseur 300 rafraîchit les sens d'accès I/O (entrée/sortie), c'est-à-dire qu'il détermine si chacun des accès doit être d'entrée ou de sortie. A un bloc 478, le microprocesseur 300 met à jour, si nécessaire, l'état de l'indicateur de verrouillage radio. L'indicateur de verrouillage radio empêche que le microprocesseur ne réponde à un signal provenant d'un émetteur à distance. Une interruption radio (que l'on va décrire ci-dessous) désactivera l'indicateur de verrouillage radio et permettra à l'émetteur à distance de communiquer avec le récepteur. A un bloc 480, le microprocesseur 300 vérifie si la porte est sur le point de se déplacer. Si ce n'est pas le cas, le programme saute à un bloc 502. Si la porte est sur le point de se déplacer, le microprocesseur 300 vérifie si les limites sont en cours d'apprentissage au bloc 482. Si c'est le cas, le programme saute au bloc 502. Si ce n'est pas le cas, le programme demande, à un bloc 484, si le déplacement se fait dans le sens de la montée ou dans le sens de la descente. S'il se fait dans le sens de la descente, à un bloc 486, le programme rafraîchit la limite basse de la mémoire non volatile (EEPROM 302). Si le déplacement se fait vers le haut, à un bloc 488, le programme rafraîchit la limite haute de la mémoire non volatile (EEPROM 302). A un bloc 490, le programme met à jour l'état et la position de fonctionnement en cours par rapport au point de passage dans la mémoire non volatile. Ceci est une lecture redondante de stabilité du système. A un bloc 492, le programme vérifie la fin d'un cycle d'apprentissage delimites. Si l'apprentissage est terminé, le programme va à un bloc 494 où les nouveaux réglages de limites et la nouvelle position par rapport au point de passage sont écrits dans la mémoire non volatile. Puis, à un bloc 496, le programme met à jour le compteur en ce qui concerne le nombre de cycles de fonctionnement. Cette information peut être téléchargée à un moment ultérieur et utilisée pour déterminer le moment où certains éléments doivent être remplacés. A un bloc 498, le programme vérifie si le nombre de cycles est un multiple de 256. Le fait de limiter la mémorisation de cette information à des multiples de 256 limite le nombre de fois où le système doit écrire dans ce registre. Si c'est le cas, à un bloc 500, il met à jour l'historique de réglages de force. Si ce n'est pas le cas, le programme va au bloc 502. Au bloc 502, le programme met à jour l'antirebondisseur de commutateur d'apprentissage. A un bloc 504, le programme assure une vérification de continuité en comparant les registres de RAM (redondants) de sauvegarde avec les registres principaux. S'ils ne concordent pas, le programme va à un bloc 506. Si les registres ne concordent pas, la mémoire RAM a été endommagée, et le système ne peut pas fonctionner de façon sûre, donc une restauration est ordonnée. A ce point, le de nouveau en automatique du sont inchangés) Si, au bloc 504, la réponse est oui, le programme continue à un bloc 508 où le programme traite tous les système redémarre comme circuit système s'il avait été mis hors circuit et et la première étape est un test (tous les réglages d'installation messages sériels optionnelle (des entrants messages issus de la commande murale sériels pourraient être des instructions de démarrage ou d'arrêt entrés par utilisateur). Puis, à un bloc 510, le programme charge la temporisation de force de montée à partir de la table de consultation de ROM, en utilisant le réglage d'utilisateur en tant qu'index. Les potentiomètres R33 et R34 de force sont réglés par l'utilisateur. Les valeurs analogiques fixées par l'utilisateur sont converties en valeurs numériques. On utilise les valeurs numériques en tant qu'index pour la table de consultation mémorisée dans la mémoire. Les valeurs indexées à partir de la table de consultation sont ensuite utilisées en tant que mesure de vitesse minimale de moteur. Lorsque le moteur fonctionne, le programme compare la valeur choisie de la table de consultation avec la temporisation numérique du programme de rotation pour garantir une force acceptable. Plutôt que de calculer la force à chaque fois que les potentiomètres de force sont activés, une table de consultation est prévue pour chaque potentiomètre. La plage de valeurs basée sur la plage d'entrées d'utilisateur est mémorisée dans une ROM et est utilisée pour économiser le temps de traitement du microprocesseur. Le système comprend deux limites de force: l'une concernant la force de montée et l'autre concernant la force de descente. Les deux limites de force fournissent un système plus sûr. Une porte lourde peut nécessiter davantage de force de montée pour s'élever mais nécessiter un réglage de force de descente inférieure (et, par conséquent, une vitesse de fermeture plus lente) pour obtenir une fermeture souple. Une porte légère nécessitera moins de force de montée pour ouvrir la porte et, de façon possible, une force de descente supérieure pour procurer une fermeture complète. Ensuite, à un bloc 512, la temporisation de force est divisée par le niveau de puissance du moteur de la porte pour régler le dépassement de temps imparti à la force maximale. Cette étape règle le point d'inversion de force sur la base de la force maximale de la porte. La force maximale de la porte est déterminée sur la base de la taille de la porte, c'est-àdire, de la distance des déplacements de porte. Des portes d'une seule pièce se déplacent sur une distance plus importante que des portes segmentées. Des portes courtes nécessitent pour se déplacer une force moindre que des portes normales. La force maximale concernant une porte courte est diminuée à 60 pour cent de la force maximale disponible pour une porte normale. Ainsi, au bloc 512, si le réglage de force est établi par l'utilisateur, par exemple, à 40 pour cent, et que la porte est une porte normale (c'est-à-dire, une porte segmentée ou une porte à plusieurs panneaux), la force est réglée à 40 pour cent de 100 pour cent. Si la porte est une porte courte (c'est-à-dire, une porte à un seul panneau), la force est réglée à 40 pour cent de 60 pour cent ou à 24 pour cent. A un bloc 514, le programme charge la temporisation de force de descente à partir de la table de consultation de ROM, en utilisant, en tant qu'index, le réglage d'utilisateur. A un bloc 516, le programme divise la temporisation de force par le niveau de puissance du moteur de la porte pour régler la force en fonction de la vitesse. A un bloc 518, le programme vérifie si la porte effectue un déplacement de descente. Si c'est le cas, le programme invalide l'utilisation du registre MinSpeed, à un bloc 524, et charge le registre MinSpeed avec le réglage de force de descente, c'est-à-dire, la valeur lue à partir du potentiomètre de force de descente à un bloc 526. Si ce n'est pas le cas, à un bloc 520, le programme invalide l'utilisation du registre MinSpeed et, à un bloc 522, charge le registre MinSpeed avec le réglage de force de montée provenant du potentiomètre de force. Le programme continue à un bloc 528 où le programme soustrait 20 de la valeur MinSpeed. La valeur MinSpeed va de 0 à 63. Le système utilise 64 niveaux de force. Si, au bloc 530, le résultat est négatif, à un bloc 532, le programme met à zéro le registre MinSpeed pour tronquer efficacement les 38 pour cent inférieurs des réglages de force. S'il ne l'est pas, à un bloc 534, le programme divise la force minimale par 4 pour régler 8 vitesses sur 32 niveaux de force. A un bloc 536, le programme ajoute 4 à la vitesse minimale pour corriger le décalage, et limite le résultat à un maximum de 12. A un bloc 538, le programme valide l'utilisation du registre MinSpeed. A un bloc 540, le programme vérifie si la période du signal du secteur alternatif redressé (entré dans le microprocesseur 300 au niveau de la broche P24) est inférieure à 9 millisecondes (ce qui indique que la fréquence du secteur est de 60 Hz). Si c'est le cas, le programme saute à un bloc 548. Si ce n'est pas le cas, à un bloc 542, le programme vérifie si la temporisation avant extinction de lumière est active. Si elle ne l'est pas, à un bloc 544, le programme saute au bloc 548. Si elle l'est, le programme vérifie si la valeur de temps d'éclairage est supérieure à 2, 5 minutes. Sinon, le programme saute au bloc 548. Si oui, le programme appelle le sous-programme SetVarLight (voir figure 8), pour corriger, à un bloc 546, le réglage de temporisation d'éclairage. Au bloc 548, le programme vérifie si le signal radio a été supprimé pendant 100 millisecondes, ou plus. Si ce n'est pas le cas, le programme saute à un bloc 552. Si c'est le cas, à un bloc 550, le programme met à zéro la radio. Au bloc 552, le programme restaure le temporisateur de surveillance. A un bloc 554, le programme reboucle au début de la boucle principale. Le sous-programme SetVarLight, figure 8, est appelé à chaque fois que la porte fait l'objet d'une instruction de mouvement et que la lampe de service doit être allumée. Lorsque, à un bloc 558, le sous-programme SetVarLight est appelé, le sous-programme vérifie si la période du signal du secteur redressé (broche P24 du microprocesseur 300) est supérieure ou égale à 9 millisecondes. Si c'est le cas, à un bloc 564, la fréquence du secteur est de 50 Hz, et la temporisation est réglée à 2,5 minutes. Si ce n'est pas le cas, à un bloc 562, la fréquence du secteur est de 60 Hz et la temporisation est réglée à 4,5 minutes. Après le réglage, le sousprogramme retourne au point d'appel à un bloc 566. Le sous-programme d'interruption par temporisateur de matériel commandé par le microprocesseur 300, représenté à un bloc 422, se met en route toutes les 0,256 millisecondes. En se référant aux figures 9A à 9C, lorsque le sous-programme est appelé en premier, à un bloc 580, il fixe l'état d'interruption radio comme indiqué par les indicateurs de logiciel. A un bloc 582, le sous-programme met à jour la plage de temporisateur de logiciel. Les séries suivantes d'étapes gèrent la fréquence du secteur alternatif (broche P24 du microprocesseur 300). A une étape 584, le sousprogramme vérifie si l'entrée redressée du secteur est haute (vérifie le flanc avant). Si c'est le cas, le sous-programme saute à un bloc 594, où il incrémente le compteur de temps pendant lequel la ligne d'énergie (secteur) est haute, puis va à un bloc 596. Si ce n'est pas le cas, à un bloc 586, le sous-programme vérifie si le compteur de temps pendant lequel la ligne d'énergie est haute est en deçà de 2 millisecondes. Si c'est le cas, le sous-programme saute au bloc 594. Si ce n'est pas le cas, à un bloc 588, le sous-programme fixe le temps de la ligne d'énergie mesurée dans une RAM. Puis, à un bloc 590, le sous-programme restaure le compteur de temps pendant lequel la ligne d'énergie est haute et, à un bloc 592, restaure le registre de temporisateur de phase. Au bloc 596, le sous-programme vérifie si le niveau de puissance de moteur est fixé à 100 pour cent. Si c'est le cas, à un bloc 606, le sousprogramme active la sortie de commande de phase de moteur. Si ce n'est pas le cas, à un bloc 598, le sous-programme vérifie si le niveau de puissance de moteur est fixé à 0 pour cent. Si oui, à un bloc 604, le sous-programme désactive la sortie de.commande de phase de moteur. Sinon, à un bloc 600, le registre de temporisateur de phase est décrémenté, et le signe du résultat est vérifié. S'il est positif, le sous-programme va au bloc 606; s'il est négatif, le sous-programme va au bloc 604. Le sous-programme va à un bloc 608 où le signal de rotation entrant (au niveau de la broche P31 du microprocesseur 300) fait l'objet d'un filtrage numérique. Puis, à un bloc 610, le commutateur de tâches de réglage préalable de temps (qui effectue une boucle de 8 tâches identifiées à des blocs 620, 630, 640, 650) est incrémenté. Le commutateur de tâches varie de 0 à 7. A un bloc 612, le sous-programme va à la tâche adéquate en fonction de la valeur du commutateur de tâches. Si, au bloc 620, le commutateur de tâches a une valeur de 2 (ce qui se produit toutes les 4 millisecondes), le sous-programme d'exécution de machine état du moteur est appelé. Si la tâche a une valeur de 0 ou de 4 (ce qui se produit toutes les 2 millisecondes), au bloc 630, les commutateurs de commande murale font l'objet d'un antirebondissement. Si la valeur de tâche est de 6 (ce qui se produit toutes les 4 millisecondes) , au bloc 640, le sous-programme d'exécution de temporisation de 4 ms est appelé. Si la tâche a une valeur de 1, 3, 5 ou 7, au bloc 650, le sousprogramme de temporisation de 1 milliseconde est appelé. A la fin du sousprogramme appelé, le sous-programme de temporisation de 0,256 milliseconde retourne à un bloc 614. Les figures 10A à 10C montrent des détails du sous-programme de temporisation de 1 ms (bloc 650). Lorsque ce sous-programme est appelé, à un bloc 652, la première étape consiste à mettre à jour les convertisseurs A/D des potentiomètres de réglage de force de montée et de descente (P34 et P35 du microprocesseur 300). A un bloc 654, le sous- programme vérifie si la conversion A/D est terminée (comparaison au niveau des comparateurs 320 et 322). Si c'est le cas, à un bloc 656, les valeurs mesurées de potentiomètre sont mémorisées. Ensuite, à un bloc 658, les valeurs mémorisées (qui varient de 0 à 127) sont divisées par 2 pour obtenir le réglage de force de 64 niveaux. Si ce n'est pas le cas, à un bloc 660, le sous-programme décrémente le temporisateur de dépassement de temps imparti au détecteur infrarouge d'obstacle. A un bloc 662, le sous-programme vérifie si le temporisateur a atteint zéro. Si ce n'est pas le cas, le sous-programme saute à un bloc 672. Si c'est le cas, à un bloc 664, le sous-programme restaure le temporisateur de dépassement de temps imparti au détecteur infrarouge d'obstacle. A un bloc 666, le réglage d'indicateur du signal de détecteur d'obstacle est vérifié. Sinon, à un bloc 668, l'indicateur de rupture monostable est affiché. Si oui, à un bloc 670, l'indicateur est affiché en indiquant l'absence du signal de détecteur d'obstacle. A un bloc 672, le sous-programme incrémente le registre de dépassement de temps imparti à la radio. Puis, à un bloc 674, la temporisation d'inversion de détecteur infrarouge d'obstacle est décrémentée. A un bloc 676, l'entrée de point de passage fait l'objet d'un antirebondissement. A un bloc 678, le dispositif de réglage préalable de 125 millisecondes est incrémenté. Puis, à un bloc 680, le dispositif de réglage préalable fait l'objet d'une vérification pour savoir s'il a atteint 63 millisecondes. Si c'est le cas, à un bloc 682, la LED clignotante de défaut est mise à jour. Si ce n'est pas le cas, à un bloc 684, le dispositif de réglage préalable fait l'objet d'une vérification pour savoir s'il a atteint 125 ms. Si oui, à un bloc 686, le sous-programme de temporisation de 125 ms est exécuté. Sinon, le programme retourne à un bloc 688. On utilise le sous-programme de temporisation de 125 millisecondes (bloc 690) pour gérer le niveau de puissance du moteur 118. A un bloc 692, le sous-programme met à jour le temporisateur de mode RS-232 et, si nécessaire, quitte le temporisateur de mode RS-232. On utilise la même paire de fils à la fois pour les commutateurs de commande murale et la transmission de RS-232. Si la transmission de RS-232 est reçue en mode commande murale, on entre en mode RS-232. Si quatre secondes s'écoulent depuis la réception du dernier mot de RS-232, alors le temporisateur RS232 dépasse le temps imparti et revient en mode commande murale. A un bloc 694, le sous-programme vérifie si le moteur est réglé pour s'arrêter. Si c'est le cas, le sous-programme saute à un bloc 716 et fixe le niveau de puissance du moteur à 0 pour cent. Si ce n'est pas le cas, à un bloc 696, le sous-programme vérifie si la lampe de sécurité d'avertissement de déplacement s'allume (si le module d'éclairage optionnel a été installé, une lumière s'allumera pendant 2 secondes avant que le moteur ne puisse assurer un mouvement et s'allumera ensuite à un intervalle prédéterminé pendant le fonctionnement de moteur). Si c'est le cas, le sous-programme saute au bloc 716 et fixe le niveau de puissance du moteur à 0 pour cent. Sinon, à un bloc 698, le sous-programme vérifie si le microprocesseur 300 se trouve dans la dernière phase du mode apprentissage de limites. Si oui, le sous-programme saute à un bloc 710. Si ce n'est pas le cas, à un bloc 700, le sous-programme vérifie si le microprocesseur 300 se trouve dans une autre partie du mode apprentissage de limites. Si ce n'est pas le cas, le sous-programme saute au bloc 710. Si c'est le cas, à un bloc 704, le sous-programme vérifie si la vitesse minimale (déterminée par les réglages de force) est supérieure à 40 pour cent. Sinon, à un bloc 708, le niveau de puissance est fixé à 40 pour cent. Si oui, à un bloc 706, le niveau de puissance est réglé pour être égal à la vitesse minimale mémorisée dans le registre MinSpeed. Au bloc 710, le sous-programme vérifie si l'indicateur est affiché pour ralentissement. Si oui, à un bloc 714, le sous-programme vérifie si le moteur fonctionne au-delà ou en deçà d'une vitesse minimale. S'il fonctionne au-delà d'une vitesse minimale, à un bloc 722, le niveau de puissance du moteur est décrémenté d'un niveau d'incrément (un niveau d'incrément est, de préférence, de 5 % de la vitesse maximale de moteur). S'il fonctionne en deçà de la vitesse minimale, à un bloc 720, le niveau de puissance du moteur est incrémenté d'un niveau d'incrément (qui est, de préférence, de 5 % de la vitesse maximale de moteur) pour atteindre une vitesse minimale. Si, au bloc 710, l'indicateur n'est pas activé pour ralentissement, à un bloc 712, le sous-programme vérifie si le moteur fonctionne à une vitesse maximale disponible. Sinon, au bloc 720, le niveau de puissance du moteur est incrémenté d'un niveau d'incrément (qui est, de préférence, de 5 % de la vitesse maximale de moteur). Si oui, l'indicateur est activé pour mettre fin à la pleine vitesse de moteur. Le sous-programme continue à un bloc 724 où il vérifie si la période du secteur alternatif redressé (broche P24 du microprocesseur 300) est supérieure ou égale à 9 ms. Si ce n'est pas le cas, à un bloc 728, le sous-programme prélève l'information de commande de phase du moteur (indexée à partir du niveau de puissance) de la table de consultation de 60 Hz mémorisée dans une ROM. Si c'est le cas, à un bloc 726, le sousprogramme prélève l'information de commande de phase du moteur (indexée à partir du niveau de puissance) de la table de consultation de 50 Hz mémorisée dans une ROM. A un bloc 730, le sous-programme teste l'état d'activation/désactivation de la fonction d'éclairage de service commandée par le détecteur infrarouge d'obstacle. Puis, à un bloc 732, les temporisateurs d'apprentissage radio d'utilisateur, ZZWIN (au niveau du clavier numérique mural, s'il est installé) et AUXLEARNSW (commande de radio et d'éclairage de service) sont mis à jour. A un bloc 734, le temporisateur de surveillance de logiciel est mis à jour et, à un bloc 736, la LED clignotante de défaut est mise à jour. Le sous-programme retourne à un bloc 738. On utilise le sous-programme de temporisation de 4 millisecondes pour vérifier divers systèmes qui ne nécessitent pas de mise à jour aussi souvent que des systèmes plus critiques. En se référant aux figures 12A et 12B, le sous-programme est appelé au bloc 640. A un bloc 750, les temporisations de sécurité de rotation sont mises à jour. On utilise ces temporisations pour déterminer si la porte est en contact avec le sol. La temporisation de sécurité de rotation a un retard d'une seconde avant que le dispositif de commande ne commence un verrouillage de la porte descendante, c'est-à-dire, une seconde après l'arrêt. Il existe deux forces différentes utilisées dans le dispositif de commande de porte de garage. Le premier type de force concerne les forces déterminées par les potentiomètres de force de montée et de descente. Ces niveaux de force déterminent la vitesse à laquelle se déplace la porte dans les sens de montée et de descente. Le second type de force concerne les forces déterminées par la diminution de vitesse de moteur due à une force externe appliquée à la porte (un obstacle ou le sol). Cette force externe programmée ou préchoisie est la force maximale que le système acceptera avant qu'une instruction de fonctionnement en inversion automatique ou d'arrêt ne soit délivrée. A un bloc 752, la temporisation de rotation de 0,5 seconde est vérifiée pour savoir si elle s'est écoulée. Si c'est le cas, à un bloc 754, la temporisation de 0,5 seconde est restaurée. A un bloc 756, des vérifications de sécurité sont effectuées en ce qui concerne la rotation observée pendant la dernière 0,5 seconde pour empêcher que la porte ne tombe. On choisit la temporisation de 0,5 seconde de façon que la force maximale, atteinte au niveau du chariot de transport, atteigne 50 kilogrammes en 0,5 seconde si le moteur fonctionne à 100 pour cent de puissance. A un bloc 758, le sous-programme met à jour la temporisation de 1 seconde du module d'éclairage optionnel. Dans ce mode de réalisation, la période d'allumage préférée est de 1 seconde. A un bloc 760, le temps mort de radio et les temporisateurs de perte de niveau sont mis à jour. A un bloc 762, le commutateur d'apprentissage fait l'objet d'un antirebondissement. A un bloc 764, l'état de la lampe de service est mis à jour en fonction des diverses temporisations d'éclairage. A un bloc 766, la temporisation de clignotement de commande murale optionnelle est mise à jour. La commande murale optionnelle comprend une lampe qui clignote lorsque la porte fait l'objet d'une commande de fonctionnement en inversion automatique en réponse à une rupture de signal de détecteur infrarouge d'obstacle. A un bloc 768, le sous-programme revient au départ. Les figures 13A et 13B représentent des détails supplémentaires de l'interruption de signal asynchrone de rotation, bloc 434. On utilise ce signal, qui est délivré au microprocesseur 300 au niveau de la broche P31, pour commander la vitesse de moteur et le détecteur de position. La position de porte est déterminée par une valeur par rapport au point de passage. Le point de passage est fixé à O. Les positions qui se trouvent au-delà du point de passage sont négatives; les positions qui se trouvent en deçà du point de passage sont positives. Lorsque la porte se déplace vers la limite haute, le détecteur de position (ou compteur) détermine la position sur la base du nombre d'impulsions de rotation par rapport à la valeur de limite haute. Lorsque la porte se déplace en descendant vers la limite basse, le détecteur de position compte le nombre d'impulsions de rotation par rapport à la valeur de limite basse. Les valeurs de limites haute et basse sont mémorisées dans un registre. A un bloc 782, le sous-programme d'interruption de rotation calcule la période du signal de rotation entrant. Si la porte se déplace dans le sens de la montée, le sous-programme calcule la différence entre deux impulsions successives. Si la porte se déplace dans le sens de la descente, le sous-programme calcule la différence entre deux impulsions successives. A un bloc 784, le sous-programme divise la période par 8 pour la transformer en un mot binaire. A un bloc 786, le sous-programme vérifie si la vitesse de moteur augmente. Ceci correspond au mode de force max. Le dépassement de temps imparti à la rotation variera de 10 à 500 millisecondes. A noter que ces temps sont recommandés pour un moteur à courant continu. Si l'on utilise un moteur à courant alternatif, le temps maximal sera diminué à typiquement 24 millisecondes. Une période de 24 millisecondes est plus lente que la rotation d'arrêt du moteur et, par conséquent, dépasse la force maximale possible de la plupart des moteurs préférés. Si c'est le cas, à un bloc 790, le dépassement de temps imparti à la rotation est fixé à 500 millisecondes (0,5 seconde). Si ce n'est pas le cas, à un bloc 788, le sous-programme fixe le dépassement de temps imparti à la rotation en tant que valeur arrondie au niveau supérieur du réglage de force. A un bloc 792, le sous-programme vérifie le sens du mouvement. Il le trouve dans le registre d'état de la machine. Si la porte se déplace dans le sens de la descente, à un bloc 796, le compteur de position est incrémenté et, à un bloc 800, l'antirebondisseur de point de passage est échantillonné. A un bloc 804, le sous-programme vérifie le flanc arrière du signal de point de passage. Si le flanc arrière est présent, le sousprogramme retourne à un bloc 814. S'il y a présence d'un flanc arrière de point de passage, le sous-programme vérifie le point de passage le plus bas (dans des cas où l'on utilise plus d'un point de passage). S'il y a absence de point de passage le plus bas, le sous-programme retourne au bloc 814. S'il y a présence du seul point de passage ou du point de passage le plus bas, le compteur de position est mis à zéro et le sousprogramme retourne au bloc 814. Si la porte se déplace dans le sens de la montée, à un bloc 794, le sousprogramme décrémente le compteur de position et, à un bloc 798, échantillonne l'antirebondisseur de point de passage. Puis, à un bloc 802, il vérifie le flanc avant du signal de point de passage. S'il n'y a pas de flanc avant de signal de point de passage, le sous-programme retourne au bloc 814. S'il y en a un, à un bloc 806, il vérifie le point de passage le plus bas. S'il n'y en a pas, le sous-programme retourne au bloc 814. S'il y en a un, le sous-programme met à zéro le compteur de position et retourne au bloc 814. La figure 14 représente le sous-programme machine état du moteur, bloc 620. Il conserve une trace de l'état du moteur. A un bloc 820, le sousprogramme met à jour la sortie fausse de signal de détecteur d'obstacle, qui est utilisé dans des systèmes qui ne nécessitent pas de détecteur infrarouge d'obstacle. A un bloc 822, le sous-programme vérifie si le temporisateur de surveillance de logiciel a atteint une valeur trop élevée. Si c'est le cas, à un bloc 824, une instruction de restauration de système est délivrée. Si ce n'est pas le cas, à un bloc 826, il vérifie l'état du moteur mémorisé dans le registre d'état de moteur situé dans l'EEPROM 302 et exécute le sous-programme approprié. Si la porte se déplace dans le sens de la montée, à un bloc 832, le sousprogramme de sens de montée est exécuté. Si la porte se déplace dans le sens de la descente, à un bloc 828, le sous-programme de sens de descente est exécuté. Si la porte s'arrête au milieu du trajet de déplacement, à un bloc 838, l'arrêt du sous-programme de déplacement à mi-chemin est exécuté. Si la porte est complètement fermée, à un bloc 830, le sousprogramme de position basse est exécuté. Si, à un bloc 834, la porte est complètement ouverte, le sous-programme de position haute est exécuté. Si, à un bloc 836, la porte fonctionne en sens inverse, le sous-programme d'inversion automatique est exécuté. Lorsque la porte s'arrête à mi-chemin, au bloc 838, on appelle le sousprogramme, comme le montre la figure 15. A un bloc 840, le sous-programme met à jour le système de sécurité de relais (garantissant l'ouverture des relais K1 et K2). Le sous-programme vérifie une instruction de commande murale ou radio reçue. S'il n'y a pas de réception d'instruction, le sousprogramme met à jour l'état de lampe d'éclairage et revient au départ. S'il y a présence d'instruction, à un bloc 844, la puissance de moteur est fixée à 20 pour cent, et à un bloc 846, l'état de moteur est réglé pour un trajet dans le sens de la descente. L'état de lampe de service est mis à jour et le sous-programme retourne à un bloc 850. Si la porte s'arrête à mi-chemin et qu'une instruction de commande de porte est reçue, la porte se ferme. A l'instant suivant, le système appelle le sous- programme machine état du moteur, la machine état du moteur appellera le sous-programme de descente. La porte doit se fermer vers la limite basse avant qu'elle ne puisse être ouverte pour la pleine course de montée. Si la machine état indique que la porte se trouve dans la position basse (position limite de descente), le sous-programme de position basse, du bloc 830, figure 16, est appelé. Lorsque la porte se trouve dans la position basse, le sous-programme vérifie si une instruction de commande murale ou radio a été reçue. Si ce n'est pas le cas, le sous-programme met à jour la lumière et retourne à un bloc 858. Si c'est le cas, à un bloc 854, la puissance de moteur est fixée à 20 pour cent, et le registre d'état de moteur est placé pour montrer l'état de déplacement vers le haut à un bloc 856. Le sous-programme met ensuite à jour la lampe et retourne au bloc 858. Les figures 17A à 17C représentent le sous-programme de sens de montée, bloc 832. A un bloc 860, le sous-programme attend jusqu'à ce que la boucle principale ait rafraîchi la limite haute dans l'EEPROM 302. Puis, à un bloc 862, il vérifie si 40 millisecondes se sont écoulées depuis la fermeture du relais K3 d'éclairage. Si ce n'est pas le cas, le sous-programme revient au départ. Si c'est le cas, à un bloc 866, le sousprogramme vérifie l'éclairage de la lampe d'avertissement avant un déplacement (seulement si le module d'éclairage optionnel est installé). Si la lumière est allumée, l'état de la lampe clignotante est mis à jour, et le sous-programme retourne à un bloc 868. Si elle est éteinte, à un bloc 870, l'éclairage est terminé, le relais de montée de moteur est excité. Puis, à un bloc 872, le sous-programme attend jusqu'à écoulement de 1 seconde après la mise en marche du moteur. Sinon, le sous-programme va à un bloc 888. Si oui, le sous-programme vérifie le dépassement de temps imparti au signal de rotation. Sinon, à un bloc 876, le sousprogramme vérifie si la vitesse de moteur augmente en vérifiant la valeur du registre RAMPFLAG de la RAM (c'est- à-dire, de montée, de descente, de pleine vitesse, d'arrêt). Si oui, le sous-programme saute au bloc 888. Sinon, à un bloc 878, le sous-programme vérifie si la rotation mesurée est plus longue que la période de rotation disponible. Sinon, le sous-programme va au bloc 888. Si, à un bloc 874, le signal de rotation a dépassé le temps imparti, ou si la période de temps mesurée est plus longue que celle disponible au bloc 878, le sous-programme dérive vers un bloc 880. Au bloc 880, la raison est établie comme obstruction de force. A un bloc 882, si les limites d'apprentissage sont fixées, l'état d'apprentissage est mis à jour. A un bloc 884, la puissance de moteur est fixée à zéro et l'état est établi comme arrêté à mi-chemin. A un bloc 886, le sous-programme revient au départ. Au bloc 888, le sous-programme vérifie si la position exacte de la porte est connue. Si elle ne l'est pas, à un bloc 890, la distance de la porte de la limite haute est mise à jour, en soustrayant la limite haute mémorisée dans la RAM de la position de la porte également mémorisée dans la RAM. Puis, le sous-programme vérifie, à un bloc 892, si la porte se trouve au-delà de la limite haute. Si c'est le cas, à un bloc 894, le sous-programme établit la raison comme étant l'atteinte de la limite. Puis, le sous-programme vérifie si les limites sont en cours d'apprentissage. Si oui, à un bloc 898, la machine d'apprentissage de limites est mis à jour. Sinon, à un bloc 900, la puissance du moteur est fixée à zéro et l'état du moteur est établi à la position haute. Ensuite, le sous-programme retourne à un bloc 902. Si la porte n'a pas dépassé sa limite haute, à un bloc 904, le sousprogramme vérifie si la porte est placée manuellement lors du cycle d'apprentissage. Si ce n'est pas le cas, à un bloc 906, la position de porte à l'intérieur de la distance de ralentissement de la limite est vérifiée. Si c'est le cas, l'indicateur de ralentissement de moteur est affiché à un bloc 910. Si, au bloc 904, la porte est placée manuellement, ou si la porte ne se trouve pas à l'intérieur de la distance de ralentissement, le sous-programme saute à un bloc 912. Au bloc 912, le sous-programme vérifie s'il y a réception d'une instruction de commande murale ou radio. Si oui, à un bloc 916, la puissance de moteur est fixée à zéro et l'état est établi comme arrêté à mi-chemin. Sinon,.à un bloc 914, le système vérifie si le moteur a fonctionné pendant plus de 27 secondes. Si c'est le cas, au bloc 916, la puissance de moteur est fixée à zéro et l'état de moteur est établi comme arrêté à mi-chemin. Ensuite, le sous-programme retourne à un bloc 918. En se référant à la figure 18, celle-ci décrit le sous-programme d'inversion automatique du bloc 836. (L'inversion de force arrête le moteur pendant 0,5 seconde, puis effectue un déplacement vers le haut). A un bloc 920, le sous-programme met à jour la temporisation d'inversion de 0,5 seconde (la temporisation d'inversion de force décrite ci-dessus). Puis, à un bloc 922, le sous-programme vérifie l'expiration de la temporisation d'inversion de force. Si elle a expiré, à un bloc 924, la puissance de moteur est fixée à 20 pour cent et, à un bloc 926, l'état de moteur est réglé pour déplacement vers le haut, et le sous-programme retourne à un bloc 932. Si la temporisation n'a pas expiré, à un bloc 928, le sous-programme vérifie la réception d'une instruction de commande murale ou radio. S'il y a réception, à un bloc 930, la puissance de moteur est fixée à zéro et, au bloc 932, l'état est établi comme arrêté à mi-chemin, puis le sous-programme retourne. S'il n'y a pas réception, le sous-programme retourne au bloc 932. La figure 19 représente le programme de position haute, bloc 834. L'apprentissage de limites de mouvement de porte démarre la porte se trouvant en position haute. A un bloc 934, le sous-programme met à jour le système de sécurité de relais. Puis, à un bloc 936, le sous-programme vérifie la réception d'une instruction de commande murale ou radio, indiquant l'intervention d'une instruction d'utilisateur. S'il y a réception, à un bloc 938, la puissance de moteur est fixée à 20 pour cent et, à un bloc 940, l'état est établi comme déplacement de descente. Puis, l'éclairage est mis à jour à un bloc 942 et le sous-programme retourne à un bloc 950. S'il y a absence de commande murale, le sous-programme vérifie l'apprentissage des limites. Sinon, à un bloc 950, l'éclairage est mis à jour et le sous-programme revient au départ. Si oui, l'automate fini d'apprentissage de limites est mis à jour à un bloc 944. Puis, à un bloc 946, le sous-programme vérifie si c'est le moment d'effectuer un déplacement vers le bas. Si ce n'est pas le cas, le sous-programme met à jour l'éclairage et retourne au bloc 950. S'il est temps d'effectuer un mouvement de descente, à un bloc 948, l'état est établi comme mouvement de descente, et le système retourne au bloc 950. Les figures 20A à 20D montrent le sous-programme de sens de descente, bloc 828. A un bloc 952, le sous- programme attend jusqu'à ce que le programme de boucle principale ait rafraîchi la limite basse de l'EEPROM 302. Dans un but de sécurité, seule la boucle principale ou l'émetteur à distance (radio) peut accéder à des données mémorisées ou écrites dans l'EEPROM 302. Du fait que la communication avec l'EEPROM est traitée à l'intérieur d'un logiciel, il est nécessaire de garantir que deux programmes de logiciel n'essaient pas de communiquer avec l'EEPROM au même moment (et qu'il ne se passe pas de collision de données). Par conséquent, la communication avec l'EEPROM est autorisée seulement dans la boucle principale et dans le programme de Radio, la boucle principale possédant un indicateur d'état occupé pour empêcher la radio de communiquer avec l'EEPROM au même moment. A un bloc 954, le sous- programme vérifie si 40 millisecondes se sont écoulées depuis la fermeture du relais K3 d'éclairage. Si ce n'est pas le cas, le sous- programme retourne à un bloc 956. Si c'est le cas, à un bloc 958, le sous- programme vérifie si la lampe d'avertissement est allumée (pendant 2 secondes si le module d'éclairage optionnel est installé) avant d'effectuer un déplacement. Si oui, le sous-programme met à jour l'état de la lampe d'éclairage et retourne à un bloc 960. Sinon, ou si l'allumage est terminé, à un bloc 962, le sous-programme excite le relais K2 de moteur de descente. A un bloc 964, le sous-programme vérifie si une seconde s'est écoulée depuis que le moteur s'est mis en marche pour la première fois. Le système ignore la force du moteur pendant la première seconde. Ceci laisse un moment au moteur pour surmonter l'inertie de la porte (et dépasser les réglages de force programmés) sans avoir à ajuster les réglages de force programmés de décollement, de fonctionnement normal et de ralentissement. La force est réglée efficacement à un maximum pendant le décollement pour résoudre les problèmes de portes adhérentes. Si le temps d'une seconde ne s'est pas écoulé, le sous-programme saute à un bloc 984. Si la limite de temps d'une seconde est dépassée, à un bloc 966, le sous-programme vérifie le dépassement de temps imparti au signal de rotation. Sinon, à un bloc 968, le sous-programme vérifie si la vitesse de moteur est en cours d'accélération (ceci est une condition de force maximale). Si oui, le programme saute au bloc 984. Sinon, le sous-programme vérifie si la période de rotation mesurée est plus longue que la période de rotation disponible. Sinon, le sous-programme va au bloc 984. Si le signal de rotation a dépassé le temps imparti (bloc 966) ou si la période de rotation est plus longue que celle disponible (bloc 970), ceci est une indication d'une obstruction ou du fait que la porte a atteint la position de limite basse, et le sous-programme saute à un bloc 972. Au bloc 972, le sous-programme vérifie si la porte se trouve au-delà du réglage de limite basse. Si c'est le cas, le sous-programme saute à un bloc 990 où il vérifie si le moteur a été alimenté pendant au moins une seconde. Cette période d'alimentation d'une seconde après atteinte de la limite basse permet que la porte se ferme complètement contre le sol. Ceci est particulièrement important lorsque l'on utilise des moteurs à courant continu. La période d'une seconde résout l'effet de freinage interne du moteur à courant continu lors de la coupure. Une inversion automatique de sens de fonctionnement est impossible dès que le détecteur de position a atteint la limite basse. Si le moteur a fonctionné pendant une seconde, au bloc 990, le sousprogramme fixe à un bloc 994 la raison comme étant l'atteinte de la limite. A un bloc 998, le sous-programme vérifie alors si les limites sont apprises. Si c'est le cas, à un bloc 1002, la machine d'apprentissage de limites est mis à jour. Si ce n'est pas le cas, à un bloc 1006, la puissance du moteur est fixée à zéro et l'état de moteur est établi comme position basse. A un bloc 1008, le sous-programme revient au départ. Si, au bloc 990, le moteur n'a pas fonctionné pendant au moins une seconde, à un bloc 1026, le sous-programme établit la raison comme une limite prématurée. Puis, à un bloc 1028, le sous-programme fixe la puissance de moteur à zéro et l'état de moteur comme inversion automatique et retourne à un bloc 1030. Lors du retour au bloc 984, le sous-programme vérifie si la position de la porte présentement est inconnue. Si c'est le cas, le sous-programme saute à un bloc 1004. Si ce n'est pas le cas, au bloc 986, le sous- programme met à jour la distance de la porte à partir de la limite basse en utilisant une RAM interne qui se trouve dans le microprocesseur 300. Puis, le sous- programme vérifie, au bloc 988, si la porte se trouve à trois pouces (7, 62 cm) au-delà de la limite basse. Si c'est le cas, le sousprogramme saute au bloc 990. Si ce n'est pas le cas, à un bloc 992, le sous-programme vérifie si la porte est placée manuellement pendant le cycle d'apprentissage. Si c'est le cas, le sous-programme saute à un bloc 1004. Si ce n'est pas le cas, au bloc 996, le sous-programme vérifie si la porte se trouve à l'intérieur de la distance de ralentissement de la limite. Sinon, le sous-programme saute au bloc 1004. Si oui, à un bloc 1000, le sous-programme fixe l'indicateur de ralentissement de moteur. Au bloc 1004, le sous-programme vérifie s'il y a réception d'une instruction de commande murale ou radio. Si oui, à un bloc 1012, le sousprogramme fixe la puissance de moteur à zéro et l'état comme inversion automatique. Si ce n'est pas le cas, à un bloc 1010, le sous-programme vérifie si le moteur a fonctionné pendant plus de 27 secondes. Si oui, le sous-programme fixe la puissance du moteur à zéro et l'état comme inversion automatique. Sinon, à un bloc 1014, le sous-programme vérifie si le signal de détecteur d'obstacle a été absent pendant 12 millisecondes, ou plus, en indiquant la présence de l'obstacle ou la défaillance du détecteur. Sinon, le sous-programme retourne à un bloc 1018. Si oui, à un bloc 1016, le sous-programme vérifie si le signal de commande murale ou radio est maintenu pour prendre le pas sur le détecteur infrarouge d'obstacle. Si oui, le sous-programme retourne au bloc 1018. Sinon, à un bloc 1020, le sous-programme établit la raison comme étant l'obstruction d'un détecteur infrarouge d'obstacle. A un bloc 1022, le sous-programme fixe ensuite la puissance de moteur à zéro et l'état comme inversion automatique et retourne à un bloc 1024. (Le programme d'inversion automatique arrête le moteur pendant 0,5 secondes et provoque ensuite une montée de la porte). REVENDICATIONS 1. Dispositif (10) de commande de barrière mobile pouvant être actionné à partir d'un courant alternatif, comprenant en combinaison: un moteur électrique (118) ; une transmission (18) connectée avec le moteur (118) pour être ainsi entraînée et avec la barrière mobile pour déplacer celleci; un circuit électrique destiné à détecter une tension 10 du secteur alternatif et la fréquence du courant alter-natif; une lampe de service (210) un premier ensemble de valeurs de fonctionnement destinées à faire fonctionner la lampe de service (210), fréquence du secteur alternatif est valeurs de fonctionnement la lampe de service (210), du secteur alternatif est (200), sensible à la fréquence du secteur alternatif détectée, destiné à activer l'ensemble de valeurs de fonctionnement correspondant pour faire fonctionner la lampe de service (210). 2. Dispositif (10) de commande de barrière mobile pouvant être actionné à partir d'un courant alternatif selon la revendication 1, caractérisé en ce que la première fréquence du secteur alternatif est de 50 Hz et le premier ensemble de valeurs comprend un premier temps avant extinction et en ce que la seconde fréquence du secteur alternatif est de 60 Hz et le second ensemble de valeurs comprend un second temps avant extinction. 3. Dispositif (10) de commande de barrière mobile pouvant être actionné à partir d'un courant alternatif selon la revendication 2, comprenant en outre un programme destiné à commander une vitesse de moteur, et caractérisé 20 lorsqu'une première détectée; un second ensemble de destinées à faire fonctionner lorsqu'une seconde fréquence détectée; et un régisseur en ce que le premier ensemble de valeurs comprend en outre un facteur de réglage destiné à régler la vitesse de moteur. 4. Dispositif (10) de commande de barrière mobile pouvant être actionné à partir d'un courant alternatif selon la revendication 3, caractérisé en ce que le facteur de réglage est mémorisé dans une table de consultation mémorisée dans une mémoire. 5. Dispositif (10) de commande de barrière mobile pouvant être actionné à partir d'un courant alternatif selon la revendication 2, caractérisé en ce que le premier temps avant extinction est d'environ deux minutes et demie et en ce que le second temps avant extinction est d'environ quatre minutes et demie.