Go to Post In theory, there is no difference between theory and practice. In practice, however... - Alan Anderson [more]
Home
Go Back   Chief Delphi > Technical > Motors
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
  #316   Spotlight this post!  
Unread 26-01-2012, 08:04
Unsung FIRST Hero
Al Skierkiewicz Al Skierkiewicz is offline
Broadcast Eng/Chief Robot Inspector
AKA: Big Al WFFA 2005
FRC #0111 (WildStang)
Team Role: Engineer
 
Join Date: Jun 2001
Rookie Year: 1996
Location: Wheeling, IL
Posts: 10,798
Al Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond repute
Re: Banebots RS-775 Case Short

Joe,
Anything less than 10K is likely going to get the Crio upset at some point. Don't forget that the voltage polarity on the case will reverse when the motor direction reverses. It will also have the speed controller switching component and any brush noise that might be induced as well. You monitoring needs to compensate for high noise and 15kHz for the Jag and 150Hz for the Victors.
__________________
Good Luck All. Learn something new, everyday!
Al
WB9UVJ
www.wildstang.org
________________________
Storming the Tower since 1996.
  #317   Spotlight this post!  
Unread 26-01-2012, 08:56
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,648
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: Banebots RS-775 Case Short

Quote:
Originally Posted by Al Skierkiewicz View Post
<snip>
Don't forget that the voltage polarity on the case will reverse when the motor direction reverses.
<snip>
While this is true for the relative polarity between the two motor leads, it is not so for the can. The can will be shorted to one or other of the brushes*. The voltage on the can will then be pulled hard to Vbatt when that bit of the winding touches whatever side the Jaguar is holding to Vbatt and it will be pulled hard to Gnd when the motor turns such that that same portion of the commutator is touching the side the Jaguar is holding to Gnd.

As to noise and Jag PWMing, I think this the least of our concerns. A simple filter should make that bit go away.

As to the cRio getting upset with lower than 10K, I don't see how this comes into the picture.

Some ascii art:
Vbatt
...|
100 Ohm
...|
Motor Case -- RC filter (band pass) -- cRio Analog Input
...|
100 Ohm
...|
Gnd


The band pass should remove the DC offset of 1/2 Vbatt, allow the rail to rail swings (say 1200-18000 RPM motor speed so allow 20-300Hz or so), and remove the Jaguar PWM and other junk (1000Hz and above).

I am not a EE but it seems that there may be some room for a solution in that space.

Joe J.


*well, it will be shorted to both because the motor windings connect the two, but odds are the short will happen with the wire length to one brush being much shorter than the other so it will act like a short to that one brush.
__________________
Joseph M. Johnson, Ph.D., P.E.
Mentor
Team #88, TJ2
  #318   Spotlight this post!  
Unread 26-01-2012, 08:59
45Auto's Avatar
45Auto 45Auto is offline
Registered User
FRC #2992
Team Role: Mentor
 
Join Date: Mar 2007
Rookie Year: 2006
Location: Slidell, La
Posts: 150
45Auto has a brilliant future45Auto has a brilliant future45Auto has a brilliant future45Auto has a brilliant future45Auto has a brilliant future45Auto has a brilliant future45Auto has a brilliant future45Auto has a brilliant future45Auto has a brilliant future45Auto has a brilliant future45Auto has a brilliant future
Re: Banebots RS-775 Case Short

Quote:
Has anyone tried monitoring the voltage on the case live while the robot is in action?

I am thinking that I could have put connect the case to a resistor network. For example, I could put two relatively high resistors in series between the battery and ground and tie the case to the middle of these and monitor this voltage. This monitor voltage (i.e. the case) would sit at roughly 6-8V (1/2 battery) unless a short starts and then it would start going rail to rail 12V - gnd - 12V - gnd - ...

And this is when I would replace that motor.

What do people think of this scheme?
Why worry about it when the robot is in action? You can't stop the game and do anything about it anyway.

Monitor the resistance between matches, change them out if it reaches a value bothers you.
__________________

2007 - Rookie All Star - Bayou Regional (1858 - Tyborgs)
2009 - Rookie All Star - Bayou Regional (2992 -Prometheus)
2010 - Champions - Bayou Regional (2992 -Prometheus)
2012 - Finalist - Bayou Regional (2992 - Prometheus)
team2992.com/design.php
  #319   Spotlight this post!  
Unread 26-01-2012, 09:02
JamesCH95's Avatar
JamesCH95 JamesCH95 is offline
Hardcore Dork
AKA: JCH
FRC #0095 (The Grasshoppers)
Team Role: Engineer
 
Join Date: Dec 2004
Rookie Year: 2001
Location: Enfield, NH
Posts: 1,885
JamesCH95 has a reputation beyond reputeJamesCH95 has a reputation beyond reputeJamesCH95 has a reputation beyond reputeJamesCH95 has a reputation beyond reputeJamesCH95 has a reputation beyond reputeJamesCH95 has a reputation beyond reputeJamesCH95 has a reputation beyond reputeJamesCH95 has a reputation beyond reputeJamesCH95 has a reputation beyond reputeJamesCH95 has a reputation beyond reputeJamesCH95 has a reputation beyond repute
Re: Banebots RS-775 Case Short

Quote:
Originally Posted by 45Auto View Post
Why worry about it when the robot is in action? You can't stop the game and do anything about it anyway.

Monitor the resistance between matches, change them out if it reaches a value bothers you.
If power to the failing motor is cut then it may save a cRIO reboot and thus the robot will remain mobile for the match instead of being dead in the water for 30-60s.
__________________
Theory is a nice place, I'd like to go there one day, I hear everything works there.

Maturity is knowing you were an idiot, common sense is trying to not be an idiot, wisdom is knowing that you will still be an idiot.
  #320   Spotlight this post!  
Unread 26-01-2012, 09:28
artdutra04's Avatar
artdutra04 artdutra04 is offline
VEX Robotics Engineer
AKA: Arthur Dutra IV; NERD #18
FRC #0148 (Robowranglers)
Team Role: Engineer
 
Join Date: Mar 2005
Rookie Year: 2002
Location: Greenville, TX
Posts: 3,078
artdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond repute
Re: Banebots RS-775 Case Short

Quote:
Originally Posted by JamesCH95 View Post
If power to the failing motor is cut then it may save a cRIO reboot and thus the robot will remain mobile for the match instead of being dead in the water for 30-60s.
If the 775 is completely electrically isolated (via both the case and output shaft) through plastic mounting plates and either acetal gears or timing belts, will the cRIO ever actually reboot if a motor starts to go bad?
__________________
Art Dutra IV
Robotics Engineer, VEX Robotics, Inc., a subsidiary of Innovation First International (IFI)
Robowranglers Team 148 | GUS Robotics Team 228 (Alumni) | Rho Beta Epsilon (Alumni) | @arthurdutra

世上无难事,只怕有心人.
  #321   Spotlight this post!  
Unread 26-01-2012, 09:41
JamesCH95's Avatar
JamesCH95 JamesCH95 is offline
Hardcore Dork
AKA: JCH
FRC #0095 (The Grasshoppers)
Team Role: Engineer
 
Join Date: Dec 2004
Rookie Year: 2001
Location: Enfield, NH
Posts: 1,885
JamesCH95 has a reputation beyond reputeJamesCH95 has a reputation beyond reputeJamesCH95 has a reputation beyond reputeJamesCH95 has a reputation beyond reputeJamesCH95 has a reputation beyond reputeJamesCH95 has a reputation beyond reputeJamesCH95 has a reputation beyond reputeJamesCH95 has a reputation beyond reputeJamesCH95 has a reputation beyond reputeJamesCH95 has a reputation beyond reputeJamesCH95 has a reputation beyond repute
Re: Banebots RS-775 Case Short

Quote:
Originally Posted by artdutra04 View Post
If the 775 is completely electrically isolated (via both the case and output shaft) through plastic mounting plates and either acetal gears or timing belts, will the cRIO ever actually reboot if a motor starts to go bad?
I recall somewhere way back in this thread that at least one team had an issue, in rare instances, with a pair of 775s shorting together , instead of through the frame. The current draw would tank the robot's voltage and cause a reset. This may not be an issue depending on your exact setup.

Joe said "I think that isolating the case (from anything, including other BB775s) will limit the damage to that one motor." which might be an issue if multiple motors are failing/failed and short together.

I guess I skipped a few details in my thought process
__________________
Theory is a nice place, I'd like to go there one day, I hear everything works there.

Maturity is knowing you were an idiot, common sense is trying to not be an idiot, wisdom is knowing that you will still be an idiot.
  #322   Spotlight this post!  
Unread 26-01-2012, 10:07
Unsung FIRST Hero
Al Skierkiewicz Al Skierkiewicz is offline
Broadcast Eng/Chief Robot Inspector
AKA: Big Al WFFA 2005
FRC #0111 (WildStang)
Team Role: Engineer
 
Join Date: Jun 2001
Rookie Year: 1996
Location: Wheeling, IL
Posts: 10,798
Al Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond repute
Re: Banebots RS-775 Case Short

Joe,
The Crio chassis is tied to the negative lead of the battery. The power lead to the Crio is not sufficiently low impedance to prevent (nor is the boost regulator capable of overcoming) a disturbance in the power to the Crio. If anything on the Crio finds a frame fault including the Crio chassis, considerable current (not full motor current of course) will then flow on that negative wire. It appears that in the motors opened last year, the majority of shorts occurred between motor windings and the armature. How close to one end of the winding that fault occurred is anyone's guess. A few appeared to be stray solder that migrated between a brush assy and the case. Another reason for concern is the possibility of two robots with electrical faults becoming engaged with current flowing between frames.
While it appears that the Crio can operate at less than 19 volts, the spec is to operate above 19 volts input.
__________________
Good Luck All. Learn something new, everyday!
Al
WB9UVJ
www.wildstang.org
________________________
Storming the Tower since 1996.
  #323   Spotlight this post!  
Unread 26-01-2012, 12:33
Tom Bottiglieri Tom Bottiglieri is offline
Registered User
FRC #0254 (The Cheesy Poofs)
Team Role: Engineer
 
Join Date: Jan 2004
Rookie Year: 2003
Location: San Francisco, CA
Posts: 3,188
Tom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond repute
Re: Banebots RS-775 Case Short

We are not using the Banebots 775 motors.
  #324   Spotlight this post!  
Unread 26-01-2012, 12:37
jason701802's Avatar
jason701802 jason701802 is offline
Registered User
FRC #0753 (The High Desert Droids)
Team Role: College Student
 
Join Date: Jan 2007
Rookie Year: 2002
Location: Oregon/Univ. of Southern Calif.
Posts: 234
jason701802 has a brilliant futurejason701802 has a brilliant futurejason701802 has a brilliant futurejason701802 has a brilliant futurejason701802 has a brilliant futurejason701802 has a brilliant futurejason701802 has a brilliant futurejason701802 has a brilliant futurejason701802 has a brilliant futurejason701802 has a brilliant futurejason701802 has a brilliant future
Re: Banebots RS-775 Case Short

Quote:
Originally Posted by Al Skierkiewicz View Post
The Crio chassis is tied to the negative lead of the battery.
I thought the chassis of the cRio was tied to 24V.

Quote:
Originally Posted by Al Skierkiewicz View Post
Another reason for concern is the possibility of two robots with electrical faults becoming engaged with current flowing between frames.
Even if on one robot the chassis is connected to 12v and on the other it is connected to gnd, nothing would happen if these two robots touched each other. Sure, you'd be able to read 24v between the (-) terminal of the first robot and the (+) of the second if you stopped the match and walked out there with a voltmeter, but there is no complete circuit for current to flow through. Both the (+) and (-) of the same battery would have to be connected the different parts of the chassis and/or frame for any current to flow.
__________________
Jason
  #325   Spotlight this post!  
Unread 26-01-2012, 12:38
sanddrag sanddrag is offline
On to my 16th year in FRC
FRC #0696 (Circuit Breakers)
Team Role: Teacher
 
Join Date: Jul 2002
Rookie Year: 2002
Location: Glendale, CA
Posts: 8,519
sanddrag has a reputation beyond reputesanddrag has a reputation beyond reputesanddrag has a reputation beyond reputesanddrag has a reputation beyond reputesanddrag has a reputation beyond reputesanddrag has a reputation beyond reputesanddrag has a reputation beyond reputesanddrag has a reputation beyond reputesanddrag has a reputation beyond reputesanddrag has a reputation beyond reputesanddrag has a reputation beyond repute
Re: Banebots RS-775 Case Short

Quote:
Originally Posted by Tom Bottiglieri View Post
We are not using the Banebots 775 motors.
If you don't mind me asking, who is "we"? If 254 isn't using them, that really says something, because I know they do their homework when it comes to motors.
__________________
Teacher/Engineer/Machinist - Team 696 Circuit Breakers, 2011 - Present
Mentor/Engineer/Machinist, Team 968 RAWC, 2007-2010
Technical Mentor, Team 696 Circuit Breakers, 2005-2007
Student Mechanical Leader and Driver, Team 696 Circuit Breakers, 2002-2004
  #326   Spotlight this post!  
Unread 26-01-2012, 13:23
Tom Bottiglieri Tom Bottiglieri is offline
Registered User
FRC #0254 (The Cheesy Poofs)
Team Role: Engineer
 
Join Date: Jan 2004
Rookie Year: 2003
Location: San Francisco, CA
Posts: 3,188
Tom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond repute
Re: Banebots RS-775 Case Short

Quote:
Originally Posted by sanddrag View Post
If you don't mind me asking, who is "we"? If 254 isn't using them, that really says something, because I know they do their homework when it comes to motors.
254. I'm pretty good about updating my current team info.
  #327   Spotlight this post!  
Unread 26-01-2012, 15:00
EricVanWyk EricVanWyk is offline
Registered User
no team
 
Join Date: Jan 2007
Rookie Year: 2000
Location: Boston
Posts: 1,597
EricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond repute
Send a message via AIM to EricVanWyk
Re: Banebots RS-775 Case Short

Quote:
Originally Posted by Al Skierkiewicz View Post
Don't forget that the voltage polarity on the case will reverse when the motor direction reverses.
This is actually one of most common myths in FRC, perpetuated in a blue box in the rules each year. The real reason we isolate our frame is to allow the system to survive single-fault wiring failures.

Quote:
Originally Posted by Joe Johnson View Post
Has anyone tried monitoring the voltage on the case live while the robot is in action?

I am thinking that I could have put connect the case to a resistor network. For example, I could put two relatively high resistors in series between the battery and ground and tie the case to the middle of these and monitor this voltage. This monitor voltage (i.e. the case) would sit at roughly 6-8V (1/2 battery) unless a short starts and then it would start going rail to rail 12V - gnd - 12V - gnd - ...

And this is when I would replace that motor.

What do people think of this scheme?

Joe J.
This is similar to the way the PD's prototype big brother detected chassis faults, except we pushed an active signal instead of using a resistor divider. The control system would be fine with 100 Ohms, but that'll burn three fourths of a watt. I'd bump up your impedances into the 5-20k range. You're signal quality will be unaffected but it can be smaller and safer.


Quote:
Originally Posted by artdutra04 View Post
If the 775 is completely electrically isolated (via both the case and output shaft) through plastic mounting plates and either acetal gears or timing belts, will the cRIO ever actually reboot if a motor starts to go bad?
No. A fully isolated but faulty 775 will not have an adverse impact on any portion of the control system electronics. I do not have any information as to whether or not this fault will have an adverse impact on the motor itself.


Quote:
Originally Posted by jason701802 View Post
I thought the chassis of the cRio was tied to 24V.
To the negative lead through a fuse and a self-resetting fuse. If bonus current is sent through this path, the two race to see who will blow first. The single-use fuse rarely wins, but can go with repeated abuse.

Quote:
Originally Posted by jason701802 View Post
Even if on one robot the chassis is connected to 12v and on the other it is connected to gnd, nothing would happen if these two robots touched each other. Sure, you'd be able to read 24v between the (-) terminal of the first robot and the (+) of the second if you stopped the match and walked out there with a voltmeter, but there is no complete circuit for current to flow through. Both the (+) and (-) of the same battery would have to be connected the different parts of the chassis and/or frame for any current to flow.
True. This is another myth that used to be in a blue box.
  #328   Spotlight this post!  
Unread 26-01-2012, 15:18
Unsung FIRST Hero
Al Skierkiewicz Al Skierkiewicz is offline
Broadcast Eng/Chief Robot Inspector
AKA: Big Al WFFA 2005
FRC #0111 (WildStang)
Team Role: Engineer
 
Join Date: Jun 2001
Rookie Year: 1996
Location: Wheeling, IL
Posts: 10,798
Al Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond repute
Re: Banebots RS-775 Case Short

Erik,
I have to disagree. While the fuse internal to the Crio is meant to protect parts of the internal Crio electronics, electrical faults on the robot can cause real voltage drops across the #18 wiring used to feed power to the Crio. This is well documented over the past two years irrespective of motor issues. With these faults current merely flows through the chassis of the Crio to the negative lead and out the power connector.
Isolated (electrically) frames have been part of the rules to prevent robot to robot electrical faults from causing sparks and fire on the playing field. The potential in this scenario is the ability to provide up to 24 volts at high current, through parts of the frame and any wiring that might be in the circuit. Anyone who has been around more than a few years remembers the spectacular displays, smoke, hot (incandescent) wiring and yes even some flame that occurred prior to the inclusion of this rule.
Jason, the common myth is that robot to robot contact usually includes not only the robot frame but appendages or robot parts when tipped over, which have reached inside another robot. This is the second or third path that most people forget. In some cases, current will continue to flow even after the robot is disabled and the main breaker has been opened. It is why inspectors are so critical when checking the insulation on all electrical connections.
__________________
Good Luck All. Learn something new, everyday!
Al
WB9UVJ
www.wildstang.org
________________________
Storming the Tower since 1996.
  #329   Spotlight this post!  
Unread 26-01-2012, 18:21
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,104
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: Banebots RS-775 Case Short

Quote:
Originally Posted by Al Skierkiewicz View Post
Erik,
I have to disagree.
Al, Eric's post was rather long, and it's unclear which part of it you are disagreeing with. Would you please quote the portion you are disagreeing with?

  #330   Spotlight this post!  
Unread 27-01-2012, 07:22
Unsung FIRST Hero
Al Skierkiewicz Al Skierkiewicz is offline
Broadcast Eng/Chief Robot Inspector
AKA: Big Al WFFA 2005
FRC #0111 (WildStang)
Team Role: Engineer
 
Join Date: Jun 2001
Rookie Year: 1996
Location: Wheeling, IL
Posts: 10,798
Al Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond repute
Re: Banebots RS-775 Case Short

I could only disagree with Eric's response to my quote and answer Jason's question.
__________________
Good Luck All. Learn something new, everyday!
Al
WB9UVJ
www.wildstang.org
________________________
Storming the Tower since 1996.
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


All times are GMT -5. The time now is 00:13.

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