Go to Post I remember seeing that hair do. It is what inspired me to become an MC one day. - Tetraman [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
  #1   Spotlight this post!  
Unread 11-12-2003, 18:18
K.Shaw's Avatar
K.Shaw K.Shaw is offline
The Zoomin' Human
AKA: Shaw 1, kevshaw, little shaw
FRC #0237 (Sie-H²O-Bots (See-Ho-Bots), FLL #3954 (Swift Eagles))
Team Role: Alumni
 
Join Date: Jan 2003
Rookie Year: 2002
Location: Watertown,CT
Posts: 318
K.Shaw has a brilliant futureK.Shaw has a brilliant futureK.Shaw has a brilliant futureK.Shaw has a brilliant futureK.Shaw has a brilliant futureK.Shaw has a brilliant futureK.Shaw has a brilliant futureK.Shaw has a brilliant futureK.Shaw has a brilliant futureK.Shaw has a brilliant futureK.Shaw has a brilliant future
Send a message via ICQ to K.Shaw Send a message via AIM to K.Shaw Send a message via MSN to K.Shaw Send a message via Yahoo to K.Shaw
Lightbulb Joining 2 dif. motors

Team 237 would like to know how to join the Chiaphua and drill motors into one for the drive system. Can anyone help us on this feat and tell us in exact detail how you can do this? Pictures, diagrams, anything that can help us out post it here or email it to me at kevin185@optonline.net . Thanks alot!

p.s. even joining any other 2 motors post it here also thanks
__________________
2005 Bash @ the Beach Winners -Thanks Team 1511 and Team 181
2005 NJ Regional Finalist -Thanks again to 56 and 303
2005 Radioshack Innovative Control Award-NJ
2005 FLR Semi-Finalists
2005 Radioshack Innovative Control Award-FLR

2004 Archimedes Divisional Semifinalists
2004 NJ Regional Winners. -Thanks Team 56 and Team 303!
2004 NJ G.M. Industrial Design Award Winner
2004 UTC Motorola Quality Award Winner
  #2   Spotlight this post!  
Unread 11-12-2003, 18:40
GregTheGreat's Avatar
GregTheGreat GregTheGreat is offline
Registered User
no team
 
Join Date: Jan 2003
Rookie Year: 2002
Location: USA
Posts: 386
GregTheGreat has a spectacular aura aboutGregTheGreat has a spectacular aura aboutGregTheGreat has a spectacular aura about
Re: Joining 2 dif. motors

Quote:
Originally Posted by K.Shaw
Team 237 would like to know how to join the Chiaphua and drill motors into one for the drive system. Can anyone help us on this feat and tell us in exact detail how you can do this? Pictures, diagrams, anything that can help us out post it here or email it to me at kevin185@optonline.net . Thanks alot!

p.s. even joining any other 2 motors post it here also thanks

Are you saying use a chiaphua and a drill for each of the 4 wheels? or like 2 sets of that in the back and FP's in the front?

If you can describe exactly what you are trying to do I will look through all my downloaded stuff and archives to see if I can find something like it.

-Greg The Great
  #3   Spotlight this post!  
Unread 11-12-2003, 18:49
K.Shaw's Avatar
K.Shaw K.Shaw is offline
The Zoomin' Human
AKA: Shaw 1, kevshaw, little shaw
FRC #0237 (Sie-H²O-Bots (See-Ho-Bots), FLL #3954 (Swift Eagles))
Team Role: Alumni
 
Join Date: Jan 2003
Rookie Year: 2002
Location: Watertown,CT
Posts: 318
K.Shaw has a brilliant futureK.Shaw has a brilliant futureK.Shaw has a brilliant futureK.Shaw has a brilliant futureK.Shaw has a brilliant futureK.Shaw has a brilliant futureK.Shaw has a brilliant futureK.Shaw has a brilliant futureK.Shaw has a brilliant futureK.Shaw has a brilliant futureK.Shaw has a brilliant future
Send a message via ICQ to K.Shaw Send a message via AIM to K.Shaw Send a message via MSN to K.Shaw Send a message via Yahoo to K.Shaw
Re: Joining 2 dif. motors

ok cool umm we are trying to use tank steering with a drill and chiaphua motor on each side of the robot. meaning 1 chiaphua and drill motor on one side and aanother set on the other side.
__________________
2005 Bash @ the Beach Winners -Thanks Team 1511 and Team 181
2005 NJ Regional Finalist -Thanks again to 56 and 303
2005 Radioshack Innovative Control Award-NJ
2005 FLR Semi-Finalists
2005 Radioshack Innovative Control Award-FLR

2004 Archimedes Divisional Semifinalists
2004 NJ Regional Winners. -Thanks Team 56 and Team 303!
2004 NJ G.M. Industrial Design Award Winner
2004 UTC Motorola Quality Award Winner
  #4   Spotlight this post!  
Unread 11-12-2003, 19:37
Matt Adams's Avatar
Matt Adams Matt Adams is offline
b(o_o)d
FRC #1525 (Warbots)
Team Role: Engineer
 
Join Date: Dec 2003
Rookie Year: 2000
Location: Arlington Hts. IL
Posts: 375
Matt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond repute
Send a message via AIM to Matt Adams
Post Some Comprehensive Theory

Quote:
Originally Posted by K.Shaw
ok cool umm we are trying to use tank steering with a drill and chiaphua motor on each side of the robot. meaning 1 chiaphua and drill motor on one side and aanother set on the other side.
Oh boy.. do I have something for you.

As part of the FIRST college course that I taught this semester, I have some rather comprehensize data on combining both the chips and drills... from a number crunching standpoint, it's very complete.

There aren't any sprocket sizes, CAD drawings, or the like.. but theory wise.. this is (fundamentally) very strong material. I will be publishing a white paper along these lines soon on www.boilerinvasion.org.

Here's the PowerPoint. If you have questions, please ask. If someone has corrections, comments, or concerns, please ask.

http://web.ics.purdue.edu/~mjadams/motorsinfirst.ppt

Matt
__________________
Matt Adams - Engineer at Danaher Motion
Team 1525 - Warbots - Deerfield High School
  #5   Spotlight this post!  
Unread 11-12-2003, 21:58
Rickertsen2 Rickertsen2 is offline
Umm Errr...
None #1139 (Chamblee Gear Grinders)
Team Role: Alumni
 
Join Date: Dec 2002
Rookie Year: 2002
Location: ATL
Posts: 1,421
Rickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant future
Send a message via AIM to Rickertsen2 Send a message via Yahoo to Rickertsen2
Some well.. less Comprehensive Theory

I avn't read the whitepaper listed above, it might say what i'm about to say but anyway... Don't match the moters at free speed. I have seen many teams do this. This is the quickest way i know to mismatch them. Match them under some typical load. Further matching can be accomplished through software.
__________________
1139 Alumni
  #6   Spotlight this post!  
Unread 11-12-2003, 23:35
K.Shaw's Avatar
K.Shaw K.Shaw is offline
The Zoomin' Human
AKA: Shaw 1, kevshaw, little shaw
FRC #0237 (Sie-H²O-Bots (See-Ho-Bots), FLL #3954 (Swift Eagles))
Team Role: Alumni
 
Join Date: Jan 2003
Rookie Year: 2002
Location: Watertown,CT
Posts: 318
K.Shaw has a brilliant futureK.Shaw has a brilliant futureK.Shaw has a brilliant futureK.Shaw has a brilliant futureK.Shaw has a brilliant futureK.Shaw has a brilliant futureK.Shaw has a brilliant futureK.Shaw has a brilliant futureK.Shaw has a brilliant futureK.Shaw has a brilliant futureK.Shaw has a brilliant future
Send a message via ICQ to K.Shaw Send a message via AIM to K.Shaw Send a message via MSN to K.Shaw Send a message via Yahoo to K.Shaw
Re: Joining 2 dif. motors

thanks for the info guys keep replying to this post! we need everyones input
__________________
2005 Bash @ the Beach Winners -Thanks Team 1511 and Team 181
2005 NJ Regional Finalist -Thanks again to 56 and 303
2005 Radioshack Innovative Control Award-NJ
2005 FLR Semi-Finalists
2005 Radioshack Innovative Control Award-FLR

2004 Archimedes Divisional Semifinalists
2004 NJ Regional Winners. -Thanks Team 56 and Team 303!
2004 NJ G.M. Industrial Design Award Winner
2004 UTC Motorola Quality Award Winner
  #7   Spotlight this post!  
Unread 12-12-2003, 00:33
Cory's Avatar
Cory Cory is offline
Registered User
AKA: Cory McBride
FRC #0254 (The Cheesy Poofs)
Team Role: Engineer
 
Join Date: May 2002
Rookie Year: 2001
Location: Redwood City, CA
Posts: 6,796
Cory has a reputation beyond reputeCory has a reputation beyond reputeCory has a reputation beyond reputeCory has a reputation beyond reputeCory has a reputation beyond reputeCory has a reputation beyond reputeCory has a reputation beyond reputeCory has a reputation beyond reputeCory has a reputation beyond reputeCory has a reputation beyond reputeCory has a reputation beyond repute
Send a message via AIM to Cory
Re: Joining 2 dif. motors

Search... there are 1000000000000000000 threads on this topic (well, not that many, but there are certainly more than I care to count) download a white paper such as the Technokat's transmission, or Team 116's, or Team 716's They all offer complete prints and hints/tips etc.
__________________
2001-2004: Team 100
2006-Present: Team 254
  #8   Spotlight this post!  
Unread 12-12-2003, 01:10
Matt Adams's Avatar
Matt Adams Matt Adams is offline
b(o_o)d
FRC #1525 (Warbots)
Team Role: Engineer
 
Join Date: Dec 2003
Rookie Year: 2000
Location: Arlington Hts. IL
Posts: 375
Matt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond repute
Send a message via AIM to Matt Adams
Post Re: Some well.. less Comprehensive Theory

Quote:
Originally Posted by Rickertsen2
I avn't read the whitepaper listed above, it might say what i'm about to say but anyway... Don't match the moters at free speed. I have seen many teams do this. This is the quickest way i know to mismatch them. Match them under some typical load. Further matching can be accomplished through software.

From the best of my understanding, nothing is wrong with matching at free speeds. If you don't, at higher RPMs you will have back EMF occur, reducing efficiency if you have one motor trying to go faster than the other's free speed.

Take a look at the following figure for a Drill in low gear and Atwood coupled together at the drill's free speed:




Let's say that you have 200 in-lbs of torque applied to the shaft. In this case, the motors coupled at free speed will spin at about 225 RPM. The atwood motor will be contributing more torque to the system than the drill. I do not see a problem with this. I admit that there's uneven load sharing between the motors... but there is nothing fundamentally wrong with this from a mechanics standpoint.

I think that some people believe that if motors aren't sharing equal load, then there's a "problem" or the motors are "fighting" each other. This is not the case, and isn't "bad." You don't have an even current draw from each motor.. but your motors aren't being ruined, and your efficiency is constant. They're pretty happy. One is working harder, but they don't get jealous of each other! The only time problems arise is if there's a situation with little torque, and they're coupled at a non-free speed. One motor (higher free speed) says, "Woo hoo! let's go really really fast!" and the other says, "But my max speed is slower than yours. I'll try to do what I can to keep up, but we won't be able to go as fast as you combined!"

Now with the above illustration.. don't think of motors as people rowing a boat, where if one is rowing harder the boat will turn. Think of the motors as a bicycle with two riders. If one works harder, that's fine. But if someone's legs just can't physically move fast enough, it's bad news!


Now, you could optimize your motors such that they're intersecting at a low torque that your robot could never achieve due to friction, slightly below the free speed. This could help have the amount of torque (and current) distributed between the motors be more even. But having the load sharing imperfect is not a "bad" thing if you're careful about analyzing the situation to make sure the load isn't so uneven that a breaker on one motor will trip before the other can effectively contribute.

Let's take a look at this:




NOTICE: As you can see, the free speed of a combined motors in low torque conditions (to the left of their intersection point) I made to be the geometric mean of the two speeds. This is not completely correct, (neither is the fact that these show all linear relationships between torque and RPM, this is simplified). There are coefficients that determines the ratio between the two motors free speed which sets what the RPM the motors will have at low torque values. However, the RPM in low torque conditions is NOT the fastest motor's speed, nor is it the slowest. The reason for this is unique to DC motors, and refers to the back-EMF, which occurs when a DC motor is spinning faster above it's free speed. You run this risk of this occuring if you do not match them at free speed.

However, will you ever have motors truly reach free speed in a robot? Nope. So can you adjust the ratios by a little so that they're share the toque more evenly? Of course. Even matching free speeds is impossible since the free speed varies from motor to motor of the same type.

However, keep in mind that if you have low torque conditions that yield RPMs above the slower motor's free speed, you loose efficiency.

And this is going to bring up one heck of a hail storm... I know it.

Please, let's keep this at a technical level, and be as specific if you can. Disagree with facts. Graphs help out. Hack away at mine if you wish. Just keep it legit and not hunches. We'll settle this.


Input welcome, could a EE out there explain back EMF for me a little better?
Matt
__________________
Matt Adams - Engineer at Danaher Motion
Team 1525 - Warbots - Deerfield High School

Last edited by Matt Adams : 12-12-2003 at 11:55. Reason: Adjusting for Graph 2 Correction
  #9   Spotlight this post!  
Unread 12-12-2003, 08:39
Rob Colatutto's Avatar
Rob Colatutto Rob Colatutto is offline
Roboticsrob
FTC #10092 (Green.Griffins;)
Team Role: Mentor
 
Join Date: Feb 2002
Rookie Year: 2001
Location: San Diego, CA
Posts: 849
Rob Colatutto is a splendid one to beholdRob Colatutto is a splendid one to beholdRob Colatutto is a splendid one to beholdRob Colatutto is a splendid one to beholdRob Colatutto is a splendid one to beholdRob Colatutto is a splendid one to beholdRob Colatutto is a splendid one to behold
Re: Some well.. less Comprehensive Theory

Quote:
Originally Posted by Matt Adams
Let's say that you have 200 in-lbs of torque applied to the shaft. In this case, the motors coupled at free speed will spin at about 225 RPM. The atwood motor will be contributing more torque to the system than the drill. I do not see a problem with this. I admit that there's uneven load sharing between the motors... but there is nothing fundamentally wrong with this from a mechanics standpoint.
In fact, sometimes you will want to do something similar to this. For 2002 my team designed the gearbox so the bosch would be moving the robot almost to the point where the atwood was not adding any power under normal movement to keep current draw down. Then when we had goals or if we were pushing another robot we'd slow down about .5ft/s but then the torque would increase greatly while not drawing too much extra current. I wouldn't suggest doing something with that big of a difference in normal load rpm's of the shafts but if you wanted to keep current draw down on normal conditions you could do something similar. Also, I would suggest combining the two motors together as soon as possible in the gearbox to use less gears and keep weight down.
__________________
Follow me on twitter @roboticsrob and my FTC team @griffins10092
  #10   Spotlight this post!  
Unread 12-12-2003, 10:45
Tytus Gerrish's Avatar
Tytus Gerrish Tytus Gerrish is offline
IGAB, ADHD, and Dislexic
AKA: Ty
FRC #0179 (SwampThing)
Team Role: Tactician
 
Join Date: Feb 2003
Rookie Year: 2001
Location: West Palm Beach, Florida
Posts: 2,017
Tytus Gerrish has a reputation beyond reputeTytus Gerrish has a reputation beyond reputeTytus Gerrish has a reputation beyond reputeTytus Gerrish has a reputation beyond reputeTytus Gerrish has a reputation beyond reputeTytus Gerrish has a reputation beyond reputeTytus Gerrish has a reputation beyond reputeTytus Gerrish has a reputation beyond reputeTytus Gerrish has a reputation beyond reputeTytus Gerrish has a reputation beyond reputeTytus Gerrish has a reputation beyond repute
Re: Joining 2 dif. motors

bosch 307 Watts @37.4A
CIM 300 Watts @40 (estamate)

300+300=600
600W=one gearbox

600+600=1200
1200W 2gearboxes

1 HorsePower=746 Watts

1200/746.7=1.6

1.6 Horsepower
  #11   Spotlight this post!  
Unread 12-12-2003, 12:21
Matt Adams's Avatar
Matt Adams Matt Adams is offline
b(o_o)d
FRC #1525 (Warbots)
Team Role: Engineer
 
Join Date: Dec 2003
Rookie Year: 2000
Location: Arlington Hts. IL
Posts: 375
Matt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond repute
Send a message via AIM to Matt Adams
Question Re: Some well.. less Comprehensive Theory

Quote:
Originally Posted by Rob Colatutto
Then when we had goals or if we were pushing another robot we'd slow down about .5ft/s but then the torque would increase greatly while not drawing too much extra current. I wouldn't suggest doing something with that big of a difference in normal load rpm's of the shafts but if you wanted to keep current draw down on normal conditions you could do something similar.
Rob-

How did you "slow down"? Via the joystick or by some sort of a shifting device? I'd have to do some thinking about it, but initially I'd say that that just "slowing down" via a joystick wouldn't let one motor kick in more torque than the other since the amount of torque needed would be constant at any moving speed, and presumably, the joystick would control both motor's input voltage.

Matt
__________________
Matt Adams - Engineer at Danaher Motion
Team 1525 - Warbots - Deerfield High School
  #12   Spotlight this post!  
Unread 13-12-2003, 15:31
Pat Roche Pat Roche is offline
Mechanical Engineer
FRC #0134 (Team Discovery)
 
Join Date: Aug 2003
Rookie Year: 2000
Location: Pembroke, NH
Posts: 211
Pat Roche is a splendid one to beholdPat Roche is a splendid one to beholdPat Roche is a splendid one to beholdPat Roche is a splendid one to beholdPat Roche is a splendid one to beholdPat Roche is a splendid one to beholdPat Roche is a splendid one to behold
Send a message via AIM to Pat Roche
Re: Joining 2 dif. motors

Sorry if i repeat what someone else is saying....im short of time and didnt read the entire post...but you can simply use the drill motor alone(no clutch) and gear the two into a 1:1 ratio. From this point you can decide upon the rest of your gearing, etc.

If my memory is correct:
Drill no clutch:about 19000
Chip:about 5000
so its close to a 4 to 1 ratio
this means that the gear on the chip needs to be 4x bigger that the drill for a 1:1 ratio.

Hope this was helpful


-Pat
  #13   Spotlight this post!  
Unread 13-12-2003, 18:21
SarahB's Avatar
SarahB SarahB is offline
Registered User
no team
Team Role: Engineer
 
Join Date: Feb 2003
Rookie Year: 2002
Location: Syracuse, NY
Posts: 231
SarahB has a spectacular aura aboutSarahB has a spectacular aura aboutSarahB has a spectacular aura about
Send a message via AIM to SarahB
Re: Joining 2 dif. motors

Quote:
Originally Posted by T134guy
If my memory is correct:
Drill no clutch:about 19000
Chip:about 5000
so its close to a 4 to 1 ratio
this means that the gear on the chip needs to be 4x bigger that the drill for a 1:1 ratio.

Hope this was helpful
-Pat
Bosch normal load speed is 19670 and the Atwood normal load speed is 4967
  #14   Spotlight this post!  
Unread 13-12-2003, 18:27
Rob Colatutto's Avatar
Rob Colatutto Rob Colatutto is offline
Roboticsrob
FTC #10092 (Green.Griffins;)
Team Role: Mentor
 
Join Date: Feb 2002
Rookie Year: 2001
Location: San Diego, CA
Posts: 849
Rob Colatutto is a splendid one to beholdRob Colatutto is a splendid one to beholdRob Colatutto is a splendid one to beholdRob Colatutto is a splendid one to beholdRob Colatutto is a splendid one to beholdRob Colatutto is a splendid one to beholdRob Colatutto is a splendid one to behold
Re: Some well.. less Comprehensive Theory

Quote:
Originally Posted by Matt Adams
Rob-

How did you "slow down"? Via the joystick or by some sort of a shifting device? I'd have to do some thinking about it, but initially I'd say that that just "slowing down" via a joystick wouldn't let one motor kick in more torque than the other since the amount of torque needed would be constant at any moving speed, and presumably, the joystick would control both motor's input voltage.

Matt
There was no option to slow down, the robot slowed itself down when the additional load of the goals was added to the robot. The drills couldn't fully handle the extra 362 pounds and so the motor slowed down and then the Atwood picked up for it, drawing less current than running the Atwood at a slower rpm. We also had a 'software shifter' which took the joystick feedback and divided it by 1.5 so the operator could switch the speed down when latching onto goals.
__________________
Follow me on twitter @roboticsrob and my FTC team @griffins10092
  #15   Spotlight this post!  
Unread 14-12-2003, 00:01
Matt Adams's Avatar
Matt Adams Matt Adams is offline
b(o_o)d
FRC #1525 (Warbots)
Team Role: Engineer
 
Join Date: Dec 2003
Rookie Year: 2000
Location: Arlington Hts. IL
Posts: 375
Matt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond reputeMatt Adams has a reputation beyond repute
Send a message via AIM to Matt Adams
Post Re: Joining 2 dif. motors

Quote:
Originally Posted by SarahB
Bosch normal load speed is 19670 and the Atwood normal load speed is 4967
This is incorrect.

Atwood at normal load (from 2003 spec sheet) is 4378 RPM.
Free speed is 5,500.

Free speed on Bosch is 19,670 RPM as Sarah stated for normal load speed.

Just wanted to make sure that the right data is out there.

Check it out here:
http://www.usfirst.org/robotics/2003/specsheets.htm


Matt
__________________
Matt Adams - Engineer at Danaher Motion
Team 1525 - Warbots - Deerfield High School
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
PWM and burning out motors patrickrd Technical Discussion 7 19-06-2003 15:30
Looking for practice motors & extra tape drive parts? archiver 2000 1 23-06-2002 22:54
Suppose you want seat motors... archiver 2000 0 23-06-2002 22:50
"Motors and Drive train edition" of Fresh From the Forum Ken Leung CD Forum Support 6 29-01-2002 12:32
Drill Motors TF8 Motors 19 12-12-2001 13:13


All times are GMT -5. The time now is 10:59.

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