Forum Replies Created
-
AuthorPosts
-
How are all your Atlas sensors connected to the Mayfly? Through the I2C grove port?
Your github repo isn’t public so I’m not able to view it. I’d have to see the sketch to understand what’s going on with the logger code, but I’m guessing there’s a variety of factors involved in the failure. One is that it looks like your station uses way too much power overnight, so either it’s not sleeping properly or you’ve got some LEDs on or something else that is consuming power because a station reporting every 15 minutes shouldn’t drop that quickly overnight unless there’s a big load like a sensor wiper motor or other power-hungry device. From the MMW page, it looks like it’s also got an old Digi LTE board on it? That also uses more power than the more efficient modules we use now, so a lot of your draw might be from that too. And I’m guessing it’s probably a Mayfly v0.5b board too? Newer versions use power directly from the solar panel during the day to allow for fully charging the battery on the side, rather than always drawing from the battery and trying to charge it at the same time. It’s been awhile since we’ve had any Digi boards on our stations, but the battery chart looked similar to yours. I’d recommend putting a new, fully-charged battery on the station and, but also look into why the power drops so quickly when there’s no sun.
SDI-12 sensors usually use 12 volts for sensor excitation because that’s what the specification for the protocol dictates. Fun fact: the “12” part of “SDI-12” does not refer to the voltage, but rather the baud rate, so the name actually means “serial-digital interface at 1200 baud”). Back in the days when the protocol was first being used, most sensor manufacturers used 12 volts for their sensor power. Over the decades since, changes in technology resulted in sensors that can use lower excitation power, or sensors that can regulate their own power if you give them a wide input range.
There’s lots of interesting history about the standard on the SDI-12 Support Group website: https://www.sdi-12.org/history
Plus there’s helpful technical details about the protocol in the full specification sheet: https://www.sdi-12.org/specification
I have personally used SDI-12 sensors that operate at 3.3v, 5v, 9v, 12v, so it really depends on the manufacturer’s designs and the sensors unique power requirements that dictate what excitation voltage must be supplied to the sensor. In general, they’re supposed to all be able to be powered by 12 volts in order to meet the requirement of the SDI-12 standard. But some manufactures have added the special feature of running from a lower voltage since nowadays many loggers operate on smaller battery supplies.
There’s one 3.3v regulator that’s always powered on the Mayfly (anytime the Mayfly power switch is ON, even if the processor is put to sleep), and that can be found along the top (inward end) of each of the 20-pin headers, helpfully next to the GND pin you’d also need for sending power to an external device. The three switched power options (3.3v_SW, 5v_SW, and 12v_SW) are available on the other end of the headers, and are controlled by pin D22. I’ve attached a cropped snippet from the Mayfly schematic showing the header pinouts, since it’s sometimes hard to read the labels on the actual boards. This attached pinout image applies only to the v1.0 and v1.1 boards. Previous versions had different pinouts because of the different design changes between versions. All the full schematics are available in the Board Schematic section of the Mayfly hardware page.
Attachments:
We sold the last couple kits last week and I hadn’t updated the status page yet to indicate that, but I just did. There were some supply issues with some of the parts in the starter kits and full station kits, but that should be resolved soon and the kits back in stock in about a week. The rest of the custom EnviroDIY electronic items like the bee modules and adapters will take a little longer.
As long as you’re using the latest Hydros21 library file that has the longer sample time (500ms warmup and 1000ms sample time, as shown here: https://github.com/EnviroDIY/ModularSensors/blob/master/src/sensors/MeterHydros21.h) then it sounds like maybe a faulty sensor. Or it could be that the Mayfly isn’t waiting long enough to either warm up or wait for the measurement and you need to add additional time. Do you have one of the Meter ZSC bluetooth interfaces for setting and checking Meter Group sensors? They’re really handy testing and troubleshooting things like their CTD sensors, and for changing the SDI12 address.
It would be important to know whether it’s the sensor that is reporting -9992 or if it’s what the Mayfly is saying. Sara wrote lots of code in the ModularSensors library to use -9999 as an indicator that there’s missing information (usually from a sensor or accessory). In most non-EnviroDIY libraries, an Arduino board might report 0 (zero) when it doesn’t get any data from a sensor or peripheral device, like when a device is unplugged or missing. But if you’ve got a sensor that can legitimately report ‘0’, for a parameter (like a conductivity sensor that’s out of the water, or a cellular board with no signal strength), then it’s important to be able to differentiate between a real zero reading and a missing sensor.
But as far as I know, the Mayfly isn’t programmed to report -9992 for anything. Do you only get that value when the sensor is plugged in to the Mayfly? Does the Mayfly report -9999 for all 3 parameters when no sensor is connected? Are you running a logging sketch or a simple test sketch? If you use one of the simple example sketches from the EnviroDIY/SDI-12 library (like d_simple_logger) it will tell you exactly what the sensor is reporting, rather than what the Mayfly interprets.
You could also try putting the SDI-12 address back to ‘0’ and then power the sensor and watch the serial DDI string it prints out, thus bypassing the SDI-12 libraries all together, which again can help determine if it’s a sensor issue or a Mayfly library issue.
You should also disconnect all other external sensors from the Mayfly when troubleshooting communication issues because we’ve seen several instances of a CTD sensor losing partial or total communication with a Mayfly while a malfunctioning OBS-3 turbidity sensor was also connected to the Mayfly on another port. Once the bad turbidity sensor is unplugged, the CTD starts working normally again.
No exact date yet, but we’ve ordered all of our inventory items and now are just waiting. I’ll update the Availability page with exact dates if we get more detailed info.
The sensor manufacturer has assured me that the sensors will work at 3.3v, and we’ve had experience with hundreds of them and concur, but they’ll also work just fine with the jumper set to 5v instead, so it’s your choice.
This thread is for overall technical questions about the hardware on the Mayfly v1.1 boards, so if you have other questions about code or specific sensors, it would be best to start a new thread for those topics.
The Mayfly makes 3.3v, 5v, or 12v, as set by the jumpers on the headers next to each Grove socket. The ClariVue sensors need 9 or 12v, but at lower temperatures (below 5C) we’ve found that some of the sensor will stop working because the Mayfly can’t produce enough current at 12v at low temperatures. So to fix this issue, you can just change the Mayfly’s 12v boost circuitry to output 9v instead, and you do this by putting a solder blob on the back of the board on solder jumper SJ25. I explained in greater detail and with a photo of the SJ25 solder blob on this post: https://www.envirodiy.org/topic/need-help-with-clarivue10-turbidity-sensors/#post-17638
Once you’ve done that, you need to set one of the SDI-12 Grove sockets to 12v (but it’ll really be 9v because your solder blob changes the 12v regulator circuit to 9v). Move one of the header jumpers from its default 3v setting to 12v. There’s an example photo of different voltage settings in the middle of this page: https://www.envirodiy.org/mayfly/hardware/jumper-settings/
Then you also need to make sure that you’re using the latest “CampbellClariVUE.h” file from Github here: https://github.com/EnviroDIY/ModularSensors/blob/master/src/sensors/CampbellClariVUE10.h because the latest version of the sensors seems to need more warmup and sample time than the ones we originally tested the library with. Specifically, lines 88 and 99 need to be changed to 8000ms and 11000ms. So either manually change those lines in the file on your computer or download the latest .h file from github and replace the one on your computer. You won’t need to make any changes to your actual logger sketch, the timing changes only need to be made in that one library file. When you compile and upload the sketch, the new sample times in the library will be used. I explained more about this issue in the other forum post as well if anyone wants to see a full description of the issue and our recommended fix.
And your screw terminal board could use a little extra work to make it safer in the long run. The wire leads on the sensor cable should be cut shorter so there’s no exposed copper wire seen where the wire enters the terminal block clamp. This will prevent 2 wires from accidentally touching if they get bent or pushed around when inside the enclosure. There are 2 Ground terminals, so you can connect the black wire to one ground pin, and the clear shield wire to the other ground pin. In general, putting 2 wires into one screw terminal socket should be avoided whenever possible. The white sensor wire is data, which goes to the S2 pin of the screw terminal board, and the red sensor wires goes to either of the +V pin of the terminal board (they’re both the same). See the attached photo of an example of how we wire our ClariVUE sensors to the screw terminal board.
Attachments:
There are multiple sources of power on the Mayfly boards. There’s 3.3v that’s always on, then there’s a separate 3.3v regulator that can be switched on and off by setting pin D22 high or low in your code. There’s also a separate 5v boost regulator (and on Mayfly v1.x) a 12v boost regulator, both of which are also controlled by D22 in your sketch. There’s actually no physical access to pin D22 to the users, it’s simply the trace from the ATmega1284P chip to the regulators that gets set high or low by your sketch. All 3 of the switched regulators are active-high, meaning setting D22 high will activate the regulators, and setting D22 low will deactivate the regulators.
You can access the switched 3.3v, 5v, and 12v power output lines in two different methods. One is through the 2×10 headers on either side of the Mayfly. Both headers have the same power and ground outputs: GND, 3.3v (constant). and the three switched power of Sw3, Sw5, and Sw12. These headers are used if you’re using a shield or mini-shield or accessory board that needs access to either the analog (left hand side) or digital (right hand side) pins.
Most people connect external devices to the Mayfly via the handy polarized 4-pin Grove jacks. The Grove jacks contain 2 data lines, one ground line, and 1 power line. The voltage of the Grove jack power line is determined by the position of the tiny jumper headers next to the individual Grove jack. Follow the label next to the jumpers to select the proper voltage you want for that Grove jack. The default setting as shipped out initialy is 3.3v, so move a jumper to the 5v or 12v setting to make the V pin of that adjacent Grove jack either 5v or 12v.
There have been multiple revisions to the Mayfly board over the past 7 years, resulting in different voltage output options and different jumper pin arrangements and orientations and labels. Details of these settings and photos showing non-default examples can be found on the Mayfly Jumper Settings page.
-
AuthorPosts