master
Eggert Jung 5 years ago
parent 3cb3e52790
commit c85b45caea

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

Loading…
Cancel
Save