lunes, 22 de diciembre de 2008

CRONOMETRO SCALEXTRIC

Es una manera de simular con Proteus la MICRO'PIC TRAINER PLUS es una herramienta que tiene perifericos en I2c, como el reloj en tiempo real (PFC87583), multiplexor (PCF8591) y el SAA1064 que gestiona 4 displays y teclado 5 x4, entre otros. Estos 4 perifericos se usan en el proyecto de cronómetro de SCALEXTRIC, además del display LCD de la MICRO'PIC TRAINER

El programa, arranca la cuenta con el semaforo que hace el multiplesor, lleva la cuenta de las vueltas en los displays de LED 7 segmentos, y con un zumbador indica si vas en vuelta rápida, guarda los tiempos de minutos, segundos y centesismas en la memoria EEPROM del PIC16f876 y al final visualiza los tiempos de todas las vueltas, indicando cual es la vuelta rápida.


El proyecto esta en el sitio: http://www.esnips.com/web/CRONOMETROSCALEXTRIC/



martes, 30 de septiembre de 2008

EA1EVS ROTOR SYSTEM

INTRODUCCION.






El objetivo de este proyecto es conseguir un circuito que conectado al puerto serie de un PC, controle el ángulo azimutal de un rotor con un diseño simple, versátil y económico. Este es un proyecto abierto, es decir, el diseño y las pruebas se hicieron con un rotor de la casa Yaesu modelo GS-250, pero se puede adaptar a cualquier rotor que controle su posición por medio de un potenciómetro, también se puede adaptar fácilmente el firmware para que controle la elevación.



En este articulo voy a describir el diseño del circuito y las funciones del programa, sin entrar en demasiados datos técnicos, que facilitare a quien este interesado en realizarlo o continuar con el proyecto para adaptarlo a su necesidades, tanto diseños del circuito hechos en un simulador, así como el diseño de las placas de circuito impreso y del código fuente en lenguaje C comentado y explicado, con la única condición que respeten la licencia GNU de código libre y abierto y den a conocer las modificaciones y mejoras que se realice. Es decir, que esta información no se use para el “paso por caja” sino para experimentar, ayudar al que no sabe y compartir la información con los demás.



DESCRIPCION.


El circuito se basa en un microcontrolador de la casa microchip el famoso PIC16F876, que el solo lo hace todo con muy pocos periféricos, tiene un conversor A/D de 10 Bit, más que suficiente para darnos los 360º del azimut.



Figura 1. Conexiones de las placas.



Para la adaptación de los niveles de TTL a RS-232 usamos el no menos conocido MAX232 de la casa maxim dallas. La visualización de las posiciones y rumbo se hace mediante un display LCD HD44780U de la marca Hitachi. La parte de potencia esta diseñada para sustituir al mando del rotor, también se puede usar los relés del propio mando por eso y por simplificar el diseño del circuito impreso, para evitar usar la doble cara, se ha diseñado una segunda placa que cada uno puede modificar a su gusto según sus necesidades.






Figura 2. Esquema Eléctrico.




Como en el mando del fabricante el giro a derecha e izquierda se hace mediante relés, que unos transistores BD135 (Q1 y Q2) se encargan de amplificar la corriente necesaria para activarlos. Los contactos de los relés están en cascada para evitar que un posible fallo del micro accione los dos relés a la vez y pueda quemar los devanados del rotar ya que este usa uno para el giro a derecha y otro para el giro a izquierdas. Señalar que el condensador C17 de 65mf 110w ac, en este modelo lo lleva en el mando (señalado en rojo C9), pero el modelo GS-450 lo lleva incorporado en el rotor, por lo que no es necesario ponerlo. Como se puede ver en el esquema del mando de la figura 3. En el que se señala el condensador y los relés.


Figura 3. Esquema del mando




En otra placa conecta los pulsadores de “más”, “menos”, las cuatro memorias y el interruptor de manual/automático. En la cuarta placa se aloja un pequeño adaptador para el LCD con un potenciómetro para el contraste y una resistencia para limitar la corriente del Led de la retroiluminación.

Las placas se unen entre si con cinta plana y conectores DIL-IDC de 10 pines. Las salidas hacia el rotor y el PC se hacen mediante ese mismo conector en la placa y un conector tipo DB9 hacia el panel de la caja.



EL PROGRAMA.




El programa está diseñado para una estación de HF con una precisión de más menos un grado, con la posibilidad de variar la histéresis, con lo que se evita las continuas correcciones por culpa del movimiento que en días de viento pueda tener la antena. La primera vez que se alimente el circuito, grabara las memorias M1 a M4 con los valores de 0, 90, 180, 270 grados respectivamente, valores que se pueden modificar posteriormente, después entrara en el menú de calibración.




El software tiene la opción de manual y automático. En automático se han hecho pruebas con el programa para concursos de N1MM y el libro de guardia Swisslog, el protocolo que se usa es el Yaesu GS232 o compatible, la configuración del puerto COM es de 9600 baudios, sin paridad, y con un bit de parada. En el libro de guardia no actualiza continuamente la posición, cosa que si hace el N1MM.




En la posición manual, el interface no atiende a las ordenes enviadas por el ordenador pero si envía a este la posición donde se encuentra.





Figura 3. Diagrama de flujo.






En la posición de manual, si el al encender se deja pulsado el “+“, entrara en un menú de calibración en el que en el LCD pedirá la posición de 0º, con la tecla “+” y “-“ moveremos el rotor a derecha e izquierda, a la vez que en la pantalla visualiza el valor del conversor analógico digital, una vez alcanzada la posición se pulsada M1 para memorizar la posición.



Luego pedirá la posición de 359º que con el mismo proceso, posicionaremos el rotor en esa posición y se grabara pulsando M2.

Y por último no va a pedir el valor de la histéresis, en las pruebas hechas, un valor de 3 grados es un valor adecuado para cuando sople “ligero viento”.



COMANDO_____________ OBSERVACIONES


Mxxx--------------------> Rumbo xxx del azimut. (PC->interface)

+xxx---------------------> Posición xxx del azimut (interface->PC)

R ------------------------> Giro a derecha.

L------------------------> Giro a izquierda.

C------------------------> Petición de posición.

S------------------------> Para.


Figura 4. Tabla de los comandos del protocolo yaesu GS-232.




En la tabla de la figura 3, se muestra un ejemplo de los comandos del protocolo Yaesu GS-232 que acepta el interface, el envío del comando se finaliza con el comando “CR” (retorno de carro o CR ASCII 13 o 0D en hexadecimal). Por ejemplo cuando el programa quiera que el rotor se posicione en el rumbo 175º enviara por el puerto serie COMx el carácter “M175” seguido de un “CR”.



Cuando el programa interroga al interface para saber la posición enviara el carácter “C” en el caso del Swisslog y “C2” en el caso del N1MM seguido del “CR”. Y el interface devuelve la posición con el carácter salto de línea (LF ASCII 10 o 0A en hexadecimal) “+” seguido de los tres caracteres de la posición y del comando “CR”. Ejemplo si la posición de la antena es de 165 grados enviara los comandos “LF, +, 1, 6, 5, CR”. Estos datos pueden ser necesarios para comprobar el correcto funcionamiento del funcionamiento de la comunicación entre el PC y el interface, ya que con un programa terminal como el hyperTerminal se puede hacer el test.




En el diagrama de flujo se representan en líneas generales el funcionamiento del programa, si usamos el interface en modo manual tenemos la opción de tener 4 memorias en las que se puede acceder con una pulsación corta, y en una pulsación larga queda memorizado la posición. Pulsando el “+” aumentaremos el rumbo y pulsando el “-“se decrementa. Si se pulsan ambos a la vez hacemos adelante/atrás, es decir, un giro de 180º.



El único ajuste que tiene es el potenciómetro RV1 que cambia el contraste del LCD, también es aconsejable poner toroide de ferrita en la manguera del rotor y en el cable del puerto COM para prevenir interferencias por radiofrecuencia.



Espero que este proyecto sea de interés ya que su coste sin caja es inferior a 50€. Pudiendo ser mucho menor si se encuentran en páginas de subastas. Y todos los componentes se encuentran sin problema por ser de uso corriente.


En este proyecto colaboraron EA1EVR en la búsqueda de documentación y EA1CP, en el montaje y pruebas de los prototipos. Mi correó es ea1evs@ure.es donde con mucho gusto intentare aclarar cualquier duda. Sitio donde se puede bajar el proyecto: http://www.esnips.com/web/ROTOR.También recomiendo el visitar la fantastica web de PICMANIA http://picmania.garcia-cuervo.com/index.php en la que puedes encontrar una gran recopilación de información para adaptar este proyecto a tus necesidades y mejorarlo.