- LiFePO4 Speicher Test         
Ergebnis 1 bis 3 von 3

Thema: TRX 433 blinkt wie verrückt

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    TRX 433 blinkt wie verrückt

    Hi leute,

    ich habe ein grosse problem beim ansteuern eines TRX 433 mit der C-Control 1 Unit. Egal was ich mache, ich bekomme keine Daten vom TRx 433.
    Ich kann zwar Kommando- und Daten-Frames and das TRX-Modul übertragen aber sonst passiert nichts.

    Ich hab zuerst die Beispiele von Konrad benutzt, leider ohne Erfolg.
    Dann habe ich in mBasic einen Treiber geschrieben, mit selbigem Ergebnis.
    Damit konnte ich allerdings etwas sehr seltsames beobachten.
    Sobald ich damit beginne den Kommandoframe zu übertragen und die Clock-Leitung auf "high" setzte
    fängt die Acknowledge-Leitung wie wild zum Blinken an, obwohl sie doch eigentlich normal auf "High"
    gesetzt werden sollte, oder?
    Das zweite Phänomen ist, sobald ich die Data-Leitung auf "High" setzte blinkt auch diese, was ich noch
    weniger kapiere, da ich sie ja auf "High" setzte, und nicht das TRX.

    Mittlerweile habe ich alles mehrfach geprüft. Die Pull-down-Widerstände(1k) der drei Ports sind auf Masse
    gelegt und das TRX wird über die interne Versorgungsspannung des Applikation-Boards gespeisst.

    Ich hoffe auf Hilfe, danke, Uli

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803

    Einsamer TRX 433

    Hallo Uli,

    wichtig für den Test auf richtige elektrische Verbindung ist die Funktion GET_STATUS (COMMAND=0). Der TRX sollte mit seiner Geräteadresse in SDATA1 antworten.
    Das muss zuerst o.k. sein, d.h. nach einem Reset wäre die Antwort 255.

    Wenn das funzt, kannst du mit einem 2. TRX die Sende-/Empfangsfunktion testen.

    Hier sind die wesentlichen Funktionen für den TRX 433:
    Code:
    ' Konstanten-Definitionen:
    
    define MIN_POWER   50 'Für TRX SET_POWER
    
    ' Variablen-Definitionen:
    
    ' TRX Benutzer Interface
    define MODE     byte[1]
    define SDATA1   byte[2]
    define SDATA0   byte[3]
    define COMMAND  byte[4]
    define SADDRESS byte[5]
    
    define DATA0    byte[2]
    define DATA1    byte[3]
    define DATA2    byte[4]
    define DATA3    byte[5]
    define DATA4    byte[6]
    define DATA5    byte[7]
    define DATA6    byte[8]
    define ADDRESS  byte[9]
    
    'define TRX_BYTE byte[5] 'DATA3
    define TRX_INT  word[3] 'DATA3/4
    
    ' Digitalport-Definitionen:
    define DATA     port[1]  ' TRX 433 DATA  (blau)
    define CLOCK    port[2]  ' TRX 433 CLOCK (gelb)
    define ACKN     port[3]  ' TRX 433 ACKN  (grün)
    
    ' TRX 433 Treiber Aufrufe:
    define SEND     &H0101
    define RECEIVE  &H017D
    
    
    ' TRX 433 Interface:
    
    ' 8 Byte RF-Frame senden
    #SEND_RF
    #SEND_RF8
    MODE=0:sys SEND:return
    ' 8 Byte RF-Frame empfangen
    #RECEIVE_RF
    #RECEIVE_RF8
    MODE=2:SADDRESS=0:COMMAND=13:sys SEND:pause 1
    MODE=0:sys RECEIVE:return
    ' TRX Status lesen
    #GET_STATUS
    MODE=2:SADDRESS=0:COMMAND=0:sys SEND:sys RECEIVE
    return 'Geräteadresse=SDATA1
    ' Kanal 0..4 (aus SDATA0) einstellen
    #SET_CH
    MODE=2:SADDRESS=0:COMMAND=7:sys SEND:return
    ' Kanal 0 einstellen
    #CH0_ON
    MODE=2:SADDRESS=0:COMMAND=7:SDATA0=0:sys SEND:return
    ' Kanal 1 einstellen
    #CH1_ON
    MODE=2:SADDRESS=0:COMMAND=7:SDATA0=1:sys SEND:return
    ' Kanal 2 einstellen
    #CH2_ON 'Standard!
    MODE=2:SADDRESS=0:COMMAND=7:SDATA0=2:sys SEND:return
    ' Kanal 3 einstellen
    #CH3_ON
    MODE=2:SADDRESS=0:COMMAND=7:SDATA0=3:sys SEND:return
    ' Kanal 4 einstellen
    #CH4_ON
    MODE=2:SADDRESS=0:COMMAND=7:SDATA0=4:sys SEND:return
    ' Sendeleistung 0..255 (aus SDATA0) einstellen
    #SET_POWER
    MODE=2:SADDRESS=0:COMMAND=6:sys SEND:return
    ' Sendeleistung -43 dBm einstellen
    #POWER0
    MODE=2:SADDRESS=0:COMMAND=6:SDATA0=0:sys SEND:return
    ' Sendeleistung -20 dBm einstellen
    #POWER1
    MODE=2:SADDRESS=0:COMMAND=6:SDATA0=1:sys SEND:return
    ' Sendeleistung -15 dBm einstellen
    #POWER2
    MODE=2:SADDRESS=0:COMMAND=6:SDATA0=2:sys SEND:return
    ' Sendeleistung -10 dBm einstellen
    #POWER3
    MODE=2:SADDRESS=0:COMMAND=6:SDATA0=4:sys SEND:return
    ' Sendeleistung -5 dBm einstellen
    #POWER4
    MODE=2:SADDRESS=0:COMMAND=6:SDATA0=8:sys SEND:return
    ' Sendeleistung 0 dBm einstellen
    #POWER5 'Standard!
    MODE=2:SADDRESS=0:COMMAND=6:SDATA0=15:sys SEND:return
    ' Sendeleistung +5 dBm einstellen
    #POWER6
    MODE=2:SADDRESS=0:COMMAND=6:SDATA0=111:sys SEND:return
    ' Max. Sendeleistung +10 dBm einstellen
    #POWER7
    #POWER_MAX
    MODE=2:SADDRESS=0:COMMAND=6:SDATA0=255:sys SEND:return
    #POWER_MID
    SDATA0=100:goto SET_POWER
    #POWER_MIN
    SDATA0=MIN_POWER:goto SET_POWER
    ' Reset TRX
    #RESET_TRX
    MODE=2:SADDRESS=0:COMMAND=8:sys SEND:pause 10
    MODE=0:return
    ' CF-Framelänge 4 Byte wählen
    #FRAME4
    MODE=2:return
    ' RF-Framelänge 8 Byte einstellen
    #FRAME8
    MODE=2:SADDRESS=0:COMMAND=4:sys SEND
    MODE=0:return
    ' RF-Framelänge 16 Byte einstellen
    #FRAME16
    MODE=2:SADDRESS=0:COMMAND=5:sys SEND
    MODE=1:return
    ' Device Address 0..255 (aus SDATA0) einstellen
    #SET_DEVICE_ADDRESS
    MODE=2:SADDRESS=0:COMMAND=3:sys SEND
    return
    ' Präambellänge (aus SDATA0) einstellen
    #SET_PREAMBLE
    MODE=2:SADDRESS=0:COMMAND=14:sys SEND
    return
    
    ' RF-Buffer leeren
    #FLUSH
    if DATA=on then gosub RECEIVE_RF
    return
    ' Warten (TRX_INT * 20ms) bis Daten gelesen werden können
    #WAIT4READY
    TRX_INT=TRX_INT+timer
    #WAITING
    if DATA=on then goto DATA_VALID
    if TRX_INT<>timer then goto WAITING
    TRX_INT=off:return 'Timeout
    #DATA_VALID
    TRX_INT=on:return  'Daten können gelesen werden
    ' Untere FSK Frequenz einstellen
    #FSK_LO
    MODE=2:SADDRESS=0:COMMAND=12:SDATA0=0:sys SEND:return
    ' Obere FSK Frequenz einstellen
    #FSK_HI
    MODE=2:SADDRESS=0:COMMAND=12:SDATA0=1:sys SEND:return
    ' Sender einschalten
    #TX_ON
    MODE=2:SADDRESS=0:COMMAND=9:sys SEND
    return
    ' Empfänger einschalten
    #RX_ON
    MODE=2:SADDRESS=0:COMMAND=10:sys SEND
    return
    ' Audio 1k senden
    #TX_AUDIO1K
    MODE=2:SADDRESS=0:COMMAND=1:SDATA0=&H11:SDATA1=&H16:sys SEND
    return
    ' Audio 2k senden
    #TX_AUDIO2K
    MODE=2:SADDRESS=0:COMMAND=1:SDATA0=&H11:SDATA1=&H26:sys SEND
    return
    Gruß Dirk

  3. #3
    Genau das habe ich versucht,
    aber ich bekomme ja nicht einmal daten vom TRX zurück.

    Da ich was das angeht leider etwas unter zeitdruck stehe, habe ich
    mir jetzt mal 2 Easyradio-Module besorgt, die arbeiten über eine normale
    serielle Schnittstelle, hoffentlich klappt's damit.

    Trotzdem danke für die Antwort,

    Gruß uli

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad