Author Topic: DIY Scalable Bench Power Supply Design  (Read 115705 times)

0 Members and 1 Guest are viewing this topic.

Offline void_errorTopic starter

  • Frequent Contributor
  • **
  • Posts: 673
  • Country: ro
  • I can transistor...
Re: Bench Power Supply Design
« Reply #50 on: July 28, 2014, 12:06:49 pm »
Tested with both the negative rail and without it. Without the negative rail the series pass transistor doesn't turn off completely therefore CC mode doesn't work properly when I short the output (made sure nothing blows up by using the LM317 as the pre-regulator), since there is still base current flowing.

Anyway, the final schematic minus a few caps which I'm not sure are absolutely necessary (so they're not in there) and the board interconnects is this one:


The 560uF caps are Nichicon PW series low impedance low ESR. I went SMD where it was possible and/or cheaper/convenient. Still no idea about the inductor... I guess I'll have to slap together a pre-regulator using a TL494 and scope the damn thing. If it works with powdered iron core inductors I'm using those, Although since they have lower AL, they would require more turns per uH and therefore will have higher series resistance or be larger in size at the same resistance and inductance values.

Changed the LM324 for a higher precision OPA4277.
« Last Edit: July 28, 2014, 12:28:09 pm by void_error »
Trust me, I'm NOT an engineer.
 

Offline extide

  • Regular Contributor
  • *
  • Posts: 95
  • Country: us
    • Rovitracker - Rental management AND Real-Time data!
Re: Bench Power Supply Design
« Reply #51 on: July 28, 2014, 08:50:53 pm »
Cool, will keep an eye on this!
 

Offline akis

  • Frequent Contributor
  • **
  • Posts: 981
  • Country: gb
Re: Bench Power Supply Design
« Reply #52 on: July 28, 2014, 09:47:28 pm »
How will the OPA4227 sense the current when it cannot sense up to V+? You'd need a Jfet op-amp there no?
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: Bench Power Supply Design
« Reply #53 on: July 28, 2014, 11:48:06 pm »
Because of the voltage over the adjuster, the common mode signal on the current sense amplifier will never swing to the opamp's positive rail.

Jfet-opamps, due to their inability to swing close to either V+ or V-, are not a good choice here.
================================
https://dannyelectronics.wordpress.com/
 

Offline mikerj

  • Super Contributor
  • ***
  • Posts: 3240
  • Country: gb
Re: Bench Power Supply Design
« Reply #54 on: July 29, 2014, 07:35:41 am »
Now, for the good stuff: a pic of the test rig



Got to be one of the neatest breadboard constructions I've seen in a while  :-+
 

Offline void_errorTopic starter

  • Frequent Contributor
  • **
  • Posts: 673
  • Country: ro
  • I can transistor...
Re: Bench Power Supply Design
« Reply #55 on: July 29, 2014, 11:33:00 am »
How will the OPA4227 sense the current when it cannot sense up to V+? You'd need a Jfet op-amp there no?

V+ will always be about 4-5V higher than any of the inputs since it's supplied from the tracking pre-regulator's output. I have read the OPA4277 datasheet a dozen times before choosing it. However, I've only tested the PSU with the LM324 because I had half a dozen lying around.  ::)

Because of the voltage over the adjuster, the common mode signal on the current sense amplifier will never swing to the opamp's positive rail.

Jfet-opamps, due to their inability to swing close to either V+ or V-, are not a good choice here.

And even if the output is shorted the inputs will be 3.3V above V-.

Got to be one of the neatest breadboard constructions I've seen in a while  :-+

Thanks! I preffer keeping breadboards neat and tidy, although more time consuming than quick and dirty setups, but it saves a lot of time when modifying it. Also, it doesn't fly apart if you sneeze on it.

Another thing... D6 & D7 are there to prevent excessive reverse VBE voltages on Q4 and Q6. Used red LEDs on the breadboard because it was more convenient than probing around with a voltmeter.

U4.3 will be used to buffer the voltage at U4.1 IN- for the ADC voltage sense channel. The current sense voltage will be taken directly from U4.4 without a buffer. I should probably use some resistors with zeners to limit the ADC input voltages to less than 5V just in case something goes wrong. 4V7 zeners should do.

