Jump to content
OMRON Forums

bstobie

Members
  • Posts

    7
  • Joined

  • Last visited

bstobie's Achievements

Rookie

Rookie (2/14)

  • First Post
  • Conversation Starter
  • One Year In
  • Week One Done
  • One Month Later

Recent Badges

0

Reputation

  1. Hi guys, I have a system with a mechanism that has 3 linear axes (#1,#2,#3) driven by stepper motors with encoders for position feedback. This mechanism is physically rotated by another mechanism (#7), that uses a brushless motor and a circular encoder. All 4 axes are controlled by PMAC. The #7 axis is co-linear with the #3 linear axis, so #1 and 2 rotate in space, with attendant gravity/loading changes. The drive system has harmonic drives attached to the stepper, that then drive leadscrews to get linear movement on a rail system. When I rotate #7, I get a small offset appearing in #1 (only), even with #1 in closed-loop mode. The strange thing is that the offset value also appears in the following error, count-for-count. When omega stops, the position offset and corresponding following error just stay at a fixed value (50-100 cts). The offset value seems proportional to #7 velocity. See attached files. Interestingly, the offset is positive for both directions of #7 rotation. In this state, a small jog command changes the following error, but not the position. Increasing the jog value just causes (eventually) a fatal following error. I can clear this fault by issuing "#1o0" then "#1hmz" which sets both position and following error to zero - after this, the axis responds normally to jog commands. Has anyone seen anything like this before, or can offer any explanation for PMAC not zeroing the error? y_axis_as_omega_rotates_pos.bmp y_axis_as_omega_rotates_neg.bmp
  2. Hi Richard, thanks for the swift response. We have a temperature monitoring network that could in principle convert the temperature sensor signals (from PT100 type sensors) to parallel digital signals for the GPIO connector. Only a few bits of resolution should be needed. My conceptual problem is in how to then use this data within the PMAC control software framework to initiate changing between compensation tables.
  3. Hi guys. I am working on a multi-axis system that uses compensation tables for 3 linear axes based on the position of another circular axis that physically rotates the 3 axis system. There is a (hopefully remote) possibility that I might need to switch between tables based on the system environmental temperature. How would I get this temperature data into the PMAC control system? I have a rough idea of using the GPIO connector to input the temperature data, and then using this data in a dummy motor somehow. Any advice on this?
  4. Thanks - much clearer for me now.
  5. Hi folks, I want to create a 1D compensation table that has a source motor with a bipolar range. Page 186 of the Turbo PMAC User Manual says - "If the motor has a travel range to the negative side of zero, and compensation is desired here, these entries should be made as if they were past the positive end of the motor range. For instance, if the motor travel were +/- 50,000 counts and a table entry was to be made every 500 counts (so 200 entries total), the table would be set up with a DEFINE COMP 200,100000 command. The first 100 entries would cover the 500 to +50,000 count range, and the last 100 entries would cover the -50,000 to 0 count range. (Usually the table is referenced so there is a zero correction at the source motor zero position, so the last entry in the table should be 0.) Essentially, the -50,000 to 0 range would be mapped into the +50,000 to +100,000 range." So if I had (say) a span of -100 to +100 = 200, and 10 table entries, I would use the command (source = #1, target = #2) DEFINE COMP 10, #1, #2, 200 1 Correction at 20 cts 2 Correction at 40 cts 3 Correction at 60 cts 4 Correction at 80 cts 5 Correction at 100 cts 6 Correction at -100 cts 7 Correction at -75 cts? 8 Correction at -50 cts? 9 Correction at -25 cts? 10 Correction at 0 cts? This seems to comply with the above description, but the +ve half of the table has entries 20 counts apart, and the -ve half of the table has entries 25 counts apart?
  6. (I reply to myself) The error occurs even with the command #1o0.
  7. Hi, I am a basic level of trying open-loop commands on motor #1. However I get an amplifier fault (Y$C0 bit 3) on the Motor Status screen a few seconds after I enter any #1oxx command where xx is any valid value >0. The "Why is my motor not moving?" screen says there is an I2T error, but this doesn't show in the Motor Status screen, only the Amplifier fault error. I have a factory default system as I have issued the command $$$***. I have no motor or encoder attached to my GeoBrickLV (yet). I have I124=$20001 to set motor limits off, and I7016=3 to set DAC output. The value in Motor #1 command output address ($78002) doesn't change value either, it stays at the value shown before the #1oxx command. Is there something else needing setup?
×
×
  • Create New...