WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Réalisation et optimisation d'un détecteur de présence photoélectrique

( Télécharger le fichier original )
par Roland Louis Marie LEKA ONDANGA
Université Marien Ngouabi de Brazzaville - Licence 2013
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

III.2.2.Le circuit MAX232

Le détecteur de présence photoélectrique fournit des niveaux TTL de 0,5Volt (niveau bas) et 5Volt (niveau haut) ; brancher donc directement une ligne RS232 sur le PIC pourrait exposer ce dernier à des tensions élevées de l'ordre de 10 à 25 volts provenant de la ligne RS232 du côté postePC.

Ainsi donc pour protéger le PIC, nous avons fait usage d'un circuit MAX232, doté d'un convertisseur de tension, au travers des capacités C3 et C7 il génère une tension de 10Volt depuis les 5Volt de l'alimentation (doubleur de tension) et au moyen des capacités C4 et C6 il génère une tension de -10Volt à partir de la tension de 10Volt.

Le brochage du MAX232 utilisé se présente comme suit :

- Le PIN7 :T2out est la sortie vers le port série. Il est chargé d'annoncer le top de

transmission entre l'ordinateur et le MAX232

- Le PIN8 :R2in est relié au pin 7 du port série. Il est chargé de recevoir les requêtes de

transmission provenant de l'ordinateur.

- Le PIN9 :R2out, c'est ce pin qui est chargé de recevoir des requêtes de transmission

provenant du PIC.

- Le PIN10 :T2in, c'est le pin chargé d'annoncer le top de transmission entre le MAX232

et le PIC.

- Le PIN11 : T1in est la sortie vers le PIC. C'est sur ce pin que se fait l'émission des

données. Ce pin est relié au pin 17 du PIC, car les données qui sortent du MAX232 sont

reçues par le PIC à travers ce pin.

- Le PIN12 :R1out est une entrée. C'est ce pin qui est chargé de la réception des données.

Il est relié au pin 18 du PIC car les données qui sortent du PIC à travers ce pin, sont

reçues par le MAX232 à travers le pin 12 (R1out).

- Le PIN13 : R1in est une entrée. Il est chargé de la réception des données. Il est relié au

pin 3 du port série car les données provenant de l'ordinateur sont reçues par le MAX232

à travers le pin 13 (R1in)

- Le PIN14 :T1out est une sortie vers l'ordinateur. C'est lui qui fait l'émission des

données. Il est relié au pin 2 du port série car les données qui sortent du MAX232 sont

reçues par l'ordinateur à travers ce pin.

- Le PIN15 : GND est la masse.

- Le PIN16 : VCC est la tension d'alimentation du circuit.

Figure 14 : Schéma du projet

III.2.3.Le poste PC

Le poste PCest l'ordinateur qui reçoit l'information provenant du détecteur pour une utilité quelconque. Le poste PC doit obéir à certains critères pour que l'information reçue en son sein puisse circuler avec rapidité et fiabilité sur d'autres équipements.

Ainsi le poste PC utilisé est constitué de 4Go de mémoire RAM, d'un minimum de 15Go de disque dur pour le stockage des programmes et données, d'un processeur de 2,5GHz de vitesse.

Le poste PC a en son sein une carte Ethernet de débit 54Mbits/s et une carte Wifi de 54Mbits/s. Le détecteur de présence est connecté au poste serveur via le port série RS232 comme l'indique la figure 15.

Ainsi le débit nominal maximum et la longueur maximum du câble RS232 sont de 20 kBauds et de 20m.


Figure15 : Schéma du poste PC connecté au détecteur

Programme d'ouverture, d'envoi et de réception des données du port série RS232

Afin de permettre au poste PC de recevoir l'information provenant du détecteur, un programme a été conçu pour permettre l'ouverture du port série, l'envoi et la réception des données :

#include <iostream>

#include <exception>

using namespace std;

#include <windows.h>

#include "com_class.h"

FILE *fp;

int main()

{

inti ;

char m;

try

{

char str2[2]={'A','B'};

charstr[1];

fp=fopen

com1.open (1);

while (1)

{

com1.write (str2, 2);

Sleep (500);

com1.read (str, 16);

for (i=0; i<1; i++)

{

m=str[i];

printf ("%x ", m);

}

printf ("\n");

}

}

catch (exception &e)

{

cout<<e.what () <<endl;

}

return 0;

}

Ce programme a été testé sur Microsoft Visual C++, dont voici l'image du résultat :

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Je ne pense pas qu'un écrivain puisse avoir de profondes assises s'il n'a pas ressenti avec amertume les injustices de la société ou il vit"   Thomas Lanier dit Tennessie Williams