Autor Tema: Proyecto Bloqueo motor  (Leído 262 veces)

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

Desconectado Tandola

  • PIC10
  • *
  • Mensajes: 7
Proyecto Bloqueo motor
« en: 30 de Abril de 2018, 10:50:54 »
Buenas, soy nuevo aca.
Me gustaria saber si me podrian ayudar con un proyecto que estoy haciendo, es el primero en Micro y tengo muchas dudas como sabran.
lo que me recomendaron fue mas o menos y lo que vengo haciendo es que lo hiciera por partes y despues uniera todo que es mas facil porque es bastante grande para el arranque el proyecto, eso lo se pero el profesor de una serie de proyectos me toco este.
hay que programar para el mismo usando PIC16f628a y programando en MPLAB IDE 8.92 y Hltech C.
me gustaria si me podrian dar algunas pautas sobre esto se que es viejo y hay poca informacion por eso se me hace dificil aveces que compilen mis lineas de programa.
adjunto archivo de la letra del proyecto *Bloqueo motor.doc
(43.22 kB - descargado 11 veces)


desde ya agradezco cualquier ayuda y tiempo que me puedan dar.
Saludos.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 6550
Re:Proyecto Bloqueo motor
« Respuesta #1 en: 30 de Abril de 2018, 11:05:22 »
Citar
Hltech C.

Por que?... por que los docentes son asi, en ves de que se compliquen lo menos posible los llevan a cosas del antaño.
Les diria que usen XC8 y reniegen mucho menos

Respecto a las pautas a seguir..

Emisor:

- Primero definir que pines vas a usar para cada cosa. Necesitas al menos minimo 4 para el display si es que usas algun decodificador de 7 segmentos como el cd4511.
- Luego aprender a multiplexar el teclado, de esa forma poder leer el teclado.
Teniendo eso es realizar el codigo para que acepte un codigo y lo muestre.

Ya ahi tenes la parte de teclado-muestra, etc.

Salida.. La salida la podes hacer con una interrupcion de un Timer o si queres podes usar el TMR1 + modulo CCP.  El usar el CCP hace que sea mas uniforme la interrupcion en modo Compare, o podrias ver si es posible hacerlo tambien con el PWM.

Respecto al pin de habilitacion, es preguntar por si se activo o no. Y con respecto a contar "segundos" deberias tener un timer que te sirva como base, ejemplo si tenes un Timer cada 100ms, podes contar 10 veces y saber que paso 1 segundo.

-----------

Receptor:

El pin de habilitacion es lo mismo que el emisor, nomas que si no me equivoco cambia el comportamiento.

La entrada que viene del emisor, la podes hacer de 2 formas, o usas el CCP en modo Capture, para la cual podes hacer que junto a un Timer detecte el tiempo de un periodo  y que si esta dentro de el rango definido lo tome en cuenta. Y ademas usar otro Timer (o el mismo) como para contar segundos
« Última modificación: 30 de Abril de 2018, 17:26:26 por KILLERJC »

Desconectado Tandola

  • PIC10
  • *
  • Mensajes: 7
Re:Proyecto Bloqueo motor
« Respuesta #2 en: 02 de Mayo de 2018, 17:33:42 »
buenas,
En el EMISOR seria:
-incluir una libreria para el teclado
-guardar la clave en la epromm
-llamar a la funcion del teclado
-necesito una interrupcion por puerto b para leer el teclado? o con llamar la funcion del teclado ya seria suficiente?
-una rutina para pedir una clave
-una interrupcion para validar la clave
-timer0

estoy armando el proyecto de a pedazos y tengo pila de dudas sigo leyendo el manual que trae el hitech y esta en ingles y es confuso.
gracias hasta ahora Saludos.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 6550
Re:Proyecto Bloqueo motor
« Respuesta #3 en: 02 de Mayo de 2018, 19:31:03 »
En Hitech no te puedo ayudar, como te decia es el primero compilador C que tenia Microchip, el cual luego fue reemplazado por C18 (este lo entiendo si queres optimizaciones) y finalmente XC8 ( para los de 8 bits), por eso mismo no comprendo porque viajar tan atras en el tiempo para llevar esto a cabo.

En si lo diferente que vas a tener es lidiar con los registros de otra forma, todo lo referente a C deberia ser igual en cualquiera de sus compiladores.

Citar
-incluir una libreria para el teclado
-guardar la clave en la epromm (Esto grabado cuando grabas el micro asi que no va dentro del programa, pero si LEERLO)
-llamar a la funcion del teclado
-necesito una interrupcion por puerto b para leer el teclado? o con llamar la funcion del teclado ya seria suficiente? (No es necesario la interrupcion)
-una rutina para pedir una clave Lo traduciria a: Luego de Leer el teclado, reaccionar a lo presionado.
-una interrupcion para validar la clave (No necesitas interrupcion para esto)
-timer0 (Lo podes usar para: La salida y las demoras o tiempos del programa)

Como ayuda quedaria algo asi (esto es orientativo):

Código: [Seleccionar]
interrupcion:
   Recargar el Timer
   Salida activada?  Si->  Cambio el estado de la salida, uso una XOR para hacer una inversion
   Entrada de inhabilitacion activa? SI-> Contar (5s / 2ms) de veces, si se cumple los 5 segundos activo actuar como corresponde
                                                  NO-> Actuar en consecuencia
   Limpiar el flag

main:
   Configurar los modulos (timer, puertos)
   Leer la EEPROM
 loop infinito:
    Funcion de leer el teclado, aca me dijo si hay algo presionado (revisa tambien que el valor presionado no sea el mismo que en la anterior vuelta del loop, sino contaria varias veces 1 sola presion del boton)
    Funcion que se encarga de guardar lo ingresado en el teclado y reaccionar dependiendo del valor ingresado ( actualilzar el display, esperar otro numero, comparar con lo de la EEPROM, activar "la salida" en realidad activas el bit que luego en la interrupción es quien mueve la salida al estar activo,etc)
    Repetir el loop infinito.

Citar
estoy armando el proyecto de a pedazos y tengo pila de dudas sigo leyendo el manual que trae el hitech y esta en ingles y es confuso.

Mientras te podamos ayudar, te damos una mano, te aviso que tampoco pretendas que por ahi te demos el codigo por completo escrito. Pero ya una idea te vamos dando.
Por ejemplo en el codigo que te di, tranquilamente podes implementar lo del main por ahora, y dejar la parte de la interrupcion para otro momento.
« Última modificación: 02 de Mayo de 2018, 19:34:20 por KILLERJC »

Desconectado Tandola

  • PIC10
  • *
  • Mensajes: 7
Re:Proyecto Bloqueo motor
« Respuesta #4 en: 16 de Mayo de 2018, 19:13:08 »
yo quiero aprender, lo mismo me paso con PLC cuando arranque y después tuve un buen profesor y se me fueron todas las dudas y termine haciendo un proyecto genial.
no intento que me hagan el proyecto, solo he tenido unas pocas clases y el profesor exige este compilador y este programa, no hay elección sino lo intentaba hacer con algo mas nuevo que hay pila de ejemplos en Internet.
ahora me parece para mi que yo no la tengo muy clara intentar primero arrancar con los diagramas de flujo. porque para mi es mas fácil del papel después armar las estructuras y probar los comando y demás.
adjunto en lo que estuve trabajando y si me pueden dar una mano para corregirlos seria bueno yo teniendo eso me revuelvo porque después solo seria plasmar la programación siguiendo las estructuras.
mientras tanto sigo leyendo un poco de todo para ver como lo programo.
pido disculpas si caen mal mis preguntas, a veces es muy difícil estudiar y trabajar y no tengo mucho tiempo por eso aveces demoro un poco en contestar.

adjunto los diagramas de flujo que pretendo arrancar desde ahí
Saludos y gracias.*Pic Maestro.7z
(161.17 kB - descargado 0 veces)
*Pic Esclavo.7z
(39.45 kB - descargado 0 veces)