Frequenzzähler bis 8 GHz für unter 30€

Status
Nicht offen für weitere Antworten.

Beber

Erfahrener Benutzer
#2
Schönes Projekt!
Würde gerne mehr sehen. Gibt es auch eine Möglichkeit die Frequenz der Empfänger anzeigen zu lassen bzw geht das eigt?
Gruß Beber
 

nichtgedacht

Erfahrener Benutzer
#3
Hi

die Empfänger werden sicher Überlagerungsempfänger (Superhet Prinzip) sein. Da könnte man den lokalen Oszillator messen und weiß dann wegen der konstanten Zwischenfrequenz die Empfangsfrequenz. Ich habe die Erfahrung gemacht, dass die FPV Empfänger noch einige (viele) MHz per AFC nachziehen können. Wenn ich mir die diversen Sender anschaue ist das auch unbedingt notwendig.

Hier noch ein paar Bilder von meinem Counter.

http://fpv-community.de/images/attach/jpg.gif
http://fpv-community.de/images/attach/jpg.gif
http://fpv-community.de/images/attach/jpg.gif
http://fpv-community.de/images/attach/jpg.gif
http://fpv-community.de/images/attach/jpg.gif
http://fpv-community.de/images/attach/jpg.gif

Gruß
Dieter
 

Anhänge

nichtgedacht

Erfahrener Benutzer
#4
Hi

die Empfindlichkeit ist wirklich beeindruckend.

Bei 6 GHz begnügt sich der Prescaler noch mit -11dBm

Bei 24 MHz braucht er auch etwas mehr, aber im mittleren Bereich bei 2,4 GHz reichen -29 dBm.
Die obere Grenze ist laut Datenblatt wiederum +5 dBm. Das ist ein großer Dynamikumpfang

Das verbaute 11,5 € Modul hat einen VCTCXO und ich habe es mit einem GPS diciplined OCXO sorgfältig justiert. Bei tagelanger Beobachtung lief das Teil danach maximal ein Digit weg. Es war aber schon vorher auf 2 Digit genau. Das sind hier, wenn der Prescaler auf 1:100 steht, ja nur 100 Hz in der letzten Stelle.

Gruß
Dieter
 

Anhänge

nichtgedacht

Erfahrener Benutzer
#5
Hi

hier noch ein paar Infos zur Funktionsweise und dem Aufbau.

Funktion:

Der Prescaler ist ein zweckentfremdeter ADF4108.
Dieser Chip
http://www.analog.com/media/en/technical-documentation/data-sheets/ADF4108.pdf
beinhaltet bis auf den VCO alles was man für eine PLL Schaltung bis 8GHz braucht. Verwendet wird hier nur der N = BP + A Teiler bestehend aus einem programmierbaren Prescaler P einem 13 Bit Counter B und einem 6 Bit Counter A. Das gesamte Teilerverhältnis ist N = BP + A. P kann sein 8, 16, 32 und 64, B muss mindestens 3 sein und A kann alle Werte des 6-Bit Counters annehmen. Weiterhin gibt es die Einschränkung, dass B >= A sein muss.

Um also z.B. ein Teilerverhältnis von 1:1000 einzustellen kann man wählen
32 * 31 + 8

Für ein 1:100 Verhältnis kann man nur wählen
16 * 6 + 4

Bei 32 * 3 + 4 = 100 wäre B < A.

Mit P = 16 gibt es aber auch ein Problem. Die erlaubte Frequenz hinter dem Prescaler ist mit 325 MHz garantiert. Weil 6000 MHz / 16 = 375 MHz wird hier etwas zuviel vom CMOS Zähler gefordert. Der Chip arbeitet aber trotzdem einwandfrei bei 1:100 @ 6 GHz. Wie weit es noch nach oben geht konnte mangels Generator bisher nicht getestet werden.

