Sortides

De El raconet d'en Jordi

Dreceres ràpides: navegació, cerca

Si el ventall de sensors que es poden connectar als PICs és molt ampli, el d'actuadors encara ho és més.

Contingut

LEDs

Els LEDs son díodes que emeten llum. El gap d'aquests díodes depèn del color de la llum emesa, sent més baix per al infrarojos i vermells (al voltant de 1,3 V), més gran pels grocs i verds (al voltant dels 2 V) i molt més gran pels blaus i blancs (de l'ordre dels 3,5 V). De fet, els LEDs blancs són en realitat LEDs blaus que en el seu interior substancies químiques absorbeixen els fotons i els emeten en diferents freqüències inferiors, que combinades donen el color blanc.

El fet de que la tensió de caiguda a un Led sigui constant obliga a utilitzar una resistència limitadora de la intensitat en sèrie amb el LED per que absorbeixi la tensió sobrant:

R = \frac {U-U_{LED}}{I}

Per connectar un LED a una sortida només cal posar en sèrie una resistència per limitar la intensitat. Habitualment es posa una resistència de 330 Ω, que limitarà la intensitat al voltant d'uns 10 mA, amb una tensió d’alimentació de 5 V (Suposant una caiguda de tensió típica d’uns 1,6 V).

De fet, hauríem de ajustar el valor de la resistència en funció del color (i per tant, del gap ULED) del LED i de la llum que volem obtenir (no és el mateix un LED que indica que el sistema està online d'un que inida un avís d'emergència o d'un que utilitzem per il·luminar) Si utilitzem LEDs d'alta eficiència podem obtenir molt més llum (los C-2735 de Cebek arriben a les 13800 mcd) pujant la intensitat, però cal recordar que la intensitat màxima típica que pot donar una sortida d'un PICAXE està al voltant dels 20 mA.

També podem utilitzar de la mateixa forma LEDs infrarojos per emetre codis de control, com els C-2771 de Cebek. Aquests LEDS IR es connecten típicament a la sortida out0 que és la que l'interpret BASIC utilitza per modular el senyal SIRC.

Aquests mateixos LEDS IR es poden fer servir per il·luminar objectes i persones per a càmeres digitals, que en son sensibles. En aquest cas potser ens interessarà treballar amb intensitats més altes als 20 mA que suporten les sortides del PICAXE (els C-2771 suporten fins a 150 mA), i haurem d'utilitzar un transistor com si es tractés d'una bombeta, donat el seu alt consum.

Un LED es pot connectar entre una pota de sortida del PIC i 0V (1 encès) o entre la tensió d'alimentació i la pota (0 encès). Això permet connectar dos LEDs complementaris a una mateixa sortida: quan un està encès, l'altre està apagat.

Brunzidors piezoelèctrics

Una possibilitat molt interessant del PIC és la generació de so. Una opció és connectar directament un brunzidor piezoelèctric a una sortida del PIC. Es preferible utilitzar la pota 2, ja que el PICAXE-08M permet generar melodies en aquest pota. Les melodies s’editen fàcilment i es desen en forma comprimida. Fins i tot, se'n poden importar amb un estàndard de telèfon mòbil.

Podem comprar els brunzidors piezoelèctrics directament a Revolution Technologies, amb els cables ja soldats (recordeu que el positiu es solda al disc central). Tenen una versió, una mica més cara, amb una capsa de ressonància de plàstic. També podem optar per enganxar el brunzidor piezoelèctric a un paper, com fan les felicitacions de nadal o d'aniversari.

Bombetes i altres càrregues amb I superior a 20mA. Ús de transistors. Els transistors Darlington

Un terminal de sortida d’un PIC permet un consum limitat de l'ordre de pocs mA (Iomàx = 20 mA). Per a intensitats més grans caldrà utilitzar un transistor, com per exemple el BC337, BC548, BD139 o els Darlington BCX38B o BD681.


Els transistors Darlington funcionen com dos transistors en cadena, de forma que s'aconsegueixen factors d'amplificació (guany) molt alts, i estan dissenyats per treballar amb intensitats més altes, de l'ordre dels centenars de mA.

Cal tenir en compte que la resistència d'una bombeta canvia amb la temperatura. Com la variació tèrmica és molt important (de temperatura ambient quan fa temps que està apagada a incandescent quan està treballant, recordem que fem servir tungstè pel filament de les bombetes donat que resisteix els 3000 °C), en el moment d'encendre una bombeta la intensitat pot arribar a 20 vegades la intensitat estacionària. Per tant, cal treballar amb transistors que puguin aguantar aquests pics de corrent.


Relés i altres carregues inductives. Díodes de protecció contra extracorrents de ruptura

Per controlar càrregues inductives (motors, electroimants, relés ...) caldrà afegir un díode (per exemple de la sèrie 1N400x) en antiparal·lel amb la bobina per limitar els pics de tensió que poden malmetre el transistor, pels corrents induïts per la llei de Lenz.

Els relés son molt útils quan la intensitat de la càrrega és elevada o aquesta càrrega treballa a una tensió diferent de la que utilitzem amb els PICAXE. Cal recordar que el relé està basat en un electroimant, i que per tant produeix extracorrents de ruptura molt importants en la seva commutació. És imprescindible l'ús de díodes en antiparal·lel amb aquests dispositius.

Podem utilitzar relés polaritzats. Es tracta de relés que porten a la part mòbil un imant, de forma que la bobina necessita menys intensitat per moure el commutador, sempre i quan el sentit del corrent provoqui l'atracció -i no la repulsió- del imant. Un exemple d'aquest relés és el DS2Y-S-DC5V, que utilitza 5V per a la bobina amb un consum de tan sols 40 mA, excesius per comandar-lo directament amb la sortida del pin però amb el que podem utilitzar un BC337 com a transistor, eliminant la necessitat d'utilitzar un Darlington.

Imatge:DS2Y-S-DC5V.pdf

Motors. Ús de condensadors per evitar RFI

En el cas de motors és recomanable connectar en paral·lel al motor, i molt a prop seu, un condensador de 100nF per reduir les interferències de radiofreqüència.

De fet, la forma òptima de col·locar-los és soldant-los directament als terminals del motor, i soldant als extrems de les potes els cables del motor, com veieu a la fotografia.

Aquestes interferències són les culpables dels defectes d'imatge als televisors (línies que pugen i baixen) i dels sorollets a les ràdios que observem quan posem a prop una joguina amb motor de baixa qualitat.

Motors amb inversió de gir. El circuit integrat L293D

Sovint cal comandar el sentit de gir d'un motor de corrent continu. Com ja hem comentat, el problema és complicat: Cal posar diferents díodes en antiparal·lel per als dos sentits del corrent, a banda de amplificar la intensitat en els dos sentits.

Amb el circuit integrat L293D resulta molt senzill.

Imatge:L293D.jpg Imatge:L293D.pdf

Aquest circuit integrat porta els díodes de protecció integrats. Fixeu-vos la D al final de la referència, i rebutgeu components sense aquesta terminació en D, ja que no porten els díodes integrats.

Permet comandar 2 motors. Per cada un fan falta 2 sortides del PIC: si les dues sortides tenen el mateix valor, el motor està aturat, si tenen diferent valor, el motor està en marxa, la combinació 10 o 01 marcarà el sentit de gir. La pota 8 del L293D va connectada a la font d'alimentació dels motors, que pot ser la mateixa que la del PIC.

Veiem un programa d'exemple que fa un moviment alternatiu de 5s amb una pausa de 10s:

'Control bidireccional d'un motor
main:
      low 1        'atura el motor
      low 2
      wait 10      'pausa de 10s
      high 1       'gira en sentit horari
      wait 5       'espera 5s girant
      low 1        'atura
      wait 10      'pausa de 10s
      high 2       'gira en sentit antihorari
      wait 5       'espera 5s girant en sentit contrari
      goto main    'torna a començar el cicle

Modulació d'amplada de polsos (PWM)

Un dels problemes més típics en les sortides és que són digitals, es a dir, podem encendre-les o apagar-les, però és difícil regular la potència de sortida, ja que en encendre-les donarem 5V, no podem donar un valor arbitrari de tensió.

Un truc molt utilitzat per aconseguir un valor promig inferior és connectar i desconnectar contínuament la sortida. Si ho fem a un ritme molt ràpid, l'efecte serà una sortida amb un promig d'energia inferior. Això s'utilitza per controlar la intensitat de llum emesa o la velocitat d'un motor.

Veiem un exemple. Si jo encén un LED durant 10 ms i l'apago uns altres 10 ms i repeteixo contínuament, els meus ulls no veuran que s'encén i s'apaga (la meva retina manté la imatge de l'ordre de 1/18 de segon, és el principi del cinema), sinó que veuran el LED encès contínuament, això sí, amb una intensitat inferior que si estigués connectat contínuament. De fet, com en aquest cas la meitat del temps el LED està apagat, la intensitat serà un 50% de la que veuria amb la sortida activa tot el temps. L'efecte s'accentua si posem un condensador en paral·lel. Aquesta tècnica s'anomena modulació d'amplada de polsos (PWM).

