| NonSoloBolleDiAcqua
| Inviato il: 12/8/2013,21:12
|
Ciao ragazzi, x bulover, posti il codice in eabasic e mi dici che memoria esterna usi? Ciao Bolle
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | bulover
| Inviato il: 12/8/2013,22:49
|
Ciao bolle questo è il codice che sto usando è quello che hai postato tu nella discussione pptea inseguitore astronomico e la memoria esterna è l'eprom 24cl16 ho anche una 24cl64 ma al momento adopero la 16 come ho gia spiegato a nennos con il compilatore e firmware 2.8 gira tutto ok a parte qualche inperfezione sull'azimut la notte ma non ha importanza perche il sole in quelle ore non c'è, con il compilatore 4.2.4 mi da problemi ,non mi carica il programma quando pigio "go" di da errore faill e addirittura si blocca il compilatore per sbloccarlo devo staccare l'usb come ho gia scritto nei post precedenti ho fatto una prova ,ho tagliato il codice alla riga 386 ho fatto ,387 goto 200, ho tolto la riga 120 (memoria esterna) lanciato il programma ...tutto ok ovviamente con il firmware 4.2.4 scriveva sul display orologio e inizio programma ecc..ovviamente senza le coordinate, a quel punto inserendo manualmente l'eprom ricompilavo,luce verde "go" ..errore faill ,go fatto diverse prove con il solito risultato senza memoria "ok" con la memoria "errore"comunque ho risolto con la versione 2.8 ,adesso sto tentando di interpretare la logica del codice per poter dare vita alla schedina che ho costruito visto che il codice cosi' com'è comunica solo con il pc io devo abilitare 4 porte per comandare i rele
CODICE 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 140 CONSTANT dLatitude=45.813530 150 CONSTANT dEarthMeanRadius=6371.01 160 CONSTANT dAstronomicalUnit=149597890 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=DATE ' 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= DATE 310 LCDPOS=&H11 320 LCDWRITE="DATE: "& GG_MM_AA 330 waits 2 340 LCDPOS=&H11 350 LCDWRITE= " Lat. Long. " 360 LCDPOS=&H21 370 LCDWRITE= "45.8135 13.5265" 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 =DATE/3600.0 ' 35608/3600.0 ' 389 dDecimalHours-=1.0 'metto l'ora sul fuso giusto 390 iMonth=mid(GG_MM_AA,4,2) 400 liAux1=(iMonth-14)/12 410 iYear =right(GG_MM_AA,2) +2000 420 iDay=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 460 dJulianDate= liAux2 - 0.5 + dDecimalHours/24.0 470 ' Calculate difference between current Julian Day and JD 2451545.0 480 dElapsedJulianDays = dJulianDate-2451545.0 490 ' ----- Calculate ecliptic coordinates ----- 500 dOmega=2.1429-0.0010394594*dElapsedJulianDays 510 dMeanLongitude = 4.8950630+ 0.01720279169 * dElapsedJulianDays 'Radians 520 dMeanAnomaly = 6.2400600+ 0.0172019699 * dElapsedJulianDays 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 ) 750 'NV=dEclipticObliquity 760 'GOSUB :NORMALIZZA_VALORE 770 dY = cos( dEclipticObliquity) * dSin_EclipticLongitude 780 'NV=dEclipticLongitude 790 'GOSUB :NORMALIZZA_VALORE 800 dX = cos(dEclipticLongitude) 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 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 1190 if NV1 > 0 then 1210 1200 NV1 += 2*PI 1210 NV1=NV1/(PI/180)
1212 LCDPOS=&H11 1213 FDATE=4 1215 if DATE mod 10 then :SALT 1216 LCDWRITE= " Azimuth Elevat"'& DATE 1217 GOTO 1220 1218 :SALT FDATE=1 1219 LCDWRITE= " TIME "& DATE
1220 USBOUT=" dAzim="& 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) 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
grazie per l'interessamento. Un saluto Bulover
| | | | | | | ElettroshockNow
| Inviato il: 12/8/2013,23:41
|
Prova usando :
PRAGMA EXTENDED2K_EEPROM per la 24c16 O PRAGMA EXTENDED8K_EEPROM per la 24c64
Forse non c'entra niente , ma tentar non nuoce
Ciao ElettroshockNow
| | | | PinoTux
| Inviato il: 13/8/2013,00:00
|
@ Bolle: Non sarà il problema che avevo pure io con le eeprom nuove di zecca? Ma non mi ricordo più come ho fatto, ho pure cancellato il messaggio..... ebbene si, quando una cosa avanza, un'altra manca.....
--------------- "Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza" http://iv3gfn.altervista.org/ http://pptea.altervista.org/
| | | | nennos
| Inviato il: 13/8/2013,07:34
|
ciao a tutti bulover da quello che ho visto il tuo problema l'ho avuto anche io correggi come ti ha scritto elettroshock e vedrai che risolvi il problema con pragma external _eeprom si bloccava tutto a 270 e piantava anche il compilatore con pragma extended2k_eeprom per la 24c16 va alla grande ciao
| | | | NonSoloBolleDiAcqua
| Inviato il: 13/8/2013,08:39
|
x bulover, hai fatto un bel lavoro...complimenti. Prova a modificare l'istruzione PRAGMA EXTENDED2K_EEPROM al posto della PRAGMA EXTERNAL_EEPROM come ti hanno consigliato...se dovesse ancora avere problemi vediamo il problema insieme. Per quanto riguarda le coordinate geografiche, ti consiglio di prenderle da google earth...sempre ammesso che tu non sia di monfalcone (prova a mettere 45.8135 13.5265 su google e ti apparirà il punto in questione) ...se non sai come fare lo facciamo insieme. Pre il resto ho acquistato ( è in arrivo) un accelerometro,faremo un po di test con il PPPTEA ...poi lo letterò sul mammozzo per capire l'orientamento della parabola motorizzata. Un saluto Bolle
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | | | | NonSoloBolleDiAcqua
| Inviato il: 14/8/2013,08:29
|
Questa sera faccio le prove e ti faccio sapere. Ciao Bolle
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | NonSoloBolleDiAcqua
| Inviato il: 15/8/2013,07:26
|
Ciao bulover, ho fatto le prove e tutto funge...mi sorge un dubbio....ma tu oltre il compilatore aggiorni il firmware del pptea? Cioè compili con la 4.2.4 e invii il codice ad un pptea con il firmware 4.2.4? Quell'errore che ti da il compilatore nel trasferimento dipende dalla versione del PPTEA il quale non è in grado di capire il comando...aggiorna il firmware nel pptea e vedrai che tutto andrà a gonfie vele. Ciao Bolle
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | bulover
| Inviato il: 15/8/2013,18:07
|
Ciao bolle, nel cip quando adopero il compilatore 4.2.4 e installato il firmware 4.2.4 ,l'ultima versione che hai pubblicato, non riesco a capire il motivo perche non mi vuole caricare il cip Ho provato diverse versioni 2.9,2.11,2.12,2.16,4.0,4.1 e poi l'ultima versione,mi sono accorto che l'errore me lo da dalla versione nella quale hai cambito la maschera iniziale ,per intenderci quella con il bipp...e come ti avevo accennato non riesco piu' a fare il copia incolla. Aspetta un momento......... io ho copiato il codice con un copia incolla nella versione 2.8 poi l'ho salvata e riaperta con il 4.2.4 non sara mica che l'inghippo sia proprio li???,cosa ne pensi?? un saluto Bulover
| | | | NonSoloBolleDiAcqua
| Inviato il: 16/8/2013,06:48
|
Una volta che hai caricato il codice nel compilatore (indipendentemente dalla versione) lo devi compilare, successivamente lo devi trasferire el PPTEA...il trasferimento non può dare errori. Se continui ad avere problemi lo facciamo passo passo. Ciao Bolle
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | bulover
| Inviato il: 16/8/2013,20:19
|
ciao bolle, infatti faccio cosi carico,compilo,luce verde,connessione,go...errore come ho mostrato dalle foto l'ho fatto un sacco di volte con il solito risultato ,i passaggi sono gli stessi ,con il 2.8 va e con il 4.2.4 no.Non puo essere che salvandolo con una versione inferiore mi dia errore a caricarlo con il 4.2.4 ???. un saluto Bulover
| | | | NonSoloBolleDiAcqua
| Inviato il: 16/8/2013,23:03
|
No, se lo compili con la versione 4.2.4 genera il tokenizzato sovrascrivendo quello della 2.8. Specifico passo passo le operazioni che devi provare: 1. mettere nel pic 18f250 il firmware del pptea versione 4.2.4 2. lanciare il compilatore versione 4.2.4 3. verificare il funzionamento del pptea ( all'avvio mostra la versione ) 3. premere stop sul PPTEA 4. copiare il codice sotto ed incollarlo nell'area testo:
10 PRINT "CIAO" 20 END
5. compilarlo (deve essere compilato con successo) 6. trasferirlo nel PPTEA (deve completare la sequenza) 7. eseguirlo
Mi dici se ti scrive ciao? Ciao Bolle
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | bulover
| Inviato il: 17/8/2013,16:38
|
Ciao bolle, Ho fatto tutte le prove che mi hai detto ...risultato... zero il compilatore si blocca quando lancio il programma dopo averlo compilato con successo.Ho provato a caricare la versione del firmware 4.2.3 compilatore 4.2.4 tutto ok a quel punto ho caricato il programma il codice dell'inseguitore ...lo ha compilato l'ho lanciato caricato con successo pero non girava bene sul display saltava delle lettere e dei numeri pero girava e ero riuscito a caricarlo ,ho reinstallato firmware 2.8 e ricaricato il codice con il compilatore 2.8 ...tutto ok come al solito.. Mi chiedo ma saranno i driver che mi danno problemi??? cosa faccio li reinstallo ?? perche ho notato che quando adopero la versione 4.2.4 per sincronizzarsi devo disinserire e reinserire la usb altrimenti il pptea non comunica con il pc dopo che l'ho reinserita ,luce verde e comunicazione ,legge lo stop poi con il "go" si inchioda. dimmi se devo provare a reinstallare i driver per la porta che pero con la versione 2.8 è perfetta ,il pptea comunica immediatamente con il pc ciao Bulover
| |
| | |
|
Versione Mobile!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|