classicdiy / skyetracker Goto Github PK
View Code? Open in Web Editor NEWDual Axis solar tracker
License: Apache License 2.0
Dual Axis solar tracker
License: Apache License 2.0
What are these values in code/ESP32/SkyeTracker/src/Anemometer.cpp
double sensorVoltage = -0.000000000000016 * pow(reading, 4) + 0.000000000118171 * pow(reading, 3) - 0.000000301211691 * pow(reading, 2) + 0.001109019271794 * reading + 0.034143524634089;
can you add some code comments for this? do these constants change when using a different anemometer?
I can see a new protected SkyeTracker
wifi access point after booting the ESP32, but what is the user/password? Where is this defined?
Ist es möglich eine Anzeige für Sonnen Aufgang und Untergang in der App einzubauen
Hi.
Thanks for your great project.
I cannot find the full mechanical assembly of the tracker. Is it available for download?
Cheers,
Mateusz
Hello, please describe the pinout of these pins. What is connected for what and how...
Did I understand this limit switches correctly?
Anemometer Signal | GPIO34 |
---|---|
Motor Controller - Enable1 | GPIO12 |
Motor Controller - IN1 | GPIO13 |
Motor Controller - IN2 | GPIO14 |
Motor Controller - Enable2 | GPIO26 |
Motor Controller - IN3 | GPIO27 |
Motor Controller - IN4 | GPIO25 |
Hi, I downloaded your project and I must say it is fantastic. I don't have all the materials you used, for example I don't have linear motors but I simulated the outputs by connecting LEDs to see how it behaves.
I noticed that after some time the program sends the movements.
The questions are:
How long does it take between chasing?
Which sensors are needed to know the status of the trak?
The last question is for a safety issue, putting the case of not using linear motors but simply normal 24V dc gearmotors.
How do I know how the traker is moving and where it got there?
Another question, is it possible to remove the configuration via the Android App and simply use the Arduino Sketch ??
This question is why I don't know Android Studio and I don't need to enter the coordinates by phone, I already know the coordinates.
The problem of manual movement will always remain if I do not have the Android App, but I will try to move it through external selectors.
My intent is to test your project on an existing photovoltaic system where 158 Traker columns with a 30-panel sail are currently installed.
Currently the trakers have their controller that makes the motors move and through two sensors (10K potentiometer for azimuth and 2-axis sensor for elevation) it controls the movement in the right direction. If I can, I attach the photo of the system.
Thanks
Fabio
Die Zeit stimmt um 2 Std nicht
I cannot find the code.
The actuators I'm using need 3A each (at peak) and we decided to use 2 BTS7960 motor controllers.
There is a https://github.com/eicke123/BTS7960Library Arduino library for BTS7960 that seems to do the same. Any ideas on how to extend the LinearActuatorNoPot
class? Could you add an interface that can be extended (I'm new to C++) with different types of Actuator implementations?
During sequence of initialization better to put panels in 90 dgr. In this case strong wind will not damage system. Park position sequence wait till initialization will not fish.
Hi, great work. I have a problem with my installation, if the esp32 is loosing power the settings are also lost. Thats an issue in a remote area with no constant power. Is there a way to make the settings permanent in the code like those for wifi?
I started documenting the Bluetooth protocol: https://github.com/graham22/SkyeTracker/wiki/Bluetooth
Hey...
I'm hoping to find a tracking program for my tip and roll array collector. The extra tricky bit is that my collector is made of a group of tubes that contain optics that need two axis tracking (so far so good) But the tubes are anchored at the foot and turn on the central axis for east west and so tip up and down at the top for north south. The hard bit is installation of the array can be along non east west lines (in the graphic that is the foot line) so there needs to be compensating math for the difference... any ideas about how to implement those "corrections" in the code?
What are the pins WIFI_STATUS_PIN
and WIFI_AP_PIN
being used for?
See https://github.com/graham22/SkyeTracker/blob/master/code/ESP32/SkyeTracker/platformio.ini#L51
We use millimeters here in Holland, I see you used inches. Any idea how to support both?
I installed Android Studio and imported the Android project. It was complaining about an old version of Gradle so it updated this. Now it's complaining about this section of build.gradle
:
signingConfigs {
release {
storeFile file(System.getenv("KEYSTORE"))
storePassword System.getenv("KEYSTORE_PASSWORD")
keyAlias System.getenv("KEY_ALIAS")
keyPassword System.getenv("KEY_PASSWORD")
}
}
with this error:
18:39 Gradle sync failed: Cause: path may not be null or empty string. path='null'
@graham22 do I need to create a file?
it is possible to integrate limit switches. For example, I can't get all the way to the east.
Gibt es auch Funktion das nach Sonnenuntergang die Anlage wieder zum Anfang fährt.
German text
I'd like to use the Anemometer class in other non-SkyeTracker projects as well. Can it be moved to a separate repository/project so it can be used by other Arduino projects? Feel free to add me as a team member, I can help out with this.
cool project! I'm looking at https://github.com/graham22/SkyeTracker/blob/master/Pictures/Prototype%20parts%20list.PNG and the fritzing sketch and i don't see the wind sensor anywhere. is there an updated version of the fritzing sketch? :) Also, what resistors are you using there @graham22?
Good evening,
I tried the project on Arduino UNO with HC-06 module, DS1307, L298N and 2 5 volt motors.
I have modified the SoftwareSerial with pins 8, 9 in the SkyeTracker.ino file and through a software installed on an Android phone I receive the data from the module.
Starting Arduino I receive the following messages from the HC-06:
RAM in Run: 358
RAM At start of setup: 801
2020/4/7 16:50:11
Loading Configuration
Initializing tracker
RAM Completing setup:
801
TrackToSun (I get this often if I keep it on)
By switching to the SkyeTraker app, however, I do not receive anything on the INFO page and even going to change the LIMITS, LOCATION, DATE / TIME parameters, nothing happens on the Arduino.
By manually trying from MOVE nothing happens.
But when Arduino starts, the motors turn first in one direction and then the other, after starting on the serial I read the change data but the motors no longer move.
That it is a problem of L298N is to be excluded because I tried a program to make them move and they do it safely.
I don't understand why the startup works and then nothing moves.
The biggest problem is understanding why I can't communicate with Arduino from the App, I installed it on Android 10, Android 8 and even Android 4.4
No data in all 3 devices
Regards
Fabio
Processing uno (board: nanoatmega328; platform: atmelavr; framework: arduino)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Removing unused dependencies...
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/nanoatmega328.html
PLATFORM: Atmel AVR (5.0.0) > Arduino Nano ATmega328
HARDWARE: ATMEGA328P 16MHz, 2KB RAM, 30KB Flash
DEBUG: Current (avr-stub) External (avr-stub, simavr)
PACKAGES:
- framework-arduino-avr @ 5.2.0
- toolchain-atmelavr @ 1.70300.191015 (7.3.0)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 10 compatible libraries
Scanning dependencies...
Dependency Graph
|-- ArduinoJson @ 7.0.4
|-- RTClib @ 2.1.4
|-- ArduinoThread @ 2.1.1
|-- Wire @ 1.0
|-- SoftwareSerial @ 1.0
Building in release mode
Compiling .pio\build\uno\src\Anemometer.cpp.o
Compiling .pio\build\uno\src\Configuration.cpp.o
Compiling .pio\build\uno\src\LinearActuatorNoPot.cpp.o
Compiling .pio\build\uno\src\Sun.cpp.o
Compiling .pio\build\uno\src\Tracker.cpp.o
Compiling .pio\build\uno\src\main.cpp.o
Compiling .pio\build\uno\liba7d\Wire\Wire.cpp.o
Compiling .pio\build\uno\liba7d\Wire\utility\twi.c.o
Compiling .pio\build\uno\lib460\Adafruit BusIO\Adafruit_BusIO_Register.cpp.o
Compiling .pio\build\uno\lib460\Adafruit BusIO\Adafruit_I2CDevice.cpp.o
Compiling .pio\build\uno\lib460\Adafruit BusIO\Adafruit_SPIDevice.cpp.o
Compiling .pio\build\uno\lib1f0\RTClib\RTC_DS1307.cpp.o
Compiling .pio\build\uno\lib1f0\RTClib\RTC_DS3231.cpp.o
Compiling .pio\build\uno\lib1f0\RTClib\RTC_Micros.cpp.o
Compiling .pio\build\uno\lib1f0\RTClib\RTC_Millis.cpp.o
Compiling .pio\build\uno\lib1f0\RTClib\RTC_PCF8523.cpp.o
In file included from .pio\libdeps\uno\Adafruit BusIO/Adafruit_BusIO_Register.h:10:0,
from .pio\libdeps\uno\Adafruit BusIO\Adafruit_BusIO_Register.cpp:1:
.pio\libdeps\uno\Adafruit BusIO/Adafruit_SPIDevice.h:9:10: fatal error: SPI.h: No such file or directory
*************************************************************
* Looking for SPI.h dependency? Check our library registry!
*
* CLI > platformio lib search "header:SPI.h"
* Web > https://registry.platformio.org/search?q=header:SPI.h
*
*************************************************************
#include <SPI.h>
^~~~~~~
compilation terminated.
In file included from .pio\libdeps\uno\Adafruit BusIO\Adafruit_SPIDevice.cpp:1:0:
.pio\libdeps\uno\Adafruit BusIO\Adafruit_SPIDevice.h:9:10: fatal error: SPI.h: No such file or directory
*************************************************************
* Looking for SPI.h dependency? Check our library registry!
*
* CLI > platformio lib search "header:SPI.h"
* Web > https://registry.platformio.org/search?q=header:SPI.h
*
*************************************************************
#include <SPI.h>
^~~~~~~
compilation terminated.
*** [.pio\build\uno\lib460\Adafruit BusIO\Adafruit_BusIO_Register.cpp.o] Error 1
*** [.pio\build\uno\lib460\Adafruit BusIO\Adafruit_SPIDevice.cpp.o] Error 1
src\Tracker.cpp: In member function 'void SkyeTracker::Tracker::ProcessCommand(const char*)':
src\Tracker.cpp:241:3: warning: 'template<unsigned int N> class ArduinoJson::V704L1::StaticJsonDocument' is deprecated [-Wdeprecated-declarations]
StaticJsonDocument<256> root;
^~~~~~~~~~~~~~~~~~
In file included from .pio\libdeps\uno\ArduinoJson\src/ArduinoJson.hpp:53:0,
from .pio\libdeps\uno\ArduinoJson\src/ArduinoJson.h:9,
from include/Tracker.h:3,
from src\Tracker.cpp:1:
.pio\libdeps\uno\ArduinoJson\src/ArduinoJson/compatibility.hpp:63:58: note: declared here
class ARDUINOJSON_DEPRECATED("use JsonDocument instead") StaticJsonDocument
^~~~~~~~~~~~~~~~~~
=========================================================================================== [FAILED] Took 1.58 seconds ===========================================================================================
Processing uno (board: nanoatmega328; platform: atmelavr; framework: arduino)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/nanoatmega328.html
PLATFORM: Atmel AVR (5.0.0) > Arduino Nano ATmega328
HARDWARE: ATMEGA328P 16MHz, 2KB RAM, 30KB Flash
DEBUG: Current (avr-stub) External (avr-stub, simavr)
PACKAGES:
- framework-arduino-avr @ 5.2.0
- toolchain-atmelavr @ 1.70300.191015 (7.3.0)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 10 compatible libraries
Scanning dependencies...
Dependency Graph
|-- ArduinoJson @ 7.0.4
|-- RTClib @ 2.1.4
|-- ArduinoThread @ 2.1.1
|-- Wire @ 1.0
|-- SoftwareSerial @ 1.0
|-- SPI @ 1.0
Building in release mode
Checking size .pio\build\uno\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [=====Error: The program size (31316 bytes) is greater than maximum allowed (30720 bytes)
*** [checkprogsize] Explicit exit, status 1
] 53.1% (used 1087 bytes from 2048 bytes)
Flash: [==========] 101.9% (used 31316 bytes from 30720 bytes)
I cant upload the correct GPS information. They are extremly wrong, in a other App the GPS works correctly.
My way was to set it manually at:
Configuration.h
Line 59 - double getLat() { return 47.xxx628; }
Line 60 - double getLon() { return 9.xxx297; }
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.