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

System not start up
#1

Hi
Re setting up the solar radiation board with tx software v7.0_b003.
I changed the tx config setting #define ID4 from 0 to 1  and uploaded the sketch to the tx unit.
On it restarting and then turning on the rx, the rx only highlights the W symbol (R and T stay red) even after 3 minutes.
I can then change the ID4 setting back to 0, reload the software and rx starts correctly.
This was done both on the bench with no sensors attached and with the tx in its usual setup.

Are there other changes I should be making when adding the solar board?

thanks, Ian
Reply
#2

Hello Ian

Usually, changing the #define ID 4 from 0 to 1 is the only thing needed to enable sending the solar data to the receiver, which by turn will need some settings adjusted on the config. However from your description, I think the problem is that the TX unit isn't transmitting any data at all, thus the receiver not initialize properly (no Temp/Hum and Rain data).

Without seeing your TX Config_Option.h file, I'm just trying to guess:

- Could it be that you have enabled sending the ID4 and disabled ID0 and ID3?
- Check if you are compiling the TX software using AVR Boards Manager v 1.6.21, it doesn't work properly with newer versions.
- Depending on the type of the your Temperature / Humidity sensor, the system may not work properly if ID0 is enabled and the sensor isn't connected.


Since you have your TX on the bench, there are some things you can do to verify if the TX is processing all the data.

On the Config_Options.h of the TX software start by enabling only DEBUG_ID4 and DEBUG_ID4

Code:
// --------------------------------------------------------------------------------------
// Debug
// --------------------------------------------------------------------------------------
#define ENABLE_DEBUG
//#define DEBUG_ID0
//#define DEBUG_ID2
//#define DEBUG_ID3
#define DEBUG_ID4
#define DEBUG_ID5
//#define DEBUG_SLINTERFACE
//#define EASYWEATHER_TEST

Compile and upload.
Open the serial monitor (19200 baud) and check the output. You should get something...
Next, enable DEBUG_ID3, and repeat the Compile and upload. Continue checking what you get on the serial monitor.
At last enable DEBUG_ID0, and again Compile and upload. If now you don't get anything on the serial monitor, then you need to connect a T/H sensor (even temporarily) to the TX unit to proceed.

Rgs.
Reply
#3

Hi
Not changing any parameters but ID4. Using board manager 1.6.21. 
Only thing of note I can think of is there is no UV sensor (its waiting patiently at Singapore airport).
System now running with ID4 0
Unfortunately my employment has got in the way of my enjoyment.
Will bring the tx back inside next weekend and see what debug produces.



Code:
// --------------------------------------------------------------------------------------
//    WeatherDuino Pro2 Universal TX AT328 - Version: 7.0_b003
//           Start of user configurable options
// --------------------------------------------------------------------------------------


// --------------------------------------------------------------------------------------
//   Define ID and TX unit number
// --------------------------------------------------------------------------------------
#define Station_ID  0xA1    // Must be equal to your RX Unit (Value from 0x00 to 0xFF)  
#define Unit_ID        0    // If you use only one TX unit define it as Unit_ID = 0
                            // For a second TX unit, define it as Unit_ID = 1

// --------------------------------------------------------------------------------------
//   Define type of Temperature / Humidity sensor used as Sensor 0 and / or Sensor 1
// --------------------------------------------------------------------------------------
#define TH_SENSOR0  1      // [SENSOR 0] - 0 for SHT2x sensor, 1 for SHT31 sensor, 2 for HTU21 sensor, 9 for Not Used        // ****2020
#define TH_SENSOR1  9      // [SENSOR 1] - 0 for SHT1x sensor, 1 for DHT22 sensor, 9 for Not Used


// --------------------------------------------------------------------------------------
//   Define which Temp / Hum sensor controls the RS fan, and threshold values
// --------------------------------------------------------------------------------------
#define FANCONTROL_SENSOR  0      // 0 for Sensor 0, 1 for Sensor 1 (which sensor is used to control the RS Fan)
const int fanOn_HiTemp  =  19;     // 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 10             // 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  10  // SEE INFO ABOVE!!!


// --------------------------------------------------------------------------------------
//          Analogue Vane Offset Calibration
// --------------------------------------------------------------------------------------
const int 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.280  // Please note: Values must be in metric units. Max. resolution: 3 decimal digits
  

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


// --------------------------------------------------------------------------------------
//   Soil / Leaf Interface Enable Disable
// --------------------------------------------------------------------------------------
#define SOILLEAF_INTERFACE        0    // 0 = Soil Leaf Interface not used, 1 = Enable Soil Leaf Interface
const byte Number_AnalogSensors = 2;   // 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  0   // SolRad / UV data                                                                                                  // ****2021   (to add solar radiation)
#define ID5  1   // Hardware Status - System Temp, Battery Voltage etc
#define ID7  0   // Send Soil & Leaf Temperature Data
#define ID9  0   // Send Soil & Leaf Moisture / Wetness Data


// --------------------------------------------------------------------------------------
//   VBat voltage fine tune (values in Volt, positive or negative)
// --------------------------------------------------------------------------------------
#define VBAT_OFFSET    0                                                                                                         // ****2020  (changed to -0.1, now back to 0)


// *************************************************************************************
//     Hardware Settings
// *************************************************************************************
// Define if the TMP36 sensor is instaled
#define USE_TMP36       1          // 0= Not Instaled, 1= Intalled                                                     // ****2020


// --------------------------------------------------------------------------------------
//   SHT31 I2C Address - Default address will work most of the times!
// --------------------------------------------------------------------------------------
#define SHT31_ADDRESS 0x44           // Default value is 0x44, but it can be changed to 0x45


// --------------------------------------------------------------------------------------
//   Debug
// --------------------------------------------------------------------------------------
//#define ENABLE_DEBUG
//#define DEBUG_ID0  
//#define DEBUG_ID2  
//#define DEBUG_ID3  
//#define DEBUG_ID4  
//#define DEBUG_ID5  
//#define DEBUG_SLINTERFACE
//#define EASYWEATHER_TEST  


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

Hi,

It should work even without the UV sensor, as you have it correctly disabled on the Config_Options
Another thing I'm remembering is, before compiling, in processor, choose Atmega328P (old bootloader).

Anyway, the output of the Debug options will be useful to check what is happening.
Reply
#5

Upon revisiting this problem I got compiler errors relating to the tx source code. I must have hit the wrong key at some time.
Once that was corrected I could enable debug output
#define ENABLE_DEBUG
#define DEBUG_ID4
and get results on the serial output with
#define ID4 1

Commenting out the debug defines caused the original problem of no startup to reappear. 
If the #define ENABLE_DEBUG is left enabled (with //#define DEBUG_ID4) then the tx works correctly.

System now working as it should. Though may have to wait till summer to get some decent sunshine.
Ian
Reply
#6

Hi Ian,

Thanks for the update.

(25-07-2021, 08:43)catliNZ Wrote:  ...
Commenting out the debug defines caused the original problem of no startup to reappear. 
If the #define ENABLE_DEBUG is left enabled (with //#define DEBUG_ID4) then the tx works correctly.

System now working as it should. Though may have to wait till summer to get some decent sunshine.
Ian

Out of curiosity, you have compiled the code using Atmega328P (old bootloader), or just Atmega328P?

Rgs.
Reply
#7

Hello again
Compiling for the ATmega328p(old Bootloader)

On a further note with WeatherDuino_P2AT2560_RX_v9.0_b003
Using Cumulus 1.9.4, the Sunshine hours for the last week are showing as 16 to 22. 
Not really a realistic value at 46[font]°[/font][font]S[/font] during winter!
During darkness the Pro2+ Rx was showing Srad at around 6 w/m2 so I have changed line 247 in RX_TX.ino to
       if (RX_Data[1] < 8) RX_Data[1] = 0;
Should get rid of any noise.
Probably not much sunshine this weekend to monitor real world performance.

cheers, Ian
Reply
#8

Hello Ian,

(30-07-2021, 08:27)catliNZ Wrote:  On a further note with WeatherDuino_P2AT2560_RX_v9.0_b003
Using Cumulus 1.9.4, the Sunshine hours for the last week are showing as 16 to 22. 
Not really a realistic value at 46[font]°[/font][font]S[/font] during winter!

Those unrealistic Sunshine hours are a result of two factors:

First factor, and the most important:
On Cumulus, there is a setting called Solar minimum (W/m2), usually by default this value is set to set 0, but it can't be 0, otherwise whenever there is some light on the sky it start to count as SunShine hours, which makes that even on cloudy days, every hour with some light is counted as SunShine hours. The value to use as Solar minimum, depends on each location, usually is should be a value from 50 to 80. For my location I use 50.

Second factor:
Since you are having some readouts caused by noise even during darkness, if the Solar minimum is set to 0, every read increments the SunShine Hours counter.


(30-07-2021, 08:27)catliNZ Wrote:  During darkness the Pro2+ Rx was showing Srad at around 6 w/m2 so I have changed line 247 in RX_TX.ino to
       if (RX_Data[1] < 8) RX_Data[1] = 0;
Should get rid of any noise.
Probably not much sunshine this weekend to monitor real world performance.

Your action on line 247 isn't wrong, however if you are getting readings on the darkness over 4 (most cases they are 0 to 2), there are some things you may like to check:

Cables between the TX unit and Solar interface: Preferably use a twisted pair cable. One pair for power supply, the other for sensor signals.
Cable between the Solar Interface and the solar cell, should be as short as possible. Preferably the Solar Interface and the solar cell should be on the same box.

As with all pyranometer, the sensor (in our case the solar cell) should be placed horizontally facing the sky.

As a final note, the value of the R2 (variable resistor) on the Solar Interface should be as near to 2.7KOhm as possible. R2 is set to that value before shipping, however you may want to check it again.

Rgs.
Werk_AG
Reply




Users browsing this thread: 1 Guest(s)