dimarts, 28 de gener del 2014

Prova ràpida Metre Digital

Una primera prova ràpida del metre digital:

Resultat:

Es veu que no funciona del tot bé, el motiu és que cal ajustar bé la roda de l'encoder, sobretot pel que fa a la distancia entre les marques negres i blanques i els sensors.

divendres, 20 de desembre del 2013

Detecció sentit de gir: opto-switches en quadratura

Com a millora del projecte, anem a fer que si la roda gira en sentit contrari, siguen descomptats de la mesura els centímetres recorreguts en sentit contrari. Per aconseguir-ho necessitem una manera que el micro-controlador puga saber en tot moment en quin sentit gira la roda.
Per fer això necessitarem dos sensors, que poden llegir sobre la mateixa pista de quadres o cadascun sobre la seua pròpia pista.
La tècnica consisteix en situar els dos detectors de manera que al girar la roda, els senyals elèctrics estiguen "en quadratura de fase", això és separades un quart (90º) de cicle. En aquesta animació es veu prou clar:



El sensor A és el principal, quan canvia de negre a blanc (el senyal passa de 0 a 1) és quan contem que la roda a girat 1 cm. Si ens fixem:

  • Roda girant a dretes: Els impulsos actius (canvis de 0 a 1 al sensor A) coincideixen amb que el sensor B està a 0 (sobre negre).
  • Roda girant a esquerres: Els impulsos actius (igual, canvis de 0 a 1 en A) coincideixen ara amb el sensor B a 1 (sobre blanc).
Així cada vegada que al programa hem d'actualitzar la mesura (quan el sensor A passe de 0 a 1), mirem que val el sensor B i incrementem la mesura si b val 0 o la decrementem si val 1.
Evidentment, quin siga el flanc actiu del sensor A (el 0 a 1 o el contrari) i amb quins valors de B s'incrementa o decrementa s'ha agafat com exemple i és fàcilment canviable per programari i és el que caldrà fer per a que el programa s'adapte a la construcció real i incremente amb el gir de la roda avant i decremente amb el gir arrere.

dijous, 19 de desembre del 2013

Sensors: Opto-switch reflexius

Per fer els sensors de gir de la roda facilitant la construcció i adjustament mecànic, en lloc de slotted opto-switch anem a fer servir Opto-Switchs Reflexius, com els TCRT5000 que veiem a la imatge i dels quals podem consultar el seu data-sheet. 
El principi de funcionament d'aquests és el mateix que els slotted, però ara el led IR i el foto-transistor estan situats un al costat de l'altre, si el feix IR emés pel Led es troba amb una superfície reflectant (com ara una superfície blanca), aquest es reflectarà i incidirà sobre el foto-transistor, posant-lo en conducció. Si pel contrari troba una superfície que absorbeix els IR (com ara pintada de negre) o no troba cap superfície, el foto-transistor romandrà tallat.
El circuit, al gràfic de la dreta, és molt senzill:
Com en aquest circuit s'ha tret la senyal de l'emissor del foto-transistor, tindrem:
  • Quan sensor sobre blanc -> Foto-transistor ON -> Senyal eixida a 1.
  • Quan sensor sobre negre -> Foto-transistor OFF -> Senyal eixida a 0.

A sota hi pose una imatge de com queda el sensor, amb els resistors soldats a l'aire:

dilluns, 16 de desembre del 2013

Una manera molt curiosa d'estalviar energia

Degut al constant encariment de l'energia i a la forta dependència que encara tenim d'una única font d'energia: el combustibles fòssils, constantment s'estan fent recerques als laboratoris d'investigació més importants del món. Per altra banda, mentre no trobem alternatives a la producció d'energia, també hi ha investigacions per l'altra banda de la moneda: disminuir-ne el consum.
Un dels principals consums d'energia el trobem en la producció d'energia tèrmica per l'escalfament de les llars, oficines i edificis amb afluència de gent, sobretot a llocs de clima fred.
L'investigador del MIT Leigh Christie ha tingut una idea genial:
Escalfa la gent, no el lloc!

Es tracta d'enviar energia tèrmica mitjançant radiació infra-roja a cadascuna de les persones, en lloc d'escalfar tot l'ambient. El seguiment de les persones es fa mitjançant un dispositiu Microsoft Kinect.
Més informació a la xerrada que el propi investigador va fer en TED:



Llegit a Hack-a-day... 

Turbines hidràuliques

-Una turbina hidràulica és un mecanisme que aprofita el moviment de l'aigua per transformar-lo en moviment circular.

  -Hi ha dos tipus de turbines hidràuliques:
    
     ·De acció: Són aquelles que es mouen per el xoc directe de l'aigua.

        -Pelton: Necessita una gran altura des d'on caiga l'aigua i no és necesari un gran cabal.












    -De reacció: Són aquelles que es fan moure per la circulació de l'aigua entre elles.

       -Francis: Necessita mitjana altura des d'on caiga l'aigua i cabal mitja.




 







        -Kaplan: No necessita gran altura des d'on caiga l'aigua, però si gran cabal.












diumenge, 15 de desembre del 2013

Sensors: Opto-switch

El metre digital consisteix en una roda que gira sobre la distància a mesurar, uns sensors detecten el gir d'aquesta roda i envien un pols a l'arduino cada vegada que la roda recorre 1 cm. Aquest conjunt rep el nom d'encoder incremental i és el sistema que es feia servir als antics ratolins de bola.


Quan movem el ratolí, la bola fa girar els dos discos perforats (un disc per als moviments horitzontals i l'altre pel vertical) que interrompen i deixen passar un feix d'infra-rojos emés per un LED IR situat a un costat de la roda. A l'altre costat de la roda hi ha un foto-transistor que conduirà o no segons el feix IR passe pel forat o siga interromput, provocant impulsos que arriben a l'ordinador.
Per fer el nostre encoder rotatiu incremental, podriem fer servir un component electrònic anomenat Slotted Opto-Switch, que podeu vore a la imatge de la dreta. A una part de l'escletxa tenim el Led IR i a l'altra el foto-transistor, per l'escletxa hem de fer passar la roda codificadora, que ha de ser opaca a la radiació IR.
En aquestes imatges de baix podem vore unes imatges d'un encoder construït fent servir aquests tipus de Slotted Opto-Switch:

Al nostre projecte, per facilitar les coses i per vore si podem millorar-les, utilitzarem Opto-Switchs òptics reflexius. En aquests el LED IR i el foto-transistor estan al mateix costat i el feix IR serà reflexat o no segons incideixca sobre una zona de la roda reflexiva (pintada de blanc) o no reflexiva (negra).

divendres, 13 de desembre del 2013

Control display multiplex - Llibreria SevenSeg

Com el haver de controlar displays de 7 segments multiplexats és una cosa bastant habitual, hi ha programadors que han programat llibreries per a que no tinguem els altres programadors que re-inventar la roda cada vegada.
Així, a l'Arduino Playground he trobat aquesta llibreria SevenSeg (hi havia vàries més) que ja té pre-programades funcions pel control de diferents displays multiplexats de 7 segments, com podem consultar al seu extens manual d'ús. A l'apartat 4.4 d'aquest manual ens explica com fer ús de les funcions de la llibreria per controlar el display mitjançant interrupcions temporitzades i així poder fer ús de delay() i altres còmputs que requereixen molt de temps de procés per l'arduino i al mateix temps que el refresc continue funcionant sense interrompre's.
Ací tenim un vídeo del display comptant dècimes de segon, utilitzant la funció delay() i per tant refrescant el display per interrupcions temporitzades. També hem fet servir funcions de la llibreria pel control del punt decimal.
Aquest és el programa.


Aquestes tècniques de programació requereixen coneixements que ja queden fora d'aquesta introducció a la programació que estem fent al batxillerat, a més, per les característiques del nostre projecte, no caldrà fer-les servir ja que les altres tasques que ha d'atendre el micro-controlador són poques i no impediran el refresc cíclic del display.

Control display multiplexat - II: comptador

Com el control del display multiplexat necessita que s'estiga refrescant constantment la visualització del display, és extraordinàriament difícil programar la resta de les coses que ha de fer el programa,
Per exemple, no podem utilitzar la funció delay(), ja que l'arduino durant els delay() es queda sense fer res i el refresc s'aturaria.
Per programar açò bé, caldria utilitzar interrupcions temporitzades: fem al cos principal la programació de la resta de coses que ha de fer l'arduino i periodicament, l'arduino és interromput per anar a atendre el refresc del display.
Com a mostra de la dificultat he fet aquest programa, que és un simple comptador.
Un vídeo on es veu aquest programa comptant segons, sembla funcionar bé:


Però si volem comptar centèsimes de segon, és a dir la xifra de les centenes serien segons, falla el programa ja que hi hauria que tenir en compte els mil·lisegons que està dedicant a refrescar el display. Observeu al vídeo com els segons (dígit de les centenes) dura quasi dos segons:

dijous, 12 de desembre del 2013

Control display 4 dígits amb multiplex - I

Un programeta ràpid pel control del display multiplexat.
Cada dígit està un temps mostrant-se, controlat per la variable tempsMultiplex, si aquest temps és massa llarg el display tremolarà. Aquest exemple no fa res útil, només mostra pel display la xifra de 4 dígits que li diguem.
Ací està el programa.


dimecres, 11 de desembre del 2013

Display multiplex decodificat

Si encara volguérem controlar els 4 dígits utilitzant menys pins d'eixida, haguérem pogut utilitzar un descodificador BCD-7 segments i així, en lloc de treure els 7 pins dels segments, només hauríem de treure el valor BCD de cada xifra amb 4 pins.
El circuit és:



Ací teniu el fitxer fritzing d'aquesta solució.

dimarts, 10 de desembre del 2013

Redacción sobre las turbinas hidráulicas Marcos De Jesús Larios

 

Redacción sobre las turbinas hidráulicas

Una turbina hidráulica es una turbomáquina motora hidráulica, que aprovecha la energía de un fluido que pasa a través de ella para producir un movimiento de rotación que, mueve directamente una máquina o bien un generador que transforma la energía mecánica en eléctrica.

CLASIFICACIÓN

Según el cambio de presión en el rodete:

  • Turbina de acción: el fluido de trabajo no sufre un cambio de presión importante en su paso a través de rodete.


Aquesta setmana, a les institucions educatives (i d'altra mena també) dels Estats Units s'està duent a terme, dins Computer Science Education Week l'activitat "Hour of Code". Un vídeo on explica una mica en què consisteix:


Podeu visitar el canal Youtube de code.org i també consultar aquesta notícia al fòrum de l'IES.
Durant aquesta setmana anem a participar en aquesta activitat, per això vos propose que trieu una d'aquestes activitats:

  • Processing: basat en el mateix llenguatge que l'Arduino (bàsicament un C adaptat), fins i tot utilitza el mateix editor per escriure el programa en codi font, però aquest és per dibuixar en pantalla. Es poden fer gràfics basats en dades que envia un Arduino per USB. És molt potent i amb ell hi ha programadors que han fet coses sorprenents.
  • APP Inventor: programa una APP pel teu mòbil o tablet Android. Per provar l'APP programada, si no es disposa de dispositiu Android, hi ha un emulador, però no he trobat instruccions de com instal·lar-lo sobre Linux, a vore si tinc temps...
  • Grok (Python): Iniciació a la programació amb llenguatge Python. Aquest llenguatge s'està utilitzant moltíssim, ja que a la vegada que és molt fàcil i ràpid d'aprendre com fer les primeres coses, és suficientment potent per programar aplicacions de tipus professional.
Durant aquesta primera hora, mireu una mica en què consisteix cadascuna de les activitats i escolliu-ne una per completar-la la propera sessió. No perdeu massa temps mirant a fons cadascuna de les activitats i provant-les totes molt a fons, més endavant en podreu fer alguna altra.