I suspect that volume is not relevant. The relevant figure is likely the distance immediately below the tipping point of the elevator. It depends on the definition of ‘full’.
Once again most is speculation as there is no clear definition of what is needed. Writing a design specification can be a daunting task and sometimes beyond the capability of a lot of people. I have built stuff for people in the past and only after a lot of questions found out exactly what they wanted. My assumptions usually turn out to be wrong as I look at it from my point of view.
Commercial equipment is costly due to the R&D needed to make something fool proof and that will work in most cases. You are paying for a quality product (one hopes). Writing an algorithm to process radar returns and come up with valid data can be a complex task.
From what @Bo282250 has posted.
Can anyone help me build a level sensor for a grain silo?
I would like to use the waterproof ultrasonic sensor (A01NYUB) and an ESP32 or something similar, ideally run off a small solar panel and transmit the level to wifi so I can read it from my phone. Looking for someone to sketch me a wiring diagram basically and some lines of code
- 8 silos, 5m diameter, 8m tall, hold 80T.
- Silo ‘A’ = 60% full
- ± 5 % to see which one is lowest.
- Temperature inside 0 - 50 celcius.
- Distance to the wifi is 160m but a clear line of sight
Ultrasonic Sensor A01NYUB.
7.5M range, 15mA when running, UART Output, 3.3V to 5V supply.
4 byte data transmission. Byte 2 & 3 are data and used to calculate distance in mm. 4th byte checksum.
ESP32 or other micro would need a UART Port and WiFi, ideally a board with an Antenna. Ability to provide distance as a web page.
Programming would be: wait till header byte received, read next 3 bytes, checksum calc or not, use data bytes to calculate distance. Update web page, probably update every 30 seconds or so or when asked. Should build in some hysteresis, or average readings over some time to filter out invalid readings.
Will continue later, RL stuff intruding.
Cheers
Jim
So if I base this on what @Bo282250 has posted …
Ultrasonic Sensor: UART output to ESP32.
ESP32 with Wifi Antenna socket: Reads and processes UART data, saves to Web Page.
This is placed at the top of the Silo along with Battery, Solar charger and Solar panel. Sensor is inside the Silo looking down, BUT the TTL UART data from Sensor to ESP32 can only be a few feet (maybe). Convert to RS232 or RS422 or RS485 would allow it to be further away. Each Silo would have this setup.
Note: Ultrasonic sensor may not deliver the results @Bo282250 wants, need to test.
With 8 silo’s there would be 8 web pages to check, not a very good situation. There would need to be another device to check each silo web page and collate the data. (web pages are easy to setup, but there are other methods such as IoT mentioned by @Gary151736).
Another thought. If you use RS485, the solar panels batteries and solar charges would not be needed. A single 4 wire cable up each Silo to an RS485 interface board connected to the sensor. At the base all these cables connect to a micro to collate all data and display on a screen or as a web page. Turn the device on when you want to use it and off when you are finished.
Some of this is just my thought process when trying to design a project. I would need to know more about what @Bo282250 would consider acceptable. I can draw circuits and write some simple code but no use if it is not what is wanted.
Too many choices at this time.
Cheers
Jim
Some key information I see missing is some finer detail.
Yes it gets dusty while filling - do you need good readings when dusty. (I also not the the dust will cause issues with anything optic as it will end up covering everything and need cleaning.
Outside the silo can be a big consideration as well. e.g. is this on a farm where they will have live stock roaming around the silo’s ? if so, at the live stock level needs to be tough. I have seen rabbits and mice chew trough cables just for the fun of it, not not mention cockatoo’s … for this reason I tend to shy away from running cables unless I can put thing in something tough. i.e. easy to make a secure box and bolt that to the top of the silo then run steal conduit down the side and then bury under the ground to the central power source.
there is nothing wrong with having each sensor wirelessly send its data to a central “processor”, which can then do what ever is needed with the data.
I think the core issue is the main one, what sensor can detect the level to the needed tolerance and (assuming) in a dusty environment. i.e. I assume it would be used when filling so they know when to move to the next one.
I think people have an idea of what they want to do and see it as not being too complex in the beginning. But as the design develops issues crop up which are sometime insurmountable with the given resources.
This certainly has been true in my case, many projects I have started only to be shelved and abandoned because I don’t have the time, money, resources, knowledge or skills to progress them.
I would like to hear what @Bo282250 thinks of all that has been said.
Too often on this forum, someone asks a question and they get a lot of technical answers which may be overwhelming. That’s why I took all the posts made by @Bo282250 and tried to extract the relevant information. The first post lists an Ultrasonic Sensor. No one said anything about that, probably we all rejected it because we know how Ultrasonics work and know it would not work in this case, But cannot say for sure without some testing. Certainly in my experience an angled surface does not reflect enough energy back to the sensor. Radar may be similar.
Anyway, cheers
Jim
I was having a bit of a web crawl and come across one solution for dirty/dusty silos, and it was using a mechanical plum-bob.
i.e. lower it down until it “hits the top of what’s stored”, at this point a sensor would detect the loss of weight of the plum bob and would know how much “string” it un-wound. Not it knows the height.
While this may add complicity, but it would tend to work in the dusty haze when filling the silo.
I kinda liked the idea, so I thought I would add as the OP to consider.
Note: this is just something i found, I have no idea about that product nor all the pros/cons….
src:https://www.uwtgroup.com/en_us/products/continuous-level-measurement/plumb-bob-silo-measurement.html
Bo,
Silo level sensing is quite a complex problem.
Sorry to throw another variable but I know that for bulk materials like coal they use the weight.
They put strain gauges in the legs of a bin (or only one leg as a very close approximation) which avoids the issues of dust, slumping etc. The only variable with your scenario is different material weights/densities, but depending on your accuracy requirements they could be assumed to have similar weight per cubic metre or you could use a mulit-position switch to set the weight for a specific type of grain.
Coal handling plants even weigh a section of a conveyor and (knowing the speed) they can derive a tons per hour figure.
Dave
Hi Bo,
If you have 8 of these things to roll out, I might suggest an instance of Homeassistant running on a RPi4 (or 5) with the ESPHome Integration installed.
That will give you remote access and local access via a webpage or HomeAssistant app on your phone.
Each bin could have the A01NYUB sensor connected to a PicoW or ESP32 (depending on what power you have available.
I have included the yaml code that I use for a very similar instance.
# Raspberry Pi PicoW using a A02YYUW Waterproof Ultrasonic UART Sensor from DFRobot.
# UART Ref:
# https://esphome.io/components/sensor/a01nyub.html
# https://esphome.io/components/sensor/a02yyuw
# https://wiki.dfrobot.com/_A02YYUW_Waterproof_Ultrasonic_Sensor_SKU_SEN0311
#
substitutions:
device_name: "stable-watertank2"
friendly_name: Stable Water Tank 2
esphome:
name: ${device_name}
rp2040:
board: rpipicow
framework:
# Required until https://github.com/platformio/platform-raspberrypi/pull/36 is merged
platform_version: https://github.com/maxgerhardt/platform-raspberrypi.git
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: **************
ota:
- platform: esphome
password: "**************"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_pwd
# Enable fallback hotspot in case wifi connection fails
ap:
ssid: "Stable-Watertank2"
password: "**************"
# Enable UART Comms for Submersible
# Height to Sensor = 2000mm
uart:
tx_pin: 04
rx_pin: 05
baud_rate: 9600
sensor:
- platform: "a02yyuw"
# Sensor is 2000mm above base of tank. Overflow is 1800mm above base.
name: "Ultrasonic UART"
accuracy_decimals: 2
icon: "mdi:water-percent"
# 1890mm is the maximum recoded height and observed flowing out of overflow. Assume 1900mm is full.
filters:
- lambda: return ((1900 - x) / 1000);
- sliding_window_moving_average:
window_size: 250
send_every: 250
- heartbeat: 600s
## Below ensure a minimum level of 0 is reported
- lambda: |-
if (x <= 0){
return 0;
} else {
return x;}
switch:
- platform: restart
name: "${friendly_name} REBOOT"
Also, if you have PoE available then this is my favourite ESP32:
Hope that helps.
R
Jon