Advanced Search

Search Results (Searched for: )

  • my1987toyota
  • my1987toyota's Avatar
24 Jul 2024 16:20
Replied by my1987toyota on topic Mostly 3D Printed CNC Foam cutter

Mostly 3D Printed CNC Foam cutter

Category: CNC Machines

The SSR I was using was a DC to DC solid state relay.And I agree the problem I had was probably due to the pwm switching frequency
being too high as it went from nothing to holy crap my wire is glowing with the control only commanding a change between
5 to 10 percent. On my stand alone Hot wire power supply which uses a PWM brushed motor controller and gives me plenty
of linearity. Both are using 24VDC power. The mosfet I ordered is set from the start to drive and control a heater. Bed, Hot
wire, doesn't matter. They're both resistance heaters. Right now the control on the foam cutter is using GRBL. I am still
struggling to get a working PWM signal coming out of my 7196 to drive a circuit to control the hot wire. And since I need
my foam cutter operational for a demonstration for some people I know at the flying club I needed something with a
high probability of success to work. For now the SSR isn't it. Fortunately I still have my stand alone power supply and 
if I must I will use that for the demonstration. I just don't have a whole lot of faith in the free standing mosfet on the RAMPS
1.4 board D8 position. I could be wrong , but having a mosfet burn up mid way through a demonstration don't look good.
LOL.
  • anli
  • anli's Avatar
24 Jul 2024 15:49 - 24 Jul 2024 15:51
Error in log was created by anli

Error in log

Category: Basic Configuration

Hello,
I get the following error in log:
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting LinuxCNC IO program: io
libnml/buffer/shmem.cc 320: Shared memory buffers toolCmd and toolCmd may conflict. (key=1004(0x3EC))
libnml/buffer/shmem.cc 320: Shared memory buffers toolSts and toolSts may conflict. (key=1005(0x3ED))
libnml/buffer/shmem.cc 320: Shared memory buffers emcError and emcError may conflict. (key=1003(0x3EB))
Starting HAL User Interface program: halui

The full log for reference is (I solved the error with io.hal but wonder about the above three lines):
Warning: Spoiler!


How can I solve this? I'm using LinuxCNC 2.9.3 from recommended installation with Debian 12 (as downloadable on download site).

Thanks a lot for your help!
Best, André
  • manfrel
  • manfrel
24 Jul 2024 15:46
Replied by manfrel on topic Mesa 7i96s + DM556T -> Motors not moving

Mesa 7i96s + DM556T -> Motors not moving

Category: Driver Boards

Where do I find this pin?
  • tommylight
  • tommylight's Avatar
24 Jul 2024 15:11
Replied by tommylight on topic Mostly 3D Printed CNC Foam cutter

Mostly 3D Printed CNC Foam cutter

Category: CNC Machines

Two types of SSR:
1. AC type, turns on normally, does not turn off at all UNTIL the outputs voltage drops to 0, can do PWM at very low rates, usually limited by the mains frequency, uses TRIAK's or THyristors
2. DC type, can be switched on and off normally, uses MOS-FET's, can do pretty high frequency PWM.
As for the linked SSR by Toyota, simple MOSFET's that may or may not have issues with proper gate driving, does not state what exact MOSFET they use (they call it tube) so no way of knowing if the used type is TTL level ones.
MOSFET - can be only on or off, except when actually required to heat like when used in DC load testers, TTL level ones require ~4V on the gate to open fully, all others ~15V, have capacitance on the gate so will not turn off without a resistor tied to gate and source pins, or other means of getting rid of the capacitance, best driven by push-pull drives, very low resistance when fully on
TRANSISTORS - can be controlled linearly (depends) and will proportionally allow current to flow between Emitter and Collector depending on the Base current/voltage, always heat at higher currents as they always have some drop in voltage.
Not easy to shrink all the info, sorry.
  • Bari
  • Bari's Avatar
24 Jul 2024 14:43
Replied by Bari on topic Heidenhain LS 904 which EXE?

Heidenhain LS 904 which EXE?

Category: Driver Boards

I built my own using some off the shelf parts, iC-Haus and similar.
  • Aciera
  • Aciera's Avatar
24 Jul 2024 14:30
Replied by Aciera on topic Carousel Toolchanger

Carousel Toolchanger

Category: Advanced Configuration

Running an ATC as a rotary axis (A,B,C) used to be the easiest workaround to get it working and, as already pointed out, a lot of people have configured their tool changers like that.
The flaw with this approach is that the operator could actually send motion commands to the ATC motor through Gcode/MDI whether intentionally or unintentionally.
Personally I would always prefer using the 'carousel' component for an ATC.
  • mighty_mick
  • mighty_mick's Avatar
24 Jul 2024 14:21

Capturing a pin remaining True for a certain period of time

Category: HAL

Yes, i get it. But i think it is still better than evaluating fault via other component and connecting them in hal layer.
  • Aciera
  • Aciera's Avatar
24 Jul 2024 14:14

Capturing a pin remaining True for a certain period of time

Category: HAL

I was aware of doing it with hal configuration, like chain(might be yours or mine which is formed by or-and-oneshot components) but somehow i thought i need to add it to the core component because i am actually checking the motors to eliminate motor errors, and i don't want a delay in my system.


Note that 'iocontrol' is non-realtime:
linuxcnc.org/docs/2.9/html/man/man1/iocontrol.1.html
  • spumco
  • spumco
24 Jul 2024 14:09
Replied by spumco on topic Mostly 3D Printed CNC Foam cutter

Mostly 3D Printed CNC Foam cutter

Category: CNC Machines

well so much for that solid state relay. the one I got only seems to work as an on/off switch and doesn't
have any in between. We will see if the below will work better. At least they are designed from the start
for PWM.

www.amazon.com/gp/product/B07C7RQ4C6/ref...00_s00?ie=UTF8&psc=1


Maybe I'm misinterpreting your post, but all relays (SSR and otherwise) are on/off.  They aren't analog; there's no 'in-between' state of a relay (hopefully).

And, depending on the switching speed limit, all SSR's can be used with PWM control.  SSR's are (generally) fast enough that a PWM signal can turn them on/off quickly so the end result appears as an analog voltage output to the consuming component.

Like a heater (3d printer hot-end, bed, or a hotwire cutter).

If the SSR you first tried doesn't work with PWM, it may be that the PWM output/control frequency is higher than the maximum switching speed of that particular SSR.

Or have I completely missed the point of what you were trying to say?
  • spumco
  • spumco
24 Jul 2024 13:53
Replied by spumco on topic Carousel Toolchanger

Carousel Toolchanger

Category: Advanced Configuration

The reason that I want to use an axis for controlling the tool-carousel is that I am retrofitting an existing machine and the axes are already wired and ready to go.


 


I think there may be a disconnect between your understanding of the term "axis" and what "axis" means in LCNC.  Understandable, of course, as learning to speak LCNC is one of the stumbling points for new users (myself included).

In general terms, you (I suspect) think of an "axis" as a stepper or servo motor which is connected to some motion hardware (slide, table, rotary actuator, etc.).

In LCNC terms, "axis" can of course refer to the whole drive-motor-slide assembly... but for the purposes of configuring how LCNC controls motion, "axis" refers to a mechanical component set which produces linear or rotary motion that interacts with the motion interpreter (the part of LCNC which plans/executes motion).

linuxcnc.org/docs/devel/html/gcode/machining-center.html#_axes

An axis in LCNC can be, depending on configuration, one or more motors, hydraulic actuators, pneumatic actuators... anything which moves.  Not just a single servo motor.  For example, consider a gantry router with two motors - one on each side - of the gantry.  In the typical layout LCNC is controlling two motors at the same time, but you (the user & gcode programmer) only have one axis available to command.  For good reason you cannot (easily) program the left gantry motor to move independently of the right gantry motor.

So both gantry motors, as a pair, make up the "Y-axis" as far as the user is concerned.  The individual motors which are paired to make an axis are called "joints" in LCNC.  A "joint" cannot be (easily) commanded in LCNC - the motion interpreter is programmed to make the motor move in a certain way which will result in the "axis" moving as desired.

Another simple example:  In the above gantry, to move the "Y-axis" (whole gantry) "joint-1" must rotate clockwise, while "joint-2" must move counter-clockwise at the same time.  Joint-1 and Joint-2 are programmed to move differently, but the end result is appropriate "axis" motion.

linuxcnc.org/docs/devel/html/motion/kinematics.html

More complicated relationships between joints and axes exist  - think of robot arms, 3D printer "core-XY" systems, etc.

Which brings us to your ATC and "axis".  The motor you intend to use to move the carousel may be a servo (or stepper) physically connected exactly the same as the motors which move the tool (or table) around, but there is no requirement in LCNC to control that ATC motor as an "axis."  LCNC can control a limited number of axes (9), but it can also control a huge number of other 'things' - like motors - that aren't part of the motion interpreter.

So you can have a step & direction motor (or analog, or Ethercat, or serial, or...) that LCNC can command... but that isn't part of the cartesian motion system.  Pumps, vacuums, rotating disco balls - all are motors which which have nothing to do with coordinated XYZ motion of a CNC machine.

Your ATC platter motor can be just like a pump - except the HAL component 'carousel.comp' can position the platter accurately.  For a step-dir controlled motor, LCNC needs carousel.comp, as well as a separate stepgen.comp HAL component.  Carousel figures out the speed, distance, and direction, and send the appropriate commands to stepgen.comp, which then outputs (via the Mesa or parallel port) to the motor drive.

You can't program the ATC to accomplish a gcode move like "G1 C126.1 F3600", but carousel.comp will accurately index the ATC platter when the tool change command is configured properly.

So in LCNC terms, what you have are motors which are wired up and ready to go... and you can choose via your configuration whether they are controlled as joints/axes or via some other method (carousel).

That's enough LCNC jargon for now.  Try to digest, read the LCNC manual as much as you can stand, and we'll chat more when the next set of questions occur to you.
  • mighty_mick
  • mighty_mick's Avatar
24 Jul 2024 13:33 - 24 Jul 2024 13:35

Capturing a pin remaining True for a certain period of time

Category: HAL

When it comes to this topic, i am wondering about your ides about something.

There are a few features that i wanna add to my machine. This features include sending appropriate messages to the user via error channel. I am implementing this features in iocontrol component in source tree of LinuxCNC(by adding extra hal pins and controlling them in main loop), cross compiling it and integrating new execautable to target platform, which is my machine controller board. At very first times, i didn't want to change the iocontrol component but somehow i thought i need to change iocontrol component because actual software e-stop is depended on iocontrol pins (emc-enable-in, user-enable-out, ...). I was aware of doing it with hal configuration, like chain(might be yours or mine which is formed by or-and-oneshot components) but somehow i thought i need to add it to the core component because i am actually checking the motors to eliminate motor errors, and i don't want a delay in my system. Of course it can be done in hal layer via connections, but why would I do that when I can interfere with the core? (i mean iocontrol component.).

I've added extra lines to iocontrol component as input pins, and checked them in loop. If something is wrong, i am sending the appropriate messages via emcOperatorError like functions to error buffer and making user aware of what happened behind the scenes. These kind of stuff is a way to create a good user experience, this is my thought.

For this features, i've looked at ready-made component and i found message component. It didn't work well and i didn't research the reason. After that, i've decided to compile the iocontrol component again and integrate features into it.

What do you think about my solution? is it appropriate to change the iocontrol component to implement features like these? E-stop safety is very important, you are absolutely right. The reason that i did it in iocontrol component is, i don't want delays. When a motor stops, i don't want a thread gets the value and sends it to the other connection and the iocontrol component gets the command and makes e-stop. The thing i really want is if something critical happened, let iocontrol component handle it.

I would apprecaite if you share your ideas, recommendations with me, thank you again. I am gonna watch your video.

Thanks.
  • rodw
  • rodw's Avatar
24 Jul 2024 12:42

Capturing a pin remaining True for a certain period of time

Category: HAL

Remember, estop is an important safety feature. estop-latch is the correct method to implement it. Please watch this video

When using multiple instances, I find it best to sketch out a block diagram as it can be confusing
  • PCW
  • PCW's Avatar
24 Jul 2024 12:25

Mesa 7i96s + DM556T -> Motors not moving

Category: Driver Boards

I would run LinuxCNC and check that the 7I96S DIR+ pin changes polarity
when you jog in different directions.
  • my1987toyota
  • my1987toyota's Avatar
24 Jul 2024 12:24
  • manfrel
  • manfrel
24 Jul 2024 12:13
Replied by manfrel on topic Mesa 7i96s + DM556T -> Motors not moving

Mesa 7i96s + DM556T -> Motors not moving

Category: Driver Boards

I would try single ended wiring first:

Drive   7I96S

PUL+    STEP+
DIR+    DIR+

PUL-     GND
DIR-      GND

 

Unfortunately this didn't help.
Displaying 22081 - 22095 out of 26352 results.
Time to create page: 0.503 seconds
Powered by Kunena Forum