Professional Documents
Culture Documents
20 A
CompactRIO system
Manual FPGA i controlador
Manual LabVIEW FPGA Module
1. Introducció.
1.1 Field Programable Gate Array (FPGA).
1.2 Controlador embegut de temps real cRIO 9012.
2. Mòduls compact RIO.
2.1 cRIO 9211. Analog input.
2.2 cRIO 9263. Analog output.
2.3 cRIO 9422. Digital input.
2.4 cRIO 9472. Digital output.
3. LabVIEW FPGA module.
3.1 Introducció.
3.2 Començant un projecte FPGA.
3.3 Treballant amb vi’s.
3.4 Eines LabVIEW FPGA module.
Taula 20. Control automàtic amb FPGA. Manual FPGA
1. Introducció
Com s’ha vist en la taula 19, el sistema PXI conforma un procés d’adquisició de dades on el
control l’executava el PC (veure taula 19). A continuació presentem una altra filosofia en un
sistema d’adquisició de dades: El xassís embegut reconfigurable amb FPGA. Ara veurem què és
una FPGA, però primer quedem‐nos en la idea que el xassís és el cor del sistema gràcies a que
contenen aquesta FPGA reconfigurable d’entrades i sortides que National Instruments
anomena RIO. D’aquesta manera el RIO principal té connexió individual a cada mòdul d’E/S (les
targes) i és programat utilitzant funcions elementals fàcils d’utilitzar per a llegir o escriure
informació de senyal a cada mòdul.
Com que no existeix bus de comunicacions compartit entre el RIO FPGA principal i els
diferents mòduls, les operacions que realitzem a cada mòdul poden ésser sincronitzades de
manera precisa amb una resolució de 25ns.
També està connectat al controlador CompactRIO en temps real a través d’una
interfície local de bus PCI. Aquest controlador pot recuperar dades des de qualsevol control o
indicador al front panel de l’aplicació, ens permetrà programar l’FPGA a alt nivell i es comunica
a través d’una interfície ethernet amb el PC. S’ha de tenir en compte que ara el PC només
monitoritza o bé dóna ordres de control; ara qui realment executa el programa és el
controlador + FPGA, de manera que el sistema, un cop programat, pot funcionar de manera
autònoma.
Al següent esquema veiem el que hem estat dient sobre l’estructura d’un sistema
compactRIO.
On aquest controlador es comunica amb el PC amb una interfície ethernet.
2
Taula 20. Control automàtic amb FPGA. Manual FPGA
1.1 Field Programable Gate Array (FPGA)
Una FPGA (Field Programable Gate Array) és, com el seu nom indica, un “camp” amb
portes lògiques i connexions internes programables tal i com es mostra a la següent figura.
Una FPGA es pot programar de tal forma que sigui capaç de realitzar qualsevol tipus
d’operacions lògiques. Aquestes poden anar des de funcions bàsiques de portes lògiques
(AND,OR,XOR,NOT,etc.) fins a lògica combinacional complexa del tipus de funcions
matemàtiques i decodificadores. També és possible emular un complert microprocessador en
una FPGA, tenint en compte que tingui suficients portes, és clar.
Bàsicament està formada per CLB (Configurable Logic Block), els quals estan
connectats en una disposició de matriu. Cada CLB consta de múltiples taules LUT (Look‐Up
Table), alguns multiplexors i opcionalment flip‐flops. D’aquesta manera, els CLBs porten totes
les funcions lògiques. Connectant els CLBS amb commutació programable una amb l’altra de la
forma correcta mitjançant les matrius PSM (Per Switch Matrix), obtindrem la funcionalitat
desitjada. El software de desenvolupament generalment treu aquestes interconnexions, de
manera que no ens hem de preocupar a tan baix nivell. La manera de mesurar la capacitat
d’una FPGA és amb el seu nombre de portes lògiques, la que tenim al laboratori,
concretament, en disposa de d’1 milió.
Actualment són uns dels dispositius programables més utilitzats gràcies a la seva
flexibilitat de disseny. Els principals fabricants que trobem al mercat són Xilinx i Altera.
3
Taula 20. Control automàtic amb FPGA. Manual FPGA
1.2 Controlador embegut de temps real crio 9012
Com hem dit aquest controlador serà qui
albergui al programa que vulguem executar i serà
l’encarregat de configurar les matrius de portes
de l’FPGA de la manera correcta per a tenir la
funcionalitat que nosaltres vulguem. Es comunica
amb l’ordinador per mitjà de la interfície ethernet
que té situada a baix a la dreta. Està configurat de
manera que PC i controlador tinguin una IP
pertanyent a la mateixa xarxa.
Més endavant explicarem el procés de començar a treballar amb un projecte amb
LabVIEW FPGA module; de moment explicarem com funciona aquest controlador a nivell
pràctic.
Quan engeguem la font d’alimentació que l’alimenta el led STATUS s’ha de posar de
color verd o àmbar fix depenent de si està alimentat a través d’V1 o d’V2.
Quan ja tinguem el programa acabat i guardat i el vulguem executar, el PC ha de
compilar‐lo per passar de llenguatge LabVIEW a llenguatge màquina. Aquest procés sol durar
uns minuts depenent de la complexitat del codi. Seguidament el fitxer resultant es
descarregarà al controlador (com que ethernet va a 100Mbps aquesta fase és pràcticament
instantània). Cal notar que podrem guardar un nombre limitat de programes; aquest
controlador té una memòria de 128MB. D’altra banda, per les nostres aplicacions, serà molt
difícil que l’emplenem.
2. Mòduls Compact RIO
Disposem de 4 mòduls o targes instal∙lades al xassís. Aquestes corresponen a entrada
digital, sortida digital, entrada analògica i sortida analògica. Seguidament les analitzarem una a
una, comentant‐ne les seves prestacions, així com la seva programació amb LabVIEW.
4
Taula 20. Control automàtic amb FPGA. Manual FPGA
2.1 cRIO 9211. Analog input
Aquesta tarja està pensada per llegir termoparells en mode diferencial, cosa que ens
va molt bé per a la pràctica amb la cèl∙lula Peltier i també per a la de la Galga. Això és així
perquè en mode diferencial ens permet llegir tensions des de ‐80mV fins a 80mV amb una
precisió molt gran. Tot el connexionat ja està fet mitjançant els connectors dB9, tot i això aquí
tenim l’esquema de connexions:
Com a prestacions de la tarja podem considerar les següents:
‐Nombre de canals: 4 termoparells en mode diferencial
‐Resolució de l’ADC: 24bits (tipus delta‐sigma)
‐Rang de mesura en mode diferencial: ±80mV
‐Rang de mesura en mode comú: ±1.5V (safety 30V)
‐Temps de conversió: 70ms per canal
‐Ample de banda (‐3dB): 15Hz
‐Impedància d’entrada en mode comú: 20MΩ
‐Corrent màxim d’entrada: 50nA
Hem de tenir en compte quan treballem amb aquesta tarja que com que l’FPGA no
treballa amb decimals, només treballa amb enters, la lectura que ens doni LabVIEW no serà
5
Taula 20. Control automàtic amb FPGA. Manual FPGA
directament la lectura que nosaltres volem. Hem de dividir la lectura per 10 i el resultat serà
de mV. Així, si llegim 241235, el que tenim en realitat són 24.1235 mV. Aquí és on podem
veure la precisió de la tarja.
2.2 cRIO 9263. Analog output
Aquesta tarja és un mòdul de sortida analògica d’actualització simultània de 4 canals a
100KS/s. Té protecció de sobretensió de ±30V, protecció de curtcircuit, baixa interferència
entre canals (corsstalk), ràpida velocitat de resposta i alta precisió.
La utilitzarem en aquells casos en que necessitem una tensió analògica de baixa
potència, doncs aquesta és la principal limitació de la tarja.
Les característiques més importants són:
‐Nombre de canals: 4 canals analògics de sortida
‐Resolució del DAC: 16bits
‐Rang de resolució: ±10V
‐Sortida de corrent: màxim 1mA per canal
‐Impedància de sortida: 0.1Ω
‐Error de sortida: 0.01% de la tensió de fons d’escala (0‐30ºC)
6
Taula 20. Control automàtic amb FPGA. Manual FPGA
Pel que fa l’escriptura, hem de tenir en compte que ataquem a un DAC (digital analogic
converter) de 16 bits, on el MSB és de signe. Amb 15 bits, 2 = 32768, llavors nosaltres al
LabVIEW treballarem en valors compresos entre ‐32768 i 32768 que correspondran a ‐10 i 10V
respectivament. Per a convertir la tensió analògica que volem treure a la combinació
corresponent d’entrada al DAC, seguirem la següent relació:
2
1
2.3 cRIO 9422. Digital Input
Es tracta d’un mòdul d’entrada digital de 8 canals a 250µs. Cada canal té capacitat per a
senyals d’entrada digital de fins a 60 V i té aïllament entre canals per a un nivell més elevat de
seguretat en entorns automotrius i industrials. El connexionat és el següent:
Tenim les següents característiques:
‐Nombre de canals: 8 canals diferencials d’entrada digital
‐ Nivell OFF: < 5V
‐Nivell ON: entre 10 i 60V (a la pràctica 5V)
‐Corrent d’entrada: 4mA (protegit internament)
‐Temps ONÆOFF: màx. 250µs (típicament 130µs)
‐Temps OFFÆON: màx. 250µs (típicament 4µs)
Amb aquesta tarja el que llegirem, per tant, seran booleans (true o false) seguint els
nivells que hem especificat.
7
Taula 20. Control automàtic amb FPGA. Manual FPGA
2.4 cRIO 9472. Digital Output
Es tracta d’un mòdul de sortida digital de 8 canals a 100µs. Cada canal és compatible amb
senyals de 6 a 30V i ofereix protecció contra sobretensions. Cada canal té un led que ens indica
en quin estat es troba aquell canal. Els canals estan disposats de la següent manera:
Com es pot observar, apareix al connexionat tensió supply; això vol dir que aquest mòdul
necessita alimentació externa, i que aquesta serà qui ens marcarà els nivells lògics. Per
exemple si 7 , el ‘0’ serà 0V i ‘1’ serà 7V. D’aquesta manera la podem fer compatible
amb la tarja digital input.
Tenim els següents paràmetres en la tarja:
‐Nombre de canals: 7 canals de sortida digital amb alimentació externa.
‐Alimentació: de 6V a 30V
‐Tensió de sortida:
‐Impedància de sortida: màx. 0.13Ω (típicament 0.07Ω)
‐Corrent de sortida: 0.75A per canal (sempre que la font externa en sigui capaç)
‐Retard en la sortida: màx. 100µs (a plena càrrega)
Quan vulguem escriure sobre les sortides, també ho farem amb booleans (true o false)
igual que en la tarja de digital input.
8
Taula 20. Control automàtic amb FPGA. Manual FPGA
3. LabVIEW FPGA Module
Quan en un PC hi ha connectada una FPGA (nosaltres hem creat un link virtual entre
dispositiu i PC), al executar LabVIEW programa canvia lleugerament de LabVIEW a LabVIEW
FPGA module. Bàsicament, s’eliminen eines, tot i que també n’apareix alguna de nova que tot
seguit analitzarem.
3.1 Introducció
Si ens mirem el manual de LabVIEW (veure taula 19) veurem que es treballa amb
diferents tipus de dades (enters, float, double ...). Com hem vist l’FPGA treballa amb enters,
per tant, és lògic pensar que els floats i els doubles hauran desaparegut. Per tant, un altre
repte per a nosaltres serà aconseguir mesurar dades reals amb les limitacions d’un enter de 8
bits o de 16 bits.
A continuació citarem totes aquelles eines noves o diferents respecte la versió per PXI
o sistemes PCI en general; així que si trobem a faltar alguna funció que sí que teníem quan
treballàvem a la taula 19, és perquè l’FPGA no ho suporta i per tant hi haurem de buscar
alguna alternativa.
A més, el procés de programar l’FPGA és un tant diferent que amb PXI, que quan
teníem el programa fet, només calia prémer run.
3.2 Començant un projecte amb FPGA
El primer que farem serà anar a la carpeta C:\projectes\ i copiarem el fitxer inici.lvprj.
Al directori temp, o a un directori creat per nosaltres al temp, l’enganxarem i li canviarem el
nom. Seguidament l’obrirem; en aquest projecte hi ha els links fets amb l’FPGA (IP, netmask...)
així com l’agregació de les quatre targes de que disposem; farem fileÆnew vi, i li posarem el
nom de la pràctica que hem de fer o el que més ens agradi.
Fent doble clic al .vi que hem acabat de crear, s’obriran les finestres front panel i block
diagram, que és on començarem a programar l’aplicació.
Podem treballar amb diversos vi’s en un mateix projecte. Això ens serà útil perquè
cada .vi pot ser una part de la pràctica i així podem anar provant el programa per blocs.
Al següent apartat expliquem com crear blocs i com afegir‐los al nostre projecte.
Un cop haguem acabat, veurem que en prémer run, labVIEW ens demanarà guardar
els canvis si no ho hem fet abans i seguidament començarà el procés de compilat.
9
Taulaa 20. Control automàtic aamb FPGA. M
Manual FPGA
A
Per això, hem d’intenntar program
mar per partts i anar veriificant cada una, si no, ttrobar
una eerrada ens poot fer perdree molt tempss compilant.
3.3 Treballan
T nt amb vi’’s
Quan obrim un projectee seguint el q
Q dem fer fileÆnew
que s’explicaa a l’apartat anterior pod
vi i veeurem que aapareixerà a la llista un u
untitled X. Un
n cop fet aixxò podem ed ditar aquest n
nou vi
amb el nom i el codi que nosaaltres vulgueem.
Anem a veurre un exemp
A ple. Volem affegir al nostre projecte un bloc que eens faci una ssuma i
ens tregui el resu
ultat. Aquest vi després l’’utilitzarem aal main com un bloc quee té dues enttrades
i una sortida.
Primer farem
P m al projectte fileÆnew
w vi, li canviaarem el nom
m i li direm suma.vi. Su
uma.vi
tindràà el següent codi:
A
Ara anirem
m al front pan
nel:
10
Taulaa 20. Control automàtic aamb FPGA. M
Manual FPGA
A
Això ns aparegui la següent figgura:
ò farà que en
Cadascun dels qquadrats pot ser un input o un
output (ggeneralmentt farem entraades a l’esqu uerra i
sortides a la dreta).. Si fem un clic a sobre
e d’un
quadrat i despréés clic a sobre del contrrol X, ja ten
nim una entrada. Ara feem clic a un n altre
quadrat i clic a so
obre del conttrol Y. Finalm ment fem clicc a sobre d’u un tercer quaadrat i clic a sobre
de l’in
ndicator X+YY. Tindrem ell següent ressultat:
F
Finalment, n ueda guardarr (fileÆsave)).
omés ens qu
Per fer‐lo servir, estant d
P dintre d’un vvi farem botó dret selectt a vi i selecccionarem suma.vi.
Tindrrem el següeent resultat:
11
Taulaa 20. Control automàtic aamb FPGA. M
Manual FPGA
A
3.4 E
Eines Lab
bVIEW FGPA Modulle
C
Com hem dit t, una de les principals no
ovetats és que només disposem de vvariables de ttipus
enterr, i per tant, les operacions que puguem fer tamb bé canvien lleeugerament.
E
E
EEn la capturra de sobre veiem la paleta numèric desplegaada. Fixem‐n nos que no tenim
divisió com a tall, tenim el Quotient
Q & Remainder que ens fa la divisió, però el resulttat és
noméés la part entera. Tot i aiixí tenim unaa segona sorrtida que es el residu. Am mb això segu ur que
som ccapaços d’ob btenir el nom mbre que vollem amb la pprecisió desittjada.
TTambé tenimm a la capturra eines que treballen am
mb els bits i bytes: un shift, rotate, sw
wap...
que een alguna situació ens po
oden ser d’uttilitat.
V
Vegem‐ho am
mb un exem
mple senzill:
12
Taula 20. Control automàtic amb FPGA. Manual FPGA
Si en algun moment, hem de recórrer al wait o al tick count, són iguals que a la taula
19, amb la diferència que ara les unitats no són milisegons sinó que són microsegons. Com que
ara el rellotge no el porta Windows, sinó que el porta el controlador, la cosa millora.
Un dels canvis més significatius el trobem a la paleta structures, que presenta la següent
imatge:
On potser trobarem a faltar els formula node o el mathscript.
La part més important, però, la trobem a l’hora de llegir o escriure de les diferents targes.
En aquest cas el procés és més senzill que en el sistema PXI. La següent captura ens ho mostra.
13
Taula 20. Control automàtic amb FPGA. Manual FPGA
Senzillament hem de clicar sobre FPGA I/O Node. De les entrades que tenim una és quin
tipus de node volem (analog input, analog output, digital input,...), a més d’escollir quin canal o
canals són els que volem llegir o escriure.
Podem afegir tants nodes com vulguem i poden estar repetits en un mateix programa.
14
Distribució de pràctiques
taula 20
Els que comencin per la taula Pràctica a realitzar
20 ó 10 Gira‐sol (20 B)
9 ó 19 Galgues (20 C)
8 ó 18 Control de moviment (20 D) Pràctica 1
7 ó 17 Control de moviment (20 D) Pràctica 2
6 ó 16 Control de moviment (20 D) Pràctica 3
5 ó 15 L’efecte peltier (20 E) Pràctica 1
4 ó 14 L’efecte peltier (20 E) Pràctica 2
3 ó 13 L’efecte peltier (20 E) Pràctica 3
2 ó 12 L’efecte peltier (20 E) Pràctica 4
1 ó 11 Encoder Absolut + Motor pap (20 F)
[Escribir texto]
20 B
El Gira‐sol
Pràctiques amb Motor PaP, fototransistors i sensors
inductius.
1. Introducció.
1.1 El motor pas a pas.
1.2 El fototransistor.
1.3 El sensor inductiu.
2. Pràctiques. El gira‐sol.
Annex
Orcad
Taulaa 20. Control automàtic aamb FPGA. El gira‐sol
1. In
ntroduccció
A continuació
ó farem una descripció
ó del funcio
onament dee cadascun dels eleme
ents, i
finalm
ment de com
m funciona la pràctica.
1.1 E
El motor Pas a Pas
odem veure els motors p
Po pas a pas com m motors elè èctrics sensee escombretees. És bastan nt típic
que ttots els bobin
nats del mottor formin paart del estator, i el rotorr pot ser d’im mant perman nent o
bé, en
e el cas dells motors PaaP de relucttància variab
ble (que dessprés descriu
urem), un cilindre
sòlid dentat.
2
Taula 20. Control automàtic amb FPGA. El gira‐sol
Els motors pas a pas tenen tres paràmetres fonamentals: la tensió d’alimentació, els
graus per pas i la resistència elèctrica.
La tensió d’alimentació és la tensió a la que el motor treballa sempre,
independentment de la velocitat a que el vulguem fer treballar. No s’ha de sobrepassar
aquesta tensió, si bé, es pot incrementar lleugerament per obtenir majors potències, però
acurtarem sensiblement la vida del motor.
Els graus per pas és, probablement, el paràmetre més descriptiu del motor. Ens indica
com, el seu nom diu, quants graus avança a cada pas. Així un motor de 15º per pas, farà una
volta en 24 passos; controlant la freqüència de pas, controlarem la velocitat. Els valors més
típics són 0,72°, 1,8°, 3,6°, 7,5°, 15° fins a 90°. Si fem girar a mà el motor (estant
apagat), notarem que l’eix avança a “cops”; cada “cop” és un pas. A aquest paràmetre també
se l’anomena resolució del motor.
Finalment la resistència elèctrica ens indica la resistència dels bobinats, i ens
determinarà el corrent al que treballa el motor, així com la velocitat màxima.
Tipus de motors PaP
Els motors PaP es divideixen en motors d’imant permanent i motors de reluctància
variable. Els d’imant permanent es poden dividir en unipolars i en bipolars.
Els motors d’imant permanent són els que més s’utilitzen i els podem trobar, per
exemple, al avanç del paper i de les capçaleres en una impressora, a les disqueteres, CDs, discs
durs... Com el seu nom indica, el rotor està format per un imant permanent.
Els motors de reluctància variable, en canvi, tenen el rotor fet d’un sòlid de ferro dolç,
que en ésser excitat per l’estator, presenta una resistència molt baixa sota l’acció del seu camp
magnètic. En aquest punt, es comporta com un d’imant permanent. Tanmateix, la diferència la
trobem en l’estat de repòs; aquest tipus de motor pot girar lliurement quan volem que estigui
quiet i per tant la parada no és instantània.
Com que a la pràctica fem servir un motor d’imant permanent unipolar, descriurem
només aquestos, deixant de banda els bipolars, si bé el principi de funcionament és el mateix.
3
Taulaa 20. Control automàtic aamb FPGA. El gira‐sol
A l’eesquerra veieem una imattge real de les 4 bobiness i del
rotor all centre, que
e és un imantt permanentt.
El motor amb el que ttreballarem tté les següen
nts caracteríístiques:
Paràmetre Valo
or Unittats
Potència del motor 2 W
W
Parell màxim
m de treball 6 mNm
Fixem‐no b 7,5°
os que amb
Màxima freq
qüència 3
350 Passsos/s per pas, haurrem de donar-li
48 flancs
f per ttal que el motor
m
Resistència p
per fase 1
120 Ω
Ω
doni una volta sencera.
C
Corrent per fase 1
100 mA
m
A
Angle dels p assos 7°30’
°
Nombre de p
passos per volta 4
48 Passsos
Direcció del rotor reveersible
El Driverr
El L298, pper tant, tind
drà 4 entrad
des (les 4 sorrtides del L297) i 4 sortid
des (que aniran al
moto or). Se sincro nçant aquelles sortides que té aquest de referrència
onitza amb L298 mitjan
(sensse1 i sense2).
4
Taulaa 20. Control automàtic aamb FPGA. El gira‐sol
Finalment es completa el driver amb 8 díodes fast recovvery que en
ns protegeixxen de
possibles corrents que pogueessin sortir deel motor.
Amb tot, el sistema eestà preparatt per suportaar corrents d
de fins a 2A i tensions de fins a
40V ((el nostre mo
otor treballa a 12V i conssumeix màxim 0,4A).
Trobarem
m l’esquema detallat a l’o
orcad del finaal d’aquesta pràctica.
1.2 E
El fototra
ansistor
Un fototrransistor és, bàsicament, igual a un trransistor bipolar normal.. La diferència és
que p
pot treballar de dues maneres diferents.
ormal amb el corrent de base (IB), que nosaltres
Pot trebaallar com un ttransistor no
polarritzarem comm sempre. Aq quest mode sse l’anomenaa mode com mú.
La segonaa manera de treballar és com a fototransistor. Qu uan incideix llum al dispo
ositiu,
aquesta fa de corrrent de basee (IP, photocu
urrent). És ell que s’anom
mena mode d d’il∙luminació
ó.
Ciruit equivalent Símbolss del fototransistor
5
Taula 20. Control automàtic amb FPGA. El gira‐sol
El fototransistor s’utilitza, òbviament, per a aplicacions de detecció de llum. Igual que
el fotodíode, té un temps de resposta molt ràpid, i a més, el corrent que genera és molt més
gran. Si ens fixem amb el circuit equivalent de la figura anterior, podem veure que el corrent
de col∙lector serà β vegades el corrent del fotodíode. Tanmateix, el temps de resposta, tot i ser
bo com hem dit, és més lent que el del fotodíode, i és per això que no s’utilitzen en fibra
òptica.
Nosaltres a la pràctica treballarem amb els fototransistors BPX43 de la casa SIEMENS.
A continuació n’enumerem les característiques més destacades. Per al significat d’algunes de
les magnituds, consultar l’apartat 1.1 de la pràctica “estudi d’un led” de la taula19.
Paràmetre Símbol Valor
Longitud de màxima sensibilitat λS max 880 nm
Rang espectral (S=10% de Smax) 450 ... 1100
λ
nm
Àrea de sensibilitat A 0.675 mm2
Angle de recepció φ ±15⁰
Màxima sensibilitat, VCB=5V Smax 35nA/lx
Fotocorrent del fotodíode
IPCB 35µA
EV =1000lx , VCB =5V
Dark current VCE =25V, E=0 ICEO 20 (<300) nA
Temps de pujada i baixada
Tr, tf 9 .. 18 µs
IC=1mA, VCC=5V, RL=1KΩ
Tensió col∙lector‐emisor de saturació VCEsat 260mV
Per acabar d’estudiar el fototransistor BPX43, tenim les gràfiques característiques:
Gràfica de la sensibilitat en funció de la longitud d’ona de
llum incident. Està calculada amb el màxim a 850nm amb
VCB=5V tenint en compte que en aquest punt (100%) hi
tindrem 35nA/lx.
6
Taula 20. Control automàtic amb FPGA. El gira‐sol
Característica tensió‐corrent de sortida del fototransistor
en funció del corrent de base. Recordem que aquest
corrent de base és la suma del corrent de base per
polarització més el corrent degut a la incidència de llum.
1.3 El sensor inductiu
Un sensor inductiu és un sensor que serveix per a detectar materials ferrosos. Són molt
utilitzats en la indústria, tant per a aplicacions de posicionament com per a detecció de
presència.
Quan un corrent travessa un fil conductor es genera un camp magnètic associat a
aquest corrent. Els sensors inductius contenen un debanat intern. Per tant, quan un corrent
travessa aquest debanat es crea un camp magnètic determinat. Quan hi apropem un objecte
ferrós, es produeix una alteració del camp magnètic, i sense entrar massa en matèria podem
dir que el resultat és una reducció de la inductància de la bobina.
La següent figura ens il∙lustra el que estàvem comentant:
7
Taula 20. Control automàtic amb FPGA. El gira‐sol
Existeixen al mercat molts tipus de sensors inductius depenent els marges de tensions,
el marge de distàncies a detectar, les dimensions físiques dels mateixos, si és normalment
obert o bé normalment tancat...
Al muntatge tenim un sensor inductiu normalment obert (no es posa a ON fins que no
li apropem un metall), amb un marge de tensions de 12 a 240V DC. Té una distància de
detecció de 1.5mm i el poden travessar corrents de fins a 5A. Podem veure que amb aquest
tipus de marges, poden ser utilitzats en infinitat d’aplicacions industrials. A més, la majoria
estan protegits amb l’estàndard IP67, cosa que els permet treballar en entorns amb fluids
corrosius, olis, etc, sense perdre les seves propietats.
Aquest és el símbol del sensor. S’hi afegeix una càrrega
a l’extrem per tal de limitar el corrent que el travessarà quan
estigui ON.
2. Pràctiques. El girasol.
Com dèiem a la introducció, en aquesta pràctica farem un seguidor de llum visible amb
un motor pas a pas i tres fototransistors. Com podem veure, a l’eix del motor pas a pas hi ha
enganxat el captador de llum.
8
Taula 20. Control automàtic amb FPGA. El gira‐sol
Està pensat per tractar la lectura dels fototransistors de manera digital, és a dir
FALSEÆLLUM, TRUEÆNO LLUM.
La missió del sensor inductiu és actuar sobre un relé que talla l’alimentació un cop es
passa per la posició “0”. Això és per evitar que els cables que baixen dels fototransistors
s’enrotllin i puguin cremar el motor. Nosaltres no controlem aquest sensor.
L’esquema de la pràctica és el següent:
Amb tot això l’enunciat de la pràctica és el següent:
Realitzar un programa amb LabVIEW que llegeixi la situació de llum incident i mogui el
motor de manera que sempre tinguem el fototransistor del centre encarat a la llum. D’aquesta
manera el motor seguirà a la llum. Per pantalla indicarem l’estat dels fototransistors en tot
moment. La font de llum que utilitzarem és la bombeta de 220V AC que tenim a la taula.
Nota:
Per tal de generar un clock amb la tarja de sortida digital, només ens cal fer la
seqüència FALSEÆTRUEÆFALSE i repetir‐la tants cops com desitgem.
Un cop el sensor pari el sistema no continuarem mai en la direcció que portàvem,
seguirem en direcció contraria.
9
Taula 20. Control automàtic amb FPGA. El gira‐sol
El connexionat a les targes cRIO està fet de la següent manera:
Digital output NI 9472
Clock del motor: DO4
Sentit de gir: DO5 (‘1’ sentit de les agulles del rellotge)
Digital input NI 9422
Fototransistor de l’esquerra (vist de front): DI3
Fototransistor del centre: DI2
Fototransistor de la dreta: DI1
A la pàgina següent trobarem l’orcad del sistema amb totes les connexions que s’han
comentat.
10
12V (VIN)
U3 L7805/TO3
1 2
VIN VOUT
GND
3
R3
C1 22K
3.3nF
U2 D1 D2 D3 D4
16
9
4
U1 MOTOR PAP
18 12
Clock CLOCK VS
OSC
VCC1
VCC2
4 5 2 1
17 A 6 7 1A1 1Y 1 2
Sentit CW/CCW B 1A2
7 12 3
10 C 9 10 2A2 3
ENABLE D 2A1 1Y 2
11 14 1
CONTROL SENS1 1E
4
5
6
19 13 15 13
20 HALF/FULL SENS2 2E 2Y 1
RESET
11
5 6
Taula 20. Control automàtic amb FPGA. El gira‐sol
INH1 8 11 1EN 14
INH2 2EN 2Y 2
15 3
GND
VREF HOME 1 D5 D6 D7 D8
GND
SY NC
8
L298N
2
L297
R1 R2
0,5 0,5
5V (Regulador)
R4 R5 R6
2200 2200 2200
Input_1
Input_2
Input_3
D9 C D10 C D11 C
Mesures electròniques. Taula 20
Title
El Gira-sol
OP505A E OP505A E OP505A E
Size Document Number Rev
A .
Date: Sheet 1 of 1
1 GALGUES
20 C
GALGUES
Pràctiques amb Pont de galgues
1. Introducció
2. Funcionament
3. Mesures amb galgues
4. Pràctiques amb pont de galgues
Taula 20 Control Automàtic amb FPGA. Galgues
1. Introducció
Quan parlem de sistemes de lectura i adquisició de senyals, els transductors més
comuns són aquells que varien la seva resistència elèctrica. Tot això és degut a que la
resistència elèctrica és un paràmetre al que li afecten múltiples magnituds físiques. Així, un
exemple molt clar del que acabem de dir són les galgues, concretament les galgues
extensiomètriques.
La galga extensiomètrica és un dispositiu emprat en probes i mesures mecàniques. En
aquesta pràctica s’estudiaran les Galgues Extensiomètriques Resistives (GER a partir d’ara) que
es basen amb la variació de resistència elèctrica que presenten quan el dispositiu és sotmès a
algun esforç mecànic.
El principi de funcionament de les GER es basa en l’efecte Kelvin. Aquest efecte va ser
descobert per Lord Kelvin al 1856 i explica la variació de resistència d’un conductor quan
aquest és sotmès a un esforç de tensió. Tenim llavors que la resistència augmenta quan
expandim el conductor i disminueix quan el comprimim. Aquest últim efecte serà en el que
basarem la pràctica.
2. Funcionament
Hi ha diferents tipus de galgues segons la seva fabricació; així tenim les galgues de
conductor metàl∙lic, les de làmines metàl∙liques i les de semiconductor. Nosaltres farem servir
les galgues laminades. La següent figura ens mostra una GER de làmines metàl∙liques.
1.‐ Amplada del suport.
2.‐ Amplada de la galga.
3.‐ Longitud del suport.
4.‐ Extrems eixamplats.
5.‐ Longitud activa.
6.‐ Longitud de la galga.
7.‐ Marques d’alineació.
Fig. 1. Galga metàl∙lica
2
Taula 20 Control Automàtic amb FPGA. Galgues
Considerem ara un conductor de secció A i longitud L, amb resistivitat ρ. Com ja
sabem, la resistència d’aquest conductor serà:
1
Si el sotmetem a un esforç en direcció longitudinal, cadascuna de les tres magnituds
que intervenen en el valor d’R experimentaran un canvi i, per tant, R també variarà de forma
que:
2
Podem tenir diverses variacions:
‐Deformació axial
‐Deformació lineal
‐Variació de la resistivitat
‐Variació total o factor de galga.
Deformació axial
El canvi de longitud que resulta d’aplicar una tensió mecànica unidireccional a
una peça, sempre i quan romangui a la seva zona elàstica, ens el dóna la llei de Hooke:
Tenint que:
Llavors, substituint arribem a:
(3)
On:
A: secció del fil.
l: longitud de la galga abans de deformar.
3
Taula 20 Control Automàtic amb FPGA. Galgues
σ: Tensió mecànica o esforç axial [Kg/cm2].
ε: Deformació unitària. (1µε = 10‐6 m/m, és a dir, una deformació d’un micròmetre
respecte un metre).
Deformació transversal
Considerant una peça que a més de longitud tingui una direcció transversal t, quan hi
apliquem un esforç longitudinal a banda de canviar la seva longitud l, també ens canviarà el
paràmetre t. Existeix una relació entre els dos canvis que ens dóna la Llei de Poisson:
5
El coeficient µ és l’anomenat coeficient de Poisson i els seus valors oscil∙len entre 0 i
0.5. L’acer presenta un valor d’aquest coeficient de 0.3 i el coure de 0.33.
Si considerem la nostra peça com un fil cilíndric de diàmetre D, la seva secció seria:
6
4
Si derivem respecte el diàmetre:
7
2
Ara aïllem D a l’equació (6):
4
I substituint D a l’expressió (7):
2
O el que és el mateix:
2
8
4
Taula 20 Control Automàtic amb FPGA. Galgues
Tenint en compte que la variació transversal d’un fil cilíndric és proporcional al seu diàmetre,
podem substituir a l’equació (5) per . Si unim les expressions (5) i (8) ens quedarà
finalment:
2 9
Variació de la resistivitat
La resistivitat experimenta una variació com a resultat de l’esforç mecànic que hem
comentat abans. Aquest efecte es coneix amb el nom d’efecte piezoresistiu. Per al nostre cas,
el cas dels metalls, aquestes variacions són proporcionals de manera:
10 1.14
C és la constant de Bridgman i té un valor comprès entre 1.13 i 1.15 per als metalls
emprats a les galgues i de 4.4 per al platini.
Tenint en compte que el volum del nostre fil és , i l’expressió anterior
que ens donava la variació d’àrea (8), arribem a:
2 2 1 2
Llavors podem quantificar la variació de resistivitat prenent les equacions (10) i (11) com:
1 2 11
Variació total (factor de galga)
Agafant l’expressió que representa la variació d’R (2) i substituint per totes les
deformacions que hem calculat ens quedarà:
2 1 2
Si traiem factor comú:
1 2 1 2 12
5
Taula 20 Control Automàtic amb FPGA. Galgues
On K és el que anomenem sensibilitat de la galga, si busquem valors, veurem que K té
valors propers a 2, en el cas del platini, però, arriba a 6. Aquest serà un valor que utilitzarem a
la pràctica.
Agafant l’equació (4) i substituïm a l’anterior expressió (12) tindrem:
13
Veiem que en aquesta equació la variació d’R amb les constants K i E de la galga, així
com de la tensió aplicada, per tant, si volem saber la resistència final que presentarà li hem de
sumar al dR la resistència que teníem al principi (R=Ro + dR); llavors:
Per acabar l’estudi del principi de funcionament de les GER hem de tenir en compte la següent
gràfica:
Fig. 2. Deformació en funció de l’esforç
Podem veure com existeix una zona lineal o zona elàstica, és en aquesta zona on
treballarem; el pendent és igual a ε/σ. Si continuem aplicant esforç veiem que sortirem de la
zona lineal arribant fins al punt on la variació de resistència és màxima. A partir d’aquí si
continuem realitzant tensió arribarà un punt en que la galga es deforma tan que no pot
recuperar la seva forma inicial, per tant haurem de vigilar de no superar aquest límit. Aquest
esforç no sol superar l’1% de la longitud de la galga. Correspon aproximadament a 40000µε.
6
Taula 20 Control Automàtic amb FPGA. Galgues
També hem de tenir en compte que l’esforç s’ha de transmetre totalment a la galga, és
a dir, la galga ha d’estar perfectament alineada en la direcció de l’esforç.
Per acabar aquest apartat podem resumir els principals paràmetres que ens
interessaran d’una galga metàl∙lica:
Sensibilitat 2<K<4 (típicament 2)
Resistència 30Ω<R<1000Ω (típicament 120Ω o 350Ω)
Zona de linealitat entre 0.1% i 1% de la longitud de galga
Exactitud de ±1%
Corrent de polarització entre 5 i 40mA
Esforç màxim de 40000µε (típicament de 25000µε)
3. Mesures amb les GER
Prenem ara l’expressió (12) que ens dóna la variació de resistència:
Suposem que tenim una galga amb una resistència de 120Ω amb una sensibilitat de
K=2. Si li apliquem un esforç de 1µε tindrem un diferencial de resistència tal que:
2 120 10 240 Ω
Per a poder mesurar aquesta variació necessitaríem un aparell capaç de llegir µΩ. A la
pràctica el que es fa es utilitzar el que s’anomena Pont de Wheastone. En aquest pont el
primer que es fa és equilibrar‐lo per a que la sortida sigui 0 sense cap esforç i mesurar després
la diferència quan existeix esforç.
Fig. 3
Pont de Wheastone típic
Si observem la forma del pont podem identificar Rx com la resistència de la galga; R1,
R2 i R3 com a les resistències per a completar el pont; E és la tensió d’excitació del pont i Vout
serà la tensió a llegir.
7
Taula 20 Control Automàtic amb FPGA. Galgues
Llavors:
3 2
15
3 1 2
Quan , la tensió de sortida Vout = 0, i llavors el pont estarà equilibrat. Fixem‐
nos que R2 és un potenciòmetre i per tant, amb aquesta resistència i sense aplicar esforç
aconseguim equilibrar el pont.
Suposem que ara hi apliquem un esforç, llavors, com hem vist, R variarà i tindrem
R+dR, quedant, per tant:
3 2
3 1 2
Tanmateix, a l’hora de treballar amb galgues, aquestes ja vénen amb el pont fet i
equilibrat, i per tant, les equacions que hem vist, en principi no ens faran falta per a la pràctica.
No obstant, és interessant de conèixer‐les ja que així sabem que és exactament el que estem
mesurant.
Típicament, el fabricant de la galga ens facilitarà el fons d’escala o màxim esforç per a
treballar dintre de la zona elàstica (en Kg per exemple), la sensibilitat o factor K, l’exactitud de
la galga i la tensió d’excitació del pont.
8
Taula 20 Control Automàtic amb FPGA. Galgues
4. Pràctica amb el pont de galgues extensiomètriques
Les característiques de la galga que tenim al laboratori són les següents:
Càrrega nominal màxima: 17Kg
Sensibilitat (S): 2.2mV/V
Error combinat: <0.025% de S
Sortida sense càrrega: <1% de S
Tensió d’alimentació: 10V
Amb el pont que tenim i les dades subministrades arribem a l’expressió que ens dóna el pes en
funció de la tensió llegida:
17
16
On la sensibilitat era 2.2mV/V i per tant per a 10V serà de 22mV.
Sense aplicar cap pes, el pont donarà una lectura diferent de 0. Això és degut al pes de
la plataforma blanca que pesa aproximadament 0.862 Kg, per tant haurem de compensar
aquest offset. Típicament, és el que s’anomena tara.
Per a fer una lectura acurada, s’ha de tenir en compte que la sensibilitat té diversos
trams en funció de quina és la variació de resistència o el que és el mateix, en funció de la
tensió llegida, per això enlloc d’emprar només 22mV hem de tenir en compte la següent taula:
9
Taula 20 Control Automàtic amb FPGA. Galgues
En cap cas sobrepassarem els 17Kg per a no entrar en la zona de deformació màxima.
Per tant, un dels objectius serà crear una funció d’interpolació amb els diversos valors
de S que podem tenir.
Com que les lectures tindran soroll, seria convenient fer un promig amb les mesures
que fem (amb 10 és suficient), per tal que el pes trobat sigui estable.
El diagrama de blocs de la pràctica serà el següent:
Interfície de sortida amb displays 7 segments
El primer que hem de fer és executar el bloc ini_displays.vi que ens posarà els displays
en blanc. Per executar‐lo només cal afegir‐lo.
Tenim un bloc de labview que es diu escriptura_displays.vi. En aquest bloc nosaltres
hem d’introduir el nombre que volem escriure i donar un flanc. En aquest moment el caràcter
passarà al display de més a la dreta. Per tant, si volem escriure 1254, primer entrarem 1,
després 2, 5 i 4.
La interfície disposa també d’un teclat matriu per pooling. Tenim 3 columnes i 4 files.
Està connectat per que enviem per fila i llegim per columna. És a dir, per a detectar la tecla ‘1’,
haurem d’enviar per l’analog output (5, 0, 0, 0) i llegir pel digital input (100). Si llegim (010)
serà perquè la tecla premuda és un ‘2’.
Quan programem el bucle d’anar llegint totes les posicions per detectar qualsevol
tecla, un cop en tinguem una, no sortirem de la iteració fins que la tecla no torni a valer ‘0’ per
tal de no tenir rebots, és a dir fins que no s’aixequi el dit de la tecla.
10
Taula 20 Control Automàtic amb FPGA. Galgues
El funcionament del programa ha de ser el següent:
Al engegar el programa, aquest esperarà qualsevol tecla per començar.
Seguidament, introduirem el límit de pes que volem, per exemple, 7Kg (7000).
Arribats a aquest punt, el programa farà la primera mesura en buit per tal de compensar la
tara, un cop corregit aquest offset, ja podem començar a mesurar.
El programa comença a mostrar pels displays i per la pantalla de l’ordinador el pes que ha
trobat en g.
Des de l’ordinador podrem parar l’execució i tornar a començar pel primer pas.
Si es detecta sobrepès (per exemple >7000), mitjançant l’entrada sobrepès del bloc
escriptura_displays.vi, el programa enviarà els caràcters especials de sobrepès en comptes del
pes que sigui.
Consideracions sobre la lectura amb la tarja 9211.
Aquesta tarja d’entrada analògica és una tarja preparada per a fer lectures de
termoparells i per tant té un fons d’escala molt petit, si la utilitzem com a canal normal
d’entrada analògica el límit és de ±1.5V. No hem de connectar mai un senyal més gran de
±1.5V a la tarja 9211.
També hem de tenir en compte que la lectura que ens donarà està multiplicada per
, és a dir, si estem enviant 25.254mV a la tarja, labview ens mostrarà 252540. Ho hem de
tenir en compte, ja que haurem de retocar els càlculs que s’han explicat per tal que el
programa faci una mesura correcta.
11
Taula 2
20 Control Auto
omàtic amb FPG
GA. Galgues
ANNEEX. Connexio
onat caixa vissualitzadors pràctica GALLGUES
Per a la numeració deels pins del connector DB
B9, s’ha seguit el següentt conveni:
Pel que faa les entradees i sortides d
del visualitzaador segueixen el següen
nt esquema:
og output (e
Analo eclat matriu)
entrades al te Digital Inp
put (lectura d
del teclat matriu)
Digitaal Output (co
ontrol displayys)
PIN # FUNCTIOON
1 Segment 1
2 Segment 2
3 Segment 3
4 Segment 4
5 Segment 5
6 Segment 6
7 Segment 7
8 Clock
9 GND
12
Taula 20 Control Automàtic amb FPGA. Galgues
13
20 D
Control de moviment
Pràctiques sensors Hall, encoder i motor dc
1. Introducció
2. Elements de la pràctica
2.1 El motor DC
2.2 L’encoder incremental
2.3 Sensors d’efecte Hall
2.4 Font regulable Kikusui
3. Pràctiques
3.1 Pràctica 1
3.2 Pràctica 2
3.3 Pràctica 3
Taula 2
20 Control Auto
omàtic amb FPG
GA. Control de moviment
1. Introd
ducció
La següen
nt pràctica està
e basada en el contro ment linial i monitoritzacció de
ol de movim
posicció mitjançan
nt elements ccom un enco oder increme ental i sensorrs d’efecte H Hall.
Podria co
orrespondre a qualsevoll aplicació de
d processoss industrials on ens calggui un
patró
ó de movimeent o bé un control del mmateix.
2. Eleme
ents de l
la pràcttica
2.1 E
El motor de contín
nua amb rreductora.
Com ja saabem, un motor de conttínua és unaa màquina caapaç de tran
nsformar l’en
nergia
elèctrica en mecàànica, normaalment, en m
moviment rottatori.
ntrol de possició, del paarell i de la velocitat, ffan del mottor de
La facilitaat en el con
contíínua una de les millors opcions
o en aplicacions
a de
d control i automatitzaació de processos.
Tanm mateix, amb ll’arribada dee l’electrònicca i en especcial dels motors AC del tiipus asíncron n, que
fan el mateix, perrò a un preu més assequ uible, han caiigut en cert d desús. Tot i aaixò, es conttinuen
utilitzzant en apliccacions de po otència com trens o tram mvies, o de prrecisió com m micromotorss.
El motor de corrent contínua ess compon principalmentt de dues paarts: l’estato or i el
rotorr. La primeraa és la partt fixa del motor
m i té un
n forat al centre generralment de forma
f
cilínd
drica. A l’estaator hi trobeem els pols, q que poden se er d’imants p permanents o bé debanaats de
couree sobre nuclii de ferro. El rotor és la p part mòbil qu ue encaixa al forat de l’esstator, també està
debanat amb fil d de coure, al q que li arriba corrent mitjaançant dues escombretees.
Segons laa segona Llei de Lorentz, un conducto or pel que paassa una corrrent elèctricca que
causaa un camp mmagnètic al seu voltant (eel debanat d
del rotor), tendeix a ser eexpulsat si se e’l vol
introd
duir dintre d mp magnèticc (en el nostrre cas, el de l’estator).
d’un altre cam
2
Taula 20 Control Automàtic amb FPGA. Control de moviment
Com a conseqüència d’aquest tall de les línies de camp apareix el que es coneix com a
força contraelectromotriu, que és una tensió que apareix als borns del motor i inversa a la
tensió que nosaltres apliquem.
Per aquest motiu, quan un motor està parat, necessita un pic fort de corrent, ja que en
aquell moment no hi ha força contraelectromotriu i els debanats es comporten com una
resistència pura. D’aquí se’n extreu el que es coneix com a parell d’arrencada d’un motor.
Fixem‐nos, que si en aplicar una tensió apareix un moviment, en el cas contrari, és a
dir, si apliquem un moviment, ens apareixerà una tensió; o sigui que el motor és reversible,
podent ser un generador.
També és interessant saber que el sentit de gir del rotor i en definitiva del moviment
rotatori del motor, vindrà marcat per la polaritat de la tensió que hi apliquem als extrems,
d’aquesta manera podem controlar el sentit del moviment.
El motor que nosaltres tenim té les següents prestacions:
rpm a 12 V dc 100
Potència màxima (W) 16
Parell màxim (mN/m)
Continu 1200
De pic 1200
Relació de reducció 26:1
Tensió nominal (V dc) 12
Tensió arrencada mín. sense càrrega 3V
Corrent nominal sense càrrega (mA) 590
Corrent màxim de funcionament (mA) 2800
Resistència dels terminals (Ω) 2
Temperatura màxima del rotor 160ºC
Fixem‐nos que tenim una relació de reducció de 26:1, això vol dir que el motor porta
incorporada una reductora a l’eix que fa que la rotació efectiva sigui 26 vegades més petita
que la velocitat de gir del rotor. Amb això aconseguim reduir l’efecte del parell d’arrencada. No
s’ha de sobrepassar mai els 2.8A si no els debanats del motor es cremarien. Aquesta limitació
la podríem superar, per exemple, si tenim una càrrega tan gran que obliga als debanats a
demanar més de 2.8A
3
Taula 2
20 Control Auto
omàtic amb FPG
GA. Control de moviment
2
2.2 L’en
ncoder inccrementa
al
Un encoder in
U ncremental éés un transductor rotatiu u que transfoorma un movviment angu ular en
una ssèrie d’impullsos digitals. Aquests imp
pulsos generrats poden seer utilitzats pper a controlar els
despllaçaments dee tipus angular o de tipus lineal, si s’aassocien a crremalleres o “husillos”.
LLa detecció del movimeent angular es realitzaa mitjançantt exploració ó fotoelèctrica. El
sistemma es basa en la rotacció d’un discc graduat amb un reticculat radial format per línies
opaques, alternaades per espais transpaarents. Tot el conjunt està il∙lumin nat per unaa font
d’infrraroigs de manera perpendicular, tal i com es mo ostra a la figu
ura.
Aquesttes senyals eelèctriques són les
que han n de seer processsades
electrònicaament. Per tal d’increm mentar
la qualitat i estabilitat de les senyals, el
sistema de lecttura s’efe
ectua,
normalmen nt, de fo orma difere encial,
comparantt dues senyals quasi
idèntiques, però desffasades 180 0º. La
seva lectura a es fa en baase a la diferrència
entree les dues senyals, eliminnant d’aquesta manera qualsevol sorroll o interfeerència, ja quue són
comu uns a les duees senyals.
4
Taula 2
20 Control Auto
omàtic amb FPG
GA. Control de moviment
Una de lees característtiques que ens donarà la per
360
0º 1
5.625º
1 64
Per taant, aquesto
os 5.625º són
n la precisió d
del noste encoder.
A la ssegüent figura podem veeure la form
ma que tenen
n les ones qu
ue genera l’eencoder. El n
nostre
modeel, però, no ddisposa de caanal Z.
2.3 S
Sensor d’efecte Ha
all
5
Taula 2
20 Control Auto
omàtic amb FPG
GA. Control de moviment
fet paassar a travéés del materrial i coneixeent el sentit del camp magnètic
m dels imants, po
odrem
saberr si els portad dors d’aquesst material són positius o o negatius.
Gràcies a
a aquest efecte podem detectar
d un objecte sen
nse que hi hagi contacte
e físic,
cosa molt interesssant, ja que ens estalviarem possible
es desgastos per fricció.
Les aplicaacions de l’effecte Hall són molt variad
des:
Podem mesurar ccamps magnètics
Podem mesurar intensitats dee corrents ellèctrics (senssors de correent d’efecte Hall)
Detectors
c de po
osició sensee contacte, utilitzats per exemplee als cotxess com a se
ensors
d’apaarcament, i een moltes ap plicacions dee deteccionss de final de carrera. (coom en el cas de la
pràcttica).
Tamb bé trobarem sensors d’effecte Hall sota les tecles de instrumeents musicalss moderns (ò
òrgans
digitaals, sintetitzaadors...)
Utilitzats també aa l’encoders del motor d’’un CD.
6
Taula 20 Control Automàtic amb FPGA. Control de moviment
2.3 Font regulable Kikusui
Per a la realització disposem d’una font capaç de donar el corrent que necessita el motor
de contínua de la nostra pràctica.
Disposem d’una font amb dos modes de treball. El primer és el mode normal, o sigui,
local, en el qual es comporta com una font de tensió normal amb un corrent màxim de 10 A. El
segon mode de treball és el mode remot. Aquest ens permet controlar la font remotament, és
a dir, a través d’un bus GPIB o opcionalment, a través d’una tensió de referència externa.
Nosaltres treballarem amb una tensió de referència externa.
En aquest mode que treballarem la font presenta unes característiques lineals, això vol dir
que podrem caracteritzar el seu comportament a través d’una recta. Aquesta recta, però, és
vàlida a partir de tensions de referència de 0,84 V, ja que fins aleshores, la sortida de la font
serà 0 V. La recta seria la següent:
ó , ó è
Així doncs, amb una tensió màxima que aplicarem al motor de 16 V, tindríem com a
tensió de referència màxima 5,43 V.
3. Pràctiques
El diagrama del muntatge per a realitzar la pràctica és el següent:
7
Taula 20 Control Automàtic amb FPGA. Control de moviment
Des del LabVIEW haurem de generar una tensió de referència que donarà la sortida
Vout per al motor. Això es fa així perquè com hem vist, el nostre motor necessita uns 500mA i
les targes de l’FPGA no li poden subministrar. Quan aquesta tensió de referència sigui màxima
(5,89 V, equivalents a 18 V per al motor), la velocitat del motor també ho serà. D’altra banda,
aquesta font la controlarem amb el LabVIEW a través d’un bloc que es troba a la carpeta
C:\projectes que es diu control_tensió_20D.vi. Aquest bloc té com a entrada la tensió
desitjada, que correspondrà a la tensió que volem injectar al motor per 10000
(Vdesitjada∙10000) i una sortida, que es diu combinació_sortida, que serà el valor que haurem
d’escriure al pin AO 0, per tal de controlar la tensió de referència de la font regulable.
Tenim que controla també el sentit de gir del motor. Aquesta variable s’ha d’escriure al
DO3 i valdrà True o False. En cas que el valor sigui False, el cargol avançarà cap a la dreta (en
direcció cap a l’encoder), en cas que sigui True, anirà en sentit contrari.
Per fer les connexions tan de sentit com de tensió de referència, tenim el bloc control
d’alimentació, el seu connexionat és el següent:
1‐ No es fa servir en aquesta pràctica
2‐ Correspon a la tarja Digital Output NI‐9472. AQUESTA TARJA HA D’ANAR
ALIMENTADA A 5 V.
3‐ Vref OUT. Aquí connectarem els dos terminals procedents del darrera de la font
regulable KIKUSUI. Corresponen a la tensió de referència de la mateixa.
4‐ Vout. És la tensió d’alimentació del motor, per tant, haurà d’anar connectada a
Vmotor.
5‐ Correspon a la tarja Analog Output NI‐9263.
6‐ Vin. A aquesta entrada hi anirà connectada la sortida de la font regulable KIKUSUI
directament.
A la part superior tenim una entrada d’alimentació de 10 V. Aquesta tensió és
necessària per tal d’amplificar el corrent que surt de la tarja analog output 9263, ja que com es
8
Taula 20 Control Automàtic amb FPGA. Control de moviment
veu al capítol 20A, aquesta tarja només ens pot subministrar 1mA, i la font KIKUSUI en
necessita 10mA com a corrent d’Vref. Podem fer un pont amb la tensió dels sensors, que
també és de 10V com es veu a l’esquema.
Des del LabVIEW haurem de llegir per una banda el canal A de l’encoder (DI2), com
que el sentit el controlem nosaltres no ens farà falta el canal B. Aquest senyal ens donarà la
velocitat de rotació de la vareta roscada enganxada a l’eix del motor. Aquesta vareta té un pas
de rosca de 1.2mm, pel que calcular la velocitat lineal amb el LabVIEW no serà complicat. Com
havíem dit abans l’encoder té 64 posicions per volta, per tant cada 64 flancs, tindrem una
volta.
Altres dades a llegir seran les procedents dels sensors d’efecte Hall, que corresponen
d’esquerra a dreta (del motor a l’encoder), a DI1, DI4 i DI0. Hi ha un sensor situat al principi del
recorregut, un a la meitat i un al final, d’aquesta manera tenim tres punts estratègics de
control.
Mecanisme de seguretat
Imaginem que quan el cargol mòbil arriba al final, el programa no li ordena aturar‐se o
canviar el sentit de la marxa, arribaria al final físic de la vareta roscada, la resistència mecànica
augmentaria fins a un punt en que el motor demanaria massa corrent i es cremaria. Per a
evitar això els sensors d’efecte Hall dels extrems estan situats al final del recorregut lògic. Al
final del recorregut físic hi ha dos finals de cursa que, mecànicament, tallen l’alimentació del
motor evitant‐ne així que es cremi.
Si provant el nostre programa hem fet l’error de no controlar adequadament els
extrems, el cargol arribarà al final i tallarà l’alimentació del motor. Arribats a aquest punt s’ha
de fer el següent:
‐ Apagar el LabVIEW
‐ Moure manualment la vareta en sentit contrari, això és, allunyant el cargol del final
de cursa que ha causat el tall. Es normal que s’hagi de fer una mica de força.
‐ Fixar‐nos quin sentit és el que ens interessa i executar el programa avança.vi que va
cap a la dreta, o bé, retrocedeix.vi que va cap a l’esquerra. Si ens equivoquem,
tornarem a estar al primer pas.
‐ Un cop dintre dels marges lògics del recorregut, haurem de revisar on ens falla el
software i tornar a provar.
9
Taula 20 Control Automàtic amb FPGA. Control de moviment
3.1 Pràctica 1
Realitzar un programa amb LabVIEW que faci moure el cargol des de la posició on
estigui fins al principi (a l’esquerra). Posteriorment se’l farà anar fins al centre i tornar a la
posició inicial (a l’esquerra).
En tot moment es monitoritzarà per pantalla la velocitat tant angular com lineal, així
com la posició on es troba.
3.2 Pràctica 2
Realitzar un programa amb LabVIEW que faci moure el cargol des de la posició on
estigui fins al final (a la dreta). Posteriorment se’l farà retrocedir fins al centre introduint
petites variacions de velocitat i veient‐ne el seu efecte. Un cop al centre se’l farà arribar al
principi (a l’esquerra) a una velocitat constant i quan finalitzi el programa mostrarà la
diferència de velocitat mitjana dels dos trams.
3.3 Pràctica 3
Realitzar un programa amb LabVIEW que faci moure el cargol des de la posició on estigui
fins a la meitat del recorregut (sensor del mig). Un cop allí el cargol ha d’oscil∙lar ±5cm (o una
distància similar fixada) al voltant del sensor del centre.
Es mostrarà també una gràfica amb la posició relativa al centre.
10
[Escribir texto]
20 E
L’efecte Peltier
Pràctica amb una cèl lula peltier
1. Introducció.
1.1 La cèl∙lula peltier
1.2 Els termoparells
1.3 El mòdul d’alimentació programable
2. Pràctiques
2.1 Pràctica 1
2.2 Pràctica 2
2.3 Pràctica 3
2.4 Pràctica 4
Taulaa 19. Control i adquisició de dades PX
XI. Estudi d’un led
1. In
ntroduccció
1.1 La cèl·lula
L a peltier
Una cèl∙lula peltier és un
U n dispositiu termoelèctric que es caracteritza peer l’aparició d’una
diferèència de temmperatura en ntre les duess cares d’un semiconducctor quan peer ell hi circu ula un
correent. És una clara alternativa als elemeents clàssics que s’utilitzaaven per a reefrigeració.
A
Aquest efect te va ser desscobert el 18 834 pel francés Jean Cha arles Peltier,, tot i que noo s’ha
implaantat fins méés tard, ja que els semicconductors ssón bons con nductors de l’electricitatt però
pobrees conducto ors de la calo e ja existent (Seebeck), q
or. Va inverttir un efecte que deia que una
diferèència de temperatura entre
e dues soldadures alternatives provoca un n corrent ellèctric
propo orcional a aquesta diferrència. L’efecte peltier és é just al contrari, al passar un corrrent a
travéés d’un circuiit de dos meetalls soldatss, mentre un na soldaduraa es calenta, l’altra es refreda.
L’efeccte Thomson n és el que co ompleta els dos anteriorrs, ja que no necessita un na soldaduraa, sinó
que éés un únic material qui ho o realitza. Aq quest materiial ha anat caanviant al llaarg de la histò òria.
2
Taula 19. Control i adquisició de dades PXI. Estudi d’un led
Com veiem a la figura, el corrent que li donem a la nostra cèl∙lula peltier, passa a través
d’un material que en l’actualitat és bismut‐tel∙luri, que és fortament dopat per crear un excés
(semiconductors tipus N) o una deficiència (semiconductors tips P) d’electrons, que estan
connectats entre sí en dos unions, les anomenades unions Peltier. D’aquesta manera, quan
passa corrent, es transferirà calor d’una unió cap a l’altra i d’aquesta manera, mentre una unió
es calenta, l’altra es refreda.
La nostra és una cèl∙lula peltier aïllada, ja que porta tan a dalt cost com a baix una capa
fina de material ceràmic, que és capaç de transferir fred o calor amb un alt rendiment.
Característiques principals de la nostra cèl∙lula peltier (MI1069T):
PARÀMETRE VALOR
Corrent nominal 4 A
Tensió nominal 12 V
Qc 54,9 W
Tensió màxima 15,4 V
Corrent màxim 6 A
Pel que fa a les característiques elèctriques d’aquesta gràfica ens trobem que té una
alimentació màxima de 15 V i consumeix un màxim de 6 A. Tot i que no s’arribarà al màxim de
corrent, el consum és alt de totes maneres, és per aquest motiu que es necessitarà una font
externa regulable per tensió que pugui donar‐nos el corrent desitjat. Hi ha un altre paràmetre
important que és la calor de Peltier absorbida per la unió freda per unitat de temps Q. Aquest
paràmetre depèn de dos factors: el coeficient de Peltier dels dos materials (∏A i ∏B+) i el
corrent que circula pel circuït, quedant la fórmula de la següent manera:
) * I
És important tenir en compte que si alimentem la cèl∙lula peltier a una tensió una mica
alta i li podem donar el corrent que demana, la cara calenta s’escalfarà de tal manera que
afectarà a la freda, fent que aquesta també s’escalfi i quedi aproximadament a temperatura
ambient, de manera que la mesura no seria fiable. És per això que serà necessària la col∙locació
d’un dispositiu dissipador a la cara calenta per tal que no interfereixi en la temperatura de la
cara freda.
La cèl∙lula peltier té al mercat infinitat d’aplicacions, les més importants són les
següents: control de temperatura en aires condicionats, mini‐frigorífics, refrigeració d’equips
electrònics... àdhuc hi ha un tipus de massatge que utilitza l’efecte peltier.
Pel que fa a la característica tensió‐temperatura, és molt variable, ja que la aquesta
característica no és lineal en aquest dispositiu i depèn molt del grau de dissipació que
apliquem a la nostra cara calenta.
3
Taula 19. Control i adquisició de dades PXI. Estudi d’un led
1.2 Els termoparells
Els termoparells són uns dispositius mesuradors de temperatura basats en l’efecte
Seebeck descobert per Sir Thomas Seebeck.
El principi bàsic de funcionament consisteix en un circuit format per dos metalls
diferents A i B a diferents temperatures, fet que produeix un corrent elèctric.
En aquesta figura es pot veure il∙lustrat l’efecte Seebeck, anunciat anteriorment. Si
obrim aquest circuit (com es mostra en la figura següent), obtenim una diferència de potencial
petita (milivolts), que serà directament proporcional a la temperatura de la unió i a la
composició dels dos metalls, que a continuació explicarem.
Amb el temps i l’ús, es produeix una degradació del termoparell, és per això que es fa
necessari un calibratge inicial, verificació regular del funcionament...
En un termoparell és molt important la llargada dels dos metalls així com el cable
d’extensió, que estarà format per conductors del mateix material que el termoparell.
És important també respectar l’abast de mesura que tingui el nostre termoparell
Amb tot això, ens trobem que en funció dels materials dels quals estigui fet el
termoparell, presentarà unes característiques o unes altres.
4
XI. Estudi d’un led
Taulaa 19. Control i adquisició de dades PX
e termoparells
Tipus de
Els termo
oparells es divideixen no ormalment een dos grans grups en fu unció de l’ele ement
Així ens trobem els termoparells de base metall i els termop
bàsic del qual esttiguin fets. A parells
noblees que conttenen el plaatí com a element
e bàssic. Els prim
mers poden ser utilitzatt amb
tempperatures al voltant deels 1000⁰C, mentre qu ue els sego ons es poden utilitzar amb
tempperatures perr sobre dels 2000⁰C.
Ara veureem un gràficc on es mosttrarà la corba característtica de la FEM en funció
ó de la
temp
peratura de ccada un dels tipus de term
moparells:
5
Taula 19. Control i adquisició de dades PXI. Estudi d’un led
Mesures amb termoparells
No es pot mesurar directament la tensió de Seebeck d’un termoparell, ja que quan li
estem connectant el voltímetre, estem creant un nou circuït termoelèctric, que fa que la
lectura que tenim no sigui fiable. Veiem un gràfic que il∙lustra aquest fenomen.
Figura 1
En aquest cas tenim un termoparell tipus T (coure‐constantà). El nostre voltímetre té
els cables de coure i està creant una unió no desitjada (constantà – coure) que haurem de
compensar. Pel que fa a la unió entre el cable de coure del nostre voltímetre i la unió de coure
no hi ha problema, ja que V3 = 0 i no afectarà a la nostra lectura.
La cara negativa, en canvi, està crent una nova unió coure – constantà, que farà que la
tensió llegida en el voltímetre sigui proporcional a la diferència de temperatures U1 i U2. És
per això que haurem de conèixer U2.
Una solució seria posar U2 físicament en un bany de gel i forçant la temperatura a 0 ⁰C,
d’aquesta manera estarem establint U2 com a unió de referència (Unió freda). L’esquema final
quedaria així:
6
Taula 19. Control i adquisició de dades PXI. Estudi d’un led
Aquest exemple ens ha servit per veure com un termoparell amb una unió de coure, si el
nostre aparell de mesura és també de coure, aquesta no quedarà afectada, en canvi, si hi ha
una unió entre dos metalls diferents es té que compensar. La solució inicialment proposada és
l’anterior, però n’hi ha una altra. És la compensació per software. Aquesta segona
compensació consistiria en tenir U2 i U3 de la figura 1 a una mateixa temperatura i aïllades
tèrmicament. Això ho podem aconseguir amb un bloc isotèrmic, la temperatura del qual
podria ser mesurada per un termistor o un PT100.
Una vegada tenim aquesta temperatura de referència de U2 i U3, es pot determinar la
tensió elèctrica de referència d’aquestes unions (Vref), per tant, la tensió del termoparell
resultarà de restar V (tensió llegida pel voltímetre) i Vref. El següent esquema és com quedaria
una compensació per software amb un termoparell de tipus J com el que tenim nosaltres a la
pràctica: (recordar que té una unió de Ferro i l’altra de constantà)
MESURA DE TEMPERATURA AMB LA TARJA NI9211
A continuació tenim la relació de tensió‐temperatura que entrega un termoparell tipus
J com el que tenim al laboratori:
TEMPERATURA TENSIÓ TERMOPAR
TIPUS J (mV)
‐80 ‐3.785
‐60 ‐2.892
‐40 ‐1.960
‐20 ‐0.995
‐10 ‐0.501
0 0
10 0.507
20 1.058
25 1.277
30 1.536
40 2.058
7
Taula 19. Control i adquisició de dades PXI. Estudi d’un led
50 2.585
60 3.115
80 4.186
100 5.268
120 6.359
140 7.457
160 8.560
180 9.667
200 10.777
220 11.887
240 12.998
260 14.108
280 15.217
300 16.325
320 17.432
340 18.537
360 19.640
380 20.743
400 21.486
420 22.949
440 24.054
460 25.161
480 26.272
500 27.388
520 28.511
540 29.642
560 30.782
580 31.933
600 33.096
620 34.273
640 35.464
660 36.671
680 37.893
Per a arribar a aquests valors operem amb la tarja d’adquisició analògica NI9211 on
tenim connectat dos termoparells (TC1 i TC2). Per poder fer la compensació software de què
parlàvem, la tarja disposa d’una altra entrada que ens indicarà la temperatura de la unió freda,
aquesta entrada és CJC (Cold Juncion Compensation) que la trobarem dintre del node FPGA
com a analog input. Disposem del bloc Temperatura_CJC.vi. Aquest bloc té l’entrada del CJC
que nosaltres connectarem directament i com a sortida obtenim la temperatura de la unió
freda en mil∙ligraus.
Com ja sabem l’FPGA no pot treballar amb nombres reals, només amb enters, per això,
la lectura directa de la tarja no ens donarà directament la tensió, ens donarà amb el seu codi
binari que depèn del fons d’escala de la tarja i de la resolució en bits dels conversors analògic‐
digital. Per això, per a fer una lectura de tensió utilitzarem el bloc TCin_to_uV.vi. Aquest bloc
8
Taula 19. Control i adquisició de dades PXI. Estudi d’un led
té una entrada directa que connectarem a l’adquisició amb FPGA I/O node del canal pertinent.
A la sortida tindrem la tensió amb µV.
Aquests dos vi’s anteriors els podem trobar a la carpeta C:\projectes.
Com es linealitzen els termoparells?
Per aconseguir la funció que interpola la taula anterior, existeixen unes aproximacions
per polinomis de grau n de la següent forma:
On E és la tensió llegida del termoparell
Nosaltres treballarem només amb els tres primers coeficients i per tant:
Aquests coeficients per al cas dels termoparells tipus J són els següents:
0
Com que nosaltres no podem treballar amb aquests valors (són reals), hi aplicarem aquest
canvi:
Aquesta fórmula serveix tan per tensions positives com negatives per a trobar el
primer coeficient.
En aquesta fórmula és molt important seguir l’ordre de les operacions, ja que sinó ens
podríem sortir del rang de valors que accepta la nostra FPGA o podríem perdre resolució
alhora de trobar la temperatura, o sigui, fer primer la divisió del numerador, després la
multiplicació i després el resultat dividir‐lo pel denominador.
Pel que fa al segon coeficient de temperatures negatives ens quedarà:
9
Taula 19. Control i adquisició de dades PXI. Estudi d’un led
En aquesta equació al igual que l’anterior, és important també seguir el seu ordre.
Primer la divisió de la tensió per 10, després el quadrat (per fer‐lo podeu multiplicar‐lo per ell
mateix), després tornem a dividir per 10, multipliquem per 12 i finalment dividim per 10000.
L’equació del segon coeficient per a temperatures negatives serà:
L’ordre serà el mateix que l’equació anterior.
Finalment doncs, tindrem que la temperatura serà:
Com interpretem la temperatura del CJC en µV?
Per això serà necessari passar la temperatura que haguem trobat del CJC a µV
equivalents a la tensió que hem llegit del termoparell, per tal de poder sumar les dues tensions
i trobar la temperatura a la que es troba el nostre termoparell.
Per fer això hem de fer la operació inversa a la que hem fet en l’apartat anterior, però
ens trobem amb nous coeficients. Ara tindrem:
D’aquesta fórmula és important saber que la temperatura (T) està en ⁰C i la tensió de
sortida (E) en µV. El paràmetre 0;
Sabent que:
50.38118 0.030475836
Podem dir que:
i
En aquesta fórmula també és important mantenir l’ordre operant. Primer haurem de
fer la multiplicació i després la divisió. En el cas del coeficient , es pot fer primer el quadrat i
després la multiplicació i posteriorment la divisió.
10
Taula 19. Control i adquisició de dades PXI. Estudi d’un led
Així doncs, ens quedarà que per trobar la tensió (en μ ) del CJC serà:
μ
11
Taula 19. Control i adquisició de dades PXI. Estudi d’un led
2. PRÀCTIQUES
En aquesta pràctica, l’alumne haurà de posar els termoparells en el lloc habilitat per tal
de realitzar la mesura de temperatura de la cèl∙lula peltier. Com es pot veure a l’esquema, la
tensió dels termoparells es llegirà a través dels pins TC1 (termoparell 1) i TC2 (termoparell 2)
de la tarja cRIO‐9211 (Analog Input). També s’hauran de controlar els 2 ventiladors per tal de
refrigerar la cara calenta de la cèl∙lula peltier. Aquest control va a través d’una caixa amb 2
relés controlats per una tensió de 5v que donarem a través dels pins DO0 i DO1 de la tarja
cRIO‐9472 (Digital Output). És important connectar els connectors dels ventiladors de 220 Vac
al darrera de la caixa on hi tenim els 2 canals de control dels ventiladors. També es té que
controlar la tensió de referència del mòdul d’alimentació a través del pin AO 0 de la tarja cRIO‐
9263 (Analog Output) com també el bit de polaritat d’aquest mòdul a través del pin DO3 de la
tarja cRIO‐9472 (Digital Output).
12
Taula 19. Control i adquisició de dades PXI. Estudi d’un led
Esquema de la caixa de control de la cèl∙lula peltier:
1‐ Correspon al control dels ventiladors, on FAN1 és el ventilador 1 i FAN2 és el
ventilador 2. Aquí s’haurà de connectar un connector BNC que vagi al canal 1 o al canal 2 de la
caixa per controlar els ventiladors.
2‐ Correspon a la tarja Digital Output NI‐9472. AQUESTA TARJA HA D’ANAR
ALIMENTADA A 5 V.
3‐ Vref OUT. Aquí connectarem els dos terminals procedents del darrera de la font
regulable KIKUSUI. Corresponen a la tensió de referència de la mateixa.
4‐ Vout. És la tensió d’alimentació de la peltier, per tant, haurà d’anar connectada a la
caixa que tenim per controlar la tensió de la peltier.
5‐ Correspon a la tarja Analog Output NI‐9263.
6‐ Vin. A aquesta entrada hi anirà connectada la sortida de la font regulable KIKUSUI
directament.
7‐ Aquest connector correspon a una tensió de 10 V, a la qual haurem d’alimentar
aquesta caixa.
13
Taula 19. Control i adquisició de dades PXI. Estudi d’un led
2.1 Pràctica 1
L’alumne haurà d’aconseguir una temperatura calenta controlant la tensió de
referència del mòdul d’alimentació (portant aquesta tensió fins als 12V). L’objectiu serà donar
la gràfica de tensió‐temperatura de la cara calenta de la cèl∙lula peltier. Entre mesura i mesura
s’haurà d’actuar sobre el ventilador que estigui a la cara calenta per tal d’aconseguir una
temperatura de repòs. Quan la tensió de la peltier sigui màxima (10‐12V) s’ha de connectar el
ventilador de la cara que toqui.
2.2 Pràctica 2
L’alumne haurà d’aconseguir una temperatura entre 0 i ‐20 ⁰C controlant la tensió de
referència del mòdul d’alimentació. L’objectiu serà donar la gràfica de tensió‐temperatura de
la cara freda de la cèl∙lula peltier. Entre mesura i mesura s’haurà d’actuar sobre el ventilador
que estigui a la cara calenta per tal d’aconseguir una temperatura de repòs.
2.3 Pràctica 3
L’alumne haurà d’aconseguir una diferència de temperatura donada entre la cara freda
i la cara calenta. Per tal d’aconseguir‐ho s’haurà d’actuar sobre el ventilador de la cara calenta
fins a aconseguir l’objectiu requerit. En tot moment s’haurà de mostrar per pantalla la
temperatura de les dues cares i la tensió aplicada a la peltier.
2.4 Pràctica 4
L’alumne haurà d’aconseguir una temperatura a la cara calenta de 100 ⁰C actuant
sobre la tensió de referència del mòdul d’alimentació. Posteriorment haurà d’actuar sobre els
dos ventiladors i intercanviar la polaritat del mòdul d’alimentació. L’objectiu és comprovar la
propietat d’intercanvi de les dues cares de la cèl∙lula peltier.
14
1 ENCODER ABSOLUT + MOTOR PaP
20 F
ENCODER ABSOLUT +
MOTOR PaP
Pràctiques de desplaçament angular a través d’un
encoder + motor pas a pas
1. Introducció
2. Elements de la pràctica
2.1 L’encoder absolut
2.2 El motor pas a pas
2.3 Esquema general
3. Pràctiques
3.1 Pràctica 1
Taula 20 Control Automàtic amb FPGA. Control de moviment
1. Introducció
En aquesta pràctica s’estudiarà un tipus de transductor (dispositiu capaç de
transformar o convertir un determinat senyal d’entrada en un altre de diferent a la sortida), en
aquest cas digital: l’encoder absolut.
Les aplicacions que trobem al mercat que facin ús d’un sistema de codificació de
posició, es fixen en la mesura i el control de la posició ja sigui lineal o angular i es realitza amb
una alta precisió. Els exemples són infinits, ja sigui maquinària industrial, plotters, robòtica...
Qualsevol dispositiu que necessiti saber la posició on es troba en cada moment seria un
exemple de codificació de posició.
En el nostre cas, com ja hem dit, tractarem l’encoder absolut que actuarà sobre un
motor pas a pas. Un petit exemple d’aquesta aplicació seria el moviment remot de les antenes
parabòliques, controlat remotament des de l’encoder i moguda a través d’un motor pas a pas.
El funcionament d’aquests dos dispositius seran explicats a continuació.
2. Elements de la pràctica
2.1 L’encoder Absolut.
Un encoder absolut, al igual que un d’incremental, és un transductor rotatiu que
transforma un moviment angular en una sèrie d’impulsos digitals. La diferència rau en el sentit
que tenen aquests impulsos. En el cas d’un encoder absolut, ens estan indicant la posició en
què es troba en cada moment, no indica increments d’angle com un d’incremental. És per això
que aquest dispositiu necessita que se li indiqui quin és el seu “zero”, a través d’un senyal de
control.
2
Taula 20 Control Automàtic amb FPGA. Control de moviment
La detecció del moviment angular es realitza mitjançant exploració fotoelèctrica. El
sistema es basa en la rotació d’un disc graduat amb un reticulat radial format per línies
opaques, alternades per espais transparents, que es corresponen amb la combinació que
volem a la sortida segons la posició on ens trobem. Aquí es troba la principal diferència, ja que
necessitarem tants fotoreceptors com bits de resolució tinguem, en el nostre cas 9.
D’aquesta manera el disc projecta la seva imatge sobre la superfície de diversos
receptors oportunament emmascarats per un altre reticulat que té el mateix pas de l’anterior.
Aquest pas fa referència a l’espai que ocupa una combinació en el nostre disc, d’aquesta
manera la llum d’altres combinacions adjacents no influeixen en la captació del punt on ens
trobem. Els receptors tenen la tasca de detectar les variacions de llum que es produeixen amb
el desplaçament dels disc, transformant‐les així en les corresponents variacions elèctriques. En
la figura següent es pot veure la disposició de les zones transparents i opaques d’un disc amb
una codificació de 2 bits en Gray Code:
Aquests impulsos elèctrics procedents d’impulsos lluminosos, han de ser tractats i
transemesos a través de l’electrònica de sortida del nostre encoder absolut.
El fet que ens doni un codi digital de sortida que indica la posició exacte de on es troba,
presenta l’avantatge que si li treus l’alimentació, no perden la posició real. En canvi els
incrementals al perdre l’alimentació, perden també la posició.
Pel que fa al nostre encoder en concret hi ha dades importants a tenir en compte. Pel
que fa als senyals d’entrada tenim en primer lloc l’alimentació, que pot anar de 10 a 32 v.
També té un senyal de GND. Un dels senyals d’entrada importants és el , quan aquest
senyal estigui a nivell baix, mantindrà la dada a la sortida i no variarà encara que variï la posició
de l’encoder, només canviarà la sortida quan posem a nivell alt aquest bit i el tornem a posar a
nivell baix després. Un altre senyal d’entrada és el SET de l’encoder. Aquest senyal indicarà
quin és el “zero” de l’encoder cada vegada que el tinguem alimentat a la tensió d’alimentació
de l’encoder com a mínim durant 100 ms. Un altre senyal d’entrada és el CW/ , per un
valor lògic “0” la sortida de l’encoder creixerà en sentit anti‐horari, per un valor lògic de “1” la
sortida creixerà en sentit anti‐horari. Per últim ens trobem amb el senyal d’entrada ,
que serveix per activar la sortida de dades per nivell baix, en cas d’estar en nivell alt les
sortides estaran en mode tristate. Pel que fa als senyals de sortida tenim el bit de paritat.
3
Taula 20 Control Automàtic amb FPGA. Control de moviment
Aquest bit estarà a zero lògic en cas que el checksum binari de la dada sigui parell. Aquesta
sortida no la farem servir ja que no utilitzarem tots els bits de sortida de l’encoder com veurem
més endavant. Després tenim els senyals de dades paral∙leles, que en el nostre encoder seran
9 bits, tot i que només en farem servir 7 que són els que tenim a la tarja Digital Input.
L’esquema de l’encoder es pot trobar més avall a l’esquema general de la pràctica.
Fixem‐nos ara en la codificació de sortida del nostre encoder absolut. Es tracta d’una
codificació en Gray‐Excess X Code. Explicarem la codificació Gray code i la única diferència que
hi ha amb l’excess code és que les X primeres i les X últimes combinacions no les codifica, amb
lo qual, si tinguéssim un Gray‐Excess 3 en una codificació de 4 bits, ens trobaríem que les 3
primeres combinacions i les 3 últimes no estan codificades, d’aquesta manera, només tindríem
2 ‐ 3∙2 posicions, o sigui, 10 posicions.
El Gray code és la codificació més utilitzada en aquest tipus de transductors. Mirem ara
una codificació, per exemple la binària, més fàcil de descodificador després a la sortida per
qualsevol dispositiu, tot i això té un inconvenient. En vista del codi que es pren a la sortida des
del disc intern de l’encoder (que està en rotació), la sincronització i la captació en el moment
d’un canvi de diversos bits en la codificació de sortida, es torna problemàtica. Un exemple clar
seria el pas de 7 (0111) a 8 (1000) on tots els bits canvien i tenim un percentatge d’error a la
sortida molt elevat. És per això que en aquests casos s’opta per una codificació com la Gray
Code, que entre dues combinacions consecutives només té un bit de variació. Fem un
recordatori de la codificació Gray que utilitza el nostre encoder. Generalment és coneguda
com la codificació dels miralls. El procediment seria anar fent miralls 2 a 2 (començant per “0” i
“1”) amb el bit de menys pes, 4 a 4 amb el següent bit (començant per “00” i “11”) i així
successivament. Una altra manera de fer‐ho menys mecànica seria canviant a cada combinació
de bits el bit de menys pes que puguem, que ens fa que només variï un bit respecte la
combinació anterior. Un codi Gray de 4 bits quedaria com a la següent taula:
4
Taula 20 Control Automàtic amb FPGA. Control de moviment
Una altra dada a tenir en compte de la codificació Gray és la seva equivalència amb la
combinació binària. Es pot obtenir d’una manera senzilla deixant el bit de més pes intacte i
fent una XOR entre el bit que ens interessa i el resultat de totes les XOR anteriors. D’aquesta
manera l’esquema quedaria:
Gray 3 Binari3
Binari2
Gray 2
XOR2
Binari1
Gray 1
XOR2
Gray 0
Binari0
XOR2
En el nostre encoder tenim una codificació Gray‐excess 76, per tant, les 76 primeres
combinacions no les veurem mai, amb lo qual, el número 76 en Gray, serà el de la primera
combinació de sortida de l’encoder, que correspondrà al valor 0. Així doncs, podem concloure
que haurem de restar 76 (decimal) a la dada que obtinguem de l’encoder. Però hem de tenir
un altre factor en compte. Els 2 bits baixos valen 0 sempre per nosaltres, d’aquesta manera
perdem els 2 bits baixos de resolució i ens quedem enlloc de 9, amb 7 bits. Així doncs, tindrem
una resolució de 7 bits, o sigui, 128 passos per volta, per tant, una precisió de 2,8125 ⁰C. Això
farà que després de restar 76 a la combinació que ens doni l’encoder, haurem de dividir per 4
per saber on es troba l’encoder. En resum, per saber la posició de l’encoder, s’haurà d’aplicar
la següent fórmula:
ó
ó ,
2.2 El motor pas a pas
Veure apartat 1.1 de la pràctica “El gira‐sol” de la taula 20.
5
12V (Vin)
12V (VIN)
1
Encoder absolut
U3 L7805/TO3
Us
1 2
VIN VOUT 4
GND
cw/ccw 5
Set SET
3
2
store Store
6
dada (0..8)
3
enable
GND
Dada [2..8]
2.3 Esquema general
8
R3
C1 22K
3.3nF
U2 D1 D2 D3 D4
16
9
4
R4 U1 MOTOR PAP
18 12
Clock CLOCK VS
6
220
OSC
Taula 20 Control Automàtic amb FPGA. Control de moviment
VCC1
VCC2
4 5 2 1
R5 17 A 6 7 1A1 1Y 1 2
Sentit CW/CCW B 1A2
7 12 3
220 10 C 9 10 2A2 3
ENABLE D 2A1 1Y 2
11 14 1
CONTROL SENS1 1E
4
5
6
19 13 15 13
20 HALF/FULL SENS2 2E 2Y 1
RESET 5 6
INH1 8 11 1EN 14
INH2 2EN 2Y 2
15 3
GND
VREF HOME 1 D5 D6 D7 D8
GND
SY NC
8
L298N
2
L297
R1 R2
0,5 0,5
R6 R7
220 220
Date: Sheet 1 of 1
Taula 20 Control Automàtic amb FPGA. Control de moviment
3. Pràctiques
El diagrama del muntatge per a realitzar la pràctica és el següent:
El programa haurà de controlar el senyal , a través del pin DO1 de la tarja cRIO‐
9472 (Digital Output). Per llegir ho farem amb els pins DI0 a DI6 de la tarja cRIO‐9411 (Digital
input). Un altre senyal a controlar és el SET, aquest el controlarem amb el pin DO4 de la tarja
cRIO‐9472 (Digital Output).
3.1 Pràctica 1
L’alumne haurà d’aconseguir que el motor pas a pas segueixi a l’encoder. Per
aconseguir‐ho, s’haurà de fer inicialment un SET a l’encoder per marcar‐li la posició que volem
que sigui el zero tan del motor com de l’encoder. És important tenir en compte que el motor
no es pot girar manualment si no se li treu l’alimentació. Una vegada els tenim posat a la
posició inicial, farem el SET a l’encoder i començarem el bucle de seguiment. Aquesta pràctica
pot funcionar autònomament, ja que no és necessari mostrar cap senyal per pantalla.
Aquesta pràctica podria ser el control remot d’una antena parabòlica.
7