sábado, 20 de julio de 2024

Antena - 1/4 Wave Ground Plane - Antenna

  Página principal

Antena
1/4 Wave Ground Plane
Antenna



Hace bastante tiempo hice una antena vertical 1/4 onda para FM .
En este proyecto repito el mismo montaje, pero lo realizo en PLA con impresión en 3D y para las frecuencias de 144 MHz (2m) y 433 MHz (70 cm).
Utilizando la página para el cálculo de dimensiones, me pongo con FreeCAD para hacer la pieza.


El trabajo con FreeCAD puede ser frustrante en algunos momentos, pero al final consigues cosas muy brillantes.
Lo que más me ha costado es los taladros en ángulos de 45º.
Debería haber realizado los taladros con forma de elipse para que quedaran perfectos, pero después de 4 pruebas, lo he dejado así.




Lo normal es hacer unas cuantas pruebas hasta conseguir la pieza.


Pieza definitiva.....



Los radiales para las diferentes bandas.




Se ha realizado con dos varillas de aluminio, diámetros de 6 mm y 4 mm respectivamente, que encajan una dentro de la otra.
La unión entre las dos varillas se hace mediante clemas , o mediante un método ideado por mi que utiliza piezas de plástico con taladros descentrados.
Las varillas de 6 mm  huecas son de 100 mm de largo, suficiente para sujetar tanto las varillas de 49 cm para la banda de 2m, como para los 18 cm    de la banda de 70 cm.

Con las varillas de 10 cm probamos el nanoVNA.

Vemos que que la antena está sintonizada a 616 MHz, y con una ROE de 1.086 y la impedancia de 54 ohmios, casi perfecta.

Como la idea del montaje era realizar una antena para diferentes frecuencias, añadimos las varillas de aluminio de 4 mm de diametro.
La primera prueba es con varillas cortas 13 cm, y ajustamos para que la longitud total sea de unos 17 cm.

El ajuste a esa frecuencia debe ser preciso, pero en una primera impresión el resultado es bueno.

En la siguiente prueba es con varillas de 49 cm para la banda de 2m (144MHz).

Como vemos, la antena está resonando en 148 MHz, deberíamos ajustar un poco mas la longitud de las varillas.
No he queridos ajustar demasiado, debido que se debería hacer con la longitud real del cable, y en este caso no la tenía.
Si os fijáis también resuena sobre los 440 MHz, haré unas pruebas prácticas por si se puede utilizar en la banda de los 2 m.

Espero que os haya gustado es proyecto.

Fichero STL

VIDEO DEMOSTRATIVO

------------------------------------------------

Video prueba 30/07/2024




Saludos.
Juan Galaz




Bibliografía:
https://m0ukd.com/calculators/quarter-wave-ground-plane-antenna-calculator/
Antena vertical 1/4 de onda



lunes, 15 de julio de 2024

ESP8266 - Receptor radio Internet

Página principal

ESP8266
Receptor radio Internet



En el anterior proyecto había realizado un reproductor de wav desde la memoria Flash.
Intentando hacer lo mismo con el ESP8266, que aún no lo he conseguido debido a la falta de convertidor D/A, encontré una serie de montajes que hacían uso de de una librería ESP8266Audio , con la cual se podía reproducir flujos de audio de emisoras comerciales, deben ser MP3.
Para hacerlo más fácil, solo he utilizado micro-interruptores en la selección de canales, y un botón para parar y escuchar la emisora de radio.
He creado dos programas que son casi lo mismo, la única diferencia es el uso de los buffer.







PROGRAMA_A
PROGRAMA_B

VIDEO DEMOSTRATIVO


Saludos.
Juan Galaz




Bibliografía:
https://github.com/earlephilhower/ESP8266Audio/tree/master
https://www.hackster.io/earlephilhower/esp8266-digital-radio-ee747f



 

jueves, 4 de julio de 2024

ESP32 - Reproductor de WAV

  Página principal

ESP32
Reproductor de WAV

En el anterior proyecto ../vozmemo.html había realizado un reproductor de WAV desde una memoria Flash, utilizando el arduino.
Ahora me dispongo a realizar el mismo proyecto pero con el ESP32, y utilizando la memoria Flash que incorpora la placa, en este caso para la placa LOLIN 32 la memoria es  T25S32.
He utilizado la placa LOLIN 32 debido a que es más pequeña y la tenía cerca, pero el montaje funciona con cualquier placa ESP32.
En el caso del montaje con arduino, grabar la memoria Flash con un programador, en este montaje los datos de sonido WAV  se incorporan en el propio código.

Empezamos con el sonido grabado en formato de 11KHz y 8bits.

Una vez que tenemos el archivo WAV, debemos transformarlo a código C.
Utilizamos el programa HxD , es un editor hexadecimal que tiene la opción de exportarlo a código C.

Obtenemos un fichero con extensión .c , aunque lo he renombrado con extensión .h , es un gusto mio.

Ahora debemos editar el fichero para cambiar el tipo de dato.
Debemos cambiar de:
 unsigned char rawData[301892] = {
a
const char rawData[] = {

Con este cambio los datos se almacenan en la memoria Flash.

El fichero lo copiamos al mismo directorio del proyecto arduino y lo agregamos con:

#include "metro1.h"
long tamano=sizeof(rawData);


En el código  de programa del ESP32, creamos una interrupción cada 11KHz, que lo que hace es leer los datos WAV almacenados en la memoria Flash y mandarlos al convertidor D/A.

hw_timer_t *timer = NULL;

void IRAM_ATTR timerInterrupcion()
{
 if(dire>tama) { fin=1; dacWrite(25, 128);  } //
 if(fin==0) {  dacWrite(25, rawData[dire++]);  }
}

void setup()
{
  ....
  timer = timerBegin(1000000); // Timer 0, clock divider 80
  timerAttachInterrupt(timer, &timerInterrupcion); // Attach the interrupt handling function
  timerAlarm(timer, 90, true, 0); // ((1/11000)*1000000)
  ...
}


He creado dos programas, uno que utiliza el terminal para mandar el numero de trozo WAV a reproducir.




En el  segundo he añadido un display OLED y un mando rotatorio para elegir el sonido a reproducir, también se puede mandar los códigos desde consola.


Para leer el mando rotatorio utilizo las entradas en modo INPUT_PULLUP, debería funcionar tal como está en el código.
El problema es que algunos pin del ESP32 no se pueden poner en modo INPUT_PULLUP, si no os funciona con está configuración, deberéis colocar una resistencia de 10K desde las entradas hasta Vcc.

He tenido un problema con las librerías del ESP32.
Como yo utilizo Linux para programar, y tiene su propio Arduino en los repositorios, si mezcláis las librerías con la versión que viene de serie en Linux, saldrán errores.
Solución, desinstalar el Arduino que viene en Linux, y bajar de la página de arduino la versión arduino-1.8.19 y utilizar esta última.

Como en la versión de arduino, el leer byte a byte desde la memoria Flash no es del todo rápido, próximamente intentaré crear un buffer de 100 bytes para que sea más rápido.

PROGRAMA


09/07/02024
Como había prometido, he realizado una segunda versión, en esta la lectura de los datos desde la memoria Flash la hago de 100 datos cada vez.
En el arduino se notaba que aumentaba el rendimiento del programa, pero en este caso al ser un procesador 10 veces más rápido, no se nota mucho.
De todas formas he programado el cambio.
PROGRAMA2


VIDEO DEMOSTRATIVO


Saludos.
Juan Galaz




Bibliografía:

../vozmemo.html
voz2.html
arduvoz.html
arvoc.html .