- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 6 von 6

Thema: HM-TRP Transceiver Problem

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Du Glücklicher... ich habe mir zwei http://www.dorji.com/docs/data/DRF4432D20.pdf gekauft. (octamex.de sind keine mehr zu haben)

    Zu Deiner Frage:
    Ich habe nach meiner Antwort wieder ein wenig gespielt und herausgefunden das der Aufhänger an der Wartezeit liegt zwischen Befehlen und Antwort.
    Mit einem Arduino Bord geht das so: (ich hoffe es hilft Dir bei dem Timing Problem)

    #define SET_ENABLE 4
    #include <Wire.h>
    #include "LiquidCrystal_I2C.h"
    LiquidCrystal_I2C lcd(0x27,10,2); // set the LCD address to 0x20 for a 16 chars and 2 line display

    unsigned long previousMillis=0;
    unsigned long interval=500;
    char *s="S0";
    char msg[8]="XXXXXXX";
    int rssi=10;
    int mittelwert=1;
    int messungen=11;

    int long f_start=44595000L;
    int long f_ende=45000000L;
    int long f_step=625L;

    long int pll=446081250L;
    long int freq=0L;
    long int fdev=5000L;
    long int f_jetzt=0L;
    long int s1;
    long int s2;
    long int s3;
    long int s4;

    void setup()
    {
    pinMode(SET_ENABLE,OUTPUT);
    digitalWrite(SET_ENABLE,HIGH);

    Serial.begin(9600);
    Serial.println("PowerUP");
    Serial1.begin(9600);

    lcd.init();
    lcd.setCursor(0,0);
    lcd.print("-Firmware-");
    lcd.setCursor(0,1);
    lcd.print("SK11022013");
    setze_freq(pll);
    delay(3000);
    }

    void setze_freq(long int mhz)
    {
    freq=mhz-fdev;
    s4=freq-freq/256*256;
    freq=freq/256;
    s3=freq-freq/256*256;
    freq=freq/256;
    s2=freq-freq/256*256;
    s1=freq/256;

    digitalWrite(SET_ENABLE,LOW);
    delay(200);
    //Frequenz setzten
    Serial1.write(0xAA);
    Serial1.write(0xFA);
    Serial1.write(0xD2);
    Serial1.write(s1);
    Serial1.write(s2);
    Serial1.write(s3);
    Serial1.write(s4);
    delay(200);
    //9600 TX
    Serial1.write(0xAA);
    Serial1.write(0xFA);
    Serial1.write(0xC3);
    Serial1.write((byte)0x00);
    Serial1.write((byte)0x00);
    Serial1.write(0x25);
    Serial1.write(0x80);
    delay(200);
    //TX Power 1dBm
    Serial1.write(0xAA);
    Serial1.write(0xFA);
    Serial1.write(0x96);
    Serial1.write(0x01);
    delay(200);
    //devitation 10KHz
    Serial1.write(0xAA);
    Serial1.write(0xFA);
    Serial1.write(0xA5);
    Serial1.write((byte)0xA);
    delay(200);
    //reciver bandwitch 100KHz
    Serial1.write(0xAA);
    Serial1.write(0xFA);
    Serial1.write(0xB4);
    Serial1.write((byte)0x00);
    Serial1.write(0x1E);
    delay(200);
    digitalWrite(SET_ENABLE,HIGH);
    }

    void loop()
    {
    f_jetzt=f_start-fdev;
    for(int a=0;a<30;a++)
    {
    setze_freq(f_jetzt);
    delay(200);
    hole_rssi();
    f_jetzt=f_jetzt+f_step;
    sende_daten("TESTPAKET");
    }
    }

    void sende_daten(char* daten)
    {
    lcd.setCursor(8,0);
    lcd.print("TX");
    int anz=10;
    while(anz>0)
    {
    Serial1.println(daten);
    Serial1.println(rssi);
    Serial1.flush();
    anz--;
    }
    lcd.setCursor(8,0);
    lcd.print("_X");
    }

    void hole_rssi()
    {
    digitalWrite(SET_ENABLE,LOW);
    delay(100);
    Serial1.write(0xAA);
    Serial1.write(0xFA);
    Serial1.write(0x7;
    delay(120);
    digitalWrite(SET_ENABLE,HIGH);
    while(Serial1.available()>0)
    {
    rssi = Serial1.read();
    }

    Serial.print(f_jetzt+fdev,DEC);
    Serial.print(",");
    Serial.println(rssi,DEC);

    lcd.setCursor(0,0);
    lcd.print(rssi,DEC);
    lcd.print(" ");
    lcd.setCursor(8,0);
    lcd.print("_X");
    lcd.setCursor(0,1);
    lcd.print(f_jetzt+fdev,DEC);
    }

  2. #2
    So ich hab jetzt vier weiter Module bei meinen Freunden aus den Niederlanden bekommen (3 Tage).

    Ich weis jetzt warum sich das Modul aufhängt. Wenn es im Config Modus gehen soll und dabei der Empfangsbuffer vollgestopft wird, mag es das nicht. Auch wenn dieser vorher ausgelesen wird. Es muss mindestens eine Paketpause von 300ms sein. Nur in diesem Zeitfenster wo keine Daten empfangen werden kann das Modul umgeschaltet werden. Das ist ziemlich blöde. Aber ich habe das sehr ausgiebig mit allen vier Modulen getestet. Ist das Modul im NORMAL Modus macht das nichts. Da kann man ruhig senden wollen.. der schmeißt das in den Puffer und sendet es wenn die Freq. frei ist aus. Das Setzen der Parameter im ConfigModus ist am besten mit Pausen von 200ms zu machen. Dann kommt auch die Antwort vom Modul. Zur Temperatur: sehr Böse Sache. Werden die Quarze unter 18°C / 28°C abgekühlt / erwärmt, schafft das Modul das Nachregeln auch nicht mehr... die Frequenz wandert. Als beste Reichweite mit einer DIAMOND SRH771 habe ich im Freifeld 3km geschafft 9600kbs BW60khz RD105khz 200mW. Das soll es von mir gewesen sein... wenn noch Fragen sind gerne via eMail.

    Im Übrigen messe ich mit diesen Modulen unsere eigens errechneten und gebauten Yagi Antennen.

    http://www.youtube.com/watch?v=IdZNm3G0eOY
    http://www.youtube.com/watch?v=zpEv0Zz19Wk
    http://www.youtube.com/watch?v=oS3jSnPWgJs

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    11.09.2007
    Beiträge
    211
    Das ist natürlich dumm - denn ich nutze beispielsweise einen Sender direkt im Flieger am GPS Sensor. Der spuckt kontinuierlich Daten raus - Pause ist nicht drin, höchstens zwichen 2 Datensätzen

Ähnliche Themen

  1. [ERLEDIGT] Selbsttest: Problem mit Transceiver
    Von mechatronikilm im Forum Asuro
    Antworten: 6
    Letzter Beitrag: 17.08.2012, 21:04
  2. Antworten: 3
    Letzter Beitrag: 22.06.2011, 15:07
  3. Problem mit dem RS232 Transceiver
    Von clmns im Forum Asuro
    Antworten: 2
    Letzter Beitrag: 04.01.2009, 21:42
  4. RS232 Transceiver Problem!
    Von Nix_Blicker im Forum Asuro
    Antworten: 2
    Letzter Beitrag: 14.09.2008, 08:54
  5. Problem mit R5 auf IR-Transceiver
    Von XeN0n im Forum Asuro
    Antworten: 1
    Letzter Beitrag: 28.06.2008, 13:36

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen