viernes, 22 de febrero de 2013

Control de la radio TEA5767 mediante RS232. Programación en Gambas y SDL.

Control de la radio TEA5767 mediante RS232.
Programación en Gambas y SDL.


Este artículo no sabía si ponerlo en montajes electrónicos o en programación. Pero debido a que la programación en Gambas y SDL me a supuesto el 90% del trabajo, he decidido ponerlo en informática.
El TEA5767 es un integrado que tiene todo lo necesario para realizar una radio FM. Se necesitan unos pocos componentes añadidos para su funcionamiento, de tal forma que se pueden comprar todo el conjunto montado por 3,5€.
Toda la programación del TEA5767 se realiza mediante el I2C-bus.
Las características del TEA5767 son las siguientes:
* High sensitivity due to integrated low-noise RF input amplifier
* FM mixer for conversion to IF of the US/Europe (87.5 MHz to 108 MHz) and Japanese
  (76 MHz to 91 MHz) FM band
* Preset tuning to receive Japanese TV audio up to 108 MHz
* RF Automatic Gain Control (AGC) circuit
* LC tuner oscillator operating with low cost fixed chip inductors
* FM IF selectivity performed internally
* No external discriminator needed due to fully integrated FM demodulator
* Crystal reference frequency oscillator; the oscillator operates with a 32.768 kHz clock
  crystal or with a 13 MHz crystal and with an externally applied 6.5 MHz reference
  frequency
* Phase-locked loop (PLL) synthesizer tuning system
* I2C-bus and 3-wire bus, selectable via pin BUSMODE
* 7-bit IF counter output via the bus
* 4-bit level information output via the bus
* Soft mute
* Signal dependent mono to stereo blend [Stereo Noise Cancelling (SNC)]
* Signal dependent High Cut Control (HCC)
* Soft mute, SNC and HCC can be switched off via the bus
* Adjustment-free stereo decoder
* Autonomous search tuning function
* Standby mode
* Two software programmable ports
* Bus enable line to switch the bus input and output lines into 3-state mode

Recomiendo encarecidamente ver product data sheet el TEA5767, para ver todas sus características y modos de programación.

Esquema de TEA5767


TEA5767 con todos los componentes.


Descripción de la patillas.



TEA5767 montado sobre un circuito impreso.


Arduino controlando el TEA5767 mediante el bus I2C.

He creado dos programas, uno en Gambas y otro con la librería SDL, que manejan a través del arduino la radio FM TEA5767.
Su funcionamiento es el siguiente:
El programa en el ordenador mandan a través del puerto USB ordenes al arduino.
    DATO1=15
    DATO2=117

El arduino las procesa y manda las ordenes oportunas a través de bus-I2C al TEA5767.
     Wire.beginTransmission(0x60);
     Wire.write(dato1);
     Wire.write(dato2);
     Wire.write(dato3);
     Wire.write(dato4);
     Wire.write(dato5);
     Wire.endTransmission();


La salida del audio se puede conectar a unos altavoces amplificados de PC, donde se escucha la radio.

Lo que me satisface más, es el poder compilar para las dos plataformas, Linux o Windows, con solo cambiar la directiva YesWindows 0 por #define YesWindows 1 en el fichero define.h.

La programación se ha realizado en Linux  con la IDE geany , y en Dev-C++ bajo Windows.

Archivos_SDL
Programa SDL funcionando en Linux.


Programa SDL funcionando en Windows.


Programa Gambas funcionando en Linux.

Archivos_Gambas

Programa_Arduino


Saludos.
JUAN GALAZ

Bibliografía:
http://www.doctormonk.com/2012/03/tea5767-fm-radio-breakout-board-for.html
http://www.electronicsblog.net/arduino-fm-receiver-with-tea5767/
http://kalum.posterous.com/arduino-with-tea5767-single-chip-radio-and-no

jueves, 7 de febrero de 2013

Antena wifi. Antena sectorial o de panel.

Página principal

Antena wifi
Antena sectorial o de panel.
xsetaseta@gmail.com

El otro día me trajo un amigo una antena recibida desde China, era grande, además llevaba integrado el chip.
Tenía buena pinta, y al hacer pruebas nos dio una muy buena recepción de señal.



Después de investigar por internet pude descubrir que esta antena tenía dos nombres, dependiendo de donde mirases, antena sectorial o de panel.
La antena es de muy fácil construcción. Tiene una chapa de aluminio de 180x160 mm en el fondo. A 7 mm sobre la placa de aluminio se a colocado una placa de circuito impreso con el dibujo de la antena.
La placa de aluminio es la masa y en el punto central del circuito impreso se conecta el vivo del cable.
Los planos son los siguientes:
Plano de medidas
Plano del circuito impreso


Como en este momento no tengo una placa de circuito impreso tan grande he decidido hacerlo en chapa, soldando todos los elementos con estaño. La separación entre las chapas la he hecho con trozos de barrita de pegamento térmico. He comprobado que el pegamento termofusible no se calienta en el microondas.




De las pruebas hechas comparando con la antena Belgrado, diría que la belgrano es mas directiva, y la otra coge más señales de router.
Con la antena Belgrado he recibido 67 señales de router, con la antena de panel 93 señales de router.
Pero unas señales que se veían con una antena no se veían con la otra y a la inversa.

Como conclusión diría que tiene muy buena ganancia y recomiendo su construcción.

Saludos.
JUAN GALAZ

Enlaces:
    http://notodoeswindows.files.wordpress.com/2009/11/antenas-caseras.pdf
   http://www.zero13wireless.net/foro/showthread.php?3489-Paso-a-Paso-Fabricacion-de-Antena-Sectorial-14-dBi-s-por-Topacho

miércoles, 6 de febrero de 2013

Arduino - Reloj mediante interrupciones internas y registrador de temperaturas.

Página principal

Arduino
Reloj mediante interrupciones internas
y
registrador de temperaturas.
xsetaseta@gmail.com

Este montaje es un reloj hecho mediante arduino utilizando interrupciones internas, se basa en mi anterior montaje reloj.
Tiene además dos sensores de temperatura DS18S20 colocados en un cable de dos hilos utilizando la librería OneWire.

Se registran la temperaturas  y se almacenan en la EEPROM interna (512 bytes) del ATmega328.
Cada registro costa de 5 bytes, por lo que el máximo de registros es de 101 registros.
He realizado distintos tipos de REC, dependiendo del tiempo entre grabación de datos.


El montaje tiene dos pulsadores para poner en hora el reloj y realizar las distintas funciones que dispone el circuito.




Realización del circuito.


Esquema.
No he podido simular en proteus los sensores de temperatura.

Debido a que el  código fuente es muy extenso lo he puesto en una página separada de la presentación
Código fuente del arduino CÓDIGO

Con los datos grabados toda la noche en Palencia (España),  y utilizando una hoja de cálculo para realizar un gráfico, he hecho esto.
El sensor1 está colocado en el exterior, y el sensor2 está colocado en el interior de la casa.

En el eje X he figurado las horas, y en el eje Y los grados centígrados.


Gráfico del sensor metido en el frigorífico.

El consumo total del circuito es de 27mA, el LCD solo consume 1,5mA.
La autonomía utilizando baterías es un tanto escasa, mi próximo objetivo es reducir su consumo.
He leído un artículo de como reducir el consumo http://blog.dosbotones.com/2011/09/reducir-el-consumo-de-arduino.html , en algún montaje posterior intentare poner en práctica todo lo que indica el artículo.


Saludos.
Juan Galaz