Inizio con il ricordare che il modulo mixed I/O come da specifiche non è progettato per acquisire valori analogici negativi. Ma il modulo non legge le sue specifiche e quindi anche se utilizzato fuori da esse continua a funzionare. Ma non è un caso il suo funzionamento, vediamo di spiegarlo… Il modulo è basato sul microcontrollore ADUC845 della Analog Devices, che come da specifiche per gli ingressi analogici indica:
Analog Input Voltage to AGND –0.3 V to AVDD + 0.3 V
Quindi i suoi ingressi analogici accettano tensioni comprese tra -0.3V e +0.3V oltre la tensione di alimentazione. Gli ingressi analogici del modulo mixed I/O quando configurati per acquisizione 10V inseriscono un partitore di tensione tra il morsetto di ingresso e l’ingresso reale del microcontrollore. Grazie a questo partitore la tensione all’ingresso analogico del microntrollore è pari alla tensione al morsetto di ingresso VIn/8.021.
Visto il range di tensione negativa accettato dall’ingresso analogico del microntrollore (-0.3V) si deduce che la massima tensione negativa misurabile è: -0.3*8.021=-2.406V. Probabilmente il valore di -0.3 è un valore medio e quindi potrebbe essere diverso tra microcontrollori di diverse forniture e quindi ecco perchè puoi acquisire un po di più in negativo di questo valore.
Ora anche se non dovresti acquisire valori negativi, ma visto che lo hai sempre fatto, per aumentare il range di acquisizione non ti resta che aumentare il partitore in ingresso, puoi farlo semplicemente inserendo in serie al pin di ingresso una resistenza che ti porti ad avere al massimo -2.4V al valore massimo che devi acquisire. Inserendo una resistenza da 33KOhm dovresti poter acquisire circa -5V ma avendo falsato il partitore in ingresso il valore letto sarà diverso, quindi dovrai tenerne conto, puoi utilizzare la funzione ValueScale.
Nota: La scheda viene da noi tarata sul sistema ATE per il range positivo, nel range negativo di acquisizione potrebbe perdere di linearità, ti consiglio di fare una verifica ed eventualmente correggerla con la funzione Linearize.