Diversity & Antennentracking < 100€

Status
Nicht offen für weitere Antworten.
Das wäre Super - ja eine Antenne hat ca 44 grad, dann Migräne ich ein Überschneidungsfeld zwischen beiden Antennen, in dem sie dann (theoretisch) den gleichen Empfang haben.
 

BlueMahib

Erfahrener Benutzer
Mir ist was dummes passiert!

Ich wollte den Servoweg der Pan/Tilt Servos vergrößern und habe fürs horizontale Schwenken den Servo mechanisch zu einem DC-Getriebemotor nach dieser Anleitung umgebaut:
http://www.youtube.com/watch?v=vWOWNZ2RBmk

Nun kann ich das Servo nach rechts und links endlos drehen, jedoch geht beim Loslassen des Knüppels das Servo nicht in die Ausgangsposition zurück, sondern bleibt stehen.

Kann ich den Servo trotzdem noch für den Tracker verwenden (1. Version)?
 
Bei mir gehts voran - der Grundbuch der pan tilt Aufhängung steht
ImageUploadedByTapatalk1337269757.669381.jpg ImageUploadedByTapatalk1337269773.200933.jpg
Wenns nicht gut laufen sollte kommen Kugellager ran

Die 2 Module für die äußeren Antennen werden mit Flachbandkabeln an einer zentralen Platine (nicht im schwenkkopf) verbunden und liefern nur die RSSI Werte, Videosignal greif ich keins ab.
Wie weit bist du mit dem Sketch ?
 

DerCamperHB

Erfahrener Benutzer
@ BlueMahib
Nein, so fehlt dem Servo die Rückantwort, an welcher stelle es steht
Einzige Möglkichkeit wäre externes Poti anbringen, es gibt ja 10 Wendel Poti, wenn du die mittels Zahnradgetriebe anbringst, könntest du da eine größeren Drehwinkel hin bekommen, bei Gleichzeitig hoher Genauigkeit.
 
Man könnte auch den Tracker Code anpassen. wenn links stärker dann links drehen, wenn rechts stärker dann rechts drehen wenn beide Gleich dann aus.
Hatte sowas auch schon überlegt da ich noch Full-Size 360 Servos da habe.
 
ja, nur das beim normalen Servo die Position vorgegeben wird und nicht nur die Drehrichtung.
beim normalen wird z.B. die Pulsweite des Servos so lange stückschenweise reduziert bis es an der Position ist bei der beide RSSI gleich sind. Beim 360° Servo würde die Pulsweite etwas unter 1,5ms gesetzt - so das es links dreht - und dann gewartet bis beide RSSI gleich sind, dann die Pulsweite auf 1,5ms und das Servo bleibt stehen.
 

heckmic

Erfahrener Benutzer
Hier ist der Sketch:

#include <LiquidCrystal.h>
#include <Servo.h>




//SETUP
int wartezeit = 300;
int schwellwert = 70;
int Vert_mitte = 90;
int Hori_mitte = 90;
int schrittweitehori = 2;
int calibrate1 = 0;
int calibrate2 = 0;
int calibrate3 = 0;
int horizontalwert=0;
int hori=0;
int vert=0;
int merke=0;
int stufe=0;
int mitte_alt=0;




Servo myservo1; // create servo object to control a servo
Servo myservo2; // create servo object to control a servo


int rssilinks = A2;
int rssimitte = A1;
int rssirechts = A1;
#define SPKR 9




int links = 0;
int mitte = 0;
int rechts = 0;
int i=0;
int y=0;


void setup()
{
myservo1.attach(9); // attaches the servo on pin 10 to the servo object
myservo1.write(Hori_mitte);
myservo2.attach(8); // attaches the servo on pin 11 to the servo object
myservo2.write(Vert_mitte);
y=Hori_mitte;

Serial.begin(9600);

for(i=0;i<10;i++)
{
calibrate1=calibrate1+analogRead(rssilinks);
delay(25);
}
calibrate1=calibrate1/10;


for(i=0;i<10;i++)
{
calibrate2=calibrate2+analogRead(rssimitte);
delay(25);
}
calibrate2=calibrate2/10;

for(i=0;i<10;i++)
{
calibrate3=calibrate3+analogRead(rssirechts);
delay(25);
}
calibrate3=calibrate3/10;

pinMode(SPKR, OUTPUT); //set the speaker as output
digitalWrite(SPKR, HIGH);
delay(500);
digitalWrite(SPKR, LOW);
delay(2500);
}


void loop()
{

// Map values to defined range
//links = map(analogRead(rssilinks), 0, calibrate1, 0, 1000);
//mitte = map(analogRead(rssimitte), 0, calibrate2, 0, 1000);
//rechts = map(analogRead(rssirechts), 0, calibrate3, 0, 1000);

links = analogRead(rssilinks);
mitte = analogRead(rssimitte);
rechts = analogRead(rssirechts);



if(mitte<links or mitte<rechts)
{
if (links > mitte)
{
horizontalwert = horizontalwert + schrittweitehori;
Serial.println("nacch links");
}
if (rechts > mitte)
{
horizontalwert = horizontalwert - schrittweitehori;
Serial.println("nacch rechts");
}


hori = horizontalwert + Hori_mitte;
if (hori>179)
{
horizontalwert=0;
Serial.println("zurück");
}
if (hori<=0)
{
horizontalwert=0;
Serial.println("zurück");
}
myservo1.write(hori);
myservo2.write(Vert_mitte);
delay(wartezeit);
}
else
{
if (mitte > rechts && mitte > links)
{
mitte = map(analogRead(rssimitte), 0, calibrate2, 0, 100);
Serial.println(mitte);
if (mitte < schwellwert)
{
mitte_alt=0;
for(merke=1; merke < 5; merke++)
{
mitte = map(analogRead(rssimitte), 0, calibrate2, 0, 100);
if (mitte_alt > mitte)
{
vert = vert+1;
}
if (mitte_alt < mitte)
{
vert = vert-1;

delay(wartezeit);
}
myservo2.write(Vert_mitte + vert);
delay(wartezeit);
mitte_alt=mitte;
}
}
delay(wartezeit);
}
}


}
 
Prima - Dank dir!

Edit: rssimitte und rssirechts liegen beide auf A1 - stimmt das?

Edit2

Hab mal ein bisschen geschrieben ... meist du das könnte klappen?
Code:
#include <LiquidCrystal.h>
#include <Servo.h>




//SETUP
int wartezeit = 300;
int schwellwert = 70;
int Vert_mitte = 90;
int Hori_mitte = 90;
int schrittweitehori = 2;
int calibrate1 = 0;
int calibrate2 = 0;
int calibrate3 = 0;
int horizontalwert=0;
int hori=0;
int vert=0;
int merke=0;
int stufe=0;
int mitte_alt=0;




Servo myservo1; // create servo object to control a servo
Servo myservo2; // create servo object to control a servo


int rssilinks = A2;
int rssirechts = A1;
#define SPKR 9




int links = 0;
int mitte = 0;
int rechts = 0;
int i=0;
int y=0;


void setup()
{
myservo1.attach(9); // attaches the servo on pin 10 to the servo object
myservo1.write(Hori_mitte);
myservo2.attach(8); // attaches the servo on pin 11 to the servo object
myservo2.write(Vert_mitte);
y=Hori_mitte;

Serial.begin(9600);

for(i=0;i<10;i++) 
{
calibrate1=calibrate1+analogRead(rssilinks);
delay(25);
}
calibrate1=calibrate1/10;


for(i=0;i<10;i++) 
{
calibrate3=calibrate3+analogRead(rssirechts);
delay(25);
}
calibrate3=calibrate3/10;

pinMode(SPKR, OUTPUT); //set the speaker as output
digitalWrite(SPKR, HIGH);
delay(500);
digitalWrite(SPKR, LOW);
delay(2500);
}


void loop()
{

// Map values to defined range
//links = map(analogRead(rssilinks), 0, calibrate1, 0, 1000);
//mitte = map(analogRead(rssimitte), 0, calibrate2, 0, 1000);
//rechts = map(analogRead(rssirechts), 0, calibrate3, 0, 1000);

links = analogRead(rssilinks);
rechts = analogRead(rssirechts);





if (links > rechts)
{
horizontalwert = horizontalwert + schrittweitehori; 
Serial.println("nacch links");
}
if (rechts > links)
{
horizontalwert = horizontalwert - schrittweitehori;
Serial.println("nacch rechts");
}


hori = horizontalwert + Hori_mitte;
if (hori>179)
{
horizontalwert=0;
Serial.println("zurück");
}
if (hori<=0)
{
horizontalwert=0;
Serial.println("zurück");
}
myservo1.write(hori);
myservo2.write(Vert_mitte);
delay(wartezeit);
{
if (rechts = links)
{
mitte_alt=0;
for(merke=1; merke < 5; merke++)
{
mitte = map((analogRead(rssirechts)+analogRead(rssilinks))/2, 0, calibrate2, 0, 100);
if (mitte_alt > mitte)
{
vert = vert+1; 
} 
if (mitte_alt < mitte)
{
vert = vert-1;

delay(wartezeit);
}
myservo2.write(Vert_mitte + vert);
delay(wartezeit);
mitte_alt=mitte;
}

delay(wartezeit);
}
}


}
 
Zuletzt bearbeitet:
Fertig :)
ImageUploadedByTapatalk1337419668.321073.jpg ImageUploadedByTapatalk1337419687.525383.jpg ImageUploadedByTapatalk1337419709.340451.jpg
Tracking am Boden geht schon mal ganz gut, allerdings ein bisschen langsam, änder da nach ein paar Parameter.
Derzeit trackt er bei einer RSSI Divergenz von mehr als 20% in 15grad Schritten, bei weniger als 20 in 4 grad Schritten - damit kommt er dem Sender schon mal schneller hinterher wenn er ihm mal abhaut und kleine Veränderungen werden fein ausgesteuert.
 
Heute habe ich ausführliche Tests mit dem tracker gemacht, allerdings nur das Horizontale Tracking da ich am Vertikalen noch schreiben muss.

Was soll ich sagen, es funktioniert - perfekt! Sehr präziser, Antenne ist immer auf den Flieger gerichtet, im nahen vorbeiflug zieht er schnell mit großen Schritten hinterher, bei größerer Entfernung richtet er sehr fein aus - optimal!

Das einzige ist, wenn er auf 179grad Gefahren ist bleibt er dort stecken, aber das ist sicher schnell gelöst.

Gute Arbeit !
 

Mitendrius

Erfahrener Benutzer
So... nachdem ich nun endlich mal die Reichweite meines FPV Equipment erhöhen möchte, werde ich mich nun auch an dieses Projekt ran wagen. Mal schauen wie es so wird.

Ich hab da gleich eine Frage. Was für Servos & Pan/Tilt Vorichtung nutzt du denn genau für das Antennentracking? Ich konnte das hier irgendwie nicht rauslesen :(
 
Zuletzt bearbeitet:
Ich oder heckmic?
Ich benutze einfach Sperrholz und Alu Rohre in denen alle Kabel laufen.
Als Pan servo einen normal Größen servo vom Conrad und für tilt (kommt noch) einen Hobbyking 9g servo - alles Standardkomponenten und Bastelarbeit.

Den Pan servo werd ich wahrscheinlich durch einen Windenservo ersetzen - damit ich um 360 grad komme
 

Mitendrius

Erfahrener Benutzer
Ich oder heckmic?
Ich benutze einfach Sperrholz und Alu Rohre in denen alle Kabel laufen.
Als Pan servo einen normal Größen servo vom Conrad und für tilt (kommt noch) einen Hobbyking 9g servo - alles Standardkomponenten und Bastelarbeit.

Den Pan servo werd ich wahrscheinlich durch einen Windenservo ersetzen - damit ich um 360 grad komme
Ich suche halt grad nach ner günstigen Pan/Tilt Servo ...
Der hier: http://www.globe-flight.de/630-PAN-Mechanik-fuer-Antennentracking-und-Kameras ist mir halt bissal zu teuer :(
 
Zuletzt bearbeitet:

Mitendrius

Erfahrener Benutzer
du meinst ein gehäuse aus holz bauen?

Ich weis nur noch nicht wie ich dann wie ich so so ein metal gewinde für die tilt befestigung montiere
 
Zuletzt bearbeitet:
Alurohr (evtl Kugellager) servo und Hebel, damit deckst du 90grad tilt ab
Fürs drehen hab ich 2 hauptzahnräder von nem t-Rex 450 genommen
Du kannst auch ein aluprofil nehmen und es direkt ans servo Schrauben, Möglichkeiten gibt's da viele, diese fertige Pan tilt Halterung ist nur eine davon
 
360 grad Abdeckung ist eigendlich kein Problem, ich übersetz den Pan servo 1:2 oder 1:3 und mach an gewissen stellen eine Kehre - damit sind dann immer 360 grad abgedeckt
 
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten