7i96 Configuration Tool
I'm using a brand new Mean Well RD-65B dual voltage power supply: 5V @4.0A, 24V @2A. Obviously only running the Mesa card off 5V
This could be an issue. I had one of these and could not it to go for what I bought it for. The company that sold it to me said that the 12 volt rail would not run unless there was sufficient current draw on the 5 volt side. I whacked a big ceramic resistor on 5 volts and I did get 12 volts out of it. I had hoped I could use it for my 7i76e but it did not draw current enough to enable the 12 volt rail.
I wonder if the 5 volt rail is a bit flaky at low current draw too? Much better to use discrete power supplies for each voltage.
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
- Posts: 19196
- Thank you received: 6434
That is very true, same is valid for all PC power supplies till several years back.The company that sold it to me said that the 12 volt rail would not run unless there was sufficient current draw on the 5 volt side.
The 5V rail is regulated, the 12V is not, so the 5V needs to have some load for the regulation to kick in.
That was due to 5V rail tolerance being +-5%, or 4.75V to 5.25V, and the 12V having a tolerance of +-10% or in some cases even +-15%.
A good phone charger will do just fine for providing 5V, especially original Samsung or any other big company. Steer clear of cheap Chinese knock off's.
Please Log in or Create an account to join the conversation.
@PCW I think some of the hardware info is in the bottom of the debug file I posted, but my initial concern would be the hard drive I'm using. It's a super old 12GB drive and is really loud. Was hoping it would be fine?? Had it laying around... Otherwise, my mb is an Asus A8V Deluxe and I'm using the on-board gigabit ethernet port. 1.5gb of ram I believe.
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:11:2f:62:ba:3f brd ff:ff:ff:ff:ff:ff
inet 10.10.10.9/24 brd 10.10.10.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::5b6:2fd6:209b:d1ea/64 scope link
valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:41:6c:0e:50 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.186/24 brd 192.168.1.255 scope global dynamic wlan0
valid_lft 5751sec preferred_lft 5751sec
inet6 fe80::4a84:f54d:f669:8c3e/64 scope link
valid_lft forever preferred_lft forever
Please Log in or Create an account to join the conversation.
by looking at the kernel log (via dmesg)
Another concern is the rather uncommon Marvell Ethernet chip, It might be an issue
( I know BroadCom chips are problematic with real time but these are also rare on current motherboards )
I would try a different power supply and if that does not help the ping times, a different motherboard
Please Log in or Create an account to join the conversation.
Check your testcnc.hal if there is a PWM loaded at this line
loadrt hm2_eth ................num_encoder..........num_stepgens ..............num PWM
Not sure how that is all there, just from memory, i think you should have a PWM loaded there.
The error says
./testcnc.hal:99: parameter or pin 'hm2_7i96.0.pwmgen.00.output-type' not found
Or it might not been added to the servo thread.
So, per everyone's recommendations, I've now built up a completely different PC that gives me very consistent pings and pin reads! I'm also using my phone charger for 5V as well, but it's been acting like the PC was the biggest factor here as the original ps gives the same results. The results being what's found in my error 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.0-pre1-5581-gad29499e8
Machine configuration directory is '/home/cnc/linuxcnc/configs/testcnc'
Machine configuration file is 'testcnc.ini'
INIFILE=/home/cnc/linuxcnc/configs/testcnc/testcnc.ini
VERSION=1.1
PARAMETER_FILE=testcnc.var
TASK=milltask
HALUI=
DISPLAY=axis
COORDINATES=XY
KINEMATICS=trivkins coordinates=XY
Starting LinuxCNC...
Starting LinuxCNC server program: linuxcncsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting LinuxCNC IO program: io
Found file(REL): ./testcnc.hal
Shutting down and cleaning up LinuxCNC...
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: Hardware address: 00:60:1b:16:01:0c
hm2_eth: discovered 7I96
hm2/hm2_7i96.0: Smart Serial Firmware Version 43
hm2/hm2_7i96.0: 51 I/O Pins used:
hm2/hm2_7i96.0: IO Pin 000 (TB3-01): IOPort
hm2/hm2_7i96.0: IO Pin 001 (TB3-02): IOPort
hm2/hm2_7i96.0: IO Pin 002 (TB3-03): IOPort
hm2/hm2_7i96.0: IO Pin 003 (TB3-04): IOPort
hm2/hm2_7i96.0: IO Pin 004 (TB3-05): IOPort
hm2/hm2_7i96.0: IO Pin 005 (TB3-06): IOPort
hm2/hm2_7i96.0: IO Pin 006 (TB3-07): IOPort
hm2/hm2_7i96.0: IO Pin 007 (TB3-08): IOPort
hm2/hm2_7i96.0: IO Pin 008 (TB3-09): IOPort
hm2/hm2_7i96.0: IO Pin 009 (TB3-10): IOPort
hm2/hm2_7i96.0: IO Pin 010 (TB3-11): IOPort
hm2/hm2_7i96.0: IO Pin 011 (TB3-13/TB3-14): SSR #0, pin Out-00 (Output)
hm2/hm2_7i96.0: IO Pin 012 (TB3-15/TB3-16): SSR #0, pin Out-01 (Output)
hm2/hm2_7i96.0: IO Pin 013 (TB3-17/TB3-18): SSR #0, pin Out-02 (Output)
hm2/hm2_7i96.0: IO Pin 014 (TB3-19/TB3-20): SSR #0, pin Out-03 (Output)
hm2/hm2_7i96.0: IO Pin 015 (TB3-21/TB3-22): SSR #0, pin Out-04 (Output)
hm2/hm2_7i96.0: IO Pin 016 (TB3-23/TB3-24): SSR #0, pin Out-05 (Output)
hm2/hm2_7i96.0: IO Pin 017 (TB1-02/TB1-03): StepGen #0, pin Step (Output)
hm2/hm2_7i96.0: IO Pin 018 (TB1-04/TB1-05): StepGen #0, pin Direction (Output)
hm2/hm2_7i96.0: IO Pin 019 (TB1-08/TB1-09): StepGen #1, pin Step (Output)
hm2/hm2_7i96.0: IO Pin 020 (TB1-10/TB1-11): StepGen #1, pin Direction (Output)
hm2/hm2_7i96.0: IO Pin 021 (TB1-14/TB1-15): StepGen #2, pin Step (Output)
hm2/hm2_7i96.0: IO Pin 022 (TB1-16/TB1-17): StepGen #2, pin Direction (Output)
hm2/hm2_7i96.0: IO Pin 023 (TB1-20/TB1-21): StepGen #3, pin Step (Output)
hm2/hm2_7i96.0: IO Pin 024 (TB1-22-TB1-23): StepGen #3, pin Direction (Output)
hm2/hm2_7i96.0: IO Pin 025 (TB2-01/TB2-03): IOPort
hm2/hm2_7i96.0: IO Pin 026 (TB2-04/TB2-05): IOPort
hm2/hm2_7i96.0: IO Pin 027 (TB2-07/TB2-08): Encoder #0, pin A (Input)
hm2/hm2_7i96.0: IO Pin 028 (TB2-10/TB2-11): Encoder #0, pin B (Input)
hm2/hm2_7i96.0: IO Pin 029 (TB2-13/TB2-14): Encoder #0, pin Index (Input)
hm2/hm2_7i96.0: IO Pin 030 (TB2-16/TB2-17): IOPort
hm2/hm2_7i96.0: IO Pin 031 (TB2-18/TB2-19): IOPort
hm2/hm2_7i96.0: IO Pin 032 (internal): IOPort
hm2/hm2_7i96.0: IO Pin 033 (internal): SSR #0, pin AC Ref (internal) (Output)
hm2/hm2_7i96.0: IO Pin 034 (P1-01): IOPort
hm2/hm2_7i96.0: IO Pin 035 (P1-02): IOPort
hm2/hm2_7i96.0: IO Pin 036 (P1-03): IOPort
hm2/hm2_7i96.0: IO Pin 037 (P1-04): IOPort
hm2/hm2_7i96.0: IO Pin 038 (P1-05): IOPort
hm2/hm2_7i96.0: IO Pin 039 (P1-06): IOPort
hm2/hm2_7i96.0: IO Pin 040 (P1-07): IOPort
hm2/hm2_7i96.0: IO Pin 041 (P1-08): IOPort
hm2/hm2_7i96.0: IO Pin 042 (P1-09): IOPort
hm2/hm2_7i96.0: IO Pin 043 (P1-11): IOPort
hm2/hm2_7i96.0: IO Pin 044 (P1-13): IOPort
hm2/hm2_7i96.0: IO Pin 045 (P1-15): IOPort
hm2/hm2_7i96.0: IO Pin 046 (P1-17): IOPort
hm2/hm2_7i96.0: IO Pin 047 (P1-19): IOPort
hm2/hm2_7i96.0: IO Pin 048 (P1-21): IOPort
hm2/hm2_7i96.0: IO Pin 049 (P1-23): IOPort
hm2/hm2_7i96.0: IO Pin 050 (P1-25): IOPort
hm2/hm2_7i96.0: registered
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
./testcnc.hal:99: parameter or pin 'hm2_7i96.0.pwmgen.00.output-type' not found
14273
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:
http://pastebin.com
in order to provide information about the linuxcnc
system and configuration.
Date: Sat Mar 28 17:09:56 CDT 2020
UTC Date: Sat Mar 28 22:09:56 UTC 2020
this program: /usr/bin/linuxcnc_info
uptime: 17:09:56 up 1:24, 1 user, load average: 0.38, 0.23, 0.19
lsb_release -sa: Debian Debian GNU/Linux 9.5 (stretch) 9.5 stretch
which linuxcnc: /usr/bin/linuxcnc
pwd: /home/cnc/linuxcnc/configs/testcnc
USER: cnc
LOGNAME: cnc
HOME: /home/cnc
EDITOR:
VISUAL:
LANGUAGE:
TERM: dumb
COLORTERM:
DISPLAY: :0.0
DESKTOP: lightdm-xsession
display size: 1920x1080 pixels (508x285 millimeters)
PATH: /usr/bin:/home/cnc/linuxcnc/configs/testcnc/bin:/usr/bin:/home/cnc/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
uname items:
nodename -n: cnc
kernel-name -s: Linux
kernel-vers -v: #1 SMP PREEMPT RT Debian 4.9.110-3+deb9u6 (2018-10-08)
machine -m: x86_64
processor -p: unknown
platform -i: unknown
oper system -o: GNU/Linux
/proc items:
cmdline: BOOT_IMAGE=/boot/vmlinuz-4.9.0-8-rt-amd64 root=/dev/sda1 ro quiet
model name: Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz
cores: 2
cpu MHz: 2000.000
parport:
serial:
Versions:
gcc: gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
python: Python 2.7.13
git: git version 2.11.0
git commit: NA
tcl: 8.6
tk: 8.6
glade: not_in_PATH
glade-gtk2: not_in_PATH
linuxcnc_var all:
LINUXCNCVERSION: 2.8.0-pre1-5581-gad29499e8
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-dev <none> <none> (no description available)
un linuxcnc-doc <none> <none> (no description available)
ii linuxcnc-doc-en 1:2.7.14 all motion controller for CNC machines and robots (English documentation)
un linuxcnc-sim <none> <none> (no description available)
un linuxcnc-sim-dev <none> <none> (no description available)
ii linuxcnc-uspace 1:2.8.0~pre1.5581.gad29499e8 amd64 motion controller for CNC machines and robots
ii linuxcnc-uspace-dev 1:2.8.0~pre1.5581.gad29499e8 amd64 PC based motion controller for real-time Linux
tommylight: what did you mean by your above statement? I'm using the exact same hal and ini as before but now I've added some spindle info using the configuration tool with hopes this would add what you were saying I might need? Also, after reading the pins with the config tool, my board reports pins 2 and 3 as PWM+/- on TB2, so that seems like my firmware is 4 StepGens and PWM like you're expecting. Any thoughts?
Thanks again in advance!
Matt
Please Log in or Create an account to join the conversation.
mesaflash --device 7i96 --addr 10.10.10.10 --readhmid
Please Log in or Create an account to join the conversation.
edit: not trying to get off topic, but what if I wanted to run as a 5 axis down the road? Would I just have to define all 5 axis with current firmware to avoid the PWM error and have a "5" in my Board Setup on the first tab of the config tool?
Configuration Name: HOSTMOT2
General configuration information:
BoardName : MESA7I96
FPGA Size: 9 KGates
FPGA Pins: 144
Number of IO Ports: 3
Width of one I/O port: 17
Clock Low frequency: 100.0000 MHz
Clock High frequency: 200.0000 MHz
IDROM Type: 3
Instance Stride 0: 4
Instance Stride 1: 64
Register Stride 0: 256
Register Stride 1: 256
Modules in configuration:
Module: DPLL
There are 1 of DPLL in configuration
Version: 0
Registers: 7
BaseAddress: 7000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: WatchDog
There are 1 of WatchDog in configuration
Version: 0
Registers: 3
BaseAddress: 0C00
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: IOPort
There are 3 of IOPort in configuration
Version: 0
Registers: 5
BaseAddress: 1000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: StepGen
There are 5 of StepGen in configuration
Version: 2
Registers: 10
BaseAddress: 2000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: QCount
There are 1 of QCount in configuration
Version: 2
Registers: 5
BaseAddress: 3000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: SSerial
There are 1 of SSerial in configuration
Version: 0
Registers: 6
BaseAddress: 5B00
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 64 bytes
Module: Transformer
There are 1 of Transformer in configuration
Version: 0
Registers: 2
BaseAddress: 7D00
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: LED
There are 1 of LED in configuration
Version: 0
Registers: 1
BaseAddress: 0200
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Configuration pin-out:
IO Connections for P1
Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir
1 0 IOPort None
14 1 IOPort None
2 2 IOPort None
15 3 IOPort None
3 4 IOPort None
16 5 IOPort None
4 6 IOPort None
17 7 IOPort None
5 8 IOPort None
6 9 IOPort None
7 10 IOPort None
8 11 IOPort Transformer 0 Drive (Out)
9 12 IOPort Transformer 0 Ref (Out)
10 13 IOPort Transformer 0 Null3 (Out)
11 14 IOPort Transformer 0 Null4 (Out)
12 15 IOPort Transformer 0 Null5 (Out)
13 16 IOPort Transformer 0 Null6 (Out)
IO Connections for TB1
Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir
1 17 IOPort StepGen 0 Step/Table1 (Out)
14 18 IOPort StepGen 0 Dir/Table2 (Out)
2 19 IOPort StepGen 1 Step/Table1 (Out)
15 20 IOPort StepGen 1 Dir/Table2 (Out)
3 21 IOPort StepGen 2 Step/Table1 (Out)
16 22 IOPort StepGen 2 Dir/Table2 (Out)
4 23 IOPort StepGen 3 Step/Table1 (Out)
17 24 IOPort StepGen 3 Dir/Table2 (Out)
5 25 IOPort StepGen 4 Step/Table1 (Out)
6 26 IOPort StepGen 4 Dir/Table2 (Out)
7 27 IOPort QCount 0 Quad-A (In)
8 28 IOPort QCount 0 Quad-B (In)
9 29 IOPort QCount 0 Quad-IDX (In)
10 30 IOPort SSerial 0 RXData1 (In)
11 31 IOPort SSerial 0 TXData1 (Out)
12 32 IOPort SSerial 0 TXEn1 (Out)
Segmentation fault
Please Log in or Create an account to join the conversation.
Do you need PWM?
(and yes that's the standard 5 axis configuration without PWM)
Edit: I think there is a bug in the configurator program that causes it to generate
hal statement referencing PWMgen pins when not required. You may need to simply
delete these statements in the hal file
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
- Posts: 19196
- Thank you received: 6434
./testcnc.hal:99: parameter or pin 'hm2_7i96.0.pwmgen.00.output-type' not found
Check what PCW said, and if there is a PWM check the line where the card is loaded...............
or just upload your hal and ini files.
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
- Posts: 19196
- Thank you received: 6434
Please Log in or Create an account to join the conversation.