Le programme basé sur Arduino

L'ensemble des interfaces hard/soft
andrea
Messages : 44
Inscription : Dim Nov 16, 2014 6:56 pm

Le programme basé sur Arduino

Messagepar andrea » Jeu Jan 29, 2015 3:33 pm


andrea
Messages : 44
Inscription : Dim Nov 16, 2014 6:56 pm

Re: Le programme basé sur Arduino

Messagepar andrea » Sam Mars 21, 2015 9:30 pm

Example du programme de Cerebral meltdown en fonction
https://www.youtube.com/watch?v=JAVWuIvOktA
et ici la page initiale : http://cerebralmeltdown.com/Sun_Trackin ... eliostats/


ceci est l'example de solar tracker sans partie electroniques... (pour memoir, car pas utile dans notre cas)
https://www.youtube.com/watch?v=HkhVomoD47g

andrea
Messages : 44
Inscription : Dim Nov 16, 2014 6:56 pm

Re: Le programme basé sur Arduino

Messagepar andrea » Lun Mars 30, 2015 6:13 pm

Depuis la derniere revision du cahier de charge, nous devons contruire 3 projets (semi)indipendents:

1- Controleur Heliostat (Time based sun localizer to reflect the sun light directly into the absorber.)

2- Station Meteo avec data logguer (pour capturer la meteo pendant les phases de testing).
il doit mésurer
a- Luminosité
b- Temperature
c- Humidité
d- Vent (Force et direction)

3- informations de puissance en sortie de la vapeur:
a- Temperature
b- Pression
c- Debit

andrea
Messages : 44
Inscription : Dim Nov 16, 2014 6:56 pm

Re: Le programme basé sur Arduino

Messagepar andrea » Sam Avr 11, 2015 10:12 pm

about the heliostat,
after going through Gabriel's code from cerebralmeltdown, we noticed that most of the functions are used to allow several options that are not of interest in our solar concentrator: multiaxis, sun position calculation, multi-machine.
Further more, as we are looking for a precision of about 0,12 degrees, basing the main movement on the calculation of the sun position would require an added control point.

in agreement with Jean, I decided to start a new code with a slightly different logic.
Jean is preparing meantime a structure where to test the program earlier than the model that we will build on may.

the logic behind the code will be applicable to the "Demonstrateur" only as we decided for more flexibility giving to each mirror axis its own stepper motor.
each motor will be able to set against a dual sensor (L1 and L2) positioned on the edges of the collector (CPC).
the calibration process will start on the morning and will recheck for errors in the evening.
first it will find its zero point on the optical switch,
then will turn in the direction of the collector lighting up L1 and triggering a counter1
it will continue its path eventually lighting up L2 and turn L1 off (whichever event comes first). these events will trigger the counter2 and counter3.
Counters count the number of steps or microstep and will memorize the machine-state at each event.
counters and machine-states allow us to find the exact mid position of the reflected sun into the collector.

the calibration process is repeated for each mirror while all other mirrors are set off the collector and will remember their optimal working position.
at the end of the calibration cycle of all mirrors each mirror will take its working position reflecting toward the center of the collector.

throughout the day the microcontroller will move each mirror of 1 microstep (1/16 of 1.8degrees or 0.113 of a degree) every 54 seconds.
this 54 seconds are found by dividing the daily 86400 seconds by 3200 microsteps times 2 (86400/3200*2) in order to hold the sun reflection steady (instead by moving 1 microstep each 27 seconds it would follow the sun).

since this calculation is also an average and we need a real position, each evening the "demonstrateur" will redo a calibration process in order to determine the error and apply the correction to the delay time used the day after.

a first circuit and arduino code is https://github.com/osefrance/SolarConcentrator/

SeguiLSol_bb.png
SeguiLSol_bb.png (412.87 Kio) Consulté 5804 fois
Dernière édition par andrea le Dim Avr 12, 2015 10:17 am, édité 1 fois.

andrea
Messages : 44
Inscription : Dim Nov 16, 2014 6:56 pm

Re: Le programme basé sur Arduino

Messagepar andrea » Sam Avr 11, 2015 10:24 pm

based on Wikipedia,
at latitude of the place de la republique in Paris (48,86°N) we travel at the speed of approx. 1101.6 km/h

1674,4x cos (48,86)= 1101.589722473 Km / h
this means that the earth circumference at the the 48,86° North is approx 26438.15 km

http://en.wikipedia.org/wiki/Earth%27s_rotation


Angular speed

