Jump to content
OMRON Forums

cmparker

Members
  • Posts

    12
  • Joined

  • Last visited

cmparker's Achievements

Apprentice

Apprentice (3/14)

  • First Post
  • Collaborator Rare
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

0

Reputation

  1. Yes, I see encoder feedback in the position window. It is a 4 line (+2 for Index) differential quadrature encoder. I changed Ixx71 to 1000 to match the encoder. Now when I try to phase the motor I can sometimes feel it oscillating back and forth. If I try the open loop test, I get an amplifier fault (current).
  2. Yes, I see encoder feedback in the position window. I changed Ixx71 to 1000 to match the encoder. It is a 4 line (+2 Index) differential quadrature encoder.
  3. Thank you for the advice. Phase and encoder cabling was one of the first things we changed to try and fix the problem. We also tried replacing the motors and Delta Tau to rule out any hardware problems. So far no luck. I got a hold of an oscilloscope and measured the encoder feedback at the Delta Tau (1,2,3,4 = A+,A-,B+,B-): Move by hand: Move with jog: Some extra varying force may be on the motor from a belt in the drive mechanism. We tried tightening and loosening the belt but the problem remains and we do not see any significant differences when doing a step or ramp command. After a move I'm seeing around +/-1 count of following error. I will keep an eye on it to see if it ever jumps up to a large value. From the original setup: Ixx33=500 Ixx29=0 Ixx79=0 Ixx22=5 I will double check the motor configuration and verify it's not changing. Thanks.
  4. Thank you for the reply. In the old setup I177 was set to 1000, not 0. I have been going through your example and I am stuck on the open loop test. I get the following: Open Loop Test.BMP What should I look at first? Also how is I171 calculated for a stepper with an encoder? For my setup I am using motor 4118S-02D-27RO with Encoder E5-1000-197-I-D-D-D-B. The specs are 1.8deg step, 1.3A/phase, 2.8ohm/phase, 3.6mH/phase, 1000 Counts/Rev Encoder. I can move the motor and get encoder feedback. Based on your example: End Gat Del Gat Close // Step 0: $$$***, Download Suggested M Vars #define MaxPhaseFreq P8000 ; Max Phase Clock [KHz] #define PWMClk P8001 ; PWM Clock [KHz] #define PhaseClk P8002 ; Phase Clock [KHz] #define ServoClk P8003 ; Servo Clock [KHz] #define ContCurrent 1.3 ; Continuous Current Limit [Amps] –User Input #define PeakCurrent 5 ; Instantaneous Current Limit [Amps] –User Input #define MaxADC 33.85 ; Brick LV full range ADC reading (see electrical specifications) #define I2TOnTime 1 ; Time allowed at peak Current [sec] // Clock Setup Parameters (from existing firmware) I7100=1640 I7101=1 I7102=3 I6800=0 I6801=0 I6802=0 I7000=1640 I7001=1 I7002=3 I10=1856284 I7003=2250 I7004=35 I7103=2250 I7104=35 MaxPhaseFreq=117964.8/(2*I6800+3) PWMClk=117964.8/(4*I6800+6) PhaseClk=MaxPhaseFreq/(I6801+1) ServoClk=PhaseClk/(I6802+1) // Step 1: I100 = 1 I124 = $820001 I172 = 512 I184 = $FFFC00 I182 = $78006 I183 = $078001 I101 = 1 I177 = 0 I166=0.95 * I7000 ; Compute per the manual (as of for brushless motor) I157=INT(32767*(ContCurrent*1.414/MaxADC)*cos(30)) ; Compute per the manual (as of for brushless motor) I169=INT(32767*(PeakCurrent*1.414/MaxADC)*cos(30)) ; Compute per the manual (as of for brushless motor) I158=INT((I169*I169-I157*I157)*ServoClk*1000*I2TOnTime/(32767*32767)) ; Compute per the manual (as of for brushless motor) I170 = 360 / 1.8 / 4 ; For a 1.8 deg stepper I171 = 204800 ; Number of counts per rev ??? I129 = 0 I179 = 0 // Step 2: // Tune current loop I161 = 0.02 I162 = 0.1 I176 = 0.5 // Step 3: // Do manual phasing (Pg171 Geo Brick LV) // Step 4: // Open loop test Current Loop Test Results: Current Loop Tuned.BMP
  5. We have several stepper motors in a system that exhibit some strange behavior. Sometimes when a move is commanded, the motor moves in the opposite direction until the Fatal Following Error is hit. When the move is commanded again, the motor moves in the correct direction and stops where commanded. We have also seen the motor move and go open loop with a Fatal Following error when it wasn't commanded to move. This problem happens after several hours or days of continuous operation. What could be the cause(s) of the problems? Some background: The stepper motors were configured before my time and are close loop controlled with attached encoders. We are using a Geo Brick LV, 8 axis controller. Using PmacTuningPro2, doing a Position Step results in no movement of the motor. Doing a Position Ramp or Sinusoidal move results in good movement with low following error. If I lower kp enough, Position Step will work but the following error for the Ramp and Sinusoidal moves is much higher. If wanted I can post the images. In another thread I read most people control steppers using open loop which is less problematic. Also all examples I found are only for open loop (direct microstepping) control. What are some of the problems that can be encountered by using encoder feedback and a stepper? How can these problems be overcome? Are there any examples or guides to follow using close loop control so I can verify our current setup?
  6. I have a Geo Brick LV controller that was damaged when a bad cable was connected to J6 (General IO). This controller also has the optional Analog IO connector (J9). The replacement controller I have does not have J9 which is required for my application. Is it possible to just move the Analog IO board from the bad Geo Brick to the new one and upgrade it to have analog IO?
  7. Thanks for pointing me to the right place! I was able to follow the example and get a motor moving on axis 8. I am now having trouble getting the Delta Tau to use the real encoders and not just "phantom closed loop" control. Here is my setup: I7140=8 (Servo IC 1 Channel 4 Encoder/Timer Decode Control = Internal pulse and direction) i811=3200000 (Fatal Following Error Limit: 1/16 Counts) i822=300 (Jog Speed: cts/msec) i830=699 (PID Proportional Gain) The encoder is 8000 cts/rev I attached a txt file with the other I vars. When I issue a j+ command I see a following error of ~14cts at 300kcts/sec. The motor accelerates smoothly up to speed and maintains it nicely. Now when I change I7140 to 3 (x4 quadrature decode CW) I have problems. The motor will start spinning, then start oscillating, then the external amp will shut off. It seems the PID loop of the Delta Tau and the PID of the external amplifier are causing the oscillations. I found if I decrease the gain (I830) to 75, then I can get the motor moving with a following error of ~130000cts at 300kcts/sec. What should I do to maintain a low following error without causing the oscillations? Closed Loop Example.txt
  8. I have a Geo Brick LV connected to an external amplifier through the pulse/direction outputs on a encoder connector. I tuned the external amplifier for the motor and can command it to move (using the external amp software). Is there a guide I can follow for how to setup the Delta Tau to work with the amplifier? Also, how does tuning in this configuration differ from tuning a motor directly connected to the Delta Tau?
  9. Thanks for the info! I had some trouble with number 3. Before I791=$BF0000 and the motor phased with the other old settings. When I use the above equation, $BF0000 -> $810000 which doesn't work with my motor. Playing around with the values I found something around $9D0000 works and allows the motor to phase. How should I determine the "best" value to use for Ixx91? Also how do you read the table at the bottom of the Ixx91 description in the SRM? Thanks, Chris
  10. I currently have a motor configured and tuned on Axis 7 of a Geo Brick LV. I need to change its natural direction from CW to CCW when a "j+" command is issued without changing the hardware. I first changed I7mn0 (I7130) from 7 to 3 and the encoder counts positive in the opposite direction it did before. I then inverted Ix30 (I730). I can now phase the motor but when I try a jog command I get a fatal following error or an amplifier fault (Over Current). What else do I need to change to get it to work? Thanks, Chris Other Info: DC Brushless motor 8 Poles 8000 cnt/rev quadrature encoder Hall Phasing
  11. Thank you very much for the quick response. It makes sense now. Chris
  12. What does bit 10 of Ixx24 do on the Geo Brick LV? In the Turbo SRM bit 10 is not described (page 81). However in the Firmware update listing it says (page 733) "5. Added new control bit (bit 10) to Ixx24 to permit direct-PWM control of two-phase motors." In the Geo Brick LV manual (page 149), this bit is set in an example and described as "disable 3rd Harmonic." Thanks, Chris
×
×
  • Create New...