Autor Tema: programa para control de lavarropas automatico  (Leído 119091 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado lucegiar2005

  • PIC24F
  • *****
  • Mensajes: 504
Re: programa para control de lavarropas automatico
« Respuesta #90 en: 01 de Septiembre de 2012, 21:21:57 »
Lo de Sergio que me olvidé. Y no jodo más por un rato  :D  :D  :D , nos escribimos luego.
- Santiago -

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4154
Re: programa para control de lavarropas automatico
« Respuesta #91 en: 02 de Septiembre de 2012, 08:34:53 »
Hola a todos, buen fin de semana. Subí un ratito y encontré Los comentarios, a los que me sumo. No he tratado con el Altium por no necesitarlo, sé que es un gran programa y muy potente, pero en general, y con los limites que conllevan, utilizo el Eagle, Front Designer, etc, programas menos complejos pero de buen desempeño. No uso otros porque considero, al no ser algo tan profesional lo mio, que sería innecesario y no me da el PC para ello. En el zip pongo el npl de algo que adelante en ratos libre, no he probado más que la falta de errores de compilado asm, por lo que lo expongo a su criterio, adjunto imagen de funcion de lo pines para su comprension. Tambien dejo parte de lo que te habia dicho Sergio, no puedo subir una imagen de la vista del teclado con leds realizado.

He ehado un vistazo a lo adjuntado y decir que me parece correcto el planteamiento pero tengo que hacer unas preguntas/observaciones:
veo que trabajas con banderas, pero
- ¿Como cambian los bits de las mismas? Veo que los compruebas pero no veo como se activan me imagino que será con las rutinas de deteccion de programa seleccionado. Entonces en las rutinas de deslavdado, lavado_1 lo estas comprobando doblemente por ejemplo si esta a media carga una vez con la bandera y otra con los pines de entrada.

- Dentro del registro de banderas_l me parece que tienes repetido lel nombre "Iniciar_lavado"
- Toda la parte que hay debajo de cada seleccion de lavado: usr_lavado1, lavado2, lavado3,..... deberia ir dentro de cada uno de los mismos , pero adaptandolo un poco a las especificaciones de cada uno de los programas de lavado.

- ¿no se pueden utilzar en vez de esas banmderas los mismos nombres pero asociados a cada uno de los bits de los puertos de entrada y salida? Quizas el codigo sea mas eficiente y directo.

Aparte de eso nada mas a primera vista pero ya te digo que esta bastante bien para empezar. Una vez que se avance y se vaya probando podré ir realizando los comentarios y un word de los pasos de como está realizado y para que cosa sirve cada bloque del programa. Mas o menos una descripcion del proyecto para que los principiantes puedan entender mejor el manejo de Niple.

______________________________________________________________________________________________________________________________

Respecto al pcb:

- veo que has decidido utilizar el oscilador interno del pic, cosa que en el Niple no has configurado la cpu para ese fin. ¿Has mirado si el datasheet de ese pic te permite trabajar con el oscilador interno a 4MHz? Niple solo permite hacerlo a esa frecuencia. Una cosa mas el bit osc debes ponerlo tambien a "XT".

-Aunque para este caso no es significativo, te aconsejaria que cuando realizes un pcb las curvas de las pistas NO las realices en angulo recto, procura que si son a 45º mucho mejor. Es un consejo util cuando se trabaja con altas frecuencias y si te acostumbras a realizarlo de esa manera siempre lo haras asi y te evitaras problemas.

- Una cosilla mas me puedes poner aunqe sea en texto las señales de cada pin, en el pcb no las veo muy bien.

Saludos

Fermin
Todos los días se aprende algo nuevo.

Desconectado lucegiar2005

  • PIC24F
  • *****
  • Mensajes: 504
Re: programa para control de lavarropas automatico
« Respuesta #92 en: 02 de Septiembre de 2012, 09:50:35 »
Hola Fermin, como andas? Siempre atento y con comentarios acertados, gracias por ello  ((:-)) ((:-)). Intentaré dar respuesta a ellos, los pines:
SALIDAS
RA   0 -1 se usan en teclado  2 agua  3- enjuague  4- giro izquierda  5- giro derecha  6-buzzer  7- seguro puerta
RE   0- calefactor   1- Desagote  2-centrifugado   
RC   0- giro lento   1- giro normal   2 y 3 no usadas aún
RD   0 y 1 no usadas aún
ENTRADAS
RD   7- detección de media carga    6- detección de carga normal  5- selección de prelavado   4- selección de temperatura
RC          4, 5, 6 y 7 no usadas aún
De la asignación de banderas es un ejemplo en la selección de programa, donde primero digo que deseo cambiar el programa a ejecutar y luego copio el valor de la tecla al reg. programa que indica los valores que se cargan el ese (rutinas prog1, prog2, etc.). La bandera indica si se realiza y los pines detectan el estado, falta una rutina de personalización que consiste en generar un usr_lavado10, 11, etc, donde el usuario puede tonar parámetros de un prog preestablecido y variarlo a su gusto cambiando banderas y tiempos. Borré la bandera repetida (que raro que Niple lo permita). Trabajo con banderas con 2 registros cubro 16 opciones binarias. ahorro 14 registro. En Argentina todo cuesta caro  :D :D
El osc interno lo habilita Niple, ¿se podrá confiar en Jorge?  :D :D, o no me hubiese generado el codigo.
Efectivamente las pistas no producirán capacidades parasitas ni puntos de ruptura en esta placa, por ello es que lo hago de este modo, además de ser más amigable su seguimiento visual, pero es buena practica el "redondeo" de las mismas.
Un abrazo y se cuidan.

- Santiago -

Desconectado lucegiar2005

  • PIC24F
  • *****
  • Mensajes: 504
Re: programa para control de lavarropas automatico
« Respuesta #93 en: 02 de Septiembre de 2012, 11:48:03 »
Subo este npl donde ya se realiza la selección del programa y se ve como varia el mismo en base a registros y banderas. El modo es: al comenzar el prog este queda retenido en un bucle de 2 teclas, * y #, * comienza el lavado con el prog ya elegido anteriormente, # abre la selección de uno distinto, si se eligió esta opción la próxima tecla determina que programa (1 al 9) se eligió, con este dato se procede a la carga de los valores establecidos en la selección. Esta selección actua cargando valores en contadores de repetición y banderas de activación. Los programas tienen el tiempo preestablecidos, sin estos contadores, de modo unitario, la suma de tiempos de ejecución es de un minuto por ejemplo, si los contadores de este van a diez el la acción afectada durará 10 minutos y pasará a la próxima que estará afectada por el correspondiente, etc. Así cada rutina o programa contiene tiempos distintos o incorpora acciones o no según se desee. Un abrazo
- Santiago -

Desconectado lucegiar2005

  • PIC24F
  • *****
  • Mensajes: 504
Re: programa para control de lavarropas automatico
« Respuesta #94 en: 02 de Septiembre de 2012, 11:49:01 »
Upssss, el archivo.
- Santiago -

Desconectado lucegiar2005

  • PIC24F
  • *****
  • Mensajes: 504
Re: programa para control de lavarropas automatico
« Respuesta #95 en: 02 de Septiembre de 2012, 15:12:52 »
Sigo subiendo avances por si sirven a alguien y para cualquier comentario que gusten. En este está, creo, definida la forma en que reinicia de un corte o fallo (todavía no definidos los sensores a usar y la prioridad, está reservado RB0 a este fin) y donde retoma el programa si no existe problema o se solucionó. vuelve al programa y a la función en la que estaba, ya pensaré como hacerlo más preciso detectando en cada función el desarrollo de la misma. Saludos a todos.
- Santiago -

Desconectado sergioandres

  • PIC16
  • ***
  • Mensajes: 168
Re: programa para control de lavarropas automatico
« Respuesta #96 en: 02 de Septiembre de 2012, 18:28:45 »
Hola a todos: espero tengan un hermoso domingo, como lo hay aquí en Mendoza, Ya asoma la primavera.
No podía quedarme con las ganas de ver el proyecto del amigo gbloem, que tan gentilmente nos colaboro, y no podíamos ver el npl.
Pero el querer es poder y estuve buscando todos los medios para rescatarlo y lo conseguí, verdaderamente, a mi humilde entender es muy interesante y completo no creo que tenga que envidiarle nada a uno de las fabricas lideres en lavarropas.
Lo pongo a disposición del foro en forma de imagen para su analisis y si se quiere revisar el npl. podríamos ver la posibilidad de transcribirlo a la versión 5.6 rev.
Nuevamente a tu disposición amigo gbloem un Abrazo Sergio.

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4154
Re: programa para control de lavarropas automatico
« Respuesta #97 en: 03 de Septiembre de 2012, 10:08:56 »
Por desgracia para mi se me acabaron las vacaciones y ahora me toca currar. :5] :5] :5] :5] :5] :5] :x :x :x :x :( :( :( :( :(
Por esto mismo desde aqui no puedo ver los ficheros que se han adjuntado, asi que esta noche con un poquito de tiempo les iré echando un vistazo y les comento.
 :-) ;-)

F.
Todos los días se aprende algo nuevo.

Desconectado hedu

  • PIC10
  • *
  • Mensajes: 19
Re: programa para control de lavarropas automatico
« Respuesta #98 en: 03 de Septiembre de 2012, 16:09:26 »
Hola santiago:
Desasname un poco, estoy viendo como puedo tu npl y veo que los dos bit de seleccion de programa e inicio de lavado se ponen a 1 desde dentro de la subrrutina de interrupciòn.
lo que no veo es quien activa el resto de los bits, por ejemplo el bit de prelavado ¿lo haces  dentro de una subrutina de programa?.
 y la otra pregunta es la siguiente: si cuando salìs de la interrupciòn ya asignaste un valor a el registro programa ¿para que esta la subrrutina de seleccion_programa en el programa principal?, no podrias haber pasado directamente a los bloques de desiciòn?.

Muy completo el programa!!

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4154
Re: programa para control de lavarropas automatico
« Respuesta #99 en: 03 de Septiembre de 2012, 16:47:43 »
Descargando y probando................................
Todos los días se aprende algo nuevo.

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4154
Re: programa para control de lavarropas automatico
« Respuesta #100 en: 03 de Septiembre de 2012, 17:10:33 »
Sigo subiendo avances por si sirven a alguien y para cualquier comentario que gusten. En este está, creo, definida la forma en que reinicia de un corte o fallo (todavía no definidos los sensores a usar y la prioridad, está reservado RB0 a este fin) y donde retoma el programa si no existe problema o se solucionó. vuelve al programa y a la función en la que estaba, ya pensaré como hacerlo más preciso detectando en cada función el desarrollo de la misma. Saludos a todos.

Sigo preguntand lo mismo:
¿Cual es la finalidad de comprobar 2 veces la seleccion de "media carga" en las rutinas que te expuse en unos post anteriores.

¡Sigo comprobando el resto !!! :-/

F
Todos los días se aprende algo nuevo.

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4154
Re: programa para control de lavarropas automatico
« Respuesta #101 en: 03 de Septiembre de 2012, 17:34:14 »
Un par de cosas mas:

¿Por que todos los programas 1 al 9 tiene el mismo codigo?
¿Porque en las rutinas desagot y centrigugado_01 antes de salir dejas las lineas RE1 y RA2 y RA7 rspectivamnete  los dejas a 1? ¿No deberias dejarlas a 0?

F.
Todos los días se aprende algo nuevo.

Desconectado lucegiar2005

  • PIC24F
  • *****
  • Mensajes: 504
Re: programa para control de lavarropas automatico
« Respuesta #102 en: 03 de Septiembre de 2012, 19:30:28 »
Hola  Hedu y todos por acá. Fermin ¿que tal el regreso al yugo laboral? espero que todo bien. La comprobación que comentas es en realidad 2 comprobaciones distintas, la bandera pre lavado es para determinar que se debe cumplir con esta parte del programa, el pre lavado en el puerto son para censar el estado de carga. Cada programa es genérico(considerando una sucesión lógica de eventos)  y contiene los contadores que controlan la duración de cada rutina, pudiendo anular el mismo con un 0 o llevarlo a la duración que definas apropiado para un lavado. Es probable que por copia de modulos tenga esos errores.
Hedu: Se selecciona el programa y con esa selección se determina la rutina que carga con su contenido a los contadores de ejecucion. Si pones a 1 iniciar no pregunta más y comienza, con este es 0 y 1 en seleccionar entra a las distintas etapas de esa rutina i cumple la selección, no comenzará hasta que iniciar esté en 1. Esto también para la ejecución en un reset, pues deberá darse la orden luego de visto que hubo un problema y se vea si conviene seguir. No he controlado todo y como dije es para comentar y tener ideas si de ello sirve. Un abrazo.
- Santiago -

Desconectado hedu

  • PIC10
  • *
  • Mensajes: 19
Re: programa para control de lavarropas automatico
« Respuesta #103 en: 04 de Septiembre de 2012, 13:21:52 »
Hola santiago, aprovechándome de tu generosidad sigo preguntando...

1-No veo como se incrementa el registro contador para compararlo con los registros predefinidos dentro del programa elegido

2- En la subrutina de desagote, cuando preguntas si queda agua en el tacho esperas 10seg y me parece que la bomba la dejaste prendida, puede ser?

3-cuando hace el deslavado el tambor no comienza a girar hasta no llegar a media carga (colocaste el bucle de NOP),sin embargo en mi lavarropas comienza a lavar mucho antes de cortar la entrada de agua.¿sera que depende de cada lavarropa?

4- gracias por incorporar las eprom, ya que nunca trabaje con ellas y ahora tengo la idea de como colocarlas en el diagrama.

El programa es muy completo!!! cuando este terminado va dar làstima usarlo en un lavarropas jjeej.

Saludo a todos

hedu

Desconectado lucegiar2005

  • PIC24F
  • *****
  • Mensajes: 504
Re: programa para control de lavarropas automatico
« Respuesta #104 en: 04 de Septiembre de 2012, 15:14:43 »
Hola a todos, buen día. Hola Hedu, es un placer compartir con gente que a su vez sabrá compartir con otros, yo he sido beneficiado de ese modo por gente como Fermín, Jorge, etc.. Si te fijas en el que pongo acá fui completando el programa y corrigiendo errores que había en el mismo, algunos gracias a comentarios y otros al recorrer su algoritmo.
Los 10 seg de desagote es solo un valor al voleo, cada uno deberá establecer por cálculo o empíricamente cual es el que desea poner, todo el programa esta en genérico y sin establecer valores definitivos, ustedes si deciden usarlo, deben colocarlos. En el deslavado podes meter el comienzo de giro en la parte de carga y luego de unos segundos. Faltan rutinas de display, interrupciones por error, etc, ya irán saliendo. Te agradeceré todo comentario que lleve a mejorar el programita. Un abrazo a vos y todos por estos lados, nos escribimos.
- Santiago -