Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf ·...

72
Inclinòmetre Digital TITULACIÓ: Enginyeria Electrònica Industrial en Electrònica Industrial AUTORS: Marc Miralles Adrover. DIRECTORS: Nicolau Cañellas Alberich . DATA:Setembre de 2012

Transcript of Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf ·...

Page 1: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

TITULACIÓ: Enginyeria Electrònica Industrial en Electrònica Industrial

AUTORS: Marc Miralles Adrover.

DIRECTORS: Nicolau Cañellas Alberich . DATA:Setembre de 2012

Page 2: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

1 Índex

1.1 Índex General

1Índex...........................................................................................................................2

1.1 Índex General......................................................................................................2

1.2Í ndex de figures...................................................................................................4

2 Introducció.................................................................................................................5

2.1 Antecedents.........................................................................................................5

2.2 Objectius del projecte ........................................................................................6

3 Possibles Solucions....................................................................................................7

3.1 Introducció..........................................................................................................7

3.2 Tipus de dispositius per mesurar la inclinació....................................................8

3.3 Control de les dades i processat..........................................................................9

3.4 Mostrar el resultat.............................................................................................11

3.5 Alimentació.......................................................................................................12

4 Solució Adoptada.....................................................................................................13

4.1 Introducció........................................................................................................13

4.2 Acceleròmetre...................................................................................................15

4.2.1 Característiques generals...........................................................................15

4.2.2 Funcionament.............................................................................................17

4.3 Microcontrolador..............................................................................................18

4.3.1 TIMER 0....................................................................................................19

4.3.2 TIMER 1....................................................................................................20

4.3.3 Interrupcions..............................................................................................21

4.4 Display 7-segments..........................................................................................22

4.5 Alimentació.......................................................................................................24

4.6 Funcionament general.......................................................................................24

5 Descripció Del Hardware.........................................................................................27

5.1 Entrades.............................................................................................................27

5.1.1 Seleccionador calibrage.............................................................................27

5.1.2 Sensor.........................................................................................................28

5.2 Sortides ............................................................................................................30

5.2.1 Display doble.............................................................................................30

2

Page 3: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

5.2.2 Led per al signe..........................................................................................35

5.3 Microcontrolador..............................................................................................36

5.4 Alimentació.......................................................................................................37

5.5 Layout final del dispositiu................................................................................39

5.6 Encapsulat.........................................................................................................40

6 Descripció Del Codi.................................................................................................41

6.1 Descripció general............................................................................................41

6.2 Adquisició dels períodes i del Ton....................................................................43

6.3 Transformació a graus.......................................................................................45

6.4 Calcular l'offset.................................................................................................50

6.5 Mostrar els graus...............................................................................................50

6.6 Canvi de modes.................................................................................................52

7 Utilització.................................................................................................................52

8 Resultats i Conclusions............................................................................................53

9 ANNEXES...............................................................................................................54

9.1 ANNEX 1..........................................................................................................54

9.2 ANNEX 2..........................................................................................................60

3

Page 4: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

Índex de figuresFigura 1: Signes de l'escoliosi...............................................................................................5Figura 2: Anivellador amb bombolla.....................................................................................6Figura 3: Display doble de 7 segments................................................................................12Figura 4: Display LCD.........................................................................................................12Figura 5: Piles i bateries.......................................................................................................13Figura 6: Offset del sensor...................................................................................................14Figura 7: Diagrama de blocs del hardware dissenyat...........................................................15Figura 8: Configuració dels pins de l'accelerometre ...........................................................16Figura 9: Diagrama de blocs de l'ADXL202AE..................................................................18Figura 10: Desacoblament ADXL202E...............................................................................18Figura 11: Duty cycle...........................................................................................................19Figura 12: Posició de l'acceleròmetre...................................................................................20Figura 13: Diagrama de pins del PIC 16F88........................................................................21Figura 14: Diagrama de blogs del prescaler del TMR0 I WDT...........................................23Figura 15: Diagrama de blocs del TIMER 1........................................................................24Figura 16: Diagrama de pins i circuit intern........................................................................25Figura 17: Led......................................................................................................................26Figura 18: Taula de la veritat 7 segments.............................................................................26Figura 19: Porta piles AAA..................................................................................................27Figura 20: Senyal proporcionat per l'acceleròmetre.............................................................28Figura 21: Diagrama de flux general....................................................................................29Figura 22: Diagrama de blocs del hardware.........................................................................30Figura 23: Interruptor per seleccionar el calibratge.............................................................31Figura 24: Circuit LED.........................................................................................................31Figura 25: Configuració sensor ADXL202AE.....................................................................32Figura 26: Display doble amb càtodes compartits...............................................................33Figura 27: Anàlisi del circuit de contro delsl leds amb transistor (suposem que estan tots funcionant)............................................................................................................................35Figura 28: Connexions del Display doble............................................................................40Figura 29: Display per al signe.............................................................................................42Figura 30: Connexions al PIC 16F88...................................................................................43Figura 31: Configuració rellotge..........................................................................................44Figura 32: Led d'alimentació................................................................................................44Figura 33: Conector per a les piles.......................................................................................45Figura 34: esquema conector RJ-11 ....................................................................................45Figura35: encapsulat.............................................................................................................46Figura 36: Layout ................................................................................................................46Figura 37: PCB vista desde dalt...........................................................................................47Figura 38: PCB vista desde baix..........................................................................................47Figura 39: Tapa encapsulat...................................................................................................47Figura 40: Inclinòmetre digital ............................................................................................49Figura 41: Diagrama de flux del programa..........................................................................50Figura 42: Anàlisi en el senyal de Ton i T...........................................................................51Figura 43: Diagrama de flux de la captura dels períodes T i Ton........................................52Figura 44: Diagrama de flux per calcular els graus..............................................................54Figura 45: Diagrama de flux de càlcul de l'offset...............................................................56

4

Page 5: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

2 Introducció2.1 Antecedents

Una de les aplicacions més importants i esperançadores de l’electrònica és la seva utilització en medicina. Els darrers avenços en tecnologia electrònica han permès el desenvolupament d’equips mèdics que han salvat vides, ajudat a curar malalties o millorat la qualitat de vida de malalts crònics. Des dels equips de monitorització de les constants vitals utilitzats en les Unitats de Vigilàncies Intensives, fins als equips de ressonància magnètica, passant per les eines automatitzades utilitzades en els quiròfans més moderns, és evident que tots ells han ajudat a arribar al nivell d’excel·lència mèdica de que gaudim en ple segle XXI.

Un dels camps mèdics que es pot beneficiar d’aquests avenços, és el de la diagnosi en la desviació de la columna vertebral, com ara en l’escoliosi. Aquesta és la deformació de la columna vertebral en forma de “S” o “C”, be cap a l’esquerra o dreta. Generalment es classifiquen en congènita (causada per anomalies vertebrals al nàixer), idiopàtica (de causa desconeguda, que pot sorgir al pas del temps i es sub-classifica en infantil, juvenil, adolescent o adulta segons la data en que comença la malaltia) o neuromuscular (desenvolupada com un símptoma secundari d'una altra condició com ara espina bífida, paràlisis cerebral, atrofia muscular o un trauma físic). En la figura anterior podem observar els principals signes d'aquesta malaltia.

En el projecte que ens ocupa ens centrarem en el desnivell de la pelvis, ja que amb l'estudi d'aquest es pot obtenir molta informació sobre l'estat general de l'esquena.

5

Figura 1: Signes de l'escoliosi

Page 6: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

Entenem com a desnivell pèlvic quan una extremitat inferior és més curta que l'altra, no obstant això la mecànica de la pelvis per fer un esforç, com és l'atletisme, també pot ocasionar un desnivell funcional i aquest problema es pot derivar en:

Dolor de l'esquena baixa.Dolor als genolls.Dolor de turmells.Contractures dels isquiotibials.Dolor en les engonals.

Com la pelvis es cau d'un costat això provoca que el cap, el tronc i les extremitats superiors s'observen en un angle diferent, el qual influeix en la quantitat de pes que rebrà cada extremitat inferior, el que podria acabar en una escoliosi idiopàtica si no es detectés a temps i no es rebés el tractament adequat.

Fins ara els mètodes per mesurar aquests desnivells són:

• En el cas del desnivell de la pelvis i les espatlles s'utilitza un nivell amb bombolla, com es pot observar en la figura 2. Si la bombolla està centrada significava que no hi ha desnivell. De forma que quant més cap als laterals està la bombolla, més desnivell hi ha. Generalment les línies marcades en el tub de la bombolla solen indicar els més o menys 45º. Tal com es pot observar amb aquest instrument, és difícil mesurar exactament el grau d'inclinació.

2.2 Objectius del projecte

Es pretén dissenyar i realitzar un dispositiu que mesuri els angles d'inclinació respecte la línia horitzontal. D'aquesta forma si el dispositiu està a 0 graus no hi ha desnivell en la pelvis.

6

Figura 2: Anivellador amb bombolla

Page 7: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

El dispositiu haurà de complir una sèrie de requisits que el facin útil per a l'aplicació desitjada, com ara:

• Possibilitar la integració de tot el dispositiu en una barra, que és on s'instal·larà per mesurar la desviació de l'eix.

• Possibilitat de triar entre calibrar o mesurar angles.• Mostrar de manera constant els graus d'inclinació de forma que quan es produeixi

un canvi d'inclinació, es mostri de forma immediata i no hi hagi cap retard significatiu.

• Notificar si hi ha error en la mesura.

3 Possibles Solucions3.1 Introducció

Per aconseguir els objectius abans esmentats hem de disposar de:

• Un dispositiu que detecti els graus d'inclinació, com ara un sensor que sigui sensible a la inclinació.

• Un dispositiu que mostri els graus d'inclinació que hi ha, com ara un display.

• Un dispositiu que canvïi entre dos estats: actiu “1” o desactivat “0”, per triar entre els estats de calibratge o mostrar els graus. Per fer-ho necessitarem un interruptor.

• Un dispositiu que tracti el senyal que doni el sensor, l'analitzi i doni un senyal de sortida per activar correctament el display, mostrant els graus que hi ha d'inclinació. També s'ha de tractar el senyal de l'interruptor i actuar en conseqüència si s'està en el mode de calibratge o en el mode de mostrar els graus. En aquest cas el dispositiu que s'encarregarà d'aquest procès serà un microcontrolador.

• Una font d'alimentació per tal que tots els dispositius abans esmentats funcionin. La font d'alimentació es pot aconseguir amb piles o bateries, ja que el dispositiu no estarà connectat a la xarxa elèctrica.

• Un encapsulat adient per facilitar la mesura de la inclinació.

7

Page 8: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

3.2 Tipus de dispositius per mesurar la inclinació

Per mesurar la inclinació dels eixos hi ha dos dispositius bàsics en el mercat electrònic:

• El giroscopi mesura la posició i l'acceleració angular respecte un eix. Es sol utilitzar per a la navegació en vehicles aeris no tripulats i helicòpters de ràdio control.

• L'acceleròmetre és capaç de mesurar l'acceleració lineal i mesurar la inclinació de l'eix corresponent.

En el cas que ens ocupa ens centrarem en l'acceleròmetre ja que aquest proporciona en tot moment el valor de la inclinació respecte l'origen i el giroscopi sols el proporciona en el moment que es produeix un canvi en la inclinació i no quan està en repòs.

Una altra característica interessant per a la nostra aplicació és el tipus de sortida que proporcionarà el sensor. Aquestes poden ser de diferents tipus, però les més comunes són: un voltatge proporcional a l'acceleració, mesurada en g, que hi ha (V/g), una sortida PWM (amb un duty cicle proporcional a l'acceleració (% Duty Cycle/g.) o en els més moderns un valor corresponent a l'acceleració que hi ha (g/digit). La mesura de l' inclinació és indirecta a el canvi de la component de l'acceleració (g), produïda per la força de la gravetat, sobre l'eix. coresponent

8

Figura 3. Giroscopi

Figura 4. Acceleròmetre

Page 9: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

En el mercat disposem d'acceleròmetres integrats amb diferents característiques i eixos de mesura. A continuació es mostraran diferents tipus d'aquests:

El MMA2241KEG del fabricant FREESCALE SEMICONDUCTOR, amb un eix de mesura i una sensibilitat de 200 mV/ g.

El MXD202EL del fabricant MEMSIC, amb un eix de mesura i una sensibilitat de 20 % Duty Cycle / g.

L' ADXL212AEZ del fabricant ANALOG DEVICES, amb dos eixos de mesura i una sensibilitat per eix de 12.3 % Duty Cycle / g.

L'ADXL202AE del fabricant ANALOG DEVICES, amb dos eixos de mesura i una sensibilitat per eix de 12.6 % Duty Cycle / g.

L'ADXL213 del fabricant ANALOG DEVICES, amb dos eixos de mesura i una sensibilitat per eix de 30 % Duty Cycle / g.

El LIS331DL del fabricant STMICROELECTRONICS, amb tres eixos de mesura i una sensibilitat per eix de 72 mg / digit.

ADXL326BCPZ del fabricant ANALOG DEVICES, amb tres eixos de mesura i una sensibilitat per eix de 57 mV/g.

Finalment l'acceleròmetre que usarem serà l'ADXL202AE ja que és el que disposàvem en el laboratori. Aquest, com hem mencionat abans, és capaç de mesurar la inclinació en dos eixos. Com les mesures que fem són en estàtic si la suma dels dos eixos és inferior a 1 g, significa que l'aparell està inclinat en el tercer eix de mesura. Aquest acceleròmetre proporciona una sortida PWM. En el mercat també disposem d'acceleròmetres integrats de tres eixos, però per al nostre propòsit ja serà suficient un de dos eixos. Actualment aquest ja no es fabrica, un substitut natural seria l'ADXL212AEZ, però si haguéssim de que triar-ne un, actualment seria l'ADXL213 que té una major sensibilitat.

3.3 Control de les dades i processat

L'encarregat d'analitzar les mesures que donaran els sensors de posició, transformar-les en graus i mostrar-les serà un microcontrolador, ja que aquest tipus de dispositiu és l'únic circuit integrat en un sol encapsulat que es pot encarregar de tractar el senyal, processar-ho i donar un altre senyal de sortida per activar el display.

9

Page 10: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

Actualment hi ha moltes ofertes de microcontroladors, les principals cases que en fabriquen són: Freescale (abans Motorola), Texas Instrument, Intel i Microchip. Com els dispositius dels que disposem al laboratori per programar els microcontroladors són de la casa Microchip, i com anteriorment, en els estudis de la carrera, ja hem treballat amb microcontroladors d'aquesta família, ens centrarem en els microcontrolador de la casa Microchip.

Dins de la casa Microchip podem trobar els següents microcontroladors (hem de tenir en compte si es poden depurar i programar amb l'ICD2):

De la família de microcontroladors d'arquitectura 8-bits:

• El PIC12F508 que diposa de 0.75 kB de memòria (flash) de programa, 25 bytes de memòria RAM, 1 timer de 8 bits i 8 pins. No es pot programar ni debugar amb el ICD2.

• El PIC 16F84 que disposa de 1.75 kB de memòria (flash) de programa, 68 bytes de memòria RAM, 1 timer de 8 bits i 18 pins. Es pot programar, però no debugar.

• El PIC16F88 que disposa de 7 kB de memòria (flash) de programa, 368 bytes de memòria RAM, 2 timers de 8 bits i 1 timer de 16 bits i 18 pins. Es pot programar i debugar.

• El PIC 16F876 que disposa de 14 kB de memòria (flash) de programa, 368 bytes de memòria RAM, 2 timers de 8 bits i 1 timer de 16 bits i 28 pins. Es pot programar i debugar.

De la família de microcontroladors d'arquitectura 16-bits:

• PIC24HJ12GP201 que disposa de 12 kB de memòria (flash) de programa, 1,024 byts de memòria RAM, 3 timer de 16 bits i 1 timer de 32 bits i 18 pins. Es pot programar i debugar.

• DsPIC30F1010 que disposa de 6 kB de memòria (flash) de programa, 256 bytes de memòria RAM, 2 timers de 16 bits i 28 pins. Es pot programar i debugar.

De la família de microcontroladors d'arquitectura 32-bits:

• PIC32MX460F512L que disposa de 512 kB de memòria de programa, 32 kB de memòria RAM, 5 timers de 16 bits i 100 pins. Es pot programar i debugar

• dsPIC30F6014 que disposa de 111 kB de memòria de programa, 8.192 bytes de RAM, 5 timers de 16 bits i 2 timers de 32 bits i 80 pins. Es pot programar i debugar

Finalment el PIC elegit serà el 16F88 ja que: disposa de memòria suficient per al nostre programa, timer de 16 bits, és de tamany reduït i es pot programar i debugar amb el ICD2

10

Page 11: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

3.4 Mostrar el resultat

Hi ha diverses possibilitats per mostrar els resultats: una és un display doble de 7

segments.

Aquest display és suficient per mostrar els graus des de -90º fins els 90 ( el signe es mostrarà amb un led independent). Aquests poden estar controlats per dos xips 74LS47N, descodificadors de BCD a 7 segments. O bé amb el mateix PIC compartint el bus de selecció de leds i seleccionant el display d'unitats o de desenes segons correspongui, amb l'ajuda de dos transistors. Així s'eliminen circuits externs i es redueix el tamany del circuit.

Una altra possible solució, però més complexa i excessiva per a aquesta aplicació, és la de mostrar el resultat a través d'una pantalla LCD, ja que necessitem que el dispositiu sigui el més reduït possible.

11

Figura 4: Display LCD

Figura 3: Display doble de 7 segments

Page 12: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

3.5 Alimentació

Per alimentar tots els components del circuit i que aquest pugui ser portàtil, ho farem amb piles o bateries.

El màxim a que pot estar alimentat el nostre circuit serà de 5 V i un mínim de 3V per evitar circuits reguladors que consumin energia i espai triarem una combinació en sèrie de 3 piles de 1,5 V per a que ens donin 4,5 V.

De piles que proporcionin aquest voltatge n'hi ha de diverses mides i es classifiquen de la seguent forma:

– AAAA de forma cilíndrica de 42,5 mm de longitud i 8,3 mm de diàmetre.– AAA de forma cilíndrica de 44,5mm de longitud i 10,5mm de diàmetre. – AA de forma cilíndrica de 50 mm de longitud i 14,2 mm de diàmetre.– C de forma cilíndrica de 46 mm de longitud i 26 mm de diàmetre.– D de forma cilíndrica de 58 mm de longitud i 33 mm de diàmetre.

De totes aquestes piles escollirem la AAA per ser la més petita i disponible en el mercat, factor que hem de tenir en compte ja que el lloc que tenim per muntar el nostre dispositiu és reduït i com que quan s'acabin les piles s'hauran de canviar, si hi ha més disponibilitat d'aquestes en el mercat serà més fàcil trobar un recanvi.

12

Figura 5: Piles i bateries

Page 13: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

4 Solució Adoptada4.1 Introducció

Amb el nostre dispositiu es pretén mesurar l' inclinació respecte l'eix horitzontal. Però l'eix horitzontal del sensor pot no estar perfectament alineat amb l'eix horitzontal del dispositiu, fet que introdueix una desviació entre la mesura dels graus i la inclinació real respecte de l'horitzó. Això es pot donar per dos factors: un seria que al muntar el sensor en la placa, aquest quedi muntat amb una petita inclinació respecte la PCB (placa on es muntaran tots els components electrònics) i/o que al integrar la PCB (placa amb els components electrònics) a l'encapsulat final no quedi ben alineat un respecte l'altre.

Per tant, el primer que haurem de fer és mesurar aquest offset, per a fer automàticament la correcció d'aquest i mostrar els graus d'inclinació correctes.

D'altra banda, pel que fa al hardware disenyat, està format per sis elements:

• El microcontrolador, • El sensor • El display doble.• El led per al signe.• El selecionador de mode• L'alimentació

Tenint en compte que el sensor seleccionat serà l'acceleròmetre ADXL202AE, aquest ens donarà dos senyals, un serà utilitzat per calcular els graus d'inclinació respecte l'eix X i l'altre per calcular els graus d'inclinació respecte l'eix Y, i aquests hauran d'anar connectats a duess entrades del microcontrolador. També haurem d'incloure un interruptor per poder seleccionar entre mode de calibratge i mode de funcionament normal. La forma com finalment mostrarem el resultat serà amb un display doble, en el que els dos displays compartiran el canal de dades (codi del nombre que es mostrarà), connectat a les sortides del microcontrolador. El microcontrolador seleccionarà el display corresponent a les desenes o el de les unitats, mitjançant dues sortides addicionals que activaran o

13

Figura 6: Offset del sensor

Page 14: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

desactivaran els transistors que actuaran com interruptors per activar o desactivar el display al que estaran connectats, segons correspongui. També tenim en compte que hem d'incloure un led addicional per a mostrar si la inclinació és positiva o negativa. Quan el led estarà activat significarà que la inclinació serà negativa i quan no ho estarà serà positiva. Aquest led correspondrà al segment horitzontal del mig d'un display simple, per tal que la visualització sigui igual a la d'un signe negatiu amb la mateixa estructura que es mostra el número de graus d'inclinació corresponent. Tenint en compte la utilització d'entrades i sortides que ens fa falta, catorze, i que amb un timer de 8 bits no tenim suficient resolució per mesurar el senyal proporcionat pel sensor, necessitarem d'un microcontrolador que disposi d'un timer de 16 bits. A més a més, el microcontrolador ha de ser el més petit possible, per a que el circuit resultant ocupi el mínim espai. Si tenim en compte tots aquests factors, per controlar el nostre dispositiu en tindrem suficient amb el microcontrolador PIC 16F88 de la casa Microchip.

14

Figura 7: Diagrama de blocs del hardware dissenyat

MICRO-CONTROLADOR

DISPLAYDOBLE

7bitsde dades

2 bitsde selecció

Sensor

Eix X

Eix Y

Seleccionadordel calibratge 1Bit

DISPLAYSIMPLE1 bit

per al signe

Page 15: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

4.2 Acceleròmetre

El sensor que s'utilitzarà, com ja hem esmentat abans, serà l'acceleròmetre enfront el giroscopi, ja que en el giroscopi hi ha una alta senyal de soroll, mentre que en l'accelerador hi ha una senyal baixa en relació a la senyal de soroll.

Concretament el dispositiu utilitzat serà el ADXL202AE, d'Analog Devices, que és una acceleròmetre de 2 eixos integrat en un xip SMD.

4.2.1 Característiques generals

Es tracta d’un dispositiu de baix cost, capaç de mesurar acceleracions dins d’un rang de ±2g i permet obtenir una resolució de fins a 2mg. Es pot alimentar de 3 V a 5,25 V

Es pot seleccionar dos tipus de sortides: analògiques, en què l’amplitud del senyal de sortida és proporcional a l’acceleració mesurada, o digitals en forma de PWM, on el dutycicle, l’amplitud del temps de senyal actiu (Ton) respecte al període total (T), és proporcional a l’acceleració. Usant aquest tipus de sortida, la sensibilitat nominal del dispositiu és, de variacions del duty cycle, del 12,5% per cada g mesurada.

Es decideix usar la sortida digital de l’acceleròmetre, ja que si utilitzèssim la sortida analògica es necessitaria una etapa intermèdia d’amplificació i adaptació d’impedàncies, a més de l’ús de microcontroladors amb conversos A/D. En canvi, la sortida PWM es pot connectar directament a un pin del microcontrolador i desxifrar el duty cicle amb l'ajud d'un timer. D'aquesta forma, analitzant i processant la informació que ens proporciona el timer obtenim l'equivalent amb graus. Tot aquest procés l'explicarem en els següents apartats.

L'ADXL202AE ens permet adaptar el període PWM i l'ample de banda a través de components externs, com es mostra a la figura 5. Això permet adaptar més bé el seu ús als nostres requisits.

15

Figura 8: Configuració dels pins de l'accelerometre

(vist des de baix)

Page 16: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

A continuació triarem els valors dels components que configuraran la sortida de l'acceleròmetre:

• El condensador CDC (condensador de desacoblament) de 0,1 mF, per eliminar soroll. A més a més, com es comparteix l'alimentació amb el microcontrolador, el soroll digital pot causa interferències en la sortida, això es pot observar en les sortides XFILT i el YFILT. Si es necessari, es pot ficar una resistència de 100 Ω o menor, que es ficarà entre la línia d'alimentació i l'entrada d'alimentació de l'ADXL202AE.

• Els condensadors CX i CY s'utilitzen per fer un filtre passa baix que suavitza i redueix el soroll. L'equació per a un ample de banda de 3 dB és:

F−3dB=1

(2π (32 kΩ)×C ( x , y)) (1)

L'equació (1) es pod simplificar i quedaria d'aquesta forma:

16

Figura 9: Diagrama de blocs de l'ADXL202AE

Figura 10: Desacoblament ADXL202E

Page 17: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

F−3dB=5 μF

C (x , y )(2)

• La resistència RSET permet modificar el període ( T ) de la sortida PWM, per als dos canals de sortida. L'equació que es mostra a continuació, permet calcular aquest període segons la resistència seleccionada:

T=RSET (Ω)125 MΩ

(3)

4.2.2 Funcionament

Aquest dispositiu és un acceleròmetre de dos eixos, integrat en un circuit monolític, construït a partir de tecnologia MEMS Microelectromechanical System. Gràcies a aquesta tecnologia en el mateix encapsulat hi ha tots els elements necessaris per tractar les senyals analògiques, proporcionades pels sensors, i convertir-les en una senyal PWM.

El sensor és una estructura de superfície de polisilici micromecanització construït en la part superior de l'oblia de silici. L'estructura està suspesa sobre la superfície de l'oblia mitjançant ressorts de polisilici. D'aquesta manera proporciona una resistència contra les forces d'acceleració. La deflexió de l'estructura es mesura utilitzant un condensador diferencial que consta de plaques fixes i plaques centrals, independents unes de les altres, unides a la massa en moviment. En repòs, el condensador diferencial provoca en la sortida uns senyals quadrats desfasats 180º entre sí, per tant el senyal resultant té una amplitud zero. Si el desfasament deixa de ser 180º vol dir que hi ha una acceleració cap a alguna de les dues bandes, de forma que el senyal de sortida serà un senyal quadrat, amb amplitud proporcional a l'acceleració. Després es desmodula i rectifica el senyal i observant la fase es determina la direcció de l'acceleració.

La sortida desmodulada anteriorment passa per una resistència de 32 kΩ per poder ser modulada per un modulador de duty cycle. El senyal analògic que hi ha a l'entrada del modulador és accessible per l'usuari mitjançant el pins XFILT i YFILT.

Per finalitzar, amb una acceleració de 0g, el duty cycle de sortida serà del 50% nominal. Per obtenir el valor de l'acceleració hem de calcular la proporció entre el temps del senyal en alt (TON) i el període (T) com mostra la següent equació:

17

Figura 11: Duty cycle

Page 18: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

A( g)=(Ton

T−0.5)

12.5(4)

El dispositiu anirà col·locat de forma que l'eix X estigui paral·lel a l'horitzó i l'eix Y perpendicular a aquest, com es mostra en la següent figura:

4.3 Microcontrolador

El microcontrolador triat és un PIC 16F88, de Microchip. De la família de microcontroladors de 8-bits. Es pot alimentar entre els 2 V als 5,5 V. La font del rellotge pot ser tan interna com externa, però per a ser més precisos en l'adquisició de les dades mitjançant la lectura del PWM proporcionat per l'acceleròmetre, s'utilitzarà la font del rellotge externa. Aquesta constarà d'un cristall de quars que donarà una oscil·lació estable de 4Mhz.

El PIC 16F88 compta amb:

• Dos timers de 8 bits i un de 16 bits, que és el realment necessari per desxifrar el temps de senyal actiu i el període de la senyal PWM. Per això els dispositius que no contaven amb un timer de 16 bits han estat descartats.

• Un encapsulat de 18 pins dels quals 16 poden ser entrades o sortides, depenent com es programi, que són exactament les que ens faran falta. Per això micros amb menys pins han estat descartat iguals que els que en tenien molts més, ja que es pretén que el circuït quedi reduït el màxim possible.

• 7 kB de memòria de programa del tipus Flash repartida en dos pàgines. Amb aquesta capacitat és més que suficient per al nostre programa, per això els dispositius amb una capacitat de memòria superior han estat descartats.

18

Figura 12: Posició de l'acceleròmetre

(vista des de baix)

Page 19: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

A continuació es detallaran les funcions del PIC que necessitarem utilitzar per a la realització de l'aplicació:

4.3.1 TIMER 0

El TIMER 0 permet dos modes: el comptador i el temporitzador. Tots dos d'una resolució de 8 bits, amb prescaler de 8 bits, selecció del clock intern o extern, interrupció per overflow, que s'utilitzarà per canviar el control del display de desenes amb el d'unitats.

19

Figura 13: Diagrama de pins del PIC 16F88

Page 20: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

El modul del TIMER 0 l'utilitzem per seleccionar la freqüència d'intercanvi de la selecció de les unitats o les desenes del display. Per fer-ho hem de seleccionar una freqüència de 122 Hz. Per aconseguir aquesta freqüència hauríem de seleccionar el prescaler de 1:64 i no carregar cap valor en TMR0.

tDESBORDAMENT=(4

FOSC)∗(28−TMR0)∗N (5)

D'aquesta manera aconseguim que cada 16,384 ms es produeixi la interrupció del TMR0. El temps de desbordament equival a una freqüència de 61 Hz, però com un període l'utilitzarem per al display de les unitats i el següent període per al display de les desenes, crea una freqüència total per a cada display de 122 Hz.

4.3.2 TIMER 1

Aquest timer permet tres modes: el temporitzador, comptador asincrònic i comptador síncron. D'una resolució de 16 bits, prescaler de 2 bits, selecció del clock intern o extern, interrupció per overflow (que en aquest cas no estarà activada) i activació i desactivació del timer amb TMR1ON del T1CON.

20

Figura 14: Diagrama de blogs del prescaler del TMR0 I WDT

Page 21: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

El mòdul del TIMER1 l'utilitzem per mesurar el temps actiu en el període del senyal PWM enviada pel sensor. Per fer-ho hem d'assegurar-nos que el temps de desbordament no sigui inferior al període del senyal PWM amb el preescaler més petit possible per a que el temps entre una dada i l'altra sigui el mínim possible.

tDESBORDAMENT=(4

FOSC)∗(216−TMR1)∗N (6)

Amb 1:1 de preescaler i el TMR1 a zero obtenim un temps de desbordament de 65,54 ms més que suficient per controlar la sortida PWM que dóna l'acceleròmetre, ja que aquesta la configurarem am un període de 8 ms. Com no utilitzem cap preescaler obtenim la màxima precisió possible, ja que la diferència de temps entre una dada i l'altra del registre TMR1 és de 1 μs.

4.3.3 Interrupcions

Aquest PIC té dotze fonts d'interrupció de les quals sols utilitzarem la interrupció del timer 0, (explicada en l'apartat del timer 0) i la interrupció INT. Aquesta la utilitzarem per detectar els canvis d'estat d'un interruptor, ja que la interrupció INT crea una interrupció quan hi ha un flanc de pujada o baixada. Aquest interruptor ens indicarà amb quin estat de funcionament ens trobem: el de calibratge o el normal.

21

Figura 15: Diagrama de blocs del TIMER 1

Page 22: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

4.4 Display 7-segments

Finalment el display seleccionat serà el display doble de 7 segments HDSP-5523 de càtode comú.

22

Figura 1: Diagrama de blocs d'interrupcions.

Figura 16: Diagrama de pins i circuit intern

Page 23: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

Si el dispositiu és de càtode comú significa que els leds del mateix conjunt del display comparteixen el càtode. Aquest està connectat a massa i els ànodes dels leds que es volen activar estan conectats a un voltatge positiu. També existeix la configuració oposada en ànode comú. En aquest cas el conjunt de leds comparteixen l'ànode, que està connectat al voltatge corresponent i els càtodes dels leds que es volen activar estan connectats a massa.

Aquest dispositiu està format per una parella de displays de set segments, que alhora estan formats per un conjunt de 8 leds estratègicament col·locats. Com podem observar a la figura 14 set leds formen un vuit i el que queda és el punt decimal, que en el nostre cas no el farem servir. Cada led es pot activar de forma independent, permetent mostrar un ampli ventall de configuracions. Però les que ens interessen a nosaltres són les necessàries per visualitzar els dígits del 0 al 9, que són els que es mostren en la taula de la següent figura (H significa que hi ha voltatge, està activat, i L significa que no està activat).

23

Figura 18: Taula de la veritat 7 segments

Figura 17: Led

Page 24: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

4.5 Alimentació

Per a que les piles no vagin soltes i realitzar el muntatge de tres piles en sèrie utilitzarem un portapiles amb capacitat de tres piles col·locades en sèrie.

4.6 Funcionament general

El funcionament general de l'aparell estarà dividit en dos parts: el calibratge i el funcionament normal.

En el calibratge s'agafaran els graus d'offset que s'aplicaran en el mode normal. Els graus d'offset són els graus sobre els quals es donaran els graus d'inclinació en el funcionament normal.

En el funcionament normal es mostraran els graus d'inclinació respecte als graus d'offset seleccionats en l'apartat anterior. Per tant els graus d'offset en el mode normal passaran a ser els zero graus. Per exemple, si agafem l''offset a +5º i estem en els +5º, sense aplicar l'offset, en el display, un cop aplicat l'offset, es mostrarà 0º i si estem en els -5º, sense aplicar l'offset, en el display, un cop aplicar l'offset, es mostrarà -10º.

El correcte funcionament de l'aparell va lligat a un bon calibratge ja que en aquesta part del funcionament s'agafaran els graus d'offset que afectaran al funcionament normal de l'aparell.

El primer pas que hem de tenir en compte és si estem en el mode de calibratge o en el mode normal.

Si estem en el mode de calibratge tenim que obtenir el valors dels offsets per al correcte funcionament del dispositiu en el mode normal. Els passos per fer-ho són els següents:

24

Figura 19: Porta piles AAA

Page 25: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

• Primer hem de calcular la meitat del període T, que és el període del senyal PWM, proporcionat per l'acceleròmetre., necessari per calcular la conversió del Ton a graus de l'eix X (en que els graus d'inclinació que es donen són respecte a l'eix horitzontal) i l'eix Y (en que els graus d'inclinació que es donen són respecte a l'eix vertical). El Ton és el temps en que el senyal PWM, proporcionat per l'acceleròmetre, esta activat. El Ton varia depenent de la inclinació.

• El segon pas és calcular el equivalent en graus del Ton dels eixos X i Y i emmagatzemar-los com offset.

Si fiquem l'aparell sobre l'eix horitzontal que volem agafar com a referència sobre el qual després tindrem els valors de la inclinació i els graus que obtenim en l'eix Y són inferiors a 85º significa que l'aparell no està ben posicionat i està inclinat en tercer eix, perpendicular a l'eix X i Y, i per això es perd senyal. Per tant els valors que tindríem no serien bons per a guardar-los com a offset. Per solucionar això hauríem de canviar la posició del aparell fins que en l'eix Y tinguéssim un resultat superior a 85º.

Finalment es mostraran pel display els graus d'inclinació de l'eix X. En el cas que hi hagi un mal calibratge el display parpellejaria. Estarem en aquest mode fins que activem el canvi al mode normal amb el polsador corresponent.

25

Figura 20: Senyal proporcionat per l'acceleròmetre

Page 26: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

Si pel contrari estem en el mode de funcionament normal hem de calcular el Ton dels eixos X i Y per calcular el seu equivalent en graus i restar o sumar l'offset, segons correspongui. Tot seguit hem de comprovar que els graus obtinguts dels dos senyals sumin 90º per comprovar que no hi hagi pèrdua de senyal. Finalment es mostren pel display els graus obtinguts de l'eix X, i si hi ha pèrdua de senyal aquest parpellejarà.

26

Figura 21: Diagrama de flux general

Page 27: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

5 Descripció Del Hardware

El hardware s'estructura en quatre blocs principals: l'alimentació, el microcontrolador, les entrades (el sensor i l'interruptor per seleccionar el calibratge) i el display.

27

Figura 22: Diagrama de blocs del hardware

MICRO-CONTROLADOR

DISPLAY DOBLE7 bits

de dades

2 bits deselecció

SensorEix X

Eix Y

Seleccionadorcalibratge

1 Bit

Pila 4,5 V

Led per al signe1 bits

1 Bit

1 Bit

Alimentació

Page 28: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

5.1 Entrades

5.1.1 Seleccionador calibrage

Per seleccionar el calibratge ho fem amb un interruptor. Quan aquest està activat, el circuit està tancat de tal manera que el microcontrolador a l'entrada llegeix un “1” i el led està activat per a visualitzar que estem fent el calibratge. Quan l'interruptor està en desactivat el circuit queda obert i per tant el microcontrolador a l'entrada llegeix un “0” i el led està desactivat, llavors sabem que estem en el mode de funcionament normal.

Per calcular Rs sols cal aplicar la llei d'Ohm per a un circuit en sèrie:

Rs=(Vdd−Vf )If (7)

Per tant segons l'equació 5 i per als valors: Vdd = 4,5, Vf = 1,8 i If = 10 mA. I si considerem el circuit anterior igual que el del interruptor per seleccionar el mode de calibratge (quan esta en el circuit tancat). En aquest cas Rs equivaldrà a R10 i haurà de tenir un valor de 270 Ω.

28

Figura 23: Interruptor per seleccionar el calibratge

Figura 24: Circuit LED

Page 29: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

5.1.2 Sensor

Per un correcte funcionament del sensor hem de configurar-lo de forma adequada a les característiques que necessitem per a la nostra aplicació. Col·loquem el condensador C7 de 0.1 μF entre massa i alimentació per eliminar soroll i la resistència R22 de 100 Ω per eliminar les interferències que es poden causar pel fet que el sensor estigui controlat amb un microcontrolador i tots dos tinguin la mateixa alimentació.

Tot seguit seleccionarem un període per al senyal mitjançant una resistència col·locada entre el pin 2 i massa. Elegim un període suficientment gran per a que ens doni temps de realitzar tot l'anàlisi de la senyal i el processament amb el programa i no perguéssim informació, ja que el mínim increment de temps que podem mesurar és d'un microsegon. Per tant un període de 8 ms serà més que suficient. Així per a aquest període i aïllant RSET de l'equació (3)

RSET (Ω)=T∗125MΩ (8)

Per tant substituint a l'equació anterior T per 8 ms tenim que RSET valdrà 1 MΩ

Tot seguit triarem dos condensadors per a fer un filtre passa-baixos tant per al senyal Y com l'X. Tots dos condensadors han de ser iguals i aniran connectats un del pin 6

29

Figura 25: Configuració sensor ADXL202AE

Page 30: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

a massa i l'altre del pin 7 a massa, on les resistències ja estan dintre del dispositiu. Per obtenir els valors dels condensadors en l'equació simple (2).

C (x , y)= 5 μFF−3dB

(9)

La senyal del sensor té un període de 8 ms i per tant una freqüència de 125 Hz, tenim que el valor dels condensadors C(X,Y) han de ser 0,04 μF. En aquest cas seran de 0,044 μF ja que és el valor real que es comercialitza. D'aquesta manera inclourem els armonics principals en el filtre i eliminarem posibles fonts de soroll. El pin 1 no anirà connectat a cap lloc ja que s'utilitza per fer un auto-test del sensor. Seguidament els pins 4 i 5 aniran connectats directament a les entrades corresponents del microcontrolador, que són les sortides del senyal Y i X, respectivament . Finalment el pin 8 anirà connectat a l'alimentació i el pin 3 estarà connectat a massa.

5.2 Sortides

5.2.1 Display doble

Per controlar el display s'utilitzaran dos transistors per commutar un dígit del display amb l'altre (deixant passar el corrent un ànode o l'altre) ja que per estalviar pistes els dos dígits del display compartiran les pistes dels càtodes:

30

Page 31: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

Amb aquesta multiplexació ens estalviem la utilització de més pins en en el pic i el traçat de les pistes d'aquestos.

Tots els díodes led estaran alimentats a 10 mA. Si mirem al full de caracteristiques la gràfica de corrent (If) vs. tecio (Vf), per a aquest corrent correspon una tensió aproximada de 1,7 V (Vf) Com el circuit estarà alimentat amb una pila de 4,5 V això significa que hem de col·locar unes resistències limitadores RS, en sèrie amb cadascun dels leds. Per evitar que un excés de corrent el creme.

També ens hem d'assegurar que això es compleixi ja que el corrent màxim del col·lector es produirà quan els 7 leds funcionin, que serà la suma dels set corrents o sigui 70 mA. Si consultem les dades del fabricant del transistor BC547B podem observar que és inferior als 100 mA màxims permesos per a Ic.

Un altre factor a tenir en compte és el corrent que pot proporcionar el microcontrolador. Si observem el full de característiques d'aquest, el corrent que pot proporcionar per a les sortides, el microcontrolador, és com a màxim de 25 mA, la qual cosa a nosaltres no ens suposa cap problema perque el corrent que necessitarem serà de 10 mA.

Tenint en compte els factors anteriors fixarem la If a 10 mA ja que està dins dels paràmetres permesos per tots els components. A continuació sols ens falta calcular RS, que ho farem més avant en l'anàlisi del transistor en la zona de saturació.

31

Figura 26: Display doble amb càtodes compartits

Page 32: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

Un cop tenim fixat el valor de Rs, calcularem les regions en que treballarà el transistor. En el cas de màxim corrent en el col·lector, ja que si es compleixen els requisits per a aquest cas també es compliran per qualsevol altre. Mirant les característiques del transistor sabem que hFE = 200 ~ 450. Per assegurar-nos en els càlculs farem servir el valor mínim. També hem de saber que típicament :

VBE,ON = 0,66 V, VBC,ON = 0,46V

per calcular VCE,SAT ens hem de fixar en la equació (10)

VCE,SAT=VBE,ON-VBC,ON (10)

Per tant, segons l'equació anterior VCE,SAT valdrà 0,2 V

A continuació analitzarem les dos malles que hi ha en el circuit. Primer la referent a la malla d'entrada

V PIC= I B· RB+V BE (11)

Aïllem IB:

I B=V PIC−V BE

RB

(12)

32

Figura 27: Anàlisi del circuit de contro delsl leds amb transistor

(suposem que estan tots funcionant).

Page 33: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

El segon pas serà calcular Ic que serà la suma dels corrents dels diodes:

Ic= Id1 + Id2 + Id3 + Id4 + Id5 + Id6 + Id7(13)

Com que el corrent que farem circular pels díodes serà de 10 mA, si considerem el pitjor dels casos (quan tots el díodes estiguin activats). IcMAX valdrà 70 mA.

Tot seguit farem una resolució aproximada del circuit del transistor, que resoldrem per a dos estats fonamentals, ja que treballa com a commutador. Un en el qual entra més o menys en curtcircuit i deixa passar tot el corrent a través dels dos terminals principals i l'altre serà l'estat de tall en el qual forma un circuit obert i atura el corrent i la diferència de potencial entre els terminals pot ser alta. Aquests estats s'aconsegueixen variant el valor de la font VPIC :

En el primer cas considerem que VPIC = 4,5 V

Com que ara no sabem si el transistor estarà en tall, activa o saturació, haurem de fer una hipòtesi inicial i després ja veurem si ens hem equivocat o no.

Comencem suposant que no està en tall. En aquest cas la tensió VBE val aproximadament VBE,ON = 0,66V. La resolució de l'equació de la malla base-emissor (12) ens dona un resultat de IB = 1,745 mA. Com que tenim un corrent positiu i no és petit, podem concloure que el transistor no està en tall. Però encara pot ser que estigui en activa o saturació. Com que el corrent IB el podem controlar, canviant la resistència de la base, ja ho hem fet de manera que el corrent d'IB sigui suficientment gran per a que el transistor no estigui en la regió activa, però de totes formes seguirem en l'anàlisi.

Suposem que està en saturació, amb la qual cosa farem ús de l'aproximació:

VCE = VCE,SAT = 0,2 V.

Ara aprofitarem per calcular les resistències que necessitem en serie amb els díodes per a que aquestos tinguin un corrent de 10 mA. Si analitzem la malla d'un díode tenim:

Vcc=Vd+Id·R+Vce (14)Aïllem R:

R = (Vcc-Vf-Vce)/Id (15)

Resolent l'equació (15) Vcc = 4,5 V, Vf = 1,7 V i VCE =0,2 V Id = 10 mA. Per tant la resistència valdra 260 Ω

Comprovem ara que aquest corrent és molt més petit que el que hi hauria si el transistor estigués treballant en zona activa,

I C , ACTIVA=hFE MIN · I B (16)

33

Page 34: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

I C , ACTIVA=200 ·1,75=350 mA

Això ens confirma que el transistor estarà en la zona de saturació ja que el corrent del col·lector és molt més petit que si estigués en la regió activa. Podem concloure que el transistor estarà en saturació i la hipòtesi que hem fet és correcta. Per tant podem dir que ICMAX = 70 mA, VCE ≈ 0,2 V, IB=1,745 mA i VBE≈0,66 V.

En el segon cas considerem que VPIC = 0 V

Fent els càlculs de la malla emissor-base, equació (12), i suposant que no està en tall (VBE=VBE,ON). Tenim que IB = - 0,3 mA. Surt IB negatiu, per tant, la hipòtesi no es correcta i sí que ha d'estar en tall. Com que estem en tall els corrents seran nuls: IB=IC=IE=0.A partir d'aquí calculem VBE i VCE. Mirant el circuit, tenim:

VBE=VPIC-RB·IB (17)

Com que IB val zero i VPIC també, tenim que VBE és zero.

VCE=VCC-RC·IC -Vf (18)

Com que IC també val zero tenim que VCE serà igual a VCC menys Vf o sigui 2,4 V.

En conclusió estem en tall i tenim VBE=VPIC=0 V, IB=IC=0 mA i VCE=VCC=2,4 V.

Tenint en compte l'anàlisi realitzat, el circuit per controlar el display doble quedaria de la següent forma:

34

Page 35: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

5.2.2 Led per al signe

Del display simple sols utilitzarem el led g, que correspon al segment horitzontal del mig, com a signe negatiu per a la inclinació. Aquest simplement serà un circuit en un díode led i una resistència per limitar el corrent que passa pel led. Com hem calculat anteriorment aquesta resistència serà de R = 270 Ω. Aquest circuit serà alimentat pel PIC segons tinguessin que mostrar el signe negatiu d'inclinació o no.

35

Figura 28: Connexions del Display doble

Page 36: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

5.3 Microcontrolador

A continuació es mostren totes les connexions que s'han de realitzar al pic:

36

Figura 29: Display per al signe

Page 37: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

Com es pot observar els 7 bits alts del PORT B s'utilitzen per controlar les dades

que s'utilitzaran per representar els números pel display. El bit més baix del PORT B

s'utilitzarà com a entrada per seleccionar mode normal o mode de calibraciò. D'altra banda

el led de signe serà activat o desactivat amb el bit 4 del PORT A, mentre que els bits 0 i 1

s'utilitzen per seleccionar el display de desenes o unitats segons correspongui. Finalment

als bits 2 i 3 d'aquest port aniran connectades les senyals proporcionades pel sensor.

Com es pot observar entre la pota del MCLR i VCC hi ha una resistència pull-up

que es col·loca per a que el micro no entri en mode de programació per culpa del soroll.

També es col·loca entre l'alimentació i la massa un condensador de desacoblament que té

la funció principal de filtrar la tensió d’alimentació que rep el dispositiu.

El senyal del rellotge es dóna amb un cristall de quars de 4 Mhz connectat als

extrems dels dos condensadors d'adaptació, que tenen un valor de 22 µF

37

Figura 30: Connexions al PIC 16F88

Page 38: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

5.4 Alimentació

L'alimentació la realitzarem amb tres piles en sèrie de 1,5 V cadascuna. Per visualitzar que hi ha energia col·locarem entre massa i alimentació el circuit següent:

Com hem explicat en els apartats anteriors la resistència serà de 270 Ω. Les piles aniran connectades al circuit mitjançant el següent connector:

38

Figura 31: Configuració rellotge

Figura 32: Led d'alimentació

Page 39: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

Per programar el PIC col·locarem en el circuit el connector RJ-11 femella amb aquesta configuració:

5.5 Layout final del dispositiu

El disseny del PCB (Printed Circuit Board) definitiu es planteja a partir de 2 conceptes: la tecnologia de fabricació i l'espai disponible.

39

Figura 33: Conector per a les piles

Figura 34: esquema conector RJ-11

Page 40: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

L'espai del que disposem per integrar el nostre circuit és reduït, ja que ha d'anar integrat dintre de la barra de mesura de desnivell de la pelvis.

S'ha de tenir en compte que hem de conservar les guies per subjectar l'aparell a la pelvis i no podrem disposar de tot l'espai de la barra per mesurar el desnivell. L'espai de que disposem és de 448,5 x 32,15 x 13 mm. Per no introduir possibles errors en la mesura el sensor ha de quedar el més centrat possible.

La tecnologia que s'utilitza per fer la placa (amb una fresadora automàtica) permet fer plaques a doble cara, fet que ens és útil ja que permet una gran integració de pistes i components en menys espai. Les pistes de color verd representen les de la capa superior, les de roig les de la capa inferior i les blaves són ponts que haurem de fer després.

40

Figura 36: Layout

Figura35: encapsulat

Page 41: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

La solució que s'adopta és crear una placa que sigui el màxim d'ample possible, tenint en compte la forma de la barra, per facilitar les connexions i la distribució dels components. Pel que fa a la llargada no tenim tantes limitacions i la PCB quedaria de la següent forma:

5.6 Encapsulat

Per fer l'aparell més intuïtiu i amb un millor acabat hem fet una tapa per al nostre dispositiu:

Per acabar el muntatge del nostre dispositiu sols ens queda introduir la pcb dins la barra comprovar que estigui ben centrat, connectar els porta piles, els interruptors i leds que estan a la tapa.,subjectar aquesta a la barra. I Finalment ficar els suports per a la pelvis en les guies. Un cop montat el nostre dispositiu tindrà aquest aspecte:

41

Figura 37: PCB vista desde dalt

Figura 38: PCB vista desde baix

Figura 39: Tapa encapsulat

Page 42: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

6 Descripció Del Codi6.1 Descripció general

Recordem que tenim dos modes possibles: el mode de calibratge i el mode normal.

Si estem en el mode calibratge hem de fer els següents passos:

1r - Enregistrar el període del senyal PWM donat pel sensor i calcular la meitat d'aquest, aquest valor és necessari per calcular l'equivalència de Ton a graus.

2n - Calcular el Ton del senyal de l'eix X i de l'eix Y per saber els graus corresponents, aquests graus seran els graus d'offset.

3r - Si els graus de l'eix Y són inferiors a 85 graus, significa que no podem donar el calibratge per bo. I per mostrar-ho s'apagarà en un breu període de temps el display. Un cop transcorregut aquest temps es continua amb el programa. Això provocarà que el display parpellegi.

4t - Es transformen els graus obtinguts del senyal X, en el corresponent codi per activar els leds del display doble de 7 segments, més el signe d'inclinació.

42

Figura 40: Inclinòmetre digital

Page 43: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

Si per altra banda estem en el mode de funcionament normal, els passos que hem de seguir són els següents:

1r - Calcular el Ton del senyal PWM de l'eix X i de l'eix Y per saber els graus corresponents.

43

Figura 41: Diagrama de flux del programa

Page 44: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

2n - A aquests graus obtinguts els sumem o restem l'offset, segons correspongui, obtingut de l'últim calibratge realitzat.3r - Finalment transformem els graus, obtinguts del senyal X, en el corresponent codi per activar els leds del display doble de 7 segments, més el signe d'inclinació.

Com es pot observar els dos modes comparteixen característiques. Per fer el programa més eficient i simple, la part del calibratge es divideix en dos parts: la primera que trobarà el període del senyal i la segona en que buscarà els offsets.

6.2 Adquisició dels períodes i del Ton

L'adquisició del període T i del Ton, temps en que el senyal PWM proporcionat pel sensor està activat (“1” lògic) és molt semblant, l'única diferència és que el període es mesura de flanc de pujada a flanc de pujada i el Ton de flanc de pujada a flanc de baixada.

44

Figura 42: Anàlisi en el senyal de Ton i T

Page 45: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

6.3 Transformació a graus

Per transformar les nostres mesures del Ton a graus, hem de tenir en compte que les operacions que pot realitzar el PIC són bàsiques i no podem calcular els sinus i cosinus. Per tant no podem passar directament les mesures del Ton a g(s) i de g(s) a graus. Aixi fem una taula prèvia amb totes les mesures que tindrem en el timer i els graus que li corresponen. Podem observar si fem aquesta taula que hi ha diferències entre la taula que ens sortiria amb valors teòrics i taula amb valors pràctics, com es demostra en l'annex.

Abans de mirar la taula d'equivalències de graus, fem la mitjana de quatre valors de Ton. Un cop realitzada la mitjana tenim que determinar el signe d'inclinació, sabent que la meitat del període correspon als zero graus, si Ton és més petit que la meitat del període (inclinació negativa), restem a la meitat del període el registre que conté el valor de Ton. En canvi, si Ton és més gran que la meitat del període (inclinació positiva), l'operació que hem de realitzar és el registre de Ton menys la meitat del període.

45

Page 46: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

46

Figura 44: Diagrama de flux per calcular els graus

Valor per a la taula = Ton – meitat del períodeSigne d'inclinació positiu

Ton > meitatdel període ?

4 mostres?

Busquem l'equivalent en graus per al valor que hem calculat

anteriorment

Continuem amb el programa

Programa

Si

Per calcular els graus equivalents

Si

No

No

Valor per a la taula = meitat del període-Ton

Signe d'inclinació negatiu

Inici delprograma

Page 47: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

47

Figura 43: Diagrama de flux de la captura dels períodes T i Ton

Netegem el registre de contes

del TIMER 1i activem aquest

Entrada = 1?

Entrada = 0?

Entrada = 1?

Entrada = 0?

Desactivem el TIMER 1i emmagatzemem

el valor de contes d'aquestal registre corresponent

Continuem amb el programa

Inici Programa

Si

Si

Si

Per calcular el període T

Si

No

No

No

No

Netegem el registre de contes

del TIMER 1i activem aquest

Entrada = 0?

Entrada = 1?

Entrada = 0?

Desactivem el TIMER 1i emmagatzemem

el valor de contes d'aquestal registre corresponent

Continuem amb el programa

Inici Programa

Si

Si

Per calcular Ton

Si

No

No

No

Page 48: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

6.4 Calcular l'offset

L'offset tindrà efecte un cop realitzat el calibratge. Abans l'offset valdrà zero. Per realitzar l'offset hem de registrar el valor de grau d'offset i el seu signe d'inclinació.

Un cop enregistrats els valors, si l'offset que tenim i els graus als que tenim que

aplicar l'offset són de signes diferents, sumem el valor de l'offset als graus i el signe que conservem és el dels graus als que apliquem l'offset. D'altra banda, si el signe de l'offset i el signe dels graus és diferent s'hauria de tenir en compte dues possibilitats: si l'offset és més gran que els graus, el resultat final serà l'offset menys els graus i el signe serà el contrari al de l'offset, per una altra banda si els graus són més grans que el valor d'offset el resultat final serà el valor dels graus menys el valor de l'offset i conservarem el signe de l'offset.

6.5 Mostrar els graus

Per mostrar els graus hem de separar les unitats i les desenes dels graus resultants de l'anterior operació i buscar per a cadascun l'equivalent per a la representació en 7 segments. Com que els displays comparteixen el canal de dades hem de carregar durant un període el valor de les unitats per al dispay de les unitats (el display de les desenes estarà apagat) i després durant un període el valor de les desenes per al display de les desenes (el display de les unitats estara apagat). Això s'ha de fer amb una freqüència suficient per a que no s'aprecii el parpelleig en els leds.

50

Page 49: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

Inicialment la gestió de la commutació dels displays es volia realitzar amb la interrupció del TMR0 ja que donava una freqüència exacta de commutació. Però com en l'adquisició de mesures no permitim les interrupcions, resultava que la commutació dels dispositius no fos sempre iugal ja que en alguns casos es produïa pèrdua de la interrupció del timer.

Per solucionar aquest problema hem deixat de banda l'opció de controlar aquest dispositiu amb interrupcions, i ho farem mitjançant polling després de cada sèrie d'adquisicions.

51

Figura 45: Diagrama de flux de càlcul de l'offset

Graus < Offset

El signe delOffset és igual al signe

dels graus ?

Continuem amb el programa

Programa

Si

Per calcular els graus en funció de l'offset

SiNo

No

Els graus resultants = Offset + graus

Signe resultant = signe graus

Els graus resultants = Graus - offset

Signe resultant = signe graus

Els graus resultants = Offset - graus

Signe resultant = signe contrari als de graus

Page 50: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

Si tenim en compte que el temps d'adquisició del senyal, que com a màxim serà 8ms, es produeix quan el període Ton del senyal X val la meitat i per tant el Ton del senyal Y serà el màxim, també es pot donar en la forma inversa que el Ton del senyal Y valgui la mitat i per tant el ton del senyal X (que pot estar en el seu valor mínim o màxim depenent de la inclinació) en aquest cas el que més ens afectarà serà quan estigui en el seu valor màxim. Com la commutació dels displays la realitzarem després de cada sèrie d'adquisicions dels Ton, això significa que com a molt un display estarà activat 8 ms i després commutarà i estarà 8 ms l'altre activat ens dóna una freqüència mínima de 62,5 Hz, suficient per a que el display no parpallegi.

6.6 Canvi de modes

El canvi de modes el farem am la detecció de flancs de pujada i baixada de l'entrada del 0 del PORTB. Quan tinguem un flanc de baixada significa que sortirem de l'estat de calibratge guardant els graus que actualment es mostren per pantalla com a offset. D'altra banda si detectem un flanc de pujada significa que sortirem del mode de funcionament normal (netejant l'offset que teníem seleccionat) per entrar en el mode de selecció d'offset.

7 Utilització

Abans d'utilitzar el dispositiu hem de calibrar l'aparell. Per fer-ho s'ha de ficar l'aparell en un pla horitzontal que sapiguem segur que tingui una inclinació nul·la, ja que un cop acabat el calibratge els graus que es donaran en el funcionament normal, es donaran respecte a aquell pla horitzontal.

L'etapa de calibratge s'ha de concloure (canviant l'estat de l'interruptor a circuit obert “0”) sense que es mostri EE per pantalla. Si es mostra EE per pantalla significa que hi ha un error en l'adquisició de la senyal del sensor i s'hauria de revisar el circuit que no estigués malmès i no s'hagués trencat res o dessoldat alguna part. Per finalitzar el període de calibratge, el display a de estar sense parpellejar, si no, significa que hi ha pèrdua de senyal i per tant tenim un error en l'adquisició de les mesures.

Un cop fet el calibratge i estem en mode normal es mostraran contínuament els graus d'inclinació respecte el pla que hem fixat en el calibratge. Si el display parpelleja significarà que hi ha una pèrdua de senyal per tant l'eix Y no està perpendicular amb el terra.

Es pot tornar sempre que desitgem al mode de calibratge (canviant l'estat de l'interruptor a actiu “1”).

52

Page 51: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

8 Resultats i Conclusions

Aquest projecte m'ha mostrat com és possible dissenyar una solució a un problema, aplicant l'aprenentatge adquirit en la carrera.

Teníem com a objectiu crear un aparell electrònic que ens mostrés els graus d'inclinació i que fos més exacte a l'hora de mostrar la inclinació de la pelvis que amb el mètode de la bombolla.

De tot això puc concloure que els objectius del projecte s'han adquirit satisfactòriament: es mostren els graus d'inclinació respecte l'eix de referencia adquirit en el mode de calibratge, tota l'electrònica sa integrat dins de la barra de mesura de l'aparell i el dispositiu ens avisa quan hi ha algun error en la mesura.

La dificultat més gran en que m´he trobat en aquest projecte a sigut a l'hora de passar dels conceptes teòrics als pràctics, ja que en la practica intervenen més factors i és on veritablement he tingut problemes. Però haver acabat resolvent-los dona una gran satisfacció i es com veritablement acabes aprenent.

53

Page 52: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

9 ANNEXES9.1 ANNEX 1

A continuació mostrem la taula teòrica de les mesures per al període real que hem mesurat del senyal PWM que proporciona l'acceleròmetre, que és de 7708 μs, per a un duty cicle en repòs de 0.5 i una precisió de 0.125 (ΔD/ g).

Per calcular l'acceleracio A(g) ho fem mitjançant la formula que ens dóna el data sheet de l'accelerometre:

A( g)=(Ton

T−0.5)

0.125

Per convertir les components de l'acceleració (g) del eix X i Y a graus utilitzem la següent formula segons les especificacions del data sheet:

Per al senyal x és :

Graus=(180/ π ) · asin(A(g))

Per al eix y és:

Graus=(180/π) · acos(A(g))

El nostre valor equivalent d'A(g), per calcular la nostra taula d'equivalències entre el Ton i graus serà:

(per simplificar la taula només hem inclòs els valors del principi, meitat i final d'aquesta)

Valor equivalent =Ton-(T/2)

T on (μs) A(g) Graus Arrodoniment Graus Valor equivalent

2891 -0,9995 -88,1541 -88 -9632892 -0,9984 -86,8025 -87 -9622893 -0,9974 -85,8717 -86 -9612894 -0,9964 -85,1149 -85 -9602895 -0,9953 -84,4603 -85 -959

54

Page 53: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

2896 -0,9943 -83,8751 -84 -9582897 -0,9933 -83,3409 -83 -9572898 -0,9922 -82,8464 -83 -9562899 -0,9912 -82,3838 -82 -9552900 -0,9901 -81,9475 -82 -9542901 -0,9891 -81,5335 -82 -9532902 -0,9881 -81,1388 -81 -9522903 -0,9870 -80,7607 -81 -9512904 -0,9860 -80,3974 -80 -9502905 -0,9850 -80,0473 -80 -9492906 -0,9839 -79,7089 -80 -9482907 -0,9829 -79,3812 -79 -9472908 -0,9818 -79,0632 -79 -9462909 -0,9808 -78,7541 -79 -9452910 -0,9798 -78,4531 -79 -9442911 -0,9787 -78,1597 -78 -9432912 -0,9777 -77,8733 -78 -9422913 -0,9766 -77,5934 -78 -941

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.3830 -0,0249 -1,4273 -1 -243831 -0,0239 -1,3679 -1 -233832 -0,0228 -1,3084 -1 -223833 -0,0218 -1,2489 -1 -213834 -0,0208 -1,1894 -1 -203835 -0,0197 -1,1299 -1 -193836 -0,0187 -1,0705 -1 -183837 -0,0176 -1,0110 -1 -173838 -0,0166 -0,9515 -1 -163839 -0,0156 -0,8920 -1 -153840 -0,0145 -0,8326 -1 -14

55

Page 54: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

3841 -0,0135 -0,7731 -1 -133842 -0,0125 -0,7136 -1 -123843 -0,0114 -0,6541 -1 -113844 -0,0104 -0,5947 -1 -103845 -0,0093 -0,5352 -1 -93846 -0,0083 -0,4757 -1 -83847 -0,0073 -0,4163 0 -73848 -0,0062 -0,3568 0 -63849 -0,0052 -0,2973 0 -53850 -0,0042 -0,2379 0 -43851 -0,0031 -0,1784 0 -33852 -0,0021 -0,1189 0 -23853 -0,0010 -0,0595 0 -13854 0,0000 0,0000 0 03855 0,0010 0,0595 0 13856 0,0021 0,1189 0 23857 0,0031 0,1784 0 33858 0,0042 0,2379 0 43859 0,0052 0,2973 0 53860 0,0062 0,3568 0 63861 0,0073 0,4163 0 73862 0,0083 0,4757 1 83863 0,0093 0,5352 1 93864 0,0104 0,5947 1 103865 0,0114 0,6541 1 113866 0,0125 0,7136 1 123867 0,0135 0,7731 1 133868 0,0145 0,8326 1 143869 0,0156 0,8920 1 153870 0,0166 0,9515 1 163871 0,0176 1,0110 1 173872 0,0187 1,0705 1 183873 0,0197 1,1299 1 193874 0,0208 1,1894 1 20

56

Page 55: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

3875 0,0218 1,2489 1 213876 0,0228 1,3084 1 223877 0,0239 1,3679 1 233878 0,0249 1,4273 1 243879 0,0259 1,4868 2 253880 0,0270 1,5463 2 263881 0,0280 1,6058 2 273882 0,0291 1,6653 2 283883 0,0301 1,7248 2 293884 0,0311 1,7843 2 303885 0,0322 1,8438 2 313886 0,0332 1,9033 2 323887 0,0343 1,9628 2 333888 0,0353 2,0223 2 343889 0,0363 2,0818 2 353890 0,0374 2,1413 2 363891 0,0384 2,2008 2 373892 0,0394 2,2603 2 383893 0,0405 2,3198 2 393894 0,0415 2,3793 2 403895 0,0426 2,4389 2 413896 0,0436 2,4984 3 423897 0,0446 2,5579 3 433898 0,0457 2,6174 3 443899 0,0467 2,6770 3 453900 0,0477 2,7365 3 463901 0,0488 2,7960 3 473902 0,0498 2,8556 3 483903 0,0509 2,9151 3 493904 0,0519 2,9747 3 503905 0,0529 3,0342 3 513906 0,0540 3,0938 3 523907 0,0550 3,1533 3 533908 0,0560 3,2129 3 54

57

Page 56: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

3909 0,0571 3,2724 3 553910 0,0581 3,3320 3 563911 0,0592 3,3916 3 573912 0,0602 3,4511 4 583913 0,0612 3,5107 4 593914 0,0623 3,5703 4 603915 0,0633 3,6299 4 613916 0,0643 3,6895 4 623917 0,0654 3,7491 4 633918 0,0664 3,8086 4 643919 0,0675 3,8682 4 653920 0,0685 3,9279 4 663921 0,0695 3,9875 4 673922 0,0706 4,0471 4 683923 0,0716 4,1067 4 693924 0,0727 4,1663 4 703925 0,0737 4,2259 4 713926 0,0747 4,2856 4 723927 0,0758 4,3452 4 733928 0,0768 4,4048 4 743929 0,0778 4,4645 5 753930 0,0789 4,5241 5 763931 0,0799 4,5838 5 773932 0,0810 4,6435 5 783933 0,0820 4,7031 5 793934 0,0830 4,7628 5 803935 0,0841 4,8225 5 813936 0,0851 4,8821 5 823937 0,0861 4,9418 5 833938 0,0872 5,0015 5 843939 0,0882 5,0612 5 853940 0,0893 5,1209 5 863941 0,0903 5,1806 5 873942 0,0913 5,2403 5 88

58

Page 57: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.4797 0,9787 78,1597 78 9434798 0,9798 78,4531 79 9444799 0,9808 78,7541 79 9454800 0,9818 79,0632 79 9464801 0,9829 79,3812 79 9474802 0,9839 79,7089 80 9484803 0,9850 80,0473 80 9494804 0,9860 80,3974 80 9504805 0,9870 80,7607 81 9514806 0,9881 81,1388 81 9524807 0,9891 81,5335 82 9534808 0,9901 81,9475 82 9544809 0,9912 82,3838 82 9554810 0,9922 82,8464 83 9564811 0,9933 83,3409 83 9574812 0,9943 83,8751 84 9584813 0,9953 84,4603 85 9594814 0,9964 85,1149 85 9604815 0,9974 85,8717 86 9614816 0,9984 86,8025 87 9624817 0,9995 88,1541 88 963

59

Page 58: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

9.2 ANNEX 2

A continuació es mostra el codi en que es programa el PIC d'aquesta aplicacio;

// INCLUDES

#include "int16CXX.H"

//-------------declarem les DEFINICIONS-----------

#define CAPT 4 // CAPTURES PER REALITZAR LA MITJANA

//---------declarem les funcions-----------------

void ini_pic(void);

void mitjana (unsigned long int num1,unsigned long int num2,unsigned long int num3,unsigned long int num4,unsigned long int*resultat);

void arrodoniment_d10 (unsigned long int *numero );

void taula(unsigned int resultat,bit tram,unsigned int*gra);

unsigned int offset(unsigned int grau, unsigned int origen, unsigned int *signes);

void conver (unsigned int temp);

unsigned int segments_7 ( unsigned int digit);

//---------declarem les variables globals-----------------

unsigned int state; //variable per saber si estem en calibracio o funcionament normalunsigned int catch;

unsigned int calibr;// amb el interruptor a portb.0 seleccionem si fem calibr o no;unsigned int units,unitats;

unsigned int desenes;

//----------Tractament de les interrupcions-----------------------

#pragma origin 4

interrupt int_server( void) int_save_registers // W, STATUS (i PCLATH)

if(T0IF==1)

60

Page 59: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

TMR0=0;catch++;T0IF=0; //reset flag T0

if(INTF==1)

if(state==0) // detecta flang de baixada

state=1;INTEDG=1;//següent FLANG PUJADA

else //detecta flang de pujada

INTEDG=0;//següent FLANG BAIXADAstate=0;

INTF=0; //reset flag int_ext

int_restore_registers // W, STATUS (i PCLATH)

//--------------------------funcions------------------------

void ini_pic(void)GIE=0;PORTA=0xFF; PORTB=0xFF;

ANSEL=0x00;

TRISA = 0b11101100;TRISB = 0b00000001;ADCON1=0x07;

// totes les interrupcions INTE=1; // bit interrupcio de perifericsT0IE=1; // bit interrupcio del TMR0RBIE=0; // bit interrupcioi per cambi de portBTMR1IE=0;// bit interrup Timer 1

T0CS=0; //TMR com a timer

PSA=0; //Pre-scaler per a TMR0PS0=1; // PRE-scaler 1:128 // més gran fa parpadeixar el ledPS1=1;

61

Page 60: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

PS2=0;

TMR0=0;

TMR1ON=0; //Timer parat

TMR1CS=0; //TMR1 entrada de reloj del sistema//T1SYNC=X; // NO té efecte si TMR1CS=0T1OSCEN=0; // T1 Osilador no activat

T1CKPS1=0; // Pre-scaler TMR1T1CKPS0=0;

PEIE=0; // Activa interrupcio de periferics TMR1, TMR2, CCP1...

//EEIF=0; // bit eprom//EEIE=0;

T0IF=0; // TMRO no desbordaINTF=0; // no interrupcio externaTMR1IF=0; // TMR1 no desbordaF

if(PORTB.0==0) // EL PROXIM QUE HI HAURA SERÀ UN FLANG DE PUJADA

state=1;INTEDG=1;//següent FLANG PUJADA

else //detecta flang de pujada

INTEDG=0;//següent FLANG BAIXADAstate=0;

void mitjana (unsigned long int num1,unsigned long int num2,unsigned long int num3,unsigned long int num4,unsigned long int*resultat) //variable inc ->>> 0 si es positiva => 50% D.C. ->>> 1 si es negativa <50% D.C.unsigned long int mitj;unsigned long int aux_mitj;

mitj=num1+num2+num3+num4;

aux_mitj=mitj;

mitj=aux_mitj/4;

*resultat=mitj;

62

Page 61: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

void arrodoniment_d10 (unsigned long int *numero ) //divideix per 10 el numero i fa l'arrodoniment del decimal

unsigned long int aux_arrod,aux_arrod2, aux_arrod3, aux_num;

aux_num=*numero;aux_arrod=aux_num/10; // el resultat de la operacio ex:

997:10=99

aux_arrod2=aux_arrod*10; // // ex: 99*10=990aux_arrod3=aux_num-aux_arrod2; // ex: 997-990=7

if (aux_arrod3<5)

*numero=aux_arrod;

else // 7 és més gran que 5

aux_arrod=aux_arrod+1; // ex: 99+1=100*numero=aux_arrod;

void taula(unsigned long int resultat,bit tram,unsigned int*gra)

unsigned int outa;

if(resultat<8)

outa=0;else

if(resultat<25)

outa=1;else

if(resultat<42)

outa=2;else

if(resultat<58)

outa=3;

63

Page 62: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

else

if(resultat<75)

outa=4;else

if(resultat<92)

outa=5;else

if(resultat<109)

outa=6;else

if(resultat<125)

outa=7;else

if(resultat<142)

outa=8;else

if(resultat<159) outa=9;else

if(resultat<175)

outa=10;else

if(resultat<192)

outa=11;

else

64

Page 63: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

if(resultat<208)

outa=12;

else

if(resultat<225)

outa=13;

…..............

( per simplificar el codi no ficarem tota la taula ja que ocuparia massa pagines)….................

outa=*gra;unsigned int offset(unsigned int grau, unsigned int origen, unsigned int *signes)

unsigned int graus_out; //signe signe.0 signe grau signe.1 signe offset

unsigned int aux_signe,aux;

aux_signe=*signes;

if(aux_signe.0!=aux_signe.1)

graus_out=origen+grau;aux_signe.7=aux_signe.0;

else

if(grau<origen)

graus_out=origen-grau;

aux=aux_signe&0x01;

65

Page 64: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

aux=~aux;aux=aux&0x01;aux_signe.7=aux;

else

graus_out=grau-origen;aux_signe.7=aux_signe.1;

*signes=aux_signe;

return graus_out;

void conver (unsigned int temp)

unsigned int aux1,aux2,aux3,temp_u,temp_d;

temp_d=temp/10;aux1=temp_d*10;temp_u=temp-aux1;

unitats= segments_7 ( temp_u);desenes= segments_7 ( temp_d);

unsigned int segments_7 ( unsigned int digit)

unsigned int segments;segments=0x00;

if (digit.3==0) // els set segments estan en els 7 bits de major pes ex:9 -> 0011 000x

if(digit.2==0)

if(digit.1==0)

if(digit.0==0)

segments=0b01111110; // 0 else

segments=0b00001100;//11110010; // 1

66

Page 65: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

else // digit.1==1

if(digit.0==0)

segments=0b10110110;//01001000; // 2 else

segments=0b10011110;//01100000; // 3

else //digit.2==1

if(digit.1==0)

if(digit.0==0)

segments=0b11001100;//00110010; // 4 else

segments=0b11011010;//00100100; // 5

else //digit.1==1

if(digit.0==0)

segments=0b11111000;//00000110; // 6 else

segments=0b00001111;//11110000; // 7

else

if(digit.2==0)

if(digit.1==0)

if(digit.0==0)

segments=0b11111110;//00000000; // 8 else

segments=0b11001110;//00110000; // 9

return segments;

67

Page 66: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

///////////////////////PROGRAMA PRINCIPAL//////////////////////////////////////--------------------------------------------------------

void main(void)

unsigned long int count_x[CAPT],count_y[CAPT];unsigned long int tmr_x,tmr_y;unsigned long int Tx,Ty; // poden ser els dos igualsunsigned long int mig_x, mig_y; // poden ser els dos iguals fiquem

els dos per observar posibles diferenciesunsigned long int rest_x,rest_y;unsigned int graus_x, graus_y;unsigned int offs_x,offs_y;unsigned int tmph,tmpl;unsigned int incl; //signe incl.0 signe grau incl.1 signe offsetunsigned int i;

ini_pic();

for(i=0;i<CAPT;i++)

count_x[i]=0;count_y[i]=0;

tmr_x=0;tmr_y=0;units=0;Tx=0;Ty=0;rest_x=0;rest_y=0;tmph=0;tmpl=0;i=0;calibr=0xff;mig_x=0xF0E;mig_y=0xF0E;offs_x=0;offs_y=0;

GIE=1;while(1)

while(catch==50) //retart per no estar agafant sempre mostres

if(calibr.0==0) // si calibr.0 val 0 fem el primer pas per a calibrar, que sera trobar la meitat dels periodes Tx i Ty

offs_x=0;offs_y=0;

68

Page 67: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

GIE=0;

#asm // ------------- PERIODES -----------------------------BCF 0x03,RP0BCF 0x03,RP1

//SENYAL X-----------------------------------------------m121

BTFSC PORTA,2 // flang de baixadaGOTO m121

m122BTFSS PORTA,2 //flang de pujadaGOTO m122

BCF 0X10,TMR1ON

CLRF TMR1H // TMR1=0;CLRF TMR1L

BSF 0x10,TMR1ON // ENJAGUEM TMR1

m123BTFSC PORTA,2 // FLANG DE BAIXADAGOTO m123

m125BTFSS PORTA,2 // FLANG DE PUJADA

GOTO m125

BCF 0x10,TMR1ON

MOVF TMR1H,WMOVWF tmph

MOVF TMR1L,WMOVWF tmpl

MOVF tmph,WMOVWF TxCLRF Tx+1

MOVF Tx,WMOVWF Tx+1CLRF Tx

MOVF tmpl,WIORWF Tx,1

BCF 0x10,TMR1ON

//SENYAL Y-----------------------------------------------

69

Page 68: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

m127BTFSC PORTA,3 // flang de baixadaGOTO m127

m128BTFSS PORTA,3 //flang de pujadaGOTO m128

BCF 0X10,TMR1ON

CLRF TMR1H // TMR1=0;CLRF TMR1L

BSF 0x10,TMR1ON // ENJAGUEM TMR1

m129BTFSC PORTA,3 // FLANG DE BAIXADAGOTO m129

m131

BTFSS PORTA,3 // FLANG DE PUJADA

GOTO m131

BCF 0x10,TMR1ON

MOVF TMR1H,WMOVWF tmph

MOVF TMR1L,WMOVWF tmpl

MOVF tmph,WMOVWF TyCLRF Ty+1

MOVF Ty,WMOVWF Ty+1CLRF Ty

MOVF tmpl,WIORWF Ty,1

BCF 0x10,TMR1ON

BCF 0x03,RP0BCF 0x03,RP1

#endasm

GIE=1;

70

Page 69: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

count_x[i]=Tx;count_y[i]=Ty;

i++;if(i==CAPT)

mitjana (count_x[0],count_x[1],count_x[2],count_x[3],&Tx);

mitjana (count_x[0],count_x[1],count_x[2],count_x[3],&Ty);

mig_x=Tx>>1;mig_y=Ty>>1;

calibr.0=1;i=0; // fiquem a 0 per a la quan es

realitzi la proxima mitjana

else // el primer calibrat ja esta fet i pasem a mesura

Ton_x i Ton_yGIE=0;

#asm// ------------- T on -----------------------------BCF 0x03,RP0BCF 0x03,RP1

//SENYAL X-----------------------------------------------m141

BTFSC PORTA,2 // flang de baixadaGOTO m141

m142BTFSS PORTA,2 //flang de pujadaGOTO m142

BCF 0X10,TMR1ON

CLRF TMR1H // TMR1=0;CLRF TMR1L

BSF 0x10,TMR1ON // ENJAGUEM TMR1

m143BTFSC PORTA,2 // FLANG DE BAIXADAGOTO m143

//

BCF 0x10,TMR1ON

MOVF TMR1H,WMOVWF tmph

MOVF TMR1L,WMOVWF tmpl

71

Page 70: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

MOVF tmph,WMOVWF TxCLRF Tx+1

MOVF Tx,WMOVWF Tx+1CLRF Tx

MOVF tmpl,WIORWF Tx,1

BCF 0x10,TMR1ON#endasmGIE=1;

if(units==1)PORTA.0=1;

PORTA.1=0;

PORTB=desenes; //desenes

units=0;else

PORTA.1=1;

PORTA.0=0;

PORTB=unitats;//unitatsunits=1;

GIE=0;#asm

//SENYAL Y-----------------------------------------------m147

BTFSC PORTA,3 // flang de baixadaGOTO m147

m148BTFSS PORTA,3 //flang de pujadaGOTO m148

BCF 0X10,TMR1ON

CLRF TMR1H // TMR1=0;CLRF TMR1L

BSF 0x10,TMR1ON // ENJAGUEM TMR1

m149BTFSC PORTA,3 // FLANG DE BAIXADAGOTO m149

72

Page 71: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

BCF 0x10,TMR1ON

MOVF TMR1H,WMOVWF tmph

MOVF TMR1L,WMOVWF tmpl

MOVF tmph,WMOVWF TyCLRF Ty+1

MOVF Ty,WMOVWF Ty+1CLRF Ty

MOVF tmpl,WIORWF Ty,1

BCF 0x10,TMR1ON

BCF 0x03,RP0BCF 0x03,RP1

#endasmGIE=1;

if(units==1)PORTA.0=1;

PORTA.1=0;

PORTB=desenes; //desenes

units=0;else

PORTA.1=1;

PORTA.0=0;

PORTB=unitats;//unitatsunits=1;

count_x[i]=Tx;//count_y[i]=Ty;//

73

Page 72: Inclinòmetre Digital - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/1131pub.pdf · Inclinòmetre Digital En el mercat disposem d'acceleròmetres integrats amb diferents característiques

Inclinòmetre Digital

i++;if(i==CAPT)

mitjana(count_x[0],count_x[1],count_x[2],count_x[3],&rest_x);

mitjana(count_y[0],count_y[1],count_y[2],count_y[3],&rest_y);

if (rest_x>mig_x)rest_x=rest_x-mig_x;incl.0=0;PORTA.4=0;elserest_x=mig_x-rest_x;incl.0=1;PORTA.4=1;

rest_y=rest_y-mig_y;

arrodoniment_d10 (&rest_x);arrodoniment_d10 (&rest_y);

taula(rest_x,1,&graus_x);taula(rest_y,0,&graus_y);

offset(graus_x, offs_x, &incl);offset(graus_y, offs_y, &incl);

conver (graus_x);if (incl.0==1)

PORTA.4=1;else

PORTA.4=0;

i=0; // fiquem a 0 per a la quan es realitzi la pròxima mitjana

nop();

catch=0;

74