Unitat 13 : Control de càrregues amb optoacobladors.
13.1 > Control de càrregues des de la ChipKIT.
Si l’objectiu està en el control de càrregues importants que demanin una intensitat superior a la que pot oferir un port qualsevol de la ChipKIT ( 18 mA ), caldrà cercar un component que així ho permeti.
En aquesta unitat treballarem amb els optoacobladors. En una altra ens ocuparem dels transistors.
--- 13.2 > Optoacobladors.
Fotoemissor és un component que emet llum quan per ell passa un corrent elèctric. Exemple: díode LED.
Fotoreceptor és un component que permet a través d’ell el pas de corrent quan és excitat per un determinat llum. Exemples: fototransistor, fototriac, fotodíode, fototiristor.
Optoacoblador és tot component format per un fotoemissor i un fotoreceptor de manera que entre ells hi ha un camí per on es transmet el llum.
També són coneguts amb el nom d’optoaïlladors, donat que poden passar senyals d’un circuit a un altre sense connexió elèctrica.
Els optoacobladors substitueixen als relés. En relació amb aquests, presenten una més elevada velocitat de commutació i una total eliminació dels rebots.
ChipKITU13-1
---
13.3 > Optotriac S202S02.
Els terminals de la dreta són els d’entrada de senyal ( input ). S’ha d’alimentar amb 3 V CC ( compte amb la polaritat ) inserint un resistor de entre 30 Ω i 50 Ω en un dels cables.
Els terminals de l’esquerra són els de sortida ( output ). El senyal ha de ser altern sinusoïdal de 250 V màxim i de consum màxim 8 A.
La intensitat pel circuit d’entrada serà com a màxim de 50 mA aproximadament. Aquesta, com altres dades, es poden veure a:
http://www.ortodoxism.ro/datasheets/Sharp/mXusrsu.pdf
El S202S02 disposa de detector de pas per zero ( Zero-Cross Circuit ) que espera que el senyal de 220 V sigui 0 per deixar-la passar. Amb Optotransistor
Optotransistor (Darlington)
Optodíode Optotiristor
Optotriac
ChipKITU13-2
això es minimitzen les sobretensions en la càrrega en el moments de connexió i desconnexió.
--- 13.3.1 > Connexions de l’optotriac S202S02.
Esquema elèctric →
V
f= 3 V R S202S02
230 V 8 A màx
ChipKITU13-3
Mesures d’intensitat i de voltatge al circuit Input
---
13.3.2 > Activació d’una làmpada de 230 V, 100 W amb l’optotriac S202S02.
Compte: Quan mesurem el corrent al circuit Output hem de col·locar el born vermell del tèster i el selector a 10A.
Circuit Input ( + - ) Amb R = 47 Ω
I ( mA ) 35,2
V
R( V ) 1,66
Amb R = 33 Ω
I ( mA ) 46,7
V
R( V ) 1,6
R
V
f= 3 V
S202S02
Làmpada 100 W 230 V
ChipKITU13-4
Mesures d’intensitat i de voltatge als circuits Input i Output
---
13.3.3 > Connexions per l’activació de la làmpada de 220 V 100 W des de la ChipKIT.
Quan un pin de la ChipKIT actua com sortida dóna com a màxim 18 mA. Aquest corrent s’ha d’amplificar per poder activar el circuit Input ( + - ) de l’optotriac S202S02.
Tot el conjunt de connexions per l’activació de la làmpada des del pin 12 ( és el que aquí hem usat ) de la ChipKIT es presenta a continuació.
Circuits Input ( + - ) i Output ( ∼ ) Amb R = 47 Ω
I
INPUT( mA ) 35
V
R( V ) 1,68
I
OUTPUT( mA) 426
Amb R = 33 Ω
I
INPUT( mA ) 50,2
V
R( V ) 1,59
I
OUTPUT( mA) 427
Xarxa 230 V
Optotriac S202S02
230 V
100 W 3 V 30 Ω
680 Ω
BC 547
+6 V
P0 ChipKIT Uno32
0 V
ChipKITU13-5
Projecte 13001
Usant l’optotriac S202S02, prepara un projecte en el qual en 3 ocasions consecutives la làmpada de 230 V, 100 W estigui 3 s apagada i després 3 s encesa. Finalment ha de quedar apagada.
/* Control Sortides. Encesa bombeta 230 V AC controlada mitjançant optotriac S202S02 des del pin 12 de la ChipKIT */
void setup() {
Serial.begin(9600);
pinMode(12, OUTPUT); // Posem el pin 12 com sortida.
for ( int x = 1; x <=3; x = x+1)
{ digitalWrite(12, LOW); // Posem el pin 12 en estat baix.
delay(3000);
digitalWrite(12, HIGH);
delay(3000);
}
digitalWrite(12, LOW);
} void loop() {}
---
ChipKITU13-6
13.4 > Estudi de l’optoacoblador TLP 521.
El CI S202S02 té la particularitat que només pot activar circuits de CA.
La sèrie TLP 521 constitueix una molt bona alternativa com a relé d’estat sòlid per a actuar com interruptor per a moltíssimes aplicacions ja sigui amb CC o CA.
Hi ha 3 integrats: TLP521-1 , TLP521-2 i TLP521-4.
Per conèixer informació detallada d’aquest tipus d’optoacobladors:
http://www.datasheetcatalog.org/datasheets/400/318858_DS.pdf 1 : Ànode
2: Càtode 3: Emissor 4: Col·lector
1,3 : Ànode 2,4: Càtode 5,7: Emissor 6,8: Col·lector
1,3,5,7 : Ànode 2,4,6,8: Càtode 9,11,13,15: Emissor 10,12,14,16: Col·lector
ChipKITU13-7
Per conèixer més a fons la gama d’optoacobladors TLP521:
http://www.datasheetcatalog.org/datasheet/toshiba/2233.pdf
--- Projecte 13002
Mitjançant l’optoacoblador TLP 521, fes un projecte en el qual en 3 ocasions consecutives un primer LED connectat al pin 11 estigui 3 s apagat i després 3 s encès. Quedant-se encès aquest primer LED, un segon LED connectat al pin 12, fa la mateixa seqüència d’encesa i apagat que el primer. Finalment els dos s’han d’apagar al mateix moment.
+ 6 V
P11 P12
1 3 2 4
0 V
16 15 14 13
TLP521-4 ChipKIT
Uno32
LED
+ 6 V
0 V
L L
R R
1 2
1 2
L , L : 1 2
R , R : 1 2 330 ohm
ChipKITU13-8
ChipKIT Uno32 Font CC
commutada 6 V TLP 521-4
330 Ω LED
pin 11 pin 12
TLP 521-4
ChipKITU13-9
des dels pins 11 i 12 de la ChipKIT */
void setup() {
Serial.begin(9600);
pinMode(11, OUTPUT); // Posem el pin 11 com sortida.
for ( int x = 1; x <=3; x = x+1)
{ digitalWrite(11, LOW); // Posem el pin 11 en estat baix.
delay(3000);
digitalWrite(11, HIGH); // Posem el pin 11 en estat alt delay(3000);
}
pinMode(12, OUTPUT); // Posem el pin 12 com sortida.
for ( int x = 1; x <=3; x = x+1)
{ digitalWrite(12, LOW); // Posem el pin 12 en estat baix.
delay(3000);
digitalWrite(12, HIGH); // Posem el pin 12 en estat alt delay(3000);
}
digitalWrite(11, LOW);
digitalWrite(12, LOW);
} void loop() {}
--- Projecte 13003
Mitjançant l’optoacoblador TLP 521, fes un projecte en el qual es controli el variador de freqüència J7 d’Omron i un motor trifàsic 380 V / 220 V i ¼ CV acoblat a ell, de manera que el motor durant 2 s estigui aturat; després durant 5 s giri en sentit horari; 3 segons més aturat i finalment giri 5 s en sentit antihorari. Usa, per exemple, els pins 11 i 12 per al control dels dos tipus de rotació.
ChipKITU13-10
+ 6 V
P11 P12
1 3 2 4
0 V
16 15 14 13
S1 S2 SC
TLP521-4
U/T1 V/T2 W/T3
R/L1 S/L2
M 3
220 V / 50 Hz Variador J7
ChipKIT Uno32
380 V / 220 V 1/4 CV
Variador J7 Omron
Motor Trifàsic 380 V / 220 V 1/4 CV
TLP 521-4
ChipKIT Uno32 Font CC
commutada 6V
ChipKITU13-11
/* Control Sortides. Control Variador de frequencia i motor trifasic mitjançant optoacoblador TLP 521 des dels pins 11 i 12 de la ChipKIT */
void setup() {
Serial.begin(9600);
pinMode(11, OUTPUT); // Posem el pin 11 com sortida.
digitalWrite(11, LOW); // Posem el pin 11 en estat baix.
delay(2000);
digitalWrite(11, HIGH); // Posem el pin 11 en estat alt.
delay(5000);
digitalWrite(11, LOW);
pinMode(12, OUTPUT); // Posem el pin 12 com sortida.
digitalWrite(12, LOW); // Posem el pin 12 en estat baix.
delay(3000);
digitalWrite(12, HIGH); // Posem el pin 12 en estat alt.
delay(5000);
digitalWrite(12, LOW);
} void loop() {}
--- Projecte 13004
Mitjançant l’optoacoblador TLP 521, prepara un projecte en el qual es controli el variador de freqüència J7 d’Omron i un motor trifàsic 380 V / 220 V i ¼ CV acoblat a ell, de manera que, via port sèrie, el motor giri
TLP 521-4
TLP 521-4
ChipKITU13-12
en sentit horari quan s’enviï un 1, antihorari quan s’enviï un 2 i romangui aturat quan s’enviï un 0. Qualsevol de les situacions s’ha de poder interrompre en tot moment enviant ( send ) el caràcter adient a través de la pantalla del Serial Monitor.
// Control Variador frequencia J7 via port serie amb interrupcions int caracterenviat = 0;
void setup()
{Serial.begin(9600);
pinMode(11,OUTPUT);
pinMode(12,OUTPUT);
digitalWrite(11,LOW);
digitalWrite(12,LOW);
} void loop()
{while ( Serial. available ()) { caracterenviat = Serial.read();
if( caracterenviat == '1' ) {digitalWrite(12,LOW);digitalWrite(11,HIGH); } if( caracterenviat == '2' ) {digitalWrite(11,LOW);digitalWrite(12,HIGH); } if( caracterenviat == '0' ) {digitalWrite(11,LOW);digitalWrite(12,LOW);}
} }
--- Projecte 13005
Fes un projecte amb el mateix objectiu que el del projecte 13004 però usant funcions.
// Control Variador frequencia J7 via port serie amb interrupcions int caracterenviat = 0;
void setup()
{Serial.begin(9600);
pinMode(11,OUTPUT);
pinMode(12,OUTPUT);
digitalWrite(11,LOW);
digitalWrite(12,LOW);
} void loop()
{while ( Serial. available ()) { caracterenviat = Serial.read();
if( caracterenviat == '1' ) { girhorari(); } if( caracterenviat == '2' ) { girantihorari();}
if( caracterenviat == '0' ) { aturat();}
} }
void girhorari() // Funció a la qual ens dirigim quan es detecta la interrupcio {digitalWrite(12,LOW);
ChipKITU13-13
void girantihorari() // Funció a la qual ens dirigim quan es detecta la interrupcio {digitalWrite(11,LOW);
digitalWrite(12,HIGH);
}
void aturat() // Funció a la qual ens dirigim quan es detecta la interrupcio {digitalWrite(11,LOW);
digitalWrite(12,LOW);
}
---
Projecte 13006
Elabora un projecte amb el mateix objectiu que el del 13004 però usant switch - case - break.
/* Control Variador de frequencia i motor trifasic via port serie amb switch, case , break i sense funcions */
int caracterenviat = 0;
void setup() {
Serial.begin(9600);
pinMode(11,OUTPUT);
pinMode(12,OUTPUT);
digitalWrite(11,LOW);
digitalWrite(12,LOW);
} void loop()
{if ( Serial. available ())
{ caracterenviat = Serial.read();
switch ( caracterenviat) {
case '1': {digitalWrite(12,LOW);digitalWrite(11,HIGH); } break;
case '2': {digitalWrite(11,LOW);digitalWrite(12,HIGH); } break;
case '0': {digitalWrite(11,LOW);digitalWrite(12,LOW);}
break;
} } }
---
ChipKITU13-14
Projecte 13007
Prepara un projecte amb el mateix objectiu que el del 13004 , usant també switch - case - break i també funcions.
/* Control Variador de frequencia i motor trifasic via port serie amb switch, case , break */
int caracterenviat = 0;
void setup() {
Serial.begin(9600);
pinMode(11,OUTPUT);
pinMode(12,OUTPUT);
digitalWrite(11,LOW);
digitalWrite(12,LOW);
}
void girhorari() // Funció a la qual ens dirigim quan es detecta la interrupcio {digitalWrite(12,LOW);digitalWrite(11,HIGH); }
void girantihorari() // Funció a la qual ens dirigim quan es detecta la interrupcio {digitalWrite(11,LOW);digitalWrite(12,HIGH); }
void aturat() // Funció a la qual ens dirigim quan es detecta la interrupcio {digitalWrite(11,LOW);digitalWrite(12,LOW);}
void loop()
{if ( Serial. available ())
{ caracterenviat = Serial.read();
switch ( caracterenviat) { case '1': girhorari();
break;
case '2': girantihorari();
break;
case '0': aturat();
break;
} } }
ΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞ
ChipKITU13-15