Advanced Search

Search Results (Searched for: )

  • speppino
  • speppino
02 Dec 2025 16:30
MesaCT 2.1.8: Scale vs Encoder Scale was created by speppino

MesaCT 2.1.8: Scale vs Encoder Scale

Category: Configuration Tools

Dear all, I am new to Linuxcnc and trying to setup a bench test before connecting motors to my machine. I got Stepperonline A6 series 400W that allow analog control. I setup velocity mode on them and I setup a mesa 7i97T to control them with analog signal and get a feedback from the servo drive. I am sure I nailed all the wiring properly, but when I setup the MesaCT 2.1.8 to generate the configuration file I have doubts on what to put into the tool when it comes to selecting the axis Scale and then the encoder scale. My A6 drive have 17bit encoders that translate into 131072 pulse/rev. But I also see in the drive parameter that it is set by default 2500 lines ( that in quadrature should be 10000pulse/rev). my max velocity in the drive is set to 3000rpm.

My confusion is now to understand what parameters to input in the mesact config. for now I just want to test a motor (x axis) without any connection. Can someone expert chime in on the value to input in Max Velocity, Max acceleration, axis Scale, and encoder scale, to make this run and proceed to next step PID calibration? 
What I need is a clear explanation on what is SCALE vs Encoder Scale input field. I seem to be confused when I read the manual of the mesact. They seem to be the same thing. I understand that the scale should be calculated based on gear ration between encoder and motor etc etc. In my case the encoder is the motor encoder and the SCALE of the axis is for now not connected to anything. The plan is later to place this motor on a 1604 leadscrew (4 mm pitch).

Thanks in advance and apologies for this novice question, but could not find anywhere a clear explanation.
  • PCW
  • PCW's Avatar
02 Dec 2025 16:07

parport observation in outport out-inverter-1 seems not to work

Category: HAL

I think you may be misinterpreting how the invert parameter operates,
it does not change the state of the parport.0.pin-NN-out hal pin.
(It cannot as this hal pin would be driven by a hal signal)
but rather changes the physical output polarity. You cannot
detect this change in the parport.0.pin-NN-out hal pin but only by
measuring the actual parallel port hardware output pin.
  • Dudelbert
  • Dudelbert
02 Dec 2025 15:55

Considering a Full Rewire on a Working Schaublin 125 CNC

Category: Turning

I may be misunderstanding something, but I personally would not want to think about where I need to insert an M1 to manually change a holder. I want LinuxCNC to make that decision automatically based on the tool table.

That’s not actually the case in my system.
The diameter is only used on the “tool descriptor” entries, which represent toolholders, not real tools.
These descriptor tools never get used for cutting, so they never participate in G41/G42 or wear offsets.
But yes—this could just as well use the Pocket field. I didn’t think of that originally.
I will lrady make that change in the rest off this post.

Why I believe encoding the holder layout in the tool table is better

Here is a heavily simplified tool table to show the idea:
T5 P1 X0 Z0 D0 // holder #1 in turret pocket 1
T6 P— X100.34 Z-15 D10 // spot drill
T7 P— X120.876 Z-32.657 D10 // drill
T8 P— X140.298 Z-15 D10 // drill
T9 P— X160.3 Z-15 D10 // boring bar

T10 P5 X0 Z0 D0 // holder #2 in pocket 5 (5%5 = 0 → rear post)
T11 P— X100.23 Z23.456 D0 // parting blade

The descriptor (T5, T10, T15, …) stores the physical pocket number. so they are th single sorse of trus for this.

This means LinuxCNC can always determine:
Whether a manual holder change is needed
Whether the correct holder is already in place
Where the turret needs to rotate
Which tools belong to which holder
Whether a requested child tool even exists

If we don’t have this structure, I don’t see how LinuxCNC could determine where a tool belongs.
You’d have to manually encode the correct pocket into every single tool entry.
This leads to another issue.
Problem with the pocket-in-every-tool approach

Imagine two tools in CAM that both used to be in turret position 1.
But for a different job, you need to rearrange holders.

Then you must:
Change the pocket numbers in LinuxCNC for all affected tools
Update your CAM tool library to match
Remember to do this every time you rearrange holders
Add M1 manually at the right positions
Hope nothing gets out of sync between CAM and LinuxCNC
This is exactly the kind of workflow that causes human error.


Maybe I am overcomplicating things — but in my head this system makes sense.
It gives LinuxCNC the information it needs to make reliable decisions, without forcing the user to manually sync CAM, tool table, and machine setup every time a different combination of holders is used.
  • RobotMatic
  • RobotMatic's Avatar
02 Dec 2025 15:54

parport observation in outport out-inverter-1 seems not to work

Category: HAL

I'm a bit confused, if I want to start the system with an output at 1, do I apply setp... inverter true

This should show me the output activated, but I don't see it that way; I still see it turned off. I don't know if I'm misinterpreting it or if it's not working for me, which is why I left a video showing it.
  • langdons
  • langdons's Avatar
02 Dec 2025 15:49

parport observation in outport out-inverter-1 seems not to work

Category: HAL

"Erratic" means "changing and unpredictable".

The behavior of your system seems to be predictable.
  • RobotMatic
  • RobotMatic's Avatar
02 Dec 2025 15:47

parport observation in outport out-inverter-1 seems not to work

Category: HAL

At startup, the system,(for example the pin 1-out) does not change when an inverter is applied.
You can watch the video I uploaded in this thread to see what happens
  • Chad
  • Chad
02 Dec 2025 15:34

Remora (SKR 1.4 RPi) – massive SPI noise, “bad payload” communication fails

Category: General LinuxCNC Questions

Hi,
thanks a lot for the suggestions.

Just to clarify: I had already tried short Dupont wires and a short IDC ribbon, but without the “every second wire = GND” scheme. The cable was about 10 cm long and SPI still failed when the hot wire or motors were active.

Now I’m going to rebuild the SPI cable exactly as you described: ribbon cable with every second conductor GND, all GND wires tied together and connected to GND on both the RPi and the SKR. I will also add a separate, thicker GND wire between the boards and keep the SPI cable as short as possible.

One question: for the ribbon cable, should I place the signals like
GND – SCK – GND – MOSI – GND – MISO – GND – CS – GND – GND,
or do you recommend a different order?

I will report back with results after I rebuild the cable.
  • gene_weber
  • gene_weber's Avatar
02 Dec 2025 15:26
  • Aciera
  • Aciera's Avatar
  • langdons
  • langdons's Avatar
02 Dec 2025 15:01 - 02 Dec 2025 15:02
Replied by langdons on topic Physical buttons to 7i96s+7i77

Physical buttons to 7i96s+7i77

Category: HAL

For analog stuff, you could potentally use comparators to determine whether the resistance is above certain values, and then interperet their output as digital binary.
  • RotarySMP
  • RotarySMP's Avatar
02 Dec 2025 15:00 - 02 Dec 2025 15:06

Considering a Full Rewire on a Working Schaublin 125 CNC

Category: Turning

I suspect you dont need to do any of that. LinuxCNC tool tables aready define both tool number and pockets. Tool numbers are unique, but pockets dont have to be. 

There is a carousel tool changer comp which supposedly already works with the Schaublin tool changer.
www.forum.linuxcnc.org/10-advanced-confi...carousel-toolchanger

So lets consider your example.
For a job we mount all of these tools. The first three go on the three postion gang tooling holder you have. We mount that in turret position 1 which in the tool table is pocket 1.
T1- Spot drill - Pocket 1
T2- Drill - Pocket 1
T3- boring bar - Pocket 1

T4 - RH VCMT turning tool in pocket 2
T5 - Kurling tool in pocket 3
T6 - LH VCMT turning tool in pocket 4
T7 - but we also need a threading tool, so that is on another tool holder, and will be manually changed into pocket 1.

T8 - Parting tool on the rear tool post, which we will call Pocket 5.

I have not looked at the code of that carousel.comp, but suspect it only trigers activity of the tool holder when a pocket in it's assigned range is called.  So if pockets 1-4 are assigned in the comp to the carousel, then the behaviour would be:

At the start of the program, I would add an M1 and a pop up message to remind that the gang tool has to be in pocket 1.
The M6T1G43, the carousel indexes back to pocket 1, if not already there.
First three M6TxG43, the carousel is not called, LinuxCNC just assigns the correct called tool, offset, orientation and nose radius, and continues.
M6T4 G43 - Turrent indexes once, then LCNC assigns the correct called tool, offset, orientation and nose radius, and continues.
It would be at this point that I would have programmed in the M1 stop, to manually remove the gang tool holder with it's T1-3, and load T7.
M6T5 ( and T6) Indexes around one.
Calling M6T7G43 would rotate the turret back to pocket 1, with its changed tool.
M6T8G43 I would expect to again do nothing with the turret and just load the offsets for the parting tool.

It would probably be a good idea to add another M1 and text pop up at the end of the program to remind to reinstall the gang tool in pocket one, so the program is ready to go on a restart.

Of course I could be wrong about that carousel.comp not moving the turret on a tool change which calls a pocket outside it's range (or no pocket). But if that is the case, it would be best to modify the comp. Misusing the tool diameter for this would lose the ablity to do tool radius compensation, which is important on a lathe.

CAM software doesn't care where the tools come from. It just assumes the appear with the correct offsets, orientation and radius.

For tool table hygiene, it might be good to standardise like anything in pocket 1 is called T1xx, in pocket 5 -->T5xx etc.
Cheers,
Mark

 
  • Hakan
  • Hakan
02 Dec 2025 14:52 - 02 Dec 2025 15:01
Replied by Hakan on topic EtherCAT servo as main spindle

EtherCAT servo as main spindle

Category: EtherCAT

There might be something in the cia402pv code.
The original cia402 component didn't allow mode switching, it took the first csp_mode value at startup.
I need to at least go over that part to make sure mode switching works.
But I doubt that's the reason.

Start using the debugging tools. Halshow and maybe halscope to follow the values over time
to find out the reason for the following error.
  • Hexagon
  • Hexagon
02 Dec 2025 14:27
Replied by Hexagon on topic EtherCAT servo as main spindle

EtherCAT servo as main spindle

Category: EtherCAT

Yes I use his code for tracking the positon.

It also seems like if I tested the pv mode not long enough, because if I let the servo run with for example 600rpm, it throws a joint0 following error after some time. Is this even possible in pv mode? I thought this is only a velocity command without feedback loop?

I also changed the code back to spindle.0.speed-out instead of spindle.0.speed-out-rps (of course with a scale change), but the behaviour is exactly the same.
  • rodw
  • rodw's Avatar
02 Dec 2025 12:15
Replied by rodw on topic Reduce read-all timing 7i76e + 7i77

Reduce read-all timing 7i76e + 7i77

Category: Advanced Configuration

Excellent info. I've started working on a similar procedure.There are a few more optimisations but I'll test before sharing anything.
Now PREEMPT_RT is in the mainline, there are a lot of articles emerging about  RT tuning.
Displaying 121 - 135 out of 22162 results.
Time to create page: 0.205 seconds
Powered by Kunena Forum