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.
- La massa del tuo alimentatore resta ovviamente vincolata alla massa di Arduino.
- Il gruppo di resistenze "R1", lo porti a 4 x 4,7k
- Lasci comunque il partitore vincolato a +5 di Arduino.
- 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.