Author Topic: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)  (Read 255240 times)

0 Members and 3 Guests are viewing this topic.

Offline tombi

  • Regular Contributor
  • *
  • Posts: 138
  • Country: au
Re: DIY programmable dual channel bench PSU 0-50V/3A
« Reply #75 on: May 22, 2015, 01:04:35 am »
On a different note - in the post-regulator circuit presented in http://www.eevblog.com/forum/projects/diy-programmable-dual-channel-bench-psu-0-50v3a/msg645838/#msg645838, do you find that when it comes out of current limiting the voltage overshoots?

I was experimenting with something similar and and I found when current limiting kicks in then the voltage error amp output takes off to the positive rail. This has no effect because of the diodes. When the current drops though the voltage error amplifier needs to quickly come back down and in my case it didn't do this quickly enough and I got a voltage spike.

I got around it by doing the diode-or arrangement between the set voltage and the current error amplifier output instead - essentially the current error amplifier reduces the Vset. This seemed to work except then the supply output voltage is 0.6V more than the set voltage.

The Agilent supplies seem to have a similar circuit structure to the one in this thread but I wonder how they behave in this case.

Tom
 

Offline prasimix

  • Supporter
  • ****
  • Posts: 1103
  • Country: hr
    • EEZ
Re: DIY programmable dual channel bench PSU 0-50V/3A
« Reply #76 on: May 22, 2015, 11:21:40 pm »
Not exactly understand what do you mean under "current limiting the voltage overshoots". Does it mean that you are trying to set Vout that is too high and with applied load PSU entering CC mode due to set current (i.e. trying to apply 30V with 10R load while current limit is set to 500mA)? If that is a case I noticed "overshoot" only when Vout is set by DAC without taking care of rising edge speed. Otherwise there is no overshoot. See screenshots is attachment: both are with the same load (16R4) and DAC output is not conditioned in any way (max. rising time is in place).
 

Offline tombi

  • Regular Contributor
  • *
  • Posts: 138
  • Country: au
Re: DIY programmable dual channel bench PSU 0-50V/3A
« Reply #77 on: May 23, 2015, 12:54:29 am »
No I mean when it is in CC mode and the load drops so it goes out of CC mode.

So say you have 30V output, 10R load and 500mA limit then the supply will limit the voltage to 5V. Say the load then changes to 1K - the voltage should float back up to 30 but I was finding the voltage would overshoot 30 briefly before coming back down.

Tom
 

Offline prasimix

  • Supporter
  • ****
  • Posts: 1103
  • Country: hr
    • EEZ
Re: DIY programmable dual channel bench PSU 0-50V/3A
« Reply #78 on: May 23, 2015, 07:08:52 am »
Hi Tom,
thanks for clarification, now I'm understand but didn't test that scenario yet (this give me an idea to create a "test book" that will contain various scenarios worth testing). I'll be back in a few days since I'm currently away.
 

Offline technix

  • Super Contributor
  • ***
  • Posts: 2437
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Re: DIY programmable dual channel bench PSU 0-50V/3A
« Reply #79 on: May 23, 2015, 07:42:40 pm »
Nice work bro. However to me this design is a bit too complex. I also have a plan on a PSU with similar specs but it is less complex and occupies a smaller footprint:

Ratings: CV: 0-30V CC: 0-10A
Resolution: 10-bit DAC.
Structure: Three board construction, analog feedback with DAC control
Analog board: adjustable switch-mode mains pre-regulator with 5V and 12V fixed auxiliary rails, PMOS low drop-out linear main regulator, main op amp TL084, current sense op amp TLC2272.
Digital section: ATmega328P MCU, Arduino Duemilinove compatible USB interface, ADC readings from critical parts in the analog section.
DAC: TLC5615CP 10-bit SPI DAC
Reference: MC1403 2.5V precision reference
 

Offline Liv

  • Regular Contributor
  • *
  • Posts: 133
  • Country: by
Re: DIY programmable dual channel bench PSU 0-50V/3A
« Reply #80 on: May 25, 2015, 06:19:54 am »
I got around it by doing the diode-or arrangement between the set voltage and the current error amplifier output instead

