Skip to content

Commit 14d60e8

Browse files
cdsteinkuehlerzultron
authored andcommitted
config: BeagleBone
Update BeBoPr configuration files Add K9 configuration that runs with HDMI enabled
1 parent 86df23b commit 14d60e8

12 files changed

+999
-30
lines changed

configs/BeagleBone/BeBoPr/BeBoPr.hal

+53-17
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,15 @@ loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AX
2222

2323

2424
# load low-level drivers
25-
loadrt hal_bb_gpio output_pins=103,105,107,120,121,127,128,129,130,136,139,140,141,142,143,144,145,146
25+
loadrt hal_bb_gpio output_pins=103,105,107,120,121,127,128,129,130,139,140,141,142,143,144,145,146
2626
loadrt [PRUCONF](DRIVER) [PRUCONF](CONFIG)
27-
loadrt pid num_chan=1
28-
loadrt limit1
27+
loadrt pid num_chan=2
28+
loadrt limit1 count=2
2929

3030

3131
# Python user-mode HAL module to read ADC value and generate a thermostat output for PWM
3232
loadusr -Wn Therm0 /home/linuxcnc/linuxcnc/configs/BeagleBone/BeBoPr/ReadTemp.py -n Therm0 -t epcos_B57560G1104 -a AIN1
33+
#loadusr -Wn Therm1 /home/linuxcnc/linuxcnc/configs/BeagleBone/BeBoPr/ReadTemp.py -n Therm1 -t epcos_B57560G1104 -a AIN3
3334

3435
# ################################################
3536
# THREADS
@@ -40,7 +41,9 @@ addf bb_gpio.read servo-thread
4041
addf motion-command-handler servo-thread
4142
addf motion-controller servo-thread
4243
addf pid.0.do-pid-calcs servo-thread
44+
addf pid.1.do-pid-calcs servo-thread
4345
addf limit1.0 servo-thread
46+
addf limit1.1 servo-thread
4447
addf [PRUCONF](DRIVER).update servo-thread
4548
addf bb_gpio.write servo-thread
4649

@@ -243,31 +246,35 @@ setp bb_gpio.p8.out-07.invert 1
243246
# PWM and Temperature Signals
244247
# ##################################################
245248

249+
# Define signals to use elsewhere (ie: M1xx codes)
250+
# If you change any names here, lots of things will break!
251+
newsig e0.temp.set float
252+
newsig e0.temp.meas float
253+
newsig bed.temp.set float
254+
newsig bed.temp.meas float
255+
256+
246257
setp hal_pru_generic.pwmgen.00.pwm_period 10000000
247258

248-
# J2 PRU1.out1
259+
# J2 E0 Heater PRU1.out1
249260
setp hal_pru_generic.pwmgen.00.out.00.pin 0xA1
250261
setp hal_pru_generic.pwmgen.00.out.00.enable 1
251-
setp hal_pru_generic.pwmgen.00.out.00.value 0.2
262+
setp hal_pru_generic.pwmgen.00.out.00.value 0.0
252263

253-
# J3 PRU1.out0
264+
# J3 E1 Heater PRU1.out0
254265
setp hal_pru_generic.pwmgen.00.out.01.pin 0xA0
255266
setp hal_pru_generic.pwmgen.00.out.01.enable 1
256-
setp hal_pru_generic.pwmgen.00.out.01.value 0.2
267+
setp hal_pru_generic.pwmgen.00.out.01.value 0.0
257268

258-
# J4 GPIO2.16
259-
setp hal_pru_generic.pwmgen.00.out.02.pin 0x50
269+
# J4 Bed Heater GPIO2.16
270+
setp hal_pru_generic.pwmgen.00.out.02.pin 0x70
260271
setp hal_pru_generic.pwmgen.00.out.02.enable 1
261-
setp hal_pru_generic.pwmgen.00.out.02.value 0.2
262-
263-
#setp temp.set 0x480 # Setting for 0-4096 scale (Raw ADC values)
264-
#setp temp.set 0x1FA # Setting for 0-1800 scale (mV scale)
272+
setp hal_pru_generic.pwmgen.00.out.02.value 0.0
265273

266274
# PID for Extruder 0 temperature control
267275
net e0.temp.meas <= Therm0.temp
268276
net e0.temp.meas => pid.0.feedback
269277

270-
newsig e0.temp.set float
271278
sets e0.temp.set 0
272279
net e0.temp.set => pid.0.command
273280

@@ -280,12 +287,41 @@ net e0.heaterl => hal_pru_generic.pwmgen.00.out.00.value
280287
# PWM mimics hm2 implementation, which generates output for negative values
281288
setp limit1.0.min 0
282289

