Software apps and online services
Hand tools and fabrication machines
So it's now official, I'm in love with the ESP8266. My god these little fellas can really go like a cut snake on hot sand. So no surprise the the third installment (revolutions) will involve a nodemcu. Now, I have been practicing between drinks so I'm doing a little better coding wise.
So built in reliable WiFi - No problems. Stand alone configuration mode and AP wifi client - No problems. PWM yeah bring it on. In short everything you need to make the solar tracker that has an NTP client and RTC.
So at the end of the second part of the story I was left with a partial success. It all worked but like it just wasn't right. Cant put my finger on what it was but I felt it could be better. I had way better things to do but found myself porting the tracker code to the ESP8266 in the Arduino IDE. It actually took longer to work out the OLED display and wire the items up than it took to port the code.
So not to long after I started I had the smallest tracking computer I had ever made.
I'm being much more conscious of power budget this time, taking measurements at each step rather than at the end. I can also put this CPU to sleep if I wish, however not much point if I have enough power or if I need to keep it warm in winter. I'm being mindful that it needs to fit in my 7 AH power budget but this is at 24 V this time. So at present there is still lots of wiggle room.
I have gone for NTP over RTC for the time source. I loved the GPS but overkill and power hungry. The NTP code works great on the ESP8266, one of the most reliable bits, a warm thanks to the person who wrote that example :)
The user interface is much the same as the mega tracker but now has indicators for RTC battery. This interface can operate totally independently of any web services or infrastructure making it ideal for remote installation.
Next task mount it all up and into a the box.
This time I sort of checked out the layout a bit better before reaching for the drill. I think I might even have my 30% extra space.
This is the first time I've had to use a level shifter as the LED display was 5V only and the rest of the system was cool on 3.3. I actually soldered/sweated the level shifter to the stubs of the pins on the LED board to save wiring and make it more compact.
So now the one remaining task is work out the OTA updates and get it working with the on farm web server. Well that doesn't turn out to be so difficult. Turns out there is a great web page for this. With surprisingly few lines of code (about 5) you can add an OTA upload server, I shifted this to port 81 so the default page takes you to operations not update. I then just dynamically linked it at the bottom of the main web page as I am a lazy sod who cant be bothered typing :)
So yay for OTA - I don't have to start the power ladder and balance the laptop on my arm at heights while I update the program once the unit is installed.
I also worked out in another project that a "factory reset" for the eeprom data is a good idea, this can be seen on the web interface. Makes initial blank CPU configurations much easier. The I2C scanner is also a very cool tool for working out bus clashes or addressing issues.
Note that I had to change this (ht16k33.h) library, it did a "memcpy" in the constructor which seemed to cause my board to lock up ? Have included the modified one in the code area that works for me, your mileage may vary.
That's about it...All finished...
O yeah, Big thanks to those closest to me for their "special" understanding during these builds.
Finally, a forced break in the traffic. South tower suffered a jack failure, apparently the electric motors don't run long when filled with water. Anyhow jack replaced and finally a reason to deploy the ESP tracker that has been sitting on my desk for 6 months or more. First issue was the H-Switch seemed to saturate above 12V if using valves over 1020 for PWM? So fixed the code so it doesn't, as the FETS where half on and getting mighty hot. Second was I forgot that SSID is case sensitive, DUH. So after a day of patching code, connecting/rerouting cables and testing the box is finally running the south tower pending the sunrise test tomorrow. Oh yeah, this one is set to park in the west to keep water out of the jack!
The north tower is next and I'm also doing a truck load of re-write on the code so a another unit was born this weeked. Always good to have a second unit to test code on. I will upload the new code to github soon!
A week later and a few "false starts", it's all operating as designed. The IP address has settled to it's reservation and the NTP is doing a query every 24Hrs. It's interesting as you can see the clock drift during the day, only a couple of seconds but it's obvious why the east towers uncorrected clock moves subtly. It's really cool being able to look at the trackers user interface from my office workstation, don't know why it took me so long to get it to this point. Makes me want to return back to where it all started on the east tower and retro fit it with WiFi. Hmm I do have that Dual CPU Uno clone, I wonder ...
There is now an update that support Alt//Az and Equatorial mounts up on GitHub. It's beta so comments are welcome. Still lots to do like finish the magnetometer calibration page and the wind parking but it's making progress. Thanks to all those who are building and helping with feedback on the program.
Have just combined first and third version output programs and eventually tested it on hardware to get the bugs out. Thanks for your patients I've been a bit busy the last few weeks and I did leave the code broken for a while.
There are actually 4 options for output now. PWM, L298 PWM , Relay Active High and Relay Active Low. You will have to buffer and connect as appropriate but these options should cover a wide range of elect to mech configurations.
I finally got around to the mechanical refit of north tower. This was mainly to fix ever growing cracks in the 7 year old steel work. But as the unit was apart a new tracking controller and higher quality solar panels where also fitted.
If your fitting panels use a thread release compound on your bolts. If you don't you will be like me and have to wind the heads of a few to undo them. Apparently 5 years is long enough for the stainless bolts to bind solidly in the alloy slot nuts.
So after a few days and some hard work we have.
The mechanicals of north unit are much tighter now, very noticeable during the reload of panels and in the first strong wind. Hopefully this will last 10+ years now.
Before I go, a thank you to Mildura Solar for there help and advice on the high efficiency solar panels. The also found me some compatible racking to match the existing mounting systems.