The angular speed of Earth's rotation in inertial space is (7.2921150 ± 0.0000001) ×10−5 radians per SI second (mean solar second).[27] Multiplying by (180°/π radians)×(86,400 seconds/mean solar day) yields 360.9856°/mean solar day, indicating that Earth rotates more than 360° relative to the fixed stars in one solar day. Earth's movement along its nearly circular orbit while it is rotating once around its axis requires that Earth rotate slightly more than once relative to the fixed stars before the mean Sun can pass overhead again, even though it rotates only once (360°) relative to the mean Sun.[n 4] Multiplying the value in rad/s by Earth's equatorial radius of 6,378,137 m (WGS84 ellipsoid) (factors of 2π radians needed by both cancel) yields an equatorial speed of 465.1 m/s, 1,674.4 km/h or 1,040.4 mi/h.[32] Some sources state that Earth's equatorial speed is slightly less, or 1,669.8 km/h.[33] This is obtained by dividing Earth's equatorial circumference by 24 hours. However, the use of only one circumference unwittingly implies only one rotation in inertial space, so the corresponding time unit must be a sidereal hour. This is confirmed by multiplying by the number of sidereal days in one mean solar day, 1.002 737 909 350 795,[27] which yields the equatorial speed in mean solar hours given above of 1,674.4 km/h.

The tangential speed of Earth's rotation at a point on Earth can be approximated by multiplying the speed at the equator by the cosine of the latitude.[34] For example, the Kennedy Space Center is located at 28.59° North latitude, which yields a speed of: 1,674.4 kilometres per hour (1,040.4 mph) × cos (28.59) = 1,470.23 kilometres per hour (913.56 mph)
Dernière édition par andrea le Dim Avr 12, 2015 11:03 am, édité 1 fois.

Avatar de l’utilisateur
HugoF
Messages : 105
Inscription : Lun Nov 17, 2014 9:51 pm
Localisation : Paris
Contact :

Re: Le programme basé sur Arduino

Messagepar HugoF » Dim Avr 12, 2015 9:44 am

je ne suis pas sur que la vitesse tangentielle soit utile pour nous, la vitesse angulaire plutot. Les 360.9856° par 24h ou 4°par heure dont tu parlais l'autre fois. Mais après réflexion depuis l'autre fois, je crois que ça ne suffit pas tel quel.
A voir avec Oriane ou Jean B, mais vu qu'on s'intéresse à l'angle projeté dans le plan perpendiculaire aux facettes, ça va être moins que 4° par heure...
?

Jean Walter
Messages : 6
Inscription : Lun Fév 16, 2015 7:49 am

Re: Le programme basé sur Arduino

Messagepar Jean Walter » Lun Avr 13, 2015 9:45 am

Comme suite au message d'Andrea, nous avons évoqué la "mise à zéro" du traqueur, requis quelque soit le modèle utilisé. Si faire un zéro est simple à faire une à deux fois par jour, ça pourrait simplifier les calculs (actuellement astronomiques) de position du soleil. Un miroir "directeur" fait un tour et la réponse des photorésistances vs le nombre de steps (micro-steps) devrait nous permettre de connaitre la position du soleil

Toujours sous le charme de mon Ultimaker, je vais en effet essayer de monter un bâti 400 x 400 x500 avec deux photorésistantes permettant de tester l'ensemble si possible au soleil d'ici la fin du mois.

Autre piste envisagée: Utiliser la connexion internet de monitoring à distance pour informer l'appareil de la position actuelle du soleil à partir de sites tel que:

http://www.sunearthtools.com/dp/tools/p ... hp?lang=fr

andrea
Messages : 44
Inscription : Dim Nov 16, 2014 6:56 pm

Re: Le programme basé sur Arduino

Messagepar andrea » Mar Avr 14, 2015 1:15 am

en fait, si on calcule chaque jour l'erreur de la journe' et on l'applique pour la journe' suivante nous pouvons suivre le soleile approximativement, nous pouvons corriger en temps reelle, en accellerant lors le capteur L1 recoives le reflet du soleil, on reduirrai la marche si le capteur L2 recoive le reflet du soleil (mode reactif). en gardant 2 mirroirs un peu hors centre (un plus vers le L1 et l'autre plus vers le L2) nous permettera d'etre plus precis avec toutes les autres mirroirs sans sur-eclairer (ou eclarcire? :) ) le capteur.

le temps solaire reelle est calcule' en fonction du temp moyen d'un montre (soit du RTC au quartz, dans notre cas),
avec l'equation du temp et il differencie dans l'anne'e de env. 34 min (+- 17)
l'equation du temps est du a' la somme des 2 frequences differents et de amplitude different donne' par la de'clinaison et l'ecliptique.

on pourrai utiliser l'equation du temp pour calculer la correction du jour suivante avec plus de precision (mode proactif) et la corriger avec le mode reactif.

selon cette table http://www.sunlit-design.com/gallery/vi ... hp?sdy=270,
le 27 septembre le sundial serai 9 min plus rapide que le montre RTC au quartz.

