Mostrando entradas con la etiqueta servo. Mostrar todas las entradas
Mostrando entradas con la etiqueta servo. Mostrar todas las entradas

martes, 14 de octubre de 2025

Antena Loop III

  Página principal

Antena Loop
III
Una vez que tenemos construida la antena Loop pasamos a la parte de control de sintonia.
En este artículo realizo la parte de control de los 2 servos que manejan la capacidad de los condensadores de la antena Loop.


Para el control de los dos servos se podría emplear un mando infrarrojo, alguna vez lo he empleado.
Pronto lo desestimé,  el mando por infrarrojos debe tener visión directa con la antena, en muchos casos la antena puede estar en el exterior, y la emisora en el cuarto de radio, en el interior.
La opción más fácil es emplear Bluetooth, y eso hice, utilizar un arduino junto con un módulo bluetooth (HC-05 o HC-06).
Una vez montado todo, funcionaba perfectamente.
Como yo no estaba totalmente satisfecho, pensé en utilizar un Chip ESP32 que tiene incorporado el Bluethooth, y empece con probar con el ESP32-C3, es pequeño y tiene todo lo necesario.
No tenía mucha práctica con el ESP32-C3, pero empecé con ello.
Monte el circuito con los 2 servos, y todo funcionaba bien manejándolos desde la consola serie, pero cuando pasé a la parte de Bluetooth todo se torció. El ESP32-C3 no es compatible con Bluetooth clásico, sino que utiliza Bluetooth de baja energía (BLE), y este no soporta el interface serie.
Hice bastante pruebas, y cuando conseguí que funcionase algo del Bluetooth, resultó que la señal no pasaba ni una pared.
Cansado de perder el tiempo con el ESP32-C3, pasé a su hermano mayor el ESP32 clásico.
Montado el circuito con el ESP32 todo funcionaba a la primera.


El circuito está alimentado por 2 baterías 18650 de 3.7V en serie .
Los 7,4V se reducen a 5V con un 7805 que alimentará los 2 servos y el ESP32.
Todo los componentes se meten en una caja estanca eléctrica, de la cual sale el cable que se conecta a los 2 servos.
En mi caso no he colocado un interruptor, he utilizado un conector externo.


Para el control a distancia utilizo un móvil android.
En un primer momento he utilizado una aplicación gratuita  Serial Bluetooth Terminal.


Funciona perfectamente, y si configuras algún botón, mucho mejor.
Las opciones son:
x34    Cambia el valor de C1 a 34 , condensador grande.
y45    Cambia el valor de C2 a 45 , condensador pequeño.

+    Incrementa el valor de C1
-    Decrementa el valor de C1
q    Incrementa el valor de C2
a    Decrementa el valor de C2

o    Activa los servos.
c    Desactiva los servos.


Conviene una vez que se sintoniza la antena, desactiva los servos.

Funcionaba bien, pero no estaba conforme con utilizar este programa.
Busqué en mis antiguos proyectos de android, y encontré uno que hacía uso del terminal serie por Bluetooth.
En este caso estaba programado en B4A , un compilador Basic para android.
Desde que había programado en B4A había pasado mucho tiempo, y me costó empezar.
Ahora el programa era de código abierto, pero tuve bajar todos los ficheros, además de que solo funcionaba en 32 bits.
Como quería que funcionase en dispositivos antiguos, tuve que importar proyectos antiguos, si creaba uno nuevo ya no funcionaba  en dispositivos antiguos. :(  . Además al instalar el programa creado debes aceptar una doble confirmación.
Al final conseguí que funcionase,  aunque la interface es un poco fea.




Ajuste de la antena LOOP.



Programas , Arduino, B4A, APK

VIDEO

Espero que os haya gustado este montaje, me ha llevado bastante tiempo.


Saludos.
Juan Galaz



Bibliografía:

https://loop-magnetic-ce3yu.blogspot.com/2015/01/antena-loop-magnetica_31.html
https://www.nonstopsystems.com/radio/frank_radio_antenna_magloop.htm#top-of-page
http://www.pearltrees.com/kc4fne/loop-antennas/id25196879
http://www.radioamatoripeligni.it/i6ibe/loopflat/loopflat.htm
https://www.ivarc.org.uk/uploads/1/2/3/8/12380834/multi-band_hf_magnetic_loop_slides_-1.pdf





lunes, 13 de octubre de 2025

Antena Loop II

  Página principal

Antena Loop
II

Hace un año había realizado una antena Loop, o antena de aro. http://seta43.duckdns.org/ante_s/ante_s.html
La había realizado con cable coaxial
RG213. Este cable pesa mucho y la antena era difícil de manipular.
Además la sintonía a la que la antena funciona, frecuencia de resonancia, se hace a través de un condensador variable.
O tienes la antena cerca, o no hay manera de cambiar de frecuencia.
Al tener la antena cerca, supone un peligro, tensiones muy altas en el condensador (varios kV incluso a baja potencia).
Calambrazos he sufrido en mis propias carnes al intentar sintonizar la antena mientras transmitía con 2W, no es que fueran grandes, pero se notaban. Yo me imaginaba con 100W de transmisión, y se me ponían los pelos de punta.


(c) 2019Alan Badcock

¿Ventajas de un Mag-Loop?

-Disposiciones de montaje sencillas de tamaño compacto.
-Rechaza las interferencias eléctricas (mejora de 2-3 puntos S).
-Tiene polarización vertical e irradia en ángulos altos y bajos a lo largo del plano del bucle, por lo que es bueno para NVIS y Dx.
-Presenta un nulo en el eje del bucle que se puede utilizar para reducir el impacto de una fuente de interferencia eléctrica.
-Banda muy estrecha en resonancia, por lo que puede reducir las fuertes interferencias de señal.
-Puede construirse para banda única o multibanda.


¿Desventajas de un Mag-Loop?

-Debe volver a sintonizarse periódicamente ya que el ancho de banda en resonancia es muy estrecho.
-Se necesita una unidad de reducción grande para un ajuste preciso.
-Tiene una resistencia a la radiación muy baja (miliohmios), por lo que cualquier pérdida del circuito afecta.
-La eficiencia requiere dramáticamente una construcción cuidadosa.
-Tensiones muy altas en el condensador (varios kV incluso a baja potencia), por lo que el espaciado y las clasificaciones de los componentes son importantes.
-Las grandes corrientes de bucle también aumentan los peligros, por lo que debe mantenerse alejado del contacto con el
antena. Se debe mantener al menos 1 m (o más en QRO) del bucle.
Se puede generar un fuerte campo magnético. - Piense en seguridad con CUALQUIER antena.

¿Que es lo que modifico en este nuevo proyecto?
Lo principal es el material utilizado para el aro. En vez de utilizar
cable coaxial RG213, utilizo tubo de calefacción multicapa.

La primera vez que lo vi utilizar fue a EA1PA (Salva) , un aficionado a la radio.
Este material se dobla bastante bien, y peso poco respecto al cable coaxial.
Debemos pelar un poco el tubo para dejar al descubierto el aluminio, es el conductor de resonancia de la antena.
El precio del tubo multicapa está entre 0,80 y 1,60 Euros el metro, dependiendo la tienda. En Leroy 2m cuestan 1,6 €.

Como condensador de sintonía he utilizado uno que tenía de hace bastantes años, soy bastante chatarrero y todo me sirve.
Pero claro, el problema de estas antenas es que deben sintonizarse muy fino, y esto es difícil mediante un solo condensador.
Pensando y pensado, y como no tenía un condensador variable de baja capacidad, decidí fabricarlo.
La fabricación me ha llevado algún tiempo, y se ha realizado en PLA , imprimiendo todas la piezas en una impresora 3D.
También se debe de disponer de laminas de metal, que se recortarán en diferentes formas.







Los 2 condensadores montados en paralelo. Los servos es otra historia de otro artículo.

He realizado 2 aros para tener mas margen al utilizar varias bandas de radioaficionado.




La proporción entre el aro grande y el pequeño es de  1/5.
Para conseguir llegar a todas las bandas se utilizan condensadores de entre 30 pF y 60 pF en paralelo con el aro grande.
Los condensadores deben ser cerámicos (alta tensión), cualquier otro tipo no funcionará o se cortocircuitará rápidamente.

Terminada la construcción de la antena de aro,  junto con los 2 condensadores y 2 servos que harán de manipulación de los condensadores, ahora viene la parte del control, esto lo haré en el próximo artículo.


Saludos.
Juan Galaz



Bibliografía:

https://loop-magnetic-ce3yu.blogspot.com/2015/01/antena-loop-magnetica_31.html
https://www.nonstopsystems.com/radio/frank_radio_antenna_magloop.htm#top-of-page
http://www.pearltrees.com/kc4fne/loop-antennas/id25196879
http://www.radioamatoripeligni.it/i6ibe/loopflat/loopflat.htm
https://www.ivarc.org.uk/uploads/1/2/3/8/12380834/multi-band_hf_magnetic_loop_slides_-1.pdf





viernes, 16 de febrero de 2018

Control de dos servos a distancia mediante Arduino y nRF24L01

Página principal

Control de dos servos a distancia mediante
Arduino y nRF24L01

xsetaseta@gmail.com

De mi anterior montaje carreco.html tenía montado todo el circuito en el mando emisor.
Tenía un mando reutilizado de un helicóptero que tenía averiado.
No tenía que tocar nada en la parte del emisor, ni siquiera debía modificar el programa.
En el lado del receptor solo debo añadir 2 servos y cambiar un poco el programa.

Esquema del emisor. (Realizado con https://easyeda.com/ )


Circuito emisor montado con el mando reciclado.




Esquema del receptor.



Fotos del receptor montado.

Patillas de los distintos tipos de servos.

Debemos tener en cuenta que los servo tienen bobinas y que producen interferencias y alto consumo en picos, por lo cual deberemos alimentar todo desde una fuente algo estable.
Los datos se reciben cada 100 miliSegundos (algo menos, no es exacto) ,alrededor de 10 transmisiones de datos  por segundo.
Por hacerlo simple y sin muchas complicaciones, no se ha realizado ni medias de datos, ni detección de errores.
El que lo quiera hacer mas seguro que modifique el programa, es fácil, no hay que dar todo hecho.
También se puede utilizar los módulos con antena y mayor potencia que pueden alcanzar hasta 1Km en campo abierto. Si utilizamos mas potencia deberemos plantearnos es alimentar el nrf24 de otro sitio que no sea los 3.3V del arduino.
Hace dos años realice un circuito muy parecido rf24l01.html , utilice otra librería y otro programa, os puede servir de guía.

VIDEO DE FUNCIONAMIENTO

PROGRAMA

Hasta pronto.
Juan Galaz


BIBLIOGRAFÍA

rf24l01.html
https://www.prometec.net/servos/
https://github.com/maniacbug/RF24
https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo
http://openhardware.pe/transceptores-nrf24l01-2-4ghz-radio-wireless-how-to/
http://cursos.olimex.cl/tutoriales/
http://www.electroensaimada.com/servomotor.html
http://arduino.cl/servo-motor-con-arduino/


domingo, 16 de agosto de 2015

Radar mediante sonido. Hc-sr04 y 2 servos.


Radar mediante sonido.
hc-sr04 y 2 servos.
Manejados por arduino y controlados mediante PC.
Programación gambas (linux)

xsetaseta@gmail.com


Tenía montado los dos servos de mi anterior montaje, y se me ocurrió colocar el detector de obstáculos hc-sr04 para hacer una especie de radar mediante sonidos.
En uno de mis anteriores montajes había utilizado el hc-sr04 como detector de obstáculos arson.html , por lo que la parte de programación en arduino es realmente sencilla.
En cuanto a la parte de programación en el PC he utilizado parte del código de mi anterior montaje ledservo.html que maneja los servos y que obtiene a través de la conexión serie la distancia que proporciona el hc-sr04.
Todo esto proporciona una gráfica a modo de radar, donde podemos observar las distintas distancias que obtiene el sensor según los objetos encontrados.
A pesar de que el sensor debería proporcionar las distancias correctas, me he dado cuenta que no responde a todos los materiales de la misma forma, mi camisa amplia de algodón  resulta ser invisible. Además el angulo de rebote  que tiene el hc-sr04 es un tanto dispar, pudiendo detectar cosas pequeñas colocadas cerca sobre una mesa, pero no detectarlas si están enfrente.
Mi idea era hacer una especie de escaneo en 3D, pero la realidad del sensor ha frustrado el proyecto hasta que no encuentre un sensor mas preciso.

Esquema del montaje.


El sensor montado con los 2 servos.


Gráfico del programa realizado en basic sobre gambas.


Todos los programas

Vídeo del montaje funcionando


Hasta pronto.
Juan Galaz


BIBLIOGRAFÍA

http://seta43.duckdns.org/arson.html
http://seta43.duckdns.org/ledservo.html
http://cursos.olimex.cl/tutoriales/
http://www.electroensaimada.com/servomotor.html
http://arduino.cl/servo-motor-con-arduino/

miércoles, 29 de julio de 2015

Control de puntero láser mediante 2 servos

Control de puntero láser mediante 2 servos.
Manejados por arduino y controlados mediante PC.
Programación gambas (linux)
xsetaseta@gmail.com


De mi anterior tenia dos servos montados y manejados por una placa arduino nano. Me vino a la cabeza un proyecto que tenía en mente, manejar un puntero láser mediante un ordenador. Solo tenía que realizar un programa que mandase las coordenadas de posicionamiento desde el PC al arduino, y este manejaría los servos.
La realización fue rápida, no me he complicado mucho en el interface del PC, la he realizado en gambas (una especie de Visual Basic) bajo linux.
Toma las coordenadas de una superficie azul de 360x360 , y manda los datos X e Y como valores entre 0 y 179 mediante el interface serie al arduino.
Si se cambia la potencia se manda también con datos entre 0 y 254, que maneja el puntero mediante PWM, me hubiera gustado hacerlo con voltios reales, pero el proyecto debía realizarse rápidamente.
Para poder mover el puntero, se debe pulsar el botón izquierdo del ratón.
Para dar la potencia máxima, se debe pulsar el botón derecho del ratón.
Como los servos están construidos mediante motores, estos producen interferencia en el propio arduino, por lo cual debemos de alimentar los servos desde una fuente externa.


Esquema de conexionado.



Colocación de láser en los servos.


Montaje del circuito con todos los componentes.


El montaje funcionando
 




Vídeo del montaje funcionando

Programa  gambas

Programa arduino





Hasta pronto.
Juan Galaz


BIBLIOGRAFÍA

http://cursos.olimex.cl/tutoriales/
http://www.electroensaimada.com/servomotor.html
http://arduino.cl/servo-motor-con-arduino/



domingo, 26 de julio de 2015

nRF24L01 Control de 2 servos + 1 servo o motor



nRF24L01
Control de 2 servos + 1 servo o motor
xsetaseta@gmail.com


Revisión del circuito. 17/11/2017
Después de bastante tiempo de realizar el montaje, tuve la necesidad de hacer otro montaje con el nRF24.
Montado todo bien no me funcionaba, o el funcionamiento era errático.
Después de muchas pruebas, descubrí que en algún que otro módulo se necesitaba un condensador entre Vcc y GND.
Colocados los condensadores en todos los módulos el funcionamiento era correcto.

____________________________________________________________

En este montaje he utilizado dos placas arduino y dos módulos nRF24L01 para el control de 2 servos  y un motor de DC o 1 servo.
El control se realiza desde el circuito emisor donde existen 3 potenciómetros a modo de joystick, donde 2 hacen de modo coordenadas  X-Y , y el tercer potenciómetro a modo de control de potencia.
Mi objetivo era realizar el control de un avión RC de ala fija, donde el control se realiza con el timón de dirección y con el timón de profundidad, y la potencia del motor con el tercer potenciómetro de potencia.
En este montaje solo he utilizado el modo de transmisión de un módulo emisor  a el otro módulo receptor.
El nRF24L01+ integra un completo transceptor RF de 2,4 GHz, un sintetizador de RF y toda la lógica de banda base incluyendo un acelerador de protocolo por hardware Enhanced ShockBurstTM con una interfaz  SPI de alta velocidad para el controlador de la aplicación. El módulo Transceptor es de baja potencia y corto alcance, 200 metros más o menos.
Estos transceivers utilizan la banda de 2,4 GHz como muchos routers WiFi, algunos teléfonos inalámbricos, etc y no necesitan licencia. Estos transceptores pueden tanto enviar, como recibir datos en “paquetes” de varios bytes a la vez.

La librería utilizada es la RF24             https://github.com/maniacbug/RF24






Conexión del Arduino al nFR24L01
3V3 ----VCC (3.3V )
pin D8-----------CE (chip enable in)
pin D7----------CSN (chip select in)
SCK pin D13----------SCK (SPI clock in)
MOSI pin D11----------SDI (SPI Data in)
MISO pin D12----------SDO (SPI data out)
GND----------GND


Los pin CE y CS se pueden cambiar a otros pin del arduino en el programa.
//RF24 (cepin, cspin)
RF24 radio(8,7);


La alimentación del nFR24L01 debe estar entre 1.9 to 3.6V, por lo cual debemos utilizar la salida de 3.3V del arduino. En algunas páginas recomiendan colocar un condensador en la salida de 3.3V para minimizar posibles caídas de tensión debido a un consumo puntual alto.

Para el control de potencia del motor DC se utiliza el modo PWM (control mediante ancho de pulso) que maneja un MOSFET IRF630, es el que tenía a mano, puede servir cualquier otro.



Los servos se controlan mediante el ancho de pulso.


Emisor


Programa emisor Arduino
//xsetaseta@gmail.com
#include <SPI.h>
#include <nRF24L01.h>

#include <RF24_config.h>
#include <RF24.h>


#define debug 0

int sensorPin1 = A0;
int sensorPin2 = A1;
int sensorPin3 = A2;

unsigned char cadena[10];

RF24 radio(8,7);

unsigned int z;

// Topology
// Radio pipe addresses for the 2 nodes to communicate.
const uint64_t pipes[2] = { 0xF0F0F0F0E1LL, 0xF0F0F0F0D2LL };

void setup(void)
{

  Serial.begin(9600);

  radio.begin();
  radio.setRetries(15,15);
  radio.openWritingPipe(pipes[0]);
  radio.openReadingPipe(1,pipes[1]);
  Serial.println("Transmitiendo datos");
}

void loop(void)
{
    radio.stopListening();
    cadena[0]='A';
    cadena[1] = analogRead(sensorPin1)>>2;
    cadena[2] = analogRead(sensorPin2)>>2;
    cadena[3] = analogRead(sensorPin3)>>2;
    cadena[4] = 'A';
    cadena[5] = 'A';
#if debug    
    Serial.print(cadena[1],DEC);Serial.print(" ");
    Serial.print(cadena[2],DEC);Serial.print(" ");
    Serial.print(cadena[3],DEC);
#endif     
    enviarS();    
    radio.startListening();  
    delay(21); //20
  
}

void enviarS()
{
    if (radio.write( cadena, 6 ))
      { Serial.println(" ok send.");}
    else
      { Serial.println(" failed send.");}
}


Receptor


Programa receptor Arduino
//xsetaseta@gmail.com
#include <SPI.h>
#include <nRF24L01.h>

#include <RF24_config.h>
#include <RF24.h>

#include <Servo.h>

#define debug 0

Servo myservo1;
Servo myservo2;
Servo myservo3;

int posicion;

bool done;

const int analogOutPin = 5;

unsigned char cadena[10];
int z;

//RF24 (cepin, cspin) 
RF24 radio(8,7);

// Topology
// Radio pipe addresses for the 2 nodes to communicate.
const uint64_t pipes[2] = { 0xF0F0F0F0E1LL, 0xF0F0F0F0D2LL };

void setup()
{
  Serial.begin(9600);
  myservo1.attach(2);
  myservo2.attach(3);
  myservo3.attach(4);
  
  radio.begin();
  radio.setRetries(15,15);
  radio.startListening();
  radio.openWritingPipe(pipes[1]);
  radio.openReadingPipe(1,pipes[0]);
  Serial.println("Esperando datos");
}

void loop()
{
  delay(10);
  if ( radio.available() )
    {
      done = false;
      while (!done)
        {
        done = radio.read( cadena, 6);
#if debug        
         Serial.print(cadena[0]);Serial.print(" ");
         Serial.print(cadena[1],DEC);Serial.print(" ");
         Serial.print(cadena[2],DEC);Serial.print(" ");
         Serial.print(cadena[3],DEC);Serial.println(" ");
#endif      
         z=cadena[0];
         switch(z)
          {
           case 65:
              posicion = map(cadena[1], 0, 254, 0, 179); myservo1.write(posicion);
              posicion = map(cadena[2], 0, 254, 0, 179); myservo2.write(posicion);
              posicion = map(cadena[3], 0, 254, 0, 179); myservo3.write(posicion);
              analogWrite(analogOutPin, cadena[3]);
             break;
          }

        radio.stopListening();
       delay(10);
        radio.startListening();
        }
    }
}

Los dos servos se controlan desde los pins D2 y D3 .
Como podemos ver podemos controlar un tercer servo en el pin D4 o un motor DC se utiliza el modo PWM en el pin D5.
El sistema funciona en prototipo, pero no lo he montado en circuito impreso, ni montado en el avión como me hubiera gustado hacer.
Tampoco he probado el alcance real en campo abierto para ver el alcance real. Cierto es que si necesitamos mucho más alcance existe un módulo nFR24L01 con antena que promete llegar hasta 1Km.
La alimentación normal de todo el circuito es de 5V a excepción del módulo nFR24L01 que es de 3.3V , pero lo he alimentado todo a 3.4V y funciona perfectamente.

Librerías
Programas


Hasta pronto.
Juan Galaz


BIBLIOGRAFÍA

https://github.com/maniacbug/RF24
https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo
http://openhardware.pe/transceptores-nrf24l01-2-4ghz-radio-wireless-how-to/
http://cursos.olimex.cl/tutoriales/
http://www.electroensaimada.com/servomotor.html
http://arduino.cl/servo-motor-con-arduino/