leggere tensioni negative con arduino

Se godo ancora di un briciolo della tua fiducia ti propongo questa soluzione per salvare capra e cavoli.

Parliamo per il solo ramo a -15V.

  1. La massa del tuo alimentatore resta ovviamente vincolata alla massa di Arduino.
  2. Il gruppo di resistenze "R1", lo porti a 4 x 4,7k
  3. Lasci comunque il partitore vincolato a +5 di Arduino.
  4. Lasci intatta l'inversione software che ti ho indicato in predenza.

In questo modo hai riferito il tuo valore di tensione ad una massa vituale di +5 volt sopra quella reale.
Inizialmente quando applicherai i -15 all'ingresso del partitore, effettua tarature, conversioni software come all'ingresso fosse presente una tensione superiore di -5 volt (esempio: valore noto = 15,03 > valore misurato da Arduino 20,03).
Quando hai messo a punto il tutto, prima di stampare il valore, a livello software sottrai -5 volt per compensare la massa vituale o a essere più pignoli il valore effettivo dell'alimentazione.
Se rispetti lo schema, non c'è alcun pericolo visto che lo stesso partitore con i diodi limitano ogni sovratensione ad Arduino.

Considerando che la stessa alimentazione di Arduino funge anche da riferimento all'ADC l'errore introdotto dovrebbe essere trascurabile.