Apart from that I changed my mind yet again regarding the display part. I'm going for a 128x64 graphical LCD and getting rid of the LED displays and character LCD. It does save me some money but I'll have to write my own libraries since I haven't found any for XC8 or C18 or hi-tech C that suit my needs. I hope everything fits in a PIC16F887...  :-\
Trust me, I'm NOT an engineer.
 

Online mariush

  • Super Contributor
  • ***
  • Posts: 5029
  • Country: ro
  • .
Re: Bench Power Supply Design
« Reply #56 on: July 29, 2014, 12:09:08 pm »
PICs aren't that expensive.. you can easily move to another one or use a second PIC just as a LCD controller.

I've used pic16f1519 in a project recently... 28 KB of flash.

Why didn't you use one 0.1ohm 7w resistor or 3 0.33 ohm 7w resistors instead of those 10 1ohm resistors? They're cheap... seems such a waste of pcb space and bad thermals.
 

Offline void_errorTopic starter

  • Frequent Contributor
  • **
  • Posts: 673
  • Country: ro
  • I can transistor...
Re: Bench Power Supply Design
« Reply #57 on: July 29, 2014, 12:22:22 pm »
PICs aren't that expensive.. you can easily move to another one or use a second PIC just as a LCD controller.

I've used pic16f1519 in a project recently... 28 KB of flash.

Why didn't you use one 0.1ohm 7w resistor or 3 0.33 ohm 7w resistors instead of those 10 1ohm resistors? They're cheap... seems such a waste of pcb space and bad thermals.

If the code doesn't fit in a 16F887 I'll choose another one. The code I wrote so far is easily portable to any 8bit PIC MCU.

(0.1ohm)x(3A)2=0.9W which is not that much. Only 90mW on each resistor.
I wanted to use 1% tolerance so I wouldn't have to use trimpots. SMD1206 ones occupy less than a 7W wirewound resistor.

Actually, I'll test one SMD1206 resistor at 100mW to see how hot it gets. If everything's ok I'm going to use these http://www.tme.eu/en/details/hp06-1r1%25/1206-smd-resistors/royal-ohm/hp06w2f100kt5e/.

EDIT: Tested a SMD1206 resistor at 0.15W and it's cold enough to touch, actually I couldn't notice any significant change in temperature. 7W would be triple overkill.
« Last Edit: July 29, 2014, 01:01:23 pm by void_error »
Trust me, I'm NOT an engineer.
 

Online mariush

  • Super Contributor
  • ***
  • Posts: 5029
  • Country: ro
  • .
Re: Bench Power Supply Design
« Reply #58 on: July 29, 2014, 01:06:46 pm »
Be careful with those, as they don't say the temperature coefficient. Being thick film, they're probably 200ppm/C so the resistance will change a lot with temperature increase, which will definitely happen at 100mW dissipated in each smd resistor out of 10, which will all sit close together, radiating heat.

You could go for example with one of these: http://www.tme.eu/en/details/ax5wv-0r1/5w-wirewound-resistors/royal-ohm/prm05wjw10kb00/#  25mm tall, 10mm wide ... not that big.

The temperature coefficient is worse at 400ppm/C but being 5w rated they'll heat much less especially considering that 0.9w seems to be worst case scenario and that you could potentially put a to220 heatsink on it or glue it on the large heatsink for the transistor (though not recommended). And you can use thicker traces on the pcb instead of being forced to use thinner traces (so you could solder the 1206 smd resistors).
If you check the datasheet, you will also have a couple of graphs showing how much the temperature will go above ambient with various loads.

Now of course, there's also another drawback - being wirewound there may be some inductance there but I doubt it's going to be a problem
 

Offline void_errorTopic starter

  • Frequent Contributor
  • **
  • Posts: 673
  • Country: ro
  • I can transistor...
Re: Bench Power Supply Design
« Reply #59 on: July 29, 2014, 01:49:49 pm »
I know those resistors, unfortunately they're only available in 5% tolerance only, so as I've said, I'd have to use a multi turn trimpot to calibrate the damn thing, 5% way too high.

The PCB traces will be quite thick anyway, at 2mm, which is adequate for 3A maximum current.
Trust me, I'm NOT an engineer.
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: Bench Power Supply Design
« Reply #60 on: July 29, 2014, 05:46:32 pm »
Quote
The PCB traces will be quite thick anyway,

Any alternative would be to use the PCB trace as the current sensor.
================================
https://dannyelectronics.wordpress.com/
 

Offline akis

  • Frequent Contributor
  • **
  • Posts: 981
  • Country: gb
 

Offline akis

  • Frequent Contributor
  • **
  • Posts: 981
  • Country: gb
Re: Bench Power Supply Design
« Reply #62 on: July 29, 2014, 10:34:15 pm »
How will the OPA4227 sense the current when it cannot sense up to V+? You'd need a Jfet op-amp there no?

V+ will always be about 4-5V higher than any of the inputs since it's supplied from the tracking pre-regulator's output. I have read the OPA4277 datasheet a dozen times before choosing it. However, I've only tested the PSU with the LM324 because I had half a dozen lying around.  ::)

Because of the voltage over the adjuster, the common mode signal on the current sense amplifier will never swing to the opamp's positive rail.

Jfet-opamps, due to their inability to swing close to either V+ or V-, are not a good choice here.

And even if the output is shorted the inputs will be 3.3V above V-.


OK, I am officially confused. I will explain why I made this comment. On the schematic you show the op-amp being powered by "VCC". Through a 10R resistor which might drop say 50mV. Now the next component is the pass transistor, looks like a darlington pair. Obviously to open this transistor up fully we need 1.2V over the rail. That should be one consideration. Of course I have no idea what Vcc actually is and what the max output requirements are. Now assuming we need max voltage on a small load, there will be no voltage drop on the pass transistor and then we hit the current sense resistors. We know the op-amp cannot "sense" that high, it needs a few volts off Vcc at its best. Else it may, probably will, invert. So the question is how sure are we that the pass transistor, that actually controls the output voltage, always, but always (under any settings and any condition, drops at least 2 V - at worst ?

Another thing : in my transistorised PSU design I used a complimentary pair - a MJE15028 bypassed by a MJL1302A. The pair is driven via a 2.2K resistor straight from the op-amp, nothing else, no other transistors or anything. And for current control like you I use a BC337 to short the base of the MJE15028, where the BC328 is driven by the current sense op-amp. I only drop 0.6V at the pass transistors. My op-amps are powered by almost double voltage (two diodes two caps off of the main transformer). But I do not need negative voltages anywhere.

As an improvement, since the PSU should be floating, we could actually place the sense resistors at the V- lead. That way sensing the voltage can be done by any "single supply" op-amp (eg MC33072) without "extra" Vcc and does not require a differential circuit, since we are already referenced to "ground".

I would also suggest placing a strong diode at the output to prevent damage to the PSU or the components (imagine you plug in another PSU or a battery for example). With a power Schottky you'd be sacrificing Iout * 0.5 Watts. As you are sensing output voltage anywhere you like, even right at the load, it is not going to cause regulation issues.

I would also suggest a relay to take the load "off load" when power is lost and at the press of a button, so that you can adjust the voltage as you wish while the load is off, and if you ever have multiple PSUs in the same enclosure/supply, you would not need to switch the whole damn thing off just to take one of the loads "off load".

Finally, a very useful feature which I do not have, but you have MCUs so I presume you can do what you like, is the "slave" mode, where one PSU "follows" the settings of another so for example when you have symmetrical supplies, you only adjust one button.
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: Bench Power Supply Design
« Reply #63 on: July 29, 2014, 10:51:27 pm »
Quote
So the question is how sure are we that the pass transistor, that actually controls the output voltage, always, but always (under any settings and any condition, drops at least 2 V - at worst ?

Near 100%, :).

The opamp's output can swing to, at max, Vcc. Usually less than that, depending on the opamp used / output topology - an opamp with an emitter follower for example will only swing to 0.7v at least to Vcc.

Assuming that's the case, the darlington itself will drop another 1.3-1.4v, more under heavily load, so the emitter of the darlington is likely 0.7v + 1.3v = 2.0v, at least, lower than Vcc / the darlington's collector.

If you factor in the darlington's base current, the drop is even more.

The calculation can be repeated if the output is on the emitter of the output device: in that case, the voltage drop is likely lower.

Quote
we could actually place the sense resistors at the V- lead.

It requires the opamp to be able to swing to its negative rail. In a single supply case, that's actually worse than the high side sensing.

Quote
I would also suggest a relay to take the load "off load" when power is lost and at the press of a button

A better implementation is to use a device to pull the base low -> that can be done with a mcu + npn transistor, or spare opamp, or an optocoupler, etc.

It also allows soft start, or one-button on/off, in conjunction with a mcu.

Quote
the "slave" mode

With a mcu, a tracking supply is fairly easy to implement.
================================
https://dannyelectronics.wordpress.com/
 

Offline akis

  • Frequent Contributor
  • **
  • Posts: 981
  • Country: gb
Re: Bench Power Supply Design
« Reply #64 on: July 30, 2014, 12:01:43 am »
If you pull the base of the pass transistor low, your output voltage drops to 0, and your mounted Voltmeter shows 0. If you have a relay, not only is the load safely isolated, but also, your Voltmerer shows the selected voltage which will be applied as soon as the relay opens (excepting bad regulation of course).


 

Offline IanJ

  • Supporter
  • ****
  • Posts: 1608
  • Country: scotland
  • Full time EE & Youtuber
    • IanJohnston.com
Re: Bench Power Supply Design
« Reply #65 on: July 30, 2014, 12:29:35 am »
I'm going for a 128x64 graphical LCD and getting rid of the LED displays and character LCD. It does save me some money but I'll have to write my own libraries since I haven't found any for XC8 or C18 or hi-tech C that suit my needs.

That'll be interesting as thats what I used in my PSU design (Arduino based). I'm not sure what your thoughts are here but it's the font generation/storage that requires a lot of memory. I used U8GLIB with SPI interfaced 128x64 LCD's. The more font sizes you use, the more you need to accomodate for in flash.

Ian.
Ian Johnston - Original designer of the PDVS2mini || Author of the free WinGPIB app.
Website - www.ianjohnston.com
YT Channel (electronics repairs & projects): www.youtube.com/user/IanScottJohnston, Twitter (X): https://twitter.com/IanSJohnston
 

Offline void_errorTopic starter

  • Frequent Contributor
  • **
  • Posts: 673
  • Country: ro
  • I can transistor...
Re: Bench Power Supply Design
« Reply #66 on: July 30, 2014, 10:17:54 am »

OK, I am officially confused. I will explain why I made this comment. On the schematic you show the op-amp being powered by "VCC". Through a 10R resistor which might drop say 50mV. Now the next component is the pass transistor, looks like a darlington pair. Obviously to open this transistor up fully we need 1.2V over the rail. That should be one consideration. Of course I have no idea what Vcc actually is and what the max output requirements are. Now assuming we need max voltage on a small load, there will be no voltage drop on the pass transistor and then we hit the current sense resistors. We know the op-amp cannot "sense" that high, it needs a few volts off Vcc at its best. Else it may, probably will, invert. So the question is how sure are we that the pass transistor, that actually controls the output voltage, always, but always (under any settings and any condition, drops at least 2 V - at worst ?

Another thing : in my transistorised PSU design I used a complimentary pair - a MJE15028 bypassed by a MJL1302A. The pair is driven via a 2.2K resistor straight from the op-amp, nothing else, no other transistors or anything. And for current control like you I use a BC337 to short the base of the MJE15028, where the BC328 is driven by the current sense op-amp. I only drop 0.6V at the pass transistors. My op-amps are powered by almost double voltage (two diodes two caps off of the main transformer). But I do not need negative voltages anywhere.

As an improvement, since the PSU should be floating, we could actually place the sense resistors at the V- lead. That way sensing the voltage can be done by any "single supply" op-amp (eg MC33072) without "extra" Vcc and does not require a differential circuit, since we are already referenced to "ground".

I would also suggest placing a strong diode at the output to prevent damage to the PSU or the components (imagine you plug in another PSU or a battery for example). With a power Schottky you'd be sacrificing Iout * 0.5 Watts. As you are sensing output voltage anywhere you like, even right at the load, it is not going to cause regulation issues.

I would also suggest a relay to take the load "off load" when power is lost and at the press of a button, so that you can adjust the voltage as you wish while the load is off, and if you ever have multiple PSUs in the same enclosure/supply, you would not need to switch the whole damn thing off just to take one of the loads "off load".

Finally, a very useful feature which I do not have, but you have MCUs so I presume you can do what you like, is the "slave" mode, where one PSU "follows" the settings of another so for example when you have symmetrical supplies, you only adjust one button.

VCC is just the name of the pre-regulator output net, I was too lazy to make more custom compoents in DipTrace. VCC will always be 4-5V higher than V_OUT, so the emitter of Q5 will be 300mV higher than V_OUT at 3A, that means the maximum base drive voltage required will be V_OUT+0.3V+VBE(Q5) which is V_OUT+1.8V.

I'm probably going to use a relay controlled by the MCU to switch the output on/off, it will also be off at power-up. Haven't decided yet.

A better implementation is to use a device to pull the base low -> that can be done with a mcu + npn transistor, or spare opamp, or an optocoupler, etc.

It also allows soft start, or one-button on/off, in conjunction with a mcu.

The REF_V and REF_I voltages come from DAC outputs so I have a lot of options here.

If you pull the base of the pass transistor low, your output voltage drops to 0, and your mounted Voltmeter shows 0. If you have a relay, not only is the load safely isolated, but also, your Voltmerer shows the selected voltage which will be applied as soon as the relay opens (excepting bad regulation of course).

True, but I have a trick up my sleeve. I won't be using a regular panel voltmeter/ammeter but the MCU paired with an 8-channel 12bit ADC to get the voltage and current and display them on a 128x64 (or 128x128) graphical LCD, along with the set voltage and set current limit, so even if the output is off I will know the voltage and current settings.

That'll be interesting as thats what I used in my PSU design (Arduino based). I'm not sure what your thoughts are here but it's the font generation/storage that requires a lot of memory. I used U8GLIB with SPI interfaced 128x64 LCD's. The more font sizes you use, the more you need to accomodate for in flash.

Ian.

Usually PIC code occupies less than Arduino code so I might get away with 8k or 16k program memory.

Updated the schematic yet again...

« Last Edit: July 30, 2014, 10:20:50 am by void_error »
Trust me, I'm NOT an engineer.
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: Bench Power Supply Design
« Reply #67 on: July 30, 2014, 10:33:13 am »
Quote
If you pull the base of the pass transistor low, your output voltage drops to 0

This is where a high Vbe / Vgs output device is more desirable here: it allows you to pull the output to 0 without a negative power rail.
================================
https://dannyelectronics.wordpress.com/
 

Offline void_errorTopic starter

  • Frequent Contributor
  • **
  • Posts: 673
  • Country: ro
  • I can transistor...
Re: Bench Power Supply Design
« Reply #68 on: August 03, 2014, 01:26:03 pm »
Since the power supply part has been pretty much dealt with I've been working on the digital part for the last week or so.

The problem is that I ran into some issues regarding the ADCs and I have an idea.

Practically, a 12 bit ADC like the MCP3208 which I intend to use has a usable resolution of about 10 bits due to the INL, DNL and gain errors which is not enough for a 1mV resolution in the 0-4.096V input range and I want a 4 digit readout on the LCD.

One workaround would be to split the voltage to be measured in half and use the pseudo-differential input capability to get 12 bits for each half of of the input voltage.
However, this makes the measurement error worse because it puts the ADC errors just above half the input voltage which is a bad thing.

I've found a workaround for that as well by ignoring the error LSBs which is easy for the lower half ADC but not that easy for the upper half. The solution is to overlap the upper half and lower half voltages so the upper side error is in the lower side measurement range thus it can be ignored.

Basically I can get double the resolution with this method. That is 16 bits by using 8 bits of each ADC. Another thing to watch out for is the delay between the two conversions, that can add some errors too but it might not be a problem since the MCPs I'm using can go up to 100ksps (at 5V supply), the inputs will be low-pass filtered anyway and SPI is quite fast.

Will this work? Any ideas/suggestions/opinions are welcome.
Trust me, I'm NOT an engineer.
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: Bench Power Supply Design
« Reply #69 on: August 03, 2014, 02:34:17 pm »
Quote
not enough for a 1mV resolution

That kind of "precision" may not be meaningful in this set-up. You will find out that when driving a dynamic load - a mcu, a digital circuit, a class B amp, etc. - this type of power supplies will always oscillate. The degree of oscillation will vary from design to design, or from build to build, or from load to load.

It is a lot more important to get the circuit to stablize, or to minimize the zone of oscillation.
================================
https://dannyelectronics.wordpress.com/
 

Offline void_errorTopic starter

  • Frequent Contributor
  • **
  • Posts: 673
  • Country: ro
  • I can transistor...
Re: Bench Power Supply Design
« Reply #70 on: August 03, 2014, 03:17:46 pm »
I know the output will vary with fast changing load currents because the feedback loop has a limited bandwidth.

The previous idea won't work.
« Last Edit: August 03, 2014, 11:07:52 pm by void_error »
Trust me, I'm NOT an engineer.
 

Offline void_errorTopic starter

  • Frequent Contributor
  • **
  • Posts: 673
  • Country: ro
  • I can transistor...
Re: Bench Power Supply Design
« Reply #71 on: August 10, 2014, 01:00:18 pm »
Here's a little update (for absolutely no reason).

Finally managed to figure out how the whole thing should look like after the final assembly.



This multi-board design should be rigid enough.

In the meanwhile I've been fiddling with the digital part  :-/O. A few details below.

  • 1x MCP1541 4.096V reference
  • 1x PIC16F887 MCU with the following peripherals:
  • 2x MCP3551 22-bit ADC for reading output voltage and current
  • 1x MCP4922 dual 12-bit DAC
  • 1x MCP23S08 8-bit I/O port expander for the front panel controls

There still is quite a lot of work to be done on the code and PCB layouts. I'll probably use pin headers as board interconnects where possible.

I'll use a relay for output switching as akis suggested.

Leave your opinions below  ;)
Trust me, I'm NOT an engineer.
 

Offline akis

  • Frequent Contributor
  • **
  • Posts: 981
  • Country: gb
Re: Bench Power Supply Design
« Reply #72 on: August 10, 2014, 01:19:45 pm »
Why do you need such a big fan I wonder? I thought the whole idea was to use the LMxxxx switchers so that there is very few watts, if that, consumed?
 

Offline void_errorTopic starter

  • Frequent Contributor
  • **
  • Posts: 673
  • Country: ro
  • I can transistor...
Re: Bench Power Supply Design
« Reply #73 on: August 10, 2014, 01:29:23 pm »
The fan's only an 80x80mm one and it's only going to turn on if the temperature inside the case or the heatsink temperature exceeds a preset value. It'll also cool the mains transformer and move the heat away from the filter caps.

I've done the math for the power dumped into the heatsink for the worst case scenario and it's around 25W. That's about 4W on the bridge rectifier under full load, 5W on the LM2596 and 15W on the series pass transistor.

Most likely I'll use the same approach for a second, higher power bench PSU, something like 30V @ 5A with the same layout.
Trust me, I'm NOT an engineer.
 

Online mariush

  • Super Contributor
  • ***
  • Posts: 5029
  • Country: ro
  • .
Re: Bench Power Supply Design
« Reply #74 on: August 10, 2014, 02:17:16 pm »
I don't like the way you put the heatsink and fan... it would make sense to have the fan above the heatsink, pulling air from the bottom of the case or the sides though the heatsink fins and pushing the hot air out.

I would screw the power devices onto the heatsink and then screw the heatsink onto the back of the case (if it's metal), this way the case itself would also act as heatsink, potentially making fan not needed at low power dissipation. I don't quite like how the power devices are supposed to be attached to the pcb and the heatsink and have the spacers there as well, seems like difficult to service if there's a problem, and there may be a problem with solder joints from fan vibrations or just accidental knocks of the power supply.

Why make three boards when you could maybe compact everything into one or a couple of boards?

Do you really need an 8 bit port expander? Maybe you could use a simpler shift register for some stuff (like sending data to lcd display for example). I would just go for something more powerful and with more IO pins, like... maybe pic16f1947 
Yes, it's surface mount, but TQFP-64 is easy to solder and there's cheap tqfp to dip on ebay if needed, for example here.


 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf