Go to Post But if we just re-play "Triple Play" then what in the world will the Game Design Committee do with all that new-found free time? Since they wouldn't have to come up with a new game, they would have to concentrate on other things - like how to enforce the proposed "no metal on robots" rule. - dlavery [more]
Home
Go Back   Chief Delphi > Technical > Control System
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rate Thread Display Modes
  #16   Spotlight this post!  
Unread 14-03-2005, 01:49
Unsung FIRST Hero
Mike Betts Mike Betts is offline
Electrical Engineer
no team
Team Role: Engineer
 
Join Date: Dec 2001
Rookie Year: 1995
Location: Homosassa, FL
Posts: 1,442
Mike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond repute
Re: Robot Jumping on Power Up

Quote:
Originally Posted by Dave Flowerday
Mike, are you certain that all of your output variables have been initialized before you first call putdata()?

I imagine you've tried this already, but have you checked to make sure that the data you're getting from the OI is OK on the first loop? I vaguely recall someone saying that on the first loop the data they got from the OI was junk and that they had to ignore it to get rid of the problem.
Dave,

From the user initialization:

Code:
 void User_Initialization (void)
{
  rom const char *strptr = "IFI User Processor Initialized ...";
  Set_Number_of_Analog_Channels(SIXTEEN_ANALOG);	/* DO NOT CHANGE! */
/* FIRST: Set up the I/O pins you want to use as digital INPUTS. */
  digital_io_01 = digital_io_02 = digital_io_03 = digital_io_04 = INPUT;
  digital_io_05 = digital_io_06 = digital_io_07 = digital_io_08 = INPUT;
  digital_io_09 = digital_io_10 = digital_io_11 = digital_io_12 = INPUT;
  digital_io_13 = digital_io_14 = digital_io_15 = digital_io_16 = INPUT;
  digital_io_17 = digital_io_18 = INPUT;  /* Used for pneumatic pressure switch. */
	/* 
	 Note: digital_io_01 = digital_io_02 = ... digital_io_04 = INPUT; 
		   is the same as the following:
		   digital_io_01 = INPUT;
		   digital_io_02 = INPUT;
		   ...
		   digital_io_04 = INPUT;
	*/
/* SECOND: Set up the I/O pins you want to use as digital OUTPUTS. */
 // digital_io_17 = OUTPUT;	/* Example - Not used in Default Code. */
/* THIRD: Initialize the values on the digital outputs. */
//  rc_dig_out17 = 0;
/* FOURTH: Set your initial PWM values.  Neutral is 127. */
  pwm01 = pwm02 = pwm03 = pwm04 = pwm05 = pwm06 = pwm07 = pwm08 = 127;
  pwm09 = pwm10 = pwm11 = pwm12 = pwm13 = pwm14 = pwm15 = pwm16 = 127;

...
I have not changed this at all (even though I now realize that the Victors require a 132 for a true neutral, 127 still works)...

Mke
__________________
Mike Betts

Alumnus, Team 3518, Panthrobots, 2011
Alumnus, Team 177, Bobcat Robotics, 1995 - 2010
LRI, Connecticut Regional, 2007-2010
LRI, WPI Regional, 2009 - 2010
RI, South Florida Regional, 2012 - 2013

As easy as 355/113...
  #17   Spotlight this post!  
Unread 14-03-2005, 01:56
MikeDubreuil's Avatar
MikeDubreuil MikeDubreuil is offline
Carpe diem
FRC #0125 (Nu-Trons)
Team Role: Engineer
 
Join Date: Jan 2003
Rookie Year: 1999
Location: Boston, MA
Posts: 967
MikeDubreuil has a reputation beyond reputeMikeDubreuil has a reputation beyond reputeMikeDubreuil has a reputation beyond reputeMikeDubreuil has a reputation beyond reputeMikeDubreuil has a reputation beyond reputeMikeDubreuil has a reputation beyond reputeMikeDubreuil has a reputation beyond reputeMikeDubreuil has a reputation beyond reputeMikeDubreuil has a reputation beyond reputeMikeDubreuil has a reputation beyond reputeMikeDubreuil has a reputation beyond repute
Send a message via AIM to MikeDubreuil
Re: Robot Jumping on Power Up

Quote:
Originally Posted by Mike Betts
I have not changed this at all (even though I now realize that the Victors require a 132 for a true neutral, 127 still works)...
I did not realize that! Can you explain why 132 is neutral? Thanks.
__________________
"FIRST is like bling bling for the brain." - Woodie Flowers
  #18   Spotlight this post!  
Unread 14-03-2005, 07:19
Jack Jones Jack Jones is offline
Retired
no team
 
Join Date: Jan 2003
Rookie Year: 2003
Location: Waterford, MI
Posts: 964
Jack Jones has a reputation beyond reputeJack Jones has a reputation beyond reputeJack Jones has a reputation beyond reputeJack Jones has a reputation beyond reputeJack Jones has a reputation beyond reputeJack Jones has a reputation beyond reputeJack Jones has a reputation beyond reputeJack Jones has a reputation beyond reputeJack Jones has a reputation beyond reputeJack Jones has a reputation beyond reputeJack Jones has a reputation beyond repute
Re: Robot Jumping on Power Up

Quote:
Originally Posted by Mike Betts
Since we upgraded our RC to the V10 Master Code, we have noticed a problem with all PWM's jumping to full on (254) for a fraction of a second after power up.

This problem does not appear with a robot reset while power is on... Just once every power up.

Is anyone else seeing this or, even better, figured out what causes it?

If we are the only ones, we may have a defective controller...

Regards,

Mike
We had a similar problem. Fix was to calibrate Victors.
__________________
This message is hidden because Jack Jones is on your ignore list.
  #19   Spotlight this post!  
Unread 14-03-2005, 10:08
Unsung FIRST Hero
Mike Betts Mike Betts is offline
Electrical Engineer
no team
Team Role: Engineer
 
Join Date: Dec 2001
Rookie Year: 1995
Location: Homosassa, FL
Posts: 1,442
Mike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond repute
Re: Robot Jumping on Power Up

Quote:
Originally Posted by MikeDubreuil
I did not realize that! Can you explain why 132 is neutral? Thanks.
Mike,

See the data at the beginning of this thread. I confirmed the data by experiment. The Victor has a zero output when given PWM values of 125 to 138 (mean 132).

A lot of the referenced thread goes into what might be causing the problem. I do not know why the Victors are non-linear. IFI claims that that they are linear (see this) but this assertion is not backed up by experiment.

I have attached my data, taken with this year's kit frame, gearbox, CIM motors and wheels using the kit Hall effect sensors counting sprocket teeth with the frame on blocks (free speed except for bearing and gear friction).

However, this is getting off topic...

Regards,

Mike
Attached Thumbnails
Click image for larger version

Name:	Chart Victor Test.JPG
Views:	304
Size:	65.2 KB
ID:	3100  
__________________
Mike Betts

Alumnus, Team 3518, Panthrobots, 2011
Alumnus, Team 177, Bobcat Robotics, 1995 - 2010
LRI, Connecticut Regional, 2007-2010
LRI, WPI Regional, 2009 - 2010
RI, South Florida Regional, 2012 - 2013

As easy as 355/113...
  #20   Spotlight this post!  
Unread 14-03-2005, 10:09
Unsung FIRST Hero
Mike Betts Mike Betts is offline
Electrical Engineer
no team
Team Role: Engineer
 
Join Date: Dec 2001
Rookie Year: 1995
Location: Homosassa, FL
Posts: 1,442
Mike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond repute
Re: Robot Jumping on Power Up

Quote:
Originally Posted by Jack Jones
We had a similar problem. Fix was to calibrate Victors.
Jack,

This is seen with a servo attached to any PWM output. It is not a Victor problem...

Regards,

Mike
__________________
Mike Betts

Alumnus, Team 3518, Panthrobots, 2011
Alumnus, Team 177, Bobcat Robotics, 1995 - 2010
LRI, Connecticut Regional, 2007-2010
LRI, WPI Regional, 2009 - 2010
RI, South Florida Regional, 2012 - 2013

As easy as 355/113...
  #21   Spotlight this post!  
Unread 14-03-2005, 11:50
Joe Johnson's Avatar Unsung FIRST Hero
Joe Johnson Joe Johnson is offline
Engineer at Medrobotics
AKA: Dr. Joe
FRC #0088 (TJ2)
Team Role: Engineer
 
Join Date: May 2001
Rookie Year: 1996
Location: Raynham, MA
Posts: 2,647
Joe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond repute
Re: Robot Jumping on Power Up

Quote:
Originally Posted by Mike Betts
...snip...
I do not know why the Victors are non-linear. IFI claims that that they are linear (see this) but this assertion is not backed up by experiment.

I have attached my data, taken with this year's kit frame, gearbox, CIM motors and wheels using the kit Hall effect sensors counting sprocket teeth with the frame on blocks (free speed except for bearing and gear friction).

However, this is getting off topic...

Regards,

Mike
Mike,


Continuing your off topic comments...

I think I have an explanation for the data you have and it is consistent with IFI's claim of linear PWM output.

In my day job, we were breaking gear teeth on an actuator when the actuator was lightly loaded. No problem, we thought, we will just PWM the motor input and slow the actuator down. To our surprise, unless we got to very low PWM values, the free speed of our actuator stayed pretty much constant with respect to PWM value (we generated a chart very like the one you have shared with us).

Here is what we think we understand now: It boils down to the fact that we THINK that Vmotor = Vbatt X (PWM %) but that is only an approximation and it does not always hold true, especially if the PWM is the type that switches between Vbatt and OPEN CIRCUIT*, as my actuator driver and Victors do.

This is what happens as best as I can explain it. During the ON pulse, the motor accelerates (unless it is at its Vbatt Free Speed). During the OFF pulse the motor just coasts (recall that the motor is lightly loaded and that Newton's Laws apply: objects in motion remain in motion unless something slows it down). So... ...over successive ON pulses, the motor keeps accelerating until it reaches the Vbatt free speed.

The approximation of Vmotor = Vbatt * (PWM %) is much better for stall torque by the way.

Comments?

Joe J.

* There are other PWM types. For example the H-bridge could switch between Vbatt and Dynamic Brake (by holding both motor leads to Vbatt or both to Ground). Another example is that the H-bridge could switch between Vbatt and -Vbatt (in this case "off" is a 50% duty cycle which hits the motors with Vbatt for half the time and -Vbatt for half the time)

These other driver schemes are not as crazy as they may seem at first.

In fact, based on my non-FIRST experience with these types of drive schemes, I STRONGLY URGE IFI to offer these drive methods to FIRST teams in the future. They are useful in 2 ways. #1 If used for drive motors, the robot acts much more like a driver is commanding "speed" rather than commanding "gas" so the robot is easier to drive. #2 if used for large robot arms, the arms are orders of magnitude easier to control.

On the down side, they do pound more heat into the FETs but I'm an M.E. not a E.E. ;-) Bottom line, they make for well behaved robots. We should use them, even if they do stress the Victor a bit more. In my opinion, the Victors have the design margin in them. JJ
__________________
Joseph M. Johnson, Ph.D., P.E.
Mentor
Team #88, TJ2

Last edited by Joe Johnson : 14-03-2005 at 12:06.
  #22   Spotlight this post!  
Unread 14-03-2005, 12:40
KenWittlief KenWittlief is offline
.
no team
Team Role: Engineer
 
Join Date: Mar 2003
Location: Rochester, NY
Posts: 4,213
KenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond repute
Re: Robot Jumping on Power Up

presently you need to create a closed loop feedback control system to have your commands correspond to 'speed' instead of torque.

Im not sure closing the bridge would really map directly to speed- it sounds too easy to be true :^)

an out-of-the-box motor 'speed' controller from Victor would be super. I think it would have to measure the back emf and close the loop on itself.

Last edited by KenWittlief : 14-03-2005 at 12:43.
  #23   Spotlight this post!  
Unread 14-03-2005, 15:07
Joe Johnson's Avatar Unsung FIRST Hero
Joe Johnson Joe Johnson is offline
Engineer at Medrobotics
AKA: Dr. Joe
FRC #0088 (TJ2)
Team Role: Engineer
 
Join Date: May 2001
Rookie Year: 1996
Location: Raynham, MA
Posts: 2,647
Joe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond repute
Re: Robot Jumping on Power Up

Quote:
Originally Posted by KenWittlief
presently you need to create a closed loop feedback control system to have your commands correspond to 'speed' instead of torque.

Im not sure closing the bridge would really map directly to speed- it sounds too easy to be true :^)

an out-of-the-box motor 'speed' controller from Victor would be super. I think it would have to measure the back emf and close the loop on itself.
I do not mean to imply that driving via an H-bridge that switches between Vbatt and Dynamic Brake takes the place of a feedback loop.

What I AM saying is that whether you are driving a robot via open loop or closed loop the job is considerably easier in the case where you have the H-bridge configured in this way.

I do not have time right now to explain, but essentially this drive circuit effectively adds a term to the dynamic equations that helps to stabilize velocity of the motor.

Joe J.
__________________
Joseph M. Johnson, Ph.D., P.E.
Mentor
Team #88, TJ2
Closed Thread


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Best Robot Ever(again) Corey Balint General Forum 26 04-08-2004 23:03
RoboCup International Competition 2004 - Lisbon, Portugal patrickrd Televised Robotics 21 04-07-2004 05:43
Public apology from myself (Team 830) Don Wright Rules/Strategy 13 14-03-2004 22:02
Kamikaze Robot Strategy... Joe Johnson Rules/Strategy 30 07-04-2002 21:42
Calling all Lawyers... ...Define "all parts" Joe Johnson General Forum 10 13-03-2002 15:12


All times are GMT -5. The time now is 16:48.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi