OCCRA
Go to Post It's up to veteran teams and mentors to help keep the original spirit of FIRST alive. - It's up to us to make these boards exemplify the FIRST principals in every post. - Ben Mitchell [more]
Home
Go Back   Chief Delphi > Technical > Electrical
CD-Events   CD-Media   CD-Spy   FRC-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rating: Thread Rating: 3 votes, 5.00 average. Display Modes
  #1   Spotlight this post!  
Unread 10-12-2005, 11:52 PM
DanL DanL is offline
Crusty Mentor
FRC #0097
Team Role: Mentor
 
Join Date: Jan 2002
Rookie Year: 2001
Location: Somerville, MA
Posts: 682
DanL is just really niceDanL is just really niceDanL is just really niceDanL is just really niceDanL is just really nice
Send a message via AIM to DanL
Servo behavior question / advanced servo/PIC programming question

Woah its been a while since I've posted here. Anyways, I'm in a situation where I'm using the IFI EDU controller again to control some servos, and well, I need some help.

First of all, the servos I'm having trouble with is are some Hitec HS-755HB's (website w/ link to spec sheet: http://www.hitecrcd.com/Servos/hs755.htm). This project isn't FIRST related, so no need to worry about FIRST-legal issues. My problem is I need 180 degrees of rotation. If you turn the servos manually, they have 180 degrees of rotation before they hit their mechanical stops. When you PWM a 0 or 255 to them, however, they only have about 120 degrees of rotation.

At first I thought the problem was the IFI controller wasn't outputting a signal to the full range the servo accepts it.
(If you don't know the difference between the R/C (and IFI) PWM standard and the 'traditional' idea of a PWM signal, check out http://www.geocities.com/BourbonStre...rvobasics.html really quickly)
Anyways, the Hitec servo manual (http://www.hitecrcd.com/Servos/Servomanual.pdf) lists a .9ms pulse as min rotation and a 2.1ms pulse as max rotation. I oscilloscope'd the IFI PWM and sure enough programming a 0 results in a ~.9ms pulse with an overall period of about 17ms and a 255 is a ~2.1ms pulse with an overall period of 17ms (the astute programmer will notice the user processor coincidentally refreshes at 17ms). Anyways, the point is the PWM signal being outputted is within the servo's spec, so turns out the servo is designed to rotate only ~120 degrees.

My problem now is what I can do to get the 180 degrees I need.

I tried checking the servo's spec sheet (http://www.hitecrcd.com/Servos/spec_sheets/HS755hb.pdf), but I saw no obvious spec listing the max range of rotation. Anyone know how to decode a servo's range of motion from that spec sheet? All the other Hitec servos similarly don't list that value, and I've had just as little luck from other manufacterers (towerhobbies, etc.). Anyone know a servo distributor that DOES list the servo's max range of rotation?

Alternatively, could I go beyond the servo's spec signal to get the extra rotation I want? ie could I send a .8 or .7ms pulse to get it to crank that extra few degrees I need? If so, how could I go about programming my own PWM code to do that (again, b/c the IFI default code does 0 and 255 as .9 and 2.1ms, respectively, which I want to go beyond)? I'm assuming the IFI signal-generating code is hidden in ifi_library.lib, to which we don't get the source (or do we?)

We have that old snippet from the old IR beacon code that generates a 40KHtz PWM with 50% duty cycle using the User CPU's CCP PWM mode (At this point, refer to the PIC18F8520 datasheet - http://www.microchip.com/stellent/id...cName=en010319 - specifically the "Capture/Compare/PWM (CCP) Module" and "Timer2 Module" sections). 40KHz is way too fast for a servo - the servo needs a PWM period of around 50Hz (10-30ms). Is it possible to generate a ~50Hz PWM using the CCP? Page 154 lists the formula for a PWM period as [(PR2) + 1] * 4 * Tosc * (TMR2 Prescale Value). I don't know Tosc offhand, but in the 40 KHz code snippet, the Period Register (PR2) was set to 249 and the prescaler set to 1. Do the math and Tosc comes out to about 2.5e-8. Assuming you maximize both PR2 (to 255) and the prescaler (to 1:16), this still results in a PWM period of .04 ms, or about 2.4KHz -- way too fast for a servo signal. Page 154 implies you could do something with the postscaler and it mentions the word "servo", but I haven't been able to figure out how to use the postscaler in the generation of a PWM signal. Still, even if you could apply the max 1:16 postscaler, that would still result in a PWM period of about 6ms (I would want the /duty cycle/ to last about 6-8ms if I want to overspec the servo signal). We can't (easily) change Tosc in the Edu controller, can we, as that would be the only other thing you could increase to increase the generated period? Any clever programmers have any thoughts? Or is this method not even worth pursuing because going beyond the .9-2.1ms range won't do anything?

I guess my final option would be to open up the servo and toy around with its innards. Keep in mind that I would want to just increase the range of motion, not break the mechanical stops... I just want 180 degrees of servo rotation, not a servo that just does constant rotation. Again, the servo has 180 degrees of mechanical rotation, it just doesn't have 180 degrees in its electrical control system. Can you modify a servo to increase its range of motion, not modify it to become a forward/reverse motor?


Well that was a mouthful. Anyone got any thoughts to help me out?
__________________
Dan L
Team 97 Mentor
Software Engineer, Vecna Technologies
  #2   Spotlight this post!  
Unread 10-13-2005, 12:49 AM
sciguy125 sciguy125 is offline
Electrical Engineer
AKA: Phil Baltar
FRC #1351
Team Role: College Student
 
Join Date: Jan 2005
Rookie Year: 2004
Location: Sunnyvale, CA
Posts: 519
sciguy125 has a reputation beyond reputesciguy125 has a reputation beyond reputesciguy125 has a reputation beyond reputesciguy125 has a reputation beyond reputesciguy125 has a reputation beyond reputesciguy125 has a reputation beyond reputesciguy125 has a reputation beyond reputesciguy125 has a reputation beyond reputesciguy125 has a reputation beyond reputesciguy125 has a reputation beyond reputesciguy125 has a reputation beyond repute
Send a message via AIM to sciguy125 Send a message via MSN to sciguy125 Send a message via Yahoo to sciguy125
Re: Servo behavior question / advanced servo/PIC programming question

Alright...
As far as I know, hobby servos only go to 120 degrees. My guess is that most people want them to stop well before the hard stops. During my attempts to make a servo controller (code attached), I discovered that going too far out of spec for the signal tends to anger the servo (yes, anger). I got some very strange behavior out of them. I didn't run any experiments to specifically get beyond the 120 degree limit though.

As for the CCP module on the PIC, you'd just have to slow down the clock. It'll go as slow as you want (as long has you have the hardware for it). One thing you might want to keep in mind though is that the duty cycle for the servo signal is very low (<10%). This cuts down on your signal resolution.

However, I do have some code to drive a servo. It's designed for the 16F84, but I'm sure it'll work with many others. It's for 4MHz. If you don't run it at that speed, you'll have some rewriting to do. Aside from being experimental, it was also my first attempt at writing anything for the PIC (or anything in assembly for that matter), so it's pretty messy and inefficient, but it gets the job done. The bad thing about it is that all the delays keep the processor busy (dummy instructions) so you can't do anything during those times.

The better way to do it would probably be to use one of the timers. Set the output high, set the timer, set the output low when the timer expires. That way, you can do whatever you want while you're waiting. But again, I don't think you'll be able to feed it a signal to go beyond the 120 degree range.

Another interesting project would be to take the electronic guts out and redo them. I think I might try that some day...

Edit:
Ok, apparently, I can't attach it because I attached it in another thread.
__________________

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GE/S/P a-- e y-- r-- s:++ d+ h! X+++
t++ C+ P+ L++ E W++ w M-- V? PS+ PE+
5- R-- tv+ b+ DI+++ D- G
------END GEEK CODE BLOCK------

Last edited by sciguy125 : 10-13-2005 at 12:53 AM. Reason: forgot to attach code
  #3   Spotlight this post!  
Unread 10-13-2005, 07:07 AM
Unsung FIRST Hero
Al Skierkiewicz Al Skierkiewicz is offline
Broadcast Eng/Chief Robot Inspector
AKA: Big Al
FRC #0111 (WildStang)
Team Role: Engineer
 
Join Date: Jun 2001
Rookie Year: 1996
Location: Wheeling, IL
Posts: 10,043
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: Servo behavior question / advanced servo/PIC programming question

Dan,
The way I read the specs, +/-60 degrees is the max travel from the center position. The spec sheet for travel distance/time is for 40 degrees from center to either side. It is pretty easy to couple a 2:1 gearing to give you the extra travel, external to the servo or even a double linkage depending on what your eventual need might be. Trying to fool the servo is not going to work. When you feed a PWM value to the servo it uses the internal pot and electronics to move it to a defined position (within the accuracy of the servo). The internal pot is the sensor that tells the electronics where the output shaft is.
__________________
Good Luck All. Learn something new, everyday!
Al
WB9UVJ
www.wildstang.org
________________________
All is better now, NOS parts are working fine. Why does this year's game remind me of Violet in Willie Wonka? Hmmmm, I see blueberries!
  #4   Spotlight this post!  
Unread 10-13-2005, 08:48 AM
DanL DanL is offline
Crusty Mentor
FRC #0097
Team Role: Mentor
 
Join Date: Jan 2002
Rookie Year: 2001
Location: Somerville, MA
Posts: 682
DanL is just really niceDanL is just really niceDanL is just really niceDanL is just really niceDanL is just really nice
Send a message via AIM to DanL
Re: Servo behavior question / advanced servo/PIC programming question

How are you getting the +/- 60 degrees part?

Quote:
Originally Posted by Al Skierkiewicz
Dan,
The way I read the specs, +/-60 degrees is the max travel from the center position. The spec sheet for travel distance/time is for 40 degrees from center to either side. It is pretty easy to couple a 2:1 gearing to give you the extra travel, external to the servo or even a double linkage depending on what your eventual need might be. Trying to fool the servo is not going to work. When you feed a PWM value to the servo it uses the internal pot and electronics to move it to a defined position (within the accuracy of the servo). The internal pot is the sensor that tells the electronics where the output shaft is.
__________________
Dan L
Team 97 Mentor
Software Engineer, Vecna Technologies
  #5   Spotlight this post!  
Unread 10-13-2005, 09:13 AM
Unsung FIRST Hero
Al Skierkiewicz Al Skierkiewicz is offline
Broadcast Eng/Chief Robot Inspector
AKA: Big Al
FRC #0111 (WildStang)
Team Role: Engineer
 
Join Date: Jun 2001
Rookie Year: 1996
Location: Wheeling, IL
Posts: 10,043
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: Servo behavior question / advanced servo/PIC programming question

The spec sheet has several specs related to 60 degrees of travel. Since the sheet relates to travel in one direction I assumed all of the specs relate to movement from the "neutral position" named in the first spec. ("pulse width control 1500 usec neutral"). However, knowing that the manufacturer would not want the servo to go to mechanical stops for obvious reasons, and since there is a a spec relating to speed over 40 degrees, it is easy to guess +/- 40 degrees. In fact, in a new product sheet for the HSR-5995TG, the description is of a servo designed for 180 degree robotics operation the manufacturer states that most of it's servos are designed for 75 degrees of travel. With a little overshoot at each end, +/- 40 degrees (80 total) is pretty close to 75 degrees total travel.
__________________
Good Luck All. Learn something new, everyday!
Al
WB9UVJ
www.wildstang.org
________________________
All is better now, NOS parts are working fine. Why does this year's game remind me of Violet in Willie Wonka? Hmmmm, I see blueberries!
  #6   Spotlight this post!  
Unread 10-14-2005, 02:38 AM
DanL DanL is offline
Crusty Mentor
FRC #0097
Team Role: Mentor
 
Join Date: Jan 2002
Rookie Year: 2001
Location: Somerville, MA
Posts: 682
DanL is just really niceDanL is just really niceDanL is just really niceDanL is just really niceDanL is just really nice
Send a message via AIM to DanL
Re: Servo behavior question / advanced servo/PIC programming question

Alright, so up to this point, it seems that
1) I can't make a signal to trick a standard 120-degree servo to go over its range
2) Most hobby servos are designed to do 120-degrees, and this fact is implicit in their datasheets (ie not stated directly).


Does anyone know a source where I CAN get servos that go 180 degrees or more? Or at least a particular model that goes 180 or more? The HSR-5995TG does, but thats a fancy digital servo that costs $20 more for features I don't need at all (and since I need a bunch of these servos, the cost is really too much).

Otherwise, has anyone made any definate tests that if you go outside the RC PWM spec (ie pulse < .9ms or > 2.1ms) the servo doesn't like it? Some hobby RC sites I've seen kinda suggest that you CAN do this (most of the people talked about changing or adjusting the pots on their recievers). I spent about 8 hours today trying to make something to make that test waveform, but so far I'm having no luck.
__________________
Dan L
Team 97 Mentor
Software Engineer, Vecna Technologies
  #7   Spotlight this post!  
Unread 10-14-2005, 06:29 AM
Unsung FIRST Hero
Al Skierkiewicz Al Skierkiewicz is offline
Broadcast Eng/Chief Robot Inspector
AKA: Big Al
FRC #0111 (WildStang)
Team Role: Engineer
 
Join Date: Jun 2001
Rookie Year: 1996
Location: Wheeling, IL
Posts: 10,043
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: Servo behavior question / advanced servo/PIC programming question

Dan,
What are you trying to do? There's more than one way to skin a cat.
__________________
Good Luck All. Learn something new, everyday!
Al
WB9UVJ
www.wildstang.org
________________________
All is better now, NOS parts are working fine. Why does this year's game remind me of Violet in Willie Wonka? Hmmmm, I see blueberries!
  #8   Spotlight this post!  
Unread 10-14-2005, 10:10 AM
Gdeaver Gdeaver is online now
Registered User
FRC #1640
Team Role: Mentor
 
Join Date: Mar 2004
Rookie Year: 2001
Location: West Chester, Pa.
Posts: 1,194
Gdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond repute
Re: Servo behavior question / advanced servo/PIC programming question

Using the KOP Hitec servo we were able to get 170 degrees of travel by creating pulses shorter and longer than what is available by the default code. We used a basic programed pic that had a servo command that allowed the pulse generated to be specified in us. With the first controllers you would have to generate the pulses in code or modify the default program. There is no servo or pulse out command. One thing to keep in mind is the time it takes for the servo to go full range under load. This is important if you app requires precise positioning.
  #9   Spotlight this post!  
Unread 10-14-2005, 10:52 AM
ChrisH's Avatar Unsung FIRST Hero
ChrisH ChrisH is offline
Generally Useless
FRC #0330 (Beach 'Bots)
Team Role: Engineer
 
Join Date: Jun 2001
Rookie Year: 1998
Location: Hermosa Beach, CA
Posts: 1,219
ChrisH has a reputation beyond reputeChrisH has a reputation beyond reputeChrisH has a reputation beyond reputeChrisH has a reputation beyond reputeChrisH has a reputation beyond reputeChrisH has a reputation beyond reputeChrisH has a reputation beyond reputeChrisH has a reputation beyond reputeChrisH has a reputation beyond reputeChrisH has a reputation beyond reputeChrisH has a reputation beyond repute
Re: Servo behavior question / advanced servo/PIC programming question

Quote:
Originally Posted by SuperDanman
Alright, so up to this point, it seems that
1) I can't make a signal to trick a standard 120-degree servo to go over its range
2) Most hobby servos are designed to do 120-degrees, and this fact is implicit in their datasheets (ie not stated directly).


Does anyone know a source where I CAN get servos that go 180 degrees or more? Or at least a particular model that goes 180 or more? The HSR-5995TG does, but thats a fancy digital servo that costs $20 more for features I don't need at all (and since I need a bunch of these servos, the cost is really too much).

Otherwise, has anyone made any definate tests that if you go outside the RC PWM spec (ie pulse < .9ms or > 2.1ms) the servo doesn't like it? Some hobby RC sites I've seen kinda suggest that you CAN do this (most of the people talked about changing or adjusting the pots on their recievers). I spent about 8 hours today trying to make something to make that test waveform, but so far I'm having no luck.
The easiest way to get 180 degrees is to mount a big gear on the servo output and mesh it with a gear half its diameter. Depending on what you are trying to do, you could also use a linkage to get the same effect. The linkage could have spots where it binds near the end of its travel so I'd tend to go with the gears. In any case, you wll get a decrease in available torque. So you might have to use larger servos. Everything has its price.

Doing this electronically has a certain elegance, but sometimes a mechanical approach is better.

ChrisH
__________________
Christopher H Husmann, PE

"Who is John Galt?"
  #10   Spotlight this post!  
Unread 10-15-2005, 04:44 PM
DanL DanL is offline
Crusty Mentor
FRC #0097
Team Role: Mentor
 
Join Date: Jan 2002
Rookie Year: 2001
Location: Somerville, MA
Posts: 682
DanL is just really niceDanL is just really niceDanL is just really niceDanL is just really niceDanL is just really nice
Send a message via AIM to DanL
Re: Servo behavior question / advanced servo/PIC programming question

Quote:
Originally Posted by Al Skierkiewicz
Dan,
What are you trying to do? There's more than one way to skin a cat.
Alright, I'll explain a little bit what I'm trying to do. I'm basically working on algorithms to control a vehicle with 4 independantly-steerable wheels... full-blown omnidrive if you will... for one of my classes. Before we build a full-scale prototype, I just made a small rectangular platform with four servos on each corner, each rotating a multispeed-motor, just to test the positioning/speed algorithm (basic theory behind omnidrive for the interested - when you make a turn, the wheels need to turn at different speeds, otherwise you get slippage and inefficiency/wasted energy. A car accomplishes this with a differential. I'm trying to write an algorithm that given the turning radius, calculates the most efficient wheel rotation and speed for each wheel). Long story short, the way I modelled my algorithm I need about 180 degrees of rotation out of each wheel to be able to do every type of turn (a bit less, actually, depending on the length/width parameters of the car, but 180 simplifies the math).

I chose to go with the IFI controller because I'm not yet at the point where I can program my own microcontrollers to do all the radio transmitting overhead, plus its just a really clean package with all the integrated inputs and outputs, and getting this done fast is a priority.

Anyways, so the last two days I've been learning how to program my own microcontrollers, and I've gotten one to make the RC PWM pulses. Turns out you CAN make a servo do the full 180 degrees it is mechanically capable of by changing the pulse length... I was able to get the max mechanical range out of my Hitec HS755HB's with .6ms and 2.35ms pulses. In fact, the circuitry tries to match higher and lower pulses, its just that the servo begins to whine and make bad noises.

I think what I'll try doing now is try and program the IFI controller to make my own length PWM pulses. Anyone have any ideas on how to go about doing that?
__________________
Dan L
Team 97 Mentor
Software Engineer, Vecna Technologies
  #11   Spotlight this post!  
Unread 10-15-2005, 11:44 PM
foobert foobert is offline
Registered User
no team
 
Join Date: May 2005
Location: oakland, ca
Posts: 87
foobert is a jewel in the roughfoobert is a jewel in the roughfoobert is a jewel in the rough
Re: Servo behavior question / advanced servo/PIC programming question

according to the data sheet the parallax standard servo has a 180 degree range, i think. anyway, what it does say is that it will go from 0 to 180 degrees in 1.5 seconds.
  #12   Spotlight this post!  
Unread 10-17-2005, 06:20 AM
Unsung FIRST Hero
Al Skierkiewicz Al Skierkiewicz is offline
Broadcast Eng/Chief Robot Inspector
AKA: Big Al
FRC #0111 (WildStang)
Team Role: Engineer
 
Join Date: Jun 2001
Rookie Year: 1996
Location: Wheeling, IL
Posts: 10,043
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: Servo behavior question / advanced servo/PIC programming question

Dan,
I applaud you, that is quite an undertaking. There is some info out there about removing the mechanical stop so you can get more than 180, you just need to search. 200 would give you what you need I think. That allows enough slop to not worry about hard limits interferring with your software. Good Luck.
__________________
Good Luck All. Learn something new, everyday!
Al
WB9UVJ
www.wildstang.org
________________________
All is better now, NOS parts are working fine. Why does this year's game remind me of Violet in Willie Wonka? Hmmmm, I see blueberries!
  #13   Spotlight this post!  
Unread 10-18-2005, 05:33 PM
Sparks333's Avatar
Sparks333 Sparks333 is offline
Robotics Engineer
AKA: Dane B.
FRC #1425 (Wilsonville Robotics)
Team Role: Alumni
 
Join Date: Feb 2004
Rookie Year: 2003
Location: Wilsonville, Oregon
Posts: 180
Sparks333 is a glorious beacon of lightSparks333 is a glorious beacon of lightSparks333 is a glorious beacon of lightSparks333 is a glorious beacon of lightSparks333 is a glorious beacon of lightSparks333 is a glorious beacon of light
Send a message via AIM to Sparks333
Re: Servo behavior question / advanced servo/PIC programming question

Please let us know how that works out for you. I think I proposed something similar for our team's drivebase, but it was shot down almost immediately.

Sparks
__________________
ICs do weird things when voltage is run out of spec.

I love to take things apart. The fact that they work better when I put them back together it just a bonus.

http://www.ravenblack.net/random/surreal.html
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
Can you help us?? (programming question) HuskieRobotics Programming 2 02-25-2004 05:19 PM
Urgent!! (programming question) anupalsingh Programming 6 02-25-2004 09:53 AM
MIM's question of the day on programming. Gene F Programming 3 02-24-2004 03:32 PM
C Programming Question tophq Programming 7 02-16-2004 11:56 AM
Programming question archiver 2001 6 06-23-2002 09:57 PM


All times are GMT -5. The time now is 12:28 PM.

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


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