master
Eggert Jung 5 years ago
parent 3cb3e52790
commit c85b45caea

@ -1,5 +1,3 @@
# python_live_plot.py
import time import time
from simple_pid import PID from simple_pid import PID
from itertools import count from itertools import count
@ -11,10 +9,10 @@ import minimalmodbus
tempSens = minimalmodbus.Instrument('/dev/ttyUSB1', 1) tempSens = minimalmodbus.Instrument('/dev/ttyUSB1', 1)
tempSens.serial.baudrate = 38400 tempSens.serial.baudrate = 38400
OutputDriver = minimalmodbus.Instrument('/dev/ttyUSB1', 2) OutputDriver = minimalmodbus.Instrument('/dev/ttyUSB1', 1)
OutputDriver.serial.baudrate = 38400 OutputDriver.serial.baudrate = 38400
pid = PID(1, 0.01, 0, setpoint=60) pid = PID(10, 0.01, 0.1, setpoint=100)
plt.style.use('fivethirtyeight') plt.style.use('fivethirtyeight')
@ -26,32 +24,35 @@ index = count()
def animate(i): def animate(i):
try: try:
temp = tempSens.read_float(1) temp = tempSens.read_float(1, functioncode=4, byteorder=0)
y_values.append(temp) y_values.append(temp)
x_values.append(next(index)) x_values.append(next(index))
#print(temp)
print(temp, end='\t') print(tempSens.read_float(11, functioncode=4, byteorder=0))
control = pid(temp)
if(control>100): # print(temp, end='\t')
control = 100; # control = pid(temp)
control = (control/1000.0) # if(control>100):
print(control, end='\t') # control = 100;
print(0.1-control) # control = (control/1000.0)
# if(control < 0):
if(control > 0): # control = 0
OutputDriver.write_bit(0, 1, functioncode=15) # print(control, end='\t')
# print(0.1-control)
time.sleep(control) #
# if(control > 0):
if(control<0.1): # OutputDriver.write_bit(0, 1, functioncode=15)
OutputDriver.write_bit(0, 0, functioncode=15) #
# time.sleep(control)
time.sleep(0.1-control) #
# if(control<0.1):
# OutputDriver.write_bit(0, 0, functioncode=15)
#
# time.sleep(0.1-control)
plt.cla() plt.cla()
plt.scatter(x_values, y_values) plt.scatter(x_values, y_values)
except: except Exception as e: print(e)
pass
ani = FuncAnimation(plt.gcf(), animate, 2000) ani = FuncAnimation(plt.gcf(), animate, 2000)

Loading…
Cancel
Save