You are on page 1of 70

[Escribir texto] 

 
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. 


 
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. 

Xassís  cRIO  9102  que  conté  l’FPGA  i  la 


interfície  PCI  per  a  connectar  amb  el 
controlador. 


 
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. 


 
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à 


 
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) 


 
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

On  10 i    és la tensió analògica que volem convertir. 

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. 


 
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. 


 
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. 


 
Taulaa 20. Control automàtic aamb FPGA. M
Manual FPGA

  La  compiilació  pot  duurar  uns  min


nuts  depene ent  de  la  com
mplexitat  o  l’optimització  del 
progrrama que haaguem fet. U Un cop acabi  de compilarr, ens deman narà una connfirmació a lla que 
direm
m  OK  i  el  pro
ograma  es  descarregarà
d à  al  controlaador  (en  menys  d’un  seggon)  i  s’execcutarà 
autom
màticament.. 

  mpte que quaalsevol canvi  que fem al  programa, p


Hem de ttenir en com per petit que sigui, 
ens faarà que hagu
uem de tornaar a compilar‐ho tot. 

  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.

  Tanmateiix  sí  que  podem  canviar  el  valor  de


e  qualsevol  control,  pell  que  si  no  estem 
e
segurrs de quin vaalor ha de prrendre una fu
unció o una variable, ho farem amb controls, maai amb 
consttants, ja que si no haurem m de compilaar per qualse evol canvi dee valor. 

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  l’extrem  supeerior  dret  faarem  clic  am


mb  el 
botó dre
et i anirem a show connector. 

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

A tenim  crreat  un  bloc  suma  que  podrem 


Ara  p fer  servir  dintre
e  d’un 
altre vvi. 

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

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

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:

En  aqueest  cas  tindríem 


q
que la divisió
ó val 12 i el rresidu 
v
val 7. 

Si  no  volguéssim  perdre 


p
e 7,  sempre  podem  operar 
el  o
a
amb una unit tat més petitta... 

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ó 
 

Enn  aquesta  pràctica  farem  un  seguid dor  de  llum


m  visible.  El  muntatge  q que  està  preeparat 
ntrol  automààtic  d’un  paanell  solar  que  va  encarrant‐se  al  So
podriia  ser  el  con ol  en  funció  de  la 
posicció d’aquest; tal i com fann els gira‐sols. 

Peer  fer  aquessta  pràctica  ens  valdrem


m  de  3  elem
ments:  Un  motor  pas  a  pas  (Motor  PAP), 
fototransistors, i un sensor inductiu. 

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 
 

Si  pensem  en  un  motor  de 


d contínua  (veure  pràcctica  “contro ol  de  moviment”  apartatt  2.1), 
podem veure quee té limitacio ons a l’hora  de treballar amb precisiió. Si pretenem que un m motor 
DC faaci una quan ntitat acotada de recorreegut, com pe er exemple, d donar 2 volttes, és molt  difícil. 
Tamb bé  sabem  qu ue  hem  d’esperar  un  cert  temps  d’aarrencada  peer  que  la  inèèrcia  no  li  pe
ermet 
arribaar  a  la  velo
ocitat  nomin
nal  de  manera  instantàània  (parell  d’arrencadaa);  de  la  mateixa 
maneera, quan tallem l’alimen ntació continuarà en movviment, tamb bé a causa dee la inèrcia. 

Si  pretenem  que 


q el  motor DC faci  una  fracció de volta, encara que tingu uéssim en co ompte 
totess  les  variablees  que  intervenen  en  ell  procés,  ens  seria  pràctticament  im
mpossible.  Aq
quests 
probllemes ens els soluciona l’ús de motors 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.  

Podeem  distingir  un  motor  P


PaP  a  simple
e  vista 
per q
que té 4 o 6  cables, enllooc de dos coom els 
de co
ontínua. 

Per  controlar  un  motorr  PaP,  a  més 


d’alim
mentar‐lo,  és é necessari  que  li  indiquem 
quannts  passos  vo olem  que  ess  mogui  i  en n  quin 
sentiit.  Per  a  aqu
uest  fi,  tenim
m  els  driverss,  que 
com  veurem  méés  endavant,,  ens  genere en  els 
senyaals necessariis per tal de fer‐los funcio onar. 

 
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. 

Molt  esquemàticament  el  que  tenim  en  un  motor  PaP 


unipolar és el que s’indica a la figura. Hi ha dues bobines 
amb  un  punt  intermedi  que  connectat  a  massa  fa  que 
tinguem 4 bobines. 

 
Taulaa 20. Control automàtic aamb FPGA. El gira‐sol 

  En  funció  de  les  combinacions  quue  tinguem  als  4 


canals  d’entrada  (A
A,B,C,D)  es  provocarà 
p un  camp  maggnètic 
que farà que el rotoor vagi a una posició o a una altra.    

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 

  Hi  ha  divverses  maneeres  de  fer  un 


u driver  pe
er  un  motor  PaP.  Nosalttres,  a  la  prràctica 
tenimm implementtada la versió ó comercial aamb dos inte egrats: L297 + L298.  

  L297 té ccom a entrad des el clock,, que serà qui fa avançar el motor,  el sentit (ho orari o 


antihorari),  resett  i  enable.  Com 
C a  sortid e 4  canals  (A,B,C,D)  i  dues  sortides  de 
des  genera  els 
referència  (sensee1  i  sense2).  Per  a  moto
ors  petits  aquestos  4  can
nals  ja  els  po
odríem  conn
nectar 
directtament al mmotor. Nosalttres, però li h hem afegit L297 que enss dóna ampliificació i prottecció 
contrra corrents dde fugues. 

  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). 

 
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ó
ó.  

Poodem  fer  treballar  el  fototransisttor  de  les  dues 


maaneres simultàniament,  tot i que noormalment laa base 
la deixem sensse connectarr (IB=0) 

  El  corrent  de  base  to


otal  és  igual  a  la  suma  dels 
d correntss  de  base  en n  mode  com mú  i  el 
correent de base een mode il∙lu uminació.    . Per tant,  si volem quee el fototran
nsistor 
sigui  més sensiblee a la llum, ppodem increementar el co orrent de baase (IB) mitjançant polarització 
exterrna, de maneera que amb menys quan ntitat de llumm arribi igualment a la satturació. 

  El  circuit  equivalent  d’un  fototraansistor,  és  un  transisto


or  bipolar  aamb  un  foto
odíode 
connectat entre  la base i el ccol∙lector, ammb el càtode e del fotodíoode connectaat al col∙lector del 
transsistor i l’ànod
de a la base. (veure aparttat 1.3 de la pràctica “Esttudi d’un led d” Taula 19) 

   

Ciruit equivalent  Símbolss del fototransistor 

 
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. 

 
Taula 20. Control automàtic amb FPGA. El gira‐sol 

Gràfica  del  fotocorrent  en  funció  de  la  iluminància.  El 


model amb el que nosaltres treballem és el número 6. 

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: 

 
Taula 20. Control automàtic amb FPGA. El gira‐sol 

Aquesta  reducció  d’inductància  causada  per  la 


proximitat  del  metall,  té  com  a  conseqüència 
una  reducció  de  la  impedància  de  la  mateixa. 
Com a resultat, tenim un circuit amb una bobina 
molt petita, i per tant, el corrent ens augmenta. 
Amb tot això el que tenim és que en apropar un 
metall, el sensor conduirà. (sensor ON) 

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 gira­sol. 
 

   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. 

Està  dividit  en  tres  sectors  de  60⁰  cadascun.  A  cada 


sector  hi  ha  un  fototransistor  polaritzat  per  tal  de 
detectar llum. Com ja sabem, un transistor és inversor, i 
per  tant,  quan  no  hi  ha  llum  tindrem  Vcc  i  quan  en 
tinguem llegirem Vce sat. 

 
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. 

 
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 
 


 
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. 


 
Taula 20 Control Automàtic amb FPGA. Galgues 

