Autor Tema: Motores paso a paso y Aprendisaje  (Leído 3613 veces)

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

Desconectado Miss_Morgan

  • PIC10
  • *
  • Mensajes: 6
Motores paso a paso y Aprendisaje
« en: 07 de Mayo de 2016, 20:57:57 »
Buenas tardes!

Antes que nada, aclaro que no estoy intentando pedir que "hagan el trabajo por mi" en ningún momento (mas que nada por las reglas, ya que lo que voy a decir puede que se malentienda con ello)
La cuestión es que me han encargado un proyecto y bla bla, lo común, pero realmente no nos han enseñado nada en clases respecto a programar el pic (PIC16F84A), mas que nada ah sido solo el como grabarlo y conectarlo físicamente.
Se poco o nada mas que la terminologia y no solo quiero, debo aprender como funciona en lo que acaba del mes.

Ahora, mi proyecto en si no es difícil, es una especie de "Estacionamiento Rotativo", donde un motor paso a paso unipolar (ya que no tengo otro, pero si es mas fácil con otro intentaría conseguir) hace girar una base que cambia de pocisión dependiendo si esta o no ocupado un lugar.

No es muy difícil, la idea ya la tengo bien planteada, mi problema es el como pasarlo al lenguaje de programación.
¿Donde puedo aprender de forma objetiva el como realizar este tipo de acciones? Estoy totalmente perdida!

Muchas gracias por su atención y gracias de antemano!

Desconectado AcoranTf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1099
Re:Motores paso a paso y Aprendisaje
« Respuesta #1 en: 07 de Mayo de 2016, 21:47:47 »
Hola Miss_Morgan, no he trabajado con motores paso a paso, por lo que ahi no te puedo ayudar. Pero como dices que tienes la idea planteada, simplemente puedes plasmarla en papel en una especie de seudocodigo, del tipo:
Código: [Seleccionar]
si fotocelula=1
ocupado=1
si no
ocupado=0
si ocupado=1
gira
enciende luz verde
si no
enciende luz roja

Es solo un ejemplo para que te hagas una idea. Y una vez escrito tu programa en ese seudocodigo, simplemente seria pasarlo al lenguaje de programacion que desees utilizar y que por cierto no dices cual seria.
A continuacion lo compilas y si tienes el Proteus lo simulas, en caso contrario, programas el PIC que hayas elegido y lo pruebas en real.
Con eso veras si funciona como tu quieres o no y en caso negativo, pues modificas el programa y repites. Asi hasta conseguir justo lo que quieres.
Espero te sirva de ayuda esto, en caso contrario deberias aclarar mas tu consulta.

Saludos.

Desconectado Miss_Morgan

  • PIC10
  • *
  • Mensajes: 6
Re:Motores paso a paso y Aprendisaje
« Respuesta #2 en: 10 de Mayo de 2016, 15:10:00 »
Si, ya tengo masomenos echo uno como diagrama de flujo.
No se muy bien que lenguajes de programacion puedo usar, hasta ahora solo habemos usado es el que se teclea en "MPLAB"
cuales puedo usar?

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Motores paso a paso y Aprendisaje
« Respuesta #3 en: 10 de Mayo de 2016, 16:38:34 »
Si, ya tengo masomenos echo uno como diagrama de flujo.
No se muy bien que lenguajes de programacion puedo usar, hasta ahora solo habemos usado es el que se teclea en "MPLAB"
cuales puedo usar?

Microchip ofrece el IDE MPLAB X , es decir el entorno para poder escribir codigo.

Pero luego puede ser compilado en ASM o en C. Creo que deberias ir por C.

Desconectado Miss_Morgan

  • PIC10
  • *
  • Mensajes: 6
Re:Motores paso a paso y Aprendisaje
« Respuesta #4 en: 10 de Mayo de 2016, 22:22:18 »
Asm es el nombre del lenguaje?  :shock: ni idea!, me has sacado una gran duda!
C tambien creo que es mas facil, ya se por lo menos lo basico de C++ (y quiero creer que la accion ++ es de lo poco que cambia)
pero necesitaria usar otra aplicacion o diferiria en algo?

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Motores paso a paso y Aprendisaje
« Respuesta #5 en: 10 de Mayo de 2016, 22:43:59 »
ASM es una forma de acortar Assembler, que es casi escribir en lenguaje maquina. Es un lenguaje de bajo nivel. Voy a poner 2 pedazos de codigo para que veas la diferencia y sepas cual es el que estas escribiendo vos actualmente en MPLAB

Código: ASM
  1. Inicio  bsf     STATUS,RP0      ; Pasamos de Banco 0 a Banco 1.-
  2.         movlw   b'11111'        ; Muevo 11111 a W.-
  3.         movwf   TRISA           ; Cargo en TRISA.-
  4.         movlw   b'11111110'    
  5.         movwf   TRISB
  6.         bcf     STATUS,RP0      ; Paso del Banco 1 al Banco 0
  7.         bcf     PORTB,Led       ; Comienza apagado.-

C es un lenguaje de alto nivel, el cual no es necesario saber exactamente como se maneja el micro. Y lo de arriba se traduciria a:

Código: C
  1. void main(void){
  2.  
  3.   TRISA = 0xFF;
  4.   TRISB = 0xFE;
  5.   PORTBbits.RB0 = 0;
  6.  
  7. // esto es agregado
  8.   char i;
  9.  
  10.    while (1)
  11.    {
  12.         PORTBbits.RB0 ^= 1;
  13.         _delay_ms(250);
  14.    }
  15. }

C++ tiene cosas iguales a C, pero si te vas a interiorizar en este lenguaje difieren enormemente entre uno y otro en su manejo "interno".
Tutoriales sobre C esta lleno, tal ves el ++ que decis vos es para incrementar una variable en 1. Suponete la variable "pepito"

Código: C
  1. pepito = 5;
  2. pepito = pepito + 1;      // Esto hace a pepito tener el valor 6
  3. pepito += 1;                 // Esto hace a pepito tener el valor 7
  4. pepito++;                     // Esto hace tener el valor 8

Si observas las 3 ultimas instrucciones son equivalentes. Aunque tal ves el compilador luego lo traduzca de otra forma.

-----------------------------------------------------------------------------

Para usar C en el MPLAB X, solo necesitas instalar el compilador XC8. Que lo podes buscar en la pagina de Microchip.
Cuando lo instalas, luego abris el MPLAB y podes crear un proyecto basado en xc8, el cual podes programarlo en C.

Desconectado Miss_Morgan

  • PIC10
  • *
  • Mensajes: 6
Re:Motores paso a paso y Aprendisaje
« Respuesta #6 en: 15 de Mayo de 2016, 14:22:41 »
Muchas gracias! creo que entonces si usare C.
Donde puedo descargar el compilador? funciona igual?

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Motores paso a paso y Aprendisaje
« Respuesta #7 en: 15 de Mayo de 2016, 14:24:26 »
Desde la pagina de Microchip, ahi podes descargar todos los compiladores XC, para 8,16 y 32bits. XC8 , XC16 y XC32 respectivamente.


 

anything