Advanced Search

Search Results (Searched for: )

  • rbobey1989
  • rbobey1989's Avatar
20 Mar 2025 23:26 - 20 Mar 2025 23:50
Closed Loop DC Motor Remora EC500 was created by rbobey1989

Closed Loop DC Motor Remora EC500

Category: General LinuxCNC Questions

It's been a while since I posted anything here, but it's never too late if you have the desire.
I've continued moving forward with my dual-head mitre saw project. I've developed a PwmGen module for Remora. At least it drives the motor, haha. Up to four modules could be instantiated, for which the four QDCs can also be used. I want this to develop a closed-loop system. Once again, I'm leaving the links to my GitHub in case anyone wants to take a look.
Scott, I know your time is short and tight, more or less like mine, haha. I've sent you a pull request on GitHub for this. When you can, take a look; everything can be improved.
I have a video of my tests online. I use a user interface I designed for a dual-head mitre saw. I welcome criticism. Although it's not very visible, I'll leave the link. It was only an open-loop test, but I was able to verify the PwmGen module works.
*****Now the questions********
I've read quite a bit about DC motor control here on the forum. For this case, I started using an old servo amplifier that the machine itself had as standard. This was controlled with a +/- 10V analog signal, which was quite a challenge to get working. The servo amplifier controlled a speed loop with a tachometer that the motor has, and the encoder is on the side of the moving head, that is, on the load, not on the motor. By the way, thanks to everyone who gave me instructions on the table cards; PCW, Tommylight, etc.

I want to skip the servo amplifier and use Remora with a simple H-bridge and the encoder. This is where I run into a problem. I need to use a PID loop in speed mode, but I don't have an encoder on the motor; I have it on the load. I'm not an expert in motor control loops, although I understand something, but I'm not sure if I can implement a closed loop with this configuration. Therefore, would it be mandatory to attach an encoder to the motor?

Greetings to all, thanks in advance.
  • Tinker
  • Tinker
20 Mar 2025 23:26
Replied by Tinker on topic 7I97T joint following error

7I97T joint following error

Category: General LinuxCNC Questions

That definitely made a huge difference!! What would be a good SCALE number to start out with? or how does one calculate it?
  • PCW
  • PCW's Avatar
20 Mar 2025 22:56 - 20 Mar 2025 23:02
Replied by PCW on topic 7I97T joint following error

7I97T joint following error

Category: General LinuxCNC Questions

The issue is this:

[JOINT_0]
CARD = 0
TAB = 0
AXIS = X
MIN_LIMIT = 0
MAX_LIMIT = 30
MAX_VELOCITY = 200
MAX_ACCELERATION = 200
TYPE = LINEAR
SCALE = 40000
ANALOG_SCALE_MAX = 10
ANALOG_MIN_LIMIT = -10
ANALOG_MAX_LIMIT = 10

That sets the PWM scale so you need an error of 20000 inches to
get a full scale (10V) output, or 2 inches to get a mV.

Ideally the PWM scale should be set to the velocity in machine units per second
at 10V. This way, the FF1 term is known to be 1.00



 
  • Simi02
  • Simi02
20 Mar 2025 22:41
Replied by Simi02 on topic Blown 7i84

Blown 7i84

Category: Driver Boards

Hey, since I'm retrofitting my MH400e right now I'm "glad" that this problem was found. I thought about how I will resolve this. Since I want to keep my maho as original as possible, I'm thinking about ether a switch bord between the outputs of the mesa card and the relay board or to just lock it out in the software and to add a new 24v dc power supply. Any thoughts about this?

@RotarySMP could I maybe ask you a few questions about your retrofit?
  • Tntmold
  • Tntmold
20 Mar 2025 22:17
Replied by Tntmold on topic General Questions about using ethercat

General Questions about using ethercat

Category: EtherCAT

Thank you for helping, I used the dbraun1981 example hal file to modify mine, but I don't think I quite have it. The example seemed to have 3 axis for part of it and then only define x axis at the end, so I attempted to modify both areas, but I now get the following when I try to start linuxcnc:

phil@SodickA:~/linuxcnc/configs/sim.axis$ linuxcnc lathe.ini
LINUXCNC - 2.9.3
Machine configuration directory is '/home/phil/linuxcnc/configs/sim.axis'
Machine configuration file is 'lathe.ini'
Starting LinuxCNC...
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))
linuxcnc TPMOD=tpmod HOMEMOD=homemod EMCMOT=motmod
Note: Using POSIX realtime
Found file(LIB): /usr/share/linuxcnc/hallib/basic_sim.tcl
setup_kins: cmd=loadrt trivkins coordinates=xz
Found file(REL): ./ethercat.hal
trivkins: already exists
./ethercat.hal:11: waitpid failed /usr/bin/rtapi_app trivkins
./ethercat.hal:11: /usr/bin/rtapi_app exited without becoming ready
./ethercat.hal:11: insmod for trivkins failed, returned -1
Shutting down and cleaning up LinuxCNC...
Note: Using POSIX realtime
LinuxCNC terminated with an error. You can find more information in the log:
/home/phil/linuxcnc_debug.txt
and
/home/phil/linuxcnc_print.txt
as well as in the output of the shell command 'dmesg' and in the terminal


Here is my HAL file:

###########################################################
#
# CIA 402 example snippet Hal
#
###########################################################

###########################################################
# Setup
###########################################################

loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS

loadusr -W lcec_conf ethercat-conf.xml
loadrt lcec
loadrt cia402 count=2
loadrt pid names=x-pid,z-pid

###########################################################
# Functions servo-thread
###########################################################

addf lcec.read-all servo-thread
addf cia402.0.read-all servo-thread
addf cia402.1.read-all servo-thread

addf motion-command-handler servo-thread
addf motion-controller servo-thread

addf x-pid.do-pid-calcs servo-thread
addf z-pid.do-pid-calcs servo-thread

addf cia402.0.write-all servo-thread
addf cia402.1.write-all servo-thread
addf lcec.write-all servo-thread

#########################################
#nets
#########################################
net emc-enable => iocontrol.0.emc-enable-in
sets emc-enable 1

#config
setp cia402.0.csp-mode 1
setp cia402.0.pos-scale 3600
setp cia402.1.csp-mode 1
setp cia402.1.pos-scale 3600

#from servo(ethercat) to cia402
net x-statusword lcec.0.0.cia-statusword => cia402.0.statusword
net x-opmode-display lcec.0.0.opmode-display => cia402.0.opmode-display
net x-drv-act-pos lcec.0.0.actual-position => cia402.0.drv-actual-position
net x-drv-act-velo lcec.0.0.actual-velocity => cia402.0.drv-actual-velocity

net z-statusword lcec.1.0.cia-statusword => cia402.1.statusword
net z-opmode-display lcec.1.0.opmode-display => cia402.1.opmode-display
net z-drv-act-pos lcec.1.0.actual-position => cia402.1.drv-actual-position
net z-drv-act-velo lcec.1.0.actual-velocity => cia402.1.drv-actual-velocity

#from cia402 to servo(ethercat)
net x-controlword cia402.0.controlword => lcec.0.0.cia-controlword
net x-modes-of-operation cia402.0.opmode => lcec.0.0.opmode
net x-drv-target-pos cia402.0.drv-target-position => lcec.0.0.target-position
net x-drv-target-velo cia402.0.drv-target-velocity => lcec.0.0.target-velocity

net z-controlword cia402.1.controlword => lcec.1.0.cia-controlword
net z-modes-of-operation cia402.1.opmode => lcec.1.0.opmode
net z-drv-target-pos cia402.1.drv-target-position => lcec.1.0.target-position
net z-drv-target-velo cia402.1.drv-target-velocity => lcec.1.0.target-velocity

#from motion to cia
net x-enable <= joint.0.amp-enable-out => cia402.0.enable
net x-amp-fault => joint.0.amp-fault-in <= cia402.0.drv-fault
net x-pos-cmd <= joint.0.motor-pos-cmd => cia402.0.pos-cmd
net x-pos-fb => joint.0.motor-pos-fb <= cia402.0.pos-fb

net z-enable <= joint.1.amp-enable-out => cia402.1.enable
net z-amp-fault => joint.1.amp-fault-in <= cia402.1.drv-fault
net z-pos-cmd <= joint.1.motor-pos-cmd => cia402.1.pos-cmd
net z-pos-fb => joint.1.motor-pos-fb <= cia402.1.pos-fb

#homing
net x-home-index <= joint.0.index-enable => cia402.0.home
net z-home-index <= joint.1.index-enable => cia402.1.home
  • tsaG
  • tsaG
20 Mar 2025 21:49

Getting iocontrol.0.tool-prep-pocket to work

Category: Advanced Configuration

Sorry for the double post. I already found several examples of carousel and tool changers that circumvent this HAL (Probe Basic also seems to use its own implementation in the var file). Is it save to assume that this function just doesnt work?

If so, I will just follow the PB implementation and add/modify the pockets in my var file and (try) to use these.
  • tsaG
  • tsaG
20 Mar 2025 21:47
Replied by tsaG on topic No parameters forwarded to M6 script?

No parameters forwarded to M6 script?

Category: QtPyVCP

Okay, I found the issue why the PB remapping was not used. The python had to be activated in the ini as follows.
[PYTHON]
PATH_PREPEND = python
TOPLEVEL = python/toplevel.py


 
  • tommylight
  • tommylight's Avatar
20 Mar 2025 21:41
Replied by tommylight on topic Blown 7i84

Blown 7i84

Category: Driver Boards

Found one instance:
forum.linuxcnc.org/27-driver-boards/5339...-over-current#306578
Also, is the 6V1 a regulated or unregulated rectifier?
What is the voltage on that rail when everything is powered on and when everything is powered off?
If you have a scope, do a trace of that rail while flipping the some big relays on/off, see how much they induce to the DC side.
  • tommylight
  • tommylight's Avatar
20 Mar 2025 21:15
Replied by tommylight on topic 7I97T joint following error

7I97T joint following error

Category: General LinuxCNC Questions

Use PncConf to create a basic minimal config for 7i92 with 7i77, then we can modify it to fit the 7i97T and give it a try.
Simple 3 axis config, no spindle, no I/O, no MPG, nothing else.
Also upload one of the existing configs that run so we can get the card addresses.
  • tommylight
  • tommylight's Avatar
20 Mar 2025 21:08
Replied by tommylight on topic Blown 7i84

Blown 7i84

Category: Driver Boards

If that is actually the line powering the Mesa boards, I have made an artistic representation of the issue, see attached:


As mentioned many times here on the forum by several members, do NOT cut on/off the DC side of power to Mesa boards... and stepper/servo drives.
I will leave it to PCW to explain why as i might make a mess.
  • Grotius
  • Grotius's Avatar
20 Mar 2025 21:03 - 21 Mar 2025 20:20
Replied by Grotius on topic scurve trajectory planner

scurve trajectory planner

Category: General LinuxCNC Questions

@ Rüdiger,

Max acc scurve = 2 x acc.
at scurve inflection point the
Scurve acc = 2 x acc.
see  scurve lib abstract.
 
  • ruediger123
  • ruediger123
20 Mar 2025 20:53
Replied by ruediger123 on topic scurve trajectory planner

scurve trajectory planner

Category: General LinuxCNC Questions

Hello,
I tested further and apparently the acceleration is not limited. In the ini it says 'MAX_ACCELERATION = 5000' in the halscope at approx. -10000.

Gruß Rüdiger

 
  • Tinker
  • Tinker
20 Mar 2025 19:45
Replied by Tinker on topic 7I97T joint following error

7I97T joint following error

Category: General LinuxCNC Questions

So i received the card back with no reported problems but i still cant get any output to my drives. I completely reinstalled Linuxcnc, Mesa flash and Mesa CT with the same results. I'm at a total loss with this thing.. I tried to use the Pncconf wizard but it doesn't support the card I bought. Would i be better off sending this on back and getting some of the older ones that are a little more user friendly?
  • Aciera
  • Aciera's Avatar
20 Mar 2025 19:43
  • RotarySMP
  • RotarySMP's Avatar
20 Mar 2025 19:39
Replied by RotarySMP on topic Blown 7i84

Blown 7i84

Category: Driver Boards

I really appreciate you guys looking at and commenting on this. I would not have thought of that, but I never touched that part of the Maho wiring, so it still has the hardware inhibits on the main 3Ph contactors.
 

Output-03 only runs one of the 24V relays to control 24V to one of the little gearbox shifter motors.
 
Displaying 17296 - 17310 out of 18505 results.
Time to create page: 1.076 seconds
Powered by Kunena Forum