Els PICAXE més moderns (PICAXE-08M ...) tenen ordres que realitzen aquesta modulació automàticament, com ara la sentència BASIC pwmout:


pwmout 2, 99, 200

generaria un pwm del 50% per la sortida out2 (pwm2) a una freqüència de 10 kHz.

Per ajustar els valors dels paràmetres podem utilitzar el pwmout Wizard de l'editor de programació BASIC (PICAXE -> Wizards -> pwmout).

Imatge:Pwmwizard.png

La sortida es mantindrà amb aquesta modulació fins que enviem una modulació de potència 0:


pwmout 2, 0, 0

Amb PICAXE més antics, caldrà fer manualment aquests canvis continus encès/apagat, amb la qual cosa el nostra xip estarà ocupat i no podrà dedicar-se a altres tasques. Podeu veure un exemple d'un tendal controlat per llum al capítol dedicat al PICAXE-18X.

Si volem controlar la velocitat d'un motor amb inversió de gir ho podem fer amb una única sortida PWM i una altra sortida digital normal: si fem un PWM del 30%, amb la sortida digital a 0 pujarà al 30% de velocitat, i amb la sortida digital a 1 baixarà amb un 70% de velocitat.


Motors pas a pas unipolars. El circuit integrat ULN2003

Els motors pas a pas són molt fàcils de controlar digitalment. Un motor d'aquest tipus té un conjunt de bobines que es poden activar individualment i que orienten l'imant que porta el rotor. Aquest sistema permet un control de posició i velocitat molt precís.

Els motors pas a pas unipolars només connecten i desconnecten les bobines, sense canviar la seva polaritat.

Podem controlar motors pas a pas unipolars amb el circuit integrat ULN2003, que simplifica la connexió i permet el comandament amb únicament dos sortides. Aquest xip porta 7 transistors Darlington integrats de forma que quan activem l'entrada corresponent el transistor tanca el circuit connectant la sortida a massa (també podem utilitzar el ULN2803A que en porta 8).

Trobareu més informació sobre el control de motors pas a pas al manual 3 de PICAXE, Interfacing circuits (disponible només en llengua anglesa).

'Control d'un motor pas a pas unipolar
pas: toggle 1      ‘inverteix pin 1
       pause 200   ‘espera 200 ms
       toggle 2    ‘inverteix pin 2
       pause 200   ‘espera 200ms
       goto pas    ‘tornar a començar el cicle

Aquests motors són fàcils de trobar als discos durs, que podem reciclar quan estan espatllats o son obsolets.

En general, caldrà fer les seqüències horàries i antihoràries, activant per ordre les bobines i una bobina i la següent a la transició. De vegades caldrà incloure estats sense alimentació que aprofiten la inèrcia i eviten la pèrdua de sincronisme en accelerar-se.

Per frenar, podem activar totes les bobines per un espai de temps curt.

A més a més caldrà ajustar el temps de pas que permeti el sincronisme quan engega. Una vegada en marxa, podem reduir aquest temps i així augmentar la velocitat:

SYMBOL espera=b0
espera=5
low 0,1,2,3,4,5
inici:
	if pin1=1 then 
		for espera=5 to 1
			for b4 = 1 to 200
				gosub horari
				next
			next
		endif
	if pin2=1 then 
		espera=5
		gosub antihorari
		pins=%00000111
		pause 20
		pins=0
		pause 1000
		endif
	goto inici	
horari:
	pins=%00000001
	pause espera
	pins=%00000000
	pause espera
	pins=%00000011
	pause espera
	pins=%00000000
	pause espera
	pins=%00000010
	pause espera
	pins=%00000000
	pause espera
	pins=%00000110
	pause espera
	pins=%00000000
	pause espera
	pins=%00000100
	pause espera
	pins=%00000000
	pause espera
	pins=%00000101
	pause espera
	pins=%00000000
	pause espera
	return	
antihorari:
	pins=%00000100
	pause espera
	pins=%00000000
	pause espera
	pins=%00000110
	pause espera
	pins=%00000000
	pause espera
	pins=%00000010
	pause espera
	pins=%00000000
	pause espera
	pins=%00000011
	pause espera
	pins=%00000000
	pause espera
	pins=%00000001
	pause espera
	pins=%00000000
	pause espera
	pins=%00000101
	pause espera
	pins=%00000000
	pause espera
	return

Motors pas a pas bipolars

Els motors pas a pas bipolars, a més a més de connectar i desconnectar les bobines, canvien la seva polaritat. Com el ULN2003 només pot tancar el circuit, no podem utilitzar aquest integrat. Haurem de fer servir el L293D, que permet escollir la polaritat per a cada connexió de cada bobina.

Aquests motors són fàcils de trobar a les lectores de CDs i DVDS, que podem reciclar quan estan espatllades o son obsoletes.

' Motor pas a pas PICAXE.ES
' Jordi Orts 2011
' Placa CHI-035
' negre -> 4, marro -> 5, vermell -> 6, taronja ->7

SYMBOL espera=1

inici:
	if pin7=0 then gosub antihorari
	if pin7=1 then gosub horari
	goto inici
antihorari:
	pins=%10100000
	pause espera
	pins=%01100000
	pause espera
	pins=%01010000
	pause espera
	pins=%10010000
	pause espera
	return
horari:
	pins=%01010000
	pause espera
	pins=%01100000
	pause espera
	pins=%10100000
	pause espera
	pins=%10010000
	pause espera
	return

Servos de radiocontrol

Els PICAXE tenen una ordre especialment dedicada al control de servos, la sentència BASIC servo. Trobareu més informació sobre la seva connexió i utilització a la documentació de l' ordre servo, pàgina 94 del Manual de programació BASIC, i al manual 3 de PICAXE, Interfacing circuits (disponible només en llengua anglesa).

' Controla servo a sortida 0 (PICAXE-18X)
init: servo 0,75     		' inicia servo
main: servopos 0,75  	        ' mou servo final esquerra
      pause 2000     	        ' espera 2 segons
      servopos 0,225 	        ' mou servo final dret
      pause 2000     	        ' espera 2 segons
      servopos 0,150 	        ' mou servo centre
      pause 2000     	        ' espera 2 segons
      servopos 0,115 	        ' mou servo esquerra
      pause 2000     	        ' espera 2 segons
      servopos 0,185 	        ' mou servo dreta
      pause 2000     	        ' espera 2 segons
      goto main                 ' torna al principi

Els servos es poden trucar per convertir-los en dispositius de rotació continua

Displays

En aquest apartat hi ha molta diversitat, especialment quan parlem de la dificultat de connexió.

Realment, ens simplfica molt la vida l'ús del mòdul AXE133y. Amb un preu d'uns 20€, podem reprogramar el PICAXE-18M2 que porta adaptant-lo a les nostres necessitats. Té tres sortides lliures, a les que podem connectar LEDs ... La connexió es tipus servo: dades-5V-0V.

Quan el soldeu, recomano soldar primer el connector H3. Després serà molt complicat!! Recomano utilitzar per aquest i pel connector H2 pins acodats, facilitaran les connexions i reduiran l'espai ocupat.


Cèl·lules Peltier i altres càrregues amb I superior a 1A. El transistor MOSFET IRF530

Per a intensitats encara més importants (de l'ordre dels amperes) podem utilitzar un transistor MOS-FET, com ara el IRF530. Aquesta opció és molt interessant per comandar resistències calefactores, cèl·lules Peltier (que actuen com a bombes de calor, per refredar i escalfar) o altres dispositius amb intensitats elevades, com ara motors amb un gran parell d'engegada.

Cal tenir en compte que si directament controlem el MOS-FET amb una sortida del PICAXE, normalment només aconseguirem una intensitat màxima de 1A, ja que aquest dispositius necessiten tensions molt més elevades (de l'ordre del 12V) per obrir completament el canal i deixar passar els 4A o més que poden suportar. Per això és interessant utilitzar la sortida del PICAXE per a saturar un transistor que donarà els 12V a la porta del MOS-FET. Aquests problemes desapareixen amb el IRF530A, que amb 4, 5V a la sortida del PICAXE permet càrregues de 5A.

Us pot interessar llegir el Treball de Recerca Construcció d'una nevera basada en l'efecte Peltier, del meu alumne Cesar Dieguez. No utilitza cap PICAXE, però explica molt bé el funcionament de les cèl·lules Peltier que utilitza.

Un exemple d'aplicació d'aquest d'aquest transistor MOSFET el trobareu al treball de recerca Control d'accessos per a centres educatius, de la meva alumna Laia Piñol, on s'utilitza per controlar el solenoide d'un pany de porta.

Altaveus i altres càrregues amb baixa reactància

També es poden connectar altaveus i brunzidors, amb les modificacions oportunes. Típicament aquesta modificació consisteix en posar en sèrie amb la carrega inductiva un condensador, que actuarà com a filtre passa-alts. Pensem que el fil de coure de la bobina d'un altaveu té molt poca impedància reactiva (reactància). El que ens interessa és que la veu, les ones, es a dir, la component alterna, activi l'altaveu. El condensador deixarà passar aquesta component alterna i, en canvi, no la component contínua, que només ens escalfaria l'altaveu (efecte Joule).

De totes formes, no oblideu que un altaveu necessita una capsa de ressonància. Sembla mentida la qualitat acústica que podem obtenir d'un petit altaveu amb una bona capsa de ressonància.

Altres actuadors

Podeu trobar molta més informació sobre la connexió de diferents sensors iactuadors al document AXE003 Electronic Interfacing Circuits a la web de PICAXE (disponible només en llengua anglesa). També és molt recomanable el el Manual de programació BASIC (traduït al castellà a les darreres versions de l'editor de programació), on trobareu esquemes de connexió de components concrets suportats per l'interpret BASIC.






Tornar a l'índex