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

 > 

Mise au point du dispositif à barre de pression d'Hopkinson divisée (BPHD)

( Télécharger le fichier original )
par Larbi Gueraiche
Université de M'sila - Magister 2008
  

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

IV.2 Résultats

) réalisé et son

e disposi

L tif à barre de pression d'Hopkinson divisée (BPHD

igure IV. 1 2).

instrumentation associée sont illustrés sur la figure ci-dessous (F

Figure IV.1 2: Photo du dispositif BPHD réal isé avec l'in strumentati on associée

double

e l'interface de pilota lenchement et la remi

principe

ation d'un premier p

Deux relais sont

La figure IV. 13 illustr fonctionnalité; Le déc est basé sur la satur utilisés; le

ge du dis po
se en posi ti
transistor p our assur er
our actionn er l'électr o

sitif BP HD. Elle as sure une on initial e du projec tile. Son la com mutation d' un relais. vanne du canon à air et le

deuxième pour mettre en marche la pompe à vide. Deux portes logiques XOR sont utilisées pour éviter les problèmes relatifs au démarrage et arrêt du PC.

Figure IV. 13: Carte de pilotage de BPHD
Figure IV.14: Circuit imprimé de la carte de pilotage -coté cuivre

Figure IV.15: Circuit imprimé de la carte de pilotage - coté composants

IV.2.1 Commande de l'électrovanne et de la pompe a vide sous VC++

IV.2.1.1 Compatibilité avec XP

Le niveau de sécurité du pare feu de Windows XP est élevé. IL ne permet pas d'avoir accès aux ports du PC en mode utilisateur. Alors, il faut utiliser un DLL qui permet de changer le mode utilisateur en mode noyau

InpOut32 est un fichier DLL (Dynamic Link Library) qui peut envoyer des données au port parallèle et qui peut recevoir des données du port parallèle. Le fichier et le code source peuvent être téléchargés à partir du site: http://logix4u.net. Avec ce DLL, on utilise les fonctions Inp32 () et Out32 () au lieu de _inp() et _outp().

Pour convertir notre projet en un programme permis par XP, on utilise le dossier InpOut32.DLL. Voila comment utiliser ce DLL dans VC++:

1. Ajouter ces trois lignes dans le dossier CSHBDoc.cpp après les directives du préprocesseur.

#define portaddr 0x378 // Adresse du bus de données

short _stdcall Inp32 (short portaddr);

void _stdcall Out32(short portaddr, short datum);

2. Changer _ inp() en Inp32() et _outp() en Out32() dans le programme.

3. Copier le fichier DLL (inpout32.dll) et le fichier de la bibliothèque (inpout32.lib) obtenu en compilant le code source disponible à http://logix4u.net au répertoire du projet.

4. À partir du menu Project, choisir Settings, aller à Link, dans Object/ library modules, écrire inpout32.lib.

5. Maintenant votre programme devrait fonctionner sans aucune erreur.

Pour éviter les problèmes relatifs au démarrage et à l'arrêt du PC, on a exploité deux portes logiques XOR parmi les quatre du circuit CD4030CN.

Du fait qu'on commande deux organes, donc on aura besoin de quatre broches. Il suffit de les choisir parmi les huit broches du registre de données de LPT1 (D0, D1, D2, D3, D4, D5, D6 et D7). Pour notre cas, on prend par exemple :

D0 et D3 pour commander la pompe à vide.

D5 et D7 pour la commande de l'électrovanne.

D7

D5

D3

D0

Y1= ?~0?~?~?~?~D3+D0?~3?~?~?~?~

Y2=?~5?~?~?~?~D7+D5?~7?~?~?~?~

0

0

0

0

0

0

0

0

0

1

0

1

0

0

1

0

0

1

0

0

1

1

0

0

0

1

0

0

1

0

0

1

0

1

1

1

0

1

1

0

1

1

0

1

1

1

1

0

1

0

0

0

1

0

1

0

0

1

1

1

1

0

1

0

1

1

1

0

1

1

1

0

1

1

0

0

0

0

1

1

0

1

0

1

1

1

1

0

0

1

1

1

1

1

0

0

Tableau IV.3: Tableau logique pour commander l'électrovanne et la pompe à vide

La sortie Y1 sert à commander la pompe à vide. Néanmoins, la sortie Y2 est pour commander l'électrovanne.

Les cas en rouge sont à éviter car ils entrainent un conflit; la pompe à vide et l'électrovanne fonctionnent simultanément. Le vert correspond aux cas du bon fonctionnement de l'électrovanne tandis que les cas adéquats pour actionner la pompe à vide sont en jaune.

ELECTROVANNE:

Hormis D0, D3, D5 et D7, le reste des broches du registre de données sont mises à zéro. Les valeurs en binaire (D7D6D5D4D3D2D1D0) à introduire au port parallèle sont converties en hexadécimal. Selon le tableau IV.4, on a quatre possibilités pour commander l'électrovanne; 0x01, 0x08, 0xA1 ou 0xA8.

D7

D6

D5

D4

D3

D2

D1

D0

En hexadécimal

 
 
 
 
 
 
 

1

0x01

 
 
 
 

1

0

0

0

0x08

1

0

1

0

0

0

0

1

0xA1

1

0

1

0

1

0

0

0

0xA8

Tableau IV.4: Codes de commande de l'électrovanne.

La commande de l'électrovanne est assurée par la fonction OnTestRun () qui appartient à la classe CCSHBDoc. On introduit l'une des quatre valeurs données dans le tableau IV.4 à l'instruction Out32.

void CCSHBDoc: :OnTestRun()

{

// Selon l'ouvrage : Guide pratique _Interfaçage numérique, p.15:

// Une broche mise au niveau logique "1" fournit:

// Une tension fixe comprise entre 2.4V et 3.6V

// Un courant sortant maximum de 0.4 mA

/* _outp (Port, databyte);

unsigned short Port=0x0378;// 0x0378 est l'adresse de LPT1

int databyte =0x04; // broche N°3 (D1-->2.9V tension pratique)*/

Out32 (0x378, 0x01); // 0x01, 0x08, 0xA1, 0xA8

Sleep (800); /* Sleep(800) maintient l'electrovanne sous tension

Pendant 800 ms.*/

Out32 (0x378, 0); // Remise à zéro du port parallèle.

}

POMPE A VIDE:

Pour commander la pompe à vide, il suffit d'introduire à l'instruction Out32 l'une des valeurs ainsi: 0x20, 0x29, 0x80 ou 0x89. La fonction de commande est OnTestRemise().

D7

D6

D5

D4

D3

D2

D1

D0

En hexadécimal

 
 

1

0

0

0

0

0

0x20

 
 

1

0

1

0

0

1

0x29

1

0

0

0

0

0

0

0

0x80

1

0

1

0

1

0

0

0

0x89

Tableau IV.5: Codes de commande de la pompe à vide

void CCSHBDoc: :OnTestRemise()

{

Out32 (0x378, 0x20); // 0x20, 0x29, 0x80 ou 0x89 Sleep (1000);

Out32 (0x378, 0);

}

Figure IV. 16: Conditionneur à deux voies*

*1/4 de pont de wheatstone & préamplificateur par voie

Figure IV. 17: Circuit imprimé du conditionneur- coté cuivre
Figure IV. 18: Circuit imprimé du conditionneur- coté composants

Les composants utilisés dans la carte de commande et dans le conditionneur sont respectivement indiqués sur les circuits imprimés-coté cuivre des figures IV. 14 et IV. 17.

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








"Les esprits médiocres condamnent d'ordinaire tout ce qui passe leur portée"   François de la Rochefoucauld