Jump to content
OMRON Forums

iws

Members
  • Posts

    10
  • Joined

  • Last visited

Everything posted by iws

  1. I want to be able to detect the conditions listed in the Geo Brick LV User Manual, Page 251. Specifically, "Bus Under-Voltage Warning", "Over-Temperature (> 70C)", etc. However, I am unable to find the location of the register holding the values described. The manual lists the register name as "ADC A Status Word". I have searched for "status word" as well as many other things throughout the Geo Brick LV User Manual, the Turbo PMAC User Manual, and the Turbo PMAC Software Reference Manual, all without finding anything even resembling this register. Please help me find this register.
  2. Hi Richard. Thanks for your help. See my other thread where I am trying to get the open loop stuff resolved. http://forums.deltatau.com/showthread.php?tid=1597 Here is all of the information I have about the motor. I have the 12V 20:1 version with 288mm stroke length with integrated limit switches and potentiometer. The ACC-28 ADC values range from approximately 500 to 12500 over the full travel of the motor. Very low resolution compared to quadrature encoders! http://www.midwestmotion.com/products/la3/MMP%20LA10%20Series.pdf Since the original post, I have taken some advice and increased the filter gain in the exponential filter. This decreases the number of servo cycles that are used in the averaging. This makes my plots significantly more noisy. Here is my current encoder table definitions. Encoder Table Definitions. Executed - Thu May 08 11:20:15 2014 Entry Address Y-Word Conversion Method ---------------------------------------------------- 1 Y:$ 3501 $1F8105 A/D conversion of location $78105 2 Y:$ 3502 $D03501 Exponential filter from conv. location $3501 Y:$ 3503 $000400 Maximum change in cts/cycle Y:$ 3504 $1F0000 Filter gain 3 Y:$ 3505 $078010 1/T extension of location $78010 4 Y:$ 3506 $078018 1/T extension of location $78018 5 Y:$ 3507 $078100 1/T extension of location $78100 6 Y:$ 3508 $078108 1/T extension of location $78108 7 Y:$ 3509 $078110 1/T extension of location $78110 8 Y:$ 350A $078118 1/T extension of location $78118 Here are the motor I variables. I100=1 I101=1 I102=$78002 I103=$3504 I104=$3504 I105=$35C0 I106=0 I107=96 I108=96 I109=96 I110=$78105 I111=8388607 I112=16000 I113=0 I114=0 I115=1000 I116=32 I117=0.015625 I118=0 I119=0.015625 I120=0 I121=1 I122=0.1 I123=32 I124=$820001 I125=$78000 I126=0 I127=0 I128=160 I129=0 I130=180000 I131=0 I132=0 I133=2000 I134=0 I135=0 I136=0 I137=0 I138=0 I139=0 I140=0 I141=0 I142=$0 I143=$0 I144=$0 I145=0 I146=0 I147=0 I148=0 I149=0 I150=0 I151=0 I152=0 I153=0 I154=0 I155=$0 I156=0 I157=5927 I158=1283 I159=0 I160=3 I161=0.014716982841 I162=0 I163=4194304 I164=0 I165=16 I166=1423 I167=4194304 I168=2550 I169=10981 I170=0 I171=0 I172=512 I173=1976 I174=50 I175=0 I176=0.3526718616 I177=0 I178=0 I179=0 I180=0 I181=$0 I182=$78006 I183=$78001 I184=$FFFC00 I185=0 I186=0 I187=64 I188=0 I189=0 I190=0 I191=$0 I192=10 I193=0 I194=0 I195=$B10000 I196=1 I197=0 I198=0 I199=0 Here is a graph of command O30. I issued the O30 command at about 0.60 seconds from the start. At about 3.00 seconds, the motor suddenly accelerated to maximum velocity. The load did not change during the test! Here is a graph of command O-30. I issued the O-30 command at about 0.75 seconds from the start. After a strange negative motion, the velocity remains relatively constant. With the help of an engineer, I have experimented with the PID loop parameters. The motor is able to jog to a target position fairly accurately, but it moves extremely slowly. It also seems to stop abruptly when near the target, rather than decelerate slowly. I still think that the current loop is not tuned correctly, and that is what is causing the problems. Thanks again for your help!
  3. The current loop uses the default parameters from the Geo Brick LV Setup Assistant spreadsheet. The defaults are a Current Loop Bandwidth of 300 Hz and a Current Loop Damping of 0.707. The current loop gains for this motor are set to: I161=0.014716982841 I162=0 I176=0.3526718616 These numbers were taken directly from the spreadsheet. Is this what you are asking for? If not, please tell me how to create the plots you want, and I will do so. Thanks for your help!
  4. I am using a Geo Brick LV with a Midwest Motion Products LA10 Linear Accelerator motor. This motor is a 12V DC motor. The Geo Brick does not need to commutate the motor for it to work. I have tested the motor with a bench supply, and it works smoothly at all voltages through the entire range 2V to 12V. If I use the bench supply to send 2V, the motor moves slowly, but at a constant velocity. If I use the bench supply to send 8V the motor moves at a medium speed at a constant velocity. Etc. However, using the Geo Brick in open loop mode, the motor does not have a constant velocity. I have taken several plots with the PMACPlot32Pro2 utility to prove this. I cannot tune the PID loop without first having a stable current loop. How can I fix the Geo Brick? This graph shows the the results of running the command "O30" for the motor. This starts at about 2 seconds. I am unsure why the Geo Brick commanded a negative velocity at the beginning. I certainly did not ask it to do so. You can then see that the velocity remained constant for a while, until about 12 seconds, where it accelerated to maximum velocity. The Geo Brick did this on its own. I issued no commands except "O30". If I hook up a volt meter on the Geo Brick output to the motor, I can see the voltage increase when the acceleration happens. The open loop commands are not providing a constant voltage. Here is another instance of the same phenomenon, showing the actual velocity only. Here is another instance of the same phenomenon, using command "O35" this time. Why did the Geo Brick decide to accelerate at about 2.50 seconds? In the negative direction, the Geo Brick seems to perform better. This is the results of command "O-35". You can see that other than at the beginning, the motor stayed at a constant velocity. I am at a loss to explain this behavior. Please help.
  5. I have finally gotten this motor moving smoothly with open loop commands. My setup has not changed significantly from the above, though I have increased the Phase interrupt, servo interrupt, and PWM frequency per the Geo Brick Setup Assistant spreadsheet. The motor still oscillates around the target with Jog commands. I have tried tweaking the PID parameters extensively, and made no significant progress. The attached images show the results of the AutoTune algorithm. I do not know what to change to make this better. Please help.
  6. One more piece of information about this motor. It takes 4A of current to get it moving at all. However, once moving (without a load), it draws about 1.6A to keep moving. Will this confuse the Geo Brick?
  7. Hi again. I am using a Geo Brick LV, and several 12VDC Brush motors. I have successfully set up several rotary motors using incremental encoders for position and velocity feedback. These motors are working great, so I believe that I have a decent understanding of the Geo Brick configuration. The final motor needed for my project is a Midwest Motion LA10 Linear Actuator. It uses a 10K potentiometer for position and velocity feedback. The Geo Brick Setup Assistant Spreadsheet does not appear to handle this type of motor at all. Searching the datasheets for "ACC-28" or "Potentiometer" does not help much. I have set up the encoder table such that I can read the potentiometer using the ACC-28 A/D register $78105. Using open loop mode, I can drive the Linear Actuator all the way out. At this point the ADC reading (from M505) is about 12300. If I drive the Linear Actuator all the way in, the ADC reading is about 540. This confirms that the ACC-28 ADC is reading sane values. I have also added an Exponential Filter.to the encoder table. This smooths out the position and velocity readings in the Position window. Here is my encoder table: Encoder Table Definitions. Executed - Thu May 01 16:00:44 2014 Entry Address Y-Word Conversion Method ---------------------------------------------------- 1 Y:$ 3501 $1F8105 A/D conversion of location $78105 2 Y:$ 3502 $D03501 Exponential filter from conv. location $3501 Y:$ 3503 $000010 Maximum change in cts/cycle Y:$ 3504 $05D000 Filter gain 3 Y:$ 3505 $1F8105 A/D conversion of location $78105 4 Y:$ 3506 $078200 1/T extension of location $78200 5 Y:$ 3507 $078100 1/T extension of location $78100 6 Y:$ 3508 $078108 1/T extension of location $78108 7 Y:$ 3509 $078110 1/T extension of location $78110 8 Y:$ 350A $078118 1/T extension of location $78118 9 Y:$ 350B $078000 1/T extension of location $78000 I have set I103=$3504 and I104=$3504. Driving the Linear Accelerator in open loop mode, I can see the position and velocity change. Therefore I believe I have the encoder table set up correctly. At this point, I have two problems. Problem 1: If I drive the motor in open loop mode (command O100) the motor drives out at a constant speed. This is good. If I drive the motor in open loop mode in the other direction (command O-100) the motor DOES NOT move at constant speed. The motor moves at 100% speed for about 1 second, then slows down for about 1 second. This process repeats until the limit is reached. Watching this process with a volt meter, the voltage is not constant. It runs at -12VDC for about 1 second, then drops to about -5VDC. This corresponds to the motor slowing down. I have confirmed that this behavior DOES NOT happen with a bench supply. I have also confirmed that this behavior DOES NOT happen with a PWM supply where I can control the output voltage. Question 1: Why is the Geo Brick dropping the voltage when I've told it "O-100"? My understanding is that open loop commands should be constant speed! Problem 2: Using Jog commands, the motor oscillates around the target I have tried using the PID auto tune procedure, which does not work very well for this motor. I have then tried changing all PID parameters systematically. Nothing I can choose works well with this motor. When a Jog command is issued, the motor oscillates around the target by about 1000 counts in each direction. This behavior exists even if I set the PID loop to extremely conservative values (for example, I130=2000 and all other PID parameters at 0). Have I done something wrong with the encoder conversion table? What could be going wrong?
  8. Thanks for the help. The problem is solved. I'm posting this reply to help others searching the forum in the future. In the terminal window, I executed the following. It succeeded in clearing the I2T fault for Motor #1, and then re-enabling the protection. Obviously, the data needs to change for Motor #2, etc. WX:$78014,$F8CCFE WX:$78014,$F84CFE WX:$78014,$F00CFE I will implement this by using a PLC with the appropriate 50ms pauses between each write.
  9. I am using a Geo Brick LV. I am testing the case where I have a broken limit switch, and the motor drives past the limit into a hard stop, where it stalls and draws more current than allowed. In this case, the I2T limit catches the problem, and the 7-segment display reads "1L" (Axis 1 Over Load). This is described in the Geo Brick LV User Manual, Section "D1: Error Codes" on Page 249. The following page describes the Strobe Word Structure, which I believe can be used to clear this fault. Running the command "I7006=$F8C0FE" appears to reset the fault. However, after driving the motor off of the hard stop and repeating the test, I cannot cause the condition again. This leads me to believe that the I2T protection has been disabled by my command. Is this true? If so, what is the proper way to reset an I2T Fault? Thanks for your help.
  10. Hi, I have a Geo Brick LV and a 12V Brush DC motor (Midwest Motion Products MMP D22-490D-12V). This is just a simple DC motor, not a servo or stepper motor. The Geo Brick LV is not commutating. I have set up the Geo Brick LV such that I can run the motor successfully. For example "J=1000" moves the motor 1000 counts of the encoder. Motions work as expected. As part of my design, I'd like to be able to monitor the amount of current being supplied to the motor. However, I have been unable to do this. I have the following M variables set up: M160->X:$B8,24,S M165->Y:$B8,24,S M177->X:$B9,8,16,S M178->Y:$B9,8,16,S These M variables always have a value of 0, even when the motor is turning at full speed. How can I read the motor current?
×
×
  • Create New...