Sei sulla pagina 1di 22

Proyectos de Investigacin y Desarrollo Tecnolgico Informe Tcnico de Avance

INSTITUTO TECNOLOGICO DE TAPACHULA AUTORES: Dr. Hctor Peralta Corts. Responsable MGTI. Gustavo Reyes Hernndez. Co-Responsable (Tecnologas de informacin) M.enC. Anamim Villarreal Wong.

Sara Elizabeth Lpez Vzquez Colaborador 1 Eugenia Duran Robles. Colaborador 2 Jos de Jess lvarez Snchez Colaborador 3 Proyecto Autorizado por la Direccin General de Educacin Superior Tecnolgica.

Oficio:513.2.2/3339/2011

Clave de Registro: TAP-ISC-2011-106

Proyectos de Investigacin y Desarrollo Tecnolgico Informe Tcnico de Avance

Tabla de Contenido

1. Resumen del Avance del Proyecto................................................................ 3 2. Avance que se reporta. ................................................................................. 4 3. Estado de Avance. ........................................................................................ 4 4. Metodologa. .................................................................................................... 5 5. Circuito Electrnico........................................................................................ 9 6. Diagrama de flujo del proceso de comunicacin del monedero electrnico circuito................................................................................................................ 10 7. Programa para la comunicacin del monedero electrnico interfaz. ........ 11 8. Diseo realizado en Proteus........................................................................ 18 9. Diseo de placa en pcb wizard. .................................................................. 19 Anexos. ....................................................................................................... 21

Proyectos de Investigacin y Desarrollo Tecnolgico Informe Tcnico de Avance

1. Resumen del Avance del Proyecto


Se est desarrollando la segunda fase del Proyecto Desarrollo e Implementacin de una Interfaz utilizando el protocolo MDB/ICP de Maquinas Vendig para el Proyecto Red de Distribucin de Tortillas por expendedoras automatizadas .

En esta segunda fase se realizo el diseo de una interfaz para la comunicacin que consta de una mquina tipo vending en la cual el cliente depositar monedas, si se requiere de cambio esta se lo proporcionara, en ese momento obtendr un comprobante con la cantidad depositada el cual entregar a la empleada, y le proporcionara el producto sin tener contacto alguno con el dinero obteniendo as un producto higinico en la cual el diseo de la interfaz se le implementara al prototipo de mquina de cobro de tortilla por medio de tickets y se pondr en marcha para poder evaluar los impactos. Nota: Toda la informacin aqu presentada es confidencial, debido al acuerdo firmado por el C. LAE. Carlos Humberto Cosso Escobar, representante de industrias Cosso Escobar.

Proyectos de Investigacin y Desarrollo Tecnolgico Informe Tcnico de Avance

2. Avance que se reporta.

De acuerdo a las actividades realizadas hasta el momento se reporta un avance acumulado del proyecto de un 85%.

3. Estado de Avance.
El avance realizado en la primera etapa del proyecto como se menciono anteriormente es del 85% en el proceso de investigacin y desarrollo de la interfaz se ha realizado la identificacin del problema, los antecedentes y avances cientficos, los objetivos se han planteado y la metodologa se ha definido satisfactoriamente, cada informacin de la interfaz. Se llevo a cabo el anlisis del protocolo MDB/ICP para maquinas vending, con este protocolo se llevo al desarrollo para la comunicacin del monedero electrnico y la interfaz del mismo, descifrando as cada una de las partes para poder establecer la comunicacin y la forma de cmo trabaja internamente cada componente del cash flow 7000. Tambin se realizo una revisin de forma minuciosa, de la interfaz antes de conectar a la corriente elctrica, para evitar algn problema con los circuitos ya armados, por lo tanto en este proceso se tiene un avance del 90%.

Proyectos de Investigacin y Desarrollo Tecnolgico Informe Tcnico de Avance

4. Metodologa. La metodologa que se ha utilizado en la primera etapa para el alcance de los objetivos es la investigacin y desarrollo del proyecto por lo que se realiza el anlisis para establecer la comunicacin entre el protocolo MDB/ICP y la interfaz. Se recaba la informacin mediante un enfoque de investigacin de proyectos ya existentes que emplean el protocolo MDB/ICP, y el anlisis de los diferentes dispositivos que se estn utilizando. Se realizan pruebas con distintos circuitos elctricos y electrnicos, que nos permitan recabar informacin sobre los hechos y aspectos que interesen en la investigacin. Anlisis del Protocolo MDB/ICP durante el desarrollo del proyecto. El siguiente apartado del Protocolo MDB/ICP sirve para asignarle direcciones a los datos.

Byte de Formato
Velocidad de Transmisin: 9600 NRZ Formato de Bits en Serie: 1 Bit de inicio 8 Bit de datos 1 Bit de modo 1 Bit de stop 11 Total de Bits Comandos Direccin

LSB inicio 0 1 2 3 4 5 6 7 Modo MSB Stop

Proyectos de Investigacin y Desarrollo Tecnolgico Informe Tcnico de Avance

Modo Bit: Maestro-Perifrico. El bit de modo que es diferente entre los bytes de direccin y los bytes de datos. El bytes de direccin debe ser ledo por todos los perifricos, los bytes de datos slo es ledo por el perifrico que se ha mandado. El bit de modo est ajustado (uno lgico) para indicar un byte de direccin, y no se establece (cero lgico) para indicar un byte de datos

Modo Bit: Perifrico-Maestro El bit de modo debe establecerse en el ltimo byte enviado cuando se envan datos desde un esclavo al maestro. Este apartado del Protocolo MDB/ICP es para establecer la comunicacin del monedero VMC. Cdigos de Respuesta Los siguientes cdigos representan para los bytes ACK, NAK y RET: ACK 00H (Reconocimiento de los datos enviados) RET AAH (Retransmitir los datos que se enviaron nuevamente) NAK FFH (No reconocimiento) Nota: Cuando se recibe un NACK, ACK, o RET el dispositivo receptor en este caso el VMC, cuenta el nmero de bits establecidos en el byte. Este mtodo requiere al menos dos errores de bit en el byte antes que el byte puede ser mal interpretado y por tal motivo ya no sea reconocido. El siguiente diagrama representa una transmisin tpica cuando un perifrico est inactivo. VMC: --------------------------------------------------------------------------------------------ADD* CHK Perifrico: -----------------------------------------------------------------------------------------------------ACK*
6

Proyectos de Investigacin y Desarrollo Tecnolgico Informe Tcnico de Avance

El siguiente diagrama representa una transmisin tpica cuando un perifrico tiene datos para volver. VMC: --------------------------------------------------------------------------------------ADD* CHK ACK Perifrico: -------------------------------------------------------------------------------------DAT DAT CHK*

El siguiente diagrama representa una transmisin tpica cuando el CCM tiene datos para enviar. VMC: -------------------------------------------------------------------------------ADD* DAT DAT CHK Perifrico: ------------------------------------------------------------------------------------------------------ACK* El siguiente diagrama representa una transmisin tpico cuando el VMC determina una CHK no es correcto. El VMC responder cualquiera de las dos maneras: Enviar un NAK al perifrico para indicar que la informacin no se ha recibido correctamente entonces realizara otras tareas. Nota: Cuando el maestro responde con NAK (no reconocimiento) el esclavo tiene que repetir la respuesta, a fin de asegurar la ejecucin (es decir, recepcin de moneda, etc.) O el VMC puede enviar una retransmisin (RET) al perifrico para retransmitir los datos enviados anteriormente. VMC: _______ ________ ___________ _________________ ______ _______ ADD* DAT CHK RET ACK Perifrico: ________________ ____ ____ ____ ____ ____ ________ DAT DAT CHK* DAT DAT CHK*

Proyectos de Investigacin y Desarrollo Tecnolgico Informe Tcnico de Avance

Este diagrama representa en la que el perifrico no responde dentro de los 5 mm de tiempo de espera (t-respuesta). VMC: ______ ___________ _____________ _________ ___________ ADD* CHK ADD* CHK Perifrico: _____________________________________ ________________ [Silencio] ACK*

Proyectos de Investigacin y Desarrollo Tecnolgico Informe Tcnico de Avance

5. Circuito Electrnico.

Nota: En la siguiente imagen se muestra el circuito que se utilizo para establecer la comunicacin entre la interfaz y el monedero electrnico, por tal motivo este circuito es confidencial.

Figura 1. Circuito del monedero.

Proyectos de Investigacin y Desarrollo Tecnolgico Informe Tcnico de Avance

6. Diagrama de flujo del proceso de comunicacin del monedero


electrnico circuito.

Figura 2.- Diagrama de flujo.

10

Proyectos de Investigacin y Desarrollo Tecnolgico Informe Tcnico de Avance

7. Programa para la comunicacin del monedero electrnico interfaz.


#include <16F877a.h> #device adc=8 #FUSES NOWDT #FUSES HS #FUSES NOPUT #FUSES NOPROTECT #FUSES NODEBUG #FUSES NOBROWNOUT #FUSES NOLVP #FUSES NOCPD #FUSES NOWRT #define use_portb_kbd TRUE #use delay (clock=4000000) #use standard_io(b) #use standard_io(C) #include <lcd.c> #include <kbd_lib.c> #include <stdlib.h> #use rs232(baud=9600,xmit=PIN_C2,rcv=PIN_C3,bits=9,stream=com1,restart_wdt) #use rs232(baud=9600,parity=N,xmit=PIN_C0,bits=8,stream=com2,restart_wdt,FORCE_SW) #locate rc9bit = 0x18 #locate tx9bit = 0x98 char tecla; char string[6]; char k,i,j; int entrar = 0; float total = 0; float debe = 0; int pagado = 0; int16 contador=0; int reinciarSistema = 0; int reboteBtn1 = 0, reboteBtn0 = 0, reboteBtn2 = 0; int8 vec_mdb[10],vmdb=0,flag_bit_mode=0,cambio=0,mon=0,mon_ant=0,precio=0; void borra_vec(void); void trans(int8 a, int8 b); void poll(void); void reset_mon(void); void despacha(byte d); void com_mon(void); void teclado(void); void mensaje(); void pregunta(); void limpiar(); void imprimir();

11

Proyectos de Investigacin y Desarrollo Tecnolgico Informe Tcnico de Avance

void total_pagar(); void limpiar_string(); void reiniciar(); #int_RDA void RDA_isr(void){ vec_mdb[vmdb]=getc(com1); if ((rc8bit&0x04)==0){ vmdb=vmdb+1; } else{ if (vmdb>10){ trans(0x00,0x00); } flag_bit_mode=0; } CLEAR_INTERRUPT(int_RDA); } void main(){ delay_ms(30); port_b_pullups(TRUE); //Pull-up para RB0 lcd_init(); kbd_init(); SET_TRIS_C(0xbf); enable_interrupts(INT_RDA); enable_interrupts(GLOBAL); delay_ms(3000); reset_mon(); mensaje();

while(true){ for (j=0;j<200;j++){ delay_ms(1); if(pagado == 1 ){ if(contador == 5000){ reiniciar(); } else{ contador = contador+1; } } else{ teclado(); } } com_mon(); } }

12

Proyectos de Investigacin y Desarrollo Tecnolgico Informe Tcnico de Avance

void teclado(void){ k=kbd_getc(); if (k>='#' && k<='9'){ if(k == '#' && entrar == 0) entrar = 1; } else if(entrar == 1 && i==0 && (k=='*' || k=='0')){ k = ' '; } else if(entrar == 1 && i<2 && k!='#'){ if (k=='*'){ k='.'; string[i++] = k; k = '5'; } string[i++] = k; lcd_gotoxy(10,2); printf(lcd_putc,"%s",string); } else if(k=='#' && entrar == 1) limpiar(); mensaje(); entrar = 0; } else if(i>=2 && k=='*'){ k='.'; string[i++] = k; k = '5'; string[i++] = k; lcd_gotoxy(10,2); printf(lcd_putc,"%s",string); } } else if(k=='A' && entrar == 1) pregunta(); } else if(k=='B' && entrar == 1 && i > 0) total = atof(string); precio = total * 2; total_pagar(); entrar = 2; } else if (k=='C' && entrar == 2){ reinciarSistema = 1; delay_ms(200); despacha(mon*5);
13

Proyectos de Investigacin y Desarrollo Tecnolgico Informe Tcnico de Avance

delay_ms(200); reiniciar(); } } void reiniciar(){ mon = 0; pagado = 0; total = 0; precio = 0; entrar = 0; contador = 0; mensaje(); } void mensaje(){ limpiar(); lcd_gotoxy(3,1); printf(lcd_putc,"TORTILLERIA\n"); lcd_gotoxy(3,2); printf(lcd_putc,"LA BAJADITA"); } void pregunta(){ limpiar(); lcd_gotoxy(1,1); lcd_putc("CUANTA TORTILLA"); lcd_gotoxy(1,2); printf(lcd_putc,"DESEA: "); } void limpiar(){ lcd_putc("\f"); limpiar_string(); } void limpiar_string(){ string[0]=0; string[1]=0; string[2]=0; string[3]=0; string[4]=0; i=0; } void total_pagar(){ lcd_putc("\f"); lcd_gotoxy(1,1); printf(lcd_putc,"PAGAR: "); lcd_gotoxy(9,1); printf(lcd_putc, "%f",total); lcd_gotoxy(1,2); printf(lcd_putc,"DEBE: "); lcd_gotoxy(9,2); printf(lcd_putc, "%f",total); }

