Creare la piu semplice interfaccia con pc

Ciao a tutti, in passato mi avete sempre risolto i problemi quindi mi appello a voi per l'ennesima volta! devo risolvere in maniera semplice e veloce una questione: ho bisogno che il computer mi rilevi (e quindi salvi in qualche modo) i tempi di funzionamento e di non fonzionamento di un elettrodomestico (una caldaia). Quindi ho bisogno di una spece di file log con i tempi resgistrati ma mi accontento di qualsiasi sistema anche il piu stupido e vergognoso purch=E8 funzionante. Bene accetta qualunque idea ...vince la piu semplice ed efficacie! Per qualunque informazione aggiuntiva chiedete pure. Ciao e grazie a tutti!

Reply to
Max
Loading thread data ...

Attacca un relay in parallelo alla pompa della caldaia in modo che rifletta lo stato di attivit=E0 (bobina a 220 Vac, quindi!). Con i contatti puliti vai sulla porta seriale del PC, sui pin 2 e 3 (TX, RX). Quando il relay scatta, i pin cortocircuitati permettono ai dati uscenti dalla seriale di rientrare in loopback.

Il software lo concepirei cos=EC: programmino che ogni tot secondi (diciamo 30) emette due/tre stringhe ASCII sulla seriale, in particolare l'ora in un formato riconoscibile, ad esempio, da EXCEL o similari. In concomitanza all'uscita, memorizza in un file i dati in ingresso filtrati. Praticamente il file conterr=E0 solo le stringhe rientrate relative al tempo di utilizzo. Perch=E9 2 o 3 stringhe? Potrebbe accadere che il relay scatti nel bel mezzo della trasmissione, per quanto corta sia e riceva solo un frammento della stessa, con tanto di errori di frame ecc. Il softwarino deve scartare le stringhe incomplete ed i doppioni. Per questo ne occorrono almeno 2.

Al posto dei contatti del relay si potrebbe azzardare l'utilizzo di una resistenza NTC sensibile al calore che, ad una certa temperatura, permetta il fluire sufficiente della corrente. Inutile far notare la criticit=E0 di questa soluzione.

Esempio dei dati ricevuti:

?2:30

14:22:30 14:22:30 14:23:00 14:23:00 14:23:00 ??0 14:23:30 14:23:30

ecc.

Filtrati devono diventare:

14:22:30 14:23:00 14:23:30

Importi in EXCEL con gli opportuni filtri e ci fai il diagramma che vuoi.

Ciao. Piccio.

Reply to
Piccio

Anche io farei come consigliato da Piccio, però in modo più semplice. Colleghi sempre un relè tra in parallelo alla pompa della caldaia. Il contatto del relè poi lo metti invece in modo che colleghi i pin RTS e CTS (pin numero 7 e 8 del connettore RS232 a 9 pin).

Dopodiché installi python:

formatting link

Installi anche il modulo per comunicare con la seriale e una sua dipendenza:

formatting link
formatting link

Copia ed incolla il testo seguente in un file chiamato cald.py, sostituendo il nome della seriale:

from serial import Serial from datetime import datetime

#Sostituisci il nome COM1 con la seriale a cui è collegato il relè s = Serial("COM1") s.serRTS(True)

logfile = open("caldaia.csv",mode="a+") is_on = False while (True): if s.getCTS() and not is_on: is_on = True log = str(datetime.today()) + ";ON\n" print log logfile.write(log) elif not s.getCTS() and is_on: is_on = False log = str(datetime.today()) + ";OFF\n" print log logfile.write(log)

Reply to
Francesco Sacchi

"Max" ha scritto nel messaggio news: snipped-for-privacy@q9g2000yqc.googlegroups.com...

Colleghi un contaore a tensione di rete sul comando della caldaia, poi con la matita fai ore totali- ore di funzionamento e hai tutti e due i dati:-)))) Qualcosa tipo questo, è il minimo sindacale per un contaore ad un prezzo di saldo!

formatting link

Poi se ti serve una presentazione del dato da convention aziendale allora non è l'oggetto giusto:-) ciao Rusty

Reply to
Rusty
[Francesco Sacchi]

Ah, =E8 cos=EC? :))))

Beccatevi questa:

- prepara una corta prolunga 220 Vac spina+presa con 3 cavi distinti, non inguainati (fase+neutro+terra)

- prendi un toro in ferrite ed avvolgi una 50ina di spire di cavo di rame sottile.

- infila il toro in uno dei cavi della prolunghina, esclusa la terra.

- porta gli estremi dell'avvolgimento alla presa MIC del PC

- con un software (tra gli innumerevoli) di campionamento audio, acquisisci con base dei tempi in grado di rilevare segnali a 50 Hz in modo intelleggibile.

Non hai il log con riferimenti temporali assoluti e non =E8 certo di consultazione comodissima, ma =E8 semplice, isolato, non devi smontare la caldaia e non necessita di programmazione.

Cio=E8, in pratica, =E8 una vera m..da! :(

Piccio.

Reply to
Piccio

Se hai una scheda madre che ha il "wake on ring" potresti comandare il pin 9 (Ring indicator) in modo da svegliare il pc ad ogni accensione e spegnimento della caldaia tramite rel=E8 come suggerito (dove collegherai i pin NA e NC del rel=E8 in modo da avere un impulso in accensione e uno in spegnimento). Poi imposti come boot nella scheda madre un floppy o pen drive o anche l'hdd dove installerai in vecchio MS-DOS farai eseguire nell'autoexec un file .bat che verr=E0 eseguito ad ogni avvio memorizzando data e ora per poi spegnere il pc; potrebbe essere una cosa simile:

echo ############ >>tempi.txt date/t >>tempi.txt time/t >>tempi.txt shutdown -s

I possibili problemi di questo sistema sono che se per un qualche motivo la caldaia sta accesa per t < del tempo di avvio del sistema non sarai + in grado di riconoscere se la caldaia si =E8 spenta (l'impulso anche se viene rilevato dalla scheda madre non genera alcun evento dato che il pc =E8 gi=E0 acceso).

NOTA: non ho mai usato il wake on ring, quindi sarebbe da testare con una prova; sarebbe inoltre da assicurarsi che esista il comando di shutdown (in freedos mi pare non ci sia).

Ciao, Enrico

Reply to
Hexfet13

Rispondo a tutti in maniera generale...... Siete eccezzionali! tutte ottime idee ma vi confesso che mi attira l'idea della porta seriale, Francesco, provo a seguire le tue indicazioni, purtroppo sono un perfetto ignorante in materia di porte seriali e software annessi quindi magari mi rifaccio vivo per chiarimenti. Intanto vi ringrazio tutti e mi metto al lavoro! ciao

Reply to
Max83

Ecco gia il primo dubbio: il rel=E8 deve cortocircuitare separatamente i pin 7 e 8 al pin 9, oppure si pu=F2 unire manualmente i pin 7-8 che poi il rel=E8 a sua volta cortocircuiter=E0 con un unico contatto al 9? scusa l'ignoranza!

Reply to
Max83

evvai sono un fiume in piena di dubbi... ho scaricato e installato il pacchetto software o fatto il file cald.py e lo volevo lanciare cos=EC a priori per vedere e.... come si f=E0?? dicevi apri una shell, intendi la shell di windows o la "comand line" del python nel menu' avvio ... si beh sia nel primo che nel secondo caso non mi riconoscono il comando: python cald.py anche perch=E8 non capisco come f=E0 a pescarselo dall'hard disk se non gli dico dove =E8! illuminami!

Reply to
Max83

Hexfet13:

[il solito quoting ad penem, il resto non c'arrivo]
Reply to
F. Bertolazzi

Quando dicevo 9 pin mi riferivo al connettore seriale con 9 pin in totale, il piedino non lo devi usare. Basta che colleghi il contatto del relè in modo che quando scatta metta in corto il pin 8 con il 7.

--
  _|/ Francesco Sacchi - Develer S.r.l., R&D dept.
   |\ http://www.develer.com/ - http://www.bertos.org
Reply to
Francesco Sacchi

Sì, scusami, sono stato poco chiaro. In effetti il modo più veloce, una volta installato il Python è semplicemente fare doppio click sul file cald.py. In questo modo verrà eseguito lo script nel punto in cui l'hai salvato, ricordati di modificarlo inserendo il nome della porta seriale che usi.

Fra l'altro mi sono accorto che il mio client di posta ha distrutto l'indentazione, e questo potrebbe causare errori di esecuzione, ho messo il file qui in modo da evitare errori:

formatting link

--
  _|/ Francesco Sacchi - Develer S.r.l., R&D dept.
   |\ http://www.develer.com/ - http://www.bertos.org
Reply to
Francesco Sacchi

Max83:

Non tu, il plurirecidivo Hexfet. :-) O siete la stessa persona?

Reply to
F. Bertolazzi

ah ecco ok! in effetti prima con il doppio click mi si apriva e istantaneamente spariva la shell con il nuovo codice invece resta aperta ...non mi resta che proseguire in caso mi faccio sentire. Ciao e grazie

Reply to
Max83

Per fare una prova al volo potresti collegare ai pin 7 e 8 due fili e metterli in contatto a mano. Con l'applicazione aperta dovresti vedere le righe di log stampate a schermo e salvate nel file.

Tra l'altro non te l'ho detto ma il file con il formato indicato (csv) è direttamente apribile da Excel.

--
  _|/ Francesco Sacchi - Develer S.r.l., R&D dept.
   |\ http://www.develer.com/ - http://www.bertos.org/
Reply to
Francesco Sacchi

=E8

Si ho visto e funziona tutto perfettamente, eccezzionale! Problema risolto! grazie Francesco e grazie anche tutti voi. Ciao

Reply to
Max83

mi auto quoto... allora so che quello che vi sto per dire sembra ridicolo per=F2 =E8 cos=EC, mi =E8 sorto un problemino: allora tutto funziona a meno che io non azioni qualche interrutore delle luci di casa (in particolare quelli che funzionano con un relais) o che non parta qualche elettrodomestico qualsiasi. ma sta cosa succede anche se i 2 filetti li lasci liberi e separati in aria... accendo la luce e il programmino parte a spararmi un paio, e anke +, di ON-OFF! ora vi domando ma che succede? pensavo a delle interferenze dovute a fili che passano vicino ai 2 in questione, ma come vi ho detto succede anke se li lascio liberi in aria? =E8 il mio PC =E8 la presa seriale...?

Reply to
Max83

Il giorno Wed, 4 Mar 2009 06:54:53 -0800 (PST), Max83 ha scritto:

Ogni filo è un antenna e capta quello che c'è in giro.

Dovrebbe bastare mettere un condensatore da 10nF o 100nF tra il filo in ingresso e la massa, che in un connettore a 9 poli sta sul 5.

-- ciao Stefano

Reply to
SB

ngresso

asd hai proprio ragione... se uso un filo schermato tutto va a posto il problkema =E8 che non ho fili schermati cos=EC lunghi credo che prover= =F2 a fare come dici... si aspetta ma l'ingresso qual'=E8 il 7 o 8? grazie ciao

Reply to
Max83

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.