BACCALAUREAT STI GENIE ELECTRONIQUE Epreuve de Construction Electronique Session 2007 LE DÔME DE VIDEO SURVEILLANCE Dossier Technique 840911610 Imprimé le 17/04/2017 Dôme de Vidéo Surveillance Dossier Technique SOMMAIRE 1 2 3 4 5 Présentation et Mise en situation du système ...................................................................................................4 1.1 Présentation .............................................................................................................................................. 4 1.2 Mise en situation ....................................................................................................................................... 4 1.3 Environnement du système technique limité à 2 dômes de surveillance .................................................. 5 1.3.1 Diagramme Sagittal ......................................................................................................................... 5 1.3.2 Liaisons du diagramme sagittal ....................................................................................................... 5 Présentation de l’objet technique : dôme VIC1500..........................................................................................6 2.1 Fonction globale ....................................................................................................................................... 6 2.2 Schéma fonctionnel de niveau 1 ............................................................................................................... 6 2.3 Fonction d’usage ....................................................................................................................................... 6 2.4 Schéma fonctionnel de niveau 2 ............................................................................................................... 6 2.5 Etude partielle des milieux associés au système ....................................................................................... 6 2.5.1 Milieu humain ................................................................................................................................. 6 2.5.2 Milieu technique .............................................................................................................................. 6 2.5.3 Milieu physique ............................................................................................................................... 7 2.5.4 Milieu économique .......................................................................................................................... 7 2.6 Caractéristiques de l’Objet Technique « Dôme de vidéo surveillance VIC1500 » ................................... 8 2.6.1 Précisions préliminaires sur la conception mécanique d'un dôme ................................................... 8 2.6.2 Définitions ....................................................................................................................................... 8 2.6.3 Caractéristiques techniques principales du dôme VIC1500 (extraites de la Documentation Constructeur) ................................................................................................................................................... 9 2.6.4 Connectiques et signaux électriques du dôme VIC1500 ................................................................. 9 2.6.5 Câblage du dôme VIC1500 ........................................................................................................... 10 2.6.6 Mouvements et motorisation d’un dôme ....................................................................................... 10 Descriptif du dôme de surveillance didactisé .................................................................................................11 3.1 Schéma général de câblage du projet didactisé ....................................................................................... 11 3.2 Définition des zones géographiques du projet didactisé ......................................................................... 12 3.3 Définition des commandes « clavier » du projet didactisé ..................................................................... 12 Etude Fonctionnelle de premier degré ...........................................................................................................13 4.1 Schéma fonctionnel de degré 1 ............................................................................................................... 13 4.2 Etude de FP1 : « Acquisition consignes, Affichage et Informations visuelles et sonores» .................... 13 4.3 Etude de FP2 : « Traitement des Informations et Pilotage de l’Actionneur »......................................... 14 4.4 Etude de FP3 : « Détection Position de référence » ................................................................................ 14 4.5 Etude de FP4 : « Traitement Vidéo »...................................................................................................... 15 4.6 Etude de FP5 : « Prise de Vue » ............................................................................................................. 15 4.7 Etude de FP6 : « Visualisation » ............................................................................................................. 15 4.8 Etude de FP7 : « Orientation de la caméra »........................................................................................... 16 4.9 Etude de FP8 : « Détection et Traitement Luminosité» .......................................................................... 16 Etude Fonctionnelle de SECOND degré ........................................................................................................17 5.1 Etude fonctionnelle de second degré de FP1« Acquisition consignes, Affichage et Informations visuelles et sonores».......................................................................................................................................... 17 5.1.1 Schéma fonctionnel de second degré de FP1 ................................................................................ 17 5.1.2 Etude de FS11 : Codage Consignes (Clavier 12 touches) ............................................................. 17 5.1.3 Etude de FS12 : Traitement Consignes ......................................................................................... 18 5.1.4 Etude de FS13 : Adapter les niveaux ............................................................................................ 23 5.1.5 Etude de FS14 : Conversion Electrique/Sonore ............................................................................ 23 5.1.6 Etude de FS15 : Conversion Electrique/Lumineuse ...................................................................... 23 5.1.7 Etude de FS16 : Conversion Electrique/Lumineuse ...................................................................... 23 5.2 Etude fonctionnelle de second degré de FP2 : « Traitement des informations et pilotage de l’actionneur » .................................................................................................................................................... 25 5.2.1 Schéma fonctionnel de second degré de FP2 ................................................................................ 25 5.2.2 Etude de FS21 : Adapter les niveaux ............................................................................................ 25 5.2.3 Etude de FS22 : Conversion série/parallèle................................................................................... 25 5.2.4 Etude de FS23 : Traitement consigne ............................................................................................ 26 5.2.5 Etude de FS24 : Pilotage du Moteur Pas à Pas .............................................................................. 27 5.2.6 Algorigrammes de fonctionnement ............................................................................................... 30 5.3 Etude fonctionnelle de second degré de FP3 : « Détection Position de référence » ............................... 33 5.3.1 Schéma fonctionnel de second degré de FP3 ................................................................................ 33 5.3.2 Etude de FS31 : Conversion Energie Electrique/Lumineuse ........................................................ 33 Thème de Bac Génie Electronique 2007 2/60 Dôme de Vidéo Surveillance Dossier Technique 5.3.3 Etude de FS32 : Filtrer .................................................................................................................. 33 5.3.4 Etude de FS33 : Conversion Energie Lumineuse / Electrique ...................................................... 33 5.4 Etude fonctionnelle de second degré de FP4 : « Orientation de la caméra » .......................................... 35 5.4.1 Schéma fonctionnel de second degré de FP4 ................................................................................ 35 5.4.2 Etude de FS41 : Adaptation d’impédance Vidéo .......................................................................... 35 5.4.3 Etude de FS42 : Détection Synchronisation .................................................................................. 35 5.4.4 Etude de FS43 : Calibrer Durée Image.......................................................................................... 36 5.4.5 Etude de FS44 : Traitement Masquage Vidéo ............................................................................... 37 5.4.6 Etude de FS45 : Masquage ............................................................................................................ 39 5.4.7 Etude de FS46 : Elaboration Niveau de Gris................................................................................. 39 5.4.8 Etude de FS47 : Elaboration Signal Vidéo .................................................................................... 40 5.5 Etude fonctionnelle de second degré de FP7 : « Orientation de la caméra » .......................................... 41 5.5.1 Schéma fonctionnel de second degré de FP7 ................................................................................ 41 5.5.2 Etude de FS71 : Contrôler et Réguler ........................................................................................... 41 5.5.3 Etude de FS72 : Interfacer en puissance........................................................................................ 41 5.5.4 Etude de FS73 : Motorisation pas à pas ........................................................................................ 42 6 Schémas Structurels, PCB et Nomenclatures .................................................................................................43 6.1 Carte « Télécommande » (FP1) .............................................................................................................. 43 6.1.1 Schéma structurel .......................................................................................................................... 43 6.1.2 Schéma d’implantation des composants ........................................................................................ 43 6.1.3 Nomenclature ................................................................................................................................ 44 6.2 Carte Mère « Traitement » (FP2) ............................................................................................................ 45 6.2.1 Schéma structurel .......................................................................................................................... 45 6.2.2 Schéma d’implantation des composants ........................................................................................ 46 6.2.3 Nomenclature ................................................................................................................................ 46 6.3 Carte « Puissance » (FP3 et FP7)............................................................................................................ 47 6.3.1 Schéma structurel .......................................................................................................................... 47 6.3.2 Schéma d’implantation des composants ........................................................................................ 48 6.3.3 Nomenclature ................................................................................................................................ 48 6.4 Carte « Traitement Vidéo » (FP4) .......................................................................................................... 49 6.4.1 Schéma structurel .......................................................................................................................... 49 6.4.2 Schéma d’implantation des composants ........................................................................................ 49 6.4.3 Nomenclature ................................................................................................................................ 50 7 Programmes ...................................................................................................................................................51 7.1 Programme de FP1 ................................................................................................................................. 51 7.2 Programme de FP2 et FS44 .................................................................................................................... 55 Thème de Bac Génie Electronique 2007 3/60 Dôme de Vidéo Surveillance Dossier Technique 1 PRESENTATION ET MISE EN SITUATION DU SYSTEME 1.1 Présentation Le rôle d'une installation de vidéosurveillance est de permettre l'observation de lieux ou de personnes, à distance, dans un souci de sécurité généralement. La tourelle ou dôme de vidéosurveillance (en extérieur), se présente sous la forme d'un lampadaire fixé en haut d'un pylône. Elle permet très simplement et en toute sécurité à un opérateur confortablement installé devant son écran vidéo d'assurer la surveillance d'un ou plusieurs sites. Les applications typiques sont: - Observation du comportement des supporters dans les tribunes d'un stade - Contrôle des accès dans un bâtiment ou ensemble de bâtiments industriels en dehors des heures d'activités - Contrôle du trafic routier - Prévention des actes de délinquance dans les rues d'une commune L'opérateur peut piloter à distance l'appareil à l'aide d'un pupitre de commande ou d’un ordinateur, il peut ainsi zoomer, cadrer ou régler l'image aux moyens d'une simple manette "joystick" et du clavier. La tourelle peut aussi être programmée pour : - Effectuer une ronde sur des prépositions sélectionnées - Activer une préposition sur l'apparition d'une alarme de l'une des quatre entrées d'alarme - Masquer les zones privatives par une incrustation programmable d'une ou plusieurs zones grisées conformément à la loi du 21 janvier 1995 (voir image ci-dessous) 1.2 Mise en situation Commandes Dôme(s) Signaux Vidéo Dôme Vidéo VIC 1500 Moniteurs de visualisation Pupitre de commande Logiciel de Télécommande (Mardel Image) Figure 1. Mise en situation du système de vidéo surveillance Un opérateur se trouve une salle de contrôle dans laquelle on peut trouver : - Un ou plusieurs pupitres de commande ainsi que des moniteurs couleur de visualisation, à la disposition des opérateurs Thème de Bac Génie Electronique 2007 4/60 Dôme de Vidéo Surveillance Dossier Technique - Des équipements de prise de vues en nombre variable sur le site éloigné à surveiller: ce sont les éléments actifs de cette installation. Une installation disposant jusqu’à 99 dômes est envisageable. Ces équipements de prise de vues sont situés dans des pièces ou à l'extérieur des bâtiments, souvent installés en hauteur afin d'assurer une bonne couverture de zone et de protection contre le vandalisme - Les câbles d'alimentation électrique (non représentés sur l'illustration) Les câbles nécessaires au transport du signal vidéo entre ces équipements et les moniteurs de visualisation Un câble de télécommande reliant un pupitre ou un ordinateur à un ou plusieurs équipements L'étude de ce système technique gravitera autour de l'élément "dôme de vidéosurveillance orientable" et il est important de disposer d'un agrandissement d'image variable pour l'adapter à la situation. 1.3 Environnement du système technique limité à 2 dômes de surveillance 1.3.1 Diagramme Sagittal Image zone 1 Eclairage IR 1 Moniteur N°1 Luminosité ambiante N°1 Signal Vidéo 1 Dôme Orientable N°1 Consignes Signal Alarme 1 Alarme Environnement 1 Alarme N°1 Image Captée N°1 Commandes Codées Utilisateur Pupitre de Commande Eclairage IR 2 Compte Rendu Positions Signal Vidéo 2 Moniteur N°2 Dôme Orientable N°2 Luminosité ambiante N°2 Alarme Signal Alarme 2 Image zone 2 Environnement 2 Alarme N°2 Image Captée N°2 Figure 2. Diagramme Sagittal 1.3.2 Liaisons du diagramme sagittal Image captée 1,2: Image des objets ou individus visés par la caméra, limitée à son champ de vision. Signal vidéo 1,2: Signal électrique complexe, représentatif de l'image captée par la caméra, et exploitable par le moniteur de visualisation au standard PAL. Commandes codées : Information numérique sérialisée, codée selon le protocole ERNA (voir document ressource Protocole officiel ERNA) et au format de la norme EIA/RS422 Compte rendu: Informations numériques sérialisées indiquant les coordonnées du point observé (Azimut, Site et Zoom), au format de la norme EIA/RS422 et codée selon un protocole différent du précédent. Consignes: Valeurs numériques de position entrées par l'opérateur au moyen d'un clavier, ou d’un joystick, des touches de zoom et focus. Positions: Valeurs numériques de position AZIMUT, SITE et ZOOM en pas et degré. Image zone choisie 1 et 2: Image observable sur le moniteur de la zone sélectionnée. Alarme 1 et 2: Capteur permettant la détection d ‘une effration Signal Alarme 1 et 2: Signal électrique indiquant une présence ou mouvement (en cas d'effraction détectée sur l'une des entrées d'alarmes associées à chaque dôme, une information directe arrive et dirige automatiquement le bloc caméra vers la zone prédéfinie). Luminosité ambiante 1 et 2: Information sur la luminosité ambiante (détection Jour/Nuit optionnelle sur le dôme VIC1500) Eclairage IR 1 et 2: Signaux lumineux infra rouge pour une vision nocturne Thème de Bac Génie Electronique 2007 5/60 Dôme de Vidéo Surveillance Dossier Technique 2 PRESENTATION DE L’OBJET TECHNIQUE : DOME VIC1500 2.1 Fonction globale L’Objet Technique étudié permet de visualiser sur un moniteur une zone localisée répondant aux consignes établies par l’utilisateur. 2.2 Schéma fonctionnel de niveau 1 Image de la zone cible VISUALISATION A DISTANCE Consignes Utilisateur Image Traitée Matière d’œuvre : Information Etat initial de la matière d’œuvre : Image de la zone cible distante et informations présentes (coordonnées et dimension du masque, position des alarmes, séquence de visualisation pré-programmée etc.) ou fournies instantanément par l’utilisateur Etat final de la matière d’œuvre : Visualisation de tout ou partie de l’image de la zone cible 2.3 Fonction d’usage L’Objet Technique étudié permet de visualiser, de jour et de nuit, sur un moniteur, une zone distante en fonction de l’orientation de la caméra. Cette orientation répond aux consignes établies par l’utilisateur ou à un déclenchement d’une alarme. 2.4 Schéma fonctionnel de niveau 2 Image de la zone cible Eclairage IR Consignes de l'utilisateur Luminosité Gestion du déplacement Déplacement Commande Prise de Vue Rotation Alarmes Sites Signal vidéo non traitée Traitement Vidéo Signal vidéo traitée Le dôme de vidéo surveillance positionne l’axe de sa caméra embarquée en direction de la zone à surveiller d’après les consignes codées d’un utilisateur ou suite à une alarme qui s’est déclenchée. Les consignes codées de l’utilisateur sont envoyées à partir d’un pupitre de commande ou d’un PC par liaison série EIA RS485 et d’après le protocole ERNA (voir document Protocole officiel ERNA). La prise de vue de la caméra peut faire l’objet d’un traitement vidéo (masquage) et pour être ensuite visualisée sur un moniteur. En cas de faible luminosité ambiante (en nocturne par exemple), un éclairage infra rouge associé à un filtre vidéo permet une prise de vue de la zone ciblée. 2.5 Etude partielle des milieux associés au système 2.5.1 Milieu humain Le système de vidéo surveillance est utilisé en exploitation de "base" par un personnel non qualifié ayant suivi une courte formation nécessaire à son utilisation, il ne dispose que d’un joystick pour choisir la zone filmée. La modification, par téléchargement, du programme résidant dans les tourelles (ou dôme), n'est accessible que par un technicien qualifié et autorisé. 2.5.2 Milieu technique Le pupitre de commande et les moniteurs de visualisation sont installés dans une salle. Les tourelles sont positionnées en intérieur ou extérieur, en hauteur, et portées par un mât ou un support mural. Pour l'extérieur, un Thème de Bac Génie Electronique 2007 6/60 Dôme de Vidéo Surveillance Dossier Technique caisson blanc, protection IP65, protège la caméra des intempéries, et modère les variations de température (ventilation). 2.5.3 Milieu physique Les tourelles extérieures (avec leur caisson de protection) doivent résister : - Aux conditions climatiques : de -20°C à +60°C (possibilité de chauffage du bloc caméra en cas de températures négatives) - Aux rayonnements solaires - A la poussière et la pluie 2.5.4 Milieu économique Le prix de revient de l’appareil doit être le plus faible possible et convenir au budget des sociétés ou services de sécurité en charge de la surveillance. Thème de Bac Génie Electronique 2007 7/60 Dôme de Vidéo Surveillance 2.6 Dossier Technique Caractéristiques de l’Objet Technique « Dôme de vidéo surveillance VIC1500 » 2.6.1 Précisions préliminaires sur la conception mécanique d'un dôme Le dôme entre dans la catégorie d'équipements contrôlables en "PTZ", sigle que l'on trouve dans la plupart des catalogues fournisseurs. Cette mention indique la possibilité de piloter indépendamment les 3 réglages suivants : Types de Réglage Termes français utilisés par le concepteur Pan (pour panoramique) Azimut Tilt Site Zoom Zoom (agrandissement) Ces termes sont utilisés par exemple dans la documentation du protocole de communication ERNA utilisé sur le dôme VIC1500. 2.6.2 Définitions Azimut: Angle formé par la direction du lieu observé et une direction de référence. L'angle est compté positivement dans le sens des aiguilles d'une montre à partir de cette référence. Dôme VIC1500 : Vue de dessus Angle Azimut 0° ée Vis n io ect Dir Dôme Site : Angle formé par la ligne joignant la caméra au point visé et sa projection sur un plan vertical. +90° Dôme 90° Di rec tio n Vi sée Angle Site 0° Zoom: Dispositif optique interne du module caméra qui permet de faire un gros plan sur la zone observée (téléobjectif) ou inversement d'avoir une vue d'ensemble (grand angle). La mention "PTZ control" indique de piloter indépendamment ces trois réglages Thème de Bac Génie Electronique 2007 8/60 Dôme de Vidéo Surveillance Dossier Technique 2.6.3 Caractéristiques techniques principales du dôme VIC1500 (extraites de la Documentation Constructeur) 2.6.4 Connectiques et signaux électriques du dôme VIC1500 Figure 3 : Dôme VIC : Vue de dessous Alimentation : la tension d’alimentation est de 12V et doit être au minimum de 10V pour assurer un bon fonctionnement Liaison EIA RS485 (anciennement dénommée RS 485) : le format RS-485 a été retenu afin de permettre l’utilisation de câbles de grandes longueurs (jusqu’à 1500 m), pour sa topologie simple et sa haute immunité aux interférences électromagnétiques externes. C’est une liaison de type série, asynchrone et numérique où les signaux sont transmis en mode symétrique et où le nombre de transmetteur/récepteur est de 32 (voir plus pour certains drivers, mais la sensibilité de la ligne est augmentée). L’utilisation de 2 liaisons de ce type (donc 4 fils) permet une communication full duplex. Vidéo : le dôme délivre un signal vidéo composite 1Vpp 75 conforme au standard PAL/SECAM (voir document ressource TP3_Traitement Vidéo-Annexes) Alarmes et relais : le dôme permet la gestion de 2 alarmes et de 2 relais (le dôme pourra par exemple se positionner automatiquement sur une zone si une alarme associée à cette zone s’est déclenchée) L’adressage d’un dôme : la liaison RS485 full duplex permet de mettre des dômes en réseau : un seul pupitre de commande pourra communiquer avec plusieurs dômes. Thème de Bac Génie Electronique 2007 9/60 Dôme de Vidéo Surveillance Dossier Technique Ce type de réseau est appelé « réseau en parallèle », car lorsqu’un ordre est envoyé du pupitre, tous les dômes le reçoivent. Il faut donc que chaque dôme possède une adresse pour se différencier des autres. L’adressage se fait par des roues codeuses placées au dos du dôme (sur la carte « communication »). On peut ainsi adresser jusqu'à 99 dômes sur un seul réseau. Il suffit que le pupitre soit réglé sur la bonne adresse pour communiquer avec le dôme de son choix. 2.6.5 Câblage du dôme VIC1500 Figure 4 : Dôme VIC 1500 : Câblage 2.6.6 Mouvements et motorisation d’un dôme Un dôme peut faire un mouvement azimut sur 360° de façon infinie, sans butée. Il peut donc tourner des heures dans le même sens. En mouvement site, il y a une butée à 93°. C’est le couple moteurs-capteurs qui permet au dôme de pivoter et de garder une référence cohérente pour éviter des dérives. Deux moteurs pas à pas (200 pas par tour) entraînent le mouvement en rotation autour des 2 axes. Ces moteurs sont tous deux montés sur courroies crantées pour entraîner les mouvements « Site » et « Azimut ». Le câblage électrique entre la partie fixe (bâti) et la partie mobile (étrier) transite par un connecteur rotatif (ou joint tournant). Les contacts sont assurés par des "balais" en appui sur des pistes métalliques concentriques. Le réglage de l'agrandissement s'effectue aussi par un moteur pas à pas, moteur de ZOOM, agissant sur un dispositif optique de l'objectif de la caméra (ces éléments sont internes au module caméra SONY et ne sont pas accessibles). La vitesse de déplacement étant susceptible d'incommoder l'opérateur, elle est modérée automatiquement en rapport avec le facteur de ZOOM. Thème de Bac Génie Electronique 2007 10/60 Dôme de Vidéo Surveillance 3 Dossier Technique DESCRIPTIF DU DOME DE SURVEILLANCE DIDACTISE Afin de simplifier l’étude et de fabriquer une partie opérative, un objet technique dont les fonctionnalités se rapprochent de celles du système VIC1500 a été développé. Le tableau suivant présente les différences entre le dôme de surveillance VIC1500 et l’objet technique didactisé. Dôme de Surveillance VIC1500 Objet Technique didactisé Pupitre de commande Souris / clavier / Joystick / PC Clavier 12 touches + Afficheur LCD Interface Logiciel MARDEL installé sur un PC Code écrit en langage C embarqué dans un Homme/Machine microcontrôleur ATMEGA8535 présent sur carte « clavier 12 touches » Liaison Pupitre/Objet RS232 puis RS485 full duplex RS232 unidirectionnelle (simplex) Technique Protocole ERNA Protocole simplifié Logiciel de Logiciel développé par la société Code écrit en langage C embarqué dans un commande de la MARDEL et embarqué sur un microcontrôleur ATMEGA8535 présent sur «Partie Opérative » microcontrôleur : code source non fourni la « carte mère » de notre système didactisé par le vendeur Mouvement caméra Azimut : Azimut (seulement) : 360° sans butée 0°360° (butée logicielle) 4571 positions / tour Vitesse réglable (par le technicien) Site : 4000 positions / tour 0 à 93° 1142 positions / tour Traitement vidéo Masquage de plusieurs zones en ligne et Masquage d’une seule zone par image et en en colonne ligne uniquement 3.1 L’objet technique VIC1500 sera étudié lors du TP référencé « TP1-Système VIC1500» L’objet technique didactisé qui sera intégralement réalisé par groupe de 4 élèves sera étudié de manière plus détaillée Schéma général de câblage du projet didactisé L’objet technique réalisé est modulaire ; il est constitué de : une carte « Télécommande » une carte « Traitement vidéo » une carte « détection de luminosité » (étudiée en Physique Appliquée) une carte mère « Traitement » une carte « puissance » une partie opérative (Moteur Pas à Pas, couplage mécanique et Caméra CCD) une alimentation triple 12V/+5V/-5V/1A un moniteur vidéo un Thème de Bac Génie Electronique 2007 11/60 Dôme de Vidéo Surveillance 3.2 Dossier Technique Définition des zones géographiques du projet didactisé L’espace d’évolution de la caméra de 360° est découpé en 8 zones égales, chaque zone correspond à 500 positions différentes de la caméra : la zone 0 correspond à une position comprise entre 0° et 45° la zone 1 correspond à une position comprise entre 45° et 90° la zone 7 correspond à une position comprise entre 315° et 360° 45° 500 pas Position initiale (au milieu de la zone 0 : 22.5° ou 250 pas) 135° 1500 pas 0° 0 ou 4000 pas Position de référence. Correspond à un passage de la vis située sur la poulie au travers de la fourche optique 180° 2000 pas Direction de visée 225° 2500 pas 315° 3500 pas 3.3 Valeur de la position visée, en degré ou en nombre de pas fait depuis la position de référence 90° 1000 pas 270° 3000 pas Définition des commandes « clavier » du projet didactisé A l’aide du clavier et en visualisant les différents menus sur l’écran LCD, l’opérateur peut choisir de : positionner la caméra dans sa position initiale (dans la partie médiane de la zone 0) faire pivoter la caméra par incrément de 5 pas (déplacement relatif) suivant le sens Horaire (H) ou Anti Horaire (AH) positionner la caméra au milieu d’une des 8 zones (déplacement absolu) Les coordonnées des lignes de l’image vidéo, à masquer suivant la zone visualisée, auront été préalablement définies. La programmation de ces paramètres se fera lors du téléchargement du logiciel dans le microcontrôleur de la carte mère « Traitement ». Dans la phase d’initialisation de l’orientation de la caméra, l’image sera totalement masquée. Thème de Bac Génie Electronique 2007 12/60 Dôme de Vidéo Surveillance 4 Dossier Technique ETUDE FONCTIONNELLE DE PREMIER DEGRE 4.1 Schéma fonctionnel de degré 1 +12V Lum Détection et Traitement Luminosité FP8 Alimentation Image_Traitée Nbre_Ligne +12V +5V -5V Ligne_Debut Zone_Masq FA Image de la zone cible Vidéo_Out Vidéo_In Traitement Vidéo Visualisation Prise de Vue FP4 FP6 FP5 Réglage_Gris Liaison Mécanique Position Reset Consignes Utilisateur R_Contraste Acquisition consignes, Rx_Cde Affichage et Informations visuelles et sonores FP1 Rot_Cam INxx Traitement Informations et Pilotage Actionneur FP2 Vis_LCD Vis_Led 4.2 Son_Buz F_IR 4 Orientation de la caméra Phasex 2 Pos_Ref_E FP7 Pos_Ref_M Détection Position de Référence FP3 Etude de FP1 : « Acquisition consignes, Affichage et Informations visuelles et sonores» Cette fonction : o Assure le décodage du pupitre de commande (clavier) et ainsi permet d’obtenir le code de la touche enfoncée. o Assure le codage de la consigne issue du clavier et permet son envoi via la liaison série RS232 o Permet l’affichage sur un écran LCD (2 lignes / 16 caractères) du menu de commande et des consignes de l’utilisateur. o Fournit différentes informations sonores et visuelles sur le fonctionnement du pupitre de commande par l’intermédiaire d’un buzzer et d’une LED rouge. Entrées : Désignation Consignes Utilisateur Reset R_Contraste Nature ou Type Action manuelle Définition Consignes de l’utilisateur par appui manuel sur un clavier 12 touches Logique Action Manuelle Remise à zéro (actif à l’état bas) du microcontrôleur Réglage du contraste de l’écran LCD Sorties : Désignation Rx_Cde Nature ou Type Numérique Vis_LCD Visuel (texte) Définition Donnée série correspondante à la consigne (niveaux de tension compatibles Norme RS232C) Format de la trame : 1bit de START, 8bits de donnée, 1 bit de STOP, pas de parité. Vitesse de transmission : 9600 Bauds Suite de caractères affichés sur un écran LCD (affichage des différents menus de la télécommande) Thème de Bac Génie Electronique 2007 13/60 Dôme de Vidéo Surveillance Vis_Led Visuel Son_Buz Sonore 4.3 Dossier Technique Emission d’un signal lumineux de couleur rouge signifiant qu’une donnée série est transmise Emission d’un signal sonore signifiant l’appui sur une touche autorisée du clavier Etude de FP2 : « Traitement des Informations et Pilotage de l’Actionneur » Cette fonction : o Assure le traitement de l’information réceptionnée (consigne de l’utilisateur) via la liaison série de type RS232 o Assure le séquencement de l’actionneur : pendant sa phase d’initialisation à la mise sous tension du système en fonction de la position désirée Entrées : Désignation Rx_Cde Pos_Ref_E Sorties : Désignation Nature ou Type Définition Numérique Donnée série correspondante à la consigne (niveaux de tension compatibles Norme RS232C) Format de la trame : 1bit de START, 8bits de donnée, 1 bit de STOP, pas de parité. Vitesse de transmission : 9600 Bauds Logique Niveau logique image du passage de la caméra à la position de référence : Niveau haut : position de référence détectée Niveau bas : position de référence non détectée IN01 IN11 IN02 IN12 Nature ou Type Logique PORTC.1 PORTC.3 PORTC.0 PORTC.2 Phase1 Phase2 Position Logique PORTC4 PORTC5 Numérique 4.4 Définition Signaux logiques fixant la valeur du courant dans les bobines du moteur : 4 niveaux sont disponibles, 2 sont utilisés, courant nul et courant moyen, nécessaire en mode ½ pas. En mode ½ pas IN01 et IN02 sont au niveau Haut. IN11et IN12 ont un rapport cyclique de 25% et sont déphasés d’une ½ période. Signaux logiques fixant le sens du courant dans les bobines du moteur ce qui permet de changer les polarités magnétiques des bobines (Nord et Sud) Phase1 et Phase2 sont déphasés d’ ¼ de période Variable logicielle (de type entier) qui indique la valeur de la position courante de l’axe de la caméra (en nombre de pas) : de 0 à 3999 (4000 positions au total) Etude de FP3 : « Détection Position de référence » Cette fonction : o Permet d’informer le microcontrôleur du passage de la caméra à la position référence Entrée : Désignation Pos_Ref_M Sortie : Désignation Pos_Ref_E Nature ou Type Définition Logique Obstacle matérialisé par une tige fixée sur une poulie (120 dents) et coupant le faisceau lumineux Lum_In (non représenté ici car interne à FP3) et émis par la diode du capteur à fourche Nature ou Type Logique PORTC6 Définition Niveau logique image du passage de la caméra à la position de référence : Niveau haut : position de référence détectée Niveau bas : position de référence non détectée Thème de Bac Génie Electronique 2007 14/60 Dôme de Vidéo Surveillance 4.5 Dossier Technique Etude de FP4 : « Traitement Vidéo » Cette fonction : o Fournit le signal vidéo « Video_Out » qui va être envoyé vers le moniteur vidéo. Ce signal est le résultat du traitement du signal vidéo « Vidéo_In » capté par la caméra. Le traitement consiste à masquer ou pas une partie de l’image en fonction de la zone pointée par la caméra Entrées : Désignation Position Vidéo_IN Nature ou Type Numérique Réglage_Gris Tension Analogique Manuel Zone_Masq Tableau logiciel Ligne_Debut Tableau logiciel Nbre_Ligne Tableau logiciel Sorties : Désignation Video_Out 4.6 Nature ou Type Tension Analogique Définition Variable mémoire (de type entier) image de la valeur de la position courante Signal Vidéo composite non traité issu de la caméra Amplitude : 1Volt crête-crête - 75 Action sur un potentiomètre ajustant le niveau analogique de la tension Gris Tableau à 1 dimension : chaque élément d’indice i de ce tableau indique si la zone i doit être masquée ou pas 0 pas de masquage 1 masquage Tableau à 1 dimension : chaque élément d’indice i de ce tableau indique le numéro de la ligne de la zone i où le masquage de l’image doit commencer Remarque : on ne tient pas compte ici de la trame paire ou de la trame impaire. Le numéro de ligne devra être compris entre 1 et 312. Tableau à 1 dimension : chaque élément d’indice i de ce tableau indique le nombre de lignes de la zone i à masquer Définition Signal Vidéo composite traité Amplitude : 1Volt crête-crête - 75 Etude de FP5 : « Prise de Vue » Cette fonction : o Fournit le signal vidéo composite Video_In, non traité et capté par la caméra Entrées : Désignation Nature ou Type Image de la zone Information cible lumineuse Sorties : Désignation Vidéo_IN 4.7 Nature ou Type Tension Analogique Définition Image de la zone vers laquelle pointe la caméra Définition Signal Vidéo composite non traité issu de la caméra Amplitude : 1Volt crête-crête - 75 Etude de FP6 : « Visualisation » Cette fonction : o Fournit l’image traitée de la zone vers laquelle pointe la caméra Entrées : Désignation Video_Out Nature ou Type Tension Analogique Thème de Bac Génie Electronique 2007 Définition Signal Vidéo composite traité Amplitude : 1Volt crête-crête - 75 15/60 Dôme de Vidéo Surveillance Dossier Technique Sorties : Désignation Nature ou Type Image de la zone Visuel cible 4.8 Définition Image traitée de la zone vers laquelle pointe la caméra Etude de FP7 : « Orientation de la caméra » Cette fonction permet de : o Contrôler et réguler le courant du moteur o Interfacer en puissance o Convertir une énergie électrique en une énergie mécanique Entrées : Désignation IN01 IN11 IN02 IN12 Nature ou Type Logique PORTC.1 PORTC.3 PORTC.0 PORTC.2 Phase1 Phase2 Logique PORTC4 PORTC5 Définition Signaux logiques fixant la valeur du courant dans les bobines du moteur : 4 Niveaux sont disponibles, 2 sont utilisés, courant nul et courant moyen, nécessaire en mode ½ pas. En mode ½ pas IN01 et IN02 sont au niveau Haut. IN11et IN12 ont un rapport cyclique de 25% et sont déphasés d’une ½ période. Signaux logiques fixant le sens du courant dans les bobines du moteur ce qui permet de changer les polarités magnétiques des bobines (Nord et Sud) Phase1 et Phase2 sont déphasés d’ ¼ de période Sorties : Désignation Rot_Cam Type Mécanique Définition Angle de l’axe de la caméra par rapport à la position de référence 4.9 Etude de FP8 : « Détection et Traitement Luminosité» Cette fonction permet de : o Détecter un seuil de faible luminosité o Commander une batterie de LEDs infra-rouge Entrées : Désignation Lum Sorties : Désignation F_IR Nature ou Type Rayonnement lumineux Définition Luminosité ambiante Nature ou Type Rayonnement lumineux Définition Faisceaux lumineux infra-rouge émis par une batterie de LED se trouvant dans l’axe de la caméra Remarque 1 : Cette fonction sera étudiée en Physique Appliquée Thème de Bac Génie Electronique 2007 16/60 Dôme de Vidéo Surveillance 5 Dossier Technique ETUDE FONCTIONNELLE DE SECOND DEGRE 5.1 Etude fonctionnelle de second degré de FP1« Acquisition consignes, Affichage et Informations visuelles et sonores» 5.1.1 Schéma fonctionnel de second degré de FP1 Buzzer LED_R E, RS, R/W DB[4..7] Conversion Electrique/Sonore FS14 Son_Buz Conversion Electrique/Lumineuse FS15 Vis_Led Conversion Electrique/Lumineuse FS16 Vis_LCD 7 Consignes Utilisateur Col[1..3] Codage Consignes (Clavier 12 touches) FS11 4 3 R_Contraste Traitement Consignes FS12 Reset L[1..4] TX_µP Adapter les Niveaux RX_Cde FS13 5.1.2 Etude de FS11 : Codage Consignes (Clavier 12 touches) Rôle : o Permet de convertir (ou coder) les consignes entrées au clavier par l’utilisateur en signaux électriques exploitables par un microcontrôleur Entrées : Désignation Consignes Utilisateur COL[1..3] Sortie : Désignation L[1..4] Nature ou Type Action manuelle Logique PORTA[0..2] Définition Consignes de l’utilisateur entrées par l’intermédiaire d’un clavier 12 touches Signaux logiques de scrutation et de sélection des 3 colonnes du clavier. Actifs à l’état bas Nature ou Type Logique PORTA[3..6] Définition Signaux logiques indiquant l’état de chacune des 4 lignes du clavier. actifs au niveau bas (niveau haut au repos) Structure matérielle : Clavier 12 touches à codage XY Visu du clavier 12 touches : 1 4 7 * 2 5 8 0 3 6 9 # Lorsqu’une touche est appuyée, il y a contact entre la ligne et la colonne dont la touche est l’intersection. Thème de Bac Génie Electronique 2007 17/60 Dôme de Vidéo Surveillance Dossier Technique La partie logicielle (précisément la fonction Acq_touche() de FS12), permettant la détection et le décodage d’une touche appuyée, positionne successivement une colonne COLx du clavier à 0 (les autres étant à 1). Ensuite, il est effectué une lecture des différentes lignes Ly, et la présence d’un 0 sur l’une de celles-ci permet d’identifier la touche appuyée. Exemple : La touche « 1 » est appuyée COL3 COL2 COL1 L4 L3 L2 L1 Conclusion 1 1 0 1 1 1 0 Détection de la touche 1 La touche 1 est à l’intersection de COL1 et L1 1 0 1 1 1 1 1 Aucune détection 0 1 1 1 1 1 1 Aucune détection Codage (en base 10) des touches du clavier : Touche appuyée Code renvoyé Touche appuyée 0 0 4 1 1 5 2 2 6 3 3 7 Code renvoyé 4 5 6 7 Touche appuyée 8 9 * # Code renvoyé 8 9 10 11 5.1.3 Etude de FS12 : Traitement Consignes La fonction secondaire FS12 est une fonction logicielle dont le code est implanté dans la mémoire FlashROM d’un microcontrôleur ATMEGA8535L cadencé à 3.6864 MHz. Rôle : Cette fonction grâce à son logiciel de traitement : o Assure le décodage de la consigne entrée au clavier 12 touches par l’utilisateur o Convertit et transmet cette consigne par liaison série au format RS232 o Fournit le signal de commande de l’information sonore relative à l’appui d’une touche autorisée sur le clavier o Fournit le signal de commande de l’information visuelle relative à une transmission série en cours o Gère l’afficheur LCD PORTD PORTC PORTB PORTA Liste des broches utilisées du microcontrôleur : Nom Nature PA0-PA2 Sorties logiques PA3-PA6 Entrées logiques PB0 Sortie logique PB1 Sortie logique PC0 Sortie logique PC1 Sortie logique PC2 Sortie logique PC4-PC7 RXD Sorties logiques Entrée logique TXD Sortie logique Information COL[1..3] : Signaux logiques de scrutation et de sélection des 3 colonnes du clavier actives à l’état bas (utiles pour le décodage de la consigne issue du clavier 12 touches) L[1..4] : Signaux logiques indiquant l’état de chacune des 4 lignes du clavier (utiles pour le décodage de la consigne issue du clavier 12 touches) BUZZER : signal de commande de l’information sonore LED_R : signal de commande de l’information visuelle RS : Signal logique d’envoi d’un caractère ou d’une instruction R/W : Signal logique validant une écriture ou une lecture E : Signal logique de validation des données envoyées au LCD DB[4..7] : quartet de données envoyé au LCD RX_µP : Réception série asynchrone RS232 (pas utilisé dans la version actuelle) TX_µP : Transmission série asynchrone RS232 Entrée logique active à l’état bas Entrées d’horloge Reset manuel ou automatique (à la mise sous tension) du microcontrôleur Horloge à 4 MHz RESET XTAL1, XTAL2 Thème de Bac Génie Electronique 2007 18/60 Dôme de Vidéo Surveillance Dossier Technique Remarque 2: les signaux nécessaires à la programmation du microcontrôleur (MOSI, MISO et SCK) n’ont pas été représentées dans le tableau précédent. Remarque 3: À la mise sous tension du microcontrôleur, un circuit dédié (Power On Reset) permet de maintenir un reset interne pendant un temps Tout (4.1ms dans notre cas) (voir documentation ATMEga8535 p37/38). La structure matérielle (R1, C1) permet de s’affranchir des rebonds du bouton poussoir K1 afin d’éviter des remises à zéro successives lors d’une remise à manuelle (appui sur le bouton poussoir K1). A la mise sous tension cette structure rallonge le temps de remise à zéro interne. Remarque 4: Les signaux E, RS, R/W, DB[4..7] sont les signaux utiles à l’écran LCD. Ces signaux sont gérés par des fonctions logicielles de la bibliothèque LCD.h fournie dans le logiciel CVAVR. Structure logicielle : Les différentes fonctions logicielles font partie du projet telecom.prj développé avec le logiciel CVAVR en langage C. Fonction Fichier Description Main() Telecom Programme Principal Define() Telecom_Define.c Déclarations Init() Telecom_Init.c Initialisations Acq_touche() Telecom_Acq_Touche.c Acquisition du code de la touche appuyée sur le clavier Transmettre(char data) Telecom_Transmettre.c Transmission série de la consigne Bip_Touche Telecom_Bip_Touche.c Commande Effet sonore si une touche autorisée a été appuyée et joue la fonction d’anti-rebond pour les boutons poussoir du clavier Afficher_Menu_Principal() Telecom_Menu.c Affichage du menu principal sur LCD Menu_Init() Telecom_Menu.c Menu pour le positionnement initial de la caméra Menu_Depla_Relatif() Telecom_Menu.c Menu pour déplacer l’axe de la caméra dans le sens Horaire ou Anti-Horaire de 5 pas à chaque appui Menu_Depla_Zone Telecom_Menu.c Menu pour déplacer la l’axe de la caméra sur une zone déterminée (de 0 à 7) Thème de Bac Génie Electronique 2007 19/60 Dôme de Vidéo Surveillance Dossier Technique Algorigrammes de fonctionnement de FS12 : Programme Principal Main() Debut Init() Touche=touche_Valide Menu_Init() Afficher sur LCD Menu Principal Acq_touche() Touche = 1 ? Touche = 2 ? Bip_Touche() Menu_Init() Bip_Touche() Touche = 3 ? Menu_Depla_Relatif() Bip_Touche() Menu_Depla_Zone() Sous-Programme Init() Sous-Programme Bip_touche() Sous-Programme Transmettre () Init () Bip_Touche() Transmettre (data) Configurer Port A Configurer Port B Eteindre Led Rouge Eteindre Buzzer Initialiser transmission Allumer Buzzer Attendre 20 ms Eteindre Buzzer Charger et Transmettre la donnnée à envoyer Allumer Led Rouge Attendre 150 ms Retour Transmission pas terminée ? Configurer Liaison Série Initialiser Ecran Attendre 200 ms Retour Eteindre Led Rouge Retour Thème de Bac Génie Electronique 2007 20/60 Dôme de Vidéo Surveillance Dossier Technique Sous-Programme Acq_Touche() Acq_Touche 1 2 colonne 0 = 0 et colonne 1 et 2 =1 colonne 1 = 0 et colonne 0 et 2 =1 colonne 2 = 0 et colonne 0 et 1 =1 Lire L[1..4] Lire L[1..4] Lire L[1..4] L1=0 ? L1=0 ? L1=0 ? Touche=Défaut Touche = 1 Touche = 2 Retour (Touche) L2=0 ? Retour (Touche) L2=0 ? Retour (Touche) L2=0 ? Touche = 4 Touche = 5 Touche = 6 Retour (Touche) Retour (Touche) Retour (Touche) L3=0 ? L3=0 ? Touche = 7 L3=0 ? Touche = 8 Retour (Touche) L4=0 ? Retour (Touche) Touche = 9 Retour (Touche) L4=0 ? Touche = touche_Sortie 1 Touche = 3 Retour (Touche) L4=0 ? Touche = touche_Valide Touche = 0 2 Retour (Touche) Retour (Touche) Retour (Touche) Thème de Bac Génie Electronique 2007 21/60 Dôme de Vidéo Surveillance Dossier Technique Sous-Programme Menu_Init() Sous-Programme Menu_Depla_Relatif() Menu_Init() Menu_Depla_relatif () Effacer LCD et Ecrire texte Effacer LCD et Ecrire texte Sortir Menu ? Sortir Menu ? Bip_Touche () Bip_Touche () Déplacer Sens AntiHoraire? Valider Initialisation ? Déplacer Sens Horaire? Bip_Touche () Bip_Touche () Transmettre (A) Transmettre (I) Bip_Touche () Attendre 4s Transmettre (H) Ecrire texte Acq_Touche () Retour Acq_Touche () Retour Sous-Programme Menu_Depla_Zone() Menu_Depla_Zone () Effacer LCD et Ecrire texte Touche=Touche_Defaut Sortir Menu ? Zone 0? Zone 1? Bip_Touche () Transmettre (0) Bip_Touche () Transmettre (1) Zone 2 ? Zones 3, 4, 5 et 6 non représentées pour simplifier l'algorigramme Bip_Touche () Zone 7? Bip_Touche () Transmettre (2) Bip_Touche () Transmettre (7) Acq_Touche () Thème de Bac Génie Electronique 2007 Retour 22/60 Dôme de Vidéo Surveillance Dossier Technique 5.1.4 Etude de FS13 : Adapter les niveaux Rôle : o Transforme les niveaux logiques TTL/CMOS à envoyer à FP2 (Traitement des Informations et Pilotage des actionneurs) en niveaux de tension compatibles RS232C c'est à dire : un niveau logique 0 correspond à une tension comprise entre +3V et +25V. un niveau logique 1 correspond à une tension comprise entre –3V et –25V. Entrées : Désignation Tx_µP Sorties : Désignation Rx_Cde Nature ou Type Numérique PORTD.1 Définition Donnée série correspondante à la consigne : « I » ou (49)16 pour Initialiser la position de la caméra « A » ou (41)16 pour déplacer l’axe de la caméra de 5 pas dans le sens Anti-Horaire « H » ou (48)16 pour déplacer l’axe de la caméra de 5 pas dans le sens Horaire (Numéro de la zone)10 : de 0 à 7 Nature ou Type Numérique Définition Idem Tx_µP mais compatible norme RS232C Structure matérielle : Circuit MAX232 et ses composants annexes 5.1.5 Etude de FS14 : Conversion Electrique/Sonore Rôle : o Permet l’émission d’un signal sonore (pendant 20 ms) lors d’un appui sur une touche autorisée Entrées : Désignation Buzzer Sorties : Désignation Son_Buz Nature ou Type Logique PORTB.0 Définition Buzzer=1 : Fonctionnement du buzzer Buzzer=0 : Arrêt du buzzer Nature ou Type Sonore Définition Emission d’un signal sonore par un buzzer (avec oscillateur intégré) signifiant l’appui sur une touche autorisée du clavier 5.1.6 Etude de FS15 : Conversion Electrique/Lumineuse Rôle : o Permet l’émission d’un signal visuel par l’intermédiaire d’une LED rouge (pendant 200 ms lors d’une transmission série) Entrées : Désignation LED_R Sorties : Désignation Vis_LED Nature ou Type Logique PORTB.1 Définition LED_R =1 : LED allumée LED_R =0 : LED éteinte Nature ou Type Visuel Définition Emission d’un signal lumineux de couleur rouge signifiant qu’une donnée série est transmise 5.1.7 Etude de FS16 : Conversion Electrique/Lumineuse Rôle : o Permet un affichage des différents menus sur un écran LCD constitué de 2 lignes et 16 colonnes. L’utilisateur agira sur la télécommande en fonction des menus et sous-menus affichés. Thème de Bac Génie Electronique 2007 23/60 Dôme de Vidéo Surveillance Entrées : Désignation E, RS, R/W, DB[4..7] R_Contraste Sorties : Désignation Vis_LCD Nature ou Type Numérique Action Manuelle Nature ou Type Visuel (texte) Dossier Technique Définition Signaux utiles à l’écran LCD et gérés par des fonctions logicielles de la bibliothèque LCD.h fournies dans le logiciel CVAVR Réglage du contraste de l’écran LCD Définition Suite de caractères affichés sur un écran LCD (affichage des différents menus de la télécommande) Aspect visuel du menu principal : I N I T │ D R E L │ D Z O N E 1 │ 2 │ 3 Exemple : L’appui sur la touche 1 permettra d’accéder au menu INIT L’appui sur la touche 2 permettra d’accéder au menu DEPLACEMENT RELATIF L’appui sur la touche 2 permettra d’accéder au menu DEPLACEMENT PAR ZONE Aspect visuel du menu Init : I N I T p o s i t C A M ?* * : A n n u l # : O K Exemple : L’appui sur la touche * permettra de sortir du menu « Init » sans lancer une initialisation L’appui sur la touche # permettra de valider une initialisation Aspect visuel du menu Déplacement relatif : < ─ ─ 4 6 ─ ─ > * : R E T O U R Exemple : L’appui sur la touche 4 permettra un déplacement dans le sens Anti_Horaire L’appui sur la touche 6 permettra un déplacement dans le sens Horaire L’appui sur la touche * permettra de sortir du menu « Déplacement relatif » L’appui sur une touche différente de (4, 6 ou *) n’aura aucun effet) Aspect visuel du menu Déplacement Zone : Z O N E ( 0 7 ) ─ ─ > * : R E T O U R Exemple : L’appui sur la touche 6 permettra un déplacement sur la zone 6 L’appui sur la touche 2 permettra un déplacement sur la zone 2 L’appui sur la touche 9 ne permettra aucun déplacement car il n’existe pas de zone 9 L’appui sur la touche * permettra de sortir du menu « Déplacement Zone » Thème de Bac Génie Electronique 2007 24/60 Dôme de Vidéo Surveillance 5.2 Dossier Technique Etude fonctionnelle de second degré de FP2 : « Traitement des informations et pilotage de l’actionneur » 5.2.1 Schéma fonctionnel de second degré de FP2 Pos_Ref_E Rx_Cde Adapter les niveaux FS21 Rx_µC Conversion Donnee série/parallèle FS22 T raitement consigne FS23 Cons_Pos 4 / Phasex 2 / Position INxx Pilotage du Moteur FS24 5.2.2 Etude de FS21 : Adapter les niveaux Rôle : o Transforme les niveaux logiques à envoyer à FP2 (Traitement des Informations et Pilotage des actionneurs) en niveaux de tension compatibles RS232C c'est à dire : un niveau logique 0 correspond à une tension comprise entre +3V et +25V. un niveau logique 1 correspond à un e tension comprise entre –3V et –25V. Entrées : Désignation Rx_Cde Sorties : Désignation Rx_µC Nature ou Type Numérique Définition Donnée série correspondante à la consigne (niveaux de tension compatibles Norme RS232C) Format de la trame : 1bit de START, 8bits de donnée, 1 bit de STOP, pas de parité. Vitesse de transmission : 9600 Bauds Nature ou Type Numérique PORTD.0 Définition Niveau logique compatible TTL Format de la trame : 1bit de START, 8bits de donnée, 1 bit de STOP, pas de parité. Vitesse de transmission : 9600 Bauds Structure matérielle : Circuit MAX232 et ses composants annexes 5.2.3 Etude de FS22 : Conversion série/parallèle Rôle : o Traiter les informations en mode « scrutation » du bit de réception, du contenu du registre de réception de l’UART du microcontrôleur (UDR). la trame est constituée de 1 bit de START, 8 bits de donnée, 1 bit de STOP. La vitesse est de 9600 bauds Entrées : Désignation Rx_µC Nature ou Type Numérique PORTD.0 Définition Niveau logique compatible TTL Format de la trame : 1bit de START, 8bits de donnée, 1 bit de STOP, pas de parité. Vitesse de transmission : 9600 Bauds Thème de Bac Génie Electronique 2007 25/60 Dôme de Vidéo Surveillance Sorties : Désignation Donnée Nature ou Type Numérique Dossier Technique Définition Variable mémoire (de type char) image du contenu du registre de réception de l’UART du microcontrôleur (UDR) Structure matérielle : UART du microcontrôleur Indications utiles au fonctionnement des différents registres du microcontrôleur liés à l’UART : Lors d’une réception série, la donnée reçue est stockée dans le registre UDR du microcontrôleur et le bit RxC du registre UCSRA passe à l’état haut. La lecture du registre de réception UDR remet automatiquement le bit RxC à l’état bas. 5.2.4 Etude de FS23 : Traitement consigne Rôle : o Traiter l’information « donnée » afin de fournir l’information de la position désirée ou consigne de position Indications sur le traitement logiciel : Le traitement logiciel de la variable « donnée » permet de choisir les actions à réaliser : Initialisation : la caméra effectuera une rotation dans le sens Anti-Horaire jusqu’à ce que le signal Pos_Ref_E soit actif. La caméra effectuera ensuite une rotation dans le sens Horaire vers le milieu de la zone 0. Ces mouvements seront effectués avec un signal vidéo masqué. Déplacement relatif : l’ordre de rotation selon la consigne est envoyé 5 fois (5 rotations unitaires) Déplacement absolu : à partir de la position actuelle de la caméra la position à atteindre (donc la consigne de position) est calculée. La caméra effectuera une rotation dans le Anti Horaire ou Horaire vers le milieu de la zone demandée (X rotations unitaires) Entrées : Désignation Nature ou Type Donnée Numérique Pos_Ref_E Logique PORTC6 Position Numérique Sorties : Désignation Nature ou Type Cons_Pos Numérique Structure logicielle : Fonction Mise_en_Position() Fichier cam_pos.c Position_Init() cam_pos.c Définition Variable mémoire image du contenu du registre de réception de l’UART du microcontrôleur (UDR) Niveau logique image du passage de la caméra à la position de référence : Niveau haut : position de référence détectée Niveau bas : position de référence non détectée Variable logicielle (de type entier) qui indique la valeur de la position courante de l’axe de la caméra (en nombre de pas) : de 0 à 3999 (4000 positions au total) Définition Variable mémoire (de type entier) contenant la valeur de la position désirée : -1 : pour l’initialisation +1 : pour le déplacement relatif (Position_désirée – Position actuelle) : pour le déplacement absolu Description Définit la consigne de position en fonction de la consigne utilisateur contenu dans la variable « donnee » Rotation AH du moteur jusqu’à détection de la position de référence, arrêt Moteur puis positionnement au milieu de la zone 0 avec masquage total de l’image Thème de Bac Génie Electronique 2007 26/60 Dôme de Vidéo Surveillance 5.2.5 Dossier Technique Etude de FS24 : Pilotage du Moteur Pas à Pas Rôle : o Générer une séquence de signaux logiques servant à piloter le mouvement de la caméra. o Générer une information de la position courante. Indications sur le traitement logiciel : La séquence des ordres à envoyer au moteur pour réaliser une rotation, est définie dans le vecteur « commande_d » de taille 8. Par lecture de ce vecteur et en fonction du sens de rotation, on fixe les niveaux logiques des entrées INxx et Phasex qui permettront de mettre en mouvement le moteur pas à pas en mode demi pas. La vitesse de déplacement entre 2 incréments de position peut être ajustée à l’aide de la constante logicielle « Temps ». Après initialisation, on actualise à chaque mouvement la variable « Position » qui informe le système sur la position actuelle. Entrées : Désignation Nature ou Type Définition Cons_Pos Numérique Variable mémoire (de type entier) contenant la valeur de la position désirée : -1 : pour l’initialisation +1 : pour le déplacement relatif (Position_désirée – Position actuelle) : pour le déplacement absolu Sorties : Désignation Nature ou Type Logique IN01 PORTC.1 IN11 PORTC.3 IN02 PORTC.0 IN12 PORTC.2 Logique Phase1 PORTC4 Phase2 PORTC5 Position Numérique Définition Signaux logiques fixant la valeur du courant dans les bobines du moteur : 4 Niveaux sont disponibles, 2 sont utilisés, courant nul et courant moyen, nécessaire en mode ½ pas. En mode ½ pas IN01 et IN02 sont au niveau Haut. IN11et IN12 ont un rapport cyclique de 25% et sont déphasés d’une ½ période. Signaux logiques fixant le sens du courant dans les bobines du moteur ce qui permet de changer les polarités magnétiques des bobines (Nord et Sud). Phase1 et Phase2 sont déphasés d’ ¼ de période Variable mémoire (de type entier) image de la valeur de la position courante Table de correspondance du courant en fonction des INx IN0 IN1 Courant dans les bobines du moteur 0 0 Max 0 1 Faible 1 0 Moy 1 1 OFF Thème de Bac Génie Electronique 2007 27/60 Dôme de Vidéo Surveillance Dossier Technique Exemple de séquence en mode ½ pas : IN01 = IN02 = 1 IN11 t IN12 t Phase1 t Phase2 1 2 3 4 5 6 7 8 1 t IPhase1 t IPhase2 5 6 7 8 1 t Chronogrammes 1 Schématisation du moteur pas à pas bipolaire en mode ½ pas (4 premières séquences du chronogramme précédent) : Remarque 5 : les parties noires correspondent à un pôle (SUD) Phase 1 Phase 1 Phase 1 Phase 1 Phase 2 Phase 2 Thème de Bac Génie Electronique 2007 Phase 2 Phase 2 28/60 Dôme de Vidéo Surveillance Dossier Technique Structure logicielle : Les différentes fonctions logicielles font partie du projet camera développé avec le logiciel CVAVR en langage C. Fonction Fichier Description Rotation_Stop() cam_pos.c Inhibe le courant dans les bobines du MPP sans changer les polarités magnétiques des bobines. Rotation_AH() cam_pos.c Séquence le moteur pour réaliser une rotation H ou AH, Rotation_H() Envoie vers FP7 la séquence des ordres (Inxx et Phasex) en fonction des ordres précédents (position des bobines) Rotation_Zone() cam_pos.c Définit la consigne de position et effectue la mise en rotation jusqu’à la position désirée Le code machine des différentes fonctions logicielles de FP2 a été implanté dans la mémoire Flash Rom d’un microcontrôleur ATMEGA8535 cadencé à 3.6864 MHz. PORTA Liste des broches utilisées du microcontrôleur : Nom Nature Entrée logique PB2 Entrée logique PB3 Sortie logique PB4 Sortie logique PC[0..3] Sortie logique PC[4..5] Sortie logique PC6 Entrée logique RXD TXD Entrée logique Sortie logique PORTD PORTC PORTB PB1 /RESET XTAL1, XTAL2 Entrée logique active à l’état bas Entrées d’horloge Information Réservé pour les alarmes Site (non utilisé dans notre projet) CSync : Impulsion négative pendant toute la durée du top de ligne et dont la durée est autour de 4.7µs. Ce signal indique le début d’une nouvelle ligne. (Voir Etude de FP4) Sync_Trame : Impulsion négative qui démarre juste après les impulsions de pré-égalisations et dont la durée peut atteindre 300µs (voir Chronogrammes 2). Ce signal indique le début d’une nouvelle trame. Voir Etude de FP4) Masquage_Zone : Signal logique actif au niveau bas signifiant que l’axe de la caméra se trouve dans une zone où certaines lignes doivent être masquées Masquage_Ligne : Signal logique actif au niveau bas signifiant que la ligne du signal vidéo doit être masquée INxx : Signaux logiques fixant la valeur du courant dans les bobines du moteur : 4 niveaux sont disponibles, seulement 2 sont utilisés pour la commande en mode ½ pas du moteur pas à pas Phasexx : Signaux logiques fixant le sens du courant dans les bobines du moteur ce qui permet de changer les polarités magnétiques des bobines Pos_Ref_E: Niveau logique image du passage de la caméra à la position de référence : Niveau haut : position de référence détectée Niveau bas : position de référence non détectée RX_µC : Réception série asynchrone RS232 TX_µP : Transmission série asynchrone RS232 (pas utilisé dans la version actuelle) Reset automatique du microcontrôleur à la mise sous tension Horloge à 3.6864 MHz Remarque 6 : les signaux nécessaires à la programmation du microcontrôleur (MOSI, MISO et SCK) n’ont pas été représentés dans le tableau précédent. Thème de Bac Génie Electronique 2007 29/60 Dôme de Vidéo Surveillance 5.2.6 Dossier Technique Algorigrammes de fonctionnement Algorigramme du programme principal Main() Main Init() de la Réception, Moteur, Masquage Réception d'un ordre ? Mise en position() Algorigramme du sous programme d’initialisation Position_Init() Position_Init Désactivation des Interruptions de Masquage Activation du masquage de l'image Rotation Sens Anti Horaire Détection position de référence? position =0 et zone=0 Désactivation du masquage de l'image position = position_int ? Rotation Sens Horaire Masquage Rotation_Stop Incrémenter position Retour Thème de Bac Génie Electronique 2007 30/60 Dôme de Vidéo Surveillance Dossier Technique Algorigrammes du sous programme de positionnement Mise_en_Position() Mise_en_Position Ordre = Initialisation ? Position Init Ordre = Rotation H ? position = pos_max ? Nbre_pos=0 Nbre_pos = Nbre_incr ? Masquage Rotation Sens Horaire Incrémenter Nbre_pos et Position Ordre = Rotation Anti-H ? position = pos_min ? Nbre_pos=0 Nbre_pos = Nbre_incr ? Masquage Rotation Sens Anti-Horaire Ordre = Rotation Zone ? Incrémenter Nbre_pos Décrémenter Position récupère n° zone Rotation Zone Rotation_Stop Retour Thème de Bac Génie Electronique 2007 31/60 Dôme de Vidéo Surveillance Rotation_H() Dossier Technique Sous programmes de mise en rotation Rotation_AH() Rotation Se ns Horaire Rotation_Stop() Rotation_Stop Rotation Sens A_Horaire commande_moteur commande_moteur Incrémenter ind_M Décrémenter ind_M commande_moteur = inhiber commande_moteur ind_M > Max ? ind_M < Min ? Retour ind_M = Min ind_M = Max Attente ( T emps) Attente ( T emps) Retour Retour Sous programmes de mise en rotation (suite) Rotation_Zone() Rotation Zone Cons_pos = f(choix_zone) + pos_int Cons_pos < Position ? Rotation Sens Horaire Rotation Sens A_Horaire Masquage Masquage Incrémenter Position Décrémenter Position Position = Cons_pos ? Position = Cons_pos ? Rotation_Stop Retour Thème de Bac Génie Electronique 2007 32/60 Dôme de Vidéo Surveillance 5.3 Dossier Technique Etude fonctionnelle de second degré de FP3 : « Détection Position de référence » 5.3.1 Schéma fonctionnel de second degré de FP3 P os_Ref_M Conversion Energie Elect rique/Lumineuse FS31 Lum_in Lum_out Filt rer FS32 Conversion Energie Lumineuse/Elect rique FS33 P os_Ref_E 5.3.2 Etude de FS31 : Conversion Energie Electrique/Lumineuse Rôle : o Convertir une énergie électrique en une énergie lumineuse (Rayonnement infra-rouge) Sorties : Désignation Lum_In Nature ou Type Définition Faisceau lumineux Faisceau lumineux (longueur d’onde 960nm) émis par la diode du capteur à IR continu fourche Structure matérielle : Capteur à fourche (avec Diode Infra rouge) et composants annexes 5.3.3 Etude de FS32 : Filtrer Rôle : o Laisser passer ou pas le rayonnement infra-rouge en fonction de la position de la caméra Une vis fixée à la poulie qui entraîne la caméra en rotation passe à chaque tour entre les fourches du capteur optique. Cette tige (vis) permet de définir la position référence Entrées : Désignation Lum_In Pos_Ref_M Sorties : Désignation Lum_Out Nature ou Type Rayonnement Lumineux IR continu Logique Définition Faisceau lumineux (longueur d’onde 960nm) émis par la diode du capteur à fourche Obstacle matérialisé par une tige métalique et coupant le faisceau lumineux Lum_In émis par la diode du capteur à fourche Nature ou Type Rayonnement Lumineux IR Définition Faisceau lumineux image de la détection de la position de référence Structure matérielle : Tige fixée à la poulie 5.3.4 Etude de FS33 : Conversion Energie Lumineuse / Electrique Rôle : o Convertir une énergie lumineuse en une énergie électrique La quantité de lumière captée par le phototransistor permet de saturer ou pas le transistor. Ce qui permet de définir un niveau logique haut ou bas à l’entrée du microcontrôleur. Thème de Bac Génie Electronique 2007 33/60 Dôme de Vidéo Surveillance Entrées : Désignation Nature ou Type Lum_Out Logique Sorties : Désignation Pos_Ref_E Nature ou Type Logique PORTC.6 Dossier Technique Définition Faisceau lumineux image de la détection de la position de référence Définition Niveau logique image du passage de la caméra à la position de référence : Niveau haut : position de référence détectée Niveau bas : position de référence non détectée Remarque 7 : : d’un point de vue logiciel, c’est un changement d’état (Front montant) qui sera détecté lors du passage de la caméra à sa position de référence Structure matérielle : Capteur à fourche (phototransistor) et composants annexes Thème de Bac Génie Electronique 2007 34/60 Dôme de Vidéo Surveillance Etude fonctionnelle de second degré de FP4 : « Orientation de la caméra » Traitement Masquage Vidéo FS44 Sync_Trame Position Nbre_Ligne Ligne_Debut Schéma fonctionnel de second degré de FP4 Zone_Masq 5.4.1 Détection Synchronisation FS42 Vidéo_IN Masque_Ligne Masque_Zone CSync 5.4 Dossier Technique Masquage FS45 Masque Ajustement /T_Imag /Burst Calibrer Durée Image FS43 /T_Imag Adaptation d'impédance Vidéo FS41 Réglage_Gris Elaboration Gris Niveau de Gris FS46 Elaboration Signal Vidéo Vidéo_OUT FS47 5.4.2 Etude de FS41 : Adaptation d’impédance Vidéo Rôle : o Adapter en impédance le signal vidéo composite (transmission de tout le signal vidéo sur une seule paire de fil) issu de la caméra et véhiculé par un câble type RCA vidéo d’impédance caractéristique de 75. Entrée/Sortie : Désignation Nature ou Type Définition Vidéo_IN Tension Signal Vidéo composite issu de la caméra et maintenant adapté en Analogique impédance Amplitude : 1Volt crête-crête - 75 Remarque 1 : pour obtenir un rendement maximum en puissance et sans déformation, lors d’une transmission de signaux HF, il faut que l’impédance du générateur soit identique à l’impédance caractéristique du câble, ellemême identique à celle du récepteur. Si ce point primordial n’est pas respecté, et à partir d’une certaine longueur de câble évidemment, on voit, apparaître des phénomènes tels que des " réflexions (détérioration de la qualité de l’image si le signal transmis est un signal vidéo) Remarque 2 : certaines caméras ne présentent pas une impédance de sortie de 75 5.4.3 Etude de FS42 : Détection Synchronisation Rôle : o Extraire du signal vidéo (quelque soit le standard couleur utilisé ou en noir et blanc) les différents signaux de synchronisation utiles au repérage : du début de trame du début de ligne du palier de suppression Entrées : Désignation Vidéo_IN Nature ou Type Définition Tension Signal Vidéo composite issu de la caméra et maintenant adapté en impédance Analogique Amplitude : 1Volt crête-crête - 75 Thème de Bac Génie Electronique 2007 35/60 Dôme de Vidéo Surveillance Dossier Technique Sorties : Désignation Nature ou Type Définition Sync_Trame Logique Impulsion négative qui démarre juste après les impulsions de pré-égalisations PORTB.2 et dont la durée peut atteindre 300µs (voir Chronogrammes 2). Ce signal indique le début d’une nouvelle trame. CSync Logique Impulsion négative pendant toute la durée du top de ligne et dont la durée est PORTB.1 autour de 5µs (voir Chronogrammes 3). Ce signal indique le début d’une nouvelle ligne. /Burst Logique Impulsion positive pendant toute la durée du palier de suppression (voir document « TP3_Traitement Vidéo-Annexes.doc ») et dont la durée est autour de 6 µs. Le Front descendant indique le début de la composante « image » de la ligne vidéo (voir Chronogrammes 4). 1-Signal Vidéo Chronogrammes 2 2-Sync_Trame 1-Signal Vidéo Chronogrammes 3 2-CSync 1-Signal Vidéo Chronogrammes 4 2-/Burst 5.4.4 Etude de FS43 : Calibrer Durée Image Rôle : o Générer une impulsion négative de durée 52µs ajustée précisément à l’aide d’un potentiomètre. Thème de Bac Génie Electronique 2007 36/60 Dôme de Vidéo Surveillance Dossier Technique Remarque : 52 µs représente la durée de la composante « image » de la « ligne Vidéo » prise seule (sans les signaux de synchronisation) Entrées : Désignation Ajustement /T_Imag /Burst Sorties : Désignation /T_Image Nature ou Type Manuel Logique Nature ou Type Logique Définition Action sur un potentiomètre ajustant la durée de l’impulsion négative /T_Imag à 52 µs Impulsion positive pendant toute la durée du palier de suppression (voir document « TP3_Traitement Vidéo-Annexes.doc ») et dont la durée est autour de 6 µs. Le Front descendant indique le début de la composante « image » de la ligne vidéo (voir Chronogrammes 4). Définition Impulsion négative de durée 52µs et ajuster précisément à l’aide d’un potentiomètre. Cette durée coïncide dans le temps au passage de la composante « image » d’une ligne. (voir Chronogrammes 5) 1-Signal Vidéo Chronogrammes 5 2-/T_Image 52 µs Composante « image » 5.4.5 Etude de FS44 : Traitement Masquage Vidéo Rôle : o Générer les 2 consignes de masquage vidéo (Masque_Ligne et Masque_Zone) à partir de la position courante de l’axe de la caméra et des tables de masquage préalablement mémorisées par l’utilisateur. L’ordre de masquage ne tiendra pas compte de la trame (paire ou impaire) : les consignes de masquage porteront sur des numéros de lignes de 1 à 312, et seront valides pour les 2 trames d’une image Entrées : Désignation Sync_Trame Nature ou Type Définition Entrée Logique Impulsion négative qui démarre juste après les impulsions de préPORTB.2 égalisations et dont la durée peut atteindre 300µs (voir Chronogrammes 2). Ce signal indique le début d’une nouvelle trame. CSync Entrée Logique Impulsion négative pendant toute la durée du top de ligne et dont la durée est PORTB.1 autour de 4.7µs (voir Chronogrammes 3). Ce signal indique le début d’une nouvelle ligne. Position Numérique Variable logicielle (de type entier) qui indique la valeur de la position (logicielle) courante de l’axe de la caméra (en nombre de pas) : de 0 à 3999 (4000 au total) Zone_Masq[8] Tableau logiciel Tableau à 1 dimension : chaque élément d’indice i de ce tableau indique si la de type entier zone i doit être masquée ou pas 0 pas de masquage 1 masquage Ligne_Debut[8] Tableau logiciel Tableau à 1 dimension : chaque élément d’indice i de ce tableau indique le de type entier numéro de la ligne de la zone i où le masquage de l’image doit commencer Remarque : on ne tient pas compte ici de la trame paire ou de la trame impaire. Le numéro de ligne devra être compris entre 1 et 312. Nbre_Ligne[8] Tableau logiciel Tableau à 1 dimension : chaque élément d’indice i de ce tableau indique le de type entier nombre de lignes de la zone i à masquer Thème de Bac Génie Electronique 2007 37/60 Dôme de Vidéo Surveillance Dossier Technique Sorties : Désignation Masque_Zone Nature ou Type Définition Sortie Logique Signal logique actif au niveau bas signifiant que l’axe de la caméra PORTB.3 se trouve dans une zone où certaines lignes doivent être masquées Masque_Ligne Sortie Logique Signal logique actif au niveau bas signifiant que la ligne du signal PORTB.4 vidéo doit être masquée Le masquage vidéo ne sera actif que si les signaux Masque_Zone ET Masque_Ligne sont au niveau bas Structure logicielle : Les différentes fonctions logicielles font partie du projet camera développé avec le logiciel CVAVR en langage C et lié à la fonction FP2. Fonction Fichier Description Masquage () Cam_video.c Définit si la caméra se trouve dans une zone où certaines lignes doivent être masquées Permet de générer le signal logique Masque_Zone actif au niveau bas. void Def_Zone(int pos) Telecom_Init.c Renvoie le numéro de la zone (0 parmi 7) où se trouve l’axe de la caméra interrupt [19] void Cam_video.c Fonction liée à l’interruption N°19 (interruption matérielle sur Debut_Masquage l’entrée INT2) (void) Le début de la trame vidéo (dans une zone à masquer) est ici détecté interrupt [7] void Cam_video.c Fonction liée à l’interruption N°7 (Egalité entre le compteur du Egalite_CompteurA timer 1 et son registre de comparaison A) qui active le masquage de (void) ligne dés l’apparition de la première ligne à masquer Permet de générer le signal logique Masque_Ligne actif au niveau bas. interrupt [8] void Cam_video.c Fonction liée à l’interruption N°8 (Egalité entre le compteur du Egalite_CompteurB timer 1 et son registre de comparaison B) qui désactive le masquage (void) de ligne dés l’apparition de la dernière ligne à masquer Algorigrammes de fonctionnement de FS44 : Sous programme Masquage() Sous programme Init_Masquage() Masquage Init_Masquage Def_Zone Initialiser la valeur du registre de comparaison OCR1A avec le numéro de ligne où doit commencer le masquage lecture table des zones à masquer Initialiser la valeur du registre de comparaison OCR1B avec le numéro de ligne où doit finir le masquage masque = autorisé ? désactiver masquage de zone Désactiver les interruptions pour Init_Masquage et Egalité_ compteur activer masquage de zone Activer les interruptions pour Init_Masquage et Egalité_ compteur Temporiser 70 µs Initialiser le registre de comptage T CNT 1 Retour d'Interruption Retour Thème de Bac Génie Electronique 2007 38/60 Dôme de Vidéo Surveillance Dossier Technique Sous programme Def_Zone() def_zone Sous programme Egalite_CompteurA Lié à l’interruption N°7 Egalité_CompteurA Activer masquage ligne position en zone 0 ? zone = 0 Retour d'Interruption position en zone 1 ? Sous programme Egalite_CompteurB Lié à l’interruption N°8 zone = 1 Egalité _Compte urB Désactiver masquage ligne position en zone 7 ? zone = 7 Retour d'Interruption Retour 5.4.6 Etude de FS45 : Masquage Rôle : o Détermine l’ordre de masquage en fonction des signaux Masquage_Zone et Masquage_Ligne Entrées : Désignation Masque_Zone Nature ou Type Logique Masque_Ligne Logique Sorties : Désignation Masque Nature ou Type Logique Définition Signal logique actif au niveau bas signifiant que l’axe de la caméra se trouve dans une zone où certaines lignes doivent être masquées Signal logique actif au niveau bas signifiant que la ligne (actuellement traitée) de l’image doit être masquée Définition Signal logique actif au niveau bas Lorsque ce signal est actif, cela signifie que l’axe de la caméra se trouve dans une zone à masquer et que la ligne de l’image vidéo visualisée doit être masquée. 5.4.7 Etude de FS46 : Elaboration Niveau de Gris Rôle : o Fixe le niveau de gris de la composante « image » d’une ligne vidéo masquée Entrées : Désignation Réglage_Gris Nature ou Type Manuel Définition Action sur un potentiomètre ajustant le niveau analogique de la tension Gris Sorties : Désignation Gris Nature ou Type Définition Tension Tension comprise entre -0,95V et +0,95V fixant le niveau de gris de la Analogique composante « image » du signal vidéo lors d’un masquage Remarque : certaines caméras délivrent un signal vidéo analogique (Video_In) alternatif et d’autres un signal vidéo avec une composante continue : le niveau analogique représentant le noir pourra être donc différent d’une Thème de Bac Génie Electronique 2007 39/60 Dôme de Vidéo Surveillance Dossier Technique caméra à l’autre. C’est pour cela que le niveau de gris de la composante « image » du signal vidéo lors d’un masquage pourra être réglé de -0,95V et +0,95V en fonction de la caméra utilisée. 5.4.8 Etude de FS47 : Elaboration Signal Vidéo Rôle : o Sélectionne la composante « image » de la ligne vidéo à envoyer vers le moniteur : Soit la composante « image » initiale captée par la caméra (ligne non masquée) Soit une composante « image » dont le contenu est une ligne de couleur grise (ligne masquée) o Amplifie le signal vidéo traité o Adapte en impédance la structure avec le récepteur d’impédance d’entrée 75 Entrées : Désignation Nature ou Type Vidéo_IN Tension Analogique Gris Tension Analogique Masque Logique /T_Image Logique Définition Signal Vidéo composite issu de la caméra et adapté en impédance Amplitude : 1Volt crête-crête - 75 Tension comprise entre -0,95V et +0,95V fixant le niveau de gris de la composante « image » du signal vidéo lors d’un masquage Signal logique actif au niveau bas. Lorsque ce signal est actif, cela signifie que l’axe de la caméra se trouve dans une zone à masquer et que la ligne de l’image vidéo visualisée doit être masquée. Impulsion négative de durée 52µs et ajustée précisément à l’aide d’un potentiomètre. Cette durée coïncide dans le temps au passage de la composante « image » d’une ligne. (voir Chronogrammes 5) Sorties : Désignation Nature ou Type Définition Video_Out Tension Signal Vidéo composite traité - Amplitude : 1Volt crête-crête - 75 Analogique Exemple de lignes non masquées (Chronogrammes 6) et masquées (Chronogrammes 7) : 1- Vidéo_In Chronogrammes 6 (3 lignes non masquées) Video_In=Video_Out 2- Vidéo_Out 1- Vidéo_In Chronogrammes 7 2- Vidéo_Out Thème de Bac Génie Electronique 2007 (3 lignes complètes masquées) Video_In=Gris (exceptés les signaux de synchronisation qui sont identiques au signal d’origine) 40/60 Dôme de Vidéo Surveillance 5.5 Dossier Technique Etude fonctionnelle de second degré de FP7 : « Orientation de la caméra » 5.5.1 4 / P hasex 2 / INxx Schéma fonctionnel de second degré de FP7 Vph1 Cont rôler et réguler Vph2 FS 7 .1 Iph1 Int erfacer en puissance FS 7 .2 Iph2 Mot orisat ion pas à pas FS 7 .3 Rot _Cam VS1 VS2 5.5.2 Etude de FS71 : Contrôler et Réguler Rôle : o Contrôler et réguler le courant circulant dans les bobines du moteur Entrées : Désignation IN01 IN11 IN02 IN12 Phase1 Phase2 Vs1, Vs2 Nature ou Type Logique PORTC.1 PORTC.3 PORTC.0 PORTC.2 Logique PORTC4 PORTC5 Tension Analogique Définition Signaux logiques fixant la valeur du courant dans les bobines du moteur : 4 Niveaux sont disponibles, 2 sont utilisés, courant nul et courant moyen, nécessaire en mode ½ pas. En mode ½ pas IN01 et IN02 sont au niveau Haut. IN11et IN12 ont un rapport cyclique de 25% et sont déphasés d’une ½ période. Signaux logiques fixant le sens du courant dans les bobines du moteur ce qui permet de changer les polarités magnétiques des bobines (Nord et Sud) Phase1 et Phase2 sont déphasés d’ ¼ de période Tension Image du courant dans les bobines 1 et 2 du moteur Sorties : Désignation Nature ou Type Définition Vph1, Vph2 Logique Fixe le sens du courant dans les bobines 1 et 2 du moteur Structure matérielle : Pilote de moteur pas à pas (L6219) et composants annexes 5.5.3 Etude de FS72 : Interfacer en puissance Rôle : o Interfacer en puissance (double pont en H avec diodes intégrée) Entrées : Désignation Nature ou Type Vph1,Vph2 Logique Sorties : Désignation Nature ou Type Iph1 Logique Iph2 Vs1, Vs2 Tension Analogique Définition Fixe le sens du courant dans les bobines 1 et 2 du moteur Définit l’état des transistors bipolaire du pont en H afin d’alimenter dans un sens ou l’autre les bobines du moteur MPP Ce pont est protégé par des diodes de roue libre en interne. Définition Courants des bobines 1 et 2 du Moteur pas à pas Il peut prendre 4 valeurs (nul, faible, moyen, max) fonction des entrées INxx Tension Image du courant dans les bobines 1 et 2 du moteur Structure matérielle : Driver de moteur pas à pas (L6219) et composants annexes Thème de Bac Génie Electronique 2007 41/60 Dôme de Vidéo Surveillance Dossier Technique 5.5.4 Etude de FS73 : Motorisation pas à pas Rôle : o Convertir une énergie électrique en une énergie mécanique Entrées : Désignation Nature ou Type Définition Iph1 logique Courants des bobines 1 et 2 du Moteur pas à pas Iph2 Il peut prendre 4 valeurs (nul, faible, moyen, max) fonction des entrées INxx Sorties : Désignation Nature ou Type Définition Rot_Cam continu Grandeur mécanique, position angulaire par rapport à la position de référence [0..360°] Structure matérielle : Moteur pas à pas hybride bipolaire de résolution 200 pas par tour Thème de Bac Génie Electronique 2007 42/60 Dôme de Vidéo Surveillance 6 Dossier Technique SCHEMAS STRUCTURELS, PCB ET NOMENCLATURES 6.1 Carte « Télécommande » (FP1) 6.1.1 Schéma structurel 6.1.2 Schéma d’implantation des composants Thème de Bac Génie Electronique 2007 43/60 Dôme de Vidéo Surveillance 6.1.3 Dossier Technique Nomenclature Repère Désignation K1 Bouton poussoir rouge U5 Buzzer avec oscillateur U1 Circuit ATMEGA8535 U3 Circuit MAX232 U4 Clavier numérique 12 touches C12, C13 Condensateur céramique pas 2,54 C2, C4, C5, C10, C11 Condensateur Polyester 63V pas 5,08 C6, C7, C8, C9 Condensateur Vertical 25V pas 2,54 C3 Condensateur Vertical 25V pas 2,54 C1 Condensateur Vertical 25V pas 5,08 J1 Connecteur DB9 Femelle J2 Connecteur RJ modular 6 broches D1 Diode 1N4148 U6 Ecran LCD BA+9 Douile Banane rouge BA_GND Douile Banane noire D3 LED Rouge BUZZER, LED_R, RX_Cde, SYNC, TX_µP, TP1, TP2, TP3, TP4 Point de Test : cosse poignard P1 Potentiomètre Horizontal 1 tour 0,15W Q1 QUARTZ 3.6864MHz U2 Régulateur 5V 1A TO220 R1 Résistance carbone 1/4W R3 Résistance carbone 1/4W Thème de Bac Génie Electronique 2007 Valeur LedR Qté 1 1 1 1 1 2 5 4 1 1 1 1 1 1 1 1 1 10k 3.6864 MHz 5V 47k 220 9 1 1 1 1 1 22pF 100nF 1u 47u 470u STK200 44/60 Dôme de Vidéo Surveillance 6.2 Dossier Technique Carte Mère « Traitement » (FP2) 6.2.1 Schéma structurel Thème de Bac Génie Electronique 45/60 Dôme de Vidéo Surveillance 6.2.2 Schéma d’implantation des composants 6.2.3 Nomenclature Repère Désignation U1 Microcontrôleur ATMEGA8535 +9V, GND1 Douille Banane Rouge et Noire C1, C2 Condensateur Polyester 63V pas 5,08 C3, C4, C6, C11, C12, C13, C14 Condensateur Polyester 63V pas 5,08 C8 Condensateur Polyester 63V pas 5,08 C15 Condensateur Polyester 63V pas 5,08 C9 C10 Condensateur Polyester 63V pas 5,08 C7 Condensateur Polyester 63V pas 5,08 C5 Condensateur Polyester 63V pas 5,08 BPB0, BPB1, RST Bouton poussoir RS232 Prise femelle coudée DB9 P_A, P_B, P_C, P_D Connecteur HE10 Male RX, BP0, BP1, RS_232 Cavalier 2 et barette sécable 9V_12V Fiche JACK pour alimentation U2 MAX232 et support CI D1 PONT_DIODE Q1 QUARTZ R1 R2 Résistance carbone 1/4W REG5V Régulateur 5V boitier TO3 STK200 Fiche femelle RJ45 6 broches GND PD7 VCC Cosse poignard Thème de Bac Génie Electronique Dossier Technique Valeur 22pF 100nF 100pF 1u 10u 100uF 470uF 3.6864 MHz 10K Qté 1 2 2 7 1 1 2 1 1 3 1 4 4 1 1 1 1 2 1 1 3 46/60 Dôme de Vidéo Surveillance 6.3 Dossier Technique Carte « Puissance » (FP3 et FP7) 6.3.1 Schéma structurel Ou Connecteur KK4 Thème de Bac Génie Electronique 47/60 Dôme de Vidéo Surveillance Dossier Technique 6.3.2 Schéma d’implantation des composants 6.3.3 Nomenclature Repère U1 R1 R2 R3 R4, R5 R6, R7 R8, R9 P1 C1,C2,C6,C7 C4, C5 Désignation L6219 support CI 24 broches tulipe étroit Resistance 1/4W Resistance 1/4W Resistance 1/4W Resistance 1/4W Resistance 1/4W Resistance 1/4W Ajustable horizontal 0,15W condensateur polyester, 63V condensateur céramique C3 12V GND PORT condensateur chimique , 25V radial douille chassis isolées 4 mm Rouge douille chassis isolées 4 mm Noire connecteur HE10 male à souder Masse, Masse, Phase1, Phase2, Vref, Vs1, Vs2, Pose_Ref_E Filtre,Vout1, Vout2, IN11, IN12 cosses poignard pour CI Cap1, Cap2, M1 ,M2 Ca_DM, Ca_DV, Ca_Rup Thème de Bac Génie Electronique Valeur 1.5k 390 4,7k 47k 2,2k 1 10k 100nF 2,2nF 100uF Qté 1 1 1 1 1 2 2 2 1 4 2 1 1 1 1 6 Connecteur KK4 mâle (Ou barette secable 2*4 points) 2 Connecteur KK4 femelle barette secable 3*2 points Cavalier au pas de 2.54 capteur à fourche 2 6 3 1 Moteur Pas à Pas 200 1 48/60 Dôme de Vidéo Surveillance 6.4 Dossier Technique Carte « Traitement Vidéo » (FP4) 6.4.1 Schéma structurel 6.4.2 Schéma d’implantation des composants Thème de Bac Génie Electronique 49/60 Dôme de Vidéo Surveillance 6.4.3 Dossier Technique Nomenclature Repère U4 U1 U3 U5 U6 P1 P2 BA_GND BA_VCC BA_VEE C8 C2, C4, C5, C6, C7, C10, C11 C3, C9 C1 J1 JMP_R1, JMP_MASQUE_LIGNE, JMP_MASQUE_ZONE Désignation Circuit AD811 Boîtier DIL Circuit LM1881 Boîtier DIL Circuit CD4052 Boîtier DIL Circuit CD4093 Boîtier DIL Circuit CD4538 Boîtier DIL Support Circuit 8 broches Support Circuit 14 broches Support Circuit 16 broches Potentiomètre Horizontal 1 tour 0,15W Potentiomètre Horizontal 1 tour 0,15W Douille Banane Noire Douille Banane Rouge Douille Banane Verte Condensateur Polyester 63V pas 5,08 Valeur Condensateur Polyester 63V pas 5,08 Condensateur Vertical 25V pas 2,54 Condensateur céramique pas 5,08 Connecteur HE10 Male 100nF 10 µF 100 pF 4.7k 20k 1n Qté 1 1 1 1 1 2 1 2 1 1 1 1 1 1 7 2 1 R7, R10 R6 R1, R8 R2, R9 R3, R4 R5 Cavalier pas 2,54 Barette sécable pour cavalier (2 points) Résistance carbone 1/4W Résistance carbone 1/4W Résistance carbone 1/4W Résistance carbone 1/4W Résistance carbone 1/4W Résistance carbone 1/4W U2/ Vidéo In U7/Video Out Fiche RCA 2 /BURST, /T_Imag, Burst, Csync, Gnd, Gris, Masque, Masque_Ligne, Masque_Zone, Sync_Trame, Vcc, Vee, Video_AOP, Video_In, Video_Out Point de test Câble video RCA 75 Ohms Male/Male 1,2m 15 2 Thème de Bac Génie Electronique 3 4.7k 39k 75 10k 560 680k 2 1 2 2 2 50/60 Dôme de Vidéo Surveillance 7 PROGRAMMES 7.1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 Dossier Technique Programme de FP1 /*************************************************************** Décodage clavier et envoi par liaison série de la donnée I pour Init position A pour rotation de -5 pas (Sens Anti Horaire) H pour rotation de +5 pas (Sens Horaire) N° de zone (0 à 7) pour la zone désirée 13/07/06 LA ****************************************************************/ #include <MEGA8535.h> #include <DELAY.h> //LCD connecté sur le port C #asm .equ __lcd_port=0x15 #endasm /* now you can include the LCD Functions */ #include <lcd.h> #include "Telecom_Define.c" //Constantes et variables #include "Telecom_Init.c" //Fonction Init() #include "Telecom_Acq_Touche.c" //Fonction Acq_touche() #include "Telecom_Transmettre.c" //Fonction Transmettre(char data) #include "Telecom_Bip_Touche.c" //Fonction Bip_Touche() #include "Telecom_Menu.c" //Les différents Menu /***************************************************************************************** * MAIN() * *****************************************************************************************/ void main(void) { Init(); touche=touche_Valide; //forçage Initialisation dans menu Init à la mise sous tension Menu_Init(); while(1) { Afficher_menu_prinicipal(); touche=Acq_touche(); switch(touche) { case(1):Bip_touche();Menu_Init();break; //Recherche position Initiale caméra case(2):Bip_touche();Menu_Depla_Relatif();break;//Déplacement relatif par pas de +/- 5 pas moteur° case(3):Bip_touche();delay_ms(200);Menu_Depla_Zone();break;//Déplacement Absolu par N° de zone } } } /***************************************************************************************** * INIT() * *****************************************************************************************/ void Init(void) { DDRA=0b00000111; //Config Port A:colones COL1 à COL3 en sortie et lignes L1 à L4 en Entrée PORTA=0b01111000; //Lignes L1 à L4 en entrée avec R tirage DDRB=0xff; //Config Port B en sortie (Buzzer et LED) Thème de Bac Génie Electronique 51/60 Dôme de Vidéo Surveillance 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 Dossier Technique LED_R=0; //Eteindre LED Rouge BUZZER=0; //Buzzer OFF //DDRD.2=1; //Config synchro en sortie //Sync=0; //Init synchro à 0 UBRRH=0; // Config Liaison Série UBRRL=0x17; //UBRR=xtal/16/baud-1--> 9600bauds UCSRB=0x18; //RX & TX enabled, no interrupts UCSRC=0x86; // 8 data bits 1 bit de stop*/ lcd_init(16); //2 lignes et 16 colonnes du LCD lcd_clear(); // Efface l'écran } /***************************************************************************************** * DEFINE() * *****************************************************************************************/ #define BUZZER PORTB.0 //Sortie pour commande Buzzer #define LED_R PORTB.1 //Sortie pour commande Led Rouge #define EndTransmit UCSRA.6 //Bit indiquant la fin du transmission actif à l'état bas #define DataSerie UDR //Regsitre contenant la valeur à transmettre #define touche_Defaut 20 //valeur de defaut de Touche (aucune touche appuyée) #define touche_Sortir 10 //valeur décimale de la touche 10 (* sur clavier) #define touche_Valide 11 //valeur décimale de la touche 11 (# sur clavier) char touche; char buffer_ligne[16]; /***************************************************************************************** * ACQ_TOUCHE() * *****************************************************************************************/ char Acq_touche(void) { char val_read; touche=touche_Defaut; PORTA=0xfe; //Colonne 0 à 0 delay_ms(1); val_read=PINA&0x78; //on ne garde que les ligne L[1..4] if (val_read!=0x78) { switch(val_read) { case (0x70):touche=1;return touche; //Ligne 1 =0 case (0x68):touche=4;return touche; //Ligne 2 =0 case (0x58):touche=7;return touche; //Ligne 3 =0 case (0x38):touche=touche_Sortir;return touche; //Ligne 4 =0 (* sur clavier) } } PORTA=0xfd; //Colonne 1 à 0 delay_ms(1); val_read=PINA&0x78; //on ne garde que les ligne L[1..4] if (val_read!=0x78) { switch(val_read) { case (0x70):touche=2;return touche; //Ligne 1 =0 case (0x68):touche=5;return touche; //Ligne 2 =0 case (0x58):touche=8;return touche; //Ligne 3 =0 case (0x38):touche=0;return touche; //Ligne 4 =0 } } PORTA=0xfb; //Colonne 2 à 0 Thème de Bac Génie Electronique 52/60 Dôme de Vidéo Surveillance 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 Dossier Technique delay_ms(1); val_read=PINA&0x78; //on ne garde que les ligne L[1..4] if (val_read!=0x78) { switch(val_read) { case (0x70):touche=3;return touche; //Ligne 1 =0 case (0x68):touche=6;return touche; //Ligne 2 =0 case (0x58):touche=9;return touche; //Ligne 3 =0 case (0x38):touche=touche_Valide;return touche; //Ligne 4 =0 (pour # sur clavier) } } return touche; } /***************************************************************************************** * TRANSMETTRE() * *****************************************************************************************/ void Transmettre(char data) { EndTransmit=1; // Ecrire un 1 pour forcer un clear DataSerie=data; //Chargement de la donnée à envoyer LED_R=1; while (EndTransmit==0); //Attente envoi complet delay_ms(200); LED_R=0; //Eteindre Led Rouge } /***************************************************************************************** * BIP_TOUCHE() * *****************************************************************************************/ void Bip_touche(void) { BUZZER=1; delay_ms(20); //Bip si action sur touche autorisée BUZZER=0; delay_ms(150); } /**************************************************************************************** * AFFICHER_MENU_PRINCIPAL() * *****************************************************************************************/ void Afficher_menu_prinicipal(void) { lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("Init|DRel|DZone"); lcd_gotoxy(0,1); lcd_putsf(" 1 | 2 | 3 "); } /***************************************************************************************** * MENU_INIT() * *****************************************************************************************/ void Menu_Init(void) { lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("Init posit CAM?"); lcd_gotoxy(0,1); lcd_putsf("*:Sortir #:Init "); //pour sortir du sous-menu while(touche!=touche_Sortir) //10 = * sur clavier { Thème de Bac Génie Electronique 53/60 Dôme de Vidéo Surveillance 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 Dossier Technique if (touche==touche_Valide) //11 = # sur clavier { Bip_touche();//et init lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("Init en cours..."); Transmettre('I'); //I=0x49 delay_ms(4000); lcd_gotoxy(0,0); lcd_putsf("Init Termine "); lcd_gotoxy(0,1); lcd_putsf("*:Sortir #:Init "); //pour sortir du sous-menu } touche=Acq_touche(); } Bip_touche(); } /***************************************************************************************** * MENU_DEPLA_RELATIF() * *****************************************************************************************/ void Menu_Depla_Relatif(void) { lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("AH<--4 6-->H"); lcd_gotoxy(0,1); lcd_putsf(" *:Retour"); while(touche!=touche_Sortir) { switch (touche) { case(4): Bip_touche();Transmettre('A');break;//et Faire -5 pas Moteur A=0x41 case(6): Bip_touche();Transmettre('H');break;//et Faire -5 pas Moteur A=0x48 } touche=Acq_touche(); } Bip_touche(); } /***************************************************************************************** * MENU_DEPLA_ZONE() * *****************************************************************************************/ void Menu_Depla_Zone(void) { lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("Zone (0-7)-->"); lcd_gotoxy(1,1); lcd_putsf("*:Retour"); touche=touche_Defaut; //evite d'aller sur zone 3 après appui sur menu 3 while(touche!=touche_Sortir) { switch (touche) { case(0):Bip_touche();lcd_putsf("0");Transmettre('0');break; // et faire déplacement case(1):Bip_touche();lcd_putsf("1");Transmettre('1');break; case(2):Bip_touche();lcd_putsf("2");Transmettre('2');break; case(3):Bip_touche();lcd_putsf("3");Transmettre('3');break; case(4):Bip_touche();lcd_putsf("4");Transmettre('4');break; case(5):Bip_touche();lcd_putsf("5");Transmettre('5');break; case(6):Bip_touche();lcd_putsf("6");Transmettre('6');break; Thème de Bac Génie Electronique 54/60 Dôme de Vidéo Surveillance 246 247 248 249 250 251 252 253 case(7):Bip_touche();lcd_putsf("7");Transmettre('7');break; } touche=Acq_touche(); lcd_gotoxy(14,0); } Bip_touche(); } 7.2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 Dossier Technique Programme de FP2 et FS44 /****************************************************************************************** CAM_MAIN.C ******************************************************************************************/ programme principal de la gestion de la position et le traitement video de la caméra en fonction des ordres ( clavier) en mode scrutation et de la position (aux positions extremes, la commande moteur est inhibé ( butée soft)) le moteur pas à pas est commandé en mode demi pas commande issue du clavier: I pour Init position H pour rotation sens Horaire de la caméra par : nbr_inc AH pour rotation sens AntiHoraire de la caméra par : nbr_inc N° de zone (0 à 7) à atteindre 22/10/06 BM et LA ***************************************************************************/ #include <MEGA8535.h> #include <DELAY.h> #include <STDIO.h> // pour la liaison RS232 #include "cam_define.c" #include "cam_init.c" #include "cam_pos.c" #include "cam_video.c" // définition des alias, constantes, variables et fonctions // configuration des différents registre et initialisation des variables // fonction permettant la mise en position de la caméra // fonction permettant le masquage video void main(void) { Init(); while(1) { while(Reception == Non); donnee = DonneeSerie; Mise_en_Position(); } } /****************************************************************************************** CAM_DEFINE.C ******************************************************************************************/ /**************** déclaration de constante de variable et de fonction ********/ #define commande_moteur PORTC //commande_moteur = [X X PH2 PH1 IN11 IN12 IN01 IN02] #define Pos_Ref_E PINC.6 #define Temps 5 // défini la vitesse de rotation #define nbre_inc 5 // nombre d'incrément pour chaque commande recu ( H : Horaire ou A: AHoraire) #define pos_int 250 // position (intermédiaire) dans la zone ( en gle médiane) #define DonneeSerie UDR // registre de réception de donnée série #define Reception UCSRA.7 // bit indicateur de réception de donnée série #define Non 0 // pour valider ou pas la reception /******************************************************************/ #define pos_max 4000 // rapport de réduction*nbre de pas en demi: 120/12*400 = 4000 0.09deg/pas #define zone0 0 // une zone = 4000/8 = 500 #define zone1 500 // Thème de Bac Génie Electronique 55/60 Dôme de Vidéo Surveillance 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 Dossier Technique #define zone2 1000 #define zone3 1500 #define zone4 2000 #define zone5 2500 #define zone6 3000 #define zone7 3500 /******************ordre de positionnement***********************/ #define ordre_AH 0x41 #define ordre_H 0x48 #define ordre_init 0x49 /**********************MASQUAGE************************/ #define Masque_Ligne PORTB.4 //actif à l'état Bas #define Masque_Zone PORTB.3 //actif à l'état Bas #define Sync_Trame PINB.2 //entrée d'interruption INT2 #define CSync PINB.1 //Horloge du comptage de ligne #define autorise 1 /************************* fonctions*******************/ void Init(void); // configuration des registres et variables pour le Moteur // le Masquage et la reception de caractère // fonction pour le positionnement void Mise_en_Position(void); void Position_Init(void); void Rotation_Stop(void); void Rotation_AH(void); void Rotation_H(void); void Rotation_Zone(void); // fonction pour le masquage void Masquage(void); void Def_Zone(int pos); interrupt [19] void Init_Masquage (void); interrupt [7] void Egalite_CompteurA (void); interrupt [8] void Egalite_CompteurB (void); /************************* variable**************************/ char Masque; char donnee; unsigned int zone; unsigned int position, nbre_pos; unsigned char choix_zone; unsigned int cons_pos; // consigne de position unsigned char ind_M; /************************* constante**************************/ // séquence en mode 1/2 pas char commande_d[]={0x3B,0x23,0x27,0x03,0x0B,0x13,0x17,0x33}; //définition des zones_pas_d, zones de masquages et nbr_ligne et Ligne_Deb associées int ZONES_Dpas[8] = {zone0,zone1,zone2,zone3,zone4,zone5,zone6,zone7}; char Zone_Masq[8] ={1,0,0,1,0,0,1,1}; int Ligne_Debut[8] = {25,10,10,100,0,0,150,250}; int Nbre_Ligne[8] = {150,10,10,20,0,0,35,25}; Thème de Bac Génie Electronique 56/60 Dôme de Vidéo Surveillance 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 Dossier Technique /****************************************************************************************** CAM_INIT.C ******************************************************************************************/ /* fonction de configuration des registres et varaibles pour le Moteur*/ /* le Masquage et la reception de caractère */ void Init(void) { /* config reception */ UBRRH=0; UBRRL=0x17; //UBRR=xtal/16/baud-1--> 9600bauds UCSRB=0x10; //RX enabled la réception UCSRC=0x86; // 8 data bits 1 bit de stop*/ SREG.7=1; //validation generales des interruptions donnee=0; /* initialisation moteur*/ DDRC=0b00111111; commande_moteur=0x0F; ind_M=0; /******** init masquage*********/ Masque=!autorise; Masque_Zone=1; //pas de masquage de zone Masque_Ligne=1; //pas de masquage de Ligne DDRB=0b00011000; // TCCR1A=0b00000000; //réglage Mode Normal TCCR1B=0b00000110; //Horloge T1 sur FD MCUCSR=0; //Bit6=0--> déclenchement interruption INT2 sur Front Descendant GICR=0; //Bit5=0-->desactivation interruption INT2 TIMSK=0; //Bit4=0-->desactivation interruption sur Egalité OCR1A et OCR1B et TCNT1 Reception = Non; } /****************************************************************************************** CAM_POS.C ******************************************************************************************/ /* fonction pour le positionnement */ void Position_Init(void) { TIMSK=0; //Bit4=0-->desactivation interruption sur Egalité OCR1A et OCR1B et TCNT1 Masque_Zone=0; Masque_Ligne=0; do { Rotation_AH(); } while (Pos_Ref_E==0); position = 0; zone = 0; Masque_Zone=1; Masque_Ligne=1; for (position = 0;position<pos_int;position++) { Rotation_H(); Masquage(); } position = pos_int; Rotation_Stop(); } Thème de Bac Génie Electronique 57/60 Dôme de Vidéo Surveillance 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 Dossier Technique void Rotation_Stop(void) { commande_moteur=commande_moteur|0x0F; } void Rotation_H(void) { commande_moteur=commande_d[ind_M]; ind_M++; if (ind_M>7) {ind_M=0;} delay_ms(Temps); } void Rotation_AH(void) { commande_moteur=commande_d[ind_M]; ind_M--; if (ind_M>7) //255 car negatif pas possible vu le type unsigned char {ind_M=7;} delay_ms(Temps); } void Mise_en_Position(void) { switch(donnee) { case(ordre_init): Position_Init(); break; case(ordre_H): { if (position==pos_max) { Rotation_Stop(); // butée } else { for (nbre_pos=0;nbre_pos<nbre_inc;nbre_pos++) { Masquage(); Rotation_H(); position ++ ; } Rotation_Stop(); } } break; case(ordre_AH): { if (position==0) { Rotation_Stop(); // butée } else { for (nbre_pos=0;nbre_pos<nbre_inc;nbre_pos++) { Masquage(); Rotation_AH(); position -- ; } Rotation_Stop(); Thème de Bac Génie Electronique 58/60 Dôme de Vidéo Surveillance 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 Dossier Technique } } break; } if ((donnee >='0')&&(donnee <= '7')) // --> Déplacement Absolu par N° de zone { choix_zone = donnee & 0x0F; // masquage pour récupérer la valeur décimale Rotation_Zone(); return; } } void Rotation_Zone (void) { cons_pos = ZONES_Dpas[choix_zone] + pos_int; if (cons_pos<position) { do { Rotation_AH(); position--; Masquage(); } while (position!=cons_pos); } else { if (cons_pos>position) { do { Rotation_H(); position++; Masquage(); } while (position!=cons_pos); } } Rotation_Stop(); } /****************************************************************************************** CAM_VIDEO.C ******************************************************************************************/ //---------------------------------------------------------------------------------void Masquage(void) { Def_Zone(position); Masque=Zone_Masq[zone]; if (Masque==autorise) { Masque_Zone=0; //activer Masquage Zone GICR=32; //Bit5=1-->activation interruption INT2 TIMSK=24; //Bit4=1 et Bit3=1 -->activation interruption sur Egalité OCR1A et OCR1B avec TCNT1 } else { Masque_Zone=1; //désactiver Masquage Zone GICR=0; //Bit5=0-->désactivation interruption INT2 TIMSK=0; //Bit4=0-->désactivation interruption sur Egalité OCR1A et OCR1B avec TCNT1 }; } Thème de Bac Génie Electronique 59/60 Dôme de Vidéo Surveillance 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 Dossier Technique //----------------------------------------------------------------------------------interrupt [19] void Init_Masquage (void) { OCR1A=Ligne_Debut[zone];// charge le registre de comparaison avec la valeur de début de ligne OCR1B=Nbre_Ligne[zone]+Ligne_Debut[zone]; // charge le registre de comparaison avec la valeur de fin de ligne delay_us(70); //pour éviter de compter les impulsions de synchro TCNT1=0; // Initialise et lance le comptage } //----------------------------------------------------------------------------------interrupt [7] void Egalite_CompteurA (void) { Masque_Ligne=0; //Commencer Masquage des lignes } interrupt [8] void Egalite_CompteurB (void) { Masque_Ligne=1; //Arrêter Masquage des lignes } //----------------------------------------------------------------------------------void Def_Zone(int pos) { if ((pos>=zone0)&&(pos<zone1)) {zone=0;return ;} if ((pos>=zone1)&&(pos<zone2)) {zone=1;return ;} if ((pos>=zone2)&&(pos<zone3)) {zone=2;return ;} if ((pos>=zone3)&&(pos<zone4)) {zone=3;return ;} if ((pos>=zone4)&&(pos<zone5)) {zone=4;return ;} if ((pos>=zone5)&&(pos<zone6)) {zone=5;return ;} if ((pos>=zone6)&&(pos<zone7)) {zone=6;return ;} if (pos>=zone7) {zone=7;return ;} } Thème de Bac Génie Electronique 60/60