Autor Tema: ¡¡¡ Cambio de titulo!!! a Control de motor. Aprendiendo con Niple  (Leído 43707 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4069
Re: ¡¡¡ Cambio de titulo!!! a Control de motor. Aprendiendo con Niple
« Respuesta #60 en: 18 de Agosto de 2010, 15:30:57 »
Regreso el 22 ya le he hecho un vistazo entonces.

Fer
Todos los días se aprende algo nuevo.

Desconectado sergioandres

  • PIC16
  • ***
  • Mensajes: 168
Re: ¡¡¡ Cambio de titulo!!! a Control de motor. Aprendiendo con Niple
« Respuesta #61 en: 23 de Agosto de 2010, 01:35:10 »
  !Hola Fer: Que me trajiste, que me trajiste de las vacaciones dale no soporto la espera que es alfajores?, caracoles de la playa?. Bueno no importa espero hallas cargado pilas para aguantarme y disfrutado el descanso con tu familia.
Te envío el npl y la explicación, la explicación es la misma anterior porque hasta allí entiendo el resto que adelante lo realice viendo el grafico y buscando las acciones en el manejo del programa, pero otra vez no se como plantearme la secuencia de acciones y la llamada a las rutinas  no se donde van por eso lo deje sin vincularlo. Fijate y describime como se sigue a partir de lo que entiendo. Y ya podes Mandarme los npl El padrino Jorge me motorizo con lo ultimo como dicen los pibes es una maza.
Un Abrazo Sergio Peralta.
PD: no te habrás ido  de vacaciones para no invitarme a tu cumple nooo.

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4069
Re: ¡¡¡ Cambio de titulo!!! a Control de motor. Aprendiendo con Niple
« Respuesta #62 en: 24 de Agosto de 2010, 13:11:53 »
Hola de nuevo:
No me fui de vacasciones para perderte de vista, si no para desconectar un poco y por supuesto seguiré ayudando en lo que pueda siempre que el tiempo, el trabajo y la familia me lo permitan.
Con respecto al asunto del post:
Como ya te dije en uno anterior y sin animo de que lo tomes a mal, deberias localizar el manual de Niple que te indique, alli puedes ver toda la explicacion resumida de cada uno de los bloques, con eso te evitarias el emplear tiempo en realizar las explicciones  que estas realizando, si lo prefieres asi es tu decision pero es un tiempo que podrias emplear en otras cosas.
Referente al programa ya dije tambien que la zona de programa principal estaba realizado para que pudieses comprender el funcionamiente  de las interrupciones. De la forma que esta realizado comprueba si se ha actuado sobre el interruptor de puesta en marcha de forma que si es que "no" se deja el tmr0 desactivado y si es que "si" se activan las salidas que nos convengan (motor_izquierda en el programa); se activa el tmr0 y se vuelve a la posicion incial despues del bloque de "nop".
Como puedes ver segun esta secuencia puedes ver que nunca se para el motor izquierda, ni se activa el derecha. Solo es para que veas un poco la secuencia necesaria. Por tanto:
- 1º Debes de eliminar todo lo que hay a partir del bloque de deteccion si está activado el interruptor de puesta en marcha.
- 2º Tendras que colocar lo que quieres realizar. Fijate bien que digo "TENDRÁS" por que si te lo hago yo nunca vas a aprender a realizar tu las cosas. Lo que si realizaré será corregirte lo que realices y te explicaré el porque si o no se puede emplear algun bloque.  Tambien te sugeriré algo para que lo valores.
De esta forma es la unica que podrás pensar la logica de las cosas y de esa manera luego podrás acometer otros proyectos.
Ánimo que no es dificil y el grueso del programa ya esta casi realizado con las subrutinas y solo falta el pulirlos un poquito.

Fermin
« Última modificación: 24 de Agosto de 2010, 13:29:28 por Fer_TACA »
Todos los días se aprende algo nuevo.

Desconectado sergioandres

  • PIC16
  • ***
  • Mensajes: 168
Re: ¡¡¡ Cambio de titulo!!! a Control de motor. Aprendiendo con Niple
« Respuesta #63 en: 24 de Agosto de 2010, 16:58:18 »
Hola Fer: espero hallas podido descansar en tus vacaciones.
Siento mucho y te pido disculpas si te he molestado con algo, yo siempre tengo en mis tratos mucho humor y a veces un tanto mordaz que puede haberte molestado y solo fue una broma lo de tomarte vacaciones de mi. Y yo te agradezco infinitamente tu tiempo y esfuerzo por enseñarme y créeme nunca estuvo en mis intenciones que me hicieras nada y como te dije en alguna oportunidad tengo todo el material de niple que hay, el manual de usuario tutoriales libros escritos como el del ingeniero Picerno, pero como también te dije no se explicarme lo que necesito y me doy cuenta de ello, porque no he logrado en mis expresiones llegarte para que me guiaras y esta a la vista que a mi me cuesta entender este nuevo mundo. es que voy a repensar si  esto es para mi porque me veo superado y a pesar de que soy muy autodidacta no se como se aprende a aprender es una paradoja.
Veré como puedo resolverlo y tratar de consultarte solo algo muy puntual. Un Abrazo fraternal Sergio Peralta.

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4069
Re: ¡¡¡ Cambio de titulo!!! a Control de motor. Aprendiendo con Niple
« Respuesta #64 en: 24 de Agosto de 2010, 17:37:34 »
Hola Sergio:

Creo que hay un mal entendido, No me he ofendido para nada por lo espuesto en tu correo y espero que tampoco por tu parte. Quizas tampoco haya sabido expresarme.
Lo que he querido decir es que a partir de lo explicado en el correo anterior intentes tu pensar como y que harias. A partir de ahi podiamos debatir que o cual es lo mejor en principio para :
1º Tu proyecto
y 2º para que puedas aprender a programar al menos basicamente y que a partir de ahi pudieses crear tus propios proyectos.

Por mi parte, no habria ningun problema, con tiempo, de realizarte todo el proyecto, si te das cuenta y miras lo que te puse con subrutinas es que está realizado como a un 80%, faltando añadir unas pequeñas cosa y pulirlas un poco. Cosa que no quise realizar al principio para irlas realizando segun vayas aprendiendo. Si no hubiese querido hacer nada no lo habria realizado desde el principio y me hubiera escaqueado dando respuestas sin el sentido necesario para que pudiese avanzar.

Ya te digo y me reitero que por mi parte no tengo ningun problema en ayudarte y guiarte, pero que a partir del programa que adjunte vayas añadiendo lo que crees que se deberia de poner sin miedo a equivocarte o realizarlo mal ya que lo iremos corrigiendo o cambiando poco a poco.

Fermin
Todos los días se aprende algo nuevo.

Desconectado sergioandres

  • PIC16
  • ***
  • Mensajes: 168
Re: ¡¡¡ Cambio de titulo!!! a Control de motor. Aprendiendo con Niple
« Respuesta #65 en: 25 de Agosto de 2010, 11:45:47 »
Amigo Fermín: Léelo muy detenidamente. No mas pos fuera de tema y tan largos.

Me tranquiliza saber que no te he ofendido o molestado y en cuanto al aprendizaje he sopesado toda la instancia y ya tengo algo claro y te lo cuento.
Lo que ha pasado es que vos pensaste, Un che …este lo pecho y saca de diez claro  Borges, Messi,  Jorge Cano el creador de Niple, y después te encontras que el flaco nada…
Yo te explico es una cuestión de marketing sobre la imagen del país, a ellos los dejan salir para mostrarlos y el país es el paraíso, no… estamos los otros como yo que apretamos un botón porque sale una banana y nos tienen en jaulas, como el cuidador se encariño con migo me presta Internet un rato, sabemos  que algunos han logrado mimetizarse y escapar  y se conocen también afuera habrás oído de un tal Diego Maradona menos mal que son los menos.
A Jorge lo debería apoyar el gobierno, NIPLE  lo invento jorge porque aquí con microcontroladores no había nada porque no nos entra la tecnología en la cabeza y si ves ese lenguaje nos recuerda el jardín de infantes y solo cambio las manzanitas y los palotes por otros símbolos así dejamos las palancas y las ruedas dentadas y tenemos botones.

Esto espero se tome como una broma y cualquier similitud con la vida real es mera casualidad o……. Si te reíste sirvió.

En cuanto al aprendizaje, yo he descubierto que aprendo mas y se me fijan los conceptos escribiéndolos porque me sirven para reafirmarlos cuando lo hago, en la escuela de electrónica para adultos el profesor usaba ese método para enseñar, primero nos decía que hacia cada cosa y donde y cuando colocarla, escribíamos el planteo de la situación y la resolución entonces el al corregirnos se ponía en nuestro lugar y nos decia donde estaba el error y se daba cuenta que era lo mas flojo de cada uno.
Es mi metodología de aprendizaje y me he aferrado a ella por el resultado que me ha dado, en lo que llevamos hecho he entendido bien y lo tengo claro que lo repito con los ojos cerrados ( hasta donde he escrito el resto he tratado de entenderlo pero no me da el adoquín).
Yo me lo digo a mi primer paso configurar puertos, ahora pongo los registros que voy a usar de arranque luego si hace falta agrego otros,
Bien… apreto el botón el micro toma la señal y verifica hay un uno en el pin cualquiera, si seguimos ahora vamos a la rutina de trabajo yo la realizó porque me doy idea y es fácil, el problema surge cuando hay que llamar las interrupciones el porque y como trabajan ligadas al TMRO y allí comienza mi problema., por eso algunas veces te pido me pases el como y el cuando con detalle una ves que sepa, ya apretare el botón solo,y saldrán las banana Je je je

Un Abrazo Fraternal Sergio Peralta.

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4069
Re: ¡¡¡ Cambio de titulo!!! a Control de motor. Aprendiendo con Niple
« Respuesta #66 en: 26 de Agosto de 2010, 07:53:16 »
Bueno me alegro que la cosa queda clara y sin mal entendidos. Prosigamos..................

Te acuerdas del primer prgrama realiado completo con las terminaciones con delays?

Bueno pues los delays lo que originan es que el micro se quede parado minetras está realizando ese proceso sin atender a ninguna otra accion. Las interrupciones lo que permiten es que el micro este realizando otras tareas mientras se realizan las temporizaciones creadas por medio de las interruciones.
Las interruciones puedes ser:
- Por flanco en los ciertos pines del micro. En el 16F84 por ejemplo es por cambio flanco en el pi RB0.
- Por cambio de estado en alguno de los pines de RB4 a RB7, en los puertos en el que los micros los tenga.
- Por desbordamiento de los timer: TMR0, TMR1, TMR2,.... En caso de que los tengan. Ese desborde es cuando se pasa bien de FF o FFFF a 00 o 0000 dependiendo de que el timer sea de 8 o 16bits. Ademas estos registros llevan unos pre y/o postescaler que lo que hacen es que dependiendo del valor configurado, es como un contador que se incrementa cada vez que se desborda el timer  y cuando alcanza el valor ajustado, un bit(flag) del registro de control del timer se pone a 1. Con esto solo hace falta estar comprobado ese bit y cuando se alcanza ese valor ha pasado el valor de tiempo que queriamos. Niple este contro lo realiza de forma automatica dentro de la rutina de interrupcion sin que tengamos que preocuparnos de ello.
Para ver el funcionamiento de los timer lo mas aconsejable es leer el datasheet del micro utilizado, asi saremos la peculiarizades de que vayamos a utilizar.
Volviendo a nuestro ejemplo, por tanto una vez que le indiquemos que activamos la interrupcion del Tmro, empezara a contar sin que nos preocupemos de ellos. Asi que dentro de la rutina del programa principal eliminaremos todo lo que esta colgando despues del bloque de verificar si esta activado el interruptor de puesta en marcha.........................
Todos los días se aprende algo nuevo.

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4069
Re: ¡¡¡ Cambio de titulo!!! a Control de motor. Aprendiendo con Niple
« Respuesta #67 en: 26 de Agosto de 2010, 07:59:39 »
El siguiente paso sería:

- Si es que no dejamos las interrupciones del TMro deshabilitado y regresamos a seguir comprobando el estado del pulsador
- Si es que si entonces activamos las interrupciones del TMRO para que empiezen a contar los tiemposs y despues llamamos a la Subrutina de poner en marcha el motor a izquierdas ( si es ese el que primero quieres que comience a fncionar, en caso contrario llamar a la de poner en marcha el motor a derecha). Despues seguimos con mas cosas, pero ¿serías capaz de dibujar en Niple las operaciones que te he descrito?
Venga hombre un pequeño esfuerzo que es facil y si rsya mal ya te digo lo que hay que realizar.

Fermin
Todos los días se aprende algo nuevo.

Desconectado sergioandres

  • PIC16
  • ***
  • Mensajes: 168
Re: ¡¡¡ Cambio de titulo!!! a Control de motor. Aprendiendo con Niple
« Respuesta #68 en: 26 de Agosto de 2010, 22:24:42 »
Hola Fer: súper la explicación vamos a ver si realmente lo entendí; cuando hablamos de las delays que es un termino nuevo para mi, te refieres a la temporizacion por bucles que de utilizarlas no podemos hacer que el micro haga otra cosa. Entonces recurrimos a Interrupciones y dentro de esta modalidad usaremos las que se activan por el desbordamiento del  TMRO, osea cuando se llego al valor  que hemos colocado a la temporisacion.
Te mando el archivo hecho con lo que entendi no conecte la subrutina al NOP porque no se si esa subrutina según lo que yo creo es solo para un sentido de giro, Y del NOP al icono de evaluacion o pulsador de marcha porque no se como hacerlo lo intente por todos lados y nada un cartel me dice que no puede tener mas de dos salidas o algo asi. La subrutina espero lo veamos en detalle porque lo realice pero no lo tengo claro las que he realisado me parece estan mal si recuerdas te mande al principio unas y no estaban bien creo

Al poner el programa full me cambio la pantalla del TMRO te mando una captura para que me expliques como funciona esta nueva que me parece esta mas completa agrega un par de cosas.
Un Abrazo y como siempre gracias por tu tiempo.
Sergio


Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4069
Re: ¡¡¡ Cambio de titulo!!! a Control de motor. Aprendiendo con Niple
« Respuesta #69 en: 27 de Agosto de 2010, 13:16:11 »
Efectivamnete con los delay se queda el micro contando internamnete los pulsos del reloj y no hace nada mas hasta que llega al valor prefijado, en ese momento sale del delay. Mientras que en las interrupciones se puede ir realizando otras cosas hasta contar el tiempo programado(nº de interrupciones x tiempo que tarda en producirse la interrupcion).
Una cosa importante es que dentro de las rutinas de interrupcion se realizen los menos pasos posibles asi como el llamar a subrutinas o anidar varias de ellas.

Respecto a lo que has mandado:
Si unes la subrutina de descanso con el nop, puedes hacerlo y entrarias en un ciclo en el que solo vas a realizar esa subrutina.

Al haber adquirido la licencia completa tienes mas opciones y mejoras de manejo de NIple, una de ellas es esta donde al configurar los modulos de los TMR0 te aparece esa pantalla donde puedes configurar de una tacada todas las opciones del TMR en cuestion en este caso el 0, antes habia que realizarlas en varios pasos. Ahora puedes configurar si es de 8 bits, tipo oscilador, si vas a configurar o refrescar, si vas a trabajar con interrupciones o que funcione como temporizador(delay en bucles), tiempo de temporizacion, pre y post divisores cuando los tengan,..... De esta manera queda todo mas visual en un mismo bloque.

Adjunto un avance mas del programa con unas pequeñas mejoras, solo he puesto de momento la subrutina de giro a izquierdas.
En tu adjunto colocas el descanso cuando lo normal es que despues de la primera puesta en marcha actives ya uno de los motores, pues si es la primera conexion a bateria hasta que no actives la puesta en marcha puedes estar en "descanso" todo el tiempo que quieras.
Efectivamente puedes programar el número que quieras de interrupciones pero cada vez que empiece una nueva como máximo va a ver un retardo de 65ms. Por tanto en nuestro programa podíamos evitarnos un contador, pero si te das cuenta y de acuerdo a los cálculos iniciales, preferimos que solo sea una y como cargamos el TMR0 con el valor de 61 obteneos un tiempo mas exacto y múltiplos del tiempo que queremos conseguir.
La rutina de interrupción se está siempre ejecutando mientras este habilitada, y lo que realiza es incrementar el primer contador que mas tarde iremos comprobando si ha llegado a su valor.

Otra cosa, la versión full que te han mandado es la 5.5.3? Te lo pregunto porque si es así en vez de adjuntar un Word con las imágenes puedo adjuntar el proyecto y nos ahorramos trabajo.

Fermin

Todos los días se aprende algo nuevo.

Desconectado sergioandres

  • PIC16
  • ***
  • Mensajes: 168
Re: ¡¡¡ Cambio de titulo!!! a Control de motor. Aprendiendo con Niple
« Respuesta #70 en: 27 de Agosto de 2010, 22:12:49 »
Amigo Fermin: la version es V5.5.4   Aire, direccion asistida palanca al piso y turbo.
Yo pensaba lo mismo porque donde se pone una explicación de que hace esa acion la que cuando pasas el cursor dice que hace estaria mortal entenderia mas rapido la explicación que pones en ese casillero.
Voy a ver el grafico y luego vemos.
Fer feliz fin de semana y nos escribimos el lunes Un Abrazo Sergio

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4069
Re: ¡¡¡ Cambio de titulo!!! a Control de motor. Aprendiendo con Niple
« Respuesta #71 en: 28 de Agosto de 2010, 08:17:41 »
Sergio:
me parece que vamos a seguir igual que antes con las versiones. me acaban de mandar la 5.5.5 y veo algunas mejoras.
De momento el programa voy a seguir explicandotelo de acuerdo a lo ultimo mandado para no liar la cosa, cuando lo hayas mas o menos comprendido cambiaremos las subrutinas y la de interupcion del TMR0 que van a ser mas cortas y mas faciles de entender.
¿Estas de acuerdo?

Fermin
Todos los días se aprende algo nuevo.

Desconectado sergioandres

  • PIC16
  • ***
  • Mensajes: 168
Re: ¡¡¡ Cambio de titulo!!! a Control de motor. Aprendiendo con Niple
« Respuesta #72 en: 30 de Agosto de 2010, 10:24:54 »
Amigo Fermin: Tu modelo nuevo ya viene con GPS incluido...Je je je
Estuve tratando con la subrutina de giro: Inicio la subrutina aparece el icono con el nombre y aquí comienza mi problema, para mi el paso seria insertar una interrupción mirando el grafico que me enviaste veo la interrupción insertada cuando voy a intentar insertarla por TMRO me dice que ya existe una, bien habrá que activarla? voy a activar/desactivar, Aparece el menú marco la casilla del habilitador general y cuando marco por TMRO me dice que no esta configurado.
Como no quiero ovalarme la cabeza mas te pido el detalle de cómo seguimos. Contado como un cuentito puede ser.
Un Abrazo Sergio

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4069
Re: ¡¡¡ Cambio de titulo!!! a Control de motor. Aprendiendo con Niple
« Respuesta #73 en: 30 de Agosto de 2010, 10:36:05 »
Hola:
Despues del bloque de la rutina de giro NO hay que intertar ninguna interrupcion,SOLAMENTE ACTIVARLA, esto lo consigues con el menu :
Interrupciones-> Activar/desactivar y te aparecerá el menu de marcar el habilitador general y el del TMR0 ambos los dejas en Desactivado.

Para que no te salga el aviso de que no esta configurado, debes ir al programa principal y asegurarte que ya esta configurado puedes verlo en el adjunto anterior.

Fermin
Todos los días se aprende algo nuevo.

Desconectado sergioandres

  • PIC16
  • ***
  • Mensajes: 168
Re: ¡¡¡ Cambio de titulo!!! a Control de motor. Aprendiendo con Niple
« Respuesta #74 en: 30 de Agosto de 2010, 14:23:44 »
Hola Fer: Lo que paso es que yo pensé que había que comenzar con el giro a la izquierda como veníamos y me fui para ese grafico que esta abajo sin darme cuenta que nada que ver,  es el de giro derecho y solo debemos cambiarle el nombre si esta claro después del botón se inicia el ciclo de giro con el que elijamos porque es indistinto. 
Ya lo agarre bananas por favor je je. Te mando hasta donde llegue, esa función lógica o matemática, que nos hace en la subrutina?, Te mando la explicación y el archivo de la subrutina me interesa que leas para ver si como lo expreso mi razonamiento esta bien.
Un Abrazo Sergio


 

anything