scieee AI-readable full text Open interactive document viewer

Disseny d'una central domòtica

Penelo Arias, Òscar

Abstract

Avui en dia estem envoltats de dispositius mòbils avançats, ja sigui tablets o smartphones. En aquest projecte s'ha construït un prototip d'una central domòtica amb el control basat en aquests dispositius, sense renunciar al control tradicional (interruptors).

Full text

T´ıtol: Disseny d’una central dom`otica Volum: 1/1 Alumne: ` Oscar Penelo Arias Director/Ponent: Pere Mar´es Mart´ı Departament: Enginyeria de Sistemes, Autom`atica i Inform`atica Industrial Data: Gener 2012 Centre: Facultat d’Inform`atica de Barcelona (FIB) Universitat: Universitat Polit`ecnica de Catalunya (UPC) BarcelonaTech DADES DEL PROJECTE T´ıtol del projecte: Disseny d’una central dom`otica Nom de l’estudiant: ` Oscar Penelo Arias Titulaci´o: Enginyeria T`ecnica en Inform`atica de Sistemes Cr`edits: 22,5 Director/Ponent: Pere Mar´es Mart´ı Departament: Enginyeria de Sistemes, Autom`atica i Inform`atica Industrial MEMBRES DEL TRIBUNAL (nom i signatura) President: Antoni Grau Saldes Vocal: Luis Antonio Belanche Mu˜noz Secretari: Pere Mar´es Mart´ı QUALIFICACI ´ O Qualificaci´o num`erica: Qualificaci´o descriptiva: Data: Disseny d’una central dom`otica ` Oscar Penelo Arias Gener 2012 iv ´ INDEX DE FIGURES 5.5 Condicions de funcionament del sensor d’il·luminaci´o . . . . . . . . . . . . . . . . 34 5.6 RegistreADCON0 ................................... 34 5.7 RegistreADCON1 ................................... 35 5.8 Format de conversi´o (ADFM=1) . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5.9 Diagrama de flux de captura d’entrades . . . . . . . . . . . . . . . . . . . . . . . 41 5.10 Diagrama de flux de la lectura de sensors . . . . . . . . . . . . . . . . . . . . . . 42 5.11 Diagrama de flux de les tasques de comunicaci´o . . . . . . . . . . . . . . . . . . . 43 5.12 Disseny de la base de dades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 5.13 Arbre de directoris de l’aplicaci´o web . . . . . . . . . . . . . . . . . . . . . . . . . 46 5.14 Captura de l’interf´ıcie d’inici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 5.15 Captura de l’inserci´o d’esdeveniments de calendari . . . . . . . . . . . . . . . . . 48 5.16 Captura de l’apartat d’edici´o de modes . . . . . . . . . . . . . . . . . . . . . . . . 48 6.1 Planificaci´oreal..................................... 51 6.2 Proc´es del muntatge de la maqueta . . . . . . . . . . . . . . . . . . . . . . . . . . 53 7.1 Costospertasques ................................... 56 CAP´ ITOL 1 Introducci´o 1.1 Context La dom`otica consisteix en la creaci´o d’habitatges i edificis autom`atics amb la finalitat de millorar-ne la gesti´o energ`etica i la qualitat de vida dels seus habitants. Un habitatge o edifici dom`otic ´es aquell dotat d’automatismes amb la finalitat de millorar la qualitat de vida de les persones que hi viuen, tot reduint el treball dom`estic, augmentant la seva seguretat, racionalitzant els diferents consums i optimitzant els recursos. Un sistema dom`otic ha de tenir la ubiq¨uitat suficient en el seu control, mitjan¸cant control remot per tel`efon, PDA, Internet, pantalla t`actil o altres. ca.wikipedia.org Avui en dia estem envoltats de dispositius m`obils avan¸cats, ja sigui tablets o smartphones. En aquest projecte s’ha constru¨ıt un prototip d’una central dom`otica amb el control basat en aquests dispositius, sense renunciar al control tradicional (interruptors). Com s’ha definit anteriorment, una central dom`otica ens aporta molts avantatges a una llar. En aquest cap´ıtol explicarem els avantatges que s’aporten, completant-ho amb algunes definicions i tamb´e introduirem el projecte amb les seves caracter´ıstiques. En els seg¨uents cap´ıtols passarem a explicar amb detall tot el proc´es per arribar a construir aquesta central fins a acabar donant les conclusions sobre la mateixa. 1.1.1 Seguretat En l’apartat de seguretat s’inclouen les alarmes, la gesti´o de serveis per emular la pres`encia de gent durant les abs`encies prolongades, el control d’accessos... 1.1.2 Estalvi La gesti´o dels sistemes de climatitzaci´o, escalfador i il·luminaci´o poden suposar el 67% del consum el`ectric de l’habitatge, i la gesti´o automatitzada pot suposar un descens de la despesa 1 2CAP´ ITOL 1. INTRODUCCI ´ O i el consum de fins al 30% amb accions com la baixada del term`ostat en horari nocturn o la posada en funcionament d’electrodom`estics en horaris de tarifa redu¨ıda. 1.1.3 Confort L’increment en el confort de la llar es busca a trav´es de: •l’automatitzaci´o del control de llums, persianes, finestres, cortines i endolls. •la gesti´o autom`atica de la climatitzaci´o, tant per calefacci´o com per refrigeraci´o. •l’automatitzaci´o de tasques: reg autom`atic o l’encesa dels aparells en funci´o de les tarifes hor`aries o d’esdeveniments. 1.1.4 Centrals dom`otiques al mercat iDom iDom ´es una aplicaci´o per iPads que permet fer el control de llars dom`otiques amb sistemes de control KNX, Lonworks o Dali (s´on sistemes dom`otics amb difer`encies en el protocol i sistema de comunicaci´o). Aquest sistema d´ona la possibilitat a l’usuari de consultar les despeses d’energia, les llums, persianes, calefacci´o,... Figura 1.1: iDom Productes Arena Home Arena Home ´es una empresa amb seu a Madrid que es dedica a fer projectes de llars dom`otiques a mida. En el seu cat`aleg emfatitzen les solucions sense fils. Cal esmentar que, aquest tipus de solucions, no nom´es es limiten al control, sin´o que tamb´e s´on els dispositius (interruptors, llums, persianes,...) els que utilitzen tecnologies sense fils. Gr`acies a aix`o s’evita instal·lacions de cablejat. Figura 1.2: Sistema sense fils Arena 1.2. DESCRIPCI ´ O3 1.2 Descripci´o Aquest projecte est`a composat per: •Central dom`otica •Servidor web •Servidor de control •Dispositius de control (PC’s, tablets, smartphones,...) Els punts esmentats es poden especificar m´es a partir d’aquesta figura: Com es pot veure, Figura 1.3: Diagrama general del projecte la central dom`otica rep entrades, que en aquest cas vindran dels interruptors i ens indicaran accions. Les sortides seran l`ampades, per`o podrien ser motors de persianes o qualsevol aparell el`ectric. I, finalment, tenim tota la part del control i configuraci´o, que es far`a utilitzant un servidor, el qual rebr`a dades tant de la central com dels dispositius de control. Figura 1.4: Part del proc´es de construcci´o de la maqueta 4CAP´ ITOL 1. INTRODUCCI ´ O 1.3 Definicions Acabarem el cap´ıtol introductori donant unes definicions que ens ajudaran a entendre millor el que resta de mem`oria. Microcontrolador Un microcontrolador ´es un microprocessador especialitzat en controlar equips electr`onics, i inclou en un sol xip les tres unitats funcionals d’un ordinador: una CPU, mem`oria i unitats d’E/S (Entrada/Sortida), ´es a dir, es tracta d’un computador complet en un sol circuit integrat. Els microcontroladors representen la immensa majoria dels xips d’ordinadors venuts, m´es d’un 50% s´on controladors ”simples¨ı la resta corresponen a DSPs m´es especialitzats. ´ Es habitual disposar d’un o dos microprocessadors de prop`osit general a casa (per exemple en un ordinador), en qualsevol llar es poden trobar entre els seus electrodom`estics una o dues dotzenes de microcontroladors. S´on presents en gaireb´e qualsevol dispositiu el`ectric com ara autom`obils, rentadores, forns microones, tel`efons, etc. Sistema encastat Un sistema incrustat (o sistema integrat o tamb´e sistema encastat) ´es un sistema inform`atic d’´us espec´ıfic, que ´es encapsulat totalment pel dispositiu que controla. Un sistema encastat t´e requisits espec´ıfics i realitza tasques predefinides, a difer`encia d’un ordinador personal d’´us general. Els sistemes encastats es dissenyen generalment per a realitzar funcions seleccionades per un baix cost. El sistema pot necessitar executar r`apidament algunes funcions, per`o la majoria de les seves altres funcions no necessitaran molta velocitat. Aix´ı doncs, moltes parts d’un sistema encastat tindran sovint un rendiment de funcionament baix. La lentitud no ´es velocitat de rellotge. L’arquitectura sencera d’un sistema encastat sovint es simplifica intencionadament per obtenir costos m´es baixos comparats al maquinari d’´us general. Per exemple, els sistemes encastats utilitzen sovint els perif`erics controlats per les interf´ıcies s´ıncrones s`erie, que s´on centenars de voltes m´es lents que els perif`erics usats als PC. El firmware ´es el nom per al programari que s’encaixa en el maquinari del dispositiu, programat en una o m´es mem`ories ROM/Flash. Microprogramari El microprogramari (en angl`es firmware) o programaci´o en firm ´es un bloc d’instruccions de programa per a prop`osits espec´ıfics, gravat en una mem`oria ROM, que estableix la l`ogica de m´es sota nivell que controla els circuits electr`onics d’un dispositiu de qualsevol tipus. A l’estar integrat en l’electr`onica del dispositiu ´es en part maquinari, per`o tamb´e ´es programari, ja que proporciona l`ogica i es disposa en algun tipus de llenguatge de programaci´o. Funcionalment, el firmware ´es l’intermediari (interf´ıcie) entre les ordres externes que rep el dispositiu i la seva electr`onica, ja que ´es l’encarregat de controlar a aquesta ´ultima per a executar correctament aquestes ordres externes. Trobem el firmware en mem`ories ROM dels sistemes de diversos dispositius perif`erics, com en monitors de v´ıdeo, unitats de disc, impressores, etc., per`o tamb´e en els propis microprocessadors, xips de mem`oria principal, en general en qualsevol circuit integrat i tamb´e en els reproductors MP3 o MP4. Molts dels firmwares emmagatzemats en ROM estan protegits per drets d’autor. En un microprocessador el firmware ´es el qual rep les instruccions dels programes i les executa en la complexa circuiteria del mateix, emetent ordres a altres dispositius del sistema. Comunicaci´o s`erie La comunicaci´o s`erie consisteix en transmetre informacions despr´es d’haverles tallades pr`eviament en diversos trossos de mida fixa (aquesta mida ´es el nombre de l´ınies de comunicaci´o disponibles). S’oposa a la comunicaci´o paral·lela on les informacions a transmetre no s’han de tallar abans de ser enviades (ja que hi ha almenys tantes l´ınies de comunicaci´o disponibles com bits per transmetre la informaci´o). En la mateixa freq¨u`encia, 1.3. DEFINICIONS 5 la comunicaci´o paral·lela t´e un major rendiment. La comunicaci´o s`erie compensa aquesta debilitat per una freq¨u`encia m´es alta. 6CAP´ ITOL 1. INTRODUCCI ´ O CAP´ ITOL 2 Objectius 2.1 Generals 1. Desenvolupar el prototip d’una central dom`otica capa¸c de controlar sortides electr`oniques i capturar dades d’il·luminaci´o. 2. Desenvolupar el software necessari per al correcte funcionament de la central dom`otica. 3. Desenvolupar una aplicaci´o web adaptada per dispositius m`obils que permeti fer el control i la configuraci´o de la central dom`otica. 2.2 Espec´ıfics 1. Estudiar i dissenyar els circuits per al bon funcionament de la central. 2. Programar el control amb grau d’intensitat de les sortides. 3. Programar l’obtenci´o del valor dels polsadors. 4. Programar l’obtenci´o de les dades anal`ogiques dels sensors. 5. Desenvolupar el protocol de comunicaci´o entre la central i el servidor. 6. Desenvolupar l’aplicaci´o web compatible amb dispositius m`obils. 7. Realitzar la documentaci´o del projecte utilitzant el llenguatge de programaci´o L A T EX 7 8CAP´ ITOL 2. OBJECTIUS CAP´ ITOL 3 Planificaci´o 3.1 Tasques El projecte va comen¸car l’1 de juliol de l’any 2011 i acaba el 26 de gener de l’any 2012. S’ha comptat com a jornada laboral l’horari de 16:00 a 20:00 (4 hores) per disponibilitat personal. A m´es a m´es s’ha comptat tot l’agost com a festiu. En la figura 3.1 es pot veure com s’est`a compaginant la redacci´o de la documentaci´o amb les altres tasques del projecte. Durant el projecte s’ha assignat a la documentaci´o una distribuci´o del 20% envers les altres tasques. Una vegada finalitzat el projecte s’ha dedicat 8 dies a jornada completa (4 hores) a finalitzar la documentaci´o. Aquesta planificaci´o ´es la estimada, en el cap´ıtol de valoracions i conclusions s’argumentar`a alguns casos importants amb el que s’ha vist modificada. S’ha de tenir en compte que en el testing s’inclouen les hores de programaci´o per a qu`e sigui m´es entenedor a l’hora de fer la distribuci´o de les tasques. 3.1.1 Comptatge d’hores Un projecte d’Enginyeria T`ecnica Inform`atica de Sistemes (Pla 2003) consta de 22.5 cr`edits. Assumint que, tal i com indica la normativa, el projecte t´e una c`arrega de 20 hores per cr`edit, tenim: 22.5·20 = 450hores (3.1) 9 16 CAP´ ITOL 4. MAQUINARI Figura 4.2: Ready for PIC •Bootloader6multiplataforma per a poder escriure el programari directament a trav´es del port USB i sense utilitzar programador. 4.2.2 Entrades Quan parlem d’entrades ens estem referint als valors dels interruptors (en aquest cas polsadors) que accionaran les sortides. Com que tenim un nombre limitat de ports d’entrada/sortida i donada la freq¨u`encia en qu`e s’accionaran els mateixos, no ´es necessari disposar de molta precisi´o. Per aix`o s’ha decidit utilitzar un disseny basat en Shift-registers7PISO8que permetr`a que a trav´es de pocs ports es puguin obtenir els valors de m´ultiples entrades en s`erie. de maquinari que tradueix dades entre formes paral·leles i serials. UARTs s’utilitzen comunament en conjunci´o amb altres est`andards de comunicaci´o. Un UART ´es generalment un (o part d’un) circuit integrat utilitzat per a comunicacions s`erie a trav´es del port s`erie d’un ordinador o perif`eric. UARTs s´on ara comunament inclosos en microcontroladors. 6Bootloader(Gestor d’arrencada): Programa que s’executa inicialment en el microcontrolador i permet carregar-hi codis enviats des del PC. 7Shift Registers(Registres de despla¸cament): Circuit digital basat en biestables que permet fer conversions de paral·lel a s`erie o de s`erie a paral·lel. 8PISO( Parallel-in, serial-out): Tipus de Shift Register: Entrada en paral·lel i sortida en s`erie. 4.2. ELEMENTS DEL SISTEMA 17 S’ha triat el Shift Register NXP - 74HCT165N i les seves caracter´ıstiques s´on les seg¨uents: Figura 4.3: NXP - 74HCT165N: Shift Register Par`ametre Valor Shift Register Function: Parallel to Serial Logic Type: Shift Register No. of Elements: 1 IC Output Type: Standard Logic Case Style: DIP No. of Pins: 16 Supply Voltage Range: 4.5V to 5.5V Operating Temperature Range: -40◦C to +125◦C SVHC: No SVHC (20-Jun-2011) Base Number: 74 Frequency: 48MHz IC Generic Number: 74HCT165 Input Current Max: 1µA Logic Function Number: 165 Logic IC Base Number: 74165 Logic IC Family: HCT Logic IC Function: 8bit Parallel-In/Serial-Out Shift Register No. of Gates: 1 No. of Inputs: 8 Operating Temperature Max: 125◦C Operating Temperature Min: -40◦C Package / Case: DIP Power Dissipation Ptot Max: 750mW Shift Register Function: Parallel to Serial Supply Voltage: 5V Supply Voltage Max: 5.5V Supply Voltage Min: 4.5V Termination Type: Through Hole 18 CAP´ ITOL 4. MAQUINARI Com es pot veure a la figura 4.4 per mantenir la comunicaci´o amb el nostre shift-register nom´es s´on necessaris 3 ports per obtenir 8 entrades. Combinant-ho amb 3 shift-registers aconseguirem poder capturar 8 ∗3 = 24 entrades nom´es fent us de 5 ports d’entrada (LD+CLK compartits amb els 3 shift-registers i els 3 ports de les dades entrants en s`erie). Figura 4.4: Comunicaci´o PISO Per poder tenir m´es precisi´o i evitar els rebots que nom´es donarien dades inv`alides al microcontrolador, s’utilitzar`a un circuit RC. En el circuit RC es necessita, tal i com diu el nom, una resist`encia i un condensador. Per saber quins valors de resist`encies i condensadors s’han d’adquirir ens basarem en la seg¨uent equaci´o: ConstantT empsRC =R∗C(4.1) On la constant de temps RC ´es el temps que volem filtrar per suprimir els rebots esmentats anteriorment. En el nostre cas, considerem que els rebots no es propagaran m´es de 10ms. Per tant hem triat una R de 10.7KΩ i una C de 1µf. Amb tot aix`o aconseguim una constant de temps de 10.7ms. La connexi´o del filtre es pot veure a la figura 4.5. Figura 4.5: Filtre RC 4.2. ELEMENTS DEL SISTEMA 19 Finalment en l’apartat d’entrada falta escollir-hi els interruptors. En el nostre cas, com que es tracta d’interruptors que s’hauran de tractar digitalment, s’han escollit polsadors. Espec´ıficament s’han triat els polsadors NIE8104 del fabricant Niessen(4.6). Figura 4.6: Polsador Niessen 4.2.3 Sortides Per introduir l’apartat de sortides, com que ens interessa que les mateixes siguin “dimmables”9i que treballin a 230VAC (la nostra xarxa el`ectrica), s’introduiran uns aspectes te`orics necessaris per escollir el maquinari adient. Els ports de sortida del PIC16F887 generen un voltatge de 4.3V(VDD - 0.7) i una corrent m`axima de 8.5mA. Amb aquestes limitacions hem d’aconseguir poder activar i desactivar una senyal de 230VAC. Basant-nos amb els requeriments tenim dos possibles solucions que passarem a analitzar: Rel´e Triac Accionament Anal`ogic Accionament Digital DC/AC AC Freq¨u`encia baixa (desgast f´ısic) Freq¨u`encies altes (sense desgast) No necessita dissipador A Watts alts ´es necessari un dissipador No es pot utilitzar com a dimmer S´ı es pot utilitzar com a dimmer Naturalment, s’ha escollit la soluci´o del Triac. Principalment per la caracter´ıstica d’utilitzar-lo com a dimmer. Continuant amb la teoria passarem a explicar els aspectes i components que intervenen en el cas de voler fer una sortida que es pugui utilitzar com a dimmer. En primer lloc, sabem que el corrent altern es caracteritza per tenir una senyal sinuso¨ıdal. Per controlar la intensitat de la llum, el que farem ´es controlar la fracci´o o part de cada semicicle d’aquest corrent altern que s’aplica a la c`arrega. Al connectar una c`arrega directament a la xarxa, aquesta rep la totalitat de corrent altern, per tant, opera a m`axima pot`encia. Per altra banda, si nom´es se li aplica una fracci´o de cada semicicle de c`arrega, aquesta es manifesta amb menys pot`encia dissipada, que finalment vol dir menys intensitat de llum emesa. La forma d’operar del Triac ´es la seg¨uent: en el moment en qu`e s’aplica un pols positiu en la seva comporta, el circuit es tanca fins al moment en qu`e la senyal es creua per zero (cal recordar que estem treballant amb corrent altern). Per poder accionar el Triac des del nostre 9Dimmer(Regulador d’energia de l`ampades): Dispositiu per regular l’energia d’una o v`aries l`ampades, amb la finalitat de variar la intensitat de llum que emeten (sempre i quan les propietats de la llumin`aria ho permetin. 20 CAP´ ITOL 4. MAQUINARI microcontrolador, ´es necessari que aquest estigui a¨ıllat ja que el Triac treballa en voltatges molt alts. Per donar soluci´o a aquest tema, utilitzarem un optoacoblador10 MOC. En la figura 4.7 es veu de manera gr`afica la sortida del microcontrolador i l’efecte que s’aplica en el corrent altern de la l`ampada. Figura 4.7: Control per fase Seguidament es mostren les propietats dels components escollits: MOC3021-M: Figura 4.8: MOC3021-M 10Optoacoblador(Opto-isolator): Components electr`onics que a¨ıllen el`ectricament els circuits als quals estan connectats. Consten d’un encapsulat dintre del qual hi ha un RED (d´ıode LED d’infrarojos) i un component receptor de llum com un fotod´ıode o fototransistor. 4.2. ELEMENTS DEL SISTEMA 21 Par`ametre Valor No. of Channels: 1 Isolation Voltage: 7.5kV Optocoupler Output Type: Phototriac Input Current: 10mA Output Voltage: 400V Opto Case Style: DIP No. of Pins: 6 SVHC: No SVHC (20-Jun-2011) Approval Bodies: UL Blocking Voltage: 400V Operating Temperature Range: -40◦C to +85◦C Output Type: Phototriac RMS Current Max: 100mA Threshold Current If on: 15mA Trigger Current If Max: 15mA NXP - BT136-600 (TRIAC): Figura 4.9: NXP - BT136-600 Par`ametre Valor Peak Repetitive Off-State Voltage, Vdrm: 600V On State RMS Current IT(rms): 4A Peak Non Rep Surge Current Itsm 50Hz: 25A Holding Current Max Ih: 15mA Gate Trigger Voltage Max Vgt: 1.5V Peak Gate Power: 5W Operating Temperature Range: -40◦C to +150◦C No. of Pins: 3 SVHC: No SVHC (20-Jun-2011) Current Itsm: 25A Current Itsm @ 60Hz: 27A Current t2+g-: 35mA Current t2-g+: 70mA Current t2-g-: 35mA Device Marking: BT136-600 Gate Trigger Current Igt (Q1) t2+g+: 35mA Gate Trigger Current Max, Igt: 70mA Package / Case: TO-220AB Repetitive Reverse Voltage Vrrm Max: 600V Termination Type: Through Hole Thyristor Type: Triac 22 CAP´ ITOL 4. MAQUINARI Una vegada tenim el circuit per regular la intensitat de la llum, cal tenir en compte que la porta del Triac s’ha d’accionar en el moment oport´u envers la intensitat que es desitgi, com es pot veure a la figura 4.7. Com que s’ha de controlar el moment del semicicle per a accionar el Triac, necessitarem detectar el moment en qu`e el corrent altern creua per zero. Per detectar aquest creuament, s’ha de crear un altre circuit en el que transformarem la senyal alterna en interrupcions per al microcontrolador. El primer pas ser`a convertir els 230VAC en 12VAC. Per aix`o utilitzarem un transformador. Seguidament aquesta senyal sinuso¨ıdal s’haur`a de convertir en senyal positiva (semicicles positius) per tal de que pugui ser tractada digitalment, aquesta tasca la fa un pont de diodes(figura 4.10. Combinant aquesta senyal amb un transistor, podem crear les interrupcions requerides cada vegada que la senyal alterna creua per zero (figura 4.11). Figura 4.10: Circuit de detecci´o de creuament per zero Figura 4.11: Interrupcions creuament per zero 4.2. ELEMENTS DEL SISTEMA 23 4.2.4 M`odul Anal`ogic Quan parlem de m`odul anal`ogic ens referim a totes les senyals externes que s´on captades per un sensor i tractades a trav´es de dades anal`ogiques per el nostre microcontrolador. En el nostre cas particular, el projecte far`a ´us d’un sensor d’il·luminaci´o. El model del sensor escollit ´es GA1A2S100LY del fabricant Sharp. Seguidament s’hi mostren les seves caracter´ıstiques: Figura 4.12: GA1A2S100LY Par`ametre Valor Output Current: 5mA Sensor Output1: Linear Supply Voltage Range DC: 2.7V to 3.6V SVHC: No SVHC (15-Dec-2010) External Depth: 1.8mm External Length / Height: 4.3mm External Width: 3mm Operating Temperature Range: -40◦C to +85◦C 24 CAP´ ITOL 4. MAQUINARI 4.2.5 Maquinari de control El maquinari de control cont´e tot all`o, extern al microcontrolador, que es dedica a emetre-li ordres. Ens referim a tot el qu`e envolta al control des de PC’s, tablets o smartphones. Per assolir aquesta funcionalitat, caldr`a un PC que faci de servidor, un router per comunicar el PC amb la xarxa i els pertinents PC’s, tablets o smartphones per fer-ne el control, tal i com es mostra a la figura 4.13. Figura 4.13: Esquema del control extern a la central dom`otica NOTA: La connexi´o VPN amb l’exterior no est`a implementada, nom´es es una possible soluci´o per controlar la central des de qualsevol punt amb connexi´o a internet. 4.3. DISSENY I ESQUEM ` ATICS 25 4.3 Disseny i esquem`atics En primer lloc s’ha fet l’estudi de la millor configuraci´o d’assignaci´o de pins. S’ha de veure que la central dom`otica estar`a preparada per treballar en un habitatge standard (no m´es de 20 sortides i 24 entrades) fent uns petits canvis al programari, per`o per costos i la manca de necessitat de replicar tantes sortides i entrades, no s’ha implementat en la maqueta de la demostraci´o (s’han implementat 3 entrades i 3 sortides). Seguidament passarem a detallar la distribuci´o dels ports del microcontrolador: Figura 4.14: Pins del PIC16F887 Figura 4.15: ADC Block 32 CAP´ ITOL 5. PROGRAMARI L´ınia 1-2 Desem la l’entrada capturada anteriorment i inicialitzem la variable entrada a 0. L´ınia 3 Pugem el flag de LD per iniciar la captura en s`erie. L´ınia 5 Capturem la dada en s`erie en la posici´o correcta del enter entrada (operacions bit a bit). L´ınia 6-7 Fem un flanc de pujada de CLK. L´ınia 9 Finalment baixem el flag de LD per acabar la captura. Recordem que estem treballant amb microcontrolador amb la mem`oria limitada, per tant utilitzem un enter de 8 bits com a vector d’entrades i operem amb ell amb operacions bit a bit. 5.2.3 Sortides En aquesta secci´o s’explicar`a tot el relacionat amb les sortides. Per simplificar les tasques de presa de decisions (en quin moment actuar, actuacions segons entrades, actuacions segons comunicaci´o, ...) totes les funcions que modifiquin les sortides escriuran en un array: 0char OUTPUTS [20]; Codi 5.3: Array de Sortides Es tracta d’un array que cont´e els 20 valors de les sortides (com son sortides dimmables, es tractaran del 0 al 100). Per passar a explicar el proc´es per accionar les sortides, en primer lloc s’explicar`a tot el sistema de detecci´o de creuament per zero ja que ´es la base del proc´es d’activaci´o de les sortides. Detecci´o de creuament per zero Per poder graduar la intensitat de les sortides, com s’ha vist en el cap´ıtol anterior, s’ha d’accionar la porta del Triac en el moment oport´u. Per a complir aquesta tasca, cal detectar el moment en qu`e el senyal altern creua per zero i esperar el temps oport´u per activar el Triac. En les seg¨uents l´ınies s’explicar`a com aconseguir-ho. Sabem que la nostra xarxa el`ectrica ´es de 230VAC i 50Hz. Si volem graduar la intensitat de la llum en percentils cal fer els seg¨uents c`alculs: T=1 50 = 0.02s(5.1) Aquest ´es el per´ıode de la nostra xarxa el`ectrica. Com que cal tractar cada semicicle del per´ıode, el nostre temps ser`a de 0.01 segons. Aix´ı sabem que si volem controlar el Triac en percentils, haurem d’esperar 0.0001 segons per cada percentil. Tot seguit, s’explicar`a com configurar la interrupci´o del creuament per zero i del Timer0 (on controlarem aquest temps esmentat). 5.2. CENTRAL DOM ` OTICA 33 Figura 5.3: Registres d’interrupcions El TMR0 ´es un perif`eric del microcontrolador que es configura per fer la funci´o que quan passi un cert temps aquest faci saltar una interrupci´o. En el nostre cas ens interessa que aquest flag d’interrupci´o salti cada 0.0001 segons. Interrupt T M R0=4·1 F.Oscilador ·(256 −V alorT M R0) ·P rescaler (5.2) La f´ormula anterior serveix per calcular el temps que triga el TMR0 en disparar el flag d’interrupci´o. Ara s’ha de trobar la millor configuraci´o de constant per aproximar la inc`ognita Interrupt TMR0 a 0,0001(Podem veure a la figura 5.4 els diferents valor que pot prendre la variable Prescaler. Figura 5.4: Prescaler La millor configuraci´o possible ´es aquesta: •F.Oscilador = 11.0592MHz •V alorT MR0 = 187 •P rescaler = 4 Si apliquem el c`alcul amb les variables anterior el resultat de Interrupt TMR0 ´es de 0,000099826 segons que, en aquest cas, ´es el resultat m´es aproximat possible. Una vegada configurat el TMR0 nom´es cal controlar quin percentil s’est`a disparant en la interrupci´o i disparar el Triac corresponent per a qu`e s’activi la sortida. Per la part de la interrupci´o de detecci´o de creuament per zero, l’´unica funci´o que tindr`a ser`a la de reiniciar els percentils i el TMR0 per tal de senyalar que es torna a comen¸car el semicicle. 34 CAP´ ITOL 5. PROGRAMARI 5.2.4 Entrades anal`ogiques Quan ens referim a entrades anal`ogiques, estem parlant del proc´es d’adquirir els valor reals de la il·luminaci´o capturada pel sensor. Observant el datasheet del sensor veiem les seves propietats de Sortida de voltatge anal`ogic. Com es pot veure a la figura 5.5, el nostre sensor treballa a Figura 5.5: Condicions de funcionament del sensor d’il·luminaci´o 3.3V i la sortida anal`ogica que volem capturar ser`a d’entre 0V i 2.3V. El conversor d’anal`ogic a digital del nostre microcontrolador captura les senyals anal`ogiques sota la referencia entre VSS i VDD . A nosaltres ens interessa que el rang de refer`encia sigui el m´es acurat possible. Per aix`o es vol tenir un rang de VSS a 3.3V. Recordant una figura del cap´ıtol anterior (figura 4.15) podem configurar l’entrada AN3 (corresponent a una entrada anal`ogica o a una VREF+) per tal que actu¨ı com a voltatge de referencia positiu de 3.3V. Per a configurar el microcontrolador pels prop`osits esmentats s’han de modificar els seg¨uents registres: Figura 5.6: Registre ADCON0 ADCON0: ADCS<1:0>Ens indica la freq¨u`encia de conversi´o. Nosaltres utilitzarem FRC , que utilitza un oscil·lador dedicat de 500 kHz. Per tant aquests bits estaran inicialitzats a 11. CHS<3:0>Ens indica de quin port anal`ogic volem fer la conversi´o. Per tant aquests bits estaran inicialitzats a 0000. GO/DONE Posant aquest bit a 1es d´ona per inicialitzada la conversi´o. Autom`aticament, quan ha acabat la conversi´o, aquest bit es posar`a a zero. ADON Habilita el conversor anal`ogic-digital. 5.2. CENTRAL DOM ` OTICA 35 Figura 5.7: Registre ADCON1 ADCON1: ADFM Amb aquest bit s’aconsegueix modificar l’alineaci´o del resultat digital. A nosaltres ens interessa tenir una alineaci´o a la dreta (es justificar`a posteriorment) per tant el seu valor ser`a de 1. VCFG1 Situant a 0aquest bit modifiquem la font del VREF- per a que sigui VSS . VCFG0 Com s’ha esmentat anteriorment volem que VREF+ sigui de 3.3, per tant aquest bit tindr`a un valor de 1per a qu`e agafi el valor de AN3 (en el qual hi entraran 3.3V que vindran del regulador de la placa Ready for PIC). Una vegada feta la configuraci´o es passar`a a explicar tot el proc´es de conversi´o. En el moment en qu`e habilitem el bit de GO el proc´es de conversi´o s’inicialitza. Una vegada tenim el bit de GO a0, vol dir que ja tenim les dades digitals en els registres ADRESH iADRESL. Com hem configurat el ADC per a qu`e estigui alineat a la dreta, obtindrem els 10 bits de la conversi´o amb la distribuci´o seg¨uent: Figura 5.8: Format de conversi´o (ADFM=1) Seguidament justificarem les lin´ıes de codi que fan la funci´o d’adquisici´o de les dades del sensor d’il·luminaci´o: 0void lectura_sensors (){ i f (( GO ==0) &&( conversio_ llum ==0) ) inicia _convers io_ llu m () ; i f (( conversio_l lum ==1) &&( GO ==0) ) { ++comptador_ad; aux_ad +=(( ADRESH &0 x3) <<8)+ ADRESL ; 5GO =1; } i f ( comptador_ad ==100) { comptador_ad=0; llum_anterior = sensor_llum ; 10 sensor_llum = aux_ad /100; conversio_llum=0; } } Codi 5.4: Algorisme de lectura dels sensors Variables •conversio lum: Indica si la conversi´o del ADC est`a en proc´es. 36 CAP´ ITOL 5. PROGRAMARI •comptador ad: Ens indica les mostres adquirides fins al moment (per tal de fer la mitja aritm`etica posteriorment). •aux ad: Suma dels valors capturats fins al moment (per posteriorment fer la mitja aritm`etica). •llum anterior i sensor llum: Mitjanes aritm`etiques anteriors i actuals. L´ınia 1 Inicia la conversi´o del ADC (inicialitza les variables auxiliars a 0 i inicialitza els registres del ADC amb les configuracions descrites anteriorment). L´ınia 2-6 En cas d’acabar la conversi´o, augmentem el comptador de mostres i adquirim la mostra actual (amb el format ADRESH+ADRESL) per posteriorment comen¸car a adquirir una altra mostra. L´ınies 7-12 En cas que s’hagin capturat un total de 100 mostres es procedeix a fer la mitja aritm`etica de les mateixes i s’actualitzen les variables llum anterior isensor llum amb els nous valors. 5.2. CENTRAL DOM ` OTICA 37 5.2.5 Comunicaci´o Quan es parla de comunicaci´o ens referim a tot el di`aleg que es mant´e entre el microcontrolador i el PC. Per`o abans de descriure tot el proc´es s’introdu¨ıra la distribuci´o de la mem`oria EEPROM. Comencem introduint la distribuci´o de les dades de la mem`oria EEPROM perqu`e una de les principals tasques d’aquesta comunicaci´o est`a basada en editar la configuraci´o de la central dom`otica que ser`a escrita en la mem`oria EEPROM ja que ens interessa que no es desconfiguri en cas de reiniciar el dispositiu. La distribuci´o ´es la seg¨uent: Entrades: Adre¸ca (en bytes) Dades(bits) 0 id(8) — polsador(1) — mem`oria (7) 2· 4· 6· · · · · · · 46 · id Identificador de n´umero d’entrada. polsador Indica si est`a en mode “polsador”, quan mantens polsat s’acciona la sortida i, en el moment de deixar-lo anar, s’apaga. mem`oria Indica quina mem`oria s’accionar`a en cas de polsar l’entrada (les mem`ories s’explicaran posteriorment). Mem`ories: Adre¸ca (en bytes) Dades(bits) 48 id(5) — sortides(20) — valor (7) — temps(8) 53 · 58 · 63 · · · · · · · 203 · id Identificador de mem`oria. sortides Indica quines sortides s’accionaran (1 bit cada sortida). valor Intensitat a la que s’accionaran les sortides. temps No implementat - millores. Sensor: Adre¸ca (en bytes) Dades(bits) 248 enabled(1) — valor(7) — updown(2) — mem`oria(6) 250 · 38 CAP´ ITOL 5. PROGRAMARI enabled Indica si el mode del sensor d’il·luminaci´o est`a habilitat valor Indica el valor llindar del sensor d’iluminaci´o en que s’activa la mem`oria. updown Indica si la mem`oria es dispara en pujada del llindar(1) o en baixada(0). mem`oria Mem`oria que s’accionar`a. Una vegada s’ha descrit la mem`oria no vol`atil passarem a explicar tot el proc´es de comunicaci´o. En primer lloc cal recordar que estem treballant amb un microcontrolador i que no podem perdre molt de temps en proc´e s de comunicaci´o ja que pot causar manques de precisi´o en altres tasques degut al temps invertit. Dins de la comunicaci´o tenim dos processos: Enviament d’estat Cada vegada que el PC sol·liciti l’estat, aquest ser`a enviat per el microcontrolador. Dispositiu Dades PC * PIC Dades Sortides + Sensors + Check Com es pot veure, en aquest protocol s’ha afegit el Check. Com el microcontrolador no pot esperar la resposta de la verificaci´o (ja que el programa del PIC16F887 quedaria esperant sense poder fer les tasques prim`aries), el servidor ser`a l’encarregat de verificar el check i, en cas de ser erroni, tornar a fer una petici´o d’estat. L’algorisme del Check ´es un algorisme LRC2que ´es el seg¨uent: 0Set LRC = 0 For each byte b in the buffer do Set LRC = (LRC + b) AND 0xFF end do 5Set LRC = ((( LRC XOR 0 xFF) + 1) AND 0 xFF ) Codi 5.5: LRC Com es pot veure ´es un algorisme que fa la suma de tots els car`acters enviats (sempre en octets) i finalment la inverteix. Amb aquest algorisme verifiquem que les dades han estat correctament enviades i que no hi haur`a cap error en executar-les. Rebuda d’ordres i configuracions Aquesta ´es la part m´es sofisticada de la comunicaci´o. En aquest cas el servidor envia les dades (que poden ser ordres directes d’accionament de mem`ories o sortides) per a ser posteriorment tractades pel microcontrolador. Dispositiu Dades PC / ORDRE+DATA+CHECK PIC Verificaci´o check (-s´ı, .no) 2LRC(Longitudinal redundancy check): Algorisme de verificaci´o de trames. 5.2. CENTRAL DOM ` OTICA 39 La taula anterior ens mostra com, en aquest cas, les dades s´on enviades pel servidor. Quan s’han rebut totes les dades, el microcontrolador verifica el Check i envia la resposta al servidor, on aquest la interpretara. Per no bloquejar al microcontrolador en el moment de rebre les dades (ja que el chip de FTDI nom´es disposa d’un buffer d’un car`acter), a cada volta del programa principal es rebr`a, si est`a disponible a trav´es del registre RCIF, un car`acter que anir`a concatenant al stream de dades rebudes per finalment ser degudament tractades. Seguidament passarem a descriure el tipus d’ordres que pot rebre el nostre microcontrolador: Ordre Num Dades Modifica Output 1 N´umero de Sortida + Valor Acciona mem`oria 2 N´umero de mem`oria Modifica entrada 4 N´umero d’entrada + Dades entrada en hexadecimal Acciona mem`oria 5 N´umero de mem`oria +Dades mem`oria en hexadecimal Acciona sensor 7 N´umero de mem`oria de sensor + Dades sensor en hexadecimal Com es pot apreciar, la majoria de dades s’envien en hexadecimal. A part, com ´es una comunicaci´o UART, aquestes dades s’envien com a car`acters per fer m´es f`acil la depuraci´o de codi ja que amb qualsevol consola amb la propietat de comunicar-se en s`erie (Putty) podem monitoritzar la comunicaci´o. Els seg¨uents algorismes s´on els que tracten aquestes dades i les transformen en valors que es puguin escriure a la mem`oria no vol`atil. 0unsigned char asciitohex (unsigned char* asciiarray ,unsigned char num ){ unsigned char result=0; i f ( asciiarray [ num +1] >= ’A’){ result |=( asciiarray [ num +1] - ’A’)+10; } 5else { result |=( asciiarray [ num +1] - ’0’); } i f ( asciiarray [ num ] >= ’A’){ result |=(( asciiarray [ num]- ’A ’)+10) <<4; 10 } else { result |=(( asciiarray [ num]- ’0 ’)) < <4; } return result; 15 } Codi 5.6: Algorisme que s’encarrega de transformar un array de car`acters ascii en hexadecimal Finalment passarem a explicar les funcions per enviar i rebre car`acters i escriure a la EEPROM ja que s´on les funcions m´es utilitzades en aquest proc´es. Enviament de car`acters 0void printf(char * data , int size){ int s; for(s=0;s< size ;++s){ while( EUSART_READY () ==0) ; EUSART_TX ( data [s ]); 5} } Codi 5.7: Funci´o per enviar dades per UART 40 CAP´ ITOL 5. PROGRAMARI L´ınia 3 En aquesta l´ınia de la funci´o s’espera a que el port UART estigui lliure de car`acters. L´ınia 4 Una vegada el port est`a lliure de car`acters es fa una crida a la funci´o EUSART TX que l’´unic que fa ´es escriure el car`acter corresponent al registre TXREG. Enviament de car`acters 0int scanf (char *data , int size){ int s; for(s=0;s< size ;++s){ while(RCIF==0); data [s ]= EUSART_RX (); 5} } Codi 5.8: Funci´o per rebre dades per UART L´ınia 3 En aquesta l´ınia de la funci´o s’espera a rebre un car`acter. L´ınia 4 Una vegada el flag de transmissi´o ens indica que hem rebut un car`acter cridem a la funci´o EUSART RX que ens torna el valor del registre RCREG. I, per concloure aquesta secci´o mostrem les funcions d’escriure i llegir a la EEPROM: 0eeprom_write( int address , char data); Codi 5.9: Funci´o d’escriptura a la EEPROM Com podem veure, per escriure a la mem`oria no vol`atil del nostre microcontrolador s’ha d’indicar l’adre¸ca en format de bytes i les dades a enviar (nom´es el byte). 0eeprom_read ( int address); Codi 5.10: Funci´o de lectura de la EEPROM La funci´o de lectura de la EEPROM ens retorna el byte desitjat de la direcci´o de mem`oria que l’indiquem. 5.2. CENTRAL DOM ` OTICA 41 5.2.6 Presa de decisions En aquesta secci´o es reuniran tots els conceptes explicats anteriorment per a poder crear l’aplicaci´o principal. L’aplicaci´o principal es limitar`a a cridar les funcions pertinents i, posteriorment, decidir com actuar segons les respostes de les mateixes. Per a poder mostrar aquestes tasques m´es clarament es procedir`a a ampliar el diagrama de flux que es mostra al principi del cap´ıtol exposant m´es espec´ıficament els processos que han estat generalitzats. Captura d’entrades Figura 5.9: Diagrama de flux de captura d’entrades 48 CAP´ ITOL 5. PROGRAMARI Figura 5.15: Captura de l’inserci´o d’esdeveniments de calendari Figura 5.16: Captura de l’apartat d’edici´o de modes 5.3. APLICACI ´ O D’ESCRIPTORI I TABLETS 49 5.3.4 Aplicaci´o dimoni La funci´o de l’aplicaci´o dimoni ´es fer el nexe entre l’usuari (aplicaci´o web) i la central dom`otica. Aquesta aplicaci´o esta escrita en php per facilitar les tasques d’acc´es a la base de dades i s’executa amb l’aplicatiu “php5-cli”. Aquesta aplicaci´o realitza les seg¨uents tasques: •Rep estat cada segon i escriu a la base de dades les dades pertinents. •Comprova si hi ha configuracions o ordres per enviar a la central i procedeix a executar-ho. En aquest cas actua tractant les ordres com si fos una cua. •Comprova si hi ha esdeveniments de calendari pendents i envia l’ordre a la central en cas de ser necessari. Cal recordar que la comunicaci´o amb la central dom`otica es fa per s`erie. 50 CAP´ ITOL 5. PROGRAMARI CAP´ ITOL 6 Valoraci´o i conclusions En aquest cap´ıtol es valoraran diferents aspectes del projecte. En primer lloc valorarem la planificaci´o inicial, argumentant els canvis que ha sofert. Seguidament es passar`a a donar les conclusions dels objectius i una conclusi´o personal. Finalment s’esmentaran les possibles millores que es poden fer en un futur. 6.1 Valoraci´o de la planificaci´o La seg¨uent figura ens mostra la planificaci´o real del projecte: Figura 6.1: Planificaci´o real 51 52 CAP´ ITOL 6. VALORACI ´ O I CONCLUSIONS En aquesta planificaci´o s’han vist modificades les tasques d’elecci´o de components i estudi del firmware en una ampliaci´o de 32 hores en total. Aix`o ´es degut, primerament, a petites correccions aplicades al maquinari. Una d’aquestes correccions ha estat un canvi dels components implicats en la detecci´o del creuament per zero que ha fet endarrerir la tasca de l’elecci´o dels components. Una altra tasca que s’ha prolongat m´es de l’esperat ha estat l’estudi del firmware, ja que en principi es volia utilitzar una mem`oria microSD per desar les dades, per`o degut a les limitacions del nostre microcontrolador (amb la ram que disposa nom´es podia escriure un cert nombre de bytes) i a que les dades que es volien emmagatzemar ja es pod´ıen desar a la mem`oria EEPROM es va decidir prescindir-ne. L’´ultim punt que ha fet incrementar les hores del projecte ha estat la supressi´o del RTC (real time clock) en els components del projecte. Aquesta supressi´o est`a justificada pel fet en qu`e, en el moment en qu`e establim una comunicaci´o amb un servidor, aquest ´ultim ens pot fer de RTC. 6.2 Conclusions En aquesta secci´o passarem a argumentar les conclusions sobre els objectius per acabar donant una conclusi´o personal. 6.2.1 Objectius Generals 1. Desenvolupar el prototip d’una central dom`otica capa¸c de controlar sortides electr`oniques i capturar dades d’il·luminaci´o. •Objectiu assolit. Aquest objectiu era el m´es dif´ıcil, donats els meus baixos coneixements electr`onics envers els inform`atics. Gr`acies al suport electr`onic del meu tutor, en Pere Mar´es, ha estat possible assolir l’objectiu. 2. Desenvolupar el software necessari per al correcte funcionament de la central dom`otica. •Objectiu assolit. Com es pot veure la central dom`otica opera tal i com ho ha de fer. 3. Desenvolupar una aplicaci´o web adaptada per dispositius m`obils que permeti fer el control i la configuraci´o de la central dom`otica. •Objectiu assolit. Aquest objectiu incorporava aprendre a utilitzar una biblioteca que mai havia utilitzat(JQuerymobile) i era un repte, ja que, al situar-se al final de la planificaci´o, no em podia permetre perdre temps. Espec´ıfics 1. Estudiar i dissenyar els circuits per al bon funcionament de la central. •Objectiu assolit. Aquest objectiu era molt important ja que un bon disseny dels circu¨ıts ens evitar`a problemes greus a l’hora de fer les tasques de programaci´o. 2. Programar el control amb grau d’intensitat de les sortides. •Objectiu assolit. Era la tasca m´es dificultat hi veia per la part electr`onica que hi aportava. 6.2. CONCLUSIONS 53 3. Programar l’obtenci´o del valor dels polsadors. •Objectiu assolit. Tasca f`acil d’implementar que no em va portar problemes. 4. Programar l’obtenci´o de les dades anal`ogiques dels sensors. •Objectiu assolit. Tasca en la que ja tenia experi`encia degut als coneixements adquirits en assignatures com SDMI. 5. Desenvolupar el protocol de comunicaci´o entre la central i el servidor. •Objectiu assolit. Objectiu en el que s’hi va dedicar for¸ca temps, ja que es volia fer un protocol de comunicaci´o robust. 6. Desenvolupar l’aplicaci´o web compatible amb dispositius m`obils. •Objectiu assolit. Era un objectiu engrescador, ja que mai havia fet aplicacions web adaptades a dispositius m`obils. 7. Realitzar la documentaci´o del projecte utilitzant el llenguatge de programaci´o L A T EX •Objectiu assolit. Ja havia utilitzat L A T EXdurant la carrera, per`o mai per a fer un document d’aquestes caracter´ıstiques. 6.2.2 Conclusi´o Personal Fer aquest projecte d’inici a fi, ha suposat ser tot un repte per mi. Aquest projecte era molt complet ja que contenia part de maquinari, part de firmware i part d’aplicaci´o web. M’interessava fer un projecte en el qu`e pogu´es aplicar tots els meus coneixements sobre els sistemes encastats, i a la vegada poder aprendre d’all`o que no en sabia. Era un projecte en el qu`e estava molt motivat pel fet de poder combinar tecnologies que comencen a estar m´es esteses per les llars, amb els dispositius que s’han popularitzat tant els ´ultims anys, els smartphones i les tablets. Per altra banda aquest projecte m’ha fet veure l’experi`encia que es necessita en altres camps menys t`ecnics com s´on la planificaci´o i la gesti´o, poder respectar una planificaci´o i a afrontar els problemes que van sorgint refent algunes tasques(ja sigui per ampliant-les o disminuint-les) ´ Es una feina dif´ıcil ja que, com ha passat en el meu cas, algunes tasques han durat m´es del temps planificat inicialment. Figura 6.2: Proc´es del muntatge de la maqueta 54 CAP´ ITOL 6. VALORACI ´ O I CONCLUSIONS 6.3 Futur Les millores que es podrien aplicar en un futur a aquest projecte poden ser moltes. Ara s’argumentaran les que, en el meu punt de vista, considero m´es importants: •Adaptar el projecte completament a un habitatge. Aix`o implica fer que passi tota la xarxa d’enllumenat de la llar per la central (igual que la de interruptors) i resoldre els problemes que podrien sorgir a causa de les interfer`encies en la recollida dels valors del polsadors. •En cas que es volgu´es adaptar per a una llar s’haurien d’aplicar millores en la seguretat, sobretot el la de la part del control sense fils. Aquesta seguretat podria implementar-se amb la creaci´o d’usuaris que puguin controlar la central. •Afegir sensors que detectin la pres`encia i, en el cas que es detecti, notificar enviant un e-mail. •Afegir a l’aplicaci´o web un apartat on es processin les dades de la taula Registre mostrantho com a estad´ıstiques. •Afegir funcionalitat d’actuar amb calefaccions i aires condicionats. Com es pot veure ´es un projecte molt ampliable on la majoria d’aquestes ampliacions s´on observant els productes que ja hi ha al mercat. CAP´ ITOL 7 Aspectes econ`omics En aquesta secci´o es reuniran els aspectes econ`omics del projecte. S’ha distribu¨ıt la secci´o en dos grans blocs: Els costos de RRHH (recursos humans) i els costos materials. 7.1 Costos de RRHH Seguidament comptabilitzarem els costos que tindria realitzar aquest projecte amb un equip de professionals. Aquestes hores dedicades les ha realitzat una sola persona realitzant tasques de diferents professionals tal i com es pot veure. La seg¨uent taula ens mostra el cost que t´e per hores cada professional que s’hauria d’implicar en aquest projecte: Professional Cost Analista de sistemes 37e/h Electr`onic 35e/h Programador 25e/h En la seg¨uent figura 7.1 podem veure com queden distribu¨ıts els costos per tasques de cada professional. Els costos de professionals ascendeixen a un total de 14175,2e. 55 56 CAP´ ITOL 7. ASPECTES ECON ` OMICS Figura 7.1: Costos per tasques 7.2 Costos materials En aquesta secci´o es comptabilitzar`a el material del projecte. S’ha de tenir en compte que aquest material seria m´es econ`omic en cas que es produ´ıs en grans quantitats. Material Quantitat Cost per unitat Ready for PIC 1 22.60e NXP - 74HCT165N 3 0.58e Resist`encies 470 4 0.45e Resist`encies 100 10 0.063e Resist`encies 1K 19 0.018e Resist`encies 10K7 9 0.062e Condensador 1uF 8 0.092e Condensador 1000nF 3 0.84e MOC3021-M 3 0.93e TRIAC NXP-BT136-600 3 0.62e Transformador, 1VA, 230V, 2 X 12V 1 5.30e Pont rectificador 1.5A 80V 1 0.64e Halogena 3 6.76e Polsador Niessen NIE5571NR (marc + pulsador) 3 11.26e Veroboard 121.92X101.6mm 2 8.96e Caixa de muntatges electr`onics 160x95x55mm 1 9.23e Caixa de muntatges electr`onics 200x110x65mm 1 12.38e Fusta de 50x60cm 1 6.50e IGEPv2 Board - BM3730 - no wifi(*) 1 160.00e Router Zyxel 660hw-b1a 1 40.00e * Aquesta placa faria l’´us de servidor. En el nostre cas s’ha utilitzat un port`atil. 7.3. COST DEL PROJECTE 57 Software Cost Proteus PCB Design Starter Kit 200.00e Per part del software l’´unic programa no gratu¨ıt que s’ha utilitzat es Proteus de la suite ISIS. 7.3 Cost del projecte Finalment fent la suma dels costos professionals, materials i de software tenim que: Apartat Cost RRHH 14175,2e Materials 341,606e Software 200e Total 14716,806e