Search Results (Searched for: raspberry pi 3)
- behai
- behai
12 Nov 2024 13:10
Have you managed to get it to work, please? I am asking because I am thinking of trying out the same set up. I have a Raspberry Pi 4B with 8 GB and real-time kernel. I have not bought a MESA 7I96S yet. But I am planning too.
Thank you and best regards,
...behai.
Replied by behai on topic Raspberry PI4, MESA 7I96S problems
Raspberry PI4, MESA 7I96S problems
Category: General LinuxCNC Questions
Hi This email address is being protected from spambots. You need JavaScript enabled to view it.,No. It's an 3 axis mini milling machine, with three steppers. I use step-dir interfaces.
Have you managed to get it to work, please? I am asking because I am thinking of trying out the same set up. I have a Raspberry Pi 4B with 8 GB and real-time kernel. I have not bought a MESA 7I96S yet. But I am planning too.
Thank you and best regards,
...behai.
- JackRay
- JackRay
11 Nov 2024 19:17
Replied by JackRay on topic Mesa 7i96s connected but inputs not working
Mesa 7i96s connected but inputs not working
Category: Driver Boards
hello ,
your video explains very well the basic connections and it's very welcome because at the beginning it's not easy to understand everything. I've just bought a 7i96s to replace my SV2 card (parallel port) mainly to add position feedback for my axes (encoders). The middle and end of travel connections for my 5 axes are operational and work very well with a Raspberry pi4. Where I'm having a lot of trouble is with the connections and signals from my encoder.
I want to connect the position feedback of my B axis to the only encoder port on the board.
My encoder is type A+,B+,0V,5Vdc . But I don't understand the documentation for the Mesa 7i96s board with TX/RX 422/485 ... I have no signal feedback in the halmeter.
Could you please guide me to the right connections and signals for my configuration? If attached the configuration of my B axis in my . Hal
---closedloop stepper signals---
net b-pos-cmd <= joint.3.motor-pos-cmd
net b-vel-cmd <= joint.3.vel-cmd
net b-output => [HMOT](CARD0).stepgen.03.velocity-cmd
#net b-pos-fb <= [HMOT](CARD0).stepgen.03.position-fb
net b-pos-fb => joint.3.motor-pos-fb
net b-enable <= joint.3.amp-enable-out
net b-enable => [HMOT](CARD0).stepgen.03.enable
# ---Encoder feedback signals/setup---
setp [HMOT](CARD0).encoder.00.counter-mode 0
setp [HMOT](CARD0).encoder.00.filter 1
setp [HMOT](CARD0).encoder.00.index-invert 0
setp [HMOT](CARD0).encoder.00.index-mask 0
setp [HMOT](CARD0).encoder.00.index-mask-invert 0
setp [HMOT](CARD0).encoder.00.scale [JOINT_3]ENCODER_SCALE
net b-pos-fb <= [HMOT](CARD0).encoder.00.position
net b-vel-fb <= [HMOT](CARD0).encoder.00.velocity
net b-pos-fb => joint.3.motor-pos-fb
net b-index-enable joint.3.index-enable <=> [HMOT](CARD0).encoder.00.index-enable
net b-pos-rawcounts <= [HMOT](CARD0).encoder.00.rawcounts
# ---setup home / limit switch signals---
net b-home-sw => joint.3.home-sw-in
net b-neg-limit => joint.3.neg-lim-sw-in
net b-pos-limit => joint.3.pos-lim-sw-in
Thank you very much
your video explains very well the basic connections and it's very welcome because at the beginning it's not easy to understand everything. I've just bought a 7i96s to replace my SV2 card (parallel port) mainly to add position feedback for my axes (encoders). The middle and end of travel connections for my 5 axes are operational and work very well with a Raspberry pi4. Where I'm having a lot of trouble is with the connections and signals from my encoder.
I want to connect the position feedback of my B axis to the only encoder port on the board.
My encoder is type A+,B+,0V,5Vdc . But I don't understand the documentation for the Mesa 7i96s board with TX/RX 422/485 ... I have no signal feedback in the halmeter.
Could you please guide me to the right connections and signals for my configuration? If attached the configuration of my B axis in my . Hal
---closedloop stepper signals---
net b-pos-cmd <= joint.3.motor-pos-cmd
net b-vel-cmd <= joint.3.vel-cmd
net b-output => [HMOT](CARD0).stepgen.03.velocity-cmd
#net b-pos-fb <= [HMOT](CARD0).stepgen.03.position-fb
net b-pos-fb => joint.3.motor-pos-fb
net b-enable <= joint.3.amp-enable-out
net b-enable => [HMOT](CARD0).stepgen.03.enable
# ---Encoder feedback signals/setup---
setp [HMOT](CARD0).encoder.00.counter-mode 0
setp [HMOT](CARD0).encoder.00.filter 1
setp [HMOT](CARD0).encoder.00.index-invert 0
setp [HMOT](CARD0).encoder.00.index-mask 0
setp [HMOT](CARD0).encoder.00.index-mask-invert 0
setp [HMOT](CARD0).encoder.00.scale [JOINT_3]ENCODER_SCALE
net b-pos-fb <= [HMOT](CARD0).encoder.00.position
net b-vel-fb <= [HMOT](CARD0).encoder.00.velocity
net b-pos-fb => joint.3.motor-pos-fb
net b-index-enable joint.3.index-enable <=> [HMOT](CARD0).encoder.00.index-enable
net b-pos-rawcounts <= [HMOT](CARD0).encoder.00.rawcounts
# ---setup home / limit switch signals---
net b-home-sw => joint.3.home-sw-in
net b-neg-limit => joint.3.neg-lim-sw-in
net b-pos-limit => joint.3.pos-lim-sw-in
Thank you very much
- domse
- domse
11 Nov 2024 18:23 - 11 Nov 2024 18:24
Linuxcnc crashing randomly when pressing buttons was created by domse
Linuxcnc crashing randomly when pressing buttons
Category: General LinuxCNC Questions
Hello, so this same problem occurs on on two different machines. One is an old core 2 duo pc + mesa 7i96 with monitor, keyboard, mouse. The other one is a raspberry pi 4 + 7i96s with a vnc connection (no monitor, no mouse, no keyboard) running a plasma machine.
Randomly the program crashes when navigating the gmocappy gui. it happens while jogging in small increments, when switching to program mode, when searching for a gcode file. I'd say the raspberry crashes more often than the pc. When i manage to start a gcode file, even if it is hours long, it is stable.
i attached a report below, this time the machine was homed and the y axis was moved in small increments when it crashed.
Report:
Error report created by /usr/lib/tcltk/linuxcnc/show_errors.tcl:
Print file information:
RUN_IN_PLACE=no
LINUXCNC_DIR=
LINUXCNC_BIN_DIR=/usr/bin
LINUXCNC_TCL_DIR=/usr/lib/tcltk/linuxcnc
LINUXCNC_SCRIPT_DIR=
LINUXCNC_RTLIB_DIR=/usr/lib/linuxcnc/modules
LINUXCNC_CONFIG_DIR=
LINUXCNC_LANG_DIR=/usr/lib/tcltk/linuxcnc/msgs
INIVAR=inivar
HALCMD=halcmd
LINUXCNC_EMCSH=/usr/bin/wish8.6
LINUXCNC - 2.8.4
Machine configuration directory is '/home/pi/linuxcnc/configs/plasma'
Machine configuration file is 'plasma.ini'
INIFILE=/home/pi/linuxcnc/configs/plasma/plasma.ini
VERSION=1.1
PARAMETER_FILE=metric_parameters.txt
TASK=milltask
HALUI=halui
DISPLAY=gmoccapy
COORDINATES=XYYZA
KINEMATICS=trivkins coordinates=XYYZA kinstype=BOTH
Starting LinuxCNC...
Starting LinuxCNC server program: linuxcncsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting LinuxCNC IO program: io
Starting HAL User Interface program: halui
twopass:invoked with <> options
twopass:found ./plasma.hal
twopass:found ././plasmac/plasmac.tcl
twopass:found ./plasma_connections.hal
Starting TASK program: milltask
Starting DISPLAY program: gmoccapy
task: main loop took 0.141396 seconds
task: main loop took 2.166802 seconds
33554435
41943043
37748739
35651587
39845891
31457283
44040195
Unexpected realtime delay on task 0 with period 1000000
This Message will only display once per session.
Run the Latency Test and resolve before continuing.
(0, ' = ', '/usr/bin/gmoccapy')
(1, ' = ', '-ini')
(2, ' = ', '/home/pi/linuxcnc/configs/plasma/plasma.ini')
Entry = trivkins
Entry = coordinates=XYYZA
found the following coordinates xyyza
Entry = kinstype=BOTH
**** GMOCCAPY GETINIINFO ****
Number of joints = 5
5 COORDINATES found = xyyza
('Fount double letter ', )
joint 0 = axis x
joint 1 = axis y0
joint 2 = axis y1
joint 3 = axis z
joint 4 = axis a
{0: 'x', 1: 'y0', 2: 'y1', 3: 'z', 4: 'a'}
**** GMOCCAPY GETINIINFO ****
[KINS] KINESTYPE is trivkins
Found kinstype=BOTH but using trivkins
It is not recommended to do so!
Will use mode to switch between Joints and World mode
hopefully supported by the used <<trivkins>> module
**** GMOCCAPY GETINIINFO ****
No MAX_RAPID_OVERRIDE entry found in [DISPLAY] of INI file
Default settings 100 % applied!
**** GMOCCAPY GETINIINFO ****
Preference file path: /home/pi/linuxcnc/configs/plasma/Plasma.pref
**** GMOCCAPY GETINIINFO ****
No DEFAULT_SPINDLE_SPEED entry found in [DISPLAY] of INI file
**** GMOCCAPY INFO ****
**** no valid probe config in INI File ****
**** disabled tool measurement ****
**** GMOCCAPY INFO ****
**** Entering make_DRO
axis_list =
**** GMOCCAPY INFO ****
**** Entering make ref axis button
('Filepath = ', '/usr/share/gmoccapy/images/ref_all.png')
('Filepath = ', '/usr/share/gmoccapy/images/ref_0.png')
('Filepath = ', '/usr/share/gmoccapy/images/ref_1.png')
('Filepath = ', '/usr/share/gmoccapy/images/ref_2.png')
('Filepath = ', '/usr/share/gmoccapy/images/ref_3.png')
('Filepath = ', '/usr/share/gmoccapy/images/ref_4.png')
('Filepath = ', '/usr/share/gmoccapy/images/unhome.png')
**** GMOCCAPY INFO ****
**** Entering make touch button
**** GMOCCAPY INFO ****
**** Entering make jog increments
**** GMOCCAPY INFO ****
**** Entering make jog button
**** GMOCCAPY INFO ****
**** Entering make joints button
**** GMOCCAPY INFO ****
**** arrange JOINTS button
Found 10 Joints Button
**** GMOCCAPY INFO ****
**** Entering make macro button
found 0 Macros
**** GMOCCAPY INFO ****
**** arrange DRO
4
**** GMOCCAPY INFO ****
**** Place in table
**** GMOCCAPY INFO ****
**** get DRO order
**** GMOCCAPY INFO ****
**** arrange JOG button
less than 6 axis
**** GMOCCAPY INFO ****
**** no audio available! ****
**** PYGST libray not installed? ****
**** is python-gstX.XX installed? ****
**** GMOCCAPY INFO ****
**** Entering init gremlin ****
Kinematics type changed
('_set_enable_tooltips = ', True)
**** GMOCCAPY INFO ****
**** No virtual keyboard installed, we checked for <onboard> and <matchbox-keyboard>.
**** GMOCCAPY INFO: Gcode.lang found ****
**** GMOCCAPY GETINIINFO ****
Wrong entry [DISPLAY] CYCLE_TIME in INI File!
Will use gmoccapy default 150
**** GMOCCAPY INFO : inifile = /home/pi/linuxcnc/configs/plasma/plasma.ini ****:
**** GMOCCAPY INFO : postgui halfile = postgui.tcl ****:
Jog Pin Changed
x+
Jog Button released = x+
Jog Pin Changed
x-
Jog Button released = x-
Jog Pin Changed
y+
Jog Button released = y+
Jog Pin Changed
y-
Jog Button released = y-
Jog Pin Changed
z+
Jog Button released = z+
Jog Pin Changed
z-
Jog Button released = z-
Jog Pin Changed
a+
Jog Button released = a+
Jog Pin Changed
a-
Jog Button released = a-
Jog Pin Changed
0+
Jog Button released = 0+
Jog Pin Changed
0+
Jog Button released = 0+
Jog Pin Changed
1+
Jog Button released = 1+
Jog Pin Changed
1+
Jog Button released = 1+
Jog Pin Changed
2+
Jog Button released = 2+
Jog Pin Changed
2+
Jog Button released = 2+
Jog Pin Changed
3+
Jog Button released = 3+
Jog Pin Changed
3+
Jog Button released = 3+
Jog Pin Changed
4+
Jog Button released = 4+
Jog Pin Changed
4+
Jog Button released = 4+
IDLE
1 2
MANUAL Mode
RUN
IDLE
ntb_button_switch_page
('on button home clicked = ', 'ref_all')
('Hal Status not all homed', '0124')
('Hal Status not all homed', '124')
('Hal Status not all homed', '12')
('Hal Status not all homed', '2')
Combi DRO all homed
Combi DRO all homed
Combi DRO all homed
Combi DRO all homed
hal status motion mode changed
Hal Status all homed
ntb_button_switch_page
Jog Button pressed = y-
Jog Button released = y-
Jog ButtShutting down and cleaning up LinuxCNC...
task: 9501 cycles, min=0.000150, max=2.166802, avg=0.010410, 2 latency excursions (> 10x expected cycle time of 0.010000s)
hm2: loading Mesa HostMot2 driver version 0.15
hm2_eth: loading Mesa AnyIO HostMot2 ethernet driver version 0.2
hm2_eth: 10.10.10.10: INFO: Hardware address (MAC): 00:60:1b:16:86:c3
hm2_eth: discovered 7I96S
hm2/hm2_7i96s.0: Low Level init 0.15
hm2/hm2_7i96s.0: Smart Serial Firmware Version 43
hm2/hm2_7i96s.0: 51 I/O Pins used:
hm2/hm2_7i96s.0: IO Pin 000 (TB3-01): InM Input Module #0, pin in0 (Input)
hm2/hm2_7i96s.0: IO Pin 001 (TB3-02): InM Input Module #0, pin in1 (Input)
hm2/hm2_7i96s.0: IO Pin 002 (TB3-03): InM Input Module #0, pin in2 (Input)
hm2/hm2_7i96s.0: IO Pin 003 (TB3-04): InM Input Module #0, pin in3 (Input)
hm2/hm2_7i96s.0: IO Pin 004 (TB3-05): InM Input Module #0, pin in4 (Input)
hm2/hm2_7i96s.0: IO Pin 005 (TB3-06): InM Input Module #0, pin in5 (Input)
hm2/hm2_7i96s.0: IO Pin 006 (TB3-07): InM Input Module #0, pin in6 (Input)
hm2/hm2_7i96s.0: IO Pin 007 (TB3-08): InM Input Module #0, pin in7 (Input)
hm2/hm2_7i96s.0: IO Pin 008 (TB3-09): InM Input Module #0, pin in8 (Input)
hm2/hm2_7i96s.0: IO Pin 009 (TB3-10): InM Input Module #0, pin in9 (Input)
hm2/hm2_7i96s.0: IO Pin 010 (TB3-11): InM Input Module #0, pin in10 (Input)
hm2/hm2_7i96s.0: IO Pin 011 (TB3-13/TB3-14): SSR #0, pin Out-00 (Output)
hm2/hm2_7i96s.0: IO Pin 012 (TB3-15/TB3-16): SSR #0, pin Out-01 (Output)
hm2/hm2_7i96s.0: IO Pin 013 (TB3-17/TB3-18): SSR #0, pin Out-02 (Output)
hm2/hm2_7i96s.0: IO Pin 014 (TB3-19/TB3-20): SSR #0, pin Out-03 (Output)
hm2/hm2_7i96s.0: IO Pin 015 (TB3-21/TB3-22): OutM Output Module #0, pin Out-04 (Output)
hm2/hm2_7i96s.0: IO Pin 016 (TB3-23/TB3-24): OutM Output Module #0, pin Out-05 (Output)
hm2/hm2_7i96s.0: IO Pin 017 (TB1-02/TB1-03): StepGen #0, pin Step (Output)
hm2/hm2_7i96s.0: IO Pin 018 (TB1-04/TB1-05): StepGen #0, pin Direction (Output)
hm2/hm2_7i96s.0: IO Pin 019 (TB1-08/TB1-09): StepGen #1, pin Step (Output)
hm2/hm2_7i96s.0: IO Pin 020 (TB1-10/TB1-11): StepGen #1, pin Direction (Output)
hm2/hm2_7i96s.0: IO Pin 021 (TB1-14/TB1-15): StepGen #2, pin Step (Output)
hm2/hm2_7i96s.0: IO Pin 022 (TB1-16/TB1-17): StepGen #2, pin Direction (Output)
hm2/hm2_7i96s.0: IO Pin 023 (TB1-20/TB1-21): StepGen #3, pin Step (Output)
hm2/hm2_7i96s.0: IO Pin 024 (TB1-22-TB1-23): StepGen #3, pin Direction (Output)
hm2/hm2_7i96s.0: IO Pin 025 (TB2-02/TB2-03): StepGen #4, pin Step (Output)
hm2/hm2_7i96s.0: IO Pin 026 (TB2-04/TB2-05): StepGen #4, pin Direction (Output)
hm2/hm2_7i96s.0: IO Pin 027 (TB2-07/TB2-08): Encoder #0, pin A (Input)
hm2/hm2_7i96s.0: IO Pin 028 (TB2-10/TB2-11): Encoder #0, pin B (Input)
hm2/hm2_7i96s.0: IO Pin 029 (TB2-13/TB2-14): Encoder #0, pin Index (Input)
hm2/hm2_7i96s.0: IO Pin 030 (TB2-16/TB2-17): IOPort
hm2/hm2_7i96s.0: IO Pin 031 (TB2-18/TB2-19): IOPort
hm2/hm2_7i96s.0: IO Pin 032 (internal): IOPort
hm2/hm2_7i96s.0: IO Pin 033 (internal): SSR #0, pin AC Ref (internal) (Output)
hm2/hm2_7i96s.0: IO Pin 034 (P1-01): IOPort
hm2/hm2_7i96s.0: IO Pin 035 (P1-02): IOPort
hm2/hm2_7i96s.0: IO Pin 036 (P1-03): IOPort
hm2/hm2_7i96s.0: IO Pin 037 (P1-04): IOPort
hm2/hm2_7i96s.0: IO Pin 038 (P1-05): IOPort
hm2/hm2_7i96s.0: IO Pin 039 (P1-06): IOPort
hm2/hm2_7i96s.0: IO Pin 040 (P1-07): IOPort
hm2/hm2_7i96s.0: IO Pin 041 (P1-08): IOPort
hm2/hm2_7i96s.0: IO Pin 042 (P1-09): IOPort
hm2/hm2_7i96s.0: IO Pin 043 (P1-11): IOPort
hm2/hm2_7i96s.0: IO Pin 044 (P1-13): IOPort
hm2/hm2_7i96s.0: IO Pin 045 (P1-15): IOPort
hm2/hm2_7i96s.0: IO Pin 046 (P1-17): IOPort
hm2/hm2_7i96s.0: IO Pin 047 (P1-19): IOPort
hm2/hm2_7i96s.0: IO Pin 048 (P1-21): IOPort
hm2/hm2_7i96s.0: IO Pin 049 (P1-23): IOPort
hm2/hm2_7i96s.0: IO Pin 050 (P1-25): IOPort
hm2/hm2_7i96s.0: registered
hm2_eth: in hm2_eth_reset
hm2_eth: HostMot2 ethernet driver unloaded
hm2: unloading
Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments
Debug file information:
Note: Using POSIX realtime
/usr/bin/gmoccapy:312: GtkWarning: Invalid icon size 48
self.widgets.window1.show()
(gmoccapy:1107): GtkSourceView-CRITICAL **: 19:40:04.973: gtk_source_language_manager_set_search_path: assertion 'lm->priv->ids == NULL' failed
Unexpected realtime delay on task 0 with period 1000000
This Message will only display once per session.
Run the Latency Test and resolve before continuing.
/usr/lib/python2.7/dist-packages/gmoccapy/notification.py:168: GtkWarning: Invalid icon size 48
self.popup.show()
/usr/bin/gmoccapy:5248: GtkWarning: Invalid icon size 48
gtk.main()
[xcb] Unknown sequence number while processing queue
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
python2: ../../src/xcb_io.c:263: poll_for_event: Assertion `!xcb_xlib_threads_sequence_lost' failed.
/usr/bin/linuxcnc: line 896: 1107 Aborted $EMCDISPLAY -ini "$INIFILE" $EMCDISPLAYARGS $EXTRA_ARGS
1054
1103
Stopping realtime threads
Unloading hal components
Note: Using POSIX realtime
Info report created by linuxcnc_info:
The file: /tmp/linuxcnc_info.txt
can be posted to a forum or a web site like:
pastebin.com
in order to provide information about the linuxcnc
system and configuration.
Date: Mon 11 Nov 2024 07:44:27 PM EET
UTC Date: Mon 11 Nov 2024 05:44:27 PM UTC
this program: /usr/bin/linuxcnc_info
uptime: 19:44:27 up 5 min, 2 users, load average: 1.00, 1.22, 0.64
lsb_release -sa: Raspbian Raspbian GNU/Linux 10 (buster) 10 buster
which linuxcnc: /usr/bin/linuxcnc
pwd: /home/pi/linuxcnc/configs/plasma
USER: pi
LOGNAME: pi
HOME: /home/pi
EDITOR:
VISUAL:
LANGUAGE:
TERM: dumb
COLORTERM:
DISPLAY: :0.0
DESKTOP: LXDE-pi
display size: 1200x1280 pixels (318x339 millimeters)
PATH: /usr/bin:/home/pi/linuxcnc/configs/plasma/bin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
uname items:
nodename -n: raspberrypi
kernel-name -s: Linux
kernel-vers -v: #1 SMP PREEMPT RT Fri Jan 1 21:15:16 GMT 2021
machine -m: armv7l
processor -p: unknown
platform -i: unknown
oper system -o: GNU/Linux
/proc items:
cmdline: coherent_pool=1M 8250.nr_uarts=0 cma=64M bcm2708_fb.fbwidth=1200 bcm2708_fb.fbheight=1280 bcm2708_fb.fbswap=1 smsc95xx.macaddr=DC:A6:32:F7:46:81 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 console=ttyS0,115200 console=tty1 root=PARTUUID=fdc20b50-02 rootfstype=ext4 elevator=deadline fsck.repair=yes isolcpus=3 idle=poll rootwait quiet splash plymouth.ignore-serial-consoles cfg80211.ieee80211_regdom=LT
model name: ARMv7 Processor rev 3 (v7l)
cores:
cpu MHz:
parport:
serial:
Versions:
gcc: gcc (Raspbian 8.3.0-6+rpi1) 8.3.0
python: Python 2.7.16
git: git version 2.20.1
git commit: NA
tcl: 8.6
tk: 8.6
glade: not_in_PATH
glade-gtk2: not_in_PATH
linuxcnc_var all:
LINUXCNCVERSION: 2.8.4
LINUXCNC_AUX_GLADEVCP: /usr/share/linuxcnc/aux_gladevcp
LINUXCNC_AUX_EXAMPLES: /usr/share/linuxcnc/aux_examples
REALTIME: /etc/init.d/realtime
RTS: uspace
HALLIB_DIR: /usr/share/linuxcnc/hallib
dpkg -l '*linuxcnc*':
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-===============-============-============-=====================================================================
un linuxcnc <none> <none> (no description available)
un linuxcnc-doc <none> <none> (no description available)
ii linuxcnc-doc-en 1:2.8.4 all motion controller for CNC machines and robots (English documentation)
un linuxcnc-sim <none> <none> (no description available)
ii linuxcnc-uspace 1:2.8.4 armhf motion controller for CNC machines and robots
Thank you
Randomly the program crashes when navigating the gmocappy gui. it happens while jogging in small increments, when switching to program mode, when searching for a gcode file. I'd say the raspberry crashes more often than the pc. When i manage to start a gcode file, even if it is hours long, it is stable.
i attached a report below, this time the machine was homed and the y axis was moved in small increments when it crashed.
Report:
Warning: Spoiler!
Error report created by /usr/lib/tcltk/linuxcnc/show_errors.tcl:
Print file information:
RUN_IN_PLACE=no
LINUXCNC_DIR=
LINUXCNC_BIN_DIR=/usr/bin
LINUXCNC_TCL_DIR=/usr/lib/tcltk/linuxcnc
LINUXCNC_SCRIPT_DIR=
LINUXCNC_RTLIB_DIR=/usr/lib/linuxcnc/modules
LINUXCNC_CONFIG_DIR=
LINUXCNC_LANG_DIR=/usr/lib/tcltk/linuxcnc/msgs
INIVAR=inivar
HALCMD=halcmd
LINUXCNC_EMCSH=/usr/bin/wish8.6
LINUXCNC - 2.8.4
Machine configuration directory is '/home/pi/linuxcnc/configs/plasma'
Machine configuration file is 'plasma.ini'
INIFILE=/home/pi/linuxcnc/configs/plasma/plasma.ini
VERSION=1.1
PARAMETER_FILE=metric_parameters.txt
TASK=milltask
HALUI=halui
DISPLAY=gmoccapy
COORDINATES=XYYZA
KINEMATICS=trivkins coordinates=XYYZA kinstype=BOTH
Starting LinuxCNC...
Starting LinuxCNC server program: linuxcncsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting LinuxCNC IO program: io
Starting HAL User Interface program: halui
twopass:invoked with <> options
twopass:found ./plasma.hal
twopass:found ././plasmac/plasmac.tcl
twopass:found ./plasma_connections.hal
Starting TASK program: milltask
Starting DISPLAY program: gmoccapy
task: main loop took 0.141396 seconds
task: main loop took 2.166802 seconds
33554435
41943043
37748739
35651587
39845891
31457283
44040195
Unexpected realtime delay on task 0 with period 1000000
This Message will only display once per session.
Run the Latency Test and resolve before continuing.
(0, ' = ', '/usr/bin/gmoccapy')
(1, ' = ', '-ini')
(2, ' = ', '/home/pi/linuxcnc/configs/plasma/plasma.ini')
Entry = trivkins
Entry = coordinates=XYYZA
found the following coordinates xyyza
Entry = kinstype=BOTH
**** GMOCCAPY GETINIINFO ****
Number of joints = 5
5 COORDINATES found = xyyza
('Fount double letter ', )
joint 0 = axis x
joint 1 = axis y0
joint 2 = axis y1
joint 3 = axis z
joint 4 = axis a
{0: 'x', 1: 'y0', 2: 'y1', 3: 'z', 4: 'a'}
**** GMOCCAPY GETINIINFO ****
[KINS] KINESTYPE is trivkins
Found kinstype=BOTH but using trivkins
It is not recommended to do so!
Will use mode to switch between Joints and World mode
hopefully supported by the used <<trivkins>> module
**** GMOCCAPY GETINIINFO ****
No MAX_RAPID_OVERRIDE entry found in [DISPLAY] of INI file
Default settings 100 % applied!
**** GMOCCAPY GETINIINFO ****
Preference file path: /home/pi/linuxcnc/configs/plasma/Plasma.pref
**** GMOCCAPY GETINIINFO ****
No DEFAULT_SPINDLE_SPEED entry found in [DISPLAY] of INI file
**** GMOCCAPY INFO ****
**** no valid probe config in INI File ****
**** disabled tool measurement ****
**** GMOCCAPY INFO ****
**** Entering make_DRO
axis_list =
**** GMOCCAPY INFO ****
**** Entering make ref axis button
('Filepath = ', '/usr/share/gmoccapy/images/ref_all.png')
('Filepath = ', '/usr/share/gmoccapy/images/ref_0.png')
('Filepath = ', '/usr/share/gmoccapy/images/ref_1.png')
('Filepath = ', '/usr/share/gmoccapy/images/ref_2.png')
('Filepath = ', '/usr/share/gmoccapy/images/ref_3.png')
('Filepath = ', '/usr/share/gmoccapy/images/ref_4.png')
('Filepath = ', '/usr/share/gmoccapy/images/unhome.png')
**** GMOCCAPY INFO ****
**** Entering make touch button
**** GMOCCAPY INFO ****
**** Entering make jog increments
**** GMOCCAPY INFO ****
**** Entering make jog button
**** GMOCCAPY INFO ****
**** Entering make joints button
**** GMOCCAPY INFO ****
**** arrange JOINTS button
Found 10 Joints Button
**** GMOCCAPY INFO ****
**** Entering make macro button
found 0 Macros
**** GMOCCAPY INFO ****
**** arrange DRO
4
**** GMOCCAPY INFO ****
**** Place in table
**** GMOCCAPY INFO ****
**** get DRO order
**** GMOCCAPY INFO ****
**** arrange JOG button
less than 6 axis
**** GMOCCAPY INFO ****
**** no audio available! ****
**** PYGST libray not installed? ****
**** is python-gstX.XX installed? ****
**** GMOCCAPY INFO ****
**** Entering init gremlin ****
Kinematics type changed
('_set_enable_tooltips = ', True)
**** GMOCCAPY INFO ****
**** No virtual keyboard installed, we checked for <onboard> and <matchbox-keyboard>.
**** GMOCCAPY INFO: Gcode.lang found ****
**** GMOCCAPY GETINIINFO ****
Wrong entry [DISPLAY] CYCLE_TIME in INI File!
Will use gmoccapy default 150
**** GMOCCAPY INFO : inifile = /home/pi/linuxcnc/configs/plasma/plasma.ini ****:
**** GMOCCAPY INFO : postgui halfile = postgui.tcl ****:
Jog Pin Changed
x+
Jog Button released = x+
Jog Pin Changed
x-
Jog Button released = x-
Jog Pin Changed
y+
Jog Button released = y+
Jog Pin Changed
y-
Jog Button released = y-
Jog Pin Changed
z+
Jog Button released = z+
Jog Pin Changed
z-
Jog Button released = z-
Jog Pin Changed
a+
Jog Button released = a+
Jog Pin Changed
a-
Jog Button released = a-
Jog Pin Changed
0+
Jog Button released = 0+
Jog Pin Changed
0+
Jog Button released = 0+
Jog Pin Changed
1+
Jog Button released = 1+
Jog Pin Changed
1+
Jog Button released = 1+
Jog Pin Changed
2+
Jog Button released = 2+
Jog Pin Changed
2+
Jog Button released = 2+
Jog Pin Changed
3+
Jog Button released = 3+
Jog Pin Changed
3+
Jog Button released = 3+
Jog Pin Changed
4+
Jog Button released = 4+
Jog Pin Changed
4+
Jog Button released = 4+
IDLE
1 2
MANUAL Mode
RUN
IDLE
ntb_button_switch_page
('on button home clicked = ', 'ref_all')
('Hal Status not all homed', '0124')
('Hal Status not all homed', '124')
('Hal Status not all homed', '12')
('Hal Status not all homed', '2')
Combi DRO all homed
Combi DRO all homed
Combi DRO all homed
Combi DRO all homed
hal status motion mode changed
Hal Status all homed
ntb_button_switch_page
Jog Button pressed = y-
Jog Button released = y-
Jog ButtShutting down and cleaning up LinuxCNC...
task: 9501 cycles, min=0.000150, max=2.166802, avg=0.010410, 2 latency excursions (> 10x expected cycle time of 0.010000s)
hm2: loading Mesa HostMot2 driver version 0.15
hm2_eth: loading Mesa AnyIO HostMot2 ethernet driver version 0.2
hm2_eth: 10.10.10.10: INFO: Hardware address (MAC): 00:60:1b:16:86:c3
hm2_eth: discovered 7I96S
hm2/hm2_7i96s.0: Low Level init 0.15
hm2/hm2_7i96s.0: Smart Serial Firmware Version 43
hm2/hm2_7i96s.0: 51 I/O Pins used:
hm2/hm2_7i96s.0: IO Pin 000 (TB3-01): InM Input Module #0, pin in0 (Input)
hm2/hm2_7i96s.0: IO Pin 001 (TB3-02): InM Input Module #0, pin in1 (Input)
hm2/hm2_7i96s.0: IO Pin 002 (TB3-03): InM Input Module #0, pin in2 (Input)
hm2/hm2_7i96s.0: IO Pin 003 (TB3-04): InM Input Module #0, pin in3 (Input)
hm2/hm2_7i96s.0: IO Pin 004 (TB3-05): InM Input Module #0, pin in4 (Input)
hm2/hm2_7i96s.0: IO Pin 005 (TB3-06): InM Input Module #0, pin in5 (Input)
hm2/hm2_7i96s.0: IO Pin 006 (TB3-07): InM Input Module #0, pin in6 (Input)
hm2/hm2_7i96s.0: IO Pin 007 (TB3-08): InM Input Module #0, pin in7 (Input)
hm2/hm2_7i96s.0: IO Pin 008 (TB3-09): InM Input Module #0, pin in8 (Input)
hm2/hm2_7i96s.0: IO Pin 009 (TB3-10): InM Input Module #0, pin in9 (Input)
hm2/hm2_7i96s.0: IO Pin 010 (TB3-11): InM Input Module #0, pin in10 (Input)
hm2/hm2_7i96s.0: IO Pin 011 (TB3-13/TB3-14): SSR #0, pin Out-00 (Output)
hm2/hm2_7i96s.0: IO Pin 012 (TB3-15/TB3-16): SSR #0, pin Out-01 (Output)
hm2/hm2_7i96s.0: IO Pin 013 (TB3-17/TB3-18): SSR #0, pin Out-02 (Output)
hm2/hm2_7i96s.0: IO Pin 014 (TB3-19/TB3-20): SSR #0, pin Out-03 (Output)
hm2/hm2_7i96s.0: IO Pin 015 (TB3-21/TB3-22): OutM Output Module #0, pin Out-04 (Output)
hm2/hm2_7i96s.0: IO Pin 016 (TB3-23/TB3-24): OutM Output Module #0, pin Out-05 (Output)
hm2/hm2_7i96s.0: IO Pin 017 (TB1-02/TB1-03): StepGen #0, pin Step (Output)
hm2/hm2_7i96s.0: IO Pin 018 (TB1-04/TB1-05): StepGen #0, pin Direction (Output)
hm2/hm2_7i96s.0: IO Pin 019 (TB1-08/TB1-09): StepGen #1, pin Step (Output)
hm2/hm2_7i96s.0: IO Pin 020 (TB1-10/TB1-11): StepGen #1, pin Direction (Output)
hm2/hm2_7i96s.0: IO Pin 021 (TB1-14/TB1-15): StepGen #2, pin Step (Output)
hm2/hm2_7i96s.0: IO Pin 022 (TB1-16/TB1-17): StepGen #2, pin Direction (Output)
hm2/hm2_7i96s.0: IO Pin 023 (TB1-20/TB1-21): StepGen #3, pin Step (Output)
hm2/hm2_7i96s.0: IO Pin 024 (TB1-22-TB1-23): StepGen #3, pin Direction (Output)
hm2/hm2_7i96s.0: IO Pin 025 (TB2-02/TB2-03): StepGen #4, pin Step (Output)
hm2/hm2_7i96s.0: IO Pin 026 (TB2-04/TB2-05): StepGen #4, pin Direction (Output)
hm2/hm2_7i96s.0: IO Pin 027 (TB2-07/TB2-08): Encoder #0, pin A (Input)
hm2/hm2_7i96s.0: IO Pin 028 (TB2-10/TB2-11): Encoder #0, pin B (Input)
hm2/hm2_7i96s.0: IO Pin 029 (TB2-13/TB2-14): Encoder #0, pin Index (Input)
hm2/hm2_7i96s.0: IO Pin 030 (TB2-16/TB2-17): IOPort
hm2/hm2_7i96s.0: IO Pin 031 (TB2-18/TB2-19): IOPort
hm2/hm2_7i96s.0: IO Pin 032 (internal): IOPort
hm2/hm2_7i96s.0: IO Pin 033 (internal): SSR #0, pin AC Ref (internal) (Output)
hm2/hm2_7i96s.0: IO Pin 034 (P1-01): IOPort
hm2/hm2_7i96s.0: IO Pin 035 (P1-02): IOPort
hm2/hm2_7i96s.0: IO Pin 036 (P1-03): IOPort
hm2/hm2_7i96s.0: IO Pin 037 (P1-04): IOPort
hm2/hm2_7i96s.0: IO Pin 038 (P1-05): IOPort
hm2/hm2_7i96s.0: IO Pin 039 (P1-06): IOPort
hm2/hm2_7i96s.0: IO Pin 040 (P1-07): IOPort
hm2/hm2_7i96s.0: IO Pin 041 (P1-08): IOPort
hm2/hm2_7i96s.0: IO Pin 042 (P1-09): IOPort
hm2/hm2_7i96s.0: IO Pin 043 (P1-11): IOPort
hm2/hm2_7i96s.0: IO Pin 044 (P1-13): IOPort
hm2/hm2_7i96s.0: IO Pin 045 (P1-15): IOPort
hm2/hm2_7i96s.0: IO Pin 046 (P1-17): IOPort
hm2/hm2_7i96s.0: IO Pin 047 (P1-19): IOPort
hm2/hm2_7i96s.0: IO Pin 048 (P1-21): IOPort
hm2/hm2_7i96s.0: IO Pin 049 (P1-23): IOPort
hm2/hm2_7i96s.0: IO Pin 050 (P1-25): IOPort
hm2/hm2_7i96s.0: registered
hm2_eth: in hm2_eth_reset
hm2_eth: HostMot2 ethernet driver unloaded
hm2: unloading
Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments
Debug file information:
Note: Using POSIX realtime
/usr/bin/gmoccapy:312: GtkWarning: Invalid icon size 48
self.widgets.window1.show()
(gmoccapy:1107): GtkSourceView-CRITICAL **: 19:40:04.973: gtk_source_language_manager_set_search_path: assertion 'lm->priv->ids == NULL' failed
Unexpected realtime delay on task 0 with period 1000000
This Message will only display once per session.
Run the Latency Test and resolve before continuing.
/usr/lib/python2.7/dist-packages/gmoccapy/notification.py:168: GtkWarning: Invalid icon size 48
self.popup.show()
/usr/bin/gmoccapy:5248: GtkWarning: Invalid icon size 48
gtk.main()
[xcb] Unknown sequence number while processing queue
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
python2: ../../src/xcb_io.c:263: poll_for_event: Assertion `!xcb_xlib_threads_sequence_lost' failed.
/usr/bin/linuxcnc: line 896: 1107 Aborted $EMCDISPLAY -ini "$INIFILE" $EMCDISPLAYARGS $EXTRA_ARGS
1054
1103
Stopping realtime threads
Unloading hal components
Note: Using POSIX realtime
Info report created by linuxcnc_info:
The file: /tmp/linuxcnc_info.txt
can be posted to a forum or a web site like:
pastebin.com
in order to provide information about the linuxcnc
system and configuration.
Date: Mon 11 Nov 2024 07:44:27 PM EET
UTC Date: Mon 11 Nov 2024 05:44:27 PM UTC
this program: /usr/bin/linuxcnc_info
uptime: 19:44:27 up 5 min, 2 users, load average: 1.00, 1.22, 0.64
lsb_release -sa: Raspbian Raspbian GNU/Linux 10 (buster) 10 buster
which linuxcnc: /usr/bin/linuxcnc
pwd: /home/pi/linuxcnc/configs/plasma
USER: pi
LOGNAME: pi
HOME: /home/pi
EDITOR:
VISUAL:
LANGUAGE:
TERM: dumb
COLORTERM:
DISPLAY: :0.0
DESKTOP: LXDE-pi
display size: 1200x1280 pixels (318x339 millimeters)
PATH: /usr/bin:/home/pi/linuxcnc/configs/plasma/bin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
uname items:
nodename -n: raspberrypi
kernel-name -s: Linux
kernel-vers -v: #1 SMP PREEMPT RT Fri Jan 1 21:15:16 GMT 2021
machine -m: armv7l
processor -p: unknown
platform -i: unknown
oper system -o: GNU/Linux
/proc items:
cmdline: coherent_pool=1M 8250.nr_uarts=0 cma=64M bcm2708_fb.fbwidth=1200 bcm2708_fb.fbheight=1280 bcm2708_fb.fbswap=1 smsc95xx.macaddr=DC:A6:32:F7:46:81 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 console=ttyS0,115200 console=tty1 root=PARTUUID=fdc20b50-02 rootfstype=ext4 elevator=deadline fsck.repair=yes isolcpus=3 idle=poll rootwait quiet splash plymouth.ignore-serial-consoles cfg80211.ieee80211_regdom=LT
model name: ARMv7 Processor rev 3 (v7l)
cores:
cpu MHz:
parport:
serial:
Versions:
gcc: gcc (Raspbian 8.3.0-6+rpi1) 8.3.0
python: Python 2.7.16
git: git version 2.20.1
git commit: NA
tcl: 8.6
tk: 8.6
glade: not_in_PATH
glade-gtk2: not_in_PATH
linuxcnc_var all:
LINUXCNCVERSION: 2.8.4
LINUXCNC_AUX_GLADEVCP: /usr/share/linuxcnc/aux_gladevcp
LINUXCNC_AUX_EXAMPLES: /usr/share/linuxcnc/aux_examples
REALTIME: /etc/init.d/realtime
RTS: uspace
HALLIB_DIR: /usr/share/linuxcnc/hallib
dpkg -l '*linuxcnc*':
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-===============-============-============-=====================================================================
un linuxcnc <none> <none> (no description available)
un linuxcnc-doc <none> <none> (no description available)
ii linuxcnc-doc-en 1:2.8.4 all motion controller for CNC machines and robots (English documentation)
un linuxcnc-sim <none> <none> (no description available)
ii linuxcnc-uspace 1:2.8.4 armhf motion controller for CNC machines and robots
Thank you
- PCW

10 Nov 2024 14:39
Replied by PCW on topic Raspberry Pi4B and Mesa7C80 setup for a beginner
Raspberry Pi4B and Mesa7C80 setup for a beginner
Category: Driver Boards
You can actually ignore all the inmux setup in the manual
and not have any inmux related statements in the configuration
string.
One of the best ways to determine the pin/parameter names is with halcmd or halshow
for example, this command in a terminal when LinuxCNC is running:
halcmd show pin hm2
Will show all hardware pins, while:
halcmd show pin *inmux*
will show all inmux pins
You can also do this with halshow, You can launch halshow from axis
with Machine --> Show Hal Configuration. The "Watch" tab of halshow
allows you to monitor pins in real time.
and not have any inmux related statements in the configuration
string.
One of the best ways to determine the pin/parameter names is with halcmd or halshow
for example, this command in a terminal when LinuxCNC is running:
halcmd show pin hm2
Will show all hardware pins, while:
halcmd show pin *inmux*
will show all inmux pins
You can also do this with halshow, You can launch halshow from axis
with Machine --> Show Hal Configuration. The "Watch" tab of halshow
allows you to monitor pins in real time.
- d3m0n54in7
- d3m0n54in7
10 Nov 2024 03:24
Replied by d3m0n54in7 on topic Raspberry Pi4B and Mesa7C80 setup for a beginner
Raspberry Pi4B and Mesa7C80 setup for a beginner
Category: Driver Boards
Thank you very much for the response. It was indeed the hm2_eth that I needed to change to hm2_rpspi. I also needed to change the CARD0=hm2_7c80 to CARD0=hm2_7c80.0
The next hurdle to surmount is a simple syntax issue. Terminal blocks 1 and 2 are inmux which has gone over my head. After reading the HOSTMOT2 documentation (www.linuxcnc.org/docs/html/man/man9/hostmot2.9.html)
inmuxes have names like "hm2_<BoardType>.<BoardNum>.inmux.<Instance>". "Instance" is a two-digit number that corresponds to the HostMot2 inm or inmux instance number. There are "num_inms" or numx_inmuxs" instances, starting with 00. So if I want to use TB1 pin 7 for a "door closed" signal, following the manual, it's INPUT6. Would it be hm2_7c80.0.inmux06 ? What about activating TB2 pin 1 for INPUT COMMON 0?
The next hurdle to surmount is a simple syntax issue. Terminal blocks 1 and 2 are inmux which has gone over my head. After reading the HOSTMOT2 documentation (www.linuxcnc.org/docs/html/man/man9/hostmot2.9.html)
inmuxes have names like "hm2_<BoardType>.<BoardNum>.inmux.<Instance>". "Instance" is a two-digit number that corresponds to the HostMot2 inm or inmux instance number. There are "num_inms" or numx_inmuxs" instances, starting with 00. So if I want to use TB1 pin 7 for a "door closed" signal, following the manual, it's INPUT6. Would it be hm2_7c80.0.inmux06 ? What about activating TB2 pin 1 for INPUT COMMON 0?
- PCW

09 Nov 2024 14:19
Replied by PCW on topic Raspberry Pi4B and Mesa7C80 setup for a beginner
Raspberry Pi4B and Mesa7C80 setup for a beginner
Category: Driver Boards
hm2_eth: loading Mesa AnyIO HostMot2 ethernet driver version 0.2
You still have the Ethernet driver (hm2_eth) invoked in the hal file, you need the
RPI4 SPI driver (hm2_rpspi)
You still have the Ethernet driver (hm2_eth) invoked in the hal file, you need the
RPI4 SPI driver (hm2_rpspi)
- tommylight

09 Nov 2024 12:21
Replied by tommylight on topic Raspberry Pi4B and Mesa7C80 setup for a beginner
Raspberry Pi4B and Mesa7C80 setup for a beginner
Category: Driver Boards
From your error report:
./CNC_V_Mill.hal:10: parameter or pin 'hm2_7c80.watchdog.timeout_ns' not found
6722
So just omit that line in the hal file and try again.
./CNC_V_Mill.hal:10: parameter or pin 'hm2_7c80.watchdog.timeout_ns' not found
6722
So just omit that line in the hal file and try again.
- d3m0n54in7
- d3m0n54in7
09 Nov 2024 07:51 - 10 Nov 2024 03:29
Raspberry Pi4B and Mesa7C80 setup for a beginner was created by d3m0n54in7
Raspberry Pi4B and Mesa7C80 setup for a beginner
Category: Driver Boards
I had the idea to purchase the Mesa 7C80 board and a Raspberry Pi 4B to build my own control panel and have run head first into a severe lack of knowledge coupled with almost zero sources to find answers. I have used Raspberry Pis for other projects like media servers and 3d printer farms but I have really over extended myself on this one. I would greatly appreciate it if some of the individuals here that have successfully configured their own machines could assist me and hopefully I can build a guide so that others can learn how to configure these boards since they really do seem to be worth the investment.
1) I downloaded the Debian image shared by user shepherps and loaded it into my Pi. www.linuxcnc.org/iso/rpi-4-debian-bookwo...23-11-17-1731.img.xz
2) I adjusted the config file in the SD card to allow SPI
3) I modified the ribbon cable purchased from Mesanet so that it was about 2 inches long.
4) I changed the Region setting to US UT8 (I was receiving errors just trying to calculate the steps in pncconf and found the answer to be this)
5) I used mesaflash to verify that the board could communicate with the Pi
6) I used pncconf to generate the 7i96d with ini substitution enabled and then changed the instance of "CARD0=7I96.0" to "CARD0=7C80.0"
7) Changed "hm2_eth" to "hm2_rpspi" in the .hal file to change the communication driver from ethernet to SPI
To be honest I'm basically a script kiddie when it comes to Linux and Pis, I'm more of an arduino and FANUC guy so most of the other threads have gone over my head but I used to be proficient in DOS so far from intimidated by the terminal. I have attached my most recent error log to show where I'm stuck at now.
1) I downloaded the Debian image shared by user shepherps and loaded it into my Pi. www.linuxcnc.org/iso/rpi-4-debian-bookwo...23-11-17-1731.img.xz
2) I adjusted the config file in the SD card to allow SPI
3) I modified the ribbon cable purchased from Mesanet so that it was about 2 inches long.
4) I changed the Region setting to US UT8 (I was receiving errors just trying to calculate the steps in pncconf and found the answer to be this)
5) I used mesaflash to verify that the board could communicate with the Pi
6) I used pncconf to generate the 7i96d with ini substitution enabled and then changed the instance of "CARD0=7I96.0" to "CARD0=7C80.0"
7) Changed "hm2_eth" to "hm2_rpspi" in the .hal file to change the communication driver from ethernet to SPI
To be honest I'm basically a script kiddie when it comes to Linux and Pis, I'm more of an arduino and FANUC guy so most of the other threads have gone over my head but I used to be proficient in DOS so far from intimidated by the terminal. I have attached my most recent error log to show where I'm stuck at now.
- behai
- behai
08 Nov 2024 08:04
It just so turned out you were right: one of my encoder wire were loose, I tightened it on the CL57T-V41 driver and it behaves now.
This is the wiring diagram:
My References for the Wiring Diagram:
1.
From 34:14 CL57T Driver Overview.
2. help.stepperonline.com/en/article/wiring...tepper-motor-4cddqy/
The first CL57T diagram.
3. pypi.org/project/cl57t-raspberry-pi-stepper-drive/
See the table for signal pins to the Raspberry Pi 4B.
And I have learned to work the ENA+ pin: setting it to low to enable, to high to disable.
The Python code below turns the motor 1 revolution, pauses for a little then keeps on turning till Control C to stop.
If I changed [ gpio.output( ena_pin, gpio.LOW ) ] to [ gpio.output( ena_pin, gpio.HIGH ) ] the motor won't turn.
Now I am trying to figure out why I need 1600 to do one revolution, it is about how the DIP switches are set, I have to understand the table in the manual
Thank you and best regards,
...behai.
[
# 08/11/2024
#
# Enable by setting ENA+ pin to low. Expected: motor will run.
#
# /usr/bin/python3 nema23_04_ena_enabled.py
#
from time import sleep
import RPi.GPIO as gpio
direction_pin = 13
pulse_pin = 6
ena_pin = 19
cw_direction = 0
ccw_direction = 1
gpio.setmode( gpio.BCM )
gpio.setup( direction_pin, gpio.OUT )
gpio.setup( pulse_pin, gpio.OUT )
gpio.setup( ena_pin, gpio.OUT )
gpio.output( direction_pin, cw_direction )
# Enable.
gpio.output( ena_pin, gpio.LOW )
# ENA pin must be ahead of DIR by at least 200ms.
sleep( 0.5 )
try:
while True:
print( 'Direction CW' )
sleep( .5 )
gpio.output( direction_pin,cw_direction )
for x in range( 1600 ):
gpio.output( pulse_pin, gpio.HIGH )
sleep( 0.0001 )
gpio.output( pulse_pin, gpio.LOW )
sleep( 0.0001 )
except KeyboardInterrupt:
# Disable.
gpio.output( ena_pin, gpio.HIGH )
gpio.cleanup()
]
Replied by behai on topic Installing LinuxCNC 2.9 on Raspberry Pi 4B with Preempt-RT kernel
Installing LinuxCNC 2.9 on Raspberry Pi 4B with Preempt-RT kernel
Category: Installing LinuxCNC
Hi tommylight,A shot from the hip, but usually those drive/steppers will have wrong encoder wiring, would be prudent to double check.
It just so turned out you were right: one of my encoder wire were loose, I tightened it on the CL57T-V41 driver and it behaves now.
This is the wiring diagram:
My References for the Wiring Diagram:
1.
From 34:14 CL57T Driver Overview.
2. help.stepperonline.com/en/article/wiring...tepper-motor-4cddqy/
The first CL57T diagram.
3. pypi.org/project/cl57t-raspberry-pi-stepper-drive/
See the table for signal pins to the Raspberry Pi 4B.
And I have learned to work the ENA+ pin: setting it to low to enable, to high to disable.
The Python code below turns the motor 1 revolution, pauses for a little then keeps on turning till Control C to stop.
If I changed [ gpio.output( ena_pin, gpio.LOW ) ] to [ gpio.output( ena_pin, gpio.HIGH ) ] the motor won't turn.
Now I am trying to figure out why I need 1600 to do one revolution, it is about how the DIP switches are set, I have to understand the table in the manual
Thank you and best regards,
...behai.
[
# 08/11/2024
#
# Enable by setting ENA+ pin to low. Expected: motor will run.
#
# /usr/bin/python3 nema23_04_ena_enabled.py
#
from time import sleep
import RPi.GPIO as gpio
direction_pin = 13
pulse_pin = 6
ena_pin = 19
cw_direction = 0
ccw_direction = 1
gpio.setmode( gpio.BCM )
gpio.setup( direction_pin, gpio.OUT )
gpio.setup( pulse_pin, gpio.OUT )
gpio.setup( ena_pin, gpio.OUT )
gpio.output( direction_pin, cw_direction )
# Enable.
gpio.output( ena_pin, gpio.LOW )
# ENA pin must be ahead of DIR by at least 200ms.
sleep( 0.5 )
try:
while True:
print( 'Direction CW' )
sleep( .5 )
gpio.output( direction_pin,cw_direction )
for x in range( 1600 ):
gpio.output( pulse_pin, gpio.HIGH )
sleep( 0.0001 )
gpio.output( pulse_pin, gpio.LOW )
sleep( 0.0001 )
except KeyboardInterrupt:
# Disable.
gpio.output( ena_pin, gpio.HIGH )
gpio.cleanup()
]
Time to create page: 0.737 seconds