Bien, buscando como controlar las locomotoras de la maqueta encontré como configurar la instrucción Hpwm.
Hpwm es una instrucción que llevaba tiempo que quería probarlo pero siempre me había dado fallos, eso unido a mi poca paciencia y tiempo... Pero bueno encontré un ejemplo en todo pic y revisando la ayuda de Microcode Studio, hice este pequeño programa para controlar la intensidad de 2 leds con los conversores analógicos.
Una de las ventajas que tiene es que se ejecuta en segundo plano así que puedes hacer otras cosas mientras que se ejecuta hpwm. Una de las desventajas es que utiliza pines específicos del PIC llamados CCP, en el caso del 16F876A son 2 y están situados en los pines 12 y 13 (CCP2 y CCP1 respectivamente).
Para activar el HPWM en PBP se utilizan los siguientes DEFINE'S
DEFINE CCP1_REG PORTC 'Hpwm 1 pin port
DEFINE
CCP1_BIT 2 'Hpwm 1 pin
bit
DEFINE CCP2_REG PORTC 'Hpwm 2 pin port
DEFINE
CCP2_BIT 1 'Hpwm 2 pin bit
Bueno con esto se habilita, y la instrucción es así:
HPWM Channel,Dutycycle,Frequency
En Channel ponemos el canal del CCP que estemos usando, 1 para CCP1 y 2 para CCP2
En Dutycycle pondremos la variable o el número que queramos para los ciclos que especifica el encendido / apagado en relación a la Frecuencia (Frequency). Con una variable Byte, 0 seria totalmente apagado, 127 seria la mitad de la onda y 255 seria la onda completa, en el caso del led, este brillara a su máxima potencia.
El tema de las frecuencias (Frequency) no lo tengo muy claro asi que mejor mirarlo en el Data del Chip, yo estoy utilizando 255 y funciona bien, al menos en la prueba por hardware, porque en la simulación no va muy fino. Pero no me queda muy claro si es por culpa del PC o del programa....
En la pagina de descargas encontrareis el ejemplo en Pbp y la simulación en Proteus
Un saludo!!
By PeYuTrOn
infotronikblog
Blog personal de Electrónica y Microcontroladores
sábado 10 de marzo de 2012
16F876A ADC y HPWM
lunes 27 de febrero de 2012
Control de desvios con pic 16f876A
Bien esto es lo que tengo recopilado hasta ahora sobre el control de los desvíos. En la maqueta tengo hasta 7 desvíos, todos son relés, así que es básicamente un control de relés con teclado y LCD de 16x02. El programa es muy similar a uno que ya publique anteriormente sobre el control de leds llamado "Teclado y portA".
Una de las diferencias es que se muestra el resultado en una pantalla LCD. En un futuro también se mostrara la velocidad en una escala de 0 a 85, la verdad es que ya le he estado tocando y más o menos ya lo tengo controlado, aunque sigue en pruebas.
Como ya he comentado el programa es muy parecido al de Teclado y portA. Con el LCD tuve un pequeño problema relacionado con el bootloader. El Screamer1.4 / 1.6 tiene el fallo de cargar el bootloader el principio de la memoria del PIC y cuando lo intentaba cargar me tiraba un fallo relacionado con GOTO, como si intentara escribir en la zona donde esta el bootloader. Lo solucione buscando otro bootloader llamado Tiny Bootloader. Resulta que este bootloader se programa en la parte final de la memoria y ya no da el error. Bueno lo mismo estoy equivocado, pero lo que si es cierto es que funciono... ¡¡Y a la primera!!
Os dejo los archivos en PBP y Proteus por si queréis hecharles un vistazo. Encontrareis los archivos en la sección de descargas.
Un Saludo!!!
Una de las diferencias es que se muestra el resultado en una pantalla LCD. En un futuro también se mostrara la velocidad en una escala de 0 a 85, la verdad es que ya le he estado tocando y más o menos ya lo tengo controlado, aunque sigue en pruebas.
Como ya he comentado el programa es muy parecido al de Teclado y portA. Con el LCD tuve un pequeño problema relacionado con el bootloader. El Screamer1.4 / 1.6 tiene el fallo de cargar el bootloader el principio de la memoria del PIC y cuando lo intentaba cargar me tiraba un fallo relacionado con GOTO, como si intentara escribir en la zona donde esta el bootloader. Lo solucione buscando otro bootloader llamado Tiny Bootloader. Resulta que este bootloader se programa en la parte final de la memoria y ya no da el error. Bueno lo mismo estoy equivocado, pero lo que si es cierto es que funciono... ¡¡Y a la primera!!
Os dejo los archivos en PBP y Proteus por si queréis hecharles un vistazo. Encontrareis los archivos en la sección de descargas.
Un Saludo!!!
lunes 20 de febrero de 2012
Maqueta tren a escala control con VB6
Este es la interfaz que estoy diseñando para el control de la maqueta mediante el ordenador, por el momento no publico el código porque solo esta empezado y falta muchisimo código. Bien por el momento con el teclado controlo los desvíos desde el 1 al 7 y "/" y "\" para los cruces de vías.
Los controles son 3 uno para el circuito exterior, otro para el interior
y un tercero para maniobras. Y bueno esto sera a grandes rasgos la
pantalla de control. Espero hacerle también una especie de base de datos
de los sensores para poder hacer paradas programadas y saber en que
parte de la maqueta se encuentran los trenes.
Proximamente más avances!!
Un saludo!!!
martes 17 de enero de 2012
Circuito para desvios HO / N con bobina
Bien compre una bobina para probar y mover uno de los desvíos de la maqueta. Lo compre por probar, y ver que tal iban pero creo que si no lo tuviera no lo hubiese puesto, más que nada porque los que he hecho con los relés me están funcionando de maravilla. Pero en fin ya que lo tenia...
El desvió en cuestión es este:
Encontré este circuito que resuelve a la perfección el uso de este tipo de bobinas. Utilizando corriente alterna de 12v a 16v.
Valores típicos para este circuito son: resistencias de 1000 ohm para R1 y R2 y condensadores de 1000 uF y 16 V para C1 y C2 . Los diodos pueden ser del tipo 1N40xx
Fuente: Mimaquetaz.blogspot.com
By PeYuTrOn
El desvió en cuestión es este:
Encontré este circuito que resuelve a la perfección el uso de este tipo de bobinas. Utilizando corriente alterna de 12v a 16v.
En este caso, tenemos para cada desvío una pareja de condensadores C1 y C2 que se cargan a la polaridad inversa uno de otro mediante el circuito formado por las resistencias y diodos R1 D1 y R2 D2. En la posición mostrada en la figura, El condensador C2 quedará cargado a la tensión de pico de la corriente altera que proporciona el transformador. Si en ese momento cambiamos el conmutador S1 a la posición B, el condensador C2 se descarga a través del diodo D4 atravesando la bobina B2. El diodo D3 impide que la corriente de descarga circule también por B1. Así que al mover el comutador hemos provocado una corriente de corta duración, ya que sólo se mantiene hasta que el condensador queda descargado.
Una vez que el conmutador se ha movido a una posición, por ejemplo a la A en la figura 4, y una vez que el condensador se ha descargado, queda una corriente residual que viene de R1, D1 y D3 que sigue circulando indefinidamente por la bobina. La resistencias R1 y R2 limitan esta corriente a un valor insignificante que no produce ningún calentamiento.
Este método tiene la ventaja de que es intrínsecamente seguro, puesto que la corriente que mueve las bobinas proviene de un condensador, y por lo tanto está limitada en el tiempo. Como vemos el dispositivo de mando es un sencillo conmutador cuya posición sirve de señalización para indicar la posición del desvío. Los componentes electrónicos que se necesitan son muy baratos. Hay un ligero inconveniente, y es que los condensadores tardan unos cuantos segundos (3 o 4 segundos) en recargarse después de cada movimiento, así que no pueden hacerse dos movimientos muy seguidos del mismo desvío.
Valores típicos para este circuito son: resistencias de 1000 ohm para R1 y R2 y condensadores de 1000 uF y 16 V para C1 y C2 . Los diodos pueden ser del tipo 1N40xx
Fuente: Mimaquetaz.blogspot.com
By PeYuTrOn
jueves 8 de diciembre de 2011
BrutusShutdown 1.2
Ya esta disponible la nueva versión para BrutusShutdown. BrutusShutdown 1.2 añade las opciones de reiniciar y suspender.
La opción "Suspender" es muy util sobre todo en portatiles.
Descargar BrutusShutdown 1.2
By PeYuTrOn
La opción "Suspender" es muy util sobre todo en portatiles.
Descargar BrutusShutdown 1.2
By PeYuTrOn
Publicado por
Peyutron
en
01:04
Etiquetas:
Blog,
Informatica,
Programación,
Visual Basic
0
comentarios
sábado 3 de diciembre de 2011
Alimentación analógica para tren a escala
Buscando como hacer una fuente de alimentación para el tren, encontré este esquema para hacer un control analógico. El esquema no incluye ni frenado ni aceleración, a decir verdad es bastante simple, pero muy útil si lo que quieres es probar la maquina o comprobar que el circuito esta bien. Antes usaba uno basado en un integrado 555 pero nunca conseguí que se quedara al 0% y cuando paraba hacia un ruido un poco extraño además de tirones.
Con este circuito la variación va desde el 0% al 100%
Aparte de para maquetas a escala H0 / N también se puede utilizar para un ventilador o para cualquier motor de corriente continua, aunque para eso aconsejaría bajar el voltaje de 16V a 12V
By PeYuTrOn
Con este circuito la variación va desde el 0% al 100%
Aparte de para maquetas a escala H0 / N también se puede utilizar para un ventilador o para cualquier motor de corriente continua, aunque para eso aconsejaría bajar el voltaje de 16V a 12V
By PeYuTrOn
Suscribirse a:
Entradas (Atom)
