PPTEA
PPTEA- Processore Per Tutti

VISUALIZZA L'ALBUM

Pag: (114)   1   [2]   3   4   5   6  ...>    (Ultimo Msg)


FinePagina

NonSoloBolleDiA...

Avatar
PetaWatt


AMMINISTRATORE
Msg:13786

Stato:



Inviato il: 30/7/2010,06:06

Un grande passo avanti, funge il trasferimento del compilato sul PIC...ma riassumiamo tutto:
1.possiamo scrivere un codice semplice per il processore:EABASIC
2.questo codice viene compilato sul pc mediante il PPTEA compiler.
3.il compilato oggi viene trasferito nel processore mediante porta usb
4.il processore esegue (interpreta) il codice scritto in EABASIC
Tutto questo è possibile perchè il Pic ha all'interno un firmaware (unico) che è in grado di caricare il programma scritto in EABASIC ed eseguirlo. Il codice EABASIC viene inserito all'interno della EEPROM del pic e rimane al suo interno.
Spero di essere sato leggermente più chiaro.
Bolle



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripet...

 

Libero51

Avatar
GigaWatt


Utente
Msg:1248

Stato:



Inviato il: 30/7/2010,08:38

Vediamo se ho capito , ho provato a buttar giù un programmino


10 REM TEST CENTRALINA PANNELLO TERMICO SOLARE
11 REM LA PORTA 1 PILOTA LA POMPA DI CIRCOLAZIONE VALORE 1
12 REM LA PORTA 2 PILOTA IL LED VERDE - POMPA OFF VALORE 2
13 REM LA PORTA 3 PILOTA IL LED ROSSO - POMPA ON VALORE 4
14 REM IL VALORE 2 (0+2+0+0+0) SETTA ON LA PORTA 2
15 REM IL VALORE 5 (1+0+4+0+0) SETTA ON LE PORTE 1 E 3
16 REM SENSORE A SU SERBATOIO , SENSORE B SU PANNELLO
17 REM LA POMPA SI ATTIVA PER DIFFERENZE DI 8 GRADI
18 REM LA POMPA SI DISATTIVA PER DIFFERENZE INFERIORI A 4 GRADI
19 REM --------------------------------------------------------
20 C=2
30 OUT=C
40 A=CADS1
50 B=CADS2
60 D= B-A
70 IF D >=4 THEN 90
80 IF C=2 THEN 40 ELSE 20
90 IF D >=8 THEN 100 ELSE 40
100 IF C=5 THEN 40
110 C=5
120 GOTO 30

Salvo errori di programma occupa il 23% di memoria.
L'occupazione di memoria cresce rapidamente ad ogni linea di progrmma, dipende dall'uso del compilatore basic ?

Saluti faccine/sick.gif



---------------



 

eneo

Avatar
GigaWatt


Utente
Msg:2068

Stato:



Inviato il: 30/7/2010,08:48

Per prima cosa faccio i miei complimenti a bolle per tutto sei un grande….
ho pensato ad alcune funzioni che dovrebbe svolgere questo pic, naturalmente pensando ad un impianto ibrido eolico-fotovoltaico o idrico, come esempio di partenza…..
1 –tre letture della tensione, tensione batteria per scambio enel-fotovoltaico, tensione lato pannelli per crepuscolare, tensione lato ingresso 220v
2 – lettura corrente ingresso batterie, lettura corrente ingresso 220v
3 – scambio enel-fotovoltaico con tempi di ritardo impostabili
4 – funzione di black-out in caso di mancanza di energia del gestore si attiva l’impianto anche quando la tensione batteria e’ minore di quello impostato per lo scambio enel-fotovoltaico
5 – crepuscolare, quando la tensione lato pannello scende al di sotto di una soglia impostata, si accendono le luci del giardino o altro, questa funzione deve avere un timer settabile o un orologio.
6 – inserzione resistenza per impianto eolico o idrico per non far sovraccaricare troppo le batterie.
7 – sistema di frenatura del generatore eolico in caso di forte vento con la messa in corto od altro sistema meccanico .
8 – impianto di irrigazione, con orologio programmatore e collegato con i vari sensori, (questa ci pensa Maxlinux)
9 – sistema di blocco del programma, mette tutto in stand-by e allaccia casa alla rete enel, questo permettere di effettuare una manutenzione in totale sicurezza.
10 – funzione diurna e notturna, se attivata di notte si attivano solo i carichi a basso assorbimento questo per preservare le batterie nel caso avessimo poca corrente o .
11 – contatore di kwh per una lettura della potenza instantenea, media giornaliera, mensile e annuale.
12 – si potrebbe inserire anche la funzione di allarme per alcune funzioni, tipo tensione troppo alta lato batteria, mancanza della 220v ingresso casa, ecc…
13 – allarme per casa o per eventuali sicurezze, collegate medianti sensori si possono attivare delle sirene o altro per allontanare uccelli o cinghiali che arrivano nel proprio campo….
14 – gestione dell’impianto termico solare (vedi libero)
Per ora mi fermo qui…




Modificato da eneo - 30/7/2010, 10:36
 

NonSoloBolleDiA...

Avatar
PetaWatt


AMMINISTRATORE
Msg:13786

Stato:



Inviato il: 30/7/2010,08:58

Vedo che hai utilizzato al meglio le istruzioni ...ottimo il programma della centralina per pannello solare termico...farà parte degli esempi.
Riassumo per tutti cosa hai fatto:nel programma hai utilizzato i due convertitori analogico digitali (CADS1,CADS2) e quindi nel circuito elettrico hai collegato due sensori di temperatura (ad esempio due lm35 in questo caso vanno solo riallineati i valori della temperatura) ed hai realizzato una centralina per pannello solare.
Bellissimo!!!

Si l'occupazione della memoria cresce con il codice , il tokenizzatore riduce drasticamente l'occupazione ma il pic ha solo 256 byte...se si riesce a stare in questi 256 Byte,non è necessaria la eeprom esterna.
Quindi se il programma in questione occupa 23%, vuol dire che la centralina è realizzata con il solo processore e due sensori. Se invece va oltre il 100% allora si dovrà passare ad una configurazione con eeprom esterna.
Quanto prima farò il cirtuito elettrico del pic.
Bene.
Bolle


CITAZIONE (eneo @ 30/7/2010, 09:48)
Per ora mi fermo qui…

Negli esempi che hai fatto mi hai fatto venire in mente un'altra cosetta da implementare... faccine/biggrin.gif

Grazie per gli immeritati complimenti!
Ciao



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripet...

 

Libero51

Avatar
GigaWatt


Utente
Msg:1248

Stato:



Inviato il: 30/7/2010,11:39

Questo potrebbe essere la bozza per un programmino di inseguitore solare a due assi con quattro fotodiodi .

10 REM TEST CENTRALINA INSEGUITORE SOLARE A DUE ASSi
11 REM LA PORTA 1 PILOTA IL MOTORE X VALORE 1
12 REM LA PORTA 2 PILOTA IL RELE DI INVERSIONE X VALORE 2
13 REM LA PORTA 3 PILOTA IL MOTORE Y VALORE 4
14 REM LA PORTA 4 PILOTA IL RELE DI INVERSIONE Y VALORE 8
15 REM CADS1: FOTODIODO DESTRO , CADS2: FOTODIODO SINISTRO
16 REM CADS3: FOTODIODO ALTO , CADS4: FOTODIODO BASSO
17 REM --------------------------------------------------------


20 C=0
30 OUT=C
35 WAITS 30
36 REM --------------------ELABORA ORIZZONTALE
40 A=CADS1
50 B=CADS2
60 IF A >=B THEN 110
70 IF B-A <=2 THEN 140
80 C=1
90 REM ----------------------------IL BIT 1 (VALE 1) ATTIVA MOTORE X
100 GOTO 140
110 IF A-B <=2 THEN 140
120 C=C+2
130 REM ----------------------------IL BIT 2 (VALE 2) ATTIVA INVERSORE X
134 REM
135 REM --------------------ELABORA VERTICALE
140 A=CADS3
150 B=CADS4
160 IF A >=B THEN 210
170 IF B-A <=2 THEN 30
180 C=C+4
190 REM ----------------------------IL BIT 3 (VALE 4) ATTIVA MOTORE Y
200 GOTO 30
210 IF A-B <=2 THEN 30
220 C=C+8
230 REM ----------------------------IL BIT 4 (VALE 8) ATTIVA INVERSORE Y
240 GOTO 30

41% di occupazione di memoria.
Sarebbe utile avere la possibilità di inserire REM sulla linea di programma e rendere più leggibile il codice ai meno esperti.
Chissà se funziona . . . . probabilmente hai un'idea per un debugger.
In effetti le operazioni di debug sono sempre più onerose di quelle di stesura.
Saluti faccine/sick.gif
P.S. Mi pare che i numeri negativi non gli piacciano , ho aggirato l'ostacolo.




---------------



 

NonSoloBolleDiA...

Avatar
PetaWatt


AMMINISTRATORE
Msg:13786

Stato:



Inviato il: 30/7/2010,13:09

Ottimo suggerimento il rem...si potrebbe prevedere il commento a fine linea mediantre il carattere ' ( Apice singolo in alto )
Per i numeri negativi o posiviti ( operatori unari) per il momento non li ho implementati...sto cercando di tenermi stretto con il parser...non vorrei prevedere troppi comandi o funzionalità per poi non essere in grado di mettere l'interprete nel pic ...che sto sviluppando in questi giorni...quindi per ora tutti i comandi dovrebbero essere sufficineti ....se non lo sono...fai/fate uno strillo!!!

PS:Nel pic ho implementato solo due convertitori...vediamo di aumentarli...anche se i lpic può gestirli mediante dei componenti esterni selezionandoli di volts in volta.



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripet...

 

Libero51

Avatar
GigaWatt


Utente
Msg:1248

Stato:



Inviato il: 30/7/2010,14:09

CITAZIONE (NonSoloBolleDiAcqua @ 30/7/2010, 14:09)
...non vorrei prevedere troppi comandi o funzionalità per poi non essere in grado di mettere l'interprete nel pic ...che sto sviluppando in questi giorni...quindi per ora tutti i comandi dovrebbero essere sufficineti ....se non lo sono...fai/fate uno strillo!!!

Per il momento non mi lamento di certo , 256 byte costringono allla sintesi ,un buon esercizio.
Il risparmio di risorse è il primo comandamento dell 'ecocompatibile.
Con la eprom aggiuntiva l'inseguitore solare elaborerà le formule astronomiche della NASA.

Saluti faccine/sick.gif

PS: immaginavo la limitazione dei due convertitori, avevo incominciato con l'inseguitore ad un asse ma il compilatore non ha protestato .



---------------



 

NonSoloBolleDiA...

Avatar
PetaWatt


AMMINISTRATORE
Msg:13786

Stato:



Inviato il: 30/7/2010,14:25

CITAZIONE (Libero51 @ 30/7/2010, 15:09)
Con la eprom aggiuntiva l'inseguitore solare elaborerà le formule astronomiche della NASA.

Saluti faccine/sick.gif

PS: immaginavo la limitazione dei due convertitori, avevo incominciato con l'inseguitore ad un asse ma il compilatore non ha protestato .

Libero, stai dando una grande spinta al progetto.
Verissimo il compilatore non protesta...ma perchè ora non ho preso bene le misure del processore...forse diventeranno 4 i convertitori, ma dovranno essere riconfigurabili con le uscite ( nuovo comando faccine/ph34r.gif ) ! Il limite che hai ora è che non riesci a 'debuggare' i quattro convertitori, ma solamente due.
Cmq solo con il debugger ho capito il tuo l'algoritmo....hahhah mi sento sbeffeggiato ( ovviamente scherssssso).
Suggerimenti per il debugger? Cosa ne pensi?E gli altri cosa ne pensano?
Oggi partorisco la 0.4 ...sto mettendo in piedi il tutto...e già ho un termomento ed un voltmetro di alta precisione su pc.
Mi metto a lavoro.
Ciao
Bolle



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripet...

 

Ferrobattuto

Avatar
GigaWatt


Utente
Msg:4117

Stato:



Inviato il: 30/7/2010,19:59

Mamma mia quanto siete bravi!!!! faccine/ohmy.gif Per me è "Sanscrito Primordiale"..... faccine/laugh.gif Tant'è che ho perso di vista cosa deve saper fare questo congegno. faccine/wacko.gif Di certo non sono uno di quelli al puno 4 del primo post all'inizio della discussione (4.Deve essere programmato un gran numero di volte in un linguaggio accessibile a tutti ...o cmq alla gran parte delle persone.), perciò rimango a guardare e vi faccio le mie più sincere congratulazioni. faccine/smile.gif

 

kekko.alchemi

Avatar
GigaWatt


Utente
Msg:5226

Stato:



Inviato il: 30/7/2010,20:17

Grande bolle come sempreeeeee!! Stai facendo un ottimo lavoro, bella l'idea di programmare in basic, davvero semplice così! Sulla scelta del processore io avrei optato per un ATmega32, dove hai 32 Kb di spazio per programmare, davvero un enormità, 3 interrupt, 8 ADC, 3 timer di cui uno a 16 Bit e una marea di altre cose. Il tutto al solo prezzo di 10 eur, fra l'altro l'ATmega32 lavora a 16 MHz effettivi mentre invece i PIC lavorano a 1/4 della loro frequenza di clock, quindi se metti un 20 MHz lavorerà a 5 MHz.

Stai facendo davvero un ottimo lavoro, penso che tutto questo sia davvero una cosa unica perchè dai così la possibilità a tutti di entrare in questo magico mondo dei processori. Devo dare un avviso per tutti però: Se entrate a far parte di questo "mondo" non potrete più tornare indietro!! :-) :-)

Una cosa, perchè non programmiamo parallelamente anche in C? Così potremo vedere anche le differenze e il guadagno di righe di codice.

Complimenti ancora, un saluto kekko!



---------------
L'universo è dominato dagli estremi, l'infinitamente grande e l'infinitamente piccolo.
 

Ferrobattuto

Avatar
GigaWatt


Utente
Msg:4117

Stato:



Inviato il: 30/7/2010,20:57

CITAZIONE (kekko.alchemi @ 30/7/2010, 21:17)
....Devo dare un avviso per tutti però: Se entrate a far parte di questo "mondo" non potrete più tornare indietro!! :-) :-)

Guarda che di "malattie infettive" in questo forum ce ne sono già parecchie! faccine/biggrin.gif Forse non te ne sei accorto, ma sei stato "contagiato" pure tu! faccine/biggrin.gif

 

Libero51

Avatar
GigaWatt


Utente
Msg:1248

Stato:



Inviato il: 30/7/2010,21:08

CITAZIONE (Ferrobattuto @ 30/7/2010, 20:59)
. . . Deve essere programmato un gran numero di volte in un linguaggio accessibile a tutti ...o cmq alla gran parte delle persone.), perciò rimango a guardare . . .

Ciao Ferro , l'idea di partire con il basic semplifica i primi passi . . .
Le cose che non conosciamo ci sembrano sempre irraggiungibili , ma la passione, l'impegno e un pò di pazienza ben indirizzate sono più che sufficienti.
Per quanto ti conosco ne hai da vendere e non ti lascerò certo crogiolare nel ruolo di spettatore . . . . eheheh faccine/sick.gif
Il debugger è un programmino che consente di vedere cosa succede al processore quando esegue le istruzioni una alla volta. Il basic non è il vero linguaggio del processore e Bolle sta facendo un lavorone per rendere le istruzioni più . . . comprensibili (La fortuna di Bill è nata così) . Sta implementando un suo originale traduttore che traduce le istruzioni "umane" (anche se a te appaiono ancora disumane) nelle istruzioni della macchina (linguaggio macchina). Vedrai che poco alla volta ti accorgerai che quel processore è solo uno stupido pallottoliere . . . . molto veloce. Bisogna scrivergli tutto nel suo taccuino , proprio tutto e nei minimi particolari e anche quando sembra fare cose impossibili , in fondo in fondo , è solo un esecutore veloce della fantasia umana.
Saluti faccine/sick.gif



---------------



 

Libero51

Avatar
GigaWatt


Utente
Msg:1248

Stato:



Inviato il: 30/7/2010,21:48

CITAZIONE (NonSoloBolleDiAcqua @ 30/7/2010, 15:25)
. . . Suggerimenti per il debugger?

Il momento è critico per te . Sei il capo progetto e devi decidere come e quando è sensato coinvolgere i collaboratori . Potrei aiutarti in qualche modo ma penso sarebbe indispensabile operare sulla stessa piattaforma e linguaggio. Purtroppo i collaboratori all'inizio sono una grande perdita di tempo ,ma se tutto fila liscio il tempo si recupera velocemente.
Penso di aver capito che hai già un debugger ,probabilmente a livello macchina .
Un debugger EABasic potrebbe essere utile per i principianti .
Ferro si tranquillizzerebbe vedendo che se prima C= 5 dopo l'istruzione C=C+1 . . . C=6.
Penso che aiuterebbe moltissimo vedere le variabili che mutano ad ogni istruzione che le coinvolge , le porte di IN-OUT ed il "programma" che salta di quà e di là a seconda delle condizioni.
Potrei al limite preparare un programmino VB se mi fornisci le architetture in evoluzione.
Il file Leggimi.txt è già un'architettura valida ed in questo modo sarei operativo da subito.
Saluti faccine/sick.gif



---------------



 

NonSoloBolleDiA...

Avatar
PetaWatt


AMMINISTRATORE
Msg:13786

Stato:



Inviato il: 30/7/2010,21:53

Libero,non ho capito...il debugger è già presente nel compilatore...premi il pulsante debug nella barra dei menù....li si testa il codice....oppure ho capito male?Allego l'immagine del tuo programma sotto debugger.CiaoBolle


ForumEA/A/debug.jpg





Modificato da NonSoloBolleDiAcqua - 18/06/2014, 15:12:14


---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripet...

 

NonSoloBolleDiA...

Avatar
PetaWatt


AMMINISTRATORE
Msg:13786

Stato:



Inviato il: 30/7/2010,22:17

CITAZIONE (kekko.alchemi @ 30/7/2010, 21:17)
Grande bolle come sempreeeeee!! Stai facendo un ottimo lavoro, bella l'idea di programmare in basic, davvero semplice così! Sulla scelta del processore io avrei optato per un ATmega32, dove hai 32 Kb di spazio per programmare, davvero un enormità, 3 interrupt, 8 ADC, 3 timer di cui uno a 16 Bit e una marea di altre cose. Il tutto al solo prezzo di 10 eur, fra l'altro l'ATmega32 lavora a 16 MHz effettivi mentre invece i PIC lavorano a 1/4 della loro frequenza di clock, quindi se metti un 20 MHz lavorerà a 5 MHz.

Stai facendo davvero un ottimo lavoro, penso che tutto questo sia davvero una cosa unica perchè dai così la possibilità a tutti di entrare in questo magico mondo dei processori. Devo dare un avviso per tutti però: Se entrate a far parte di questo "mondo" non potrete più tornare indietro!! :-) :-)

Una cosa, perchè non programmiamo parallelamente anche in C? Così potremo vedere anche le differenze e il guadagno di righe di codice.

Complimenti ancora, un saluto kekko!

Ciao Fra...come va?Fa caldo?
Vediamo...la scelta del pic è legata alla mia esperienza...ci lavoro da decadi...ricominciare con gli atmel non mi entusiasma....non sono più giovane...tocca a quelli come te tirare la carretta!!! faccine/biggrin.gif
Vediamo, anche questo pic ha 32 k di memoria ed ha 12 convertitori AD...perchè ne ho messi solo 2? per evitare di far confiurare le porte...insomma per semplificare le cose si deve rinunciare a qualcosa...ma molto probabilemente li porterò a 4....ma vediamo come evolvono i test....Libero si è messo d'impegno...vediamo cosa esce fuori.
Un forte limite sono i 256 Byte di programma che si possono caricare(EEPROM)...veramente esegui...inizialmente non ci avevo nemmeno pensato...ma poi ho pensato al tokenizzatore ...e li mi sono convinto che ce la si poteva fare.
Insomma prevederemo due versioni : la prima smart (cioè solo il pic) per versioni che entrano nei 256 byte...l'altra avrà una eeprom esterna al pic e a quel punto non ci saranno limiti ( una eeprom da 64k costa 5 euro)...ma c'è un chip in più... faccine/mad.gif .
Comunque il compilatore , come ha notato Libero, dice la quantità di memoria occupata...se siamo al disotto del 100%...allora siamo a cavallo: occorre rispettare il primo comandamento degli ecosostenibili ( @libero51).


Per quanto riguarda il linguaggio c...è vero che il programma sarebbe più corto...ma gli utilizzatori si dimezzerebbero...ma pensandoci bene ... la seconda versione si può fare in c...magari fa risparmiare quel 30% di memoria .
Ciao


CITAZIONE (Ferrobattuto @ 30/7/2010, 20:59)
... perciò rimango a guardare e vi faccio le mie più sincere congratulazioni. faccine/smile.gif

Si, si ....tu non sai mai nulla...ma poi piovono pannelli sui tetti...vabbè!!!
Ciao secco
Bolle



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripet...

 
 InizioPagina
 

Pag: (114)   1   [2]   3   4   5   6  ...>    (Ultimo Msg)

Versione Completa!

Home page     TOP100-SOLAR    Home page forum