Monitor Survives Pickup

A project log for Bin Level Monitoring

Designing an IoT device to monitor and report the fill level of bins for holding recyclable discards of various kinds.

Kris WinerKris Winer 04/25/2019 at 00:120 Comments


Today was trash day and the first test of how the Bin Level Monitor performs under the stress of the recycle bin being emptied and whether it would survive. I am happy to report that it did survive, and offered a surprise as well.

First (most of ) the range record since I redeployed the Bin Level Monitor after the modifications from the last log:

Not much happened while I occasionally added recyclables to the bin over the course of about two days. The bin was already about 2/3 full  (at ~40 mm) when I reinstalled the Bin Level Monitor and dropped to about 30 mm as I added more recyclables. When I moved the recycle bin from just outside the garage to the top of the driveway the day before pickup there seemed to be some settling of the contents because the range increased by 10 mm or so. I added more recyclables and the level dropped again to about 20 mm. On pickup and emptying the range shot up first to 63 mm and then to 93 mm and seemed to stabilize. The recycle bin is about 1 meter deep so this seemed reasonable. To my surprise I started getting very large range values of 150 mm and quite a few pegged at 163.74 mm exactly.
There are two possible things happening here. One is since the Bin Level Monitor is mounted on the underside of the lid it sees more or less direct sun and heats up quite a bit, at least for a short part of the day, maybe two hours. This time coincided with the odd oscillations between a more or less correct ~100 mm range reading and the much larger values. Secondly, I have the VL53L0 set in high-speed mode:

//#define LONG_RANGE // choose to get longer range at the expense of accuracy
#define HIGH_SPEED // choose to get faster speed at the expense of accuracy but lowest power
//#define HIGH_ACCURACY // high accuracy but high power  

and I am also using forced mode to save power. Forced mode means the VL53L0 wakes from sleep, takes one measurement using a 20 ms integration time and then goes back to sleep. These settings produce range measurements at the very edge of acceptable accuracy in order to minimize power usage and it is not surprising that at 1 meter distance from a dirty, sticky plastic surface the VL53L0 is having trouble getting an accurate range. Adding some recyclable copy and news paper and such seems to have resulted in a stable range at about 70 cm. So I think this is not a temperature issue per se but rather that I am operating the VL53L0X at the limit of its ability. I suppose the easiest thing to do would be to set an upper limit of 100 mm to the reported range, since I do not want to increase the integration time or change to a more accurate measurement mode.

Overall, I would say the Bin Level Monitor is doing what it is supposed to do. I will just let it run now, since it should last months if not years on the 950 mAH coin cell battery. In a month or so I will report on the data to see if there is anything surprising about what the Bin Level Monitor records. In the meantime, I have a nice indicator of when the weekly recycle bin collection takes place, at least at a ten minute time resolution.

Addendum: Just a sanity check.

the Bin Level Monitor is still chugging away. Next update in a week.