donc il y aurai 9 minutes en moin de soleil dans les 24hrs du montre. soit au lieu de avoir 1 degree chaque 4 minutes (soit 0,25 degre'e par minute, soit 15 degrees chaque 1hr) comme calcule' dans ce premiere version du code, on aurait:
360 degrees / (1440 min - 9 min) = 360/1431= 0.251572327 degree par minute soit 1.006 degree par 4 minutes
(toujours les 360 degre'e pour le temps apparent)
notre stepper devrait donc etre un tout petit peu plus rapide, soit un microstep chaque 53.66 sec (au lieu de 1 microstep chaque 54 sec)
(86400 - 540 )/3200*2 = 53.66 seconds.
Sans compter cette difference, notre heliostat perderai la precision de 1/10 de degree volu en 67 min env. (le 27/9/2015)


ici l'argument plus en details (guide aussi en pdf dans la biblio du cloud.osefrance.org
http://www.powerfromthesun.net/Book/cha ... ter03.html

alternativement, comme Jean le suggerait, on pourrait se connecter de temps en temps sur un tableau en ligne pour telecharger les equation du temps des jours a' venire... un autre lien avec programme en CGI
http://www.gcstudio.com/calcuse.html
http://www.gcstudio.com/suncalc.html

que nous donne, pour le 27/9,
ce tableau

andrea
Messages : 44
Inscription : Dim Nov 16, 2014 6:56 pm

Re: Le programme basé sur Arduino

Messagepar andrea » Mar Avr 14, 2015 1:19 am

d'ailleur pourquoi ne suivre pas un cadran solair pour suivre le soleil !! :)

Avatar de l’utilisateur
Altab
Messages : 116
Inscription : Mar Fév 03, 2015 9:38 am

Re: Le programme basé sur Arduino

Messagepar Altab » Mar Avr 14, 2015 5:44 pm

Un nouveau contributeur, Mathieu propose ça :
http://forum.osefrance.org/viewtopic.php?f=34&t=2930

quand pensez-vous :?:
"On ne résout pas un problème avec les modes de pensée qui l’ont engendré." A.E.

Jean Walter
Messages : 6
Inscription : Lun Fév 16, 2015 7:49 am

Re: Le programme basé sur Arduino

Messagepar Jean Walter » Mer Avr 22, 2015 9:21 am

Comme convenu, en complément au modèles solaires, nous avons convenu de monter un support pour tester différent logiciels avec un miroir et différents capteurs (photorésistantes, thermistances, cellule photovoltaïque). Détails techniques sur Github
Un bati en tubes PVC/fer a été présenté lors de la réunion du 17 avril:
Pièces jointes
bati essai optique.jpg
bati essai optique.jpg (329.61 Kio) Consulté 5742 fois

Jean Walter
Messages : 6
Inscription : Lun Fév 16, 2015 7:49 am

CR réunion automatisation 06/06/15

Messagepar Jean Walter » Lun Juin 08, 2015 6:59 am

Participants à la réunion: Andrea, Jean

Calcul Azimut/hauteur: nous avons chargé les librairies de Gabriel Miller (Cerebral meltdown) sans grand succès. On fera éventuellement un nouvel essai samedi prochain. Les quelques éléments de calcul réussis indiquent cependant qu'on en demande beaucoup à l'Arduino. Sans abandonner la piste, il faut envisager l'option tables de données, éventuellement associées à des calculs simples, plutôt que des calculs avec sinus, cosinus et arcsin en cascade.

Centrage du miroir bâti d'essai: l'arduino peut maintenant faire tourner le moteur soit en 200 ou 3200 pas/tour, correspondant à déplacement rapide et déplacement pour centrage. Le sketch Miror b3.1 (GitHub) utilise ces deux vitesses, il a été testé sur le bâti au soleil, je propose de reprendre les essais suivant mes disponibilités (et celle du soleil) cette semaine.

tutoriel pour github sur la wiki complété:
http://wiki.osefrance.org/doku.php?id=github

Jean Walter
Messages : 6
Inscription : Lun Fév 16, 2015 7:49 am

CR réunion automatisation 13/06/15

Messagepar Jean Walter » Lun Juin 15, 2015 8:16 am

Horloge: L'horloge fonctionne bien, elle nous fournit date et heure format horloge, à transformer en ordre de jour et heure décimale

Azimut: calcul ou base de données? On a convenu que l'Arduino n'est peut être pas adapté aux calculs azimut/hauteur et qu'une approche tableau de données stockés sur une carte SD serait peut être plus adaptée.
Il faudra dans ce cas envisager de mémoriser un azimut tous les 15 minutes par jour pour deux jours par mois (6 et 21 du mois) soit environ 24 x 50 données. Ca devrait suffire pour obtenir par interpolation l'azimut pour une heure donnée.
J'imagine que l'on pourra créer le tableau d'un lieu donné à partit de matlab/excel, le charger sur la carte SD sous un format compatible avec Arduino. On en reparlera certainement à notre prochaine réunion.

andrea
Messages : 44
Inscription : Dim Nov 16, 2014 6:56 pm

Re: Le programme basé sur Arduino

Messagepar andrea » Jeu Juin 18, 2015 4:59 pm

Continuation pendant le développement de la maquette

viewforum.php?f=44


Revenir vers « Capteurs, Programmes, Contrôle moteurs »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité

cron