14

Proyectos de Investigacin y Desarrollo Tecnolgico Informe Tcnico de Avance

void imprimir(){ lcd_putc("\f"); lcd_gotoxy(1,1); printf(lcd_putc,"IMPRIMIRENDO"); lcd_gotoxy(1,2); printf(lcd_putc,"TICKET: "); lcd_gotoxy(9,2); printf(lcd_putc, "%f",total); /*CODIGO DE IMPRIMIR EL TICKET*/ fprintf(com2, "\f T O R T I L L E R I A \n\n"); fprintf(com2,"\f LA BAJADITA \n\n"); fprintf(com2,"\f CANTIDAD \n\n"); fprintf(com2,"\f "); fprintf(com2,"%f", total); fprintf(com2," P E S O S \n\n\n\n\n\n"); fprintf(com2,"\f "); } void borra_vec(void){ for (vmdb=0;vmdb<10;vmdb++){ vec_mdb[vmdb]=0; } vmdb=0; } void trans(int8 a, int8 b){ if ((b&0x01)!=0){ tx8bit=0x01; } else { tx8bit=0x01; } fprintf(com1,"%c",a); } void poll(void){ borra_vec(); flag_bit_mode=0; trans(0x0b,0x01); } void reset_mon(void){ borra_vec(); trans(0x08,0x00); delay_ms(150); poll(); delay_ms(150); borra_vec(); trans(0xff,0x00); delay_ms(1); trans(0x08,0x00); delay_ms(4); }
15

Proyectos de Investigacin y Desarrollo Tecnolgico Informe Tcnico de Avance

void despacha(byte d){ borra_vec(); trans(d,0x00); delay_ms(1); trans(d+17,0x00); delay_ms(2); } void chek_mon(void){ int8 var_com=0; while ((flag_bit_mode==0)){ var_com++; } if (vec_mdb[0]>0x01A){ switch (vec_mdb[0]){ case 0x20: mon=mon+1; break; case 0x21: mon=mon+2; break; case 0x22: mon=mon+4; break; case 0x23: mon=mon+10; break; case 0x24: mon=mon+20; break; case 0x30: mon=mon+1; break; case 0x31: mon=mon+2; break; case 0x32: mon=mon+4; break; case 0x33: mon=mon+10; break; case 0x34: mon=mon+20; break; default: break; } } } void com_mon(void){ poll(); chek_mon(); if (mon!=mon_ant){ if(mon>=precio){ delay_ms(1000); cambio=mon-precio; if (cambio>0){ delay_ms(200); despacha(cambio*5);
16

Proyectos de Investigacin y Desarrollo Tecnolgico Informe Tcnico de Avance

delay_ms(200); } mon=0; pagado = 1; } if(pagado == 0){ debe = (float)(total - ((float) mon/2)); lcd_gotoxy(9,2); printf(lcd_putc,"%f", debe); } else if(pagado == 1 && reinciarSistema == 0){ imprimir(); } else if(reinciarSistema == 1){ reinciarSistema = 0; } mon_ant=mon; } }

17

Proyectos de Investigacin y Desarrollo Tecnolgico Informe Tcnico de Avance

8. Diseo realizado en Proteus.

Figura 3.- Diseo en en programa proteus.

18

Proyectos de Investigacin y Desarrollo Tecnolgico Informe Tcnico de Avance

9. Diseo de placa en pcb wizard.

Figura 4.- Diseo real.

Figura 5.- Diseo de trabajo.

19

Proyectos de Investigacin y Desarrollo Tecnolgico Informe Tcnico de Avance

Figura 6.- Diseo de grabado.

20

Proyectos de Investigacin y Desarrollo Tecnolgico Informe Tcnico de Avance

Anexos.

21

Proyectos de Investigacin y Desarrollo Tecnolgico Informe Tcnico de Avance

22

Potrebbero piacerti anche