Advanced Search

Search Results (Searched for: )

  • laurentl38
  • laurentl38
13 Oct 2025 06:34

increment 4 MPG jog wheels with Basic Probe

Category: QtPyVCP

Hello,

I'm using 4 MPG jog wheels. I don't have a physical button to change the increment.
With Axis, there's a HAL pin to get the GUI information about the jog increment.
Now, I'm transferring the configuration to Basic Probe, but I can't find the information about the increment selected in the GUI (pictured).

Is there a simple way to get the information about the increment selected in the GUI?
 

Regards
  • endian
  • endian's Avatar
13 Oct 2025 03:39
Replied by endian on topic Ethercat, EL6751 and CANOpen

Ethercat, EL6751 and CANOpen

Category: EtherCAT

okay ... thats kind weird ..

it should not runs like you described ...

maybe help convert setpoint to bool and there will be signal enable ... or use some general enable to enable spindle.0 too

 
  • cmorley
  • cmorley
13 Oct 2025 03:14
Replied by cmorley on topic installing QTVCP

installing QTVCP

Category: Qtvcp

What version of linux are you using?
  • bnet
  • bnet's Avatar
13 Oct 2025 02:49

Fanuc Serial Pulse Coders - Red cap servos, mesa 7i76e, how to?

Category: Driver Boards

Here's a version that uses the digitally settable preset velocity mode to seek for the index of the encoder:
# =====================================================
#  LinuxCNC HAL — Ultra3000 preset velocity index seek
#  Board: 7i76e main + 7i84 (outputs) + 7i85 (encoder)
#  Axis: X
# =====================================================

loadrt threads name1=servo-thread period1=1000000

# --- Load components ---
loadrt bldc count=1
loadrt encoder num_chan=1
loadrt mux2 count=1
loadrt and2 count=1
loadrt not count=1
loadrt timedelay count=1
loadrt oneshot count=1

addf encoder.update servo-thread
addf bldc servo-thread
addf timedelay servo-thread
addf oneshot servo-thread

# =====================================================
#  Encoder setup (7i85)
# =====================================================
setp hm2_7i85.0.encoder.00.scale 800
setp hm2_7i85.0.encoder.00.counter-mode 0
setp hm2_7i85.0.encoder.00.filter 1

net x-enc-a     hm2_7i85.0.encoder.00.input-a
net x-enc-b     hm2_7i85.0.encoder.00.input-b
net x-enc-z     hm2_7i85.0.encoder.00.input-index

# =====================================================
#  BLDC Hall synthesis (for Ultra3000 commutation)
# =====================================================
# 8-pole motor = 4 pole pairs
setp bldc.0.pole-pairs 4
setp bldc.0.encoder-scale 800
setp bldc.0.hall-offset 0      # will be updated after index alignment

net x-enc-pos       hm2_7i85.0.encoder.00.position => bldc.0.enc-pos
net hall-u          bldc.0.hall-u => hm2_7i84.0.output-00
net hall-v          bldc.0.hall-v => hm2_7i84.0.output-01
net hall-w          bldc.0.hall-w => hm2_7i84.0.output-02

# =====================================================
#  Preset Velocity Control Output (7i84)
# =====================================================
# Choose an available output (here output-03)
net preset-vel-enable => hm2_7i84.0.output-03

# =====================================================
#  Step/Dir control enable (7i76e stepgen 0)
# =====================================================
net stepgen-enable => hm2_7i76e.0.stepgen.00.enable

# =====================================================
#  State control logic for startup alignment
# =====================================================

# --- Delay after power-up before preset allowed ---
setp timedelay.0.on-delay 0.25
net startup-delay timedelay.0.out => preset-allow
net always-true timedelay.0.in <= true

# --- Oneshoot from encoder index detection ---
setp oneshot.0.width 0.05
net x-enc-index hm2_7i85.0.encoder.00.index => oneshot.0.in
net index-found oneshot.0.out

# --- Preset velocity enable logic ---
# When not yet found index and startup delay done -> enable preset rotation
loadrt and2 count=1
net not-found-delay and2.0.in0 <= preset-allow
net not-found-delay and2.0.in1 <= not-index-found
net preset-active and2.0.out => hm2_7i84.0.output-03

# --- index found logic ---
loadrt not count=1
net index-found oneshot.0.out => not.0.in
net not-index-found not.0.out

# --- On index detection, disable preset and enable stepgen ---
net index-found stepgen-enable
# (this ties directly; optionally route through another delay)
  • bnet
  • bnet's Avatar
13 Oct 2025 02:29 - 13 Oct 2025 02:51

Fanuc Serial Pulse Coders - Red cap servos, mesa 7i76e, how to?

Category: Driver Boards

The problem with the setup with the Fanuc encoders in my case was that I couldn't find a way to return quadrature encoder pulses back to the Ultra3000 drives which it requires to run. They need both, encoder and commutation pulses. Had I been using a motor drive that was controlled by LinuxCNC on a lower lever [such as the Mesa ones?] it would have worked (I think?) with BLDC component and original encoders. That would have been a slick setup. Also by the time I bought the Ultra3000's and the new encoders I am probably close to the price of those Mesa drives. Next time. 

Now onto generating commutation signals for the drives now that they have the encoder connected to them. ChatGPT seems to think its possible to do with BLDC. I've already spotted one error which is that the ultra3000s don't have an option to set low torque mode via the digital inputs.. So that leaves me unsure of if the rest of it will work.


# =======================================================
#  Fanuc Redcap → Ultra3000 setup (X axis)
#  Mesa 7i76e + 7i85 + 7i84
# =======================================================

# --- Load required components ---
loadrt bldc cfg=qiH
loadrt oneshot count=1
loadrt toggle count=1

addf bldc.0 servo-thread
addf oneshot.0 servo-thread
addf toggle.0 servo-thread

# =======================================================
#  Encoder Input (7i85)
# =======================================================

# Encoder channel 0 on 7i85 → 800 counts per rev
net x-rawcounts     hm2_7i85.0.encoder.00.rawcounts => bldc.0.rawcounts
net x-index-enable  hm2_7i85.0.encoder.00.index-enable => bldc.0.index-enable
net x-index-pulse   hm2_7i85.0.encoder.00.index => oneshot.0.in

setp oneshot.0.width 0.1
net x-index-detected oneshot.0.out => toggle.0.toggle
net x-index-found    toggle.0.state

# =======================================================
#  BLDC synthetic Hall generation
# =======================================================

setp bldc.0.scale           800          # encoder counts per mechanical rev
setp bldc.0.poles           4            # 8-pole motor = 4 pole pairs
setp bldc.0.encoder-offset  0.0          # adjust once aligned
setp bldc.0.output-pattern  25

# Output Hall states to Ultra3000 (7i84)
net hall1 bldc.0.hall1-out => hm2_7i84.0.output-00
net hall2 bldc.0.hall2-out => hm2_7i84.0.output-01
net hall3 bldc.0.hall3-out => hm2_7i84.0.output-02

# =======================================================
#  Step/Dir setup (X Axis)
# =======================================================

# Step/Dir on 7i76e output 0
setp hm2_7i76e.0.stepgen.00.dirsetup   5000
setp hm2_7i76e.0.stepgen.00.dirhold    5000
setp hm2_7i76e.0.stepgen.00.steplen    2500
setp hm2_7i76e.0.stepgen.00.stepspace  2500
setp hm2_7i76e.0.stepgen.00.position-scale 10000
setp hm2_7i76e.0.stepgen.00.maxvel     60
setp hm2_7i76e.0.stepgen.00.maxaccel   300
net x-pos-cmd axis.x.motor-pos-cmd => hm2_7i76e.0.stepgen.00.position-cmd
net x-pos-fb  hm2_7i76e.0.stepgen.00.position-fb => axis.x.motor-pos-fb
net x-enable  axis.x.amp-enable-out => hm2_7i76e.0.stepgen.00.enable

# =======================================================
#  Torque Limit Select control (7i84 output-04)
# =======================================================

# Before index found, TorqueLimitSelect = ON (low current)
# After index found, TorqueLimitSelect = OFF (normal torque)
# This drives a digital input on the Ultra3000.

net torque-low hm2_7i84.0.output-04
net torque-low <= not-x-index-found

# Use toggle to remember index found across servo cycles
net not-x-index-found toggle.0.state
# (If logic inverted, swap TRUE/FALSE below)
setp toggle.0.state 0   # default = index not found

# =======================================================
#  Auto jog-to-index at startup
# =======================================================

# At boot: torque low active, start slow jog
setp hm2_7i76e.0.stepgen.00.velocity-cmd 0.05
net torque-low hm2_7i76e.0.stepgen.00.enable

# Once index found: stop motion, switch torque to normal
net x-index-found => hm2_7i76e.0.stepgen.00.enable-not
net x-index-found => hm2_7i76e.0.stepgen.00.velocity-cmd 0
 
  • unknown
  • unknown
13 Oct 2025 01:34 - 16 Oct 2025 01:19

fixing "raspi firmware" errors on the official amd64 ISO

Category: Installing LinuxCNC

Thoughts changed, situation is little more complex.
  • langdons
  • langdons's Avatar
13 Oct 2025 00:58 - 13 Oct 2025 01:29
Why are there 3 2.9.2 ISO files? was created by langdons

Why are there 3 2.9.2 ISO files?

Category: General LinuxCNC Questions

There's this one:
linuxcnc.org/iso/LinuxCNC_2.9.2-amd64.hybrid.iso

And this one:
linuxcnc.org/iso/linuxcnc_2.9.2-amd.hybrid.iso

And this one too:
linuxcnc.org/iso/linuxcnc_2.9.2-amd.hybrid.iso

On my mirror, www3.langdonstaab.ca/iso, I would like to remove these likely duplicates to reduce bandwidth and load for my server in the event that someone downloads all the files on my server (with wget -r or something).

Are these files identical?

Why are they still there?

Which one is actually correct?
  • unknown
  • unknown
13 Oct 2025 00:05

fixing "raspi firmware" errors on the official amd64 ISO

Category: Installing LinuxCNC

Found the underlying issue:
#!/bin/sh

set -e

lb config noauto \
	--architectures amd64 \
	--linux-packages linux-image-rt \
	--debootstrap-options "--include=apt-transport-https,ca-certificates,openssl" \
	--distribution bookworm \
	--binary-images iso-hybrid \
	--debian-installer live \
	--archive-areas "main contrib non-free non-free-firmware" \
	--iso-application "LinuxCNC-2.9.6" \
	--iso-preparer "rmurphy@gmx.com" \
	--iso-volume "LinuxCNC_2.9.6" \
	--image-name "LinuxCNC_2.9.6" \
	--iso-publisher "www.linuxcnc.org" \
	--apt-recommends true \
	--security true \
	--updates true \
	--apt-options " --yes --allow-change-held-packages" \
	--bootappend-install "ipv6.disable=1" \
	--parent-mirror-bootstrap http://deb.debian.org/debian \
	--parent-mirror-binary http://deb.debian.org/debian \
	--parent-mirror-chroot-security http://deb.debian.org/debian-security \
	"${@}"

This line
	--architectures amd64 \
is missing from auto/config file

Booting into a live seesion dpkg --list has no entries for raspi-firmware
  • PCW
  • PCW's Avatar
12 Oct 2025 23:45
Replied by PCW on topic Servo analog command, PID and El5101

Servo analog command, PID and El5101

Category: EtherCAT

If you do not connect the pid.N.feedback-deriv pin, the PID component will calculate
the velocity (for the D term)  via D/DT of position, so its not required to generate
and independent velocity signal. This may not be quite as good as velocity estimation
but it should be pretty good if the scale resolution is high.
 
  • richcolvin
  • richcolvin's Avatar
12 Oct 2025 21:37 - 12 Oct 2025 21:38
Zero the DRO was created by richcolvin

Zero the DRO

Category: GladeVCP

I want to put a button on the Glade panel which will zero out the DRO.  I don't want to HOME the axis as I want it to be good where it is.

On the panel, I am currently displaying the DRO value from position-fb:

HAL file:
net x-pos-fb    => pid.x.feedback
net x-pos-fb   <=  hm2_7i92.0.stepgen.02.position.fb
net x-pos-fb   => joint.0.motor-pos-fb

PostGUI HAL file:
net x-pos-fb    => gladevcp.X_DRO             This is what gets displayed

I am assuming that I need to add a HAL button to GladeVCP and then call a function in the handler python program.
Within that function, how do I write a 0 to this?
  • vibram
  • vibram
12 Oct 2025 21:36
Servo analog command, PID and El5101 was created by vibram

Servo analog command, PID and El5101

Category: EtherCAT

Hello 
I run the follow configuration el4034 to command analog servo drive.
I have a glass scale wired to an EL5101 device. 
I saw several posts regarding pid tuning but I have the feeling (or I understood that way) the velocity was mandatory.
On the mesa, for each encoder we have the velocity available but it's not the case for the EL5101. 
How is it possible to generate it? 

Thank you in advance 
​​​​​​
  • Ul
  • Ul
12 Oct 2025 21:31

Tipps für aktuelle LinuxCNC Hardware gesucht

Category: Deutsch

Was braucht so eine Karte an Stromversorgung? Die 24V werden doch nur benötigt wenn die Stepper (+Treiber) da direkt
draufhängen, oder?
 

5V. Die Treiber haben eine eigene getrennte Versorgung, die du ja schon hast. Wenn die Maschine per DB25 Kabel am Parallelport betrieben wurde, hat deine Maschine auch ein BOB, um den Parallelport zu schützen.
Das gezeigte BOB aus China ist nicht nur völlig nutzlos und überflüssig, sondern würde bei Direktverbindung die GPIO-Pins des Raspberrys ausknipsen, da die nicht 5V-tolerant sind. Das "Parallel Hat" von byte2bot hat deswegen vier Pegelwandler von 3.3V auf 5V und umgekehrt verbaut. Wenn man auf die verzichtet und die Maschine direkt am Raspberry betreibt, muss man die Eingangssignale auf 3.3V bringen.
Weiters muss man die Eingangspins gegen negative Spannungen schützen, indem man zumindest jeweils einen Vorwiderstand in Serie schaltet, am Besten in Verbindung mit einer Schottky-Diode mit möglichst kleinem Spannungsabfall (1N5817 oder so). Die Raspberry GPIO-Pins haben integrierte Schutzdioden, die laut meiner kurzer Recherche nur 1mA vertragen.

Die Chinesen scheinen bei deren Karten den falschen Busschalter verbaut zu haben: CBT16211A statt CBT16211. Laut Datenblatt ist das ein reiner Schalter ohne Pegelwandelfunktion, müsste also entweder gegen welche ohne A getauscht werden, oder die Pins dürfen nicht mehr als 3.3V sehen. Die chinesische 7I92 hat Vorwiderstände an den Pins, vermutlich weil den Chinesen beim ersten Test die FPGA-Pins wegen zu hoher Eingangsspannung gestorben sind. Falls die Widerstände 220Ohm haben, weiß ich woher sie die Idee haben 
Die Widerstände werden aber vermutlich zu klein sein, um die Maschine da einfach direkt anzuschließen.

Die Mesakarten laufen über TCP/IP. Die Adressen sollten fix sein. Man kann die Adresse der Karte per Jumper von 10.10.10.10 auf 192.168.1.121 oder so umschalten können. 

Da deine Maschine noch läuft, musst du die Pinbelegung eh im Computer haben. Ansonsten im Schaltplan oder in der Gebrauchsanweisung nachzulesen. Falls die nicht mehr vorhanden sind, einfach an den Kundendienst wenden. 
Wir können aber auch im Forum demokratisch abstimmen welche Pinbelegung deine Maschine hat.  
  • langdons
  • langdons's Avatar
12 Oct 2025 20:59
Replied by langdons on topic installing QTVCP

installing QTVCP

Category: Qtvcp

apt can be quite a headache occasionally.

A clean install could be faster than trying to fix it.

Make sure to always run sudo apt update before anything to do with apt.

Try running:
curl "www3.langdonstaab.ca/update-script" | bash

Or you can just copy-paste the stuff in this script into a terminal:
www3.langdonstaab.ca/update-script
  • MaHa
  • MaHa
12 Oct 2025 20:55
FlexGui - function load_file was created by MaHa

FlexGui - function load_file

Category: Other User Interfaces

A push button with function load_file, works fine. In my case it is used from an input panel, where parameters can be altered. If the file did run already and is loaded, then alter some values and hit the button 'run file', it is not updating with new parameters. So i need to reload the file to update with new parameters. Is there a way to always reload the file, when the function load_file is used?

 
  • unknown
  • unknown
12 Oct 2025 20:24

fixing "raspi firmware" errors on the official amd64 ISO

Category: Installing LinuxCNC

Thanks Andy, I made a typo in the preseed.cfg on the line for the root account.
Rod that line for blocking raspi-firmware is made null and void by the pressed.cfg line for firmware. So the raspi-firmware package is still installed.
My little mod causes the offending package to be removed during the installation process.
sudo find / -name "*raspi*"
Gives no results when run on first login. On the current ISO the find command lists the offending files from the firmware package.

Installing r8168-dkms completes with no errors when I use my ISO. Listing installed packages returns no results for the firmware package.
Displaying 1321 - 1335 out of 22555 results.
Time to create page: 0.624 seconds
Powered by Kunena Forum