290+
# PID for Bed temperature control
291+
net bed.temp.meas <= Therm1.temp
292+
net bed.temp.meas => pid.1.feedback
293+
294+
sets bed.temp.set 0
295+
net bed.temp.set => pid.1.command
296+
297+
net bed.heater <= pid.1.output
298+
net bed.heater => limit1.1.in
299+
net bed.heaterl <= limit1.1.out
300+
net bed.heaterl => hal_pru_generic.pwmgen.00.out.02.value
301+
302+
# Limit heater PWM to positive values
303+
# PWM mimics hm2 implementation, which generates output for negative values
304+
setp limit1.1.min 0
305+
283306
# PID Parameters for adjusting temperature control
307+
# Extruder
284308
#setp pid.0.FF0 0
285309
#setp pid.0.FF1 0
286310
#setp pid.0.FF2 0
287-
setp pid.0.Dgain 114.0
288-
setp pid.0.Igain 1.08
289-
setp pid.0.Pgain 22.2
311+
setp pid.0.Pgain 0.30
312+
setp pid.0.Igain 0.00001
313+
setp pid.0.Dgain 0.9375
314+
setp pid.0.maxerrorI 1.0
290315
setp pid.0.bias 0.5
291316
setp pid.0.enable 1
317+
318+
# Bed
319+
#setp pid.1.FF0 0
320+
#setp pid.1.FF1 0
321+
#setp pid.1.FF2 0
322+
setp pid.1.Pgain 1
323+
setp pid.1.Igain 0.0
324+
setp pid.1.Dgain 0.0
325+
setp pid.1.maxerrorI 1.0
326+
setp pid.1.bias 0.5
327+
setp pid.1.enable 1

configs/BeagleBone/BeBoPr/BeBoPr.ini

+5-4
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ BACKLASH = 0.000
158158
SCALE = -80
159159

160160
MIN_LIMIT = -1.0
161-
MAX_LIMIT = 200.0
161+
MAX_LIMIT = 220.0
162162

163163
FERROR = 1.0
164164
MIN_FERROR = 0.25
@@ -193,7 +193,7 @@ BACKLASH = 0.000
193193
SCALE = 80.0
194194

195195
MIN_LIMIT = -1.0
196-
MAX_LIMIT = 200.0
196+
MAX_LIMIT = 250.0
197197

198198
FERROR = 1.0
199199
MIN_FERROR = 0.25
@@ -227,7 +227,7 @@ BACKLASH = 0.000
227227

228228
SCALE = 1511.81102362
229229

230-
MIN_LIMIT = -4.0
230+
MIN_LIMIT = -10.0
231231
MAX_LIMIT = 200.0
232232

233233
FERROR = 1.0
@@ -261,9 +261,10 @@ STEPGEN_MAX_ACC = 3750.0
261261
BACKLASH = 0.000
262262

263263
SCALE = -744.530002058
264+
#SCALE = -732.32
264265

265266
MIN_LIMIT = -9999.0
266-
MAX_LIMIT = 9999.0
267+
MAX_LIMIT = 999999999.0
267268

268269
FERROR = 1.0
269270
MIN_FERROR = .25
+16-6
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,31 @@
11
<?xml version='1.0' encoding='UTF-8'?>
2-
<!--
3-
Include your PyVCP panel here.
4-
5-
-->
62
<pyvcp>
73
<hbox>
84
<label>
95
<text>"Extruder Temp:"</text>
106
</label>
117

128
<number>
13-
<halpin>"Temp.set"</halpin>
9+
<halpin>"E0.Temp.set"</halpin>
10+
<format>"3.1f"</format>
11+
</number>
12+
</hbox>
13+
<bar>
14+
<halpin>"E0.Temp"</halpin>
15+
<max_>300</max_>
16+
</bar>
17+
<hbox>
18+
<label>
19+
<text>"Bed Temp:"</text>
20+
</label>
21+
22+
<number>
23+
<halpin>"Bed.Temp.set"</halpin>
1424
<format>"3.1f"</format>
1525
</number>
1626
</hbox>
1727
<bar>
18-
<halpin>"Temp"</halpin>
28+
<halpin>"Bed.Temp"</halpin>
1929
<max_>300</max_>
2030
</bar>
2131
</pyvcp>
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# Include your customized HAL commands here
22
# The commands in this file are run after the AXIS GUI (including PyVCP panel) starts
33

4-
net e0.temp.set => pyvcp.Temp.set
5-
net e0.temp.meas => pyvcp.Temp
4+
net e0.temp.set => pyvcp.E0.Temp.set
5+
net e0.temp.meas => pyvcp.E0.Temp
6+
net bed.temp.set => pyvcp.Bed.Temp.set
7+
net bed.temp.meas => pyvcp.Bed.Temp
68

0 commit comments

Comments
 (0)