Once in the special purpose PSU I did tracking limiters for the CC and CV error amplifiers. As a result, opamps outputs could not vary by more than 0.6 V. This shortens CC-CV and CV-CC transients.
PSU PSL-3604 Pulse gen. PG-872 Freq. cnt. FC-510
 

Offline prasimix

  • Supporter
  • ****
  • Posts: 1103
  • Country: hr
    • EEZ
Mosfet pre-regulator update...
« Reply #81 on: May 27, 2015, 06:06:56 pm »
I made a progress with pre-regulator issue described here. C2 capacitor of 1nF was too big and it's replaced with 560pF. Now that switching frequency drop from 100Hz to 50Hz in the middle range is not happened any more. Thanks to that efficiency curve is now linear.
Used LTspice model didn't show that with 1nF (560pF in practice) but it can be pushed in that mode of operation with i.e. 2nF (1nF in practice). A new model, real and simulated results are in attachment. You can also see a difference in dissipated power on mosfet with different timing.
« Last Edit: May 27, 2015, 06:34:02 pm by prasimix »
 

Offline prasimix

  • Supporter
  • ****
  • Posts: 1103
  • Country: hr
    • EEZ
Power down without load and bad timing...
« Reply #82 on: May 27, 2015, 06:28:16 pm »
I'd like to present here what's happening during power down with Vout set below ~12V and no load is connected. Vout shortly after power down goes crazy peaking 11.7V. That is not the case if some load is connected but regardless of that it looks bad and need to be fixed. The source of the problem was PWRGOOD signal that is used to shut down (using OE circuit) output and is derived from the wrong place, namely +5V LDO. Since that LDO has a much more room to deliver regulated output then +15V (Vdd) LDO it's logical that PWRGOOD signal will lasts too long. On the other side Vdd which is used to supply CV control loop drops too fast and lost control over the loop.
Unfortunately on the current PCB a LM317 is deployed for +15V which do not have any power monitoring. Therefore in a new PCB revision an another type of LDO or discrete PWRGOOD logic has to be added. Maybe the easiest way is to deploy another LP2951 as in the case of +5V which is cheap and could deliver up to 100mA what is more then enough.
 

Offline prasimix

  • Supporter
  • ****
  • Posts: 1103
  • Country: hr
    • EEZ
Re: DIY programmable dual channel bench PSU 0-50V/3A
« Reply #83 on: May 27, 2015, 08:46:40 pm »
No I mean when it is in CC mode and the load drops so it goes out of CC mode.

So say you have 30V output, 10R load and 500mA limit then the supply will limit the voltage to 5V. Say the load then changes to 1K - the voltage should float back up to 30 but I was finding the voltage would overshoot 30 briefly before coming back down.

Tom

Hi Tom, that's what I can get if Vout is set to 40V and initial load is 1K and then 16R4 is briefly connected in parallel when Vout drops to ~12V and rise again to 40V. Output looks a little bit noisy since scope was in roll mode and also I didn't take much care about test points.

 
« Last Edit: May 27, 2015, 08:48:17 pm by prasimix »
 

Offline prasimix

  • Supporter
  • ****
  • Posts: 1103
  • Country: hr
    • EEZ
Huge trouble with "Ebay grade" panel meters...
« Reply #84 on: May 29, 2015, 01:54:26 am »
I had a tough time trying to figure out why output signal looks horrible when post-regulator enters CC mode (see first two picture). The first suspect was PCB. I'm not happy with current revision since due to urge to put so much components in so little space it ends up with having e.g. far from optimal ground plane. Also in the designing process I completely forgot to dedicate separate track to supply current shunt resistor. But even if I failed miserably (what actually is not a case) I was wondering why even with the smallest current PSU in CC mode behave in such way. I tried to accuse some other part of the post-regulator, but without real reason since it works nicely while in the CV mode.
I started to populate another post-regulator PCB this time with CC loop components only. That combination didn't work (you'll see soon why). I then went to breadboard and there it works! I even try to test everything on bare PCB with current shunt monitor op amp (LTC2057) and minimum surrounding components. That generate even more confusion since in that case it works without changing the rest. But that was not completely true. I didn't connect load to DMM's ammeter but connect it directly to the "high side" of shunt resistor. I didn't spot that at once and after many attempts I finally today realize that eBay grade panel DMM is connected with that noise generation!
I have two different version, and yes, they are really different: each has its own "noise signature" :). I don't know why they behave like that. Maybe the problem is a combination with PSU which has "low side" current monitoring but this issue really made me in one moment miserable. I started to think about various other op amp hoping that LTC2057 is not appropriate for such "lame" PCB and that with some other less sensitive this issue will disappear. I even start to think about another PCB revision (too soon since the next one should be in proper condition that can generate a group buy and Eagle and Gerber files can be publish).
I was thinking that first milestone will be a PSU which is fully functional with manual controls only, but it seems that I need to continue with adding MCU board or eventually (to say that milestone is reached) to find out why combination with such DMMs does not work (or maybe find some other which works fine and does not cost another fortune).
I'm wondering if anybody else has similar experience?
 

Offline prasimix

  • Supporter
  • ****
  • Posts: 1103
  • Country: hr
    • EEZ
Re: Power down without load and bad timing...
« Reply #85 on: June 01, 2015, 09:47:17 pm »
This is a follow up to post #83 where I announced that PWRGOOD signal has to be moved from +5V to +15V LDO. That is actually not enough what is clearly visible on the following picture:



Improvement is visible since Vout (set to 3.3V) overshoot without load is now smaller and last less time but it's still there and it's actually massive (yellow trace). It's connected with lack of ULVO (Undervoltage-lockout) control of bias pre-regulator (LM5574). It try to insure propoper voltage all the time but cannot manage that (since is is not buck/boost but only buck) when Vin drops below ~35V. That cause oscillation of the output what is reflected to the PWRGOOD signal. With adding ULVO (voltage divider 51K/1K5 to disable output when Vin drops to ~43VDC everything looks fine as you can see on the following picture:



One thing less on TO-DO list :) I now have a pretty complete "non-SMPS power" pre-regulator board where I decide to add one more thing that I'll describe in one of future posts.
 

Offline prasimix

  • Supporter
  • ****
  • Posts: 1103
  • Country: hr
    • EEZ
Testing capacitive load, part I
« Reply #86 on: June 03, 2015, 06:08:13 pm »
In the few posts thats follow I'd like to present how PSU (with mosfet pre-regulator) behave when huge capacitive load is connected with or without additional resistive load. I tested it with 470, 1000, 2200 and 10000uF elco and 4x4.7uF ceramic. Also you can see a benefits of DP ("down-programmer").

First let see what happened with 470uF connected to Vout (step is created using OE control) with and without DP activated (default is on). You can see that without DP due to capacitor discharge Vout require tens of seconds to reach zero volt after OE (Output enable) is set off.
 

Offline prasimix

  • Supporter
  • ****
  • Posts: 1103
  • Country: hr
    • EEZ
Testing capacitive load, part II
« Reply #87 on: June 03, 2015, 06:10:16 pm »
The following pictures presents how PSU behave with 1000, 2200 and 10000uf when Vout is set to 50V. I also tried 4x4.7uF ceramic to test if extremely low ESR will cause oscillation. In all cases DP was on, and you can see that it requires some time to discharge capacitor since it use 2R2 to do it. For 10000uf that lasts ~1sec.
 

Offline prasimix

  • Supporter
  • ****
  • Posts: 1103
  • Country: hr
    • EEZ
Testing capacitive load, part III
« Reply #88 on: June 03, 2015, 06:26:20 pm »
Now we comes to more interesting part where additional load is connected what is closer to real scenario when D.U.T. (Device under test) is connected to the PSU. Here we are reaching some limits of what PSU in this revision can do, but I think that it still pretty good and better then average.
This is a also example how DP can improve situation. I tested 1000uF with 16R4 load in parallel on 25V and 40V which alone consume 1.5A and 2.4A. That means that when Vout appears on output terminals that for charging capacitor remain 1.65 or only 0.75A before PSU enters CC mode. Regardless of that when DP is on it can handle both cases nicely. But if DP is set off then you can see oscillation.
If smaller load is connected (33R instead of 16R4) that gives more room for handling capacitor charging and in that case it can go up to maximum 50V. Of course with DP set on. If DP is switched off you can expect oscillation. Of course someone could interpret using od DP as cheating, but I see it as a nice feature.
As mentioned before even with DP PSU has some limitation, that is finite current that it can deliver and that is controlled with CC loop and set it this case to 3.15A. You can see that in the latest picture (50V, load=1000uF+16R4).
All mentioned is my interpretation of presented results and it's possible that it not correct, so your inputs as usual is more then welcome.
 

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 4495
  • Country: de
