Forum Replies Created
-
AuthorPosts
-
I’ve been working on a next revision board. Details at https://github.com/neilh10/SensorModbusMaster/tree/release1/hardware/knh002-MayflyWingShield
overview at https://github.com/neilh10/SensorModbusMaster/tree/release1/hardware
I don’t have any time frame on availability due to the world wide shortage of parts, but probably third quarter this year. It will be an order before hand build so good timing if you are thinking of getting some.
I have hand built some for testing, and now have them testing on a system with a Keller Acculevel /0.28.3
I’ve got it on my list to do more write up.
I’ve created a low cost monitoring console using a Raspberry Pi and FTDI cable. This allows a release debug OUTPUT to be monitored just as if it was on the console and compared to https://monitormywatershed.org/
https://github.com/neilh10/ModularSensors/wiki/Test-monitoring-host
Thanks for the input, ~ Yup that is what did it for interfacing with the LT500. I brought in each change from Dec 1st till I found it
Doesn’t make a lot of sense to me why that impacts the protocol, but in dealing with a bug, the first stage is Detection, 2nd stage is Isolation, 3rd stage is Fixing it.
The Isolation in this case took a couple of days.
The software process is modify and test, and then integration test. In this case what is lacking (for me) is having a defined reference for the SDI-12 sensor. It also seems that working with the LT500, there are retry’s that finally work. So its a general problem with this kind of dispersed protocol testing. USB protocol testing is a lot worse, and they solve it by having plug-fests. But then there is a lot of money in selling USB devices.
I have been keeping my eyes open for a low cost reference sensor, ideally that would be open source as well, but I haven’t found one yet.
I’m thinking that for me, since SDI-12 is so fragile, and its not clear how to verify changes except by running them against reference sensors I should manage any changes happening more closely – fork the libs concerned. Just thinking out a loud.
Another low cost depth sensor, showing the problems with using “raw sensing”, and the range is very small range 0-10cm and needs recalibrating evertime there is a power cycle. – https://www.vegetronix.com/Products/AquaPlumb/ – but my experiments have shown it has
My comment
“Works pretty nicely, except after power off.
Can’t take power off while in water – then reads 0.
Seems as a capacitance based sensor, when powering up needs to baseline the capacitance – guessing on my part – that is needs to be out of the water. Once read a baseline capacitance, then it detects increase in capacitance, water crossing. If the baseline capacitiance could be read, and then programmed, maybe it could survive a power off. “Hi James,
If its the standard variable resistance then you should be able to just use the switched 3V. The ADS1115 is going to be more accurate.
FYI in case its of interest, I did some work with it and here is what I found out about the eTape; as I remember with the eTape, was that in calibration it wouldn’t register to the printed zero mark – and had an “actuation depth”, maybe it has changed. The general issue with an “elemental sensor” is that the raw sensing (in this case resistance) needs to be transformed into measurable units – in this case mm or inches, and for the eTape it is non-linear.
https://milonetech.com/products/standard-etape
They have linearizing modules, 0-5V and 4-20mA – though it requires a 6-24V stimulation
I did try the 4-20mA version, but burnt it out as it didn’t have reverse protection voltage in it.
Emails I sent, though maybe it has changed:
Subject: Configuring eTapes into a system?
Date: Thu, February 12, 2015 10:58 pmSome issues coming up
1) ‘0’ depth marking on the eTape scaling can never relate to a 0
electronic reading.
The data sheet says Actuation Depth a nominal 1″ – it seems that most of
the eTapes start recoding pressure change at about 0.2″
So where does the linearity start and to how to design to meet it?
2) For the simple eTape interface circuits, do you have any recommended
formuleas/manufacturing algorithims that translate measured Vout to a
linear depth reading that can apply to any eTape received.
<div class=”moz-cite-prefix”>On 2/19/2015 10:23 AM, chris.milone@milonetech.com wrote:</div><div>Hi Neil,</div>
<div></div>
<div>Sorry for the delayed response. Yes, a voltage divider output is a nonlinear function. We are working with another customer who has written some Arduino code that he claims automatically linearizes the output but we haven’t been able to get this to work as of yet.</div>@mbarney its a common problem with low power, sleep circuits.
Just to be clear/restate what the issue is. When in “sleep” mode and powered off, all instrument pins (and actually all other processor pins) need to be set to output low, or input with preferably pull down.
On power-up, the pins are activated output and set high within 50mS so as to not trigger the wipe.
On power-down, its a race condition which to do first, and the global control of the power, but with a min 50mS pulse I would think you are safe to make the wiper pin low and hope that the power is turned off within 50mS.
KellerParent.cpp has ::powerUp() and ::powerDown() which is where I change the pins.
You are using ::setup() for setting the port direction, which is I think is run only once, so I would think you move the wiper setup to ::powerUp
Sounds like its coming along, and I’m fascinated that you are getting 0.5mA.
BTW with my FTDI cable setup, I just found the hardway that the Ftdi Rx pin (tx pin from processor) hadn’t been clipped off and on my stability test station; the 4.4Ah battery mysteriously suddenly drained down in about 3days and then recharged from he solar. It turns out my monitoring PC Win10 did some form of automatic update and then powered down. The FTDI cable also powered down, including this unclipped Rx pin, that then drained off the battery current. I only noticed after I had restarted the PC, and the monitoring, and then two days later was checking the results and saw the battery had mysteriously drained down and come back. So the purpose of stability monitoring is check for anomalous behaviour in a secure setting, so I needed to find out what had happened.
@mbarney the trace looks good for the waking portion. What I see on my system is that it wakes every minute and then sleeps inbetween. So if you have it on a 15minute setting it will do above, then sleep/wake 14times. The current can be read when it goes to sleep.
For the differential case I would think you would have two sets of dividers. BTW total error is additive. So you can probably match the R, but whatever the error is eg 0.1% then the final error that gets introduced is 0.4% . It may not matter if you are looking for dynamic changes rather than absolute numbers.?
@mbarney an observation, the power is being turned off on the off board ADS1115, but not for the Turner. The ADS1115 Analog inputs are only specified for Vdd+0.3V. If either of the Turners outputs are above this, then it will feed through to the ADS1115 Vdd Sw5V. Probably won’t account for what your are seeing.
I found a I needed to know when in sleep v current consumption, so used the Ttty to know when its in sleep mode, and to measure the current at that time. (I have Adafruits INA219)
Gosh @shicks that is great to hear. I wonder would you share how you made the sleep measurements with the microSD present. Any sketches for putting the mega1284 to sleep. Getting to 0.5mA would be fantastic!
Matt Interesting real data with a coulomb counter. Great stuff.
My current measurements on 0.28.01 for sleep are 2.5mA . I haven’t got a test setup for other modes at this point, but probably will have in the next couple of weeks.
For my current measurements I run it only from the battery and put a Adafruit INA219 in series, with a simple driver polling once a second, running on a separate Mayfly and then visually monitor current.
I’ve put together a spreadsheet for how power is used. I tend to calculate in mAseconds and then of course 3600mAseconds = 1mAhr.
Since I’m also wanting to tweak production code, I need debugging. I modified the FTDI cable so that only the processor Tx and the Gnd are connected, and debug output will advertise what state the processor is in. For an FTDI connector – male to male pins and just snip all pins except critical ones.
So from the spread sheet, for sampling period 900sec, using Readings 6.5mA@10secs, LTE 35mA@50secs,
Then for 24 hrs, 96*15minutes
sleep at 6mAs the calculation is 182mAHrs close to yours
sleep at 2.5mA then 104mAhrs
sleep at 0.5mA 59.6mAhrs ~ (I want it!)
Attachments:
Hi Matt, that’s great it can do the wiper at 3.3V.
I’m using the onboard ADS1115 dedicating AA0 for LiIon battery measurement see photo .
https://github.com/neilh10/ModularSensors/wiki/Hw-Mayfly-ECO-R04 Its using 1Mohms and 100Kohms.
I did initially try 1M and 1M but the ADS1115 still had some voltage offset I couldn’t account for or get rid of with software settings. Data sheets say Analog Input impeadance Typ is 6M so seems like any leakage current should have been ok with 1M/1M. I got more accurate results with the 1M/100K .
Yup soldering STC3100 with a with hope and prayer (my catholic background) to the god of solder reflow. DFN-8 0.5mm. Yeah!!! for toaster ovens. With SMD its so nice to see all the soldering reflow in 2minutes. I use stencils from OshStencil.com . Just waiting for the parts to build some more.
Attachments:
-
AuthorPosts