Advanced Search

Search Results (Searched for: stepper spindle)

09 Jun 2023 21:17

Fake encoder index for simulation

Category: HAL

When I look at HAL configuration there are four pins associated with Stepperspindle: index-enable, rawcounts, spindle-revs, time.

I'm running the lathe motor with the following in the ini file:

MOTOR_SCALE 3200 // stepper takes 3200 steps per revolution
STEP_SCALE  1600 // lathe spindle has a 2:1 relationship with the motor, stepper revolves once, lathe spindle revolves twice.

I wondered how this might gel with:

setp stepperspindle.0.steps-per-rev 1600

Which went in HAL file per the original instructions, it seems correct- but how could I be so lucky?

Got the motor running and watched the first 3 pins.

Results:

index-enable=nothing
rawcounts=count is going but with a minus sign in front of it
spindle-revs=count is going but with a minus sign in front of it

I can "correct" the minus on spindle revs by changing the HAL entry to:

setp stepperspindle.0.steps-per-rev -1600, which feels wrong somehow because the originals in the ini file are both positive and produce counterclockwise rotation with M4

rawcounts seems less trivial to fix

from the comp file:

.......signed steps-per-rev = 100 "stepper steps per rev / per index";

If that means what I think it means it will produce indexes far more frequently than I was expecting?
08 Jun 2023 21:32

Fake encoder index for simulation

Category: HAL

I got around to trying this, with little hope for success because I'm currently running the lathe spindle with a stepper motor in velocity mode and I wasn't sure how I might integrate stepperspindle.

I'm using 2.8.4 on an RPI4 with 7C81

It was an interesting exercise getting Halcompile to work, but I learned that raspbian responds to a right click on a file with a menu that includes "copy path(s)", click on that and you can paste the complete path into a terminal.

Once I had the comp file compiled and installed, I added the HAL entries as originally shown along with the amendments suggested by GaryLa

I loaded linuxcnc from a terminal (it's easier to find errors this way)  it didn't finish loading but:

./turner.hal:207: Pin 'stepperspindle.0.revs' does not exist

line 207 read: net spindle-pos stepperspindle.0.revs motion.spindle.0.revs
commenting it out resulted in linuxcnc loading without error.

a look at halshow pins under stepperspindle then 0 showed no pin with that name, but there was a very similar stepperspindle.0.spindle-revs and subbing this in resulted in that error going away, but

./turner.hal:207: Pin 'motion.spindle.0.revs' does not exist

Rinse and repeat finds we just need spindle.0.revs without the 'motion'

Now it loads without error.

Does it work, well that's a story for another day
31 May 2023 11:30

Mesa 7I96S and closed loop/linear scales

Category: Driver Boards

You will need more than just a 7i96S if you want linear-encoder feedback to LinuxCNC as the 7i96 only has a single encoder channel (generally intended for use by the spindle). Maybe a 7i85 or 7i85S on the 7i96 expansion connector.

Linear scale feedback to LinuxCNC can be used to compensate for machine backlash, deflection and nonlinearity. If integrated into the drive encoder feedback on the motors can be used to control motor position and intelligently control the drive current.

So, ideally I think you might want to look a the integrated closed-loop stepper motors (and just let them do their own thing with the motor encoder feedback) and then use the scales to modify the position commands sent to the drives based on the actual measured position.
31 May 2023 07:11

16 Pocket tool changer with PB and carousel.comp (Working config for reference)

Category: QtPyVCP

Hi everyone,

I have spend the last week to finally get my tool changer going. I had build the mechanics at some point last year, but only now got to play with the software implementation.
I went the route of using probe_basic for the UI and Andypughs carousel.comp (most recent version @ master from late May 223) to control the carousel.
Setup:
16 Pockets for ISO20, forks mounted to large aluminium disk mounted to an 1:80 reduction harmonic drive gearbox. The carousel is driven by a clsoed loop stepper motor auf Nema23 size through a 1:1 belt drive. Three sensors are used:
1 1xInductive sensor against a target on the disk for homing
2 1xInductive sensor for pockets against a target per pocket (targets are M6 SHCS mounted to the disk in cnc milled locations)
3 1x Optical Diffuse Reflection sensor ("laser") to check if a pocket is actually empty

Operation is done in index mode with forward and backward motion enabled. AlignDC is set low, to reliably hit the pocket. After roughly 100 M6 through various pockets I have not encountered any problems.

Probe Basic Integration: Honestly, too much to quickly type up. Main elements are described in the bullets below:
  • I have replaced most of the macros and added various additional ones. All carousel logic is handled by carousel.comp, Direction of rotation and number of steps is also determined within the macros but only for the purpose of moving the animation in the right direction.
  • Key pins of carousel.comp and the spindle are linked into custom m_codes (see folder m_codes in link below)
  • Mcode wrappers are used to bundle key functions such as release tool and check drawbar state into a single command to clean up the code
  • UI has been modified to adjust to my specific needs including debugging. Since my carousel is openly accessible by the operator, I have added some macro functions which required UI interaction.
    • Force empty carousel: Macro to reset all pockets and the animation to zero values
    • Check carousel: Macro to run through each pocket and check if a tool is physically present (sensor 3) and remove all entries where there should be a tool (according to numbered variables) but none could be found
    • Manually enter tool to pocket: Macro to receive tool and pocket from the ui to directly write that information into carousel control (without physically moving anything)
    • Manually remove tool from pocket: Macro to clear a specific pocket from tool information
  • General ATC process: atc_toolchange.ngc works as a master document doing the following
    • Distinguish between tools in the carousel and those outside, specific handling of probe (must not be in atc for me)
    • Puts tools back to where they came from - this is used to ensure that some tools are not being put back into the carousel although they were manually put into the machine (I have some tools that are too long/ too heavy) for the carousel)
    • Check if current tool in spindle is: 0, from the carousel or not from the carousel and perform actions accordingly (do nothing, drop into original pocket at atc, drop off at manual tool change location)
    • Check for the new tool: Is 0, is from carousel, not from carousel and perform accordingly
    • General assumptiona:
      • Tools in the carousel have received tool lenght measurement and have a correctly determined offset
      • Tools manually changed in during M6 are considered unknown and forced to do tool lenght measurement
    • Tools can be put into and removed from the carousel using UI interaction and physical operation of the machine. These are assumed to be known, i.e. the tool length offset has previously been determined 
Video of a sequence of M6 here:
Automatic Tool Change with carousel.comp and probe_basic in LinuxCNC 2.9 - YouTube

The whole configuration can be viewed here:
GuiHue/kondor: Repository for all things related to the control system of my Kondor CNC router (github.com)
Note that the modified probe_basic.ui file is also a part of the repository and needs to be placed whereever your ui file usually is located.
@devs: I'll be happy to clean this up and provide an example for the official repo

Many thanks to the wonderful developers of the various bits used. Specifically andypugh for carousel.comp and the qtpyvcp team (turboss for helping out on the discord).
30 May 2023 14:22

New project, litehm2: a hostmot2 port to linsn rv901t

Category: Driver Boards

But instead of adding a multiplexer, isn't it easier

Must be multiplexer.
Hardware or software, but multiplexer.
You can't replace multiplexer by add outputs.
The idea of 4th axis is switching the STEP/DIR inputs of stepper (servo) motor controller.
In mode "axis" you can drive motor by g-codes, in mode "spindle" 4th axis turns independent of g-code (as in lathe).
You may use external generator for "spindle" velocity, but you may not drive it from LinuxCNC.
Use of PWM output give this ability.
In other words, in this case, the PWM is in fact frequency generator, it is a trick, but should works.

The <IndexError: list index out of range> is from litehm2.py and use of make command nothing to do with it. (Of course you are right, compilation should be run by make command).

BTW.
I think, most of LinuxCNC users want drive three axis milling machine, or two axis lathe, so the signals for that should be at J600 or J601 connector.
Some users want four axis machine, so 4th's STEP/DIR signals may be at JP4 connector, but should be buffered.
The PWM signals are for advanced users, so these may be unbuffered at JP4 connector.
The multipurpose outputs should be at J600 or J601 connector.
This is to avoid situation when beginers must use unbuffered signals at JP4.

 
28 May 2023 23:32

Developments on my Home built 5C CNC Lathe - Polar interp. and Live tooling

Category: Advanced Configuration

VFD is what I meant.
I guess the best would be to have some kind of gear (low for c-axis and high for lathe work) with some way to electrically switch from one to the other.

 



My commercial lathe has a big gear on the spindle, and a servo with a pinion.  Servo is mounted on a swinging bracket connected to an air cylinder.

Engage the C-axis and the main spindle motor is deactivated and the air cylinder shoves the servo (actually a 5-phase closed-loop stepper) against the spindle gear.  Once they're engaged the C-axis immediately homes before anything else happens.  Looking at the gears, I think it's about 40:1 reduction.

Main spindle motor is a 5kw, 7k rpm 3-phase induction motor with a Lenze VFD, driven via a 1:1 10-rib micro-V belt.  The main motor and the stepper both have encoders, but there's also a separate shaft encoder with a 1:1 timing belt connected to the spindle.

The two motor encoders are fed in to the respective drives, but my guess is that the spindle encoder is what the control uses for velocity and positioning control.

As an alternative configuration, there's a guy on YT who's been doing some interesting stuff with his lathe and a Centroid Acorn.  Specifically, he's got a standard VFD/induction motor, and separate servo connected via a timing belt.  The servo has an electric clutch to engage/disengage when the C-axis is active.

I considered going that route, but toothed electric clutches are very not-cheap new.  And I don't want to depend on an ebay score only to have a scorchingly expensive replacement bill if it dies int he future.

@NoJo -

Thank you very much for the updates and files.  This will go a long way towards a number of us making progress.

-Ralph
22 May 2023 08:29

Leadwell VMC760 with Meldas 520amr retrofit posability?

Category: CNC Machines

Hello all I have recently purchased a Leadwell vmc 760ap mill that has a mitsubishi meldas 520amr control, it was one of those purchases that say it was all in working order when removed from work site but turns into a nightmare to get running. after speaking to some professionals in the repair industry they have said that my best bet is to go the Linuxcnc or mach3 route. I am not sure why but i am not keen on the mach3 way  and have been told I might be able to use linuxcnc with a PCI board (posable from yurtaev.com ) and get away with not needing to buy new drivers and servos/stepper motors etc.

I was really hoping for some help and advice on what is involved for me to do this and what i will need to buy to make it happen
the machine has the following

Spindle drive unit  MDS-A-SP-220
3 x MDS-A-SVJ-20
Control system FCA520AMR
the main spindle is 15hp and other motors are 2hp

I can add some photos if that helps anyone more
any advice or help would be fantastic and very well received

many thanks  
20 May 2023 06:03

Ethercat installation from repositories - how to step by step

Category: EtherCAT

@ 0x2102
How did Kernel 6.3 work.  I had seen on John Thornton's site that latency was problematic after 5.10 with using Ethernet on Mesa cards, so I wasn't sure if that would affect EtherCAT as well.


@ Rod Webster

I remember those days. At college our mainframe gave each terminal 11k and we programmed in basic. Sometimes we'd enter the data using mark sense cards and a pencil.. Then they bought a couple of Apple II pcs with 48k of Ram and 170 k floppy....... I remember paying $1k for a 40 Mb HDD. 



Ouch, so you felt the pain also  , yeah I am glad things have gotten affordable.  Speaking of HDD's, I can't remember what year it was, but we picked up a 4Gb drive and I remember telling my Dad: "We will never fill it up" LOL LOL LOL, well I was completely wrong...  Yeah, Texas Instruments sent Basic with the computer, I never did get deep into it as I was just trying to get around Unix alone, but I do remember doing a few of the simple little programs in basic on a commodore computer back in the mid 80's right before we got the TI server.

Yeah I still haven't checked out the DEB's as I am still overloaded with work and don't have time to tinker... I'm really under the gun now.

But, since I last posted and over last weekend, I have built 8 complete systems using Bullseye, with LCNC 2.9 RIP, IgH EtherCAT build, Sasha's Driver, Touchscreen with Dragon_HD GUI all working without issues, fires right up everytime.  I have gotten the builds down pat to the point that not having to do any work arounds for anything other than the realtime.mk fix.  Didn't do the Mutex fix, but don't think that is needed anymore since RTAI was dropped by Sasha. I am going to look at the realtime.mk fix a little bit more when I have time.  Just copied what Stormholt had.  Even have the libethercat.so linked correctly so that it works out of the box without editing the /.profile.  I'm setting them up like I have the current 2.8 deployment at each machine so that when you turn on the disconnect to the machine it will automatically fire up LCNC with Dragon.  That way no one has to do anything but start work.  I still have more HAL to write but wanted to make sure E-cat worked with Dragon, and simply did a couple of pins to make sure.  The only thing I have left is figuring out how to have a NGC file load automatically like you would in Axis.  I tried the same way as Axis under the [DISPLAY] section and adding OPEN_FILE = /full/path/to/filename.ngc but it didn't work like Axis does. Plus Jim and/or Chris Morley may not have it set up to work. When I have time, I'm going to post on the qtvcp section to find out.  I simply want the current production job to load so that a basic machine operator can go right to work without screwing around wasting time.  Right at the moment that machine operator is me LOL LOL LOL.

