mercredi 16 décembre 2015

Voltage And Current Regulation !!

Voltage And Current Regulation !!

Bonsoir, aujourd'hui j'ai choisi de vous parler un peu de domaine de régulation de tension et de courant, Vu a l'importance de ce dernier domaine surtout a l'alimentation de différents composants électroniques,
Commençons tout d'abord par la notion de régulation de tension.

Un régulateur de tension en faite  un élément capable d'assurer  la stabilisation d'une tension à une tension bien fixe, et qui est obligatoire  pour les montages électroniques qui ont besoin d'une valeur de tension qui est pas directement disponible. Un régulateur de voltage est parfois  composé d'une collection de composants électroniques simple de base  (résistances, diodes zener et transistor par exemple), mais il peut aussi être de type "intégré" ou "avancée" et contenir tout ce qu'il faut dans un seul et même boitier, pour rendre pratiquant son fonctionnement veuillez bien lire le reste de cet article.



Symbole regulateur ideal

ce qui est demandé en faite du régulateur de tension est de  fournir une tension constante pour n’importe quel courant de output quelque soit la  charge. ceci est vrai seulement si votre régulateur est idéale présenté au figure si dessus. Alors quoi faire ?

Schema interne d'un regulateur de tension
Ceci c'est le décomposition interne d'un régulateur formé sur un simple circuit intégré.
La valeur output Vout sera autmatiquement  comparée à une tension de référence fixe qui jouera le role de consigne  Vref, par la boucle de contre réaction (feedback).
La sortie de comparateur touchera automatiquement la source de courant qui va polariser le transistor 'BALLAST" de façon de régler Vout.
Le moment ou la sortie de comparateur sera completement nul c'est le moment ou on a eu la tension de réference qu'on cherche. 

Les régulateurs fixes sont appelés ainsi parce qu'ils ont été conçus pour fournir une tension continue d'une valeur donnée, qui est non modifiable. Il en existe de multiples sortes sous plein de catégories, la famille la plus célèbre ici c'est celle qui inclut  la série LM78xx (ou uA78xx) et LM79xx (ou uA79xx).

 Ils sont très simple à utiliser, et il suffit de peu de connaissances pour savoir le choix correct a utiliser,
 leur nom indiquant de lui-même de quoi s'agit et de quel voltage j'aurai.

LM = préfixe utilisé par le fabricant. 
78 = signifie qu'il s'agit d'un régulateur positif.
79 = signifie qu'il s'agit d'un régulateur négatif.
xx = tension de sortie fixe et je dis bien fixe  (valeur entière sur deux chiffres, par exemple "05" pour 5 V).
Valeurs courantes disponibles : 5 V, 6 V, 9 V, 10 V, 12 V, 15 V, 18 V, 24 V.
Alors le régulateur  choisit va dépendre automatiquement de valeur demandé par la charge de circuit.

Exemple d'utilisation de ces derniers sur ISIS:




Comme ça se voit ici depuis le 15 V d'entrée j'ai fait sortir le 5v et 6v et le 8v et le 9v...  .



Ce régulateur inclus une tension d'entré sur 2 pins et une autre de sortie sur deux pins et puisque une c'est la masse elle est commune ce régulateur possède 3 pins (IN,OUT,GND). ceci c'est pour le brochage de régulateur 78xx(tension postive) j'indique qu'il faut bien faire attention a propos du brochage de régulateur de tension négative vu que l'ordre des pins est different.Voila l'exemple de 8V  positive et 9V négative.


Brochage LM78xx / LM79xx

Posons que je cherche a avoir une tension stable de 10V et je possède que de régulateur de 5V comment je fait ?
Ici j'ai besoin de rappeler l'utilité de la diode zener voici cette exemple 
Alim simple - Offset 

Pour avoir une tension de sortie de 10V, il est préférable  d'insérer une diode zener de 5,1V entre borne "masse" d'un régulateur 5V et masse "réelle", comme le montre le schéma ci-dessus du coup la tension de sortie sera 5V venue de régulateur avec le 5.1V de diode zener donc 10.1v.

Les condensateurs que vous voyez de part et d'autre a coté de régulateur, Le choix de leur valeurs comment s'effectue ?
alim_regul_condos_additionnels_001 
Condensateur C1 : c'est le condensateur responsable au filtrage,et qui permet de "lisser" les arches de sinusoïdes pour en obtenir une tension à peu près stable. 
Condensateur C2 : ce condensateur sert à améliorer la stabilité du régulateur et permet une meilleur réponse aux transitoires. 
Condensateur C4 régulateur fixe : ce condensateur additionnel et facultatif doit aussi être placé au plus près du régulateur de tension. Il sert à améliorer la stabilité du régulateur. 
Condensateur C3 : ce condensateur  le  rôle de réservoir d'énergie pour la charge.Tout régulateur est capable de supporter une certaine tension sur ses poles d'entrées  jusqu'à une valeur fixe bien determinée . De même, tout régulateur est capable de délivrer un courant maximal.
Les valeurs maximales spécifiées par les fabricants ne doivent pas vous laisser penser que l'on peut atteindre ces limites en toutes circonstances. Les limites d'utilisation sont liées aux contraintes thermiques surtout puisque l'energie dissipée par effet joule ici est proportionnelle au difference de tension entre la valeur d'entrée et de sortie. 

posins que j'ai des forts  courants au circuit mises et qu'il existe une grande séparation entre l'alimentation et la charge, la chute de tension sera si importante . Cette chute de tension peut être compensée par une méthode dite "4 pins", 

regul_alim_4_fils_001a
Une autre probléme s'effectue a l'utilisation de ce genre de régulateur c'est l'intervalle de courant équipée avec la tension de sortie alors 

Les 1 A ou 1,5 A du bon vieux LM7812 ne suffisent pas ? Plusieurs solutions pour passer un ou deux crans au-dessus, vous pouvez :- utiliser un régulateur plus puissant;- ajouter un gros transistor à un régulateur;
- mettre plusieurs régulateurs en parallèle. 

Au cas ou on va se baser sur la première solution il faut bien choisir le régulateur en prenant en compte la valeur de courant ou la capacité de courante qui est capable a fournir.
Au cas ou on va gonfler le courant de sortie il faut utiliser un transistor qui va dépendre de chemins demandée  par exemple ce circuit là 
Alim Regul 78xx 003 


L'application simple de loi de noeud ici va vous expliquer comment simplement on peut ajouter un courant au courant de sortie du coup j'ai gonfler le courant de sortie.
Exemple alimentation 12V 5A exellente avec les moteurs pas à pas si dessous:
Alim 12V / 5A


 Article crée et traité par : Houssem Ben Hammadi. 

samedi 21 novembre 2015

How To Control Speed,Comportment,Direction Of a Stepper Motor Using Pic and Labview !!!

How To Control Speed,Comportment,Direction Of a Stepper Motor Using Pic and Labview !!!


Bonjour !!!
Notre but c'est de savoir commander un moteur pas a pas bipolaire a l'aide d'une interface graphique faite sur Labview basée sur une communication série !!

Pour ceci on aura besoin:

Moteur pas à pas bipolaire
L297
L298
Pic 16F877A
Max 232
RS232
Résultat de recherche d'images pour "pic16f877a"Résultat de recherche d'images pour "motor stepper bipolar"Résultat de recherche d'images pour "l297"Résultat de recherche d'images pour "l298"Résultat de recherche d'images pour "max232"Résultat de recherche d'images pour "rs232 port for pcb"



Alors pour comprendre le fonctionnement pas à pas on peut le décomposer en plusieurs etapes :

Le L297 est un circuit recommandé pour la  commande et de contrôle de moteurs pas à pas unipolaire et même  bipolaire.
En l'associant avec un driver double pont tel que le L298, l'ensemble jouent une interface parfaite pour la commande d'un moteur pas à pas bipolaire par microprocesseur ou micro contrôleur.
On peut  contrôler un moteur pas à pas unipolaire avec un L297 en lui associant quatre transistors darlington ou mosfet.

Le circuit de Control de moteur pas à pas L297 est recommandé pour être utilisé avec un circuit L298 ou L293E.
Il reçoit les signaux de contrôle venant d'unité de traitement qui est un pic a notre projet et la traduit en des signaux de forte puissances qui vont se communiquer avec le moteur.
Ce circuit inclue deux régulations à découpage type PWM (Pulse Width Modulation) pour réguler le courant de moteur.

De plus il est capable de toucher le comportement de moteur genre pas complète ou demi pas ou même un quart de pas  .

Le circuit intégré L298N est un étage de puissance (hacheur) spécialisée pour les moteurs àqui fonctionnent en courant continu.

Interface du L297