Re: DIY programmable dual channel bench PSU 0-50V/3A
« Reply #89 on: June 04, 2015, 02:29:00 am »
This does not look good. Having 1000 µF and 16 Ohms is not a really critical load. It gets way more tricky if there is a sizable inductor in series with the resistor. Not all 1000 µF caps are equal the ESR of the capacitor also has some influence, but a good supply should not oscillate with any reasonable type.

If the PSU shows oscillation in this case, there seems to be something really wrong with regulator adjustment or design.
 

Offline prasimix

  • Supporter
  • ****
  • Posts: 1103
  • Country: hr
    • EEZ
Re: DIY programmable dual channel bench PSU 0-50V/3A
« Reply #90 on: June 04, 2015, 03:11:42 am »
Thanks Kleinstein for your input. It actually not oscillate with DP on (what is default). What inductor value you have on mind that is worth testing? I can try to find it and see what will happen.

Also what's about DC motor? Can we assume it as typical inductive load?
 

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 4495
  • Country: de
Re: DIY programmable dual channel bench PSU 0-50V/3A
« Reply #91 on: June 04, 2015, 04:55:43 am »
Usually the critical loads are a pure capacitive load for voltage regulation and an inductive load for current regulation. To get a current flowing the capacitive load needs something extra, like a resistor and Inductor in series. The inductor is to make this something similar to a current sink - so a large inductor would be most critical. Depending on the circuit either rather small or rather large (e.g. 50-90% of maximum) are more critical.

The critical size of cap is often either a rather small low ESR one, of something like the output capacitor or a rather large capacitor of a few mF. Often one has to accept that there is an upper limit (e.g. 10...100 mF) for the allowed size of low ESR capacitor at the output. Usually regulation gets at least poor under such conditions - if not there is likely a problem at other normally easier cases.

A DC motor is a rather complex slightly inductive load with varying current and spikes. So it's good for a quick test, but hard to quantify.

To see not only sustained oscillation, it's helping to look at some fast load changes to. The closer one is to oscillation, the more ringing will be there.

There seems to be some oscillation even with DP on,  in some cases (e.g last picture). Not that large in amplitude, but it still does not look smooth.

I don't know exactly which circuit is the last version, but the one from reply #60 looks suspicious: there are several RC combinations of comparable time constant,that set the compensation. In theory this might be well balanced but usually is not a good idea, as there are too many degrees of freedom. In addition to linear instabilities this can also lead to surprises when switching between CC and CV mode, as the system can have some kind of memory. Usually there should be 1 capacitor that dominates the frequency response over a wide range.
 

Offline prasimix

  • Supporter
  • ****
  • Posts: 1103
  • Country: hr
    • EEZ
Re: DIY programmable dual channel bench PSU 0-50V/3A
« Reply #92 on: June 04, 2015, 03:52:33 pm »
Thanks Kleinstein once again. I tried to test it again with CC control loop disengaged. In that case it can easily deliver 3A on 50V using 16R4 load connected in parallel with 10000uF (not 1000uF!).
C63 in current error amplifier feedback (from post #60) was too small. When I increased it to 1nF, and current set to maximum it manage nicely not above mentioned load but also 16R4 || 20000uF combination on max Vout.
« Last Edit: June 04, 2015, 03:55:05 pm by prasimix »
 

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 4495
  • Country: de
Re: DIY programmable dual channel bench PSU 0-50V/3A
« Reply #93 on: June 05, 2015, 02:40:14 am »
Was at 50 V and 16 Ohms the CC Limit active ? So it might be the CC regulation had the problems.

For testing the regulator stability it's not needed to test at high power / high current. The low current range (e.g. only a few mA) can show trouble as well. Often it helps to use the simulation to find out the critical cases and then do real world tests under similar conditions. There are just too many possible parameters to test every case in real word. Simulation can provide output impedance as a function of frequency and load current - this allows to identify critical loads rather fast. On the real thing one would need some kind of low frequency vector network analyzer to do that - only few of us have such a thing.
 

Offline prasimix

  • Supporter
  • ****
  • Posts: 1103
  • Country: hr
    • EEZ
Re: DIY programmable dual channel bench PSU 0-50V/3A
« Reply #94 on: June 08, 2015, 01:40:07 am »
You was right Kleinstein. I found some issue in CC mode possibly due to so many models and schematics that at the end I was put on the post-regulator PCB some values that is not used in simulation. End result was a significant Vout ripple (~1Vpp) when PSU enter CC mode (see the first picture in attachment for 16R4 load in combination with only 470uF).
When I made all required correction I got very nice behavior that is equal with one in CV mode. You can see that on the second attached picture (OE step with 16R4 load in parallel with 10000uF). It shows same stability regardless of DP mode (on or off).
Finally I'm attaching latest LTspice with mosfet pre-regulator included that nicely follows what I got while testing the real stuff. Please note that I left few capacitors with value zero (C2, C3, C12) which was a source of oscillation in both CC and CV mode. CC/CV comparators are also excluded since they are not relevant for stability analysis.

« Last Edit: June 08, 2015, 01:44:49 am by prasimix »
 

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 4495
  • Country: de
Re: DIY programmable dual channel bench PSU 0-50V/3A
« Reply #95 on: June 08, 2015, 05:15:47 am »
I have also simulated some parts of the circuit - without the current limiting. The capacitors C2 and C12 do makes sense, though R1 might need to get a little larger (e.g. 56 Ohms), not give too much load to the OPs. For voltage regulation C15 is problematic and probably best set to 0  - the small shunt in series is a good idea at high frequencies - so no need to compensate for it. Even if one wants to,the circuit would be different.

The cc mode has an obvious problem with the current amplifier: The amplifier has a large (80 times) gain and thus a rather limited bandwith (20 kHz range), as the LTC2057 is rather slow. This requires to have R44 and C17, to have quite some voltage feedback as well. So the output impedance will be rather low, even in CC mode. The bad thing is, that current limiting may also respond rather slow to something like a short from high output voltage - possibly even to late to protect the MOSFET from blowing due to limited SOA rating.
 
Due to the large amount of voltage feedback the cc regulation might be stable, but also far from a real CC mode. So a few more simulation runs may be needed. Another feedback path from Vout- might help, bypassing the amplifier at higher frequencies.
Testing the CC mode should be done without capacitive loading (except for an cap as part of the circuit that may be needed) - the difficult case is inductive loading.
 

Offline prasimix

  • Supporter
  • ****
  • Posts: 1103
  • Country: hr
    • EEZ
Re: DIY programmable dual channel bench PSU 0-50V/3A
« Reply #96 on: June 08, 2015, 07:01:22 pm »
Thanks again Kleinstein for another valuable comments. LTC2057 gain can be easily halved to 40V/V with R020/10R/390R combination that I believe could improve a bit its bandwidth. I didn't test yet a short with max. Vout and hopefully that will not damage IRFP250N. Its SOA is not so bad and CC loop should be fast enough to block a disaster.

What kind of test settings you'd like to suggest for inductive load?
 

Online blackdog

  • Frequent Contributor
  • **
  • Posts: 475
  • Country: nl
Re: DIY programmable dual channel bench PSU 0-50V/3A
« Reply #97 on: June 08, 2015, 11:40:54 pm »
Hi prasimix,

I have some remarks  ;D
I lookt a your last schematic and i see a phase lag carnival...

Just for the CV mode, working backwards...

IRFP250, gate capacitors, Q2 and R33 of 2k2, better to use a 5 a 10mA current source here or lower R33 to at least 1K
There is enough current available for charge op the gate capacitors, but not to discharge them.

R23 + C9

Extra gain of Q3

C12

R7 + C1
 
R21 + C11

R36 + C15

C3

R15 + C6

R14 + C15

C4 + R12

Hallelujah  :-DD

Do you think you can win this fight, to get a stable power supply?

----------------------------------------------

Some 2 cents of opinion  ;)
Make the pass transitor as fast as you can, thus current source, or lower R33.
My best performance setup was a Sziklai Darlinton, 2SA1943 and a 2SC2911.

Always use a capacitor direct on the output therminals, rule of thumb, 50uF/Amp
The better yuor design is, the lower the capacitor value can be.

In your design you put two opamps in series and a extra gain stage Q3, all inside 1 loop...
Almost impossible to get it stable unther "normal" use for a lab power supply.

Probably your current limit is too slow to protect your power fet.

---------------------------------------------

Just some pictures to make some info more clear.
First some measurements i have done to get the best Ri of my design.
On the top its 1 Ohm, bottum is 1m-Ohm.
The green line is the output filtering impedance
A = Tip142
B = FET PSMN034
C = 1 Compound Darlington
D = Green line impedance output network
F = Dubble Compound Darlington, YESSS! about 17m-Ohm Ri at 100Khz.


-----------------------------------------------

This is a picture that shows current through the Darlington with a fast control loop.
It takes about 10uSec to come back to the set current of 5 Amps.



I dit not like that, so i placed a extra current limiting transistor around the darlington pair.
And this is how it lookt afterward...
Only a peak of 7 Amps, and FAST!
I use normaly about 5 Amps Max/Darlington, this from a 10 Amp design power supply


The extra current limithing circuit looks like this:


I hope you can use some of my remarks :-)

Kind regarts,
Blackdog

« Last Edit: June 08, 2015, 11:47:18 pm by blackdog »
 

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 4495
  • Country: de
Re: DIY programmable dual channel bench PSU 0-50V/3A
« Reply #98 on: June 09, 2015, 01:52:11 am »
The circuit is not that bad, at least not with voltage regulation. At first I also though the extra Gain of Q3 and the extra capacitors used for phase shifts could cause lots of trouble. But looking closer, at least the power stage is actually quite good in the simulation. The rather low current to charge the gate only makes the current raising not that fast - which is a good thing with the poor current regulation. The resistor gate to source is already quite close to a current source.  A little more might help though, but at 50 V 5 mA already give 250 mW which may be to much for Q3.
A  Sziklai Darlinton output stage tends to be more problematic, both in output impedance and local stability. The weak part of the MOSFET output is the often poor SOA limit at higher voltages. So it somewhat needs the pre-regulator.

The extra OP in the CV mode is not such a problem. The higher frequency part of feedback goes around the OP via C11 and R21. Leaving out C15 and having a capacitor at the output, the CV mode should be OK.

The CC mode is the real difficulty, as the output stage uses local feedback to promote good voltage regulation. Here the extra amplifier is a problem, and similar to the CV case the HF part should bypass that amp. Anyway I would not expect to get a very good current regulation, but it can get much better than currently. An extra faster acting current limit may be a good idea.

The test scenarios for the CC mode would be something like setting 1 A (rep. 0.05 A) current limit at something like 40 V and initially no load, and than quickly connect something like a 1-5 Ohms load (e.g. per switch or Mosfet). The worst case would be something like an 1 mH HF capable inductor with little core loss. Already something like 100 µH (ferrite core for SMPS) would be a good test.

The first step would be to run simulations and look at the output impedance. Such a circuit should perform well in simulation first. The simulation also  shows the critical load ranges to test in real world. The hardware test is still needed to include Layout effects like parasitic inductance. At some places (e.g. at the source of the MOSFET or shunt) 100 nH  can make a difference.
 

Offline prasimix

  • Supporter
  • ****
  • Posts: 1103
  • Country: hr
    • EEZ
Re: DIY programmable dual channel bench PSU 0-50V/3A
« Reply #99 on: June 09, 2015, 03:02:27 am »
Thanks Blackdog, thanks Kleinstein. As I already said some parts was intentionally left in last LTspice model with zero value just in case that someone want to experiment with that and spot the difference. That parts were present in some previous models and I'll remove it completely in the first new revision to avoid further confusion.

Please also find in attachment measurements that Kleinstein suggests. As resistive load 4R1 is used, Vout is set to 40V and Iout is set to 1A. Results can be found on first three pictures.
As an inductive load a 100uH inductor from Bourns is used (PM2120-101K-RC). It's tested without any additional capacitor connected on the output and with 22uF. Results are visible on the remaining pictures.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf