Ayuda para controlar motor PaP con pic

Buenas,:)

Primero que nada no se si este post esta en seccion corrrecta, y pido que de no ser asi lo muevan a la correcta, gracias.

Veran, yo no soy estudiante de ingeniera por el momento solo una persona a la que le gusta la electronica y quiere aprender.:cool: Pero hace unos dias se me metio en la cabeza la idea de mejorar y compactar mi autoalimentador de peces usando un mirocontrolador. El original trabaja mediante una fotoresistencia que va a un comparador, cuando hay luz la salida del comporador se activa lo que aciona un temporizador (555) y este a su vez acciona un controlador para un motor paso a paso que tiene un mecanismo para suministrar el alimento.

Ahora la cuestion, se puede programar un pic para que cada 24 horas ( o otro tiempo) haga funcionar el motor a pasos ( es unipolar) hasta que complete cierto numero de pasos a cierta velocidad,:unsure: y como funcion adicional incluir un pulsador para hacer funcionar el motor a peticion( no es muy nesesario pero quiero saber si se puede).

Otra cosa: se puede programar el pic por usb sin nesesidad de un programador:confused:, es decir en la misma placa con el circuito y el pic.

pd: es la primera vez que trabajo con pic y quiero aprender a usarlos.
 
Última edición:
Otra cosa: se puede programar el pic por usb sin nesesidad de un programador:confused:, es decir en la misma placa con el circuito y el pic.

pd: es la primera vez que trabajo con pic y quiero aprender a usarlos.

Hay algo llamado Arduino, que es una placa con PIC ya acondicionada. Esto es, no necesitas programador ni nada. Sólo una conexión USB al portatil (cable incluido). El pack viene costando unos 20€. Es rápido de preparar y tienes muchos tutoriales.

Yo que tú empezaría mirando por ahí, ya que te ahorras tener que construir la placa y comprar por otro lado el programador.

Luego si ves que te gusta siempre puedes empezar a construir placas y programadores.

Feliz entrada año.
 
Bueno Pelelalo, creo que considerare esa opcion e ire a buscar el arduino.
Ya les contare como me fue y tambien les deseo un feliz año nuevo a todos los mienbros del foro.
 
Pues no he tenido suerte, no pude encontrar el famoso arduino.
Creo que comenzare con algo mucho mas sencillo que esto, he estado pensando y en la libreria del livewire me encontre un circuito que controla un display de 16 segmentos y ya aprendi a programarlo para que diga lo que quiera, pero ¿Me podrian decir que integrado esta usando y que se nesesitaria para escribirlo?
¿ este integrado/ micro puede ser reescrito?

pd: adjunto una imagen de este y el circuito en livewire.
 

Adjuntos

  • display.jpg
    display.jpg
    90 KB · Visitas: 52
  • display personalizado.rar
    1.4 KB · Visitas: 24
Justiciero, no tengo ni idea de que es ese bicho. Que yo sepa, la única posibilidad que tienes es comprarte una placa con algún PIC que te permita programarlo rápidamente (tipo Arduido u otros muchos que hay por ahí) o bien armarte tú la placa con algún PIC. La otra solución es usar integrados para diseñar la función que quieres realizar.
 
Hola Justiciero24

Refiriéndonos a tu mensaje #5 donde mencionas que qué es el componente XWG1.
Ese no es un cirquito integrado sino que es un aparato(Equipo) llamado Word Generator.
Esos equipos existen en el mercado y así se llaman Generador de Palabra(s). Hablando de binario.
Cada palabra consta 16 BIT’s
Puedes guardar los datos que le pusiste para que mostrara la palabra Daniel con el objeto de volver a utilizar esa “Programación”.

Por otra parte.
Para hacer lo que estás requiriendo en tu mensaje original se necesita:
Simulador de PIC(Microcontroladores).
SoftWare Para desarrollar el programa para el PIC(Microcontroladores).
Un programador para PIC(Microcontroladores).

Para simulador, donde se desarrolla el circuito y se prueba su funcionamiento, te recomiendo el ISIS de Proteus.

Para El SoftWare hay varios:
PIC MCU C Compiler. Muy completo en lenguaje C.
Pic Basic Pro. Tambien bueno En Lenguaje Basic para PIC.
Etc. Etc.

Programadores para PIC(Microcontroladores). Tambien hay varias marcas y modelos.
Visita Steren, ellos tienen algunos. Son algo caros pero si buscas por aquí en el foro puedes encontrar alguno para hacerlo.

Échale un ojo a los PDF que te adjunto para que veas que no es imposible realizar lo que quieres pero si algo laborioso.

Tú Dices en tu: pd: es la primera vez que trabajo con pic y quiero aprender a usarlos.
[/COLOR]
saludos
a sus ordenes
 

Adjuntos

  • Propaganda y Algo Más.pdf
    203.5 KB · Visitas: 28
  • Basic PARA PICS.pdf
    1.3 MB · Visitas: 47
Última edición:
Acabo de darle una hojeado a los pdf que me mandaste y no parece tan complicado como pensanba, ahora mismo estoy bajando los programas que me dijiste para hacer un intento, despues posterare mis avances.

Muchas gracias, MrCarlos
 
Hola que tal:

Ya tengo los programas que me dijeron y he estado investigando y creo que el pic 12f675 es ideal para comenzar, por dos motivos , es pequeño y barato.
pero que lenguaje para programar me recomienda ( que sea sencillo de entender) y como se crean estos archivos ( segun el lenguaje, me supongo).
Tambien si alguien posee algun codigo de ejemplo o que me explique basicamente como hacer el programa, se los agredecere bastante.
 
Hola que tal ya comenze a aprender a programar en basic ( pic simulator ide ) e hize este programa para comandar un contador de 1 digito con un display 7 segmentos que diseñe.

Este es el programa en basic:

Código:
AllDigital ' configura las salidas del pic como e/s
Dim digito As Byte  ' estable variables
Dim mascara As Byte
Dim caracter As Byte
Dim suma As Byte
TRISB = %00000000 ' configura entradas y salidas
TRISA = %11110111
PORTA.3 = 1  'prueba el buzzer- señal de inicio
WaitMs 1000
PORTA.3 = 0

loop:
PORTA.3 = 0 ' asegura que el buzzer esta apagado
digito = suma
mascara = LookUp(0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f), digito
PORTB = mascara

If PORTA.0 = 1 Then  ' operacion reinicio
WaitMs 500
suma = 0
PORTA.3 = 1
WaitMs 1000
PORTA.3 = 0
Endif

If PORTA.1 = 1 Then  ' operacion sumar
WaitMs 500
suma = caracter + 1
PORTA.3 = 1
WaitMs 500
PORTA.3 = 0
Endif

If PORTA.2 = 1 Then ' operacion restar
WaitMs 500
suma = caracter - 1
PORTA.3 = 1
WaitMs 500
PORTA.3 = 0
Endif

caracter = suma ' memoria para hacer validas las operaciones
Goto loop
End

Es todo,mas adelante adjunto el programa y el esquematico en proteus.

Ahora una pregunta ¿ si quisiera comandar un display de 16 segmentos con ese pic ( 16f628a) comoseria la mascara para configurar los caracteres que puede mostrar?
segun a lo que entiendo se nesesitan 16 salidas del pic para comandar el display por lo que supongo que si conecto todas las patas del pic al display no se nesesitan componentes adicionales ( si acaso resistencias )¿ es correcto esto o no?

Gracias de antemano.
 

Adjuntos

  • Contador 1 digito.rar
    17.6 KB · Visitas: 28
Última edición por un moderador:
Hola Justiciero24

Realmente el código que está en tu mensaje #12 Funciona con el circuito que adjuntaste ??.
Lo he estado analizando y al parecer lo que deseas es que:
Al presionar el Botón “Borrar” aparezca un 0 en el Display.
Al presionar el Botón “Display + 1” le sume 1 al número que está en el Display.
Al presionar el Botón “Display – 1” le reste 1 al número que está en el Display.
Les Agregué esos nombres a los botones.

Para poder manejar un Display de 16 Segmentos requieres de un PIC(Microcontrolador) que tenga cuando menos 3 puertos de 8 BIT’s.
2 puertos serían para completar los 16 BIT’s para el Display.
1 puerto sería para los botones.

Analiza lo siguiente, ve como en la lista Lookup asignan números para luego ser enviados hacia el puerto B del PIC(Microcontrolador).

Por El Puerto B Sale Una Combinación De Niveles Altos y Bajos.
Esa Combinación Es La Que Envia El Programa En La Variable suma.
El Display Está Conectado Así:
BIT --> Segmento.
RB0 --> a
RB1 --> b
RB2 --> c
RB3 --> d
RB4 --> e
RB5 --> f
RB6 --> g

Los BIT's Que Sean Nivel Alto En La Variable suma
Son Los Segmentos Que Encenderán En El Display

La Lista Lookup contiene los siguientes valores
en HEXagecimal:
HEX Binario
gfe dcba ß Segmentos.
3F, 0011 1111 = 0
06, 0000 0110 = 1
5B, 0101 1011 = 2
4F, 0100 1111 = 3
66, 0110 0110 = 4
6D, 0110 1101 = 5
7D, 0111 1101 = 6
07, 0000 0111 = 7
7F, 0111 1111 = 8
6F, 0110 1111 = 9.

Así que de lo anterior puedes definir los números que contendría la lista Lookup para manejar el Display De 16 Segmentos.

Nota: En tu circuito te faltaron las resistencias limitadoras entre el PIC(Microcontrolador) y el Display.

saludos
a sus ordenes
 

Adjuntos

  • Bórrame T.jpg
    Bórrame T.jpg
    158.9 KB · Visitas: 39
  • Prueba.zip
    16.9 KB · Visitas: 15
Muchas gracias Mr. Carlos por la exlicacion.
Y en cuanto al programa si funciona yo mismo lo probe en proteus, aunque como dices me falto añadir las resistencias al display.
descargare los adjuntos pra analizar lo que hiciste, gracias.


Y aprovecho el mensaje para preguntarles : ¿que me recomiendan comprar un costoso programador de pics o hacer uno yo mismo, que es mejor para los que recien se incian?

Gracias, de antemano.

pd: estoy haciendo unas luces estilo auto fantastico (KITT), ya tengo casi todos los materiales solo me falta el programador, el pic y terminar el programa de la secuencia, la cual se podra ajustar la velocidad y selecionar la secuencia ( entre 2), alrato posteo el diagrama y el programa.
 
Atrás
Arriba