E:  Constant  del  material  denominada  mòdul  de  Young  [Kg/cm2]. 


F: Força aplicada. 

σ: 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  


 
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  


 
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µε. 


 
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. 


 
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. 


 
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: 

Tensió llegida (mV) Sensibilitat (mV)


0.100 22.00
1.102 21.75
2.000 21.70
3.639 21.65
4.782 21.60
7.378 21.60
9.922 21.45
11.074 21.40


 
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) 

PIN #  FUNCTIO ON    PIN ##  FUNCTION 


1  1a fila  1  1a Columna 
2  2a fila    2  2a Columna 
3  3a fila  3  3a Columna 
4  4a fila   
4  C. 
N.C
5  N.C.  5  N.C
C. 
 
6  N.C.  6  N.C
C. 
7  N.C.  7  N.C
C. 
 
8  N.C.  8  N.C
C. 
9  GND    9  GN
ND 

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. 

Abans,  peerò,  d’endin l part  pràcttica,  necessitarem  conèixer  quins  só


nsar‐nos  en  la  ón  els 
elements que hi  intervindran n i quin és el seu principii de funcionaament. Així,  tindrem el mmotor 
de co
ontínua, l’enccoder incremmental i els sensors d’efecte Hall.

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

       


 
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 


 
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. 

D’aqueesta  maneraa  el  disc  proojecta 


matge  sobre  la  superfíccie  de 
la  seva  im
diversos  receptors  oportunaament 
emmascaraats  per  un  aaltre  reticulaat  que 
té  el  maateix  pas  dde  l’anterior.  Els 
receptors ttenen la tascca de detecttar les 
variacions  de  llum  quue  es  produ ueixen 
amb  el  desplaçam ment  dels  disc, 
transformaant‐les  aaixí  en  les 
corresponeents variacioons elèctriques. 

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. 

  Un  en ncoder  in ncremental  proporcio ona 


normmalment  duees  formes  d’’ona  quadraada  desfasad des 
entree elles 90º annomenades canal A i can
c nal B. Llegint un 
sol  caanal  podem  saber  la  veelocitat  de  rotació, 
r menntre 
que  si 
s comparem m  els  dos  canals,  podremm  saber  tammbé 
en  quin  sentit  es 
e produeix  el  movimen nt.  De  vegades 
tamb bé  existeix  un  tercer  can
nal  que  dona  un  pols  caada 
cop  que  es  passsa  pel  ‘zerro’  de  l’enccoder.  Se’l  sol 
anom menar canal ZZ. 


 
Taula 2
20 Control Auto
omàtic amb FPG
GA. Control de moviment 

  L’error d’’un encoder  incrementall depèn de faactors mecànics i elèctrics entre els  quals, 


l’erro
or  de  divisió ma  del  disc,  la  dels  rodaments,  l’error  introduïït  per 
ó  de  la  retíccula,  la  form
l’elecctrònica de leectura o imprecisions del tipus òptic. 

  Una de lees característtiques que ens donarà la per 

  La unitat  de mesura pper a definir  la precisió d


del encoder  serà el nomb bre de divisions al 
disc ò
òptic, o dit d’una altra m
manera el nom mbre d’impu ulsos per voltta que generra l’encoder.. En el 
nostrre cas, l’enco
oder dóna 644 impulsos peer volta, llavoors: 

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 
 

  Al  1879  el 


e físic  nord‐americà  Eddwin  Herbertt  Hall  va  descobrir  que  apareix  un  camp 
elèctric  en  un  co
onductor  quan  aquests  és  travessatt  per  un  cammp  magnèticc.  A  aquest  camp 
magnètic se l’ano
n omena camp p Hall. Lligat  a ell, apareiix també, alss terminals d
del conductoor una 
tensió
ó anomenad da tensió Hall. 

   Sense  aprofundir  maassa  en  aqueest  efecte,  quedem‐nos 


q en  la  idea  rrepresentada  a  la 
següeent figura. Tenim un tros de materiaal desconegu ut i volem saaber quin siggne tenen elss seus 
portaadors de càrrrega. Si fem circular un ccorrent a través del cond ductor (amb  la pila) i situ
uem el 
conjuunt de maneera que el traavessi un camp magnètiic (els imants), com hem m dit apareixxerà el 
camp p  Hall  i  consegüentmentt  la  tensió  Hall, 
H que  possteriorment  podrem  mesurar  punxant  els 
extreems del mateerial desconeegut amb un n voltímetre. Coneixent  el sentit del corrent que e hem 


 
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. 

  E el  nostre  cas,  utilitzaarem  aquesttos  sensors  per  a 


En 
detectar  quan  el  cargol  mòbil  passa 
p just  a  la  vertical  on  es 
troba el  sensor. El m
muntatge és ssenzill. Alimeentant els se ensors 
com a  mínim a 10 V,
m , ens donaraan 10V a la sortida quan  algun 
objecte eestigui a 3mmm o menys d del sensor.  

Cal dir quue aquestos  sensors sup porten tensioons elevadess (el de la prràctica fins a 150V 


osa que els ffan molt pràcctics per a ap
dc) co plicacions ind
dustrials. 


 
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:   


 
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 


 
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. 
 
 
 


 
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ó 
 

EEn  aquesta  pràctica  l’ob


bjectiu  és  meesurar  la  tem
mperatura  d’un 
d disposittiu  amb  un  efecte 
e
molt  interessantt,  l’efecte  peltier. 
p Per  a  realitza  aquesta  mesura 
m es  faran  servir  dos 
termooparells, un per cada carra de la cèl∙luula peltier. 

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. 


 
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. 


 
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.   


 
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.  

En  la  seegüent  taulaa  veurem  dividits 


d en  funció  de  les  dues  bases  esmen ntades 
moparells  més  importants  i  les  sevees  característtiques 
anterriorment,  elss  diferents  tipus  de  term
principals. 

TIPU ABAST D  DE  MAT


TERIALS I  
S  TEMPERAT TURA  AL
LIACIÓ 
(⁰C) 
  METALL A (+)  MEETALL B (‐) 
METALL­B
BASE 
E  ‐270 a 10000  Níquel – crom
N m (cromel)  Coure – níquel (constaantà) 
J  ‐210 a 760  Ferro
o  Coure – níquel (constaantà) 
T  ‐270 a 400  Courre   Coure – níquel (constaantà) 
K  ‐270 a 13372  N
Níquel – crom
m (cromel)  Níquel – alumini (alummel) 
N  ‐270 a 13300  Níquel – cro
om – silici  Níquel –– silici – magn
nesi 
METALL ­ NOBLE 
R  ‐50 a 1768  Platí – 13 % rodi  Platí 
S  ‐50 a 1768  Platí – 10 % rodi  Platí 
B  0 a 182
20  Platí – 30 % rodi  Plattí – 6 % rodi 
 

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: 


 
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í: 

   

   


 
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 NI­9211 
 

  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 


 
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 


 
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: 

1.8843850   10            1.884385   10         


  1.2029733   10           1.030602   10          

 
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à: 

 
 
  
 


 
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. 

   


 
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. 


 
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: 

Dígit decimal  Codi Gray    Dígit decimal  Codi Gray 


0  0000  8  1100 
1  0001  9  1101 
2  0011  10  1111 
3  0010  11  1110 
4  0110  12  1010 
5  0111  13  1011 
6  0101  14  1001 
7  0100  15  1000 
 

   


 
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. 

 
 
 


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 

ARS60-G4A Dada [2..8]

8
R3

C1 22K
3.3nF

U2 D1 D2 D3 D4

16
9
4
R4 U1 MOTOR PAP
18 12
Clock CLOCK VS


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
 

Mesures electròniques. Taula 20


Title
Encoder+PaP

Size Document Number Rev


A

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.  


 

You might also like