Jetro
Posts: 11
Joined: Thu May 03, 2018 5:54 pm

Automatizzazione lavastoviglie con Raspberry Pi

Thu May 03, 2018 10:11 pm

Ciao ragazzi,

Sono nuovo sia sul forum che nel mondo Raspberry: ne ho qualcuno tra le mani (tra cui uno su cui ho il controller Unifi di casa) ma non ci ho mai fatto nulla di particolare.

Ho in casa una lavastoviglie che, fuori dalla garanzia (7 anni) ha bruciato l'ennesima scheda da 250€ che non dura mai più di 2 anni a causa di un difetto di progettazione. Siccome è ancora in ottimo stato e non c'è traccia né di calcare né di sporcizia mi piacerebbe farla funzionare tramite Raspberry, al posto della scheda originale, ovviamente con tutti i componenti aggiuntivi necessari.

Ho recuperato documentazione sufficiente per conoscere la programmazione dei lavaggi, che potrei quindi riscrivere. Ora come ora stavo pensando a come creare il circuito, quindi volevo descrivere le necessità e sentire i vostri pareri, visto che io conosco solo le basi!

Servirebbero 6 relè a 220V:
- Resistenza di riscaldamento (2000 W, eventualmente posso aggiungere un contattore)
- Pompa di lavaggio (50 W)
- Pompa di scarico (10 W)
- Elettrovalvola carico acqua (< 10W)
- Elettrovalvola rigenerazione (< 10W)
- Solenoide detergente (< 10 W)

Ed avrò anche la necessità di prelevare il segnale di 4 o più sensori:

- Sensore sale (ON/OFF, bassa tensione)
- Sensore brillantante (ON/OFF, bassa tensione) ma non sono sicuro che ci sia
- Tachimetro motore (non fondamentale)
- Sensore livello acqua (ON/OFF, 220V!)
- Sensore chiusura porta (ON/OFF, bassa tensione)
- Sensore anti-allagamento (ON/OFF, 220V!)

In tutto questo, pensavo di posizionare il Raspberry Pi nella porta della lavastoviglie, mentre la scheda relé nella parte inferiore in modo da accorciare i cavi della 220. A questo punto le domande fondamentali sono:

1) Devo usare un chip come il MCP23017 per aumentare le GPIO?
2) Come acquisisco il segnale dei sensori? (Visto che è >> ai 3.3V massimi?)
3) È difficile, considerando che conosco solo le basi del C ma ho tanta voglia di imparare, creare una interfaccia grafica da usare su uno schermo touch che potrei montare fuori dal pannello (4.3" o 5")?

Vi ringrazio se avete letto sino a qui

nicolap8
Posts: 153
Joined: Mon Mar 13, 2017 9:45 pm

Re: Automatizzazione lavastoviglie con Raspberry Pi

Sat May 05, 2018 10:54 pm

Jetro wrote:
Thu May 03, 2018 10:11 pm
Ciao ragazzi,

Sono nuovo sia sul forum che nel mondo Raspberry: ne ho qualcuno tra le mani (tra cui uno su cui ho il controller Unifi di casa) ma non ci ho mai fatto nulla di particolare.
Ma hai esperienza di elettronica?
Ho in casa una lavastoviglie che, fuori dalla garanzia (7 anni) ha bruciato l'ennesima scheda da 250€ che non dura mai più di 2 anni a causa di un difetto di progettazione. Siccome è ancora in ottimo stato e non c'è traccia né di calcare né di sporcizia mi piacerebbe farla funzionare tramite Raspberry, al posto della scheda originale, ovviamente con tutti i componenti aggiuntivi necessari.

Ho recuperato documentazione sufficiente per conoscere la programmazione dei lavaggi, che potrei quindi riscrivere. Ora come ora stavo pensando a come creare il circuito, quindi volevo descrivere le necessità e sentire i vostri pareri, visto che io conosco solo le basi!
Basi di cosa?
Servirebbero 6 relè a 220V:
- Resistenza di riscaldamento (2000 W, eventualmente posso aggiungere un contattore)
Quindi i rélè originali erano nella scheda bruciata?
Con quante T si scrive???
- Pompa di lavaggio (50 W)
- Pompa di scarico (10 W)
- Elettrovalvola carico acqua (< 10W)
- Elettrovalvola rigenerazione (< 10W)
- Solenoide detergente (< 10 W)
Più che i Watt sono importanti gli Ampère, per dimensionare correttamente i rélè.
Ed avrò anche la necessità di prelevare il segnale di 4 o più sensori:

- Sensore sale (ON/OFF, bassa tensione)
- Sensore brillantante (ON/OFF, bassa tensione) ma non sono sicuro che ci sia
- Tachimetro motore (non fondamentale)
- Sensore livello acqua (ON/OFF, 220V!)
- Sensore chiusura porta (ON/OFF, bassa tensione)
- Sensore anti-allagamento (ON/OFF, 220V!)
"bassa tensione" è troppo vago! Sarebbe(!) meglio conoscere la tensione esatta.
In tutto questo, pensavo di posizionare il Raspberry Pi nella porta della lavastoviglie, mentre la scheda relé nella parte inferiore in modo da accorciare i cavi della 220. A questo punto le domande fondamentali sono:

1) Devo usare un chip come il MCP23017 per aumentare le GPIO?
2) Come acquisisco il segnale dei sensori? (Visto che è >> ai 3.3V massimi?)
3) È difficile, considerando che conosco solo le basi del C ma ho tanta voglia di imparare, creare una interfaccia grafica da usare su uno schermo touch che potrei montare fuori dal pannello (4.3" o 5")?

Vi ringrazio se avete letto sino a qui
Accorciare i cavi del 220V ma allungare quelli di segnali digitali non è sempre una bella(!) cosa.
1) boh... conta! Battute a parte, si fa un elenco con tutti i segnali necessari ed uno con i pin disponibili, poi si verificano gli accoppiamenti possibili.
2) dipende, dal tipo dei sensori. Se sono del tipo "aperto/chiuso" ci dovrò essere (per ogni segnale) un piccolo circuito di "condizionamento" che filtra disturbi e sovratensioni e limita l'escursione del segnale ai livelli del RPi (3.3V).
3) Si, è difficile. Il C è un linguaggio estremamente complesso e, personalmente, lo sconsiglio fortemente ai principianti.
N

Jetro
Posts: 11
Joined: Thu May 03, 2018 5:54 pm

Re: Automatizzazione lavastoviglie con Raspberry Pi

Sat May 05, 2018 11:28 pm

Innanzitutto ti ringrazio per la risposta!
nicolap8 wrote:
Sat May 05, 2018 10:54 pm
Ma hai esperienza di elettronica?
Sì, ma non sui Raspberry; sicuramente tutto ciò che concerne il circuito ad alta tensione e la sua sicurezza non è un problema.
Basi di cosa?
Basi su come deve funzionare la lavastoviglie (quindi cosa si deve accendere/spegnere ed in quali condizioni) ed ho una vaga idea su come debba funzionare il circuito finale; nonostante questo però non conosco le esigenze specifiche del Raspberry visto che sono alle prime armi.
Quindi i rélè originali erano nella scheda bruciata?
Esatto, c''era un solo relè per la resistenza ed il resto comandato da triac... :?
Con quante T si scrive???
Con due, ma se preferisci lo chiamo teleruttore :ugeek:
(In ogni caso non servirà, visto che sto pensando di spostare tutto nella zona adiacente)
Più che i Watt sono importanti gli Ampère, per dimensionare correttamente i rélè.
Purtroppo non ci sono dati di targa sui componenti e quelli sono gli unici dati che ho potuto reperire; siccome lavorano in alternata e non conosco il cos φ vado di sovradimensionamento che penso non sia un male: li metterei tutti da 10A tranne quello della resistenza, che metterei da 16 A (sebbene sul circuito originale fosse da 10, molto al limite visto che la resistenza è proprio da 10A).

"bassa tensione" è troppo vago! Sarebbe(!) meglio conoscere la tensione esatta.
Sono relé liberi che posso alimentare alla tensione che preferisco: presumo sul Raspberry siano comodi i 3.3V, giusto?
1)Accorciare i cavi del 220V ma allungare quelli di segnali digitali non è sempre una bella(!) cosa.
2) boh... conta! Battute a parte, si fa un elenco con tutti i segnali necessari ed uno con i pin disponibili, poi si verificano gli accoppiamenti possibili.
3) dipende, dal tipo dei sensori. Se sono del tipo "aperto/chiuso" ci dovrò essere (per ogni segnale) un piccolo circuito di "condizionamento" che filtra disturbi e sovratensioni e limita l'escursione del segnale ai livelli del RPi (3.3V).
4) Si, è difficile. Il C è un linguaggio estremamente complesso e, personalmente, lo sconsiglio fortemente ai principianti.
N
1) Immaginavo; oggi ho provato manualmente la macchina ed ho anche notato che la parte davanti alla porta non è sufficientemente isolata (raggiunge i 70 °C) e di conseguenza opterei per mettere il tutto nella zona bassa, isolando dal cestello visto che la zona non sarebbe comunque freschissima.
2) Ora metto tutto su carta
3) Sono tutti on/off tranne il sensore della temperatura che è un termistore (di cui ho i dati e che nel caso estremo posso sostituire).
4) Con il linguaggio non ho problemi (l'ho comunque studiato a livello universitario) e farei questo per imparare a programmare più che per la lavastoviglie (che è già stata rimpiazzata). Il mio unico quesito è sulla realizzabilità di una interfaccia grafica perché in tale ambito non ho mai fatto nulla.
Secondo te posso provarci comunque in C (mi piacerebbe iniziare a conoscerlo più a fondo partendo da qui), oppure mi consigli di imparare un altro linguaggio (quale?)

Grazie ancora!!

willy_pinguino
Posts: 491
Joined: Sun Jan 22, 2017 9:11 pm

Re: Automatizzazione lavastoviglie con Raspberry Pi

Sun May 06, 2018 10:37 am

Sì, ma non sui Raspberry; sicuramente tutto ciò che concerne il circuito ad alta tensione e la sua sicurezza non è un problema.
a me da piccolo hanno insegnato che quello che è 220v o 380v è roba da elettrotecnici, tutto quello che è sopra o sotto è roba da elettronici...
forse la mia definizione è adatta solo a bambini di 10 anni come ero io quando me l'hanno data e non so tu cosa intenda per alta tensione ma quella frase come risposta ad una domanda ben precisa di Nicola mi suona terribilmente male
Basi su come deve funzionare la lavastoviglie (quindi cosa si deve accendere/spegnere ed in quali condizioni) ed ho una vaga idea su come debba funzionare il circuito finale; nonostante questo però non conosco le esigenze specifiche del Raspberry visto che sono alle prime armi.
Il bello del progetto rasppberry è proprio questo, essendo opensource e destinato all'istruzione è tutto documentato, è per questo che esistono un sacco di progetti/shield/periferiche GPIO prodotte un po' dappertutto, quindi se sei poco esperto delmondo raspberry, basta che ti armi di pazienza e ti documenti, su internet trovi tutto e di più (inteso come anche un sacco di accrocchi e nozioni sballate)
Esatto, c''era un solo relè per la resistenza ed il resto comandato da triac... :?
non so perchè ma il fatto che al posto dei relè fossero usati dei triac mi fa pensare che lo scopo della scheda bruciata non fosse solo quello di accendere e spegnere i vari circuiti/motori/valvole, ma anche quello di regolarne analogicamente il funzionamento, ma ovviamente senza avere idea dello schema di funzionamento potrei dire delle cavolate immense
Con due, ma se preferisci lo chiamo teleruttore :ugeek:
(In ogni caso non servirà, visto che sto pensando di spostare tutto nella zona adiacente)
Il contattore (boh su wikipedia lo scrivono esattamente come lo hai scritto tu... cambiando il numero di T cambia il significato?) di preciso per cosa lo useresti? per azionare meccanicamente un interruttore da 2000W? Il calore della resistenza avrebbe qualche effetto malevolo su un relé? chiedo perchè non capisco.
O meglio... se la resistenza fosse stata controllata da un triac per regolarne il calore in maniera variabile, capisco che il calore possa influire negativamente, specialmente se il triac in questione era sottodimensionato, ma se quì c'era un relé ed era opportunamente dimensionato, a che servirebbe un contattore???
Purtroppo non ci sono dati di targa sui componenti e quelli sono gli unici dati che ho potuto reperire; siccome lavorano in alternata e non conosco il cos φ vado di sovradimensionamento che penso non sia un male: li metterei tutti da 10A tranne quello della resistenza, che metterei da 16 A (sebbene sul circuito originale fosse da 10, molto al limite visto che la resistenza è proprio da 10A).
piuttosto gli scopi di quei 6 relé da 220 di cui parli e poi specifichi essere stati dei triac sulla scheda originale, mi suonano ancora di più con funzione di regolazione e non solo "on/off"
Sono relé liberi che posso alimentare alla tensione che preferisco: presumo sul Raspberry siano comodi i 3.3V, giusto?
Nicola ti parla di bassa tensione rispetto ai segnali in ingresso che dovresti rilevare dai sensori... senza dati di targa sui sensori, come puoi sapere cosa stanno misurando? intendo, se un sensore è a 10v ed uno a 5, ma tu non lo sai, dove metti il minimo ed il massimo delle tue misurazioni?? comunque visto che si tratta di sensori al 99% analogici, avresti bisogno di interporre dell'elettronica che trasformi il segnale analogico in un segnale digitale, visto che gli ingressi del GPIO del raspberry sono tutti e solo digitali (spero che tu capisca cosa intendo anche sei hai solo le basi)
1) Immaginavo; oggi ho provato manualmente la macchina ed ho anche notato che la parte davanti alla porta non è sufficientemente isolata (raggiunge i 70 °C) e di conseguenza opterei per mettere il tutto nella zona bassa, isolando dal cestello visto che la zona non sarebbe comunque freschissima.
2) Ora metto tutto su carta
3) Sono tutti on/off tranne il sensore della temperatura che è un termistore (di cui ho i dati e che nel caso estremo posso sostituire).
4) Con il linguaggio non ho problemi (l'ho comunque studiato a livello universitario) e farei questo per imparare a programmare più che per la lavastoviglie (che è già stata rimpiazzata). Il mio unico quesito è sulla realizzabilità di una interfaccia grafica perché in tale ambito non ho mai fatto nulla.
Secondo te posso provarci comunque in C (mi piacerebbe iniziare a conoscerlo più a fondo partendo da qui), oppure mi consigli di imparare un altro linguaggio (quale?)
mettere il raspberry in basso... magari hai i sensori vicini, ma parli anche di mettere uno schermo touch per la gestione della lavastoviglie... e lo metti anche quello in basso? ti inginocchi fino a terra per usare il touchscreen? i cavi per gli schermi touch sono cavi fati ancora più sensibili di quelli dei sensori alle distanze, io metterei tutto in alto ed al sicuro da trabocchi di liquidi di ogni genere, tanto comunque secondo me devi mettere un elettronica di conversione analogico-digitale tra sensori e raspberry...
poi elettronica, informatica e acqua... sicuro che sia un terzetto vincente??

C lo hai imparato a livello accademico, ok, allora saprai di cosa ti parlo se nomino le librerie grafiche (cosa useresti? le GTK, le QT o qualche altra libreria minore? che editor conosci/usi?), il binding di queste ultime all'interno del tuo progetto, di puntatori, definizione bitmap della tua interfaccia e degli elementi della stessa...
se tutto quello che ho detto non è arabo, allora non vedo perchè tu chieda aiuto, se invece non ti sono concetti ben chiari, allora ascolta Nicola e lascia perdere il C, anche perchè ci sono linguaggi molto più semplici e già portati per interagire con le interfacce grafiche e con il GPIO di raspberry

se davvero conosci le basi del c e hai il problema di tradurre i segnali dei sensori analogici della lavastoviglie per essere comprensibili al GPIO del RPi, perchè invece di pensare ad usare un raspberry non pensi ad usare un arduino?
arduino ha il codice residente su silicio, lo accendi e funziona, fa quello che deve e non ha un sistema operativo di cui preoccuparsi, Raspberry ha un sistema operativo, lo accendi e ci vogliono decine di secondi prima che sia pronto ad operare... sicuro sia adatto ad una lavastoviglie?

Jetro
Posts: 11
Joined: Thu May 03, 2018 5:54 pm

Re: Automatizzazione lavastoviglie con Raspberry Pi

Sun May 06, 2018 11:38 am

Ringrazio anche te per la risposta,
willy_pinguino wrote:
Sun May 06, 2018 10:37 am
a me da piccolo hanno insegnato che quello che è 220v o 380v è roba da elettrotecnici, tutto quello che è sopra o sotto è roba da elettronici...
forse la mia definizione è adatta solo a bambini di 10 anni come ero io quando me l'hanno data e non so tu cosa intenda per alta tensione ma quella frase come risposta ad una domanda ben precisa di Nicola mi suona terribilmente male
Siccome ho visto che aveva confuso il contattore con il contatore (presumo), ho immaginato che si riferisse proprio alla parte elettrotecnica. Se parliamo di elettronica penso di avere le basi sufficienti: so cos'è un integrato, come funzionano i componenti di base, come usare una breadbord; vedendo progetti simili non dovrei aver problemi.
Il bello del progetto rasppberry è proprio questo, essendo opensource e destinato all'istruzione è tutto documentato, è per questo che esistono un sacco di progetti/shield/periferiche GPIO prodotte un po' dappertutto, quindi se sei poco esperto delmondo raspberry, basta che ti armi di pazienza e ti documenti, su internet trovi tutto e di più (inteso come anche un sacco di accrocchi e nozioni sballate)
Vero, infatti è qualche settimana che cerco; purtroppo non sono riuscito a trovare nulla di sufficientemente simile da cui prendere spunto e per questo ho aperto un nuovo post
non so perchè ma il fatto che al posto dei relè fossero usati dei triac mi fa pensare che lo scopo della scheda bruciata non fosse solo quello di accendere e spegnere i vari circuiti/motori/valvole, ma anche quello di regolarne analogicamente il funzionamento, ma ovviamente senza avere idea dello schema di funzionamento potrei dire delle cavolate immense
In realtà non sbagli: si tratta di una scheda universale che viene adottata su diversi modelli di lavastoviglie e che può essere programmata secondo il modello. In quelli più avanzati comunque solo un triac viene sfruttato per fare variare la velocità della pompa di lavaggio, mentre tutto il resto è ON/OFF (e non può funzionare altrimenti).
Nel mio modello non era previsto, di conseguenza se fosse possibile realizzarlo penso di farlo in futuro, e di iniziare con un semplice relè anche per la pompa. (A meno che non sia molto più complicato).
Il contattore (boh su wikipedia lo scrivono esattamente come lo hai scritto tu... cambiando il numero di T cambia il significato?) di preciso per cosa lo useresti? per azionare meccanicamente un interruttore da 2000W? Il calore della resistenza avrebbe qualche effetto malevolo su un relé? chiedo perchè non capisco.
O meglio... se la resistenza fosse stata controllata da un triac per regolarne il calore in maniera variabile, capisco che il calore possa influire negativamente, specialmente se il triac in questione era sottodimensionato, ma se quì c'era un relé ed era opportunamente dimensionato, a che servirebbe un contattore???
Lo avrei utilizzato per non portare i cavi della resistenza sino alla porta e/o nel caso in cui avessi voluto usare un relè da 10A in quanto sulla scheda originale il problema si era originato proprio sul circuito della resistenza!
piuttosto gli scopi di quei 6 relé da 220 di cui parli e poi specifichi essere stati dei triac sulla scheda originale, mi suonano ancora di più con funzione di regolazione e non solo "on/off"
Ti confermo che mi è sufficiente un ON/OFF:
- La valvola di carico ha un regolatore di flusso (4L/min)
- La valvola di rigenerazione deve essere tutta aperta perché il processo è lento
- La pompa di scarico non può essere dimmerata
- Il motore come detto su
- La resistenza era già sotto un relè
Nicola ti parla di bassa tensione rispetto ai segnali in ingresso che dovresti rilevare dai sensori... senza dati di targa sui sensori, come puoi sapere cosa stanno misurando? intendo, se un sensore è a 10v ed uno a 5, ma tu non lo sai, dove metti il minimo ed il massimo delle tue misurazioni?? comunque visto che si tratta di sensori al 99% analogici, avresti bisogno di interporre dell'elettronica che trasformi il segnale analogico in un segnale digitale, visto che gli ingressi del GPIO del raspberry sono tutti e solo digitali (spero che tu capisca cosa intendo anche sei hai solo le basi)
Scusami, mi sono spiegato male, fornisco subito i dettagli perché è più semplice di ciò che sembra:
- Termistore: resistenza che varia con la temperatura, unico sensore analogico e del quale non so come trasformare il segnale.
- Tutti gli altri sono dei microinterruttori che hanno solo due posizioni (aperto o chiuso) come quello che controlla se la porta è aperta, il sensore antiallagamento (pezzo di polistirolo che attiva un micro), etc... Tutto piuttosto semplice!
mettere il raspberry in basso... magari hai i sensori vicini, ma parli anche di mettere uno schermo touch per la gestione della lavastoviglie... e lo metti anche quello in basso? ti inginocchi fino a terra per usare il touchscreen? i cavi per gli schermi touch sono cavi fati ancora più sensibili di quelli dei sensori alle distanze, io metterei tutto in alto ed al sicuro da trabocchi di liquidi di ogni genere, tanto comunque secondo me devi mettere un elettronica di conversione analogico-digitale tra sensori e raspberry...
poi elettronica, informatica e acqua... sicuro che sia un terzetto vincente??
Lo schermo stavo pensando di metterlo a parte, e di comunicare tramite rete. Se non è un problema posso comunque seguire il consiglio e tentare di isolare la porta.
Riguardo alla sicurezza con l'acqua ci sarebbe in quanto sarebbe riparato da schizzi d'acqua, sollevato di circa 15 cm da terra, eventualmente all'interno di una scatola stagna. In ogni caso se si dovesse accumulare sul fondo più di 1 cm di acqua interverrebbe il sensore antiallagamento che dovrà attivare la pompa di scarico.
C lo hai imparato a livello accademico, ok, allora saprai di cosa ti parlo se nomino le librerie grafiche (cosa useresti? le GTK, le QT o qualche altra libreria minore? che editor conosci/usi?), il binding di queste ultime all'interno del tuo progetto, di puntatori, definizione bitmap della tua interfaccia e degli elementi della stessa...
se tutto quello che ho detto non è arabo, allora non vedo perchè tu chieda aiuto, se invece non ti sono concetti ben chiari, allora ascolta Nicola e lascia perdere il C, anche perchè ci sono linguaggi molto più semplici e già portati per interagire con le interfacce grafiche e con il GPIO di raspberry
No, purtroppo non ho mai avuto a che fare con le librerie grafiche (ora mi leggo qualcosa, però!)
se davvero conosci le basi del c e hai il problema di tradurre i segnali dei sensori analogici della lavastoviglie per essere comprensibili al GPIO del RPi, perchè invece di pensare ad usare un raspberry non pensi ad usare un arduino?
arduino ha il codice residente su silicio, lo accendi e funziona, fa quello che deve e non ha un sistema operativo di cui preoccuparsi, Raspberry ha un sistema operativo, lo accendi e ci vogliono decine di secondi prima che sia pronto ad operare... sicuro sia adatto ad una lavastoviglie?
Sottolineo ancora una volta che lo farei più per imparare a programmare sul Raspby (ed in generale) che per sfruttare realmente la lavastoviglie che ha 7 anni di utilizzo giornaliero alle spalle e difficilmente ne farà altrettanti senza rogne. In futuro mi piacerebbe domotizzare casa.
Non mi interessa che sia semplice e facile da realizzare, quanto piuttosto imparare concetti che mi tornino utile a fare anche progetti più grossi; se poi mi dite che è tutto inutile tento con Arduino :D

In conclusione, ora come ora le domande fondamentali sono due:

1) In C, come inserisco un timer (fino ad oltre 30 minuti) che non mi impieghi la CPU inutilmente? (Ho cercato sul web ma non ho trovato nulla che non sia a scopo didattico).

2) Come posso leggere la resistenza del termistore (o meglio, avete qualche guida da consigliarmi visto che questo sarà sicuramente un argomento già discusso)?

Vi rignrazio

nicolap8
Posts: 153
Joined: Mon Mar 13, 2017 9:45 pm

Re: Automatizzazione lavastoviglie con Raspberry Pi

Sun May 06, 2018 2:44 pm

Jetro wrote:
Sat May 05, 2018 11:28 pm
nicolap8 wrote:
Sat May 05, 2018 10:54 pm
Ma hai esperienza di elettronica?
Sì, ma non sui Raspberry; sicuramente tutto ciò che concerne il circuito ad alta tensione e la sua sicurezza non è un problema.
La sicurezza è SEMPRE un problema, per definizione ;-)
Con il RPi si fa, di base, elettronica digitale con tensione di 3,3 V e correnti di pochi mA (molti piedini sono limitati a 8 mA ed in totale non bisogna superare i 50 mA per la somma complessiva!). Quindi il problema è di interfacciare questo mondo "ristretto" con il resto e questo seppur non difficile non è neppure banale e richiede una certa attenzione, altrimenti si brucia qualcosa (o peggio).
Jetro wrote:
Sat May 05, 2018 11:28 pm
Quindi i rélè originali erano nella scheda bruciata?
Esatto, c''era un solo relè per la resistenza ed il resto comandato da triac... :?
Sembra che non ti piacciano i Triac :D Hanno il loro uso... quantomeno sono più silenziosi dei rélè :shock:
Jetro wrote:
Sat May 05, 2018 11:28 pm
Con quante T si scrive???
Con due, ma se preferisci lo chiamo teleruttore :ugeek:
(In ogni caso non servirà, visto che sto pensando di spostare tutto nella zona adiacente)
Pensavo che volessi mettere un "contatore" per misurare i consumi, meno inutile di un grosso teleruttore!
Jetro wrote:
Sat May 05, 2018 11:28 pm
Più che i Watt sono importanti gli Ampère, per dimensionare correttamente i rélè.
Purtroppo non ci sono dati di targa sui componenti e quelli sono gli unici dati che ho potuto reperire; siccome lavorano in alternata e non conosco il cos φ vado di sovradimensionamento che penso non sia un male: li metterei tutti da 10A tranne quello della resistenza, che metterei da 16 A (sebbene sul circuito originale fosse da 10, molto al limite visto che la resistenza è proprio da 10A).
Attenzione: i rélè hanno una corrente massima ma anche una MINIMA! Non sovradimensionare troppo e leggi bene il datasheet.
Jetro wrote:
Sat May 05, 2018 11:28 pm
"bassa tensione" è troppo vago! Sarebbe(!) meglio conoscere la tensione esatta.
Sono relé liberi che posso alimentare alla tensione che preferisco: presumo sul Raspberry siano comodi i 3.3V, giusto?
No, con quei 3,3V piloti un transistor o un mosfet che a sua volta pilota un rélè.
Comunque mi riferivo alla tensione dei sensori.
Jetro wrote:
Sat May 05, 2018 11:28 pm
1)Accorciare i cavi del 220V ma allungare quelli di segnali digitali non è sempre una bella(!) cosa.
2) boh... conta! Battute a parte, si fa un elenco con tutti i segnali necessari ed uno con i pin disponibili, poi si verificano gli accoppiamenti possibili.
3) dipende, dal tipo dei sensori. Se sono del tipo "aperto/chiuso" ci dovrò essere (per ogni segnale) un piccolo circuito di "condizionamento" che filtra disturbi e sovratensioni e limita l'escursione del segnale ai livelli del RPi (3.3V).
4) Si, è difficile. Il C è un linguaggio estremamente complesso e, personalmente, lo sconsiglio fortemente ai principianti.
N
1) Immaginavo; oggi ho provato manualmente la macchina ed ho anche notato che la parte davanti alla porta non è sufficientemente isolata (raggiunge i 70 °C) e di conseguenza opterei per mettere il tutto nella zona bassa, isolando dal cestello visto che la zona non sarebbe comunque freschissima.
2) Ora metto tutto su carta
3) Sono tutti on/off tranne il sensore della temperatura che è un termistore (di cui ho i dati e che nel caso estremo posso sostituire).
4) Con il linguaggio non ho problemi (l'ho comunque studiato a livello universitario) e farei questo per imparare a programmare più che per la lavastoviglie (che è già stata rimpiazzata). Il mio unico quesito è sulla realizzabilità di una interfaccia grafica perché in tale ambito non ho mai fatto nulla.
Secondo te posso provarci comunque in C (mi piacerebbe iniziare a conoscerlo più a fondo partendo da qui), oppure mi consigli di imparare un altro linguaggio (quale?)

Grazie ancora!!
1) Fai molto bene a tenere in considerazione la temperatura "ambientale"!
2) Bene!
3) "on/off" è ancora vago, servono i dettagli. Il termistore andrà collegato per mezzo di un convertitore A/D.
4) Non ho mai fatto niente di grafico in C su Linux ma visto che lo fanno in tanti non deve essere difficile. La mia raccomandazione, dal punto di vista didattico, è per un linguaggio più tipo Pascal, nel caso specifico Lazarus.
Prego :-)
N

nicolap8
Posts: 153
Joined: Mon Mar 13, 2017 9:45 pm

Re: Automatizzazione lavastoviglie con Raspberry Pi

Sun May 06, 2018 2:55 pm

willy_pinguino wrote:
Sun May 06, 2018 10:37 am
Esatto, c''era un solo relè per la resistenza ed il resto comandato da triac... :?
non so perchè ma il fatto che al posto dei relè fossero usati dei triac mi fa pensare che lo scopo della scheda bruciata non fosse solo quello di accendere e spegnere i vari circuiti/motori/valvole, ma anche quello di regolarne analogicamente il funzionamento, ma ovviamente senza avere idea dello schema di funzionamento potrei dire delle cavolate immense
Uno dei vantaggi del triac è di poter essere acceso e spento in tempi molto rapidi e precisi riuscendo a sincronizzarsi con precisione sull'onda sinusoidale della corrente alternata in modo da accendere e spegnere quando si trova a 0 V. Questo permette di avere meno emissioni EMC e correnti di spunto inferiori.
Per quanto riguarda la regolazione, l'unico utilizzatore che potrebbe richiederla è il riscaldamento acqua. Gli altri non ne hanno bisogno.

se davvero conosci le basi del c e hai il problema di tradurre i segnali dei sensori analogici della lavastoviglie per essere comprensibili al GPIO del RPi, perchè invece di pensare ad usare un raspberry non pensi ad usare un arduino?
arduino ha il codice residente su silicio, lo accendi e funziona, fa quello che deve e non ha un sistema operativo di cui preoccuparsi, Raspberry ha un sistema operativo, lo accendi e ci vogliono decine di secondi prima che sia pronto ad operare... sicuro sia adatto ad una lavastoviglie?
Questo è un suggerimento molto sensato. Non potresti avere uno schermo grande e touch ma solo un display piccolino e qualche pulsante ma avresti anche tante rogne di meno!

Una cosa che si fa spesso è di usare entrambi i "mondi": un Arduino (o comunque un microcontrollore) che si occupa della gestione elettrica/elettronica ed il RPi che fa da tramite tra lui e l'utente. Pensaci!
N

nicolap8
Posts: 153
Joined: Mon Mar 13, 2017 9:45 pm

Re: Automatizzazione lavastoviglie con Raspberry Pi

Sun May 06, 2018 3:05 pm

Jetro wrote:
Sun May 06, 2018 11:38 am
- Termistore: resistenza che varia con la temperatura, unico sensore analogico e del quale non so come trasformare il segnale.
- Tutti gli altri sono dei microinterruttori che hanno solo due posizioni (aperto o chiuso) come quello che controlla se la porta è aperta, il sensore antiallagamento (pezzo di polistirolo che attiva un micro), etc... Tutto piuttosto semplice!
Se sono microinterruttori si possono collegare "quasi" direttamente! Con un minimo di circuito per disturbi e sovratensioni (che molti omettono per pigrizia o risparmio e poi le schede... si fott... ehm bruciano).

In conclusione, ora come ora le domande fondamentali sono due:

1) In C, come inserisco un timer (fino ad oltre 30 minuti) che non mi impieghi la CPU inutilmente? (Ho cercato sul web ma non ho trovato nulla che non sia a scopo didattico).

2) Come posso leggere la resistenza del termistore (o meglio, avete qualche guida da consigliarmi visto che questo sarà sicuramente un argomento già discusso)?

Vi rignrazio
1) Devi leggere l'ora corrente poi mandare il programma in "sleep" per un certo tempo, al risveglio controlli se devi lavorare o torni a dormire. Resto sul vago perché ti dovrai leggere la documentazione del comando, hai centrato un argomento molto importante!

2) Di solito un paio di resistori per rendere un po' più lineare il comportamento nel range di utilizzo poi il segnale entra in un convertitore A/D (Arduino lo ha nativo) che va collegato al RPi tramite I2C o SPI.

Jetro
Posts: 11
Joined: Thu May 03, 2018 5:54 pm

Re: Automatizzazione lavastoviglie con Raspberry Pi

Sun May 06, 2018 4:00 pm

nicolap8 wrote:
Sun May 06, 2018 2:44 pm
La sicurezza è SEMPRE un problema, per definizione ;-)
Con il RPi si fa, di base, elettronica digitale con tensione di 3,3 V e correnti di pochi mA (molti piedini sono limitati a 8 mA ed in totale non bisogna superare i 50 mA per la somma complessiva!). Quindi il problema è di interfacciare questo mondo "ristretto" con il resto e questo seppur non difficile non è neppure banale e richiede una certa attenzione, altrimenti si brucia qualcosa (o peggio).
Bene!
Sembra che non ti piacciano i Triac :D Hanno il loro uso... quantomeno sono più silenziosi dei rélè :shock:
Non è che non mi piacciano, è che ho una esperienza quasi nulla sul loro utilizzo e rimanderei al futuro la loro implementazione :?

Pensavo che volessi mettere un "contatore" per misurare i consumi, meno inutile di un grosso teleruttore!
Crepi l'avarizia... Anche se non sarebbe una brutta idea, magari a monte di tutto, insieme a qualcosa che conteggia i litri d'acqua
Attenzione: i rélè hanno una corrente massima ma anche una MINIMA! Non sovradimensionare troppo e leggi bene il datasheet.
In che senso una corrente minima? I relè che ho usato finora erano dei semplici circuiti funzionanti anche senza alcun carico, ed ho sempre sentito dire che è meglio sovradimensionarli, sopratutto sui motori (senza contare che per applicazioni specifiche ce ne sono con diversi materiali di contatto per evitare "incollamenti" o archi), ma questa della corrente minima mi è nuova, o ti riferisci a quella per eccitare la bobina?
No, con quei 3,3V piloti un transistor o un mosfet che a sua volta pilota un rélè.
Comunque mi riferivo alla tensione dei sensori.
Okay per il mosfet, a quel punto potrei usare una di quelle schede con 8 relè che si trovano già pronte?

In che senso alla tensione dei sensori?? Sono microswitch, semplici interruttori, lavorano a qualsiasi tensione.
1) Fai molto bene a tenere in considerazione la temperatura "ambientale"!
2) Bene!
3) "on/off" è ancora vago, servono i dettagli. Il termistore andrà collegato per mezzo di un convertitore A/D.
4) Non ho mai fatto niente di grafico in C su Linux ma visto che lo fanno in tanti non deve essere difficile. La mia raccomandazione, dal punto di vista didattico, è per un linguaggio più tipo Pascal, nel caso specifico Lazarus.
Prego :-)
N
1) Con un po' di pazienza e creando un pannello esterno su misura dovrei riuscire a fare stare circa 2 cm di isolante ed avere ancora spazio a sufficienza per una buona circolazione del flusso d'aria.
3) Sono microswitch, non so come altro potrei chiamarli, quei microinterruttori di prossimità che hanno 2 o 3 contatti (NO o NC). Non c'è nulla di più complicato, se non quel termistore.
Uno dei vantaggi del triac è di poter essere acceso e spento in tempi molto rapidi e precisi riuscendo a sincronizzarsi con precisione sull'onda sinusoidale della corrente alternata in modo da accendere e spegnere quando si trova a 0 V. Questo permette di avere meno emissioni EMC e correnti di spunto inferiori.
Per quanto riguarda la regolazione, l'unico utilizzatore che potrebbe richiederla è il riscaldamento acqua. Gli altri non ne hanno bisogno.
Effettivamente non sarebbe una cattiva idea, ma non avrei idea su come impostare il circuito mentre, giusto per capire se era fattibile, pensavo di usare una di quelle board precostruite
Il riscaldamento acqua era sotto relé anche sulla scheda originale, quindi non dovrebbe essere necessario.
Una cosa che si fa spesso è di usare entrambi i "mondi": un Arduino (o comunque un microcontrollore) che si occupa della gestione elettrica/elettronica ed il RPi che fa da tramite tra lui e l'utente. Pensaci!
Potrei provare anche a fare questo, più avanti!
Se sono microinterruttori si possono collegare "quasi" direttamente! Con un minimo di circuito per disturbi e sovratensioni (che molti omettono per pigrizia o risparmio e poi le schede... si fott... ehm bruciano).
Questo lo avevo letto un po' dappertutto, e lo farò sicuramente visto che le precauzioni non sono mai troppe
1) Devi leggere l'ora corrente poi mandare il programma in "sleep" per un certo tempo, al risveglio controlli se devi lavorare o torni a dormire. Resto sul vago perché ti dovrai leggere la documentazione del comando, hai centrato un argomento molto importante!

2) Di solito un paio di resistori per rendere un po' più lineare il comportamento nel range di utilizzo poi il segnale entra in un convertitore A/D (Arduino lo ha nativo) che va collegato al RPi tramite I2C o SPI.
1) Eh già, ora approfondisco e inizio a fare qualche prova
2) Quindi devo per forza renderlo lineare, non riesco a decifrare sulla sua curva?

Jetro
Posts: 11
Joined: Thu May 03, 2018 5:54 pm

Re: Automatizzazione lavastoviglie con Raspberry Pi

Thu May 10, 2018 5:26 pm

Eccomi qui,

Come promesso ho approfondito un po' la questione ed ho fatto qualche test arrivando alle seguenti conclusioni:

- 5 linee 220V che fanno solo on /off (scheda relè preassemblata?)
- 4 microinterruttori da rilevare che fanno solo on/off (seguirò qualche guida su come acquisire il segnale senza danneggiare il Raspberry)

E fin qui, se non ho capito male, mi bastano 9 delle 17 GPIO e c'è sufficiente materiale sul web. Successivamente:

- 1 linea 220V che mi consenta di variare la velocità del motore (Triac? Come?)
- 1 convertitore AD per leggere la resistenza del sensore di temperatura (Quale?)
- 1 ??? per leggere la frequenza del generatore tachimetrico del motore (io ho letto 75 Hz con motore a regime di 2800 rpm, possibile??)

Ho cambiato idea sul motore in quanto i pressostati non sono regolabili e la lavatrice fa un caricamento acqua dinamico, tenendo il motore acceso al minimo dei giri e riempiendo lentamente di acqua per caricarne l'esatta quantità in base al carico presente e a quella contenuta in tubi / eliche presente solo a pompa attiva.
Il problema è che il setpoint in cui il motore si deve accendere è piuttosto basso e la cavitazione è parecchia, di conseguenza ho paura di rovinarlo facendolo partire subito al massimo dei giri.

Ora mi sto anche informando sulla libreria Wiring Pi per C, sembra interessante!

EDIT: Anche la scheda "PiFace" sembrerebbe fare al caso mio

EDIT 2: La scheda PiFace sembrerebbe proprio fare al caso mio, ma mi escluderebbe dall'usare le porte per i sensori digitali... O no?

willy_pinguino
Posts: 491
Joined: Sun Jan 22, 2017 9:11 pm

Re: Automatizzazione lavastoviglie con Raspberry Pi

Sat May 12, 2018 5:39 pm

tutte le schede che occupano interamente il GPIO se non sono pensate per essere stack-abili(impilabili, riproponendo il connettore originale sopra a se stessaovviamente ti impediscono di accedere meccanicamente ai pin che loro non usano), ma tu puoi sempre "duplicare" elettricamente i pin del GPIO con una scheda figlia e dei cavi a 40 contatti o con delle schedine che ripropongono 2 o più GPIO affiancati.
Ovviamente questo comporta che devi essere ben certo di come le varie schede usano i vari pin, pena il dare segnali in concorrenza ad uno stesso pin o cortocircuitare schede diverse, quindi prima di tentare una strada del genere, io mi munirei di una serie di cavetti da piastrina di prototipazione con connettore maschio da una parte e femmina dall'altra, poggerei le schede vicino al RPi e connetterei i pin uno a uno per non rischiare danni.

sia per leggere la temperatura che il numero dei giri del motore ti servono dei convertitori AD, di modelli e di varianti ce ne sono a bizzeffe, ma sapere quali sono quelli adatti a te ti serve sapere cosa ESATTAMENTE devi misurare e quali sono minimo e massimo che ti si possono parare dinnanzi... e poi leggerti un sacco di datasheet di tutti i componenti che si possono configurare adatti al tuo scopo...

Jetro
Posts: 11
Joined: Thu May 03, 2018 5:54 pm

Re: Automatizzazione lavastoviglie con Raspberry Pi

Sat May 12, 2018 8:25 pm

willy_pinguino wrote:
Sat May 12, 2018 5:39 pm
tutte le schede che occupano interamente il GPIO se non sono pensate per essere stack-abili(impilabili, riproponendo il connettore originale sopra a se stessaovviamente ti impediscono di accedere meccanicamente ai pin che loro non usano), ma tu puoi sempre "duplicare" elettricamente i pin del GPIO con una scheda figlia e dei cavi a 40 contatti o con delle schedine che ripropongono 2 o più GPIO affiancati.
Ovviamente questo comporta che devi essere ben certo di come le varie schede usano i vari pin, pena il dare segnali in concorrenza ad uno stesso pin o cortocircuitare schede diverse, quindi prima di tentare una strada del genere, io mi munirei di una serie di cavetti da piastrina di prototipazione con connettore maschio da una parte e femmina dall'altra, poggerei le schede vicino al RPi e connetterei i pin uno a uno per non rischiare danni.
Ci avevo pensato: mi informo un po' sul funzionamento della scheda in questione e nel caso la provo
willy_pinguino wrote:
Sat May 12, 2018 5:39 pm
sia per leggere la temperatura che il numero dei giri del motore ti servono dei convertitori AD, di modelli e di varianti ce ne sono a bizzeffe, ma sapere quali sono quelli adatti a te ti serve sapere cosa ESATTAMENTE devi misurare e quali sono minimo e massimo che ti si possono parare dinnanzi... e poi leggerti un sacco di datasheet di tutti i componenti che si possono configurare adatti al tuo scopo...
Dunque, la resistenza del termistore può variare dai 9659 Ohm (a 10°C) a 445 Ohm (a 90°). Ovviamente lavando arriva al max. a 70°C.

Il generatore tachimetrico del motore ho visto che a 2800 rpm fa segnare 75 Hertz al mio multimetro (che non so quanto sia preciso). Non ho altri dati e non saprei come misurarne il funzionamento.

Invece, per regolare la velocità del motore, su cosa mi dovrei orientare?

Seconda domanda, a quali porte dovrei collegare i convertitori?

Nel frattempo, ho iniziato a scrivere il programma in C sfruttando la libreria WiringPi; appena mi arrivano i cavetti ne testo il funzionamento con qualche led.

Ti ringrazio per il supporto

willy_pinguino
Posts: 491
Joined: Sun Jan 22, 2017 9:11 pm

Re: Automatizzazione lavastoviglie con Raspberry Pi

Sun May 13, 2018 1:43 pm

ecco... stavo facendo tutta una tirata su convertitori DA ed AD, frequenze e quant'altro e poi mi trovo questo

viewtopic.php?t=87411

solo che non capendoci molto di elettronica non so capire se è quello che ti serve o no...

poi questo:

https://www.robot-italy.com/it/adafruit ... i-kit.html

un HAT quindi un modulo agguintivo per gpio, anche quà non so capire se soddisfa le tue esigenze

per il tachimetro invece, dipende cosa misura e come... parli di 75Hz, ma il segnale di quanti volt è?

perchè se fosse direttamente compatibile con il gpio, basterebbe solo misurare quante volte lo stato di un pin a cui è collegato passa da basso ad alto nell'unità di tempo (ovviamente più veloce è il codice e più accurata sarà la misurazione) e ottieni la tua misurazione.

se invece questo non fosse possibile perchè il tachimetro ha segnali troppo alti o troppo bassi, allora ti tocca cercate una soluzione dedicata che funzioni con il tuo tachimetro (credo che abbassare o alzare il voltaggio dei segnali del tachimetro introdurrebbe solo troppa incertezza nei risultati)

Jetro
Posts: 11
Joined: Thu May 03, 2018 5:54 pm

Re: Automatizzazione lavastoviglie con Raspberry Pi

Sun May 13, 2018 2:31 pm

Grazie mille!
Questa sera daró una occhiata ai link!

Riguardo al segnale del tachimetro, se non ricordo male avevo misurato 7 Volt (6.90 o poco più) , di conseguenza non penso che sia compatibile

willy_pinguino
Posts: 491
Joined: Sun Jan 22, 2017 9:11 pm

Re: Automatizzazione lavastoviglie con Raspberry Pi

Sun May 13, 2018 2:57 pm

no direi di no... possibile che lavori a 0-10 volt e per la frequenza della rotazione del motore il tuo tester misurasse solo 7 volt. ma come dicevo di elettronica ne caposco poco, persone come Nicola ti possono essere molto più di aiuto di me, anche se in realà un metodo ci sarebbe... led collegato all'uscita del tachimetro e fotodiodo da 3,3 v per leggerne accensione e spegnimento, quindi in pratica un optoisolato :-P

Jetro
Posts: 11
Joined: Thu May 03, 2018 5:54 pm

Re: Automatizzazione lavastoviglie con Raspberry Pi

Sun May 13, 2018 9:06 pm

Eccomi qui; riguardo al primo link avevo già visto qualcosa di simile ma purtroppo io non saprei come adattarlo al mio progetto visto che quella scheda controlla un piccolo motore a basso voltaggio e corrente continua mentre io ne avrei uno un po' più grendicello (50-100W) che lavora a 230V in alternata (quindi, se le mie conoscenze non mi ingannano, non può essere comandato in PWM).

Riguardo al secondo link penso che il problema sia sempre quello.

Termistore: prendendo spunto da questo link dove creano un partitore, con il raspberry come potrei leggere una tensione?

L'idea dell'opto accoppiatore è ottima, ma sul web ho trovato solo gente che lo sfrutta per leggere accensioni e spegnimenti; non so se può essere adatto a leggere il segnale tachimetrico.

Lo tengo sicuramente buono, però, per leggere i segnali dei vari microinterruttori che a questo punto potrei far diventare tutti ad alta tensione separandoli poi con una spia luminosa ed un sensore di luce con uscita digitale.

EDIT: Nel frattempo in cui cerco di capire come recuperare quei segnali, mi sono dedicato alla ricerca di un metodo per creare i ritardi.

All'interno della libreria WiringPi c'è una funzione che mi è sembrata molto utile a riguardo:

void delay (unsigned int howLong) Dove si indica il tempo di ritardo in millisecondi.

Testandola all'interno del codice non impiega la CPU, posso quindi dedurre che è adatta al mio scopo?

nicolap8
Posts: 153
Joined: Mon Mar 13, 2017 9:45 pm

Re: Automatizzazione lavastoviglie con Raspberry Pi

Wed May 16, 2018 2:23 pm

Cari ragazzi,
rispondo in blocco.
la resistenza del termistore può variare dai 9659 Ohm (a 10°C) a 445 Ohm (a 90°). Ovviamente lavando arriva al max. a 70°C.
Il problema del termistore è che non ha un comportamento lineare quindi a 50° non avrà di sicuro 5052 Ohm! Ci sono principalmente due strade per ovviare a questo:
1) linearizzare con delle resistenze. Il datasheet riporta degli esempi, di solito va bene se il range di utilizzo non è troppo esteso e non è richiesta una grande precisione.
2) usare una LUT (LookUp Table) cioè una tabella di valori di confronto, con due colonne: resistenza e temperatura. Più precisione serve più valori deve contenere la tabella. Spesso nei datasheet dei termistori ci sono valori per ogni singolo grado. Inoltre usando un RPi non c'è il problema della memoria (che invece si può presentare usando un microcontrollore).
In ogni caso il segnale va inviato ad un convertitore A/D (tipo MC3008, vedi link sotto).
https://it.wikipedia.org/wiki/Termistore
https://pimylifeup.com/raspberry-pi-adc/
l generatore tachimetrico del motore ho visto che a 2800 rpm fa segnare 75 Hertz al mio multimetro (che non so quanto sia preciso). Non ho altri dati e non saprei come misurarne il funzionamento.
Il multimetro, di solito, non va per niente bene a misurare la frequenza di un signale sconosciuto, serve un oscilloscopio (ormai costano poco!).
Ci sono molti sistemi per far "leggere" la frequenza al RPi, ad esempio:
1) convertitore frequenza-tensione: trasforma la frequenza in un voltaggio (attenti al range) che va poi acquisito tramite il solito convertitore A/D.
2) tramite eventuale ed opportuna rete di ingresso si limita il voltaggio e si squadra il segnale in modo da poterlo collegare ad un pin digitale del RPi e poi campionarne lo stato o misurare i tempi tra un cambiamento di stato e l'altro. Questo però nel caso di un sistema Linux è complesso e richiede di gestire la sincronizzazione in maniera esatta. In compenso è facile da gestire con un microcontrollore.
per regolare la velocità del motore, su cosa mi dovrei orientare?
Dipende! :-)
Dal tipo di motore... che può essere in corrente continua (DC) o alternata (AC) o Brushless o... (ma di certo non uno stepper!)
Leggi le etichette che ci sono sul motore (posta le foto!).
L'idea dell'opto accoppiatore è ottima, ma sul web ho trovato solo gente che lo sfrutta per leggere accensioni e spegnimenti; non so se può essere adatto a leggere il segnale tachimetrico.

Lo tengo sicuramente buono, però, per leggere i segnali dei vari microinterruttori che a questo punto potrei far diventare tutti ad alta tensione separandoli poi con una spia luminosa ed un sensore di luce con uscita digitale.
L'isolamento dei segnali, soprattutto in un ambiente "rumoroso" è sempre da prendere in considerazione. Non è complicato ma richiede una certa attenzione nella scelta dell'isolatore e nel dimensionamento dei componenti (resistori).
ll'interno della libreria WiringPi c'è una funzione che mi è sembrata molto utile a riguardo:

void delay (unsigned int howLong) Dove si indica il tempo di ritardo in millisecondi.

Testandola all'interno del codice non impiega la CPU, posso quindi dedurre che è adatta al mio scopo?
Leggendo la documentazione http://wiringpi.com/reference/timing/ direi che puoi usarla!
N

Jetro
Posts: 11
Joined: Thu May 03, 2018 5:54 pm

Re: Automatizzazione lavastoviglie con Raspberry Pi

Wed May 16, 2018 4:45 pm

nicolap8 wrote:
Wed May 16, 2018 2:23 pm
Cari ragazzi,
rispondo in blocco.
Ciao, ti ringrazio per la risposta!
Il problema del termistore è che non ha un comportamento lineare quindi a 50° non avrà di sicuro 5052 Ohm! Ci sono principalmente due strade per ovviare a questo:
1) linearizzare con delle resistenze. Il datasheet riporta degli esempi, di solito va bene se il range di utilizzo non è troppo esteso e non è richiesta una grande precisione.
2) usare una LUT (LookUp Table) cioè una tabella di valori di confronto, con due colonne: resistenza e temperatura. Più precisione serve più valori deve contenere la tabella. Spesso nei datasheet dei termistori ci sono valori per ogni singolo grado. Inoltre usando un RPi non c'è il problema della memoria (che invece si può presentare usando un microcontrollore).
In ogni caso il segnale va inviato ad un convertitore A/D (tipo MC3008, vedi link sotto).
Perfetto, mi informerò sull'MC3008!

Riaguardo ai valori penso che andrò per la LUT se voglio che si veda la temperatura sul display, altrimenti nemmeno quella in quanto i valori di cui ho bisogno sono solo 2 (o 4): 55 °C e 68°C (per altri programmi anche 45, 50 e 60).

Il multimetro, di solito, non va per niente bene a misurare la frequenza di un signale sconosciuto, serve un oscilloscopio (ormai costano poco!).
Ci sono molti sistemi per far "leggere" la frequenza al RPi, ad esempio:
1) convertitore frequenza-tensione: trasforma la frequenza in un voltaggio (attenti al range) che va poi acquisito tramite il solito convertitore A/D.
2) tramite eventuale ed opportuna rete di ingresso si limita il voltaggio e si squadra il segnale in modo da poterlo collegare ad un pin digitale del RPi e poi campionarne lo stato o misurare i tempi tra un cambiamento di stato e l'altro. Questo però nel caso di un sistema Linux è complesso e richiede di gestire la sincronizzazione in maniera esatta. In compenso è facile da gestire con un microcontrollore.
Hai ragione, dovrei comprarmi un oscilloscopio visto quanto costano ora. Tu quale dei due metodi mi consiglieresti? Per quello che ne so ora come ora andrei sul primo.
Dipende! :-)
Dal tipo di motore... che può essere in corrente continua (DC) o alternata (AC) o Brushless o... (ma di certo non uno stepper!)
Leggi le etichette che ci sono sul motore (posta le foto!).
Eheh, sul motore non vi è scritto nulla. A me sembra un brushless, in 220V AC. Allegherei una foto ma mi dice che il file è troppo grande (430 KB, 611 x 640). Se riduco ulteriormente la dimensione non si capisce più nulla
L'isolamento dei segnali, soprattutto in un ambiente "rumoroso" è sempre da prendere in considerazione. Non è complicato ma richiede una certa attenzione nella scelta dell'isolatore e nel dimensionamento dei componenti (resistori).
Vi chiederò sicuramente consiglio
Leggendo la documentazione http://wiringpi.com/reference/timing/ direi che puoi usarla!
N
Fantastico! Io nel frattempo la ho testata ancora un po' e non ho mai avuto problemi.

Per ora sono bloccato nello sviluppo del sw dal fatto che non so come comandare il motore e leggere la temperatura. Ora leggo qualcosa sull'MCP3008, così potrei iniziare da lì

Domanda stupida: volevo utilizzare, per quanto riguarda input ed output analogici, la PiFace (o almeno provarci). Dove posso trovare della documentazione per la programmazione in C? Trovo solo Python, di C è confermata la disponibilità, c'è una libreria ma non trovo una descrizione delle funzioni.
Meglio ancora sarebbe poterla comandare con la WiringPi.

nicolap8
Posts: 153
Joined: Mon Mar 13, 2017 9:45 pm

Re: Automatizzazione lavastoviglie con Raspberry Pi

Thu May 17, 2018 10:45 am

Jetro wrote:
Wed May 16, 2018 4:45 pm
Il multimetro, di solito, non va per niente bene a misurare la frequenza di un signale sconosciuto, serve un oscilloscopio (ormai costano poco!).
Ci sono molti sistemi per far "leggere" la frequenza al RPi, ad esempio:
1) convertitore frequenza-tensione: trasforma la frequenza in un voltaggio (attenti al range) che va poi acquisito tramite il solito convertitore A/D.
2) tramite eventuale ed opportuna rete di ingresso si limita il voltaggio e si squadra il segnale in modo da poterlo collegare ad un pin digitale del RPi e poi campionarne lo stato o misurare i tempi tra un cambiamento di stato e l'altro. Questo però nel caso di un sistema Linux è complesso e richiede di gestire la sincronizzazione in maniera esatta. In compenso è facile da gestire con un microcontrollore.
Hai ragione, dovrei comprarmi un oscilloscopio visto quanto costano ora. Tu quale dei due metodi mi consiglieresti? Per quello che ne so ora come ora andrei sul primo.
Purtroppo non c'è (come al solito!) una risposta facile, dipende dal range di frequenze, dal voltaggio e da quanto te la cavi con l'elettronica "analogica" o "digitale". Personalmente probabilmente userei un microcontrollore, uno piccolo dedicato solo a questo e che comunica col RPi tramite I2C. Però ho molta esperienza specifica... Il convertitore frequenza/tensione si può progettare scopiazzando un circuito da internet e usando uno dei tanti simulatori free che ci sono, non è banale ma c'è da divertirsi e da imparare tanto!
Dipende! :-)
Dal tipo di motore... che può essere in corrente continua (DC) o alternata (AC) o Brushless o... (ma di certo non uno stepper!)
Leggi le etichette che ci sono sul motore (posta le foto!).
Eheh, sul motore non vi è scritto nulla. A me sembra un brushless, in 220V AC. Allegherei una foto ma mi dice che il file è troppo grande (430 KB, 611 x 640). Se riduco ulteriormente la dimensione non si capisce più nulla
Ci sono molti siti su cui caricare l'immagine e poi posti solo il link!
Per ora sono bloccato nello sviluppo del sw dal fatto che non so come comandare il motore e leggere la temperatura. Ora leggo qualcosa sull'MCP3008, così potrei iniziare da lì

Domanda stupida: volevo utilizzare, per quanto riguarda input ed output analogici, la PiFace (o almeno provarci). Dove posso trovare della documentazione per la programmazione in C? Trovo solo Python, di C è confermata la disponibilità, c'è una libreria ma non trovo una descrizione delle funzioni.
Meglio ancora sarebbe poterla comandare con la WiringPi.
Per comandare il motore devi sapere ESATTAMENTE di che tipo di motore si tratta. Non credo abbiano usato un brushless in una lavastoviglie.

Quale? http://www.piface.org.uk/products/
Io non uso mai cose di cui non dispongo documentazione ADEGUATA... datasheet, schemi elettrici, sorgenti ed esempi...
Meglio una bella breadboard e componenti sciolti :-)
Nicola

Jetro
Posts: 11
Joined: Thu May 03, 2018 5:54 pm

Re: Automatizzazione lavastoviglie con Raspberry Pi

Thu May 17, 2018 5:35 pm

nicolap8 wrote:
Thu May 17, 2018 10:45 am
Purtroppo non c'è (come al solito!) una risposta facile, dipende dal range di frequenze, dal voltaggio e da quanto te la cavi con l'elettronica "analogica" o "digitale". Personalmente probabilmente userei un microcontrollore, uno piccolo dedicato solo a questo e che comunica col RPi tramite I2C. Però ho molta esperienza specifica... Il convertitore frequenza/tensione si può progettare scopiazzando un circuito da internet e usando uno dei tanti simulatori free che ci sono, non è banale ma c'è da divertirsi e da imparare tanto!
Non so se le mie conoscenze arrivano a questo livello, ma ci posso sempre provare!!
Ci sono molti siti su cui caricare l'immagine e poi posti solo il link!
Detto fatto, temevo ci fossero restrizioni proprio del forum!

Image

Image
Per comandare il motore devi sapere ESATTAMENTE di che tipo di motore si tratta. Non credo abbiano usato un brushless in una lavastoviglie.
Avevo detto brushless in quanto non ho visto spazzole. C'è un condensatore e funziona in alternata. Se necessario cerco ulteriori info!
Quale? http://www.piface.org.uk/products/
Io non uso mai cose di cui non dispongo documentazione ADEGUATA... datasheet, schemi elettrici, sorgenti ed esempi...
Meglio una bella breadboard e componenti sciolti :-)
Nicola
La PiFace2, in quanto la 1 è fatta per il Pi prima serie se non erro.

Stasera mi è arrivata la scheda con 8 relé a 5 Volt, io pensavo di collegarla così: https://www.robotstore.it/rsdocs/docume ... erryPi.pdf oppure tramite la PiFace mentre su You Tube ho visto video di gente che la collega direttamente al Pi. È una cosa possibile? (Da che so io il Pi lavora a 3.3 V, la scheda sicuramente a 5V).

nicolap8
Posts: 153
Joined: Mon Mar 13, 2017 9:45 pm

Re: Automatizzazione lavastoviglie con Raspberry Pi

Fri May 18, 2018 10:57 am

Jetro wrote:
Thu May 17, 2018 5:35 pm

Image

Image
Per comandare il motore devi sapere ESATTAMENTE di che tipo di motore si tratta. Non credo abbiano usato un brushless in una lavastoviglie.
Avevo detto brushless in quanto non ho visto spazzole. C'è un condensatore e funziona in alternata. Se necessario cerco ulteriori info!
Certo che è necessario! Spesso si trovano in internet gli schemi elettrici dei vari elettrodomestici, cerca quello della lavastoviglie!
Non ci sono etichette o targhette sul motore?
Devi assolutamente conoscere la tensione di alimentazione, la potenza massima, il tipo, TUTTO!

La PiFace2, in quanto la 1 è fatta per il Pi prima serie se non erro.

Stasera mi è arrivata la scheda con 8 relé a 5 Volt, io pensavo di collegarla così: https://www.robotstore.it/rsdocs/docume ... erryPi.pdf oppure tramite la PiFace mentre su You Tube ho visto video di gente che la collega direttamente al Pi. È una cosa possibile? (Da che so io il Pi lavora a 3.3 V, la scheda sicuramente a 5V).
Non mi piace quello schema di collegamento. I 5V si devono prendere non da un Test Point ma dal connettore, dal pin 2 o 4 (hai sottomano il pinout del RPi, vero?!?) E la massa (GND) dal piedino 6 (o da uno degli altri).
Il RPi ha gli I/O a 3V3 ma visto che viene alimentato dalla USB è disponibile anche un'alimentazione a 5V.
N

Jetro
Posts: 11
Joined: Thu May 03, 2018 5:54 pm

Re: Automatizzazione lavastoviglie con Raspberry Pi

Fri May 18, 2018 11:29 am

nicolap8 wrote:
Fri May 18, 2018 10:57 am
Certo che è necessario! Spesso si trovano in internet gli schemi elettrici dei vari elettrodomestici, cerca quello della lavastoviglie!
Non ci sono etichette o targhette sul motore?
Devi assolutamente conoscere la tensione di alimentazione, la potenza massima, il tipo, TUTTO!
Ho già scaricato tutto il materiale disponibile e le uniche info sono quelle che vi ho dato:
Tensione di alimentazione: 220V - 240V A.C. (Cos'altro serve sapere sulla tensione di alimentazione?)
Potenza massima: 50 Watt
Edit: Modello: Johnson PSC9030

Non vi è nessuna etichetta sul motore, purtroppo, altrimenti sarebbe semplice. Come posso riconoscere il tipo di motore?

Posso aggiungere che era collegato tramite 2 cavi, che collegando fase e neutro parte alla massima velocità e che gli altri due cavi sono del sensore tachimetrico.

Non mi piace quello schema di collegamento. I 5V si devono prendere non da un Test Point ma dal connettore, dal pin 2 o 4 (hai sottomano il pinout del RPi, vero?!?) E la massa (GND) dal piedino 6 (o da uno degli altri).
Il RPi ha gli I/O a 3V3 ma visto che viene alimentato dalla USB è disponibile anche un'alimentazione a 5V.
Sì, io ho un B+ ed un 3B (a breve ordinerò un 3B+) quindi sono tutti senza test point (che se non ho capito male da quello schema vengono utilizzati per alimentare il raspberry dallo stesso alimentatore).

Non ho capito se devo usare le due resistenze ed il transistor oppure se posso collegarla direttamente come fanno nei video che si vedono su Youtube.

Non ho nemmeno capito la frase: The relay board is “active low” which means the relays are switched on when the inputs have a low voltage (0V) applied to them. Since the GPIO pins output 3.3V when active, this circuit will effectively short the relay board input to ground making it 0V and will activate the relay.

Dunque, i relè vengono eccitati quando la tensione sul pin di ingresso è di 0 Volt ed io devo fare un circuito che quando attivo cortocircuiti a massa il pin interessato? Perché invece su yt funzionano collegandoli direttamente alle GPIO?

Inoltre, non sarebbe più appropriato visto che ogni relè consuma 89.3 mA rimuovere il jumper VCC <-> VCC-JD ed alimentare separatamente i relé invece di prelevare tutto dal raspberry?

Qui c'è il datasheet dei relè montati.

Qui il link di una discussione a riguardo dove si parla di utilizzare un ULN2803 per collegare la scheda al Raspberry

EDIT: Trovato modello pompa: Johnson PSC9030

nicolap8
Posts: 153
Joined: Mon Mar 13, 2017 9:45 pm

Re: Automatizzazione lavastoviglie con Raspberry Pi

Sat May 19, 2018 2:08 pm

Jetro wrote:
Fri May 18, 2018 11:29 am
Ho già scaricato tutto il materiale disponibile e le uniche info sono quelle che vi ho dato:
Tensione di alimentazione: 220V - 240V A.C. (Cos'altro serve sapere sulla tensione di alimentazione?)
Potenza massima: 50 Watt
Edit: Modello: Johnson PSC9030

Non vi è nessuna etichetta sul motore, purtroppo, altrimenti sarebbe semplice. Come posso riconoscere il tipo di motore?

Posso aggiungere che era collegato tramite 2 cavi, che collegando fase e neutro parte alla massima velocità e che gli altri due cavi sono del sensore tachimetrico.
Motore in alternata. A questo punto apri un nuovo 3d, non mescoliamo gli argomenti!
Non mi piace quello schema di collegamento. I 5V si devono prendere non da un Test Point ma dal connettore, dal pin 2 o 4 (hai sottomano il pinout del RPi, vero?!?) E la massa (GND) dal piedino 6 (o da uno degli altri).
Il RPi ha gli I/O a 3V3 ma visto che viene alimentato dalla USB è disponibile anche un'alimentazione a 5V.
Sì, io ho un B+ ed un 3B (a breve ordinerò un 3B+) quindi sono tutti senza test point (che se non ho capito male da quello schema vengono utilizzati per alimentare il raspberry dallo stesso alimentatore).

Non ho capito se devo usare le due resistenze ed il transistor oppure se posso collegarla direttamente come fanno nei video che si vedono su Youtube.

Non ho nemmeno capito la frase: The relay board is “active low” which means the relays are switched on when the inputs have a low voltage (0V) applied to them. Since the GPIO pins output 3.3V when active, this circuit will effectively short the relay board input to ground making it 0V and will activate the relay.

Dunque, i relè vengono eccitati quando la tensione sul pin di ingresso è di 0 Volt ed io devo fare un circuito che quando attivo cortocircuiti a massa il pin interessato? Perché invece su yt funzionano collegandoli direttamente alle GPIO?

Inoltre, non sarebbe più appropriato visto che ogni relè consuma 89.3 mA rimuovere il jumper VCC <-> VCC-JD ed alimentare separatamente i relé invece di prelevare tutto dal raspberry?

Qui c'è il datasheet dei relè montati.

Qui il link di una discussione a riguardo dove si parla di utilizzare un ULN2803 per collegare la scheda al Raspberry

EDIT: Trovato modello pompa: Johnson PSC9030
Anche per questo argomento direi di passare ad un nuovo 3d: pilotare un rélè con il RPi.

Return to “Italiano”

Who is online

Users browsing this forum: No registered users and 1 guest