Welcome to EnviroDIY, a community for do-it-yourself environmental science and monitoring. EnviroDIY is part of WikiWatershed, an initiative of Stroud Water Research Center designed to help people advance knowledge and stewardship of fresh water.
New to EnviroDIY? Start here

Danny Waz

Forum Replies Created

Viewing 3 posts - 11 through 13 (of 13 total)
  • Author
    Posts
  • Danny Waz
    Participant

      Update: I have succeeded in making an SDI-12 slave device on an Arduino Nano, but I have more work to do before my code can be generalized and distributed.

      The project linked by GS is not really a slave-side library but rather an attempt to build a sketch implementing an SDI-12 slave with the SWRC’s SDI-12 master library. This did not work for me right out the box (for two reasons I’ll address shortly), but it did make me change course slightly. Instead of writing a new library, I added necessary functions to the SWRC SDI-12 master library to allow implementing a slave in my .ino.

      The two “blocker” issues were:
      – A master never has to listen for an unsolicited reply, so the master reverts to HOLDING state (which sets its SDI data pin to OUTPUT/LOW) after an action. A slave must default to LISTENING (data pin INPUT/LOW). There are several ways to accommodate this, but the least invasive is to add a public void “forceListen()” function.
      – The linked example attempts to use “sendCommand()” to send a response to a command. While this does transmit the character stream per spec, there are problems: (1) wakeSensors() should not be called in a response and (2) a valid SDI-12 response requires first pulling the data line LOW for 8.33 ms. I added a public void sendResponse() function to accommodate these changes.

      When I have time, I will work with SWRC to make a production version of the master/slave library and a generalized example implementation sketch. Since there’s no telling how long that will be, I thought I’d at least make the above info available to the ambitious developer. This, combined with the bones of the example sketch linked by GS, should get you started in the correct direction.

      Danny Waz
      Participant

        Thanks! It will be a few weeks before I get a chance to try out this library live, but at first glance it appears to be almost exactly what I was planning to make.

        in reply to: Solar Power Supply #1340
        Danny Waz
        Participant

          Before I get to the questions, let’s look at the battery issue. Reading between the lines, I’m assuming you actually want a 1.2 V power supply, not a 2.4 V supply. If that’s the case, then yes, wiring your 3 AAs in parallel will work and increase the capacity. That said, I’m curious as to what you are powering off of 1.2 V. Any Arduino-based system would require at least 3.3 V and likely 5 V.

          As for the parallel/series combination idea, I would not use the configuration you suggested to get 2.4 V. It would produce 2.4 V when first plugged in, but the batteries might charge/discharge at different rates. Series/parallel combinations almost always comprise one series in parallel with an identical series. Laptop batteries, for instance, often combine cells in series to get the proper voltage, then put two or more identical series in parallel to up the capacity. In your case, doing that would require four batteries (a 2-cell series in parallel with another 2-cell series), and please make sure you use identical batteries and change them all at the same time.

          An alternative is to make your power infrastructure (batteries, solar panel) at a higher voltage (say, 3.3V or 5V) and use regulators for powering your devices. This, of course, can be inefficient (less so if you can find appropriate switching regulators), but you might make up for that with the wider availability of off-the-shelf products at standard voltages.

          Now, your questions:
          (1) Yes, but it’s not an exact science. You want your panel to be rated slightly higher than your battery voltage to account for overhead and so that you can still charge in less than perfect, cool, sunny conditions. A 1.8 V panel would still charge your 1.2 V battery pack under sunny, cool conditions. a 3 V panel would charge under less ideal conditions but might necessitate some circuit protection if you are powering delicate electronics.
          (2) Probably not. A charge controller essentially regulates the panel power into the battery and prevents the battery from being over-charged. Charge controllers are usually used in bigger setups involving high-capacity, 12 V marine (deep-cycle) batteries. For low-voltage/low current applications without delicate electronics (think solar path lighting), it’s not necessary at all. You might want to look up basic voltage protection for your data logger, but the batteries will probably be okay without a charge controller circuit. (Note: I’m sure there are experts on this topic on this forum, and I would welcome any additional comment from experience)
          (3) That seems reasonable as a starting point. Remember, you do not need to charge from zero to full capacity every time the sun is out. The goal is just to have more power going in than going out on average. If you find that it dies in full sun, add solar panels in parallel. If you find that it works in full sun but dies after a few cloudy days, add batteries in parallel.

        Viewing 3 posts - 11 through 13 (of 13 total)