Eco-clutch, Shell Eco-Marathonen lehiaketarako enbragearen kontrola

Eco-clutch, Shell Eco-Marathonen lehiaketarako enbragearen kontrola

Proiektu hau, Don Bosco ikastetxeko Automozio departamentuari, urtero parte hartu ohi duen Shell Eco-Marathon lehiaketan laguntzeko asmoz sorturikoa da.
.

.

Shell Eco-Marathon lehiaketa, urtero ospatu ohi den norgehiagoka bat da eta bertan mundu guztiko ikastetxe eta unibertsitatetako ikaslee hartu ohi dute parte, urte guztian zehar diseinatu eta hobetu duten prototipoarekin. Gure proiektuaren helburua, Automizokoekin batera lan egitea eta beraien zailtasunetan laguntzea izan da, lehiaketan emaitza hobeak lortzeko asmoz.
.

.

Shell Eco-Marathon lehiaketaren helburua, litro bat erregairekin ahalik eta kilometro gehien egitean datza eta honetarako autoek ahalik eta arinenak eta aerodinamikoenak izan behar dute. Hau dela eta, auto hauek honela funtzionatzen dute: motorraren bidez komeni zaien abiadura hartzen dute (30-40 km/h) eta ondoren motorra gelditu eta inertziaren bidez jarraitzen dute. Jakina den bezala autoak pixkanaka abiadura galtzen du, eta abiadura hori oso mantxoa denean (10-15 km/h) berriro motorra martxan jartzen dute abiadura egokia hartu arte ondoren berriro ere motorra geldituz.
Hau guztia jakiñik, gure proiektuak bi helburu ditu: autoaren abiaduraren eta motorraren RPM-en arabera enbrage elektromagnetiko bat aktibatu edo desaktibatu eta gidariari autoaren abidura adierazi. Honetarako bi PCB sortu ditugu: PCB nagusia eta PCB erakuslea.
.

PCB nagusia
.

PCB erakuslea
.

Erabilitako materiala
Ondorengo hauek izan dira erabili ditugun materialak. Informazio zabalagoa jasotzeko, egin klik bakoitzaren gainean.
1x PIC 18F2550
2x Display kontrolagailuak 74LS47
2x 7 segmentuko display-ak 7segm
1x Tentsio erreguladorea 7805

2x Array erresistentziak 4116R

Eskema Simulagarria

Lehenik eta behin eskema simulagarri bat egin zen, bertan konponenteen arteko konexioak egin ziren eta honen funtzionamendu egokia egiaztatu zen.

.
.
Isis-eko zirkuitu simulagarriaren artxiboak deskargatzeko egin klik hemen.

Simulaziorako eskema egin eta probatu ondoren, bi PCB-en diseinuak egiten hasi ginen. Honetarako, bi eskema desberdin egin behar izan genituen, PCB bakoitzarentzat bat.
.

PCB nagusiaren diseinurako eskema
.
PCB nagusiaren diseinurako eskema deskargatzeko egin klik hemen.
.
PCB erakuslearen diseinurako eskema
.
PCB erakuslearen diseinurako eskema deskargatzeko egin klik hemen.

Ondoren eskema hauen arabera, PCB-en diseinuak egiteari ekin genion. PCB nagusia bi aurpegikoa egin behar izan zen, izan ere, ez ziren pista guztiak alde batean sartzen, eta aldiz PCB erakuslea simpleagoa zenez, aurpegi batekoa egin genuen. Azpiko irudietan agertzen dira gure PCB-en diseinuak.
.

PCB nagusiaren diseinua
.
.
 PCB erakuslearen diseinua
.
Programazioa

18F2550 PIC-a programatzeko software-a PIC C Compiller izenekoa da eta bertan C lenguaia erabiliz programatzen da. Azpian agertzen da guk erabilitako programa.

#include «D:\ECO SHELL\Firmware\Firm_V3\Eco-clutch.h»

int32 temp1=0, t1;    //Buelta baten denbora
int32 temp2=0, t2;    //Buelta baten denbora
int16 rpmMotor;       //Abiadura RPM-tan MOTORRA
int16 rpmGurpil;      //Abiadura RPM-tan GURPILA
float32 a=0;          //Hortzetik hortzera dagoen denbora segunduetan, hau da t1-etik t2-ra
float32 b=0;          //Hortzetik hortzera dagoen denbora segunduetan, hau da t3-etik t4-ra
float aux_rpm1=0;     //Abiadura RPM-tan dezimalekin MOTORRA
float aux_rpm2=0;     //Abiadura RPM-tan dezimalekin GURPILA
float aux_abiadura=0;
unsigned int16 Abiadura_be=0,Abiadura_za=0 ;   //Abiadura berria eta abiadura zaharra
int8 dec, uni;    //Dezenen display-a eta unitarioen display-a

void abiad_kalkulo(void);
void  Belozimetroa(void);

#int_EXT
void  GurpilBirak(void)  //Gurpilaren biren kontagailuaren funtzioa
{
temp1=get_timer1(); //Buelta baten denbora jaso
set_timer1(0);  //Timer1 Hasieratu, momentu honetan timer-a kontatzen hasiko da

}

#int_EXT2
void  MotorBirak(void)   //Motorraren biren kontagailuaren funtzioa
{
temp2=get_timer0(); //Buelta baten denbora
set_timer0(0);  //Timer2 Hasieratu, momentu honetan timer-a kontatzen hasiko da

}

void  Test(void)   //Plaka elikatzean, display-ek ongi funtzionatzen dutela jakiteko funtzioa
{
int i;
for(i=0; i<3; i++)   //Display-en segmentu guztiak piztu segundu erdi batez eta denak itzali beste segundu erdi batez. Hau hiru aldiz egingo dugu.
{
int test1 = 8;  //Segmentu guztiak pizteko aldagaia
int test2 = 15; //Segmentu guztiak itzaltzeko aldagaia
output_A(test1);//A portutik unitarioko display-aren segmentu guztiak piztu

output_bit(PIN_B4,shift_right(&test1,1,0)); //B portuko 4. pinetik dezenen display-a piztu
output_bit(PIN_B5,shift_right(&test1,1,0)); //B portuko 5. pinetik dezenen display-a piztu
output_bit(PIN_B6,shift_right(&test1,1,0)); //B portuko 6. pinetik dezenen display-a piztu
output_bit(PIN_B7,shift_right(&test1,1,0)); //B portuko 7. pinetik dezenen display-a piztu

delay_ms(500);  //Segundu erdiz segmentuak piztuta eduki

output_A(test2);//A portutik unitarioko display-aren segmentu guztiak itzali

output_bit(PIN_B4,shift_right(&test2,1,0));//B portuko 4. pinetik dezenen display-a itzali
output_bit(PIN_B5,shift_right(&test2,1,0));//B portuko 5. pinetik dezenen display-a itzali
output_bit(PIN_B6,shift_right(&test2,1,0));//B portuko 6. pinetik dezenen display-a itzali
output_bit(PIN_B7,shift_right(&test2,1,0));//B portuko 7. pinetik dezenen display-a itzali

delay_ms(500);//Segundu erdiz segmentuak itzalita eduki

}
}

void  Belozimetroa(void)        //Abiadura display-etan azaltzeko funtzioa
{

dec = Abiadura_be / 10;  //Autoaren abiaduraren zenbaki dezena kalkulatu
uni = Abiadura_be % 10;  //Autoaren abiaduraren zenbaki unitarioa kalkulatu

output_A(uni);  //A portutik zenbaki unitarioa atera, modu binarioan

output_bit(PIN_B4,shift_right(&dec,1,0));  //B portuko 4. pinetik zenbaki dezena atera, binarioan
output_bit(PIN_B5,shift_right(&dec,1,0));  //B portuko 5. pinetik zenbaki dezena atera, binarioan
output_bit(PIN_B6,shift_right(&dec,1,0));  //B portuko 6. pinetik zenbaki dezena atera, binarioan
output_bit(PIN_B7,shift_right(&dec,1,0));  //B portuko 7. pinetik zenbaki dezena atera, binarioan

}

void abiad_kalkulo()   //Gurpilaren biren arabera, autoaren abiadura kalkulatzeko funtzioa
{
t1=temp1*8;
b=((t1/1000.0)/1000.0); //Hortzetik hortzerako denbora microsegundutatik segundutara        pasatu //3300uS = 0,0033s
aux_rpm2=60.0/b; //Bira kopurua minutuko RPM    //60/0,2=300rpm
rpmGurpil=aux_rpm2;    //Emaitzari koma kendu eta zenbaki oso bihurtu
aux_abiadura= rpmGurpil*0.075396;  //Lortutako RPM-en emaitza, guk aurrez sortutako konstante batekin biderkatu (gurpilaren zirkunferentzia…)
Abiadura_be=aux_abiadura;   //Emaitzari koma kendu eta zenbaki oso bihurtu
if( Abiadura_be!=Abiadura_za)  //Abiadura berria eta abiadura zaharra desberdinak badira….
{
if (((Abiadura_be – Abiadura_za)<3)||((Abiadura_za – Abiadura_be)<3))   /* Abiadura berria eta zaharraren arteko aldea 3 km/h-ko baino txikiagoa bada…
{                                                                       //8 km/h-tik behera arazoak ematen dituenez, abiadura honetatik behera
//Display-ak zeroan jarriko ditugu*/

Belozimetroa();   //Abiadura display-etan azaldu
Abiadura_za=Abiadura_be;  //Abiadura zaharrari abiadura berriaren aurreko denbora eman

}
/*else                          //Else honetan 8km/h baino mantsoago goanez, display-ak zeroan jarriko ditugu
{
Abiadura_za=Abiadura_be;   //Abiadura zaharrari abiadura berriaren aurreko denbora eman
Abiadura_be=0;   //Display-ak zeroan jartzeko, abiadura zeroan jarri
Belozimetroa();  //Abiadura display-etan azaldu, kasu honetan zero
}*/

}
//}

void main()
{

setup_adc_ports(NO_ANALOGS|VSS_VDD);
setup_adc(ADC_OFF);
setup_spi(SPI_SS_DISABLED);
setup_wdt(WDT_OFF);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_8);
setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);
setup_timer_2(T2_DISABLED,0,1);
setup_timer_3(T3_DISABLED|T3_DIV_BY_1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
enable_interrupts(INT_EXT);
enable_interrupts(INT_EXT2);
enable_interrupts(GLOBAL);
setup_oscillator(OSC_4MHZ|OSC_INTRC|OSC_31250|OSC_PLL_OFF);

Test();
Belozimetroa();

while(TRUE)     // TODO: USER CODE!!
{
while(input(PIN_B1)==1)  // Etengailua Manuala
{
output_high(PIN_C0);//Enbragea aktibatu
abiad_kalkulo();//Abiadura kalkulatu

printf(«Abiadura: %Lu Km/h.\n\r»,Abiadura_be);
}
while(input(PIN_B1)==0)  // Etengailua automatikoa
{

if(input(PIN_C1))  //Itxaron rpmak 200tik pasa arte (Timerrak gaizki ez neurtzeko)
{
delay_ms(1000);
}

t2=temp2*8;
a=((t2/1000.0)/1000.0); //Hortzetik hortzera dagoen denbora microsegundutatik segundutara pasatu //3300uS = 0,0033s
aux_rpm1=60.0/a; //Bira kopurua minutuko RPM    //60/0,2=300rpm
rpmMotor=aux_rpm1;    //aux_rpm:float/rpm:int16

abiad_kalkulo();//Abiadura kalkulatu

if ((rpmMotor-rpmGurpil<15)||(rpmGurpil-rpmMotor<15)) // 15 aztertzekoa da
{
output_high(PIN_C0);  //Enbragatu
}
else
{
output_low(PIN_C0);   //Desenbragatu
}

if(input(PIN_B3))
{
output_low(PIN_C0);     //Desenbragatu
// delay_ms(500);
}

printf(«Abiadura: %Lu K/h.\n\r»,Abiadura_be);

}
}
}


Proiektua osatzeko material eta artxibo guztiak HEMEN eta Tutoriala beheko bideoan.


TraktoBot, Bluetooth bidez kontrolatutako traktorea

TraktoBot, Bluetooth bidez kontrolatutako traktorea

TRAKTOBOT
.
Gure proiektua bluetooth bidez konektatutako traktorean oinarritzen da, eta bluetooth teknologiarekin sekuentzien aldaketa egitea ahalbidetezen du gure mugikorraren bitartez, guk nahi duguna egin dezan traktoreak.
.
.
     Proiektu honek dituen teknologiak:
