| NonSoloBolleDiAcqua
| Inviato il: 30/11/2012,11:57
|
Perdonami...erano presenti un paio di errori...puoi provarlo con il debug e fare le tue prove.
I valori precisi spaccati al millesimo per la coordinata (lon 9.04851 lat 39.26796),data, (21/11/12) e ora (15:00) inserita sono: Azi=222.0680 Elev=18.5652 ....presi dal calcolo sunpos della nasa...il pptea ci va molto molto vicino Dimmi se hai altri problemi e grazie per la segnalazione. Ciao Bolle
100 MATH_PRECISION=18' AUMENTIAMO LA PRECISIONE DEL PPTEA 110 'Calcolo posizione Sole FINO AL BLOCCO CON VERSIONE PPTEA 2.8 O SUPERIORE 120 PRAGMA EXTERNAL_EEPROM 125 'USBOUT="START" 130 'CONSTANT dLongitude=13.526507 131 'CONSTANT dLatitude=45.813530 132 CONSTANT dLongitude=9.04851 140 CONSTANT dLatitude=39.26796
150 CONSTANT dEarthMeanRadius=6371.01 160 CONSTANT dAstronomicalUnit=149597890 163 CONSTANT DATA_OGGI="21/11/12" 164 CONSTANT ORARIO="15:00:00" ' formato hh:mm:ss 15=ora, 0=minuti, 2 = secondi 165 'CONSTANT DATA_OGGI="08/02/12" 166 'CONSTANT ORARIO="06:24:47" ' formato hh:mm:ss 15=ora, 10=minuti, 20 = secondi 170 ' ----- Calculate difference in days between the current Julian Day 180 ' and JD 2451545.0, which is noon 1 January 2000 Universal Time ----- 190 ' Calculate time of the day in UT decimal hours 200 'GG_MM_AA=DATE ' 210 'USBOUT="GIORNO MISURE:" & GG_MM_AA & chr(13) & chr(10) 220 'FDATE=4 230 'dDecimalHours =DATE/3600.0 ' 35608/3600.0 ' 240 'FDATE=2 250 GG_MM_AA=DATA_OGGI 260 LCDPOS=&H11 270 LCDWRITE= " PPTEA BOLLE" 280 LCDPOS=&H21 290 LCDWRITE= " SUN POSITION" 300 WAITS 2 301 LCDCLEAR 302 LCDPOS=&H24 303 FDATE=1 305 LCDWRITE=ORARIO 310 LCDPOS=&H11 320 LCDWRITE="DATE: "& GG_MM_AA 330 WAITS 2 340 LCDPOS=&H11 350 LCDWRITE= " LAT. LONG. " 360 LCDPOS=&H21 370 LCDWRITE= LEFT(dLongitude,7) &" "& LEFT(dLatitude,7) 380 WAITS 2 381 LCDCLEAR 382 LCDPOS=&H11 383 LCDWRITE="START REAL TIME" 384 LCDPOS=&H21 385 LCDWRITE=" ELABORATION" 386 WAITS 1 387 'FDATE=4 388 dDecimalHours = ( MID(ORARIO,4,2)*60+ RIGHT(ORARIO,2) )/3600.0 +LEFT(ORARIO,2) ' 15:10:20 389 dDecimalHours-=1.0 'metto l'ora sul fuso giusto 390 iMonth=INT(MID(GG_MM_AA,4,2)) 400 liAux1=(iMonth-14)/12 410 iYear =INT(RIGHT(GG_MM_AA,2)) + 2000 420 iDay=INT(LEFT(GG_MM_AA,2)) 430 liAux2=((1461*(iYear + 4800 + liAux1))/4) 440 liAux2+=(367*(iMonth- 2-12*liAux1))/12 450 liAux2+= -1*(3*((iYear + 4900+ liAux1)/100))/4+iDay-32075 455 'PRINT "V=" & dDecimalHours & " " & liAux1 & " " & liAux2 460 dJulianDate= liAux2 - 0.5 + dDecimalHours/24.0 470 ' Calculate difference between current Julian Day and JD 2451545.0 480 dElapsedJulianDays = dJulianDate-2451545.0 481 'PRINT dJulianDate & " " & dElapsedJulianDays 490 ' ----- Calculate ecliptic coordinates ----- 500 dOmega=2.1429-0.0010394594*dElapsedJulianDays 505 'PRINT dOmega
510 dMeanLongitude = 4.8950630+ 0.01720279169 * dElapsedJulianDays 'Radians 515 'PRINT dMeanLongitude 520 dMeanAnomaly = 6.2400600+ 0.0172019699 * dElapsedJulianDays 525 'PRINT dMeanAnomaly 530 'NV= dMeanAnomaly 540 'GOSUB :NORMALIZZA_VALORE 550 NV1=SIN(dMeanAnomaly) 560 'NV= dMeanAnomaly*2 570 'GOSUB :NORMALIZZA_VALORE 580 NV2=SIN(dMeanAnomaly*2) 590 'NV= dOmega 600 'GOSUB :NORMALIZZA_VALORE 610 NV3=SIN(dOmega) 620 dEclipticLongitude = dMeanLongitude + 0.03341607*NV1+ 0.00034894*NV2-0.0001134 -0.0000203*NV3 630 'USBOUT= "dEclLon=" & dEclipticLongitude 640 'NV= dOmega 650 'GOSUB :NORMALIZZA_VALORE 660 NV1=COS(dOmega) 670 'USBOUT="COS="& NV1 680 dEclipticObliquity = 0.4090928 - (0.00000006214*dElapsedJulianDays)/10 +0.0000396*NV1 690 'USBOUT= " dEclObl=" & dEclipticObliquity 700 'Calculate celestial coordinates ( right ascension and declination ) 710 'in radians but without limiting the angle to be less than 2*Pi 720 'NV=dEclipticLongitude 730 'GOSUB :NORMALIZZA_VALORE 740 dSin_EclipticLongitude= sin( dEclipticLongitude ) 745 'PRINT "dSin_EL=" & dSin_EclipticLongitude 750 'NV=dEclipticObliquity 760 'GOSUB :NORMALIZZA_VALORE 770 dY = COS( dEclipticObliquity) * dSin_EclipticLongitude 780 'NV=dEclipticLongitude 790 'GOSUB :NORMALIZZA_VALORE 800 dX = COS(dEclipticLongitude) 805 'PRINT "DY="& DY & " " &DX 810 NV2=DY 820 NV1=DX 830 GOSUB :ATAN2 840 dRightAscension = NV1 850 IF dRightAscension >= 0.0 THEN 900 860 dRightAscension = dRightAscension + 2*PI 870 'NV=dEclipticObliquity 880 'GOSUB :NORMALIZZA_VALORE 890 dDeclination=SIN(dEclipticObliquity)*dSin_EclipticLongitude 900 dDeclination = ASIN( dDeclination ) 910 'USBOUT= " dSinEcl=" & dSin_EclipticLongitude 920 'USBOUT= " dRigAsc=" & dRightAscension 930 'USBOUT= " dDecl=" & dDeclination 940 'Calculate local coordinates ( azimuth and zenith angle ) in degrees 950 dLocalMeanSiderealTime = 6.6974243242 + 0.0657098283 * dElapsedJulianDays + dDecimalHours 960 dLocalMeanSiderealTime= (dLocalMeanSiderealTime*15 + dLongitude)*PI/180 965 'USBOUT= " dLocalMea=" & dLocalMeanSiderealTime 970 liAux1 = dLocalMeanSiderealTime - dRightAscension 'dHourAngle 980 'NV=liAux1 990 'GOSUB :NORMALIZZA_VALORE 1000 'liAux1=NV 1010 'USBOUT=" dHourAngle="& liAux1 1020 liAux2 = dLatitude * PI/180 'dLatitudeInRadians 1030 'USBOUT=" dLat="& liAux2 1040 NV1=COS( liAux2 ) 'dCos_Latitude 1050 'USBOUT=" dCos="& NV1 1060 NV2=SIN( liAux2 ) 'dSin_Latitude 1070 'USBOUT=" dSin="& NV2 1080 NV= COS( liAux1 ) 'dCos_HourAngle 1090 'USBOUT=" dCosH="& NV 1100 iMonth=ACOS(NV1*NV*cos(dDeclination)+SIN(dDeclination)*NV2) 'dZenithAngle 1110 'USBOUT=" dZen="& iMonth 1120 dY = -SIN( liAux1 ) 1130 'USBOUT=" dY="& dy 1140 dX = TAN( dDeclination )*NV1-NV2*NV 1150 'USBOUT=" dx="& dx 1160 NV2=DY 1170 NV1=DX 1180 GOSUB :ATAN2 1185 'USBOUT=" dAzim1="& NV1 1190 IF NV1 > 0 THEN 1210 1200 NV1 += 2*PI 1210 NV1=NV1/(PI/180) 1212 LCDPOS=&H11 1213 'FDATE=4 1215 GOTO :SALT 1216 LCDWRITE= " Azimuth Elevat" 1217 GOTO 1220 1218 :SALT FDATE=1 1219 LCDWRITE= " TIME "& ORARIO 1220 PRINT "AZIMUTH="& NV1 1230 LCDPOS=&H22 1240 LCDWRITE=LEFT(NV1,6) 'LCDWRITE="Azimuth="& left(NV1,6) 1250 dParallax=dEarthMeanRadius/dAstronomicalUnit *SIN(iMonth) 1260 'USBOUT=" dPar="& dParallax 1270 iMonth=(iMonth+ dParallax)/(PI/180) 'dZenithAngle 1280 'USBOUT=" dZen="& iMonth &" "
1290 'LCDPOS=&H21 1299 iMonth=90.0-iMonth 1300 LCDWRITE=" "& LEFT(iMonth,6) 'LCDWRITE="Zenith ="& left(iMonth,6) 1305 PRINT "ELEVAZ="& iMonth &" " 1310 'NV= int((dDecimalHours-int(dDecimalHours))*60) 1320 'NV2= int(dDecimalHours *3600 - int(dDecimalHours) *3600 - NV*60) 1330 'MV3=right("0"&int(dDecimalHours),2) &":" & right("0"&NV,2) &":"&right("0"&NV2,2) 1340 'USBOUT=MV3 & chr(13) & chr(10) 1350 'LCDPOS=&H21 1360 'LCDWRITE=" SUNPOS " & MV3 1370 'dDecimalHours+=0.0166666666 1380 GOTO 387
1390 ':NORMALIZZA_VALORE 1400 'USBOUT=" NV1="& NV 1410 'NV= NV/ (2*PI) 1420 'USBOUT=" NV2="& NV 1430 'L= NV-INT(NV) 1440 'USBOUT=" L="& L 1450 'NV=L*2*PI+2*PI 1460 'USBOUT=" NV3="& NV 1470 RETURN 1480 :ATAN2 1490 IF NV1 > 0 THEN 1540 1500 IF NV1 < 0 THEN 1560 1510 IF NV2 = 0 THEN 1610 1520 NV1= SGN(NV2) * PI / 2 1530 RETURN 1540 NV1= ATAN(NV2 / NV1) 1550 RETURN 1560 NV = SGN(NV2) 1570 NV3 = ABS(NV2 / NV1) 1580 NV3 = ATAN( NV3) 1590 NV1 = NV * (PI - NV3) 1600 RETURN 1610 NV1 = 0.0 1620 RETURN
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | nennos
| Inviato il: 30/11/2012,16:13
|
ciao bolle grazie tante a te per la disponibilita ps come posso caricare il codice nel compilatore ciao grazie
| | | | nennos
| Inviato il: 30/11/2012,22:14
|
ciao bolle ho caricato il codice nel compilatore ho notato che hai apportato delle modifiche la lat e long che stanno nella linea 130 e 131 che riferimento hanno visto che prima dovevano essere cancellate per inserire quelle dell'osservatore ho visto anche che ci sono sovraposizioni nella visualizzazione del display inoltre hai messo un tempo fisso ore 15.00 nel dubug il tempo non scorre come prima ma resta sempre fisso questo comporta che anche le coordinate restano fisse ancora una cosa se questo dispositivo deve funzionare stand alone e l'ora non scorre come fa ad aggiornare la posizione grazie di tutto ciao bolle
| | | | NonSoloBolleDiAcqua
| Inviato il: 1/12/2012,07:39
|
Ciao,le linee 130 e 131 sono commentate (colore verde) e quindi non vengono eseguite, l'ora fissa (15:00) l'ho messa per verificare i tuoi dati, cioè azimuth e elevazione del sole ad un determinato giorno, ad una certa posizione geografica. Se ti serve qualcosa stand-alone che prenda ora e giorno dal Real Time Clock, basta sostituire quelle righe di codice...ma considera che dovrai aggiungere le istruzioni che ti serviranno per far muovere il tuo concentratore...se ti serve una mano lo facciamo insieme. Ciao Bolle
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | nennos
| Inviato il: 1/12/2012,16:53
|
ciao bolle ho capito grazie si vorrei che il concentratore funzionzasse stand alone so che per fare questo occorre scrivere del codice (e io non ne sono capace) mi affido alla tua competenza e alla tua generosita per quanto mi riguarda posso costruire exnovo un concentratore degno di questo nome ancora una cosa io ho diversi driver per motori passopasso e anche alcuni motori che mi sono avanzati dalla cnc e un paio grossi per una fresa cnc che volevo fare ma non ho mai avuto tempo pensi si possano utilizzare ciao bolle
| | | | NonSoloBolleDiAcqua
| Inviato il: 1/12/2012,19:29
|
Ciao, perdonami sono stato poco chiaro...il codice che trovi alla pagina 3 del 17/2/2012, 11:38 l'ho modificato ...era presente un errore...riprovalo, quello è quello che gira con il PC mediante il debug o con il real time clock del PPTEA...ed è lo stesso che funge in modalità STAND ALONE...cioè da solo...fa tutto solo soletto...quello che dovrebbe fare al caso tuo. I motori che hai vanno più che bene...ovviamente se ti occorre una mano ...puoi contare su di noi! Ciao Bolle
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | nennos
| Inviato il: 1/12/2012,22:24
|
ciao bolle come sempre un grazie e il minimo che posso fare adesso cerco il codice che mi hai detto alla pagina 3 e poi ti faccio sapere se funge bene per quanto riguarda la mano direi che se non c'è la tua mano questo e un progetto nato morto ho notato che hai usato il plurale quindi ringrazio anche coloro che partecipano nel forum ho provato il codice inserendo le mie coordinate in elevazione ha un errore centesimale (se si puo chiamare errore) mentre in azimuth ho circa 180 gradi di differenza ciao
Modificato da nennos - 1/12/2012, 22:45
| | | | PinoTux
| Inviato il: 2/12/2012,01:03
|
Il codice corretto si trova alla pagina 2, questo è il link:
Confermi se la modifica, oltre a certe istruzioni commentate inerenti alla USB, riguardava solamente le righe 400 e 410? (ho notato solo questo) prima: 400 liAux1=(iMonth-14)/12+2000 410 iYear =right(GG_MM_AA,2)
dopo: 400 liAux1=(iMonth-14)/12 410 iYear =right(GG_MM_AA,2) +2000
Ti chiedo questo per poter modificare il vecchio listato sul sito PPTEA che gestisco senza dover fare troppe capriole.. Ciao Pino
Modificato da PinoTux - 2/12/2012, 01:24
--------------- "Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza" http://iv3gfn.altervista.org/ http://pptea.altervista.org/
| | | | NonSoloBolleDiAcqua
| Inviato il: 2/12/2012,19:43
|
CITAZIONE (PinoTux @ 2/12/2012, 01:03) Ti chiedo questo per poter modificare il vecchio listato sul sito PPTEA che gestisco senza dover fare troppe capriole.. Si Pino, l'errore era quello...probabilmente c'è stato un copia incolla di troppo.
CITAZIONE (nennos @ 1/12/2012, 22:24) ho provato il codice inserendo le mie coordinate in elevazione ha un errore centesimale (se si puo chiamare errore) mentre in azimuth ho circa 180 gradi di differenza Un centesimo di grado...si commenta da solo...avrai un ottimissimo inseguimento se avrai la precisione del decimo... Per i 180° di differenza posso dirti che il sud è 180°. Ciao Bolle
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | nennos
| Inviato il: 2/12/2012,21:01
|
ciao bolle un grazie grandissimo per quello fino ad ora ieri ho sbagliato io scrivendo le coordinate ma ora e tutto ok e confermo lo scarto e circa 2 centesimi azimuth idem elevat ho assemblato la scheda di zakka full option ho programmato il chip con il tuo metodo come da pdf riconosce il driver il dispositivo ma non funziona ciao
| | | | NonSoloBolleDiAcqua
| Inviato il: 3/12/2012,10:48
|
Detto in questo modo è difficile capire...considera che è un sistema pluricollaudato. Apri un'altra discussione cercando di spiegare al meglio cosa accade...ma se hai installato i driver sei a cavallo. Ciao Bolle
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | nennos
| Inviato il: 4/12/2012,00:17
|
ciao bolle avevo dei problemi con le porte del computer ma ho risolto e funziona alla grande ho anche collegato il display ma non leggo niente domani riprovo fatto questo per pilotare i motori passo passo come si fa qui solo tu puoi dirmi come come sempre grazie sei geniale
| | | | NonSoloBolleDiAcqua
| Inviato il: 4/12/2012,08:05
|
Bene bravo.
CITAZIONE (nennos @ 4/12/2012, 00:17) qui solo tu puoi dirmi come Non sono l'unico...nel forum ci sono un bel gruppetto di persone che possono aiutarti...inizia a fare qualche foto dei motori passo passo...oppure descrivi quanti fili hanno e i colori.Cmq inizia a guardare questa discussione . Ce ne dovrebbe essere anche un'altra...se ho tempo la cerco. Ciao Bolle
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | nennos
| Inviato il: 4/12/2012,19:26
|
ciao bolle non riesco a visualizzare niente nel display sono sicuro di aver collegato bene tutto ma niente si illumina e basta cosa puo essere grazie
| | | | NonSoloBolleDiAcqua
| Inviato il: 4/12/2012,19:34
|
Non deve illuminarsi ...devono solo vedersi delle scritte, anzi in genere quando parte si vedono dei rettangoli pieni.P uò essere il contrasto, regolalo andando da massa a +5 con un trimmer. Ciao Bolle
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| |
| | |
|
Versione Mobile!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|