Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

TX board TX LED always on
#1

Hi Everyone,

I have finally built my station and all seems to be well on the receiving side, but my TX board seems to have the TX LED constantly on, and no data is being sent. Let me know what my next steps should be.

Thanks, Michael
Reply
#2

Hi,

To start please enable all the debug options on the Config_Options.h file, compile and upload. Then open the Arduino serial monitor (19200 baud) and watch what comes out.

Do you already have the radio mode installed (since the Led turns ON and don't turn OFF seems it is stuck on the sendData routine).
Can you please post your Config_Options.h file?

For some Arduino Nanos you should compile with the "Old Bootloader" option.

Rgs
Werk_AG
Reply
#3

(11-09-2023, 02:32)werk_ag Wrote:  Hi,

To start please enable all the debug options on the Config_Options.h file, compile and upload. Then open the Arduino serial monitor (19200 baud) and watch what comes out.

Do you already have the radio mode installed (since the Led turns ON and don't turn OFF seems it is stuck on the sendData routine).
Can you please post your Config_Options.h file?

For some Arduino Nanos you should compile with the "Old Bootloader" option.

Rgs
Werk_AG

So I ended up making it stop staying on constantly, I assume just a programming upload error. The problem that I've noticed more is the light blinking 5 times, and when I have the serial monitor open, it attempts to send the ID_2 5 times and then stops. Here it is as it comes from the monitor.
 
Code:
RFM95 init done.
Sending ID2...
  WindAverage (m/s): 0.00  WindGust (m/s): 0.00
  WindDir: 2700  WindDirName: W

Sending ID2...
  WindAverage (m/s): 0.00  WindGust (m/s): 0.00
  WindDir: 2700  WindDirName: W

Sending ID2...
  WindAverage (m/s): 0.00  WindGust (m/s): 0.00
  WindDir: 2700  WindDirName: W

Sending ID2...
  WindAverage (m/s): 0.00  WindGust (m/s): 0.00
  WindDir: 2700  WindDirName: W

Sending ID2...
  WindAverage (m/s): 0.00  WindGust (m/s): 0.00
  WindDir: 2700  WindDirName: W
Thanks for the help!
Michael
Reply
#4

Hi,

Seems it is hanging at some point. Do you have the Temperature / Humidity sensor connected to the TX board? Can you read the T/H sensor?
Don't connect the T/H sensor directly to an Extended I2C port, use the included adaptor.

Rgs.
Werk_AG
Reply
#5

(17-09-2023, 04:10)werk_ag Wrote:  Hi,

Seems it is hanging at some point. Do you have the Temperature / Humidity sensor connected to the TX board? Can you read the T/H sensor?
Don't connect the T/H sensor directly to an Extended I2C port, use the included adaptor.

Rgs.
Werk_AG

Hi,
I have it connected to the I2C port that is not the solar, nor the extended I2C ports. I am using an SHT3X but I am not getting anything from it at all. I am sort of stumped but I will try connecting it to a normal Arduino and testing its function. Let me know your thoughts.
Thanks,
Michael
Reply
#6

(17-09-2023, 15:59)HeavyWeather Wrote:  Hi,
I have it connected to the I2C port that is not the solar, nor the extended I2C ports. I am using an SHT3X but I am not getting anything from it at all. I am sort of stumped but I will try connecting it to a normal Arduino and testing its function. Let me know your thoughts.
Thanks,
Michael

Hi Michael,

There is a little utility sketch called MultiSpeed_I2C_Scanner (it is included in the 4Pro DB receiver software package) that you can use to check if the SHT31 sensor is detected. Usually it is at address 0x44, but some brands use address 0x45

On the Config_Options of the TX firmware, you can change the address at line 33

Code:
// Sensor 0 - SHT31 I2C Address
#define S0_SHT31_ADDRESS 0x44    // Default value is 0x44

Let me know if this solved the issue.

Rgs.
Werk_AG

Reply
#7

Good evening.

I have also finished building the LoRa transmitter.
Unfortunately, I'm experiencing the issue where the TX LED remains on continuously.
I'm sending the
 
Code:
config_Options
file where the various parameters are configured.
In the serial monitor, I see: "RF95 init done" and "DS2482-100 not detected" because I haven't connected the Soil Leaf interface yet.
After that, there is no further output. Any ideas?
I've tested all the power supplies for the various components, and everything seems fine.
I tried changing the temperature sensor address from 0x44 to 0x45 since I have an SHT85 temperature sensor, but it didn't work.
I also changed the compilation with the old bootloader, but it returned an error.

Thank you.
Code:
// --------------------------------------------------------------------------------------
//    WeatherDuino 4Pro Universal TX AT328 - Version: 7.3_b005
//           Start of user configurable options
// --------------------------------------------------------------------------------------


// --------------------------------------------------------------------------------------
//   Define ID, TX unit number and Transmitting Mode
// --------------------------------------------------------------------------------------
const byte Station_ID = 0xA1;    // Must be equal to your RX Unit (Value from 0x00 to 0xFF)  
const byte UnitID     = 0;       // If you use only one TX unit define it as UnitID = 0
                                 // For a second TX unit, define it as UnitID = 1, and so on...

#define RADIO_MODE     0         // 0= LoRa RFM95, 1= OOK 433Mhz
                                 // If you are using a LoRa RFM95 module use 0,
                                 // otherwise for OOK/ASK RF module, use 1
                                 // LoRa mode can only be used with WeatherDuino 4Pro receivers equiped with a LoRa module


// --------------------------------------------------------------------------------------
//   If you are using LoRa radio, define the type
// --------------------------------------------------------------------------------------
#define LORA_FREQUENCY  0   // 0= Europe (868Mhz), 1= Australia & USA (915Mhz)


// --------------------------------------------------------------------------------------
//   Define type of Temperature / Humidity sensor used as Sensor 0
// --------------------------------------------------------------------------------------
#define TH_SENSOR0       0       // [SENSOR 0] - 0= SHT31 sensor, 1= SHT21 sensor, 2= HTU21 sensor, 9= Not Used


// Sensor 0 - SHT31 I2C Address
#define S0_SHT31_ADDRESS 0x44    // Default value is 0x44

// Sensor 0 - SHT2X I2C Address
#define S0_SHT21_ADDRESS 0x40    // Default value is 0x40

// --------------------------------------------------------------------------------------
//   Define type of Temperature / Humidity sensor used as Sensor 1
//   IMPORTANT - If two I2C sensors (SHT31 or SHT2X) are used, each one must have its own I2C address
// --------------------------------------------------------------------------------------
#define TH_SENSOR1   0           // [SENSOR 1] - 0= SHT31 sensor, 1= SHT21 sensor, 9= Not Used


// Sensor 1 - SHT31 I2C Address
#define S1_SHT31_ADDRESS 0x44    // If an SHT31 is also used as Sensor 0, then this I2C address MUST be different from Sensor 0, (I2C address changed to 0x45 - Be carefull

// Sensor 0 - SHT2X I2C Address
#define S1_SHT21_ADDRESS 0x40    // If an SHT21 is also used as Sensor 0, then this I2C address MUST be different from Sensor 0


// --------------------------------------------------------------------------------------
//   Define which Temp / Hum sensor controls the fan, and threshold values
// --------------------------------------------------------------------------------------
#define FANCONTROL_SENSOR  1       // 0 for Sensor 0, 1 for Sensor 1
const int fanOn_HiTemp  = 30;      // RS Fan turn on when outside temperature is >= than this value (ºC)
const int fanOn_LowTemp =  2;      // RS Fan turn on when outside temperature is <= than this value (ºC)
const int fanOn_LowWind =  1;      // RS Fan turn on when Wind Average is <= than this value (m/s)


// --------------------------------------------------------------------------------------
//   Define type of Wind Speed sensor. See below for allowed types
// --------------------------------------------------------------------------------------
/*
--- Fine Offset Anemometers ---
Use 1O for standard FO anemometers
Use 11 for FO anemometer modified with 1 hall effect sensor

--- Inspeed Anemometers ---
Use 20 for Inspeed Vortex, digital 8 pulse revolution anemometer
Use 21 for Inspeed Vortex, hall efect sensor
Use 22 for Inspeed Vortex, read switch sensor

--- Davis Anemometers ---
Use 30 for Davis 6410, 7911 anemometer

--- Novalynx Anemometers ---
Use 40 for Novalynx, model 200-WS-02F

--- Environmental Measurements Limited ---
Use 50 for EML, model WSD1

--- Didcot Instrument Company ---
Use 60 for DIDCOT, model DWR205

--- Vector Instruments ---
Use 70 for Vector Instruments model A100LK
Use 71 for Vector Instruments model A100L2
Use 72 for Vector Instruments model A100R

*/

#define WINDSPEED_SENSORTYPE   30             // SEE INFO ABOVE!!!


// --------------------------------------------------------------------------------------
//   Define type of Wind Direction sensor
// --------------------------------------------------------------------------------------
/*
--- Fine Offset Wind Vane ---
Use 1O for standard FO wind vane

--- Analogue Wind Vanes ---
Use 20 for any 5V analogue wind vane. See bellow for a list of tested models

- Inspeed E-Vane 2
- Davis 6410
- Novalynx, model 200-WS-02F
- Environmental Measurements Limited, model model WSD1
- DIDCOT, model DWD205
- Almost all 5V analogue wind vanes will work

*/
#define WINDDIR_SENSORTYPE  20  // SEE INFO ABOVE!!!


// --------------------------------------------------------------------------------------
//   Analogue Vane Offset Calibration
// --------------------------------------------------------------------------------------
const int16_t WDir_offs = 0;   // Usually there is no need to change default value (zero)


// --------------------------------------------------------------------------------------
//   Define Rain Gauge tip boucket value (mm)
// --------------------------------------------------------------------------------------
/*
  Use 0.280 for standard FineOfset rain gauges (Datasheet value = 0.2794)
  Use 0.200 for standard metric Davis rain gauges
  Use 0.254 for standard imperial Davis rain gauges
*/  
#define COLLECTOR_TYPE  0.200  // Please note: Values must be in metric units. Max. resolution: 3 decimal digits
  

// --------------------------------------------------------------------------------------
//   Define type of UV Sensor
// --------------------------------------------------------------------------------------
#define UV_SENSOR       0      // 0= UVM-30A, 1= VEML6075, 9= Not used


// --------------------------------------------------------------------------------------
//   Soil / Leaf Interface Enable Disable
// --------------------------------------------------------------------------------------
#define SOIL_LEAF_INTERFACE       1    // 0 = Soil Leaf Interface not used, 1 = Enable Soil Leaf Interface
const byte Number_AnalogSensors = 4;   // Up to 4 analog sensors


// --------------------------------------------------------------------------------------
//   Define which data this unit will send. 0 = Not send this data, 1= Send this data
// --------------------------------------------------------------------------------------
#define ID0  1   // Temp/Hum Data
#define ID1  0   // Not Used
#define ID2  1   // Wind data
#define ID3  1   // Rain data
#define ID4  1   // SolRad / UV data
#define ID5  1   // Hardware Status - System Temp, Battery Voltage etc
#define ID7  1   // Send Soil & Leaf Temperature Data
#define ID9  1   // Send Soil Moisture & Leaf Wetness Data


// --------------------------------------------------------------------------------------
//   VBat voltage fine tune (values in Volt, positive or negative)
// --------------------------------------------------------------------------------------
#define VBAT_OFFSET    0.0                  //


// --------------------------------------------------------------------------------------
//   Hardware settings
// --------------------------------------------------------------------------------------
// Define if the TMP36 sensor is instaled
#define USE_TMP36  1         // 0= Not Instaled, 1= Intalled

// --------------------------------------------------------------------------------------
//   Debug
// --------------------------------------------------------------------------------------
#define DEBUG_ENABLE
#define DEBUG_ID0
#define DEBUG_ID2
#define DEBUG_ID3
#define DEBUG_ID4
#define DEBUG_ID5
#define DEBUG_SOILLEAF


// ---------------------------------------------------------------------------------------------------
//     End of user configurable options
// ---------------------------------------------------------------------------------------------------
Reply
#8

(21-09-2023, 19:51)bombenm Wrote:  In the serial monitor, I see: "RF95 init done" and "DS2482-100 not detected" because I haven't connected the Soil Leaf interface yet.

Hi,

If the DS2482-100 chip is installed it should be detected even if Soil Leaf interface isn't connected.

In your Config_Options you have defined the use of both TH_SENSOR0 and TH_SENSOR1 with a sensor STH31 type, that is ok, but both can't be on the same I2C address (0x44)
This info is stated on the code right above the config settings for TH_SENSOR1

Code:
// --------------------------------------------------------------------------------------
//   Define type of Temperature / Humidity sensor used as Sensor 1
//   IMPORTANT - If two I2C sensors (SHT31 or SHT2X) are used, each one must have its own I2C address
// --------------------------------------------------------------------------------------
Reply
#9

(22-09-2023, 02:08)werk_ag Wrote:  
(21-09-2023, 19:51)bombenm Wrote:  In the serial monitor, I see: "RF95 init done" and "DS2482-100 not detected" because I haven't connected the Soil Leaf interface yet.

Hi,

If the DS2482-100 chip is installed it should be detected even if Soil Leaf interface isn't connected.

In your Config_Options you have defined the use of both TH_SENSOR0 and TH_SENSOR1 with a sensor STH31 type, that is ok, but both can't be on the same I2C address (0x44)
This info is stated on the code right above the config settings for TH_SENSOR1
 
Code:
// --------------------------------------------------------------------------------------
//   Define type of Temperature / Humidity sensor used as Sensor 1
//   IMPORTANT - If two I2C sensors (SHT31 or SHT2X) are used, each one must have its own I2C address
// --------------------------------------------------------------------------------------
First of all, thank you for your reply.
You’re right that I enabled both sensor 0 and sensor 1 on the same address.
Now I fixed it by putting sensor 1 as not installed.
Nothing has changed.  I will explain my issue.
 
Very often, just feed the board, the red led stays on all the time.
Only after many reset on Arduino Nano board, or, after removing the power to the board, sometime it starts to work and flash the red led.  
This, however, does not last for long.
After a few hours of transmission the red LED lights up again permanently and the transmission stops.
I was thinking about a power issue since the board is powered by a photovoltaic system and the transmission mostly breaks down in the evening, but measuring the battery is ok.
I don’t know where to hit my head anymore.  
Have any of you ever had my problem in the past?
thanks
Reply
#10

Hello all,

This is an edit to my post that I did earlier. I have more information on my issues and hope someone can help troubleshoot. When turning both the receiver and transmitter, with my debug on for the transmitter, I have noticed the following issues:
The temperature sensor intermittently works and doesn't work, but when tested on a separate system, it works just fine.
The Wind and Rain are sent first to the receiver, and after a few times the wind sensor sends, the rain amount jumps to 722.4 inches out of nowhere.
 
PHP Code:
RFM95 init done.
Sending ID2...
  
WindAverage (m/s): 0.00  WindGust (m/s): 0.00
  WindDir
900  WindDirNameE

Sending ID2
...
  
WindAverage (m/s): 0.00  WindGust (m/s): 0.00
  WindDir
900  WindDirNameE

Sending ID2
...
  
WindAverage (m/s): 0.00  WindGust (m/s): 0.00
  WindDir
900  WindDirNameE

Sending ID2
...
  
WindAverage (m/s): 0.00  WindGust (m/s): 3.13
  WindDir
2700  WindDirNameW

Sending ID2
...
  
WindAverage (m/s): 0.00  WindGust (m/s): 2.63
  WindDir
900  WindDirNameE

Sending ID0
...
  
Sensor 0 Temp0.00  Hum0.00
  Sensor 1 
Temp0.00  Hum0.00

Sending ID2
...
  
WindAverage (m/s): 0.00  WindGust (m/s): 1.37
  WindDir
2250  WindDirNameSW

Sending ID2
...
  
WindAverage (m/s): 0.00  WindGust (m/s): 0.97
  WindDir
900  WindDirNameE

Sending ID2
...
  
WindAverage (m/s): 0.00  WindGust (m/s): 0.00
  WindDir
900  WindDirNameE

Sending ID2
...
  
WindAverage (m/s): 0.00  WindGust (m/s): 0.00
  WindDir
900  WindDirNameE

Sending ID2
...
  
WindAverage (m/s): 0.00  WindGust (m/s): 0.00
  WindDir
900  WindDirNameE

Sending ID3
...
  
Collector Type0.28
  Total Rain Tips
0
  Total Rain
0.000
  Rain Fall Tips 
/h0
  Rain Fall Rate mm
/h0.00

Sending ID2
...
  
WindAverage (m/s): 0.00  WindGust (m/s): 0.00
  WindDir
900  WindDirNameE

Sending ID0
...
  
Sensor 0 Temp0.00  Hum0.00
  Sensor 1 
Temp0.00  Hum0.00

Sending ID2
...
  
WindAverage (m/s): 0.00  WindGust (m/s): 0.00
  WindDir
900  WindDirNameE

Sending ID2
...
  
WindAverage (m/s): 0.00  WindGust (m/s): 0.00
  WindDir
900  WindDirNameE

Sending ID2
...
  
WindAverage (m/s): 0.00  WindGust (m/s): 0.00
  WindDir
900  WindDirNameE

Sending ID2
...
  
WindAverage (m/s): 0.00  WindGust (m/s): 0.00
  WindDir
900  WindDirNameE

Sending ID2
...
  
WindAverage (m/s): 0.00  WindGust (m/s): 0.00
  WindDir
900  WindDirName
This is what I get in the monitor, and for some reason, it just stops altogether and hangs. could this be an issue with the wind sensor? It sends almost every second and even interrupts all of the other sensors it seems.   Undecided

Does anyone have any ideas on how to move further? I will also present pictures later tonight as well.

Thanks,
Michael
Reply




Users browsing this thread: 1 Guest(s)