Traceur de caractéristiques de LED
La connexion à la carte microcontrôleur se fait en utilisant le schéma ci-contre. Un câble convertisseur TTL / USB assure la liaison sérielle avec le PC.
Le port sériel par défaut est COM6 à 115200 bauds, 8 bits, pas de parité, 1 bit de stop. Le N° du port peut être redéfini dans le logiciel tournant sur le PC.
La carte microcontrôleur est alimentée directement par le câble sériel.
Pour le montage de test de la LED, il faut prévoir une alimentation 9 V.
Le montage de test comportant peu de composants est réalisé sur une plaquette d'expérimentation comme le montre la photo plus haut. |
|
Le programme du traceur de la carte ATM18 est écrit en BASCOM-AVR et convient pour un ATmega 88. Il est facile de le modifier pour un autre microcontrôleur. La version de démo de BASCOM-AVR est suffisante pour compiler le programme car il n'occupe qu'un 1 Ko .
' Traceur de courbe pour diode LED
' conception Jean-michel DEFAIS
' JMD jmdefais@wanadoo.fr
' Generation d'un signal PWM sur PB1
' Envoi au terminal de la valeur sur AD7, AD1 et AD0
$regfile = "m88def.dat"
$crystal = 16000000
Baud = 115200
Open "comd.0:115200,8,n,1" For Input As #1
Dim B As Byte
Dim U As Single
Dim A7 As Integer
Dim A0 As Integer
Dim A1 As Integer
Dim Sa As Integer
Dim I As Single
Dim Pwma As Integer
Config Timer1 = Pwm , Prescale = 8 , Pwm = 10 , Compare A Pwm = Clear Down
Config Adc = Single , Prescaler = Auto , Reference = Off ' Pre 8...32
Start Adc
Do
Pwma = 0
Get #1 , B 'Attend 1 sur terminal pour mesure
If B = 1 Then
Do
Pwma = Pwma + 1
Pwm1a = Pwma
If Pwma > 1023 Then Exit Do
A7 = Getadc(7)
A7 = A7 * 5
U = A7 / 1023
Print U
Print "A"
A0 = Getadc(0)
A1 = Getadc(1)
Sa = A1 - A0
Sa = Sa * 5
I = Sa / 48
Print I
Print "B"
Loop
End If
Loop
Le programme pour PC est réalisé avec Profilab Expert d'Abacom qui permet de créer des instruments de mesure virtuels.
voici un exemple d'affichage d'une courbe
ci-dessus. Elle peut être enregistrée, imprimée ou collée dans le presse-papier.
La boite à outil de la barre d'icônes permet aussi d'adapter la configuration à son environnement de PC (Port Com, impression, presse-papier, ...).
|
Gradateur de LED
Une carte microcontrôleur possède 3 boutons poussoir sur ses entrées : S1, S2, S3 et une LED sur une sortie.
Un appui sur S1 augmente la luminosité de la Led1, un appui sur S2 diminue la luminosité, un appui sur S3 éteint la Led.
Une sortie (PB1) génère une MLI (PWM). L'intensité de la LED dépend de la valeur moyenne.
|
|
Commander la variation d'une seule LED est d'un intérêt limité. Pour commander des LED haute luminosité blanche, du type Vd = 3,3 V, Id= 20 mA, 10000 mcd, on peut utiliser le schéma ci-contre. Ces LED peuvent prendre place dans un système d'éclairage.
Les diodes peuvent être mises en parallèle. En série on obtient rapidement des tensions trop élevées sur ce type de LED.
La résistance série est à calculer en fonction du nombre de LED en parallèle. Avec une résistance de 100 ohms le courant dans chaque LED est de 20 mA.
Le transistor est obligatoire car la sortie d'un microcontrôleur ne peut fournir les 3 x 20 mA = 60 mA demandé par les 3 LED. |
|
Le programme du gradateur de LED de la carte microcontrôleur est écrit en BASCOM-AVR et convient pour un ATmega 88. Il est facile de le modifier pour un autre microcontrôleur. La version de démo de BASCOM-AVR est suffisante pour compiler le programme car il occupe à peine 1 Ko .
' Generation d'un signal PWM sur PB1
' conception JMD jmdefais@wanadoo.fr
' S1 relié à PD6
' S2 relié à PD5
' S3 relié à PD7
$regfile = "m88def.dat"
$crystal = 16000000
Baud = 9600
Dim Pwma As Integer
Config Timer1 = Pwm , Prescale = 8 , Pwm = 10 , Compare A Pwm = Clear Down
S1 Alias Pind.6
S2 Alias Pind.5
S3 Alias Pind.7
Config Portd = &B00001100
Portd.6 = 1
Portd.5 = 1
Portd.7 = 1
Dim Pwmold As Integer
Pwma = 0
Do
If S1 = 0 Then Pwma = Pwma + 1
If Pwma > 1023 Then Pwma = 1023
If S2 = 0 Then Pwma = Pwma - 1
If Pwma < 0 Then Pwma = 0
If S3 = 0 Then Pwma = 0
Waitms 20
Pwm1a = Pwma
If Pwma <> Pwmold Then
Print Pwma
End If
Pwmold = Pwma
Loop
|