.
1-Bluetooth: dispositibo inalambriko bat da, non mugikorrarekin konektatzean mikrokontroladoreari mugikorraren bitartez aginduak bidaltzea ahalbidetzen digu. Hau bluecontrol aplikazioaren bitartez kontrola dezakegu, eta aplikazio hau play-estoretik deskargatu daiteke.
.

.
2-L293D: Teknologia honen bitartez, motorren kontrola lortzen dugu, bi aldetara bira dezaketelako. Txip honek 2 motor kontrola ditzazke gehienez, bainan beti ahal izango diozu txertatu besteren bat beste bi motor erabiltzeko.
Proiektuaren funtzionamendua:
     Bluetooth-aren bitartez komando bat  sartuko diogu gure mikrokontroladoreari, eta honek komando bat ala beste jasotzean mikrokontroladoreari barneratutako programaren sekuentzi bat edo beste martxan jartzen da. 5 sekuentzi modu egin ditugu, lehenengoa aurreraka joateko, bigarrena atzeraka joateko, hirugarrena ezkerrera biratzeko, laugarrena eskuinera biratzeko, eta bostgarrena eta azkena motorrak geldi geratzeko.
Proiektua aurrera eramateko pausuak:
.
1-Eskemaren edizioa:
.
     Lehenik eta behin proteus programaren isis atalean eskema bat egitea beharrezkoa da, gure plakan beharrezkoak diren elementuekin, funtzionamendua bermatzeko eta sortutako programarekin simulazioari ekiditeko. Isisa eginda eduki ondoren, hau modifikatu egingo dugu Ares-a sortzeko, eta hau sortu ondoren hurrengo atalera pasatzen gera.
..

     Bigarren hau ares-a egiteko da, eraldatuta:
.
.
2- PCB-aren fabrikazioa:
.
     Issis eko eskema aresera pasa eta pistak eraiki ondoren, LPKF makinara goaz guk egindako plaka imprimatzeko. Hau ongi egiteko, aresean gerberrak sortu behar dira, eta LYT-arekin, boar master programan .lmd duen beste bat lortuko dugu, eta honekin LPKF-ak ulertu dezan bere lanarekin hasteko.
.
.
     -Hau da lpkf-arentzat egindako ares-a.
.
.
3-Konponenteak plakan jartzea:
.

     Plaka ondo eginda dagoela zihurtatu ondoren, hautatutako konponenteak plakan soldatzen jarri ginen, kontuan hartzen bakoitzaren posizioa eta bakoitzaren kokalekua. Hau egiteko dexente denbora tardatu genuen, plakan soldatzeko eremuak ez baitziren guztiz guk esperotakoak, baino lortu genuen ongi soldatzea.

.

.

4- Pic-aren programazioa:
.
Komentarioekin dator, eta hauek gazteleraz daude denek ulertzeko zer egiten duen programaren zati bakoitzak.

/*——————————————-*\

 | proyecto del control de tractor: Iñigo Lazkano

 el programa consiste en controlar un tractor desde el dispositivo android.

\*——————————————-*/

#include <16f87.h>

#FUSES NOWDT                    //No Watch Dog Timer

#FUSES INTRC_IO                 //Internal RC Osc, no CLKOUT

#FUSES PUT                      //Power Up Timer

//#FUSES MCLR                     //Master Clear pin enabled

#FUSES NOBROWNOUT               //No brownout reset

#FUSES NOCPD                    //No EE protection

#FUSES NOWRT                    //Program memory not write protected

#FUSES NODEBUG                  //No Debug mode for ICD

#FUSES NOPROTECT                //Code not protected from reading

#FUSES NOFCMEN                  //Fail-safe clock monitor disabled

#FUSES NOIESO                   //Internal External Switch Over mode disabled

#use delay(clock=4000000)

#use RS232(baud=9600, xmit=PIN_B5, rcv=PIN_B2)      //#use rs232(baud=9600,parity=N,xmit=PIN_A3,rcv=PIN_A2,bits=8)

#use i2c(Master,sda=PIN_B1,scl=PIN_B4)

int8 sekuentzia=’E’;                                                          //declaramos que para empzar esten los motores apagados

void serie(void);

/****************************************************************************

      FUNCION PRINCIPAL

****************************************************************************/

void main(void)

{

   int8 i;

   setup_adc_ports(NO_ANALOGS);                              // para que los puertos sean digitales

   set_tris_b(0b00000100);

//   set_tris_a(0xff);

  

  

     

   while(1)

   {  

      serie();                                                                        //leer bluetooth

      if(sekuentzia==’E’)                                                     //si esta detectando una E entra en este ciclo

      {

         while(sekuentzia==’E’)                                                               

         {

               output_low(PIN_B0),output_low(PIN_B3),output_low(PIN_B1),output_low(PIN_B4);  //parar los motores

               serie();                                                               //lee la entrada del bloetooth

               if(sekuentzia!=’E’)                                             //si lo que lee es diferente a E

                  break;                                                              //sal del ciclo

         }

      }

      else if(sekuentzia==’B’)

      {

         while(sekuentzia==’B’)                                         //Si lee un B entra en este ciclo

         {

               output_low(PIN_B0),output_low(PIN_B3),output_high(PIN_B1),output_high(PIN_B4);//Motores hacia atras

               serie();                                                                //lee la entrada del bloetooth

               if(sekuentzia!=’B’)                                             //si canbia de valor la entrada

                  break;                                                              //sal del ciclo

         }

      }  

      else if(sekuentzia==’C’)                                              //Si lee un C entra en este ciclo

      {

         while(sekuentzia==’C’)

         {

           output_high(PIN_B0),output_low(PIN_B3),output_low(PIN_B1),output_low(PIN_B4);     //girar izquierda

            serie();                                                                   //lee la entrada del bloetooth

            if(sekuentzia!=’C’)                                                 //si canbia de valor la entrada

               break;                                                                  //sal del ciclo

         }

      }  //fin else if sek C

       else if(sekuentzia==’D’)                                              //Si lee un D entra en este ciclo

      {

         while(sekuentzia==’D’)

         {

               output_low(PIN_B0),output_high(PIN_B3),output_low(PIN_B1),output_low(PIN_B4); //girar derecha

               serie();                                                                 //lee la entrada del bloetooth

               if(sekuentzia!=’D’)                                               //si canbia de valor la entrada

                  break;                                                                //sal del ciclo

         }

      }

        else if(sekuentzia==’A’)                                              //Si lee un A entra en este ciclo

      {

         while(sekuentzia==’A’)

         {

               output_high(PIN_B0),output_high(PIN_B3),output_low(PIN_B1),output_low(PIN_B4);//Motores                                                                                                                                hacia delante

               serie();                                                                  //lee la entrada del bloetooth

               if(sekuentzia!=’A’)                                               //si canbia de valor la entrada

                  break;                                                                //sal del ciclo

         }

      }

   }                                                                                       //fin while 1

}                                                                                          //fin main

/****************************************************************************

      FUNCION Serie

****************************************************************************/

void serie(void)

{

   if(kbhit() !=0)                                                                            //si canbia la entrada del bloetooth,

   {

      sekuentzia=getc();                                                                    //guarda lo que recibas en la variable llamado sekuentzia

   }  

}

5- Sekuentziak:

.

Hemen ikus daiteken moduan, pin bakoitza zein egoeratan egon behar den momentu bakoitzean adierazten digu.
Sekuentzia A: bi motoreak aurreraka.
Sekuentzia B: bi motoreak atzeraka.
Sekuentzia C: ezkerreko motorea martxan eta eskuinekoa geldirik.
Sekuentzia D: eskuineko motorea martxan eta ezkerrekoa geldirik.
Sekuentzia E: bi motoreak geldirik.

 

6-Bluecontrol aplikazioa:
.

    Edozein mugikorretan aplikazio hau instalatzean bluetooth-a kontrola dezakezu,baina mugikor batekin konektatuta dagoenean ezin da beste gailuren batekin konektatu. honekin, denbora errealean guk aplikatu nahieko sekuentzia aukeratzean datza.

7- -Prototipoa eraikitzea

.
Plastikozko piezekin sorturiko traktorea da, ABS edo PLA materialak erabili daitezke.Plastikozko piezak eraikitzeari ekin genion, 3D-ko impresoran erraza baizen piezak egitea. Hontaz gain, plastikozko piezak pisu gutxikoak eta arinak dira, eta traktorearen estrukturarako gogorrak ziren.3D-ko imprimagailuak, donbosko ikastolakoak erabili ditugu.
.
     Honako piezak atera dira:
.
.
.

8- -dena kableatzea:
.

     Hau da azken atala, eta plaka basetik motorretara dijoazen kableak eraikitzean datza. Horretarako, kontuan hartu behar da nora dijoan irteera bakoitzeko seinalea, gaizki eraman ezkero beste motore bat piztuko baita.
.
.
Erabilitako materiala
-Pic 16f87 (1)
-L293D (1)
-RES 10k (1)
-Condensador 220nf (1)
-Condensador 27pf (2)
-Cristal de cuarzo (1)
-Bluetooth (1)

-TT-motor (2)

Proiektua egiteko behar dituzuen artxiboak hemendik deskarga ditzakezue.

ImprUV, reinventando las impresoras 3D DLP

ImprUV, reinventando las impresoras 3D DLP

¿Qué es la impresión estereolitográfica?

La estereolitografía apareció por primera vez en 1986, cuando Chuck Hull patentó éste método para realizar objetos sólidos mediante la impresión sucesiva de finas capas de un material fotosensible que es curado (solidificado) mediante su exposición a una luz ultravioleta.

Una luz ultravioleta incide sobre una pantalla despolarizada en la que aparece el objeto a imprimir en blanco y negro. La luz, pasará por la parte blanca, mientras que la parte negra impedirá su paso. La luz que consiga pasar, actuará sobre la resina fotosensible dispuesta sobre un recipiente, curándola. La primera capa curada, queda adherida a una base que sirve también de plataforma móvil. A continuación ésta plataforma asciende una distancia hasta que la capa se despega del fondo del recipiente. Al subir y despegarse, la resina vuelve a cubrir el fondo y la plataforma vuelve a bajar la misma distancia ascendida menos la altura de  capa. De esta forma se va creando, capa a capa una pieza tridimensional. Una vez que la pieza tridimensional se ha completado, la plataforma asciende de nuevo para proceder a su retirada.

Existen otros métodos de impresión por adición de capas pero éste logra obtener una mayor calidad de definición en el objeto, además de reducir considerablemente el tiempo a la hora de imprimir varias piezas a la vez, ya que el tiempo es el mismo al imprimir un objeto que al imprimir varios, factor diferenciador con los demás tipos de impresión.

La finalidad del proyecto es sustituir el proyector por un foco de luz UV y fabricar unos sensores para la medición de luz UV y lumens.
.

.

Este sensor detecta 280-390 nm luz. Este rango está categorizado como parte del espectro UVB (rayos que queman) y la mayoría del espectro UVA (rayos que broncean).

Se ha empezado por la creación de los sensores utilizando como tal, los integrados siguientes:

TSL2561

El circuito integrado TSL2561 es un sensor de luz sofisticado que tiene una respuesta plana en la mayor parte del espectro visible. El TSL2561 es capaz de la comunicación I2C directa y es capaz de llevar a cabo rangos de luz específicas de 0,1 – 40k + Lux fácilmente. Además, el TSL12561 contiene dos integrando de analógico a digital, convertidores (ADC) que integran las corrientes a partir de dos fotodiodos, simultáneamente, ect.
.

.

 SENSOR UV

Para este proyecto se necesitaba un valor concreto de luz UV para curar la resina. Después de empezar a investigar con los LED y lámparas nos dimos cuenta que era necesario hacer un sensor de luz UV, ya que sin esto no sabríamos si estábamos consiguiendo el valor requerido.
Investigamos en internet y la manera más fácil de hacer este sensor fue usando arduino y el ML5811.
A continuación se dará una explicación concreta sobre el sensor que hemos mencionado.

ML5811

El ML8511 es un sensor fácil de usar de luz ultravioleta. El sensor MP8511 UV (ultravioleta) funciona dando como salida una señal analógica en relación a la cantidad de luz UV que es detectada.

.

.

Para ello se ha hecho una PCB. Antes de iniciarse con la PCB se ha diseñado el circuido mediante los programas ARES ISIS y CircuitCAM.

.

.

.

.

Una vez comprobado el correcto funcionamiento de los sensores mediantes estos programas, se ha seguido con la fabricación de la PCB, el montaje de los componentes y se ha terminado por organizarlo bien en una caja para el buen mantenimiento de los sensores.

.

.

.

.

La caja del foco consta de estos planos que están creados por impresoras 3D.

.

.

.

 