Pour des moteurs bipolaires avec des courants de l'ordre de 2 A max dans les enroulements comme notre moteur ici  le L297 doit accompagner  L298N. 
Pour des courants jusqu'à 1 A le hacheur L293 est recommandé fortement.
Résultat de recherche d'images pour "moteur pas a pas"

La carte électronique qu'on va réaliser elle doit contenir ces deux circuits intégrées avec un Pic 16F877A 
  

Le Clock du circuit L297 est générée automatiquement avec le PIC sinon on pourra utilisée un timer NE555 pour réaliser cette tache.


Pour que la carte electronique qui fonctionne sous la technologie TTL (transistor transistor Logic) sera lisable sur l'ordinateur on doit insérer un convertisseur TTL/Série composée d'un max 232 et RS232 et quelques condensateurs.
   

Pour le test sur ISIS il suffit d’insérer un ("COMPIM")  qui va jouer le rôle de ce circuit.

A propos du programme 









char uart_rd;
void main()
{
  TRISB = 0; //Makes PORTB0 or RB0 Output Pin
  PORTB =  0;
      UART1_Init(9600);               // Initialize UART module at 9600 bps
    Delay_ms(100);                  // Wait for UART module to stabilize
    UART1_Write_Text("Start");
  while(1) //Infinite Loop
  {
    PORTB.F0 = 1;
    Delay_ms(250);
    PORTB.F0 = 0;
    Delay_ms(250);

    if (UART1_Read() == ('e') ) {   

    PORTB.F2 = 0;
    }
    else         {
    PORTB.F2 = 1; }
    if (UART1_Read() == ('a') ) {    

    PORTB.F3 = 1;

    }
    else         {
     }
       if (UART1_Read() == ('b') ) {     

    PPORTB.F3 = 0;
    }
    else         {
     }
     
          if (UART1_Read() == ('c') ) {   

    PPORTB.F4 = 0;
    }
    else         {
     }
             if (UART1_Read() == ('d') ) {   

    PPORTB.F4 = 1;
    }
    else         {
     }     
}}

 Maintenant a propos d'interface graphique sur Labview comme j'ai vous indiqué avant que il est divisé en deux parties que j'ai nommée Design et Praogram 



Voila une vidéo démonstrative de fonctionnement de ce projet:

et j'ai vous mis ici le routage finale de la carte:





Vous pouvez télécharger tout le projet sur ce dossier : 





 Télécharger le projet complet ici :   https://drive.google.com/file/d/0B9EKWF9Q9HyvbE13VTlPeHZCNmc/view?usp=sharing

lundi 2 novembre 2015

PWM, SPI and I2C Protocols in Raspberry Pi !!

PWM (Pulse Width Modulation) ou en français le MLI (Modulation avec Largeur d’Impulsion).
Commençons tout d’abord par une définition générale du PWM. Ce terme on le trouve presque partout au domaine d’électronique et surtout dans les variateurs de vitesse de moteur a courant continu ou le clignotement d’une diode LED.


Le PWM ou le MLI c’est une outil capable a gérer la valeur de signal de sortie en la partageant entre deux états 1 logique ou 0 logique suivant un rapport cyclique nommé (Alpha) qui représente le pourcentage en niveau haut par rapport au pourcentage totale du période. Autrement dit la largeur de l’impulsion.


Au premier tram l’impulsion est ­a 5% de la valeur de la période et au deuxième tram l’impulsion est à 50% mais a la dernière l’impulsion est à 90%.
Donc logiquement si on va alimenter l’anode d’une diode LED avec ces 3 signaux celle la dernière c’est celle qui va clignoter plus rapidement que les autres.
Sur le même plan si on va alimenter un moteur à courant continu avec ces trois signaux celui l’alimenté avec le dernier signal va tourner avec une vitesse plus haut que les deux autres. Et celui qui sera alimenté avec le deuxième signal tournera à la vitesse plus fort que celui l’alimenté avec le premier signal.
D’ici on peu conclure que le rapport cyclique α est proportionnelle à la vitesse de basculement de diode Led ou à la vitesse de moteur DC.
Passons maintenant a comment faire pour fournir un signal PWM avec le Raspberry Pi et comment faire pour changer le rapport cyclique.

On va réaliser ce petit montage en essayant de voir le comportement de PWM fourni par le pin 21 de Raspberry Pi sur la diode LED.
                               


         Le programme on va l’écrire en python et l’exécuter âpres.


// Lets electronic By Aymen Lachkhem

import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(21, GPIO.OUT) #mettre le PWM en sortie de 21
p = GPIO.PWM(21,50)        #enclencher la valeur d’impulsion a 50%
p.start(0) 
try:
while True:
for i in range (100):
p.ChangeDutyCycle(i)
time.sleep(0.02)         
for i in range(100):
p.ChangeDutyCycle(100-i)
time.sleep(0.02 )
p.stop()
GPIO.cleanup()




 Juste après réaliser le montage suivant et exécuter le programme si dessus le comportement de la diode LED va bien indiquer la mise en évidence de l’existence de PWM sur Pin 21.





 On peut varier le vitesse d’un moteur à courant continu comme on veut juste on le branchant a un hacheur tel que le L293D ou un transistor suivant les besoins.
Passons à la deuxième partie . Comment on peut interfacer un capteur ANALOGIQUE avec la Raspberry Pi ?
La Raspberry Pi comme j’ai déjà indiqué avant que c’est un micro-ordinateur basé sur un micro-processeur capable qu’a lire des valeurs numériques 0 ou 1 Logique. Une valeur dedans c’est invisible.

Avant sa il fait bien comprendre les deux protocoles que la réalisation de cette objectif va se baser sur
Protocol I2C :
Historiquement la norme I2C (Inter Integrated Circuit) a été développée par Philips en 1982. Depuis elle est maintenue par NXP (ex-division semiconducteurs de Philips).
La version 1.0 a été publiée en 1992, la version 2.0 en 1998, la version 2.1 en 2000, la version 3.0 en 2007 et la version actuelle 4.0 en 2012.

On peut définir L’I2C sous série synchrone bidirectionnel half-duplex.
Plusieurs équipements, soit maîtres, soit esclaves, peuvent être connectés au bus.
Les échanges ont toujours lieu entre un seul maître et un (ou tous les) esclave(s), toujours à l'initiative du maître (jamais de maître à maître ou d'esclave à esclave). Cependant, rien n'empêche un composant de passer du statut de maître à esclave et réciproquement.
La connexion est réalisée par l'intermédiaire de deux lignes :
·          SDA (Serial Data Line) : ligne de données bidirectionnelle,
·         SCL (Serial Clock Line) : ligne d'horloge de synchronisation bidirectionnelle.
Il ne faut également pas oublier la masse qui doit être commune aux équipements.

 Protocole SPI :
 Une liaison SPI (pour Serial Peripheral Interface) est un bus de données série synchrone baptisé ainsi par Motorola, qui opère en mode Full-duplex. Les circuits communiquent selon un schéma maître-esclaves, où le maître s'occupe totalement de la communication. Plusieurs esclaves peuvent coexister sur un même bus, dans ce cas, la sélection du destinataire se fait par une ligne dédiée entre le maître et l'esclave appelée chip select.

Alors ce qu’on peut prendre ici c’est qu’il faut réaliser une conversion analogique numérique en se basant sur un ADC (Analog Direct Converter) qui fonctionne déjà sous les protocoles suivants.
La communication sera comme ceci : le convertisseur analogique numérique inclus plusieurs entrées analogiques qui joueront les rôles d’esclaves (slaves) et une sortie vers le Raspberry Pi qui jouera le rôle de maitre
Prenons par exemple le convertisseur analogique numérique MCP3008 D/A chip qui contient plusieurs entrées analogiques telles que capteurs ou afficheurs …  .
Comme il est indiqué sur la graphe de GPIO antécédente il existe plusieurs protocoles qu’on a connu avec des autres cartes électroniques déjà utilisée tels que le protocole I2C, UART,…. .



Résultat de recherche d'images pour "raspberry pi gpio"



Ces protocoles seront pas automatiquement activées on aura besoin de les activés manuellement avant de les utilisées. Alors il faut réaliser les étapes suivantes avant :   
  • Ouvrons un terminal, depuis une interface graphique, et/ou lancons la commande suivante :

sudo raspi-config
  • Cela lance l'interface de configuration du Raspberry Pi, sélectionnons « Advanced Options » puis validons :

Résultat de recherche d'images pour "enable spi"

  • Sur le nouvel écran, sélectionnons « I2C » par exemple puis validons :
Résultat de recherche d'images pour "enable spi"

  • Répondons « Yes » à toutes les questions qui suivent.
  • Rebootons notre machine en tapant

sudo reboot
  • Testons que l'I2C est active avec la commande suivante :

lsmod | grep i2c_

Le même principe avec les restes de protocoles au but d’activer le protocole qu’on va utilisée selon la tache.