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

Thema: HM-TRP Transceiver Problem

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    11.09.2007
    Beiträge
    211

    HM-TRP Transceiver Problem

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo,

    ich habe zwei dieser Transceiver hier liegen

    http://www.octamex.de/shop/datasheet...5a34c16d0c.pdf

    und bekomme die nicht richtig zum laufen.
    Habe 3.3 V an VCC, GND, Config auf GND, Enable auf GND.

    Die LEDs blinken kurz auf, dann fängt der Chip sich sehr schnell an zu erhitzen.
    Kennt jemand das Problem, oder habe ich 2 Sonntagsplatinen erwischt? Gibt es grundsätzlich Erfahrungswerte mit dem Teil?

    Danke!

  2. #2
    Hey filth ich habe auch zwei von denen in den Himmel geschickt. Der erste hat den Geist bei zu schneller Frequenzumschaltung (alle 5s) aufgegeben und der andere bei zu kurzen Intervallen (3x/s) beim Abrufen des RSSI Wertes. Wenn Deine Module erhitzen sind sie kaputt. Ich habe vom Hersteller erfahren, das die internen Pullups gerne mal den geist aufgeben. Was mir sehr positiv aufgefallen ist sind die Freq. Stabilität, hohe Datenrate, hohe Freq. Trennschärfe. sehr genaue RSSI Werte. UND ein Pluspunkt. Die Firmware des uC der die UART in SPI umsetzt kann angepasst werden. (Stichwort 3DRadio). Alles im allem ein sehr gutes Modul aber leider habe ich auch keine Idee warum die immer wieder den Geist aufgeben. Ich konnte Sie mit einem Firmwareupdate retten. Bei Dir jedoch tippe ich auf kaputt. Meine wurden auch bei Dauerausendung nicht warm. (35 Grad im Sommer). Bin jetzt auf RF4432 umgestiegen da fehlt jedoch die nette UART Schnittstelle.

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    11.09.2007
    Beiträge
    211
    Hi,

    ich habe jetzt 2 neue Module und die laufen problemlos. Vielleicht doch irgendwie 2 Montagsmodelle erwischt.
    Die Frequenzumschaltung hast du dann selbst programmiert?

    Was sind "sichere" Abfrageintervalle für den RSSI Wert? Hast du da Erfahrungen gemacht?

  4. #4
    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);
    }

  5. #5
    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

  6. #6
    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, 22:04
  2. Antworten: 3
    Letzter Beitrag: 22.06.2011, 16:07
  3. Problem mit dem RS232 Transceiver
    Von clmns im Forum Asuro
    Antworten: 2
    Letzter Beitrag: 04.01.2009, 22:42
  4. RS232 Transceiver Problem!
    Von Nix_Blicker im Forum Asuro
    Antworten: 2
    Letzter Beitrag: 14.09.2008, 09:54
  5. Problem mit R5 auf IR-Transceiver
    Von XeN0n im Forum Asuro
    Antworten: 1
    Letzter Beitrag: 28.06.2008, 14:36

Berechtigungen

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

Labornetzteil AliExpress