Um den Chip in Betrieb zu nehmen, müssen über ein SPI Interface 4 mal 3 Bytes eingeschrieben werden. Nach jeweils 3 Bytes wird der LE Pin kurz auf High gebracht und die Bits der drei Bytes bewirken dann die gewünschten Einstellungen entsprechend der Adressierung durch die beiden "Control Bits". Neben der Einstellung des N = BP + A Teilers muss ein Multiplexer so eingestellt werden, dass er den Ausgang des Teilers auf den MUXOUT schaltet. Von den drei im Datenblatt stehenden Methoden der Initialisierung wurde die dritte verwendet. Weiterhin wurde das Teilerverhältnis zwischen 100 und 1000 umschaltbar gemacht. Dazu wird jedes Mal per CE Pin der Chip kurz in "Power down" gebracht und dann einfach die gewünschte Initialisierung nochmal durchlaufen. Das "Power down" zwischendurch wurde notwendig, weil die beiden Leitungen CLK und Data nach Ablauf der jeweiligen Initialisierung auch noch die zwei LEDs zur Signalisierung des Teilerfaktors zu bedienen haben.

Für diese einfache Aufgabe wurde ein Attiny85 verwendet, der ohne Quarz standalone laufen kann, sich leicht mit einem Arduino programmieren lässt und im Sleep Zustand wenig Strom ziieht. Das SPI wurde aus mechanischen Gründen soft programmiert. Da der ADF4108 nur 3,3 Volt VCC erlaubt musste sich der Attiny auch damit begnügen und die Schaltung einen 3,3 Volt Regler bekommen. Neben diesem Regler und dem Attiny selbst gibt es nur noch zwei 10 uF Chip Kondensatoren und ein 100 nF C direkt unter dem Sockel vom Attiny und den Sockel für den eigentlichen Prescaler auf der Hilfsplatine.

Aufbau:

Beim mechanische Aufbau muss man einige Regeln für HF Schaltungen beachten. Die einzige Adapterplatine mit durchgehender Massefläche habe ich hier gefunden
http://www.artekit.eu/products/breakout-boards/bbadapters/qfn-20-4x4-p050-to-dip-adapter/
Da keine richtigen Vias verwendet werden können, bleibt die HF auf der Oberseite der Massefläche. Nur an den Rändern kann sie auf die andere Seite gelangen. Das ist aber hier zu akzeptieren, weil der Schirm vom Koax direkt am Rand auf der Unterseite verlötet ist und der Rand sehr nahe am RF-Eingang des ADF4108 liegt. Aus dem gleich Grund ist auch die GND Leitung vom Rand der Adapterplatine von oben in das Massevia zu verlegen. Durch die Verwendung von RG405 Kabel kann so eine sehr aufwändige und teure HF Platine umgangen werden. Der Chip wurde mit einer Reisekochplatte unter Zwischenlage von 2mm Alublech aufgelötet. Hierzu wurde zunächt die Adaperplatine mit bleihaltiger eutektischer Lötpaste auf der Kochplatte verzinnt und das überschüssige Zinn mit einer Hohlkehlenspitze soweit entfernt, dass sich eine sehr dicke gleichmäßige Verzinnung ergab. Danach wurde das Flussmittel mit Isopropanol entfernt und ein hochwertiges Flussmittel für Ball Grid Arrays aufgetragen. Dann wurde noch etwas Lötpaste in die Bohrung des zentralen Vias gegeben und der Chip konnte ausgerichtet und aufgelötet werden. Der Rest war dann gar nicht mehr schwer. Überschüssige Leiterbahnen wurden durch einschneiden und abziehen und der Stoplack mit dem Glasfaserradierer teilweise entfernt.

Das Zählermodul gibt es in Massen bei eBay für ca. 12€. Die Genauigkeit ist wegen dem verbauten VCTCXO für die 8 Stellen angemessen. An der Eingangsseite wurde der einfache Molex Connector durch eine SMA Buchse ersetzt.
http://www.amazon.de/gp/product/B00OLLNOWA?psc=1&redirect=true&ref_=oh_aui_detailpage_o04_s00
Man muss hier für die seitlich auf der Platine herausgeführte Leitung ein Stück vom Massekörper wegfräsen, damit sich etwa 0,5 mm Luft ergibt. Auf der gegenüber liegenden Seite kann dann großflächig mit der Massefläche verlötet werden.

Das Gehäuse besteht aus diesen Seitenteilprofilen
http://www.gie-tec.de/webshop/images/pic_122010.jpg
Das Alublech ist oben und unten 1,5 mm stark und hinten 3 mm. Die Plexiglasscheibe ist ebenfalls 3 mm dick.

Gruß
Dieter

