Haz una pregunta
  Foros de Electrónica » Diseño digital » Interfaces y Programación
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

14/09/2010 #1

Avatar de edix/09

Controlar Motor PAP con PIC16F84
Hola, buscando por la red para aprender busque manuales de programacion y en uno encontre la utilidad de lo que queria, que es mover motores PAP pero resulta que los ejemplos que te da el manual es una programacion para mover de izq a derecha con 2 botones y yo quiero que quede grabada una secuencia y sin la necesidad de apretar botones o solo 1 para que inicie... pensaba algo como que el motor se mueva asia la izq,der,pare,izq,der,para y despues ir agregando si me podrian ayudar se lo estaria agraeciendo.

Saludos
15/09/2010 #2


Respuesta: Controlar Motor PAP con PIC16F84
No se en que querras programar, pero yo tengo un programa hecho en CCS de un motor PAP que en funcion de una señal analogica, va variando su posicion, osea, si tengo 1 volt se queda en X, si tengo 2 gira 50°, si tengo 3, vuelve 180° y asi unas 30 posiciones distintas... es tan sencillo como cargar una tabla y consultarla.

La tabla la podes grabar en una EEPROM externa, tipo 24C16 y consultarla por I2C, y asi independizarte de grabar la secuencia en el pic....
15/09/2010 #3

Avatar de edix/09

Respuesta: Controlar Motor PAP con PIC16F84
necesito manejar 2 pap a la ves como mucho, y tu soft puede grabar secuencias?
15/09/2010 #4


Respuesta: Controlar Motor PAP con PIC16F84
no secuencias, sino que yo grabo una tabla mediante datos de puerto serie, y despues consulto esa tabla, es un toque

mañana en el laburo te subo el codigo
16/09/2010 #5

Avatar de felipeyeah

Respuesta: Controlar Motor PAP con PIC16F84
primero que nada debes sacar tu tabla de verdad y tu diagrama de trancisión..
16/09/2010 #6


Respuesta: Controlar Motor PAP con PIC16F84
mira, yo para drivear el motor que uso, lo tengo en el puerto C en la parte baja, entonces con este .h que "arme" (copia parcial del ejemplo de CCS), manejo el motor

Código:
#byte port_c = 7

byte const POSITIONS[4] = {0b0101,
                           0b1001,
                           0b1010,
                           0b0110};

void drive_stepper(BYTE speed, char dir, BYTE steps) {
   static BYTE stepper_state = 0;
   BYTE i;

   for(i=0; i<steps; ++i) {
      delay_ms(speed);
      set_tris_c(get_tris_c()|0xF0);
      port_c =((port_c & 0xF0)|(POSITIONS[ stepper_state ]|0xF0));
      if(dir!='R')
         stepper_state=(stepper_state+1)&(sizeof(POSITIONS)-1);
      else
         stepper_state=(stepper_state-1)&(sizeof(POSITIONS)-1);
   }
}
entonces, para moverlo a la derecha, 20 pasos llamo a

drive_stepper(speed,´D´,20)

para moverlo a la izquierda 30

drive_stepper(speed,´R´,30)

asi, armas una rutina por cada motor. Despues, como tomes y leas los datos es transparente, vos a esa funcion le pasas como queres moverlo y cuantos pasos y listo!
16/09/2010 #7

Avatar de edix/09

Respuesta: Controlar Motor PAP con PIC16F84
pero yo necesito que por ej el motor gire 30º para un ldo pare un ratito gire para el otro lado 60º cambie rapidamente asia el otro lado 50º asi... que varie el movimiento pero no necesite el puerto seria que ya kede en el pic
16/09/2010 #8


Respuesta: Controlar Motor PAP con PIC16F84
bueno, ahi tenes que armar la rutina de traer del puerto serie y grabarlo en una memoria.

tomas los datos del puerto serie, y los almacenas en una memoria IIC, como te comente antes. Una vez que tienes la secuencia almacenada, la vas leyendo secuencialmente, ni mas ni menos....
17/09/2010 #9

Avatar de edix/09

Respuesta: Controlar Motor PAP con PIC16F84
aver shadowpucci no entendi vien que es lo del codigo es una programacion o ke? disculpa mi ignorancia...

saludos
17/09/2010 #10


Respuesta: Controlar Motor PAP con PIC16F84
Es un archivo .H para CCS, el cual posee la rutina que genera la se secuencia para el PAP. Tiene un FOR que lo hace tantos steps del PAP le indiques, un comando speed(que es la cantidad de tiempo en ms entre paso y paso) y la direccion, osea, si va padelante o patra.

Después, con otro archivo generas el sistema de secuencias, y cuando tenes que mover el motor, llamas a esta rutina y listo!

El sistema de secuencias tampoco tendria que ser muy dificil, pensandolo un poco, es tomar un dato de velocidad y direccion y decirle cuanto moverse a esta rutina...

algo asi
Código:
#include "TEST-16F684.h"
//#include <2416.C>
#include "i2c.h"
#include "step.h"

int a;
char get_data_eeprom(VOID);

void main()
{
DO
   {
   for(a=0; a<fin_tabla ; a++)
   drive_stepper(speed, dir,get_data_eeprom()); 
}WHILE ( BOTON );
}

char get_data_eeprom(VOID)
{
   CHAR i = 0;
   I2C_start ( );     // Inicio de transmision a EEPROM
   I2C_write ( ADDRESSW );   // Instruccion de escritura de la memoria
   I2C_write ( a );     // Registro a leer
   I2C_start ( );     // Repetir condicion de START
   I2C_write ( ADDRESSR );   // Instruccion de lectura de la memoria
   i = I2C_read ( ); // Leer el registro 
   I2C_noack ( );     // NO enviar ACK para terminar la lectura
   I2C_stop ( );     // Generate stop
   return i;
}
el i2c.h lo podes sacar de aca que lo deje posteado
http://www.forosdeelectronica.com/f2...oblemas-42340/
19/09/2010 #11

Avatar de edix/09

Respuesta: Controlar Motor PAP con PIC16F84
hola de nuevo, el que es 12c.h va en otro pic? asi se comunican? o va en el mismo? es que me mescle un poco...
19/09/2010 #12


Respuesta: Controlar Motor PAP con PIC16F84
hola de nuevo, el que es 12c.h va en otro pic?
no... en ese codigo es para utilizar una memoria eeprom como esclavo... no es otro pic...
imagino que ahi esta almacenado las secuencias del motor o algo asi...
20/09/2010 #13


Respuesta: Controlar Motor PAP con PIC16F84
lubeck dijo: Ver Mensaje
no... en ese codigo es para utilizar una memoria eeprom como esclavo... no es otro pic...
imagino que ahi esta almacenado las secuencias del motor o algo asi...
tal cual. Solo que yo no guardo secuencias, guardo otros datos, pero tranquilamente puede almacenar una secuencia
20/09/2010 #14

Avatar de edix/09

Respuesta: Controlar Motor PAP con PIC16F84
ok ya estube leyendo un poco mas sobre pic y es bastante amplio el contenido en el manual que tengo no tenia nada importante... aver ayudenme a programar el pic y luego lo de las secuencias asi las cambio cuando necesite... me gustaria saber tambien sobre la parte de la electronica solo es mover 2 Motore PAP.

Saludos y gracias por ayudarme.
20/09/2010 #15


Respuesta: Controlar Motor PAP con PIC16F84
aver ayudenme a programar el pic
ayudame a ayudarte... que lenguaje de programación conoces mas???
tienes un programador de pic o construiras uno???
21/09/2010 #16

Avatar de edix/09

Respuesta: Controlar Motor PAP con PIC16F84
me toy por comprar 1 programador, estoy viendo cosas de C... pero no mucho vos que lenguaje utilizas?

Saludos
21/09/2010 #17


Respuesta: Controlar Motor PAP con PIC16F84
vos que lenguaje utilizas?
yo utilizo picbasic pro para basic y ccs para c... domino un poco mas el basic y a mi se me hizo super sencillo aprender...
en c es un poco mas laborioso pero da mejores resultados... segun he leido...
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Interfaces y Programación

Lenguajes de programación, gestión y manejo de puertos

Cerrar
Foros de Electrónica » Diseño digital » Interfaces y Programación

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.