Grazie a tutti per i contributi alla discussione. Ci ho rimuginato un po' e ho preso una decisione.
Avere una tensione ausiliaria in uscita aiuta parecchio e l'ingresso non deve piú necessariamente essere passivo.
Mi è piaciuta l'idea di usare un pull-up e un transistor o FET sull'ingresso. Ma oltre ad avere livelli di commutazione definiti un po' troppo vagamente per i miei gusti, inverte.
Il problema inizialmente non c'era: si inverte in software e via. Però ho deciso di aggiungere per buona misura anche un'uscita, non solo un ingresso. E se per delirio di ipotesi voglio farci passare una UART, avere l'inversione è un problema grasso, dato che nella periferia UART del micro non posso impostare un segnale invertito.
Di mettere due transistor in cascata per invertire una seconda volta non mi andava. È una soluzione che puzza di Arduino (impiliamo adattatori, shield e mattoncini colorati fino ad ottenere qualcosa che si avvicina all'idea iniziale che avevamo).
Mi è quindi venuto in mente che avevo usato tempo fa un bellissimo comparatore di TI, il
TLV1851, che offre un common mode in ingresso di 40V, indipendentemente dalla tensione di alimentazione.
Per me robusto vuol dire 24 V + 20% = 30 V (cito il nome, non lo taggo per decenza, ma se Pietro legge questa equazione gli va di traverso anticipatamente il pranzo di Capodanno. Chiedo scusa, è matematica da ingegnere

). I 24 V sono dettati dal fatto che è automazione industriale e quella è la tensione di sistema.
Quindi se accetto 40 V, siamo largamente a cavallo.
Quello che ho partorito è questo:
L'interfaccia verso l'esterno consta di
- 5V ausiliari, protetti da un fusibile PTC che interviene a 150 mA
- GND
- uscita digitale: questa arriva direttamente dall'isolatore digitale (
ISO6521) e attraversa un gate di buffer per portarne la capacità di erogare corrente a 32 mA. Vicino allo spinotto c'è un TVS bidirezionale da 5V di tensione di lavoro per proteggere il buffer da eventi ESD.
- ingresso digitale: da destra a sinistra abbiamo un TVS bidirezionale da 28V come protezione ESD (specificherò una tensione d'ingresso massima di 24 V), un resistore da 33k che fa parte del circuito di isteresi ma limita anche la corrente per lo schottky di protezione. Suddetto schottky che evita un'inversione di polarità dovuta a utenti sbadati. Poi c'è il bellissimo comparatore di cui sopra, con un livello di commutazione e un'isteresi tali da renderlo adeguato anche al lavoro con logica CMOS da 1.8V

Si entra poi nell'isolatore digitale.
Tutta la parte a valle dell'isolatore digitale è alimentata da un modulino DC/DC che si occupa della separazione galvanica.
La cosa sexy è che se l'ingresso digitale viene pilotato con logica a 5V, la corrente di bias è solo quella del comparatore, che in questo caso è spettacolare: 1 pA typ! Poi in realtà c'è il leakage sugli elementi di protezione, ma siamo comunque in zona uA e quindi paragonabile ad un ingresso CMOS puro.
Con altri livelli (per esempio a 3.3V entra in gioco anche la corrente sul resistore di feedback per l'isteresi. Resta comunque molto modesta.
Apprezzo molto la discussione e le idee apportate, che mi aiutano a trovare la via da seguire.
Anche se poi questa via è un'altra. È dovuto al fatto che non vi tedio con tutti i dettagli e spesso la cosa si evolve nel corso del discorso.
Boiler