nodeMCU capire schema i2c

Salve a tutti... sto provando dopo anni a riprendere una mia idea per domotizzare qualcosa in casa.
Se non è cambiato nulla (manco dal 2017) so che se parlo di 220V mi censurate, quindi avviso già che non mi servono consigli sul 220V quello lo fa un mio amico ...

Parte eliminata dalla moderazione

Arriviamo al problema:
In informatica, anche se non sono profondo conoscitore del C in qualche modo mi arrabatto e infatti il programmino che dato un messaggio MQTT attraverso I2C comunica al relè di attivarsi per 300ms è stato fatto e funziona. La parte inversa non è molto più complessa e volevo usare gli interrupt. La cosa che mi spaventa è la parte hardware. Un nodeMCU ha già fumato (per distrazione credo)
Ho paura a collegare l'optoisolatore alla schedina PCF8574 e non so bene il pin 9 di questa scheda come collegarlo in sicurezza al nodeMCU (numero di pin e resistenze varie se servono)
Potete darmi una mano? dubito che le 8 uscite dell'optoisolatore vadano pulite al PCF8574, ma non so.
Ora cerco un modo anche per fare uno schema di quello che ho fatto. Per il momento mi fermo qui.
Grazie
Rino

Ciao, penso che il circuito di uscita di quella scheda per una delle uscite sia il seguente:
opto
Assicurati che sia così misurando con un multimetro tra Vin e le uscite, oltre a questo conoscerai il valore di R e potrai calcolare la corrente che fornisce al PCF857 e se è sicuro farlo . Misura anche la resistenza che hai tra il pin GND e uno dei pin del chip fotoaccoppiatore, su un pin dovrebbe dare zero e sull'altro non dovrebbe esserci conduzione.
Con questa seconda misura confermeremo che il circuito di uscita è come proposto in precedenza.
Saluti

Con NIENTE collegato né il ACv né il 5V né il GND dell'MCU. E misura la resistenza in ohm dei terminali che vanno all'MCU.

Ora capisco il pin 9. Senza collegare la scheda PCF8574, misura anche la resistenza tra quel pin e Vin e GND, anche quella del pin 1 tra Vin e GND.
Saluti.

... se non se ne deve parlare, NON ne devi parlare, neanche per far capire cosa stai facendo, indipendentemente da chi lo fa ... leggi il punto 17.1 del REGOLAMENTO per capire le ragioni.

Ho eliminato quindi le parti incriminate (testo e post) lasciado quello che a te serve veramente, il collegamento di un opto alla nodeMCU.

NON nominate più il 230V o il thread viene eliminato del tutto. Grazie.

Guglielmo

Vabbè le regole son regole...
Spero di aver preso le misure chieste perchè di elettronica sono veramente scarso:

  • tra VCC ed uno dei S (quelli da 1 a 8) con il multimetro messo a 20K Ohm non da segni di vita (rimane su 1)
  • tra VCC ed il pin dell'optoisolatore (quello con indicato 817) va a 0, mentre sull'altro pin rimane a 1
  • tra GND e i pin optoisolatori non da mai segni di vita
  • sulla scheda PCF8574 tra il pin INT e VCC o INT e GND il multimetro rimane a 1

Spero di aver fatto bene i compiti
Grazie

Se hai fatto bene i compiti, sono stato io a sbagliare quando li ho inviati non dicendoti che stavo cercando una resistenza dell'ordine di 47K. Siamo spiacenti, ma devi ripetere le misurazioni per la scheda rivelatore ac impostando il multimetro sulla scala 200K.
Le misurazioni effettuate sulla scheda PCF8574 mi dicono che questo pin è un pin dati e dobbiamo trovare un pin comune. Ripeti le stesse misurazioni su tutti i pin finché non trovi una resistenza zero tra il pin e Vcc o GND, (sarà probabilmente tra i pin che numeri 1 e GND).
Saluti.

Rifaccio le prove:

tra VCC ed uno dei S (quelli da 1 a 8)  non da segni di vita (rimane su 1)
tra VCC ed il pin dell'optoisolatore (quello con indicato 817) va a 0, mentre sull'altro pin rimane a 1
tra GND e uno dei pin optoisolatori da 47.2
sulla scheda PCF8574 tra il pin INT e VCC o INT e GND il multimetro rimane a 1 ed anche con tutti gli altri pin numerati

Qualcosa è cambiato

Ciao.
Ora è chiaro per me, in base alle tue misurazioni sulla scheda del rivelatore CA.
hai la seguente configurazione:
FIG_1

Ma quel segnale non può essere applicato direttamente alla scheda PCf8574, poiché i suoi ingressi devono essere impostati per la modalità di ingresso in PULL_UP, (come quando si usa un pulsante con arduino).
Per questo è necessario utilizzare il seguente circuito per ciascuno degli ingressi, o simile con un altro transistor, per adattare i segnali.
FIG_2

Per quanto riguarda il pin 9, (INT), della scheda PCF8574, se non trovi interruzioni dovute all'hardware nel tuo programma, non devi collegarlo a nulla.
Saluti

Perfetto vedo di procurarmi resistenze e transistor e sto fine spero di riuscire a provare la cosa.
Se ho capito lo schema ci va una resistenza da 47K alla base del transistor (pin 2), una sempre da 47K al collettore (pin 3) che va ai 5V e l'emettitore (pin 1) al gnd. Poi sempre sul pin 3 parto con una resistenza da 680Ohm e collego al pin segnale della scheda con PCF8574.
Giusto? Sono resistenze reperibili online o devo affidarmi a qualcuno di specializzato?

Il pin 9 invece volevo usarlo come interrupt per avere un aggiornamento di stato in tempo reale. per ora il problema è capire quale pin del nodeMCU accetti segnali di interrupt. Su arduino dovrebbe essere A0. Sapete qualcosa?

Ultima domanda: questa scheda che mi tira fuori il segnale da mandare al PCF8574 ho visto online che scaldi a causa delle resistenze molto grandi. Si parlava di 55°C circa. Dite che con una ventolina 5V risolvo?
Grazie
Rino

No, è 4K7 = 4.7K = 4700 ohm tutto il resto hai capito bene e tutti i valori sono standard e sono online.

SCHEDA: DIGITALE PINS UTILIZZABILE per gli interrupt
Uno, Nano, Mini, other 328-based: 2, 3
Uno WiFi Rev.2 Tutti i pin
Mega, Mega2560, MegaADK: 2, 3, 18, 19, 20, 21
Micro, Leonardo, other 32u4-based: 0, 1, 2, 3, 7

¿55º? Può essere un valore elevato se è all'interno di una scatola, in tal caso sarebbe una buona idea mettere quella ventola e una griglia per l'uscita dell'aria, qualcosa di simile agli alimentatori delle torri dei PC.
Salutti.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.