Non conosco quel libro, comunque prima di arrivare a Java
devi definire il problema che vuoi risolvere e stabilire una
configurazione dello SCU.
Impianto di cronometraggio
Moderatori:
carloc,
g.schgor,
BrunoValente,
IsidoroKZ
0
voti
Come più volte premesso e come ormai certamente avrà capito, le mie competenze di elettronica sono praticamente pari allo zero, quindi l'idea di andare ad utilizzare un PIC mi terrorizza e mi affascina allo stesso tempo.
Il progetto dell'impianto di cronometraggio potrei anche definirlo terminato con quanto fino adesso sono riuscito a fare, ma poiché sono per natura un perfezionista, non riesco a fermarmi a questo obbiettivo e mi piacerebbe quindi riuscire a creare un impianto di cronometraggio più evoluto, espandibile e magari anche più "compatto". il suo articolo sullo SCU mi ha aperto un nuovo mondo!
Il PIC che avrei pensato di scegliere per questo progetto è il pic16f877, quello del suo articolo, anche perché mi pare il più documentato.
Per quanto riguarda le funzioni da fargli svolgere non ho ancora le idee ben chiare, ovvero non ho ben chiaro quali e quante funzioni posso affidare a questo PIC.
L'idea salvo fattibilità, potrebbe essere questa
- mantenere intatto, per il momento, la parte di comunicazione radio tra fotocellule e ricevente. (vorrei arrivare in futuro ad avere un sistema di trasmissione più "sicuro", magari bidirezionale, che mi permetta ad esempio di sapere se una fotocellula non funziona o se le batterie del gruppo fotocellule vanno ricaricate)
- affidare al PIC la parte di gestione dei tempi, cioè quello che attualmente viene svolto dai 555 e dal IC di logica (ho visto che ci sono 3 timer di cui 1 serve per sincronizzare tramite apposito quarzo la frequenza con la seriale)
- interfacciamento con PC via seriale e/o USB e/o I2C (?). questo mi potrebbe per esempio servire per far comandare un software di cronometraggio tipo Stopwatch.
L'ideale sarebbe quello di poter integrare un cronometro elettronico e far comunicare al PC il tempo rilevato. questo anche perché, a quanto ho letto, la frequenza ed i cicli di clock dei computer, su cui si basano i software di cronometraggio, non sono affatto precisi.
chiedo scusa per la lunghezza della risposta
Il progetto dell'impianto di cronometraggio potrei anche definirlo terminato con quanto fino adesso sono riuscito a fare, ma poiché sono per natura un perfezionista, non riesco a fermarmi a questo obbiettivo e mi piacerebbe quindi riuscire a creare un impianto di cronometraggio più evoluto, espandibile e magari anche più "compatto". il suo articolo sullo SCU mi ha aperto un nuovo mondo!
Il PIC che avrei pensato di scegliere per questo progetto è il pic16f877, quello del suo articolo, anche perché mi pare il più documentato.
Per quanto riguarda le funzioni da fargli svolgere non ho ancora le idee ben chiare, ovvero non ho ben chiaro quali e quante funzioni posso affidare a questo PIC.
L'idea salvo fattibilità, potrebbe essere questa
- mantenere intatto, per il momento, la parte di comunicazione radio tra fotocellule e ricevente. (vorrei arrivare in futuro ad avere un sistema di trasmissione più "sicuro", magari bidirezionale, che mi permetta ad esempio di sapere se una fotocellula non funziona o se le batterie del gruppo fotocellule vanno ricaricate)
- affidare al PIC la parte di gestione dei tempi, cioè quello che attualmente viene svolto dai 555 e dal IC di logica (ho visto che ci sono 3 timer di cui 1 serve per sincronizzare tramite apposito quarzo la frequenza con la seriale)
- interfacciamento con PC via seriale e/o USB e/o I2C (?). questo mi potrebbe per esempio servire per far comandare un software di cronometraggio tipo Stopwatch.
L'ideale sarebbe quello di poter integrare un cronometro elettronico e far comunicare al PC il tempo rilevato. questo anche perché, a quanto ho letto, la frequenza ed i cicli di clock dei computer, su cui si basano i software di cronometraggio, non sono affatto precisi.
chiedo scusa per la lunghezza della risposta
0
voti
Devo chiarire una cosa: il PIC utilizzato nello SCU è,
per così dire, trasparente. E' cioè già programmato per
scambiare dati fra Ingressi/uscite (interruttori e LED)
ed il PC (via porta USB).
Il "programma esecutivo", cioè la particolare elaborazione
per la specifica applicazione è svolta (in Java) nel PC.
Come giustamente rilevi, questo rende impreciso
un cronometraggio svolto via software.
Per eliminare i cronometri occorre un PIC dedicato,
programmato appositamente per svolgere appunto
le funzioni di cronometraggio e che si interfacci al PC
(ma questo è alquanto complicato).
per così dire, trasparente. E' cioè già programmato per
scambiare dati fra Ingressi/uscite (interruttori e LED)
ed il PC (via porta USB).
Il "programma esecutivo", cioè la particolare elaborazione
per la specifica applicazione è svolta (in Java) nel PC.
Come giustamente rilevi, questo rende impreciso
un cronometraggio svolto via software.
Per eliminare i cronometri occorre un PIC dedicato,
programmato appositamente per svolgere appunto
le funzioni di cronometraggio e che si interfacci al PC
(ma questo è alquanto complicato).
0
voti
Diciamo che nella mia ignoranza mi sono lasciato prendere dall'entusiasmo! eheh
...quindi, se si volesse realizzare quanto descritto sopra dovrei:
- mantenere le schede realizzate con i 555 per la gestione delle fotocellule
- costruire un cronometro elettronico (ho trovato un progetto che utilizza i contatori 74LS90)
- realizzare un'interfaccia scheda-pc che consenta di trasferire il valore Tempo rilevato al PC per altre elaborazioni.
se non ho capito male per quest'ultimo punto non potrei utilizzare lo SCU in quanto questo funge da interfaccia solo tra la parte analogica (interruttori, LED o nel mio caso le fotocellule) e la parte digitale ovvero il PC.
a questo punto penso di avere le seguenti opzioni:
1) utilizzo lo SCU + cronometraggio su PC se l'errore prodotto è accettabile (quantificare?)
2) cerco un cronometro che abbia già la funzione di trasferimento dati ed utilizzo questo al posto del normale cronometro utilizzato sino adesso (=pappa pronta)
3) cerco di realizzare sia il cronometro che il sistema di trasferimento dei dati partendo da zero. (=studiare studiare studiare studiare studiare... studiare)
la terza è ovviamente quella che più mi alletta
in ogni caso penso che realizzerò lo SCU come esercitazione e possibili applicazioni future.
...quindi, se si volesse realizzare quanto descritto sopra dovrei:
- mantenere le schede realizzate con i 555 per la gestione delle fotocellule
- costruire un cronometro elettronico (ho trovato un progetto che utilizza i contatori 74LS90)
- realizzare un'interfaccia scheda-pc che consenta di trasferire il valore Tempo rilevato al PC per altre elaborazioni.
se non ho capito male per quest'ultimo punto non potrei utilizzare lo SCU in quanto questo funge da interfaccia solo tra la parte analogica (interruttori, LED o nel mio caso le fotocellule) e la parte digitale ovvero il PC.
a questo punto penso di avere le seguenti opzioni:
1) utilizzo lo SCU + cronometraggio su PC se l'errore prodotto è accettabile (quantificare?)
2) cerco un cronometro che abbia già la funzione di trasferimento dati ed utilizzo questo al posto del normale cronometro utilizzato sino adesso (=pappa pronta)
3) cerco di realizzare sia il cronometro che il sistema di trasferimento dei dati partendo da zero. (=studiare studiare studiare studiare studiare... studiare)
la terza è ovviamente quella che più mi alletta
in ogni caso penso che realizzerò lo SCU come esercitazione e possibili applicazioni future.
0
voti
fabriziob ha scritto:non potrei utilizzare lo SCU in quanto questo funge da interfaccia solo tra la parte analogica (interruttori, LED o nel mio caso le fotocellule) e la parte digitale ovvero il PC.
Solo una precisazione: interruttori e LED fanno parte dell'elettronica digitale (per analogica si intendono segnali di tipo continuo). Meglio dire tra i dispositivi periferici ed il PC.
fabriziob ha scritto:(quantificare?)
Lo standard dello SCU è il decimo di secondo. )Per gestire temporizzazioni al millisecondo
occorre chiedere a
0
voti
Ho cercato di documentarmi maggiormente sulla possibilità di realizzare un cronometro digitale, ma ritengo che la cosa sia attualmente troppo complessa per le mie conoscenze.
Quello che vorrei capire è l'errore che mi può dare un cronometraggio fatto con un software.
Mi spiego meglio: i tempi che avrò necessità di rilevare rientrano in un massimo di 1 minuto (solitamente meno) con una precisione al decimo di secondo; tuttavia mi servono anche i centesimi per poter discriminare possibili exequo.
Quanto può essere "imprecisa" (anche spannometricamente) tale misurazione eseguita tramite PC considerando anche che il tempo di riflesso medio di un uomo (esempio un cronometrista) è 1.5-3 decimi di secondo (non costante)? se la misurazione del SW è <= a questi valori, potrei comunque ritenerla accettabile..
Non ho capito cosa si intende che lo standard dello SCU è il decimo di secondo.. vuol dire che la sua precisione è il decimo di secondo, ma che può ad esempio inviare al PC anche segnali riferiti al centesimo (senza precisione), oppure che non può scendere sotto tale soglia?
Ancora una volta mi scuso per la mia ignoranza in materia
Quello che vorrei capire è l'errore che mi può dare un cronometraggio fatto con un software.
Mi spiego meglio: i tempi che avrò necessità di rilevare rientrano in un massimo di 1 minuto (solitamente meno) con una precisione al decimo di secondo; tuttavia mi servono anche i centesimi per poter discriminare possibili exequo.
Quanto può essere "imprecisa" (anche spannometricamente) tale misurazione eseguita tramite PC considerando anche che il tempo di riflesso medio di un uomo (esempio un cronometrista) è 1.5-3 decimi di secondo (non costante)? se la misurazione del SW è <= a questi valori, potrei comunque ritenerla accettabile..
Non ho capito cosa si intende che lo standard dello SCU è il decimo di secondo.. vuol dire che la sua precisione è il decimo di secondo, ma che può ad esempio inviare al PC anche segnali riferiti al centesimo (senza precisione), oppure che non può scendere sotto tale soglia?
Ancora una volta mi scuso per la mia ignoranza in materia
0
voti
L'intrinseca imprecisione di un cronometraggio via software
è data dal fatto che i particolari ingressi siano analizzati
in scansione dal programma. Quindi l'esecuzione più o meno lunga
del ciclo di programma determina il tempo massimo che intercorre
tra una scansione e l'altra.
Per evitare questo bisognerebbe poter gestire in modo "immediato"
(mediante interrupts) il cambiamento di stato degli ingressi, ma
ciò non è comunemente previsto quando si usano linguaggi ad alto
livello come Java.
è data dal fatto che i particolari ingressi siano analizzati
in scansione dal programma. Quindi l'esecuzione più o meno lunga
del ciclo di programma determina il tempo massimo che intercorre
tra una scansione e l'altra.
Per evitare questo bisognerebbe poter gestire in modo "immediato"
(mediante interrupts) il cambiamento di stato degli ingressi, ma
ciò non è comunemente previsto quando si usano linguaggi ad alto
livello come Java.
0
voti
Mi sembra che la cosa resti sempre sul troppo complicato per me! Magari tra qualche annetto, quando avro studiato un po di elettronica. Non dimentichiamoci che questo è il mio secondo progetto e mi sembra di aver già fatto parecchi passi avanti!!!
Potrei però tentare una cosa:
utilizzando la scheda che abbiamo realizzato, potrei dotarla di 2 uscite rele identiche: una mi comanda il pulsante di un cronometro manuale, l'altra mi simula il click del tasto sinistro del mouse (ne smonto uno dei tanti che ho e metto il contatto del tasto in parallelo sul c-na del rele) che mi faccia partire un cronometro sw sul PC. facendo una simulazione di start-stop dovrei (forse) rendermi conto della differenza o del ritardo sulle rilevazioni.
Se questo fosse nell'ordine del centesimo di secondo, potrei benissimo ritenerlo accettabile così come sono.
Altrimenti.. potrei fare una serie di prove (diciamo un centinaio) e determinare un ritardo medio. a questo punto basterebbe modificare il sw e far aggiungere o togliere il ritardo medio calcolato per rientrare così in una rilevazione del tempo con una approssimazione per me accettabile.
Certamente non è il sistema più affidabile, ma forse potrebbe andare bene.
In fondo non devo mica prendere i tempi per le Olimpiadi!
ciò su cui devo ancora riflettere è se anche i diversi carichi della CPU e della memoria nelle varie fasi di cronometraggio possono influire sul risultato...
Potrei però tentare una cosa:
utilizzando la scheda che abbiamo realizzato, potrei dotarla di 2 uscite rele identiche: una mi comanda il pulsante di un cronometro manuale, l'altra mi simula il click del tasto sinistro del mouse (ne smonto uno dei tanti che ho e metto il contatto del tasto in parallelo sul c-na del rele) che mi faccia partire un cronometro sw sul PC. facendo una simulazione di start-stop dovrei (forse) rendermi conto della differenza o del ritardo sulle rilevazioni.
Se questo fosse nell'ordine del centesimo di secondo, potrei benissimo ritenerlo accettabile così come sono.
Altrimenti.. potrei fare una serie di prove (diciamo un centinaio) e determinare un ritardo medio. a questo punto basterebbe modificare il sw e far aggiungere o togliere il ritardo medio calcolato per rientrare così in una rilevazione del tempo con una approssimazione per me accettabile.
Certamente non è il sistema più affidabile, ma forse potrebbe andare bene.
In fondo non devo mica prendere i tempi per le Olimpiadi!
ciò su cui devo ancora riflettere è se anche i diversi carichi della CPU e della memoria nelle varie fasi di cronometraggio possono influire sul risultato...
0
voti
Usare il mouse come ingresso dei segnali Start/Stop,
forse in Java si può fare, ma non so dirti come.
Visti i costi dello SCU credo non valga la pena di
inventare scorciatoie (in apparenza).
forse in Java si può fare, ma non so dirti come.
Visti i costi dello SCU credo non valga la pena di
inventare scorciatoie (in apparenza).
0
voti
Non è una questione di costi, ho pensato a questa possibilità solo per chiarirmi le idee sulla differenza di rilevazione dei tempi che ci sono essere tra una soluzione diretta, cioè con l'utilizzo di un cronometro manuale, ed una informatica, utilizzando quello che ho a disposizione.
Ovviamente è una prova rudimentale ma se le misurazioni fossero accettabili, procederei direttamente cercando di realizzare la scheda con lo SCU e relativo sw.
Ovviamente è una prova rudimentale ma se le misurazioni fossero accettabili, procederei direttamente cercando di realizzare la scheda con lo SCU e relativo sw.
Chi c’è in linea
Visitano il forum: Nessuno e 57 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)


