Project Curacao2 – Part 7: Flame On! Initial Raspberry Pi Base Unit Tests
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.
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.
- Part 1 - Introduction to Project Curacao2 and the LoRa WXLink Feeder Stations
- Part 2 - First LoRa WXLink Feeder Stations Report
- Part 3 - Testing the LoRa Range
- Part 4 – Initial LoRa Range Results
- Part 5 – Final LoRa Range Results
- Part 6 - Raspberry Pi Zero Base Unit Build
- Part 7 - Flame On! Initial Base Unit Tests
- Part 8 - Solar Power Management System
- Part 9 - Ready for Deployment and Status
- Part 10 - PC2 in the Caribbean! Repairs and Testing
- Part 11 - It Lives! Deployment and Initial Results
- Part 12 - One Month of Results from Paradise
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
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.