Se ha continuado haciendo el foco de Luz UV y en el cual hemos seguido los mismos pasos que para el sensor, es decir, se ha empezado por los programas ISIS ARES y CircuitCAM.

.

.

.

.

Una vez hecha la comprobación del correcto funcionamiento se prosiguió al montaje. Se utilizaron resistencias para que no se fundiesen los led, se utilizó foylon para la dispersión de la luz UV y una lente fresnel para que los led no se focalizasen en unos puntos sino que la luz se dispersase.

.

.                      

1- Son los led UV que curan la resina.

2- Son resistencias que se utilizan para que los led no se fundan.

3- Interruptor ON/OFF que se utiliza como para apagar y encender el foco.

4- Lente fresnel que es para dispersar la luz UV y no quede focalizada en tan solo un punto.

5- Foylon que se utiliza también para que la luz UV de disperse y vaya en todas las direcciones gracias a la especie de rugosidad que tiene que hace que se disperse un 98%.

6- Cable que va a corriente.

Para este proyecto como se ha visto en la foto de arriba, también se he hecho uso de la impresora de Tumaker aunque esta vez debido a las dimensiones de la PCB se ha tenido que partir por la mitad las piezas por lo que los planos de a continuación han de imprimirse doble.

.

.


.

El resultado de todo el conjunto del proyecto es el siguiente:

.

.

Este proyecto como otro cualquiera también tiene unas conclusiones y unas líneas futuras que podrían ser estas:

Conclusiones

Al terminar el prototipo se ha pensado una serie de mejoras como:

  • Mejora de la rapidez de curado de la resina.
  • Posibilidad de utilizar la Tablet para la impresión 3D.
  • Abaratamiento de la impresora 3D

Líneas futuras

Aunque el objetivo principal de este proyecto haya sido crear un foco de luz ultravioleta y un medidor de luz UV y de lumens más llegar al máximo con la Tablet para bajar el coste de Eraikizpi, se le podría dar más opciones a la impresora 3D.

  • Integrar PC en la impresora.
  • Autoabastecimiento de resina.
  • Detector de fallos.

Videotutorial

.

Si quieres puedes descargar los archivos del proyecto en este enlace.

Braill3D, una impresora 3D para imprimir en Braille

Braill3D, una impresora 3D para imprimir en Braille

Actualmente las impresoras 3D se han convertido en una de las opciones de mayor uso a la hora de creación de piezas de materiales termoplásticos, incluso son consideradas por las empresas como un negocio viable.

Como resultado de un estudio realizado en el departamento de Mantenimiento Electrónico del centro de Formación Profesional Don Bosco, se ha visto la necesidad de dar a conocer ésta tecnología a personas con discapacidad visual, ofreciéndoles la posibilidad de imprimir braille e incluso figuras 3D. Por lo tanto, el grupo Braill3D decidió fusionar una página web PHP, una impresora 3D y una impresora normal de tinta.
.

.
En primer lugar el PHP es la aplicación encargada de traducir el texto que introducimos a través del teclado en Braille(PHP)
El texto introducido es recorrido caracter a caracter por la aplicación, traduciendo dichos caracteres en sus correspondientes 6 puntos de Braille.
.
.
Como se aprecia en la imagen, los 6 puntos de Braille están representados con unos y ceros. En las posiciones de carácter que hay uno, la impresora 3D imprimirá un punto.
La impresora 3D que utilizamos fue la Prusa I3 con estructura de madera, de la empresa Createc3D. Estas son muy fáciles de construir dado a la cantidad de información que hay en la red. Las máquinas están preparadas para poder imprimir piezas de plástico de muchos tipos(ABS,PLA,PET…)  En este caso, sólo la utilizamos con PLA, porque es un material más pegajoso, necesita menos temperatura para ser extruido (190ºC) y no expulsa gases nocivos.
La impresora construida por el grupo Braill3D tiene como electrónica principal la placa Arduino Mega 2560 conectada con una Shield especializada en estas máquinas, por su amplitud de entradas y salidas. Esta placa recibe señales y alimenta partes de la impresora como,finales de carrera, los motores, el termistor…
.

.

.

Una de las cosas que se han modificado en la impresora 3D, ha sido el Hot-End. La razón ha sido el diámetro del agujero(Nozzle). En el anterior Hot-End, el Nozzle era de 0,4mm pero los puntos de Braille debían ser más finos, con lo cual se tuvo que poner uno de 0,3mm.

.

.

.

Por último, la impresora de tinta ha sido implementada mediante una placa diseñada, simulada y creada para así mecanizar la alimentación de papel. Para ello se han utilizado los programas de Proteus (Isis y Ares) y para fabricar la placa, utilizamos la fresadora LPKF.

.

.
El modo de alimentar con papel la impresora 3D, es un método mecánico, es decir, hemos colocado un botón al lado del final de carrera del eje Y, de tal manera cuando la impresora 3D recibiera la señal de ir al punto de partida (home) golpeará el botón de la placa realizada para la máquina de tinta, por lo tanto la impresora de tinta expulsa una hoja a la cama de la impresora preparándose para imprimir Braille.

.

,
A continuación, los archivos del proyecto:

None Stop, Sistema de control de tiempos para rallys controlado por GSM

None Stop, Sistema de control de tiempos para rallys controlado por GSM

None Stop, Sistema de control de tiempos para rallys controlado por GSM

En los últimos años el sistema de control de tiempos utilizado en los Rallyes es el sistema controlado mediante balizas. Estas tienen dos funciones diferentes, y por ellos se califican de diferente manera; balizas tontas y balizas inteligentes. Las primeras tienen la funcionalidad de enviar una señal infrarroja; y las segundas, recoger la señal transmitida por las primeras y retransmitirla por diferentes medios.
.

.

None Stop se formó por gracias a la petición del RAC Vasco Navarro, ya que, actualmente el sistema utilizado es realmente caro y la tecnología es totalmente privada.

Prototipo Emisor
.
Prototipo Receptor
.

Una de las partes más fundamentales de este proyecto es la programación. En este caso se ha programado mediante Arduino, y la versión de placa utiliza es Arduino Uno, puesto que, se necesitaba una placa compatible con la GSM shield.
.

GSM Shield

.
Este prototipo tiene dos funciones, por lo que, tiene dos programas. El programa del receptor realiza la función de enviar una señal infrarroja a una frecuencia de 38Hz. El programa del receptor en cambio, tiene diferentes funciones; la primera de ellas es recoger la señal enviada por el emisor; la segunda función que tiene, una vez recogida la señal, tiene que iniciar la cuenta del tiempo, esto es, iniciar el sistema de cronometraje partiendo de cero; y después, al recoger mas señales del emisor, tiene que mostrar los diferentes tiempos marcados por los diferentes pasos de las balizas, todo ello se enviará al operario de la carrera mediante SMS, gracias a la tecnología GSM.

Una vez concluida la programación era hora de diseñar la PCB. Para ello utilizamos tanto ISIS como ARES. Mediante ISIS se realizó el esquema principal para diseñar las dos PCBs, para después pasarlos a ARES y guardar el diseño antes de poder fresarlo.
.

Esquema ISIS
.
Esquema ARES
,

Tras las realizaciones de los esquemas en ISIS y ARES se realizó la previa maquetación de la PCB en el programa CAD CAM, en este programa lo que se hizo fue marcar los agujeros para la placa y definir los bordes de la placa; tras realizar esto se fresó la placa en la fresadora LPKF.

Justificación del proyecto

Debido al gran impacto que se está dando en el mundo del automovilismo, concretamente en el mundo de los Rallyes; este proyecto tiene una buena previsión para el futuro, puesto que, seria una tecnología sencilla y libre.
Otro de los factores muy importantes y relevantes es el coste de los materiales para realizar estos prototipos; ya que, están al alcance de todos.

Descripción técnica

El objetivo principal es construir dos balizas y realizar las dos diferentes funciones; esto es, realizar la simulación de una competición automovilística para realizar la recogida de tiempos y la muestra mediante SMS.
Una vez conseguido estos objetivos, se pondrá en marcha la forma de intentar mejorar la tecnología.

Conclusiones y lineas futuras

Al proyecto se le pueden añadir diferentes diseños, puesto que los prototipos realizados hasta ahora son muy simples, ya que, se han realizado con metacrilato y un cubilete; se podría mejorar haciendo diferentes diseños para la impresora 3D…
Además, se podría mejorar mucho el rango de emisión de la señal infrarroja; consiguiendo mejores leds infrarrojos y mejorando la frecuencia de emisión.
.