PS Wie kann man hier eigentlich formatierten Text einbauen?
Oder wie soll ich sonst das Attiny Programm hier zeigen?
 

Anhänge

hornetwl

Erfahrener Benutzer
#6
Sehr cooles Projekt, bitte unbedingt weiter berichten :)

Vorformatierter Text geht mittels
Code:
[ code ] das ist der Text [ /code ]
, allerdings ohne Leerzeichen zwischen den eckigen Klammern. Source-Dateien aber vielleicht trotzdem zusätzlich als Anhang an den Post hängen, das spart lästiges Copy/Paste-Gebastel und kaputte Leerzeichen, Tabs, Zeilenumbrüche.
 
Zuletzt bearbeitet:

nichtgedacht

Erfahrener Benutzer
#7
Hi

dieser Code läuft im Attiny85.
Einstellung clock 1MHz intern.
Wie man den Attiny in der Arduino Umgebung programmiert und ein Arduino Board als Programmer verwendet siehe hier
http://highlowtech.org/?p=1695

Code:
// ATMEL ATTINY85 / ARDUINO pin mappings
//
//                         +-\/-+
// RESET  Ain0 (D 5) PB5  1|    |8  Vcc
// CLK1   Ain3 (D 3) PB3  2|    |7  PB2 (D 2) Ain1  SCK  / USCK / SCL
// CLK0   Ain2 (D 4) PB4  3|    |6  PB1 (D 1) pwm1  MISO / DO
//                   GND  4|    |5  PB0 (D 0) pwm0  MOSI / DI / SDA
//                         +----+

#include <avr/sleep.h>
#include <avr/interrupt.h>

// output pins named like ADF4108 pins
const int dataPin =  1;      // the number of the data pin
const int clockPin =  0;     // the number of the clock pin
const int latchPin =  2;     // the number of the latch pin
const int cePin = 4;         // the number of the chip enable pin
const int inPin = 3;         // the number of the input pin

// _L data for 1:100 divider _H data for 1:1000 divider 
byte func_data1_L[3] = {0x60, 0x79, 0x26};
byte func_data1_H[3] = {0xa0, 0x79, 0x26};
byte func_data2_L[3] = {0x60, 0x79, 0x22};
byte func_data2_H[3] = {0xa0, 0x79, 0x22};
byte rc_data[3]      = {0x03, 0x00, 0x04};
byte abc_data_L[3]   = {0x00, 0x06, 0x11};
byte abc_data_H[3]   = {0x00, 0x1f, 0x21};

volatile byte status;

void setup() {

  pinMode(dataPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(latchPin, OUTPUT);
  pinMode(cePin, OUTPUT);
  pinMode(inPin, INPUT_PULLUP);

  digitalWrite(latchPin, LOW);
  digitalWrite(clockPin, LOW);
  digitalWrite(cePin, HIGH);

  delay(10);

  write_24(func_data1_L);
  write_24(rc_data);
  write_24(abc_data_L);
  write_24(func_data2_L);

  digitalWrite(dataPin, LOW);
  digitalWrite(clockPin, HIGH);  // Signal Divider 1:100

  status = 0; 

}

void loop()
{
     
    sleep();

    if ( digitalRead(inPin) == LOW ) {

        digitalWrite(cePin, LOW);   // Power down
        delayMicroseconds(10);
        digitalWrite(cePin, HIGH);  // Power up

        if ( status == 0 ) {

            write_24(func_data1_H);
            write_24(rc_data);
            write_24(abc_data_H);
            write_24(func_data2_H);
            digitalWrite(dataPin, HIGH);  // Signal Divider 1:1000
            digitalWrite(clockPin, LOW);
            status = 1;

        } else {

            write_24(func_data1_L);
            write_24(rc_data);
            write_24(abc_data_L);
            write_24(func_data2_L);
            digitalWrite(dataPin, LOW);
            digitalWrite(clockPin, HIGH); // Signal Divider 1:100
            status = 0;
            
        } 

        // instead of complicated debouncing ;-)
        delay(1000);              
    }               
}

ISR(PCINT0_vect) {

    // does nothing but must exist

}

void sleep() {

    GIMSK |= _BV(PCIE);                     // Enable Pin Change Interrupts
    PCMSK |= _BV(PCINT3);                   // Use PB3 as interrupt pin
    set_sleep_mode(SLEEP_MODE_PWR_DOWN);    // Power down mode when sleep
    sleep_enable();                         // Sets the Sleep Enable bit in the MCUCR Register (SE BIT)
    sei();                                  // Enable interrupts
    sleep_cpu();                            // sleep

                                            // wakeup after empty ISR

    cli();                                  // Disable interrupts
}

void write_24(byte *input) {

  int i;
  int j;

  digitalWrite(clockPin, LOW);
  delayMicroseconds(4);
  
  for ( j=0; j<=2; j++) {
    
      for (i=7; i>=0; i--) {

          digitalWrite(dataPin, 1&(input[j] >> i) );
      
          digitalWrite(clockPin, HIGH);
          delayMicroseconds(4);
          digitalWrite(clockPin, LOW);
          delayMicroseconds(4);
      } 
  }   

  digitalWrite(latchPin, HIGH);
  delayMicroseconds(4);
  digitalWrite(latchPin, LOW);
  delayMicroseconds(4);

}
Zum Verifizieren habe ich in einem ArduinoNano Clone dieses Programm benutzt.
Ein kleiner Kabelbaum zu einem 6 Pol ISP Header am Attiny muss dabei auf der Seite vom Nano auf einen anderen
Header umgesteckt werden um die richtigen Anschlüsse für diese Programm herzustellen.

Code:
const int pin7 = 7;
const int clk = 2;
const int latch = 3;
const int data = 5;
const int sl_reset = 6;
 
byte cnt;

volatile byte input[3];
volatile byte outbyte[12];
volatile int byte_cnt;

volatile unsigned long time_1;
volatile unsigned long time_2;

int state = LOW;

void setup() {
  // put your setup code here, to run once:

   Serial.begin(9600);

   pinMode(pin7, OUTPUT);
   pinMode(clk, INPUT);
   pinMode(latch, INPUT);
   pinMode(data, INPUT);
   pinMode(sl_reset, OUTPUT);
   
   digitalWrite(sl_reset, LOW);
   delay(1);
   digitalWrite(sl_reset, HIGH);

   cnt = 0;
   byte_cnt = 0;  

   attachInterrupt(digitalPinToInterrupt(clk), readbit, RISING);
   attachInterrupt(digitalPinToInterrupt(latch), read_latch, RISING);
 
}

void loop() {

     if ( byte_cnt >= 12 ) {

         state = !state;
         digitalWrite(pin7, state);
         
         while ( cnt <= 11 ) {
             Serial.print("outbyte");
             Serial.print(cnt);
             Serial.print(" ");
             Serial.println(outbyte[cnt]);
             cnt++;
         }

         cnt = 0;
         
         Serial.print("chars per second: ");
         Serial.println( 3000000 / (time_2 - time_1) );

         Serial.println("");

         byte_cnt = 0;

         interrupts();
     }
}

void read_latch() {

    int i;

    noInterrupts();

    for ( i=0; i<=2; i++ ) { 

        outbyte[byte_cnt + i] = input[i];
        input[i] = 0;

    }

    byte_cnt += 3;   

    if ( byte_cnt < 12 ) {
        interrupts();
        time_1 = micros();        
    } else {
        time_2 = micros();
    }

}

void readbit() {
  
   input[0] <<= 1;
   input[0] |= 1&(input[1] >> 7);
   input[1] <<= 1;
   input[1] |= 1&(input[2] >> 7);    
   input[2] <<= 1;    
   input[2] |=  digitalRead(data);       

}

Die zu übertragenen Werte entstehen so aus dem Datenblatt vom ADF4108

Code:
Method 3 (realized)                                                                                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                                                            
Funktion Latch1 each first row 1:100 each second row 1:1000                                                                                                                                                                                                                                                           
                                                                                                                                                                                                                                                                                                            
PS    Mode(PD2)      Current      Tineout  FastClock CP PD  MUX    PD1  F1  CTL                                                                                                                                                                                                                             
                                                                                                                                                                                                                                                                                                            
0 1   1              0 0 0 0 0 0  1 1 1 1  0 0       1  0   0 1 0  0    1   1 0                                                                                                                                                                                                                             
1 0   1              0 0 0 0 0 0  1 1 1 1  0 0       1  0   0 1 0  0    1   1 0                                                                                                                                                                                                                             
                              ^                       ^                        ^                                                                                                                                                                                                                            
01100000 01111001 00100110
10100000 01111001 00100110
0x60     0x79     0x26
0xA0     0x79     0x26
96       121      38
160      121      38


R Counter Latch

Reserved LDP TestMode   ABP  14 Bit Reference Counter                       CTL

0 0 0    0   0 0        1 1  0 0 0 0 0 0 0 0 0 0 0 0 0 1                    0 0
                           ^                ^                                  ^
00000011 00000000 00000100
0x03     0x00     0x04
3        0        4

AB Counter Latch first row 1:100, second row 1:1000

Reserved  CP_Gain  13 Bit B Counter             6-Bit A Counter             CTL

0 0       0        0 0 0 0 0 0 0 0 0 0 1 1 0    0 0 0 1 0 0                 0 1
0 0       0        0 0 0 0 0 0 0 0 1 1 1 1 1    0 0 1 0 0 0                 0 1
                            ^               ^                                  ^

00000000  00000110  00010001
00000000  00011111  00100001
0x00      0x06      0x11
0x00      0x1f      0x21
0         6         17
0         31        33


Funktion Latch2 first row 1:100 second row 1:1000

PS    Mode(PD2)      Current      Tineout  FastClock CP PD  MUX    PD1  F1  CTL

0 1   1              0 0 0 0 0 0  1 1 1 1  0 0       1  0   0 1 0  0    0   1 0
1 0   1              0 0 0 0 0 0  1 1 1 1  0 0       1  0   0 1 0  0    0   1 0
                              ^                       ^                        ^
01100000 01111001 00100110
10100000 01111001 00100010
0x60     0x79     0x22
0xA0     0x79     0x22
96       121      34
160      121      34


###### 1000 #####
32 * 31 + 8 = 1000

###### 100  #####
16 * 6 + 4 = 100
Gruß
Dieter
 

nichtgedacht

Erfahrener Benutzer
#10
Hallo Ofi,

was verstehst Du denn nicht? Frag doch einfach. Ist ja alles kein Hexenwerk.
Das Novum sind hier eigentlich nur die primitiven Mittel mit denen das Ergebnis erreicht wurde.
Wenn man sieht welcher Aufwand dafür sonst so getrieben wird...

Gruß
Dieter
 

ofenheimer

Erfahrener Benutzer
#11
Hallo Ofi,

was verstehst Du denn nicht? Frag doch einfach. Ist ja alles kein Hexenwerk.
Das Novum sind hier eigentlich nur die primitiven Mittel mit denen das Ergebnis erreicht wurde.
Wenn man sieht welcher Aufwand dafür sonst so getrieben wird...

Gruß
Dieter
Muss es zuerst alles Studieren ... manchmal können einfache Dinge zu einfach Sein...

Aber Das mit den Teilern Verstehe ich nicht ganz...

Aber ich Melde mich Gerne wenn ich noch Hilfe Brauche...

THX
 

nichtgedacht

Erfahrener Benutzer
#12
Hi

Hat es schon jemand nachgebaut?

Hier in Bildern noch mal gezeigt, wie man den Chip mechanisch verarbeitet.

1 Chip in der Lieferverpackung (auch wenn man nur 2 Stck kauft) von Farnell von hier
https://hbe-shop.de/Art-1274185-ANALOG-DEVICES-ADF4108BCPZ-FREQ-SYNTHESIZER-PLLSMD-LFCSP-20

2 Platine verzinnen reinigen und mit Flussmittel versehen.

3 Chip ausrichten

4 Chip auflöten

5 Platine bearbeiten

6 Teile anlöten

7 Starke Brille aufsetzen ;-)

Gruß
Dieter
 

Anhänge

monkye

Neuer Benutzer
#14
Moin, Moin Zusammen,

ein gelungenes Projekt - gefällt mir gut. Etwas für verregnete Wochenenden oder schlaflose Nächte :).

Das würde mein in dieser Hinsicht eher eingeschränktes Equipment gut erweitern. Bin eh grad im "Lötwahn".

Grüße,

Uwe
 

taler

Erfahrener Benutzer
#15
@nichtgedacht
Könnten die Zusatzbauteile (letztes Bild aus Post #12l) rund um den Chip auch an den herausgeführten Anschlüssen gemacht werden oder würde das unangenehme Wirkungen verursachen weil die Leitungslängen länger werden?

Hast du ein Beispiellink auf ebay für ein Zählermodul?

Hat wer noch 2Stk vom ADF4108 über?

Gruß taler
 
Zuletzt bearbeitet:

nichtgedacht

Erfahrener Benutzer
#16
Hi

Zählermodul gibt es z.B. hier:
http://www.ebay.de/itm/New-PLJ-8LED...hash=item35fb1abfe8:m:mSlY8PQgwxr7-zK7NrmD_Iw

Die RF Eingänge kann man hier auf keinen Fall über die Randkontakte anschließen. Ab ca. 2 mm Leiterbahnlänge (das sind je nach Abstand zu Masseflächen bis zu ca. 2 nH) müsste eine Leiterbahn Z spezifisch ausgeführt werden, also z.B. Z = 50 Ohm wie Zuleitung und Anschlußverbinder aufweisen. Für den ADF4108 gibt es ein Evaluation Board.
http://www.analog.com/media/en/technical-documentation/user-guides/UG-160.pdf
Da sieht man welcher Aufwand für solche Streifenleiter auf der Platine getrieben werden muss. Die Streifenleiter müssen genaue vom Platinen-Material und -Dicke abhängige Abmessungen einhalten und sind hier auch noch von Vias gesäumt. Stattdessen RG405 Koaxkabel zu verwenden ist schon fast eine kleine Erfindung. RG405 gibt es übrigens bei http://www.koax24.de

Bei http://hbe-shop.de/ bekommt man die ADF4108 zum relativ moderatem Preis. Mit Gewerbeschein direkt von einem großen Distributor sicher auch günstiger. Man könnte eine Sammelbestellung machen und mit Briefen verteilen.

Gruß
Dieter
 

taler

Erfahrener Benutzer
#17
Ach du meine Güte.
Vielen Dank für die ausführlichen Infos und Links.
Also dann möglichst kleine SMD (603 oder 402er Größe) und nah dran.
Ich bin ja mal gespannt, ob ich ja das je hinbekomme.
Beim 3,3V Spannungsregler müßte es doch auch ein kleinerer (100mA) tun. Der auf dem Bild verwendete sieht ja für 0,5 oder 1A aus.

Gruß taler
 
Zuletzt bearbeitet:

handuc

Erfahrener Benutzer
#18
Ein wirklich interessantes Projekt @nichtgedacht, werd mir die Teile demnächst bestellen. Der ADF4108 ist teilweise schon für ca.6€ zu bekommen, wenn die Lieferzeit aus Fernost nicht stört. Aber das Anzeigemodul kommt ja eh aus cn und das dauert seine Zeit.
Mouser hat den ADF4108 allerdings auch für einen guten Preis:
http://www.mouser.de/Analog-Devices...LL/ADF4108-Series/_/N-73tyn?P=1yxyuygZ1yyh4l4

@muerzi, ein preiswertes RF Powermeter bekommst Du z.B. hier:
http://www.ebay.de/itm/1-8000MHz-RF...814181?hash=item41a2990f65:g:O14AAOSwwPhWij0c
 

nichtgedacht

Erfahrener Benutzer
#19
Hallo Hanfried,

das Device verwendet offenbar den AD8318.
http://www.analog.com/media/en/technical-documentation/data-sheets/AD8318-EP.pdf
Im Angebot hier
http://www.ebay.de/itm/1-8000MHz-RF...814181?hash=item41a2990f65:g:O14AAOSwwPhWij0c
sieht man auch die Performance Kurven wie in o.g. Datenblatt.

Besser geeignet für ein Messgerät wäre ein ADL5906.
http://www.analog.com/media/en/technical-documentation/data-sheets/ADL5906.pdf

Gruß
Dieter
 

handuc

Erfahrener Benutzer
#20
Hi Dieter,
hab bisher noch kein RF Meter mit ADL5906 in der Kategorie um die 30€ gefunden. Die Evaluations Kit´s mit dem ADL5906 sind mir zu teuer. Für meine eher bescheidenen Ansprüche ist das o.g. Modul prinzipiell ausreichend.

Der Zähler ist auf jeden Fall ein sehr lohnenswertes Nachbauobjekt :). Prima das Du den hier eingestellt hast.
 
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten