Project Curacao2 – Part 7: Flame On! Initial Raspberry Pi Base Unit Tests

Project Curacao2 – Part 7:   Flame On!  Initial Raspberry Pi Base Unit TestsProject Curacao2

Time to power up the base unit!   We have carefully checked all the connections in Project Curacao2 to insure that we actually don’t cause any flames (unlikely as we are using Grove connectors), but here we go.   And the first initial power seems to have gone well.   You can see the twighlight view to the right.

Deployment of Project Curacao2 is only 1 month away (Early June 2017), so it is time to get the base unit based on the Raspberry Pi built and running.  Our plan is to leave it outside for three weeks as a last system test.   We will continue writing the software  We already have the two remote weather sensors (LoRa WXLink boxes – see parts 1-5 of this series) up and running. We have tested the LoRa WXLink range (1715 meters with the Yagi Antenna) and have determined that it is sufficient for our project in Curacao.

Solar Power
New Solar Panels on Top of the Project Curacao Box – WeatherRack in Background

Project Curacao2 is a redesign and rebuild of the Project Curacao environmental monitoring system that was running down on the island nation of Curacao in 2014 and 2015.   It finally died after a loose wire in the solar panel assembly (not in the panels, but in the internal wiring) finally came completely loose.   We are now using a LoRa WXLink wireless transmitters for data collection.

Initial Testing

We started by checking the load current levels by using the SunAirPlus board built in INA3221:

 
Output Load Voltage 3: 4.90 V 
Output Current 3: 382.00 mA 
Output Power 3: 1.87 W

We got about 382mA (we were expecting about 400mA), so everything seems to be drawing about the power expected. Note: When the box powers up, everything is connected and running. We are using a number of techniques under software control to reduce this by as much as 250mA. More on that in a later posting.

Checking out the I2C Bus

The Heart of the I2C System on Project Curacao2

Those who have followed the various projects and products that SwitchDoc Labs have been producing know that our preferred sensor interface for most sensors (low data rate sensors – cameras don’t do well across an I2C interface – too much data) and Project Curacao2 is no exception.  We are using an 4 channel I2C Mux to avoid address conflicts on the I2C bus (of which there are many!).

Following is the results of running the test program included in SDL_Pi_TCA9545.  The test program cycles through all four of the I2C buses and reports what devices are found on each bus.   Note:  The devices that show up on every bus are connected to the I2C bus before the 4 Channel I2C Mux.  We call that the “base” I2C Bus.  For example, 0x08 is the WXLink LoRa Receiver and it is connected to the I2C bus directly on the Pi2Grover board, thus it is on the base I2C bus.

Following the I2C test output we have a table listing each of the I2C devices, what bus they are on and their I2C addresses.

 

 

 

 

Test SDL_Pi_TCA9545 Version 1.0 - SwitchDoc Labs

Sample uses 0x73
Program Started at:2017-05-01 07:27:47

-----------BUS 0-------------------
tca9545 control register B3-B0 = 0x1
ignore Interrupts if INT3' - INT0' not connected
tca9545 control register Interrupts = 0x0
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- 08 -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- -- 
40: 40 -- -- -- -- -- -- -- 48 -- -- -- -- -- -- -- 
50: 50 -- -- -- -- -- -- 57 -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- -- 
70: -- -- -- 73 -- -- -- 77                         

-----------------------------------

-----------BUS 1-------------------
tca9545 control register B3-B0 = 0x2
ignore Interrupts if INT3' - INT0' not connected
tca9545 control register Interrupts = 0x0
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          03 -- -- -- -- 08 -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- 73 -- -- -- --                         

-----------------------------------

-----------BUS 2-------------------
tca9545 control register B3-B0 = 0x4
ignore Interrupts if INT3' - INT0' not connected
tca9545 control register Interrupts = 0x0
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- 08 -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: 40 -- -- -- -- -- -- -- 48 -- -- -- -- -- -- -- 
50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- 73 -- -- -- --                         

-----------------------------------

-----------BUS 3-------------------
tca9545 control register B3-B0 = 0x8
ignore Interrupts if INT3' - INT0' not connected
tca9545 control register Interrupts = 0x0
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- 08 -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: 60 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- 73 -- -- -- --                         

-----------------------------------


Following is the table of all the I2C devices in Project Curacao2.

 

Project Curacao2 – April 2017

Device I2C Address I2C Bus Number
I2C 4 Channel I2C Bus Mux 0x73 Base
WXLink LoRa Receiver 0x08 Base
16 Channel Servo Controller 0x50 Base
BMP180 Barometric Pressure 0x77 Bus 0
Real Time Clock DS3231 0x68 Bus 0
ATC EEPROM 0x57 Bus 0
Grove OLED DIsplay 0x3c Bus 0
4 Channel 16 Bit ADC 0x48 Bus 0
HDC1080 Temp / Humidity Sensor 0x40 Bus 0
MOD1016G Lightning Detector 0x03 Bus 1
SunAirPlus ADS1015 ADC 0x48 Bus 2
SunAirPlus INA3221 3 Chan Current 0x40 Bus 2
Sunlight Vis / IR / UV Sensor 0x60 Bus 3

Coming Next

We start the Project Curacao2 Pure Python software (modified from GroveWeatherPi) and start looking at each of the devices.