I just made a quick setup in HAL using a EL7041 and stepper as a spindle motor.  I am checking out [SPINDLE] code as it was implemented in 2.9, plus a few other things I wanted to look at.  I was pretty content as was using AXIS with Devils Pie, so it made a nice full screen... but after 
seeing Jim's Dragon_HD GUI, I was impressed and decided to step up to Bullseye & 2.9... plus I need to keep somewhat updated. (I still 
had one of them running wheezy with 2.7).

 

 
12 May 2023 08:14

Axis GUI - Activate Power-On with External Pushbutton

Category: HAL

Rod,
I have a sole-person hobby shop running a simple conventional mill.
My judgment is that I don't need a sophisticated safety relay.

My arrangement has simple relays with:
 - a latching E-stop button that drops the E-stop relays,
    - the steppers are de-energized,
    - the spindle does a fast stop,
    - a signal is sent to I/O.

Re-start requires:
 - reset of the E-stop button,
 - initiate Machine On with either:
     - mouse select Machine On button on the Axis Command Line,
     - operate a Machine On push button on the operators control panel.

I haven't yet picked up on the subtle difference between the various Hal signals.
My solution uses 'halui .machine.on', you seemed to have used 'iocontrol.0.emc-enable-in'.
Are they different ? I will dig into the documentation.

John.
 
10 May 2023 22:00
Replied by my1987toyota on topic 6040 7i76 Conversion

6040 7i76 Conversion

Category: CNC Machines

E-Stop.
The way I do it is the circuit is always connected or normally closed unless I hit the E-Stop switch or
in a rare case of the wire failing, the E-Stop will be triggered. How I normally do it is I use a multi
contact relay that when the E-Stop is triggered it cuts power to the relay coil which in turn-
1 shuts off power to the coolant,
2 disables the spindle drive,
3 tells the computer an Estop event has occurred, (through the 7i76)
4 disables the stepper drives

You could wire in more relays to do more things if needed but in my case this covers all my bases.
I prefer hardware type of E-Stop over software so that in the event of a program crash when an
E-Stop button is triggered the machine will stop moving regardless of what the computer is doing.
When designing any machine it is always best practice to fail safe.
10 May 2023 00:37 - 10 May 2023 01:04
Replied by my1987toyota on topic 6040 7i76 Conversion

6040 7i76 Conversion

Category: CNC Machines

Some things I would caution you on one stay away from the TB6600  they are too small of a stepper drive except
for the smallest of the nema 23 stepper motors . I went with the DM556 after running into cooling problems with
the TB6600 on a 3040 router stepper motor. The TB6600 also has the cheapest and worst cooling path for
for a drive . Sometimes they use heat transfer tape and thermal grease and I had one that bareilly had any
thermal paste at all between the chip and the chunk of aluminum the manufacturer used as a thermal bridge
and the heat sink. ( it would shut down randomly due to thermal overload )

When I am setting up a screw type of machine be it leadscrew or ballnut I go with 8 microstep

With the spindle motor control  it is highly dependent on what the motor driver is . If it has the usual
0 to 10 volt dc 3 wire potentiometer setup ( red, yellow, and black wires ) you can control the speed
directly with the 7i76E. Maybe add an enable relay for added safety. if the driver has a low voltage
On/Off switch ( I.E. 24 volts ) Pictures of the spindle drive will help immensely.

as far as wiring with the 7i76E the below PDF should help in your endeavor
 

This browser does not support PDFs. Please download the PDF to view it: Download PDF

Displaying 166 - 176 out of 176 results.
Time to create page: 1.088 seconds
Powered by Kunena Forum