Commit 810e5312 authored by remi.clement@inrae.fr's avatar remi.clement@inrae.fr
Browse files

add some hardware test dev file

Showing with 95 additions and 0 deletions
+95 -0
test.py 0 → 100644
from ohmpi import OhmPi
import matplotlib.pyplot as plt
import numpy as np
k = OhmPi(idps=True)
k.rs_check()
x = []
for i in range(1):
out = k.run_measurement(injection_duration=0.5, nb_stack=1, tx_volt=0, autogain=True, best_tx_injtime=0.2)
x.append(out['R [ohm]'])
data = out['fulldata']
inan = ~np.isnan(data[:,0])
if True:
plt.plot(data[inan,2], data[inan,0], '.-', label='current [mA]')
plt.plot(data[inan,2], data[inan,1], '.-', label='voltage [mV]')
plt.legend()
plt.show()
if False:
from numpy.fft import fft, ifft
x = data[inan, 1][10:300]
t = np.linspace(0, len(x)*4, len(x))
sr = 1/0.004
X = fft(x)
N = len(X)
n = np.arange(N)
T = N/sr
freq = n/T
plt.figure(figsize = (12, 6))
plt.subplot(121)
plt.stem(freq, np.abs(X), 'b', \
markerfmt=" ", basefmt="-b")
plt.xlabel('Freq (Hz)')
plt.ylabel('FFT Amplitude |X(freq)|')
#plt.xlim(0, 10)
plt.subplot(122)
plt.plot(t, ifft(X), 'r')
plt.xlabel('Time (s)')
plt.ylabel('Amplitude')
plt.tight_layout()
plt.show()
test_dps.py 0 → 100644
import board # noqa
import busio # noqa
import time
import adafruit_ads1x15.ads1115 as ads # noqa
from adafruit_ads1x15.analog_in import AnalogIn
from adafruit_mcp230xx.mcp23008 import MCP23008 # noqa
import digitalio # noqa
from digitalio import Direction # noqa
from gpiozero import CPUTemperature # noqa
import minimalmodbus
#Initialisation du module d'injection de current
DPS = minimalmodbus.Instrument(port='/dev/ttyUSB0', slaveaddress=1) # port name, slave address (in decimal)
DPS.serial.baudrate = 9600 # Baud rate 9600 as listed in doc
DPS.serial.bytesize = 8 #
DPS.serial.timeout = 1 # > a 0.5 pour que cela fonctionne
DPS.debug = False #
DPS.serial.parity = 'N' # No parity
DPS.mode = minimalmodbus.MODE_RTU # RTU mode
DPS.write_register(0x0001, 40, 0) # (last number) 0 is for mA, 3 is for A
DPS.write_register(0x0000, 5, 0) self.DPS.write_register(0x0000, tx_volt, 2)
\ No newline at end of file
import board # noqa
import busio # noqa
import time
from adafruit_mcp230xx.mcp23008 import MCP23008 # noqa
from digitalio import Direction # noqa
i2c = busio.I2C(board.SCL, board.SDA)
mcp = MCP23008(i2c, address=0x20)
pin0 = mcp.get_pin(0)
pin0.direction = Direction.OUTPUT
pin1 = mcp.get_pin(1)
pin1.direction = Direction.OUTPUT
pin0.value = False
pin1.value = False
pin0.value = True
pin1.value = False
time.sleep(2)
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment