DIY Electric Car Forums banner

1 - 14 of 14 Posts

·
Registered
Joined
·
28 Posts
Discussion Starter · #1 ·
I have some experience now, but I find that I now might need to go for a parallel string setup, which you typically try to avoid because of all the downsides to it.

I am using EV modules which are 3s and all covered up, meaning the only connections to the cells inside are the thin balancing/monitoring wires.
I have created a battery pack with that with an IC Gogogo BMS with active balancing, which is working nicely.
To be able to double that capacity, I can add another string. I cannot physically parallel the cells.

I am aware of all the downsides of parallel strings.
In another project I am using SimpBMS with paralleled modules, and each module will get a relatively low fuse on it. Match the voltages once, and typical load only 0.2C at max, I am not to worried.

But for this project, I would like to continue the modules without integrated slave BMS boards (so no SimpBMS) because of their suitable specs. I cannot find packaged reused EV cells at 15s.
What I could do is just create a second pack, also with the same nice active balancing BMS board connected at the - side of battery as is usually the case.
And then give each module a fuse of half the peak load (+some margin of course)

Since all modules would be from the same batch, and thus far they have been behaving very nicely and consistent, I am not expecting to much issues.
But I would be taking my chances, meaning that a fuse could blow or the BMS could keep blocking of reconnects because of the power surge between two batteries.
The BMS would be capable of handling the power, but it would trip one of its overcharging thresholds.

I am pretty confident to take that chance, and to have the customer come back only when one cell is actually failing. Which is the right time to come back.
I am being so confident because I know with that setup, the battery modules and the wiring are all protected properly. There would only be weird behavior for the user (like losing half the capacity without getting an alarm), which is annoying, but not unsafe.

However, I would much rather have an intelligent BMS that handles two strings at once, knowing when to reconnect them. And give each string a relay for charging/discharging and preferably precharge to handle any remaining power surges.

I know I could make it myself, meaning, I could write a controller which reads from Modbus or CAN of the two BMSs and disconnects and most importantly reconnects at the right moments (when they are matched again in SoC) with some big relays from an EV. But that would make the project a lot more expensive. So I would rather use of the shelf components/BMS.
 

·
Registered
Joined
·
28 Posts
Discussion Starter · #2 ·
Ok I found that the Dilithium BMS can monitor the parallel strings in one system.
I don't know it too well, but it looks like it won't disconnect the separate string from each other.
So you would fuse both strings and the main advantage is that the whole battery pack is disconnected in case of a fault, rather then disconnecting one string.
Which would mean you / the BMS has to deal with when to reconnect it to the other string (including power surges)

I think either way, it is about fusing them properly so a power surge does not overcharge the other battery. So fuse size should lower or as low as the battery specified max charge amps, and still be as high as 50% of the peak output of what is demanded in the application. That could work for many applications where peak output demand is not that high.
 

·
Registered
Joined
·
83 Posts
I run stuff in parallel all the time. The critical detail is that the chemistries are the same.
This battery pack is one I built from 21700 cells. There is a single BMS managing 2 identical packs that are 100% in parallel. The 2 sets of balance wires connect in parallel. The power wires connect in parallel.



It is made of 2 identical layers.



Here's the balance connections for both layers. Each layer is 20S5P. That in itself is 5 cells welded in parallel. The dual sets of balance connections puts 10 cells fully in parallel. I bring out the balance wires to JST connectors, but this can simply be wired together internally too. This is a very common practice.



The yellow colored pack is a commercially made pack that I took apart. My friend needed more capacity and the BMS on it was dumb. I implemented a smart BMS to manage both packs fully in parallel. I made from scratch the black pack. For the commercially made pack, I needed to bring out the balance wires to 11 pin JST connectors. It is 20S10P Samsung 2500mah cells. My new pack is 20S9P of Panasonic 3400mah cells. This is perfectly acceptable and works very well. They have been running fully in parallel for over a year now.



Here's some build picks of the new pack. He had a triangular shaped space in front of the old pack. This was the best way to fill it with cells. I had to make 3 sub-packs and then bring out their power and balance wires for later connection in parallel. Each sub-pack is 20S3P






 

·
Registered
Joined
·
83 Posts
In this thread, I am building a scooter. It peaks at 500 battery amps as of last tests at 82v or 41kw. It has 3 internal spaces that were large enough to hold a battery pack and none were large enough by themselves for a pack of sufficient capacity or discharge rates for my requirements. One pack is LIPO and the other 2 are LION. The 3 packs each have their own BMS. At the power distribution block they are 100% in parallel. They are each made of sub-packs in parallel.


This is all very doable and works well. This scooter originally has LTO, LIPO and LIFE packs each on their own smart BMS, but all in parallel at the power distribution block. This combination was less optimal, but still very workable.
 

·
Registered
Joined
·
28 Posts
Discussion Starter · #5 ·
I run stuff in parallel all the time. The critical detail is that the chemistries are the same.
This battery pack is one I built from 21700 cells. There is a single BMS managing 2 identical packs that are 100% in parallel. The 2 sets of balance wires connect in parallel. The power wires connect in parallel.
Ok, thanks for the detailed reply. Yes my starting point will always be the same batteries from the same batch even. I wouldn't like to start otherwise.
So what size/thickness are the balance wires?
I would be afraid that currents would go through these balance wires if one of the cells is going bad (for example be quickly drained under load, while the other isn't, hence current flow)
Putting on a fuse on the balance wires between batteries (like somebody suggested here in another thread) would protect the wiring, but after the fuse has blown, you have a dangerous situation in which the other cell is not measured anymore, and could get over or under spec. With all consequences.

Having a BMS on each string would prevent all of that but create new issues, such as when to reconnect, trying to avoiding power surges.

I still prefer monitoring all cells individually. That way, it feels okay to hook up the parallel strings together at + and - terminals, with a fuse. If a fuse at the + or - side of a string blows, it needs action (physical repair) but it is very unlikely to happen. And it is safe.
So in case of a seperate BMS, dilithium can do this, but it is quite a bit more expensive. Orion BMS has a paper about this, but not sure if they support it.
Other option is to use Aliexpress BMSs and their CAN/Modbus interface, so the BMSs don't intervene, but the Arduino and some code you connect to it do. But as said, that is quite some effort.
 

·
Registered
Joined
·
83 Posts
Ok, thanks for the detailed reply. Yes my starting point will always be the same batteries from the same batch even. I wouldn't like to start otherwise.
So what size/thickness are the balance wires?
I would be afraid that currents would go through these balance wires if one of the cells is going bad (for example be quickly drained under load, while the other isn't, hence current flow)
Putting on a fuse on the balance wires between batteries (like somebody suggested here in another thread) would protect the wiring, but after the fuse has blown, you have a dangerous situation in which the other cell is not measured anymore, and could get over or under spec. With all consequences.

Having a BMS on each string would prevent all of that but create new issues, such as when to reconnect, trying to avoiding power surges.

I still prefer monitoring all cells individually. That way, it feels okay to hook up the parallel strings together at + and - terminals, with a fuse. If a fuse at the + or - side of a string blows, it needs action (physical repair) but it is very unlikely to happen. And it is safe.
So in case of a seperate BMS, dilithium can do this, but it is quite a bit more expensive. Orion BMS has a paper about this, but not sure if they support it.
Other option is to use Aliexpress BMSs and their CAN/Modbus interface, so the BMSs don't intervene, but the Arduino and some code you connect to it do. But as said, that is quite some effort.
Balance wire AWG is more about your BMS's ability to balance. A BMS capable of 50mA balance current doesn't need 16 AWG wire when 28 will do fine. So the answer to this question is highly dependent on the BMS balance current. Same is true for balance connectors. In the above examples I use JST 2.5mm connectors. They can candle about 2.5 amps per pin without even the slightest amount of heat. I've pushed them to 5 amps and that is doable, but they get warm. So for the above packs, 2.5 amps balance current is a safe upper limit for this connector. My BMS's can balance at 100mA so I'm never going to exceed the connector limits or that of the 26 AWG balance wires. I'd make sure that your wires and connectors are capable of 50% more current than the BMS balance current limit and you should be good to go.

Same cells and all testing to the same capacity is a good place to start from, but not critical. It does produce the best results, but like I showed above, an older LION pack 100% in parallel with a brand new one is viable. They can't discharge differently from each other since they are 100% down to the cell level in parallel. With the chemistries requiring the same start and end voltages, the one BMS can manage both packs despite the age differences. There is no way that they can get out of sync with each other. Tested capacities for both packs is also almost identical so that helps too. IF this was LIPO and LION, despite both running in the same voltage ranges, I would not connect them in parallel on the same BMS. There's simply too many variances in the chemistries that will "fight" each other.

Lots of us are on a budget. Today, I can afford to spend $2400 on a battery solution. This gets me 10 miles range, but it's enough to get the EV on the road. However in 6 months I can afford another $2400 for more batteries. So I add them to the first batch and double my range. In this way, incremental increases in pack size doesn't break the bank. I can add battery capacity as I can afford it. My scooter saw this. I had some A123 LIFE cells. Not very good capacity, but better than nothing. I had some LIPOs that were used but still pretty good. I had some new LTO cells. LTO is pretty poor for capacity! They each got a separate BMS for chemistry reasons and I ran from 3 very different packs for a while. Later I was able to buy a bunch of 21700's so I built a pack from them. This eliminated the LTO pack. If I came across a bunch of new LIPO packs, I would not be afraid to replace the worst of the ones there now with the much better ones and still have some used and some new LIPO packs in parallel. This is all quite manageable and allows me to incrementally increase my total capacity as I can afford it.

Monitoring single cells is possibly worth while if they are large capacity cells. If I had a 64Ah 24S1P pack of 64Ah LION cells, I might monitor them individually. If I was using 3400mah 18650's, I'd weld 18 or 19 cells all in parallel and monitor them as a single whole. I recently built a 21700 pack with 10 4800mah cells in parallel. Tesla does this. Most anyone making a bigger pack from many smaller cells does this. If you look at the Nissan Leaf packs, they are not a single cell, but rather 2 or 4 cells in parallel and they are large capacity cells.

About a year ago I built a LIFE pack for a freind. It is 4S4P from 64Ah LIFE cells for his solar power unit. They are all on a single BMS despite the individual cell capacities being fairly high. We tested the cells individually in advance to determine capacities. The cells were paired together so each bank of 4 cells in parallel all came out to similar total capacities. Cell balancing has not been a problem and all 4 banks of cells discharge and charge very similarly.

CANBUS can be really useful. Most modern BMS's...even the aliexpress options from sources like ICGOGOGO, often times support or run from CANBUS. An arduino nano has enough CPU power to monitor quite a lot more than 3 or 4 BMS's to make sure they are all following set rules. Programming for arduino is pretty easy. Grade school kids figure it out. Quite a lot of LCD's talk CANBUS. I've seen a few implementations for an LCD and BMS's on CANBUS. A touch LCD adds some coding, but it can allow you to use the LCD as your control interface instead of just a dashboard displaying status. That's of course means more programming effort...

In the case of independent BMS's "doing their own thing", this is an issue, but a manageable one. In my scooter with 3 chemistries and each on an independent BMS, this was a problem I dealt with. The 3 packs had different capacities and different discharge rates. I spent some time tweaking BMS settings to account for this so they each discharged at more or less the same rates. This can be workable without the need for clever management on some other device or programming.
 

·
Registered
Joined
·
28 Posts
Discussion Starter · #7 ·
Balance wire AWG is more about your BMS's ability to balance. A BMS capable of 50mA balance current doesn't need 16 AWG wire when 28 will do fine. So the answer to this question is highly dependent on the BMS balance current.
Yes that is true when everything is working nicely. Thickness based on balancing current.
But, we are all taking safety measurements for the times when stuff is failing.
If you have a bad cell, it will completely sag under load.
Lets say the vehicle is accelerating from standstill up to a high speed which takes several seconds at least.
Under that load, a bad cell will collapse in voltage, which will recover a bit, but the state of charge of that cell will maybe drop by 50% where the state of charge of the good cell that is parallel to it, will only drop like 10% or something. (just examples).
During this high system load, and also after that, I think there will be very high currents over that balancing wire.
Now you could put a fuse on that wire, like somebody suggested here, but after that blows, that bad cell will just become invisible to the BMS. And it will go downhill from there.

Lots of us are on a budget. Today, I can afford to spend $2400 on a battery solution. This gets me 10 miles range, but it's enough to get the EV on the road. However in 6 months I can afford another $2400 for more batteries. So I add them to the first batch and double my range.
It all seems a bit expensive to me. I also built a scooter, based on a broken Chinese Vespa clone/ripoff. I spent 400 Euros on some cells from a Mitsubishi Outlander PHEV, and another 150 euro on the BMS. That gave me 40km of driving range, driving faster than 50km/h a lot of times.
And yes the Outlander PHEV aren't the most compact cells, but it fit nicely in original lead-acid battery location.

..monitor them individually... Tesla does this.
No, Tesla puts them all together, treats them as one big cell in terms of monitoring. But it has a fuse wire to each cell, if it burns the cell is no longer part of the circuit, no longer used. A very different, but also safe approach.

.
CANBUS can be really useful. Most modern BMS's...even the aliexpress options from sources like ICGOGOGO, often times support or run from CANBUS. An arduino nano has enough CPU power to monitor quite a lot more than 3 or 4 BMS's to make sure they are all following set rules. Programming for arduino is pretty easy. Grade school kids figure it out. Quite a lot of LCD's talk CANBUS. I've seen a few implementations for an LCD and BMS's on CANBUS. A touch LCD adds some coding, but it can allow you to use the LCD as your control interface instead of just a dashboard displaying status. That's of course means more programming effort...
Well I am an embedded software developer, that is not really the problem. The problem lies in sky high quotes to a customer, because instead of buying a BMS, I'm also writing a bunch of code that needs proper testing, which means lots of time to spend on it, leading to that high price.

In the case of independent BMS's "doing their own thing", this is an issue, but a manageable one. In my scooter with 3 chemistries and each on an independent BMS, this was a problem I dealt with. The 3 packs had different capacities and different discharge rates. I spent some time tweaking BMS settings to account for this so they each discharged at more or less the same rates. This can be workable without the need for clever management on some other device or programming.
You could tweak some settings to have it behave better. But the main problem lies in when you will reconnect a string. You can only reconnect the string if the voltage of the other operational string is very similar. Otherwise you have huge power surges. If this reconnecting of strings occurs often, I am pretty sure you're going to physically damage the batteries.
I think it is easier and safer to just have the strings connected at all times through a fuse at each string end, and just shutdown the whole battery by a BMS that is monitoring every cell. (such as the Dilithium BMS example)
 

·
Registered
Joined
·
6,040 Posts
No, Tesla puts them all together, treats them as one big cell in terms of monitoring. But it has a fuse wire to each cell, if it burns the cell is no longer part of the circuit, no longer used. A very different, but also safe approach.
I'm sure that's what rishimaze meant: Tesla "does this", which is to monitor at the level of a parallel group of cells. Indeed, it is not possible to monitor parallel cells separately without dozens of current measurement devices (shunts, whatever), since by definition parallel cells have the same voltage across them, so a bunch of voltage measurements would just be redundant.

Of course every EV manufacturer does the same thing; the only difference is that a large number of small cells in parallel are individually fused (by Tesla, the only major EV manufacturer using small cells), while a small number of large cells are fused only at the pack level. It is rare to parallel large (prismatic or pouch) cells in groups of more than three, but small (cylindrical) cells are paralleled in the dozens.
 

·
Registered
Joined
·
28 Posts
Discussion Starter · #9 ·
I'm sure that's what rishimaz meant: Tesla "does this", which is to monitor at the level of a parallel group of cells. Indeed, it is not possible to monitor parallel cells separately without dozens of current measurement devices (shunts, whatever), since by definition parallel cells have the same voltage across them, so a bunch of voltage measurements would just be redundant.
Yes, agree, but it is not about parallel cells. It is about parallel strings.
And if you put thin balance wires between these cells of the parallel strings, I still don't see them as parallel cells. And the same voltage will not be on these parallel cells unser heavy load. If one cell drops to 3v under heavy load (because it is bad) and the adjacent cell only drops to 3.7v or something, lots of amps will want to go through balance wire.
And the balance wire being so thin cannot keep the voltage at the same level of the cells. That 0.7v difference can happen at cell level, being scattered over the complete string.

Of course every EV manufacturer does the same thing; the only difference is that a large number of small cells in parallel are individually fused (by Tesla, the only major EV manufacturer using small cells), while a small number of large cells are fused only at the pack level. It is rare to parallel large (prismatic or pouch) cells in groups of more than three, but small (cylindrical) cells are paralleled in the dozens.
Yes I agree.
Not being a manufacturer and reusing EV cells, I find nice modules that only have balancing/sensing wires coming out of them per cell. Which limits my possibilities.
If it were just seperate cells like a Mitsubishi or Nissan, you could just parallel them.
Right now I have worked with the Ipace modules, which are 3s and closed.
 

·
Registered
Joined
·
6,040 Posts
Yes, agree, but it is not about parallel cells. It is about parallel strings.
Yes, and no EV manufacturer uses parallel strings. That includes Tesla - the discussion of what EV manufacturers do is all about batteries configured with parallel connections only at the lowest level, and that's what I was commenting on.

Well, there is an exception: GM's Ultium system in the Hummer EV configures the battery in two sections, which are operated in series (~720V nominal) for vehicle operation and for charging from 800 V DC chargers, but are reconfigured as two parallel or independent sections (~360 V nominal) to charge from the more common 400 V DC chargers. It would be interesting to see how they manage 400 volt charging, but since the BMS obviously must have separate monitoring for each section, I'm sure there is are no connections between the cells of one section and those of the other section; they presumably just charge the two sections as if they were in different vehicles and charging to the same target state of charge.

And if you put thin balance wires between these cells of the parallel strings, I still don't see them as parallel cells. And the same voltage will not be on these parallel cells unser heavy load. If one cell drops to 3v under heavy load (because it is bad) and the adjacent cell only drops to 3.7v or something, lots of amps will want to go through balance wire.
And the balance wire being so thin cannot keep the voltage at the same level of the cells. That 0.7v difference can happen at cell level, being scattered over the complete string.
Yes, that all makes sense, and I agree that this is why paralleling strings via BMS wiring is undesirable. They're in parallel, but with additional accidental resistors (the balance wires) in the network as well, and that's a bad thing. And the voltage difference between a cell in one string and the corresponding cell in the other string isn't just the result of the state of charge of those cells, and the voltage drops due to their (different) internal resistances and string currents, but the accumulated difference of those factors for all of the cells in the string up to that point.

Not being a manufacturer and reusing EV cells, I find nice modules that only have balancing/sensing wires coming out of them per cell. Which limits my possibilities.
If it were just seperate cells like a Mitsubishi or Nissan, you could just parallel them.
Right now I have worked with the Ipace modules, which are 3s and closed.
Yes, that's a really nice feature (for reconfiguration purposes) of the traditional Leaf modules (with their big balancing tap terminals) and the Mitsubishi Outlander PHEV modules (with the individual prismatic cells with accessible bolted terminals).
 

·
Registered
Joined
·
83 Posts
I'm not sure why this was confusing.
5 or 11 or 50 21700 cells all in parallel will not be in parallel by the balance wires. They will be in parallel by some sort of large current conducting path such as nickel or copper strips on them. The balance wire never carries more than maybe 1 or 2 amps...aka...whatever the balancing capability of the BMS might be. This doesn't matter if it is large pouch cells in parallel or a bunch of 18650's. The balance wires never see very much current.

I guess in my set up, since I have packs in parallel at every level, that it is possible for current across a balance wire to be higher due to a sagging cell. I don't think this will happen as the best current path is still the main current path and current always follows the path of least resistance. I'll give this scenario across fully parallel packs a maybe. It's possible I suppose, but unlikely.

This IS NOT the best way to build a pack from smaller cells. It's best to have large current paths across all the cells in parallel and the balance wires only making one path back to the BMS. Having said that, what I do has yet to be a problem...even in situations where cells did fail.

I have lost count, but I have built at least 30 packs this way and never seen balance wire issues. I've built probably 9 LIPO based packs. 2 of those packs were made from 10ah 4S Multistar LIPO packs. They developed single cell failures. In both cases there were multistar packs in parallel with other multistar packs via their balance cables. The balance wires across the multistar packs never got warm or showed evidence of more than balance current. These EV's were drawing 60 amps and 75 amps at 82v and 66v. This should be more than enough to melt those small wires and JST connectors! It never happened. What did happen is the banks with the weak cells in them did run down faster and gave away the fact that there was a cell issue. No issues at all with the balance wires. Burning out a balance wire in this fashion...I'll give it a maybe this could happen, but I've never seen it.

KEY DETAIL:
The main reason why balance wires do not burn up is that it is impossible. The total resistance up one balance wire, to the JST connectors in parallel and back down the other balance wire is too great. You have 4 balance wires in total to complete the current path across cells. I'll assume worst case scenario of 4.1v and 5 amps which is just barely under melting the connectors! Total wire and connector resistance is something like .8 ohms in this scenario. The total wire and connector resistance is actually higher. I just now measured one of those wires from connector to connector and it is .5 ohms for a total of 2 ohms across all 4 wires. That means at most 2.1 amps and no melting wires or connectors.

My early and uglier versions of paralleling across the balance connectors:
If balance wire burn up was going to happen these should have been a wild fire!

Here's a really messy parallel setup made from 18650 battery holders. They are each 20S2P and there are 6 of them in parallel. I ran the EV on scrounged laptop cells for 5 years on this set up. The EV saw about 6000 miles of use on these packs exactly like seen here. 60-65 amps was common across them. Since they were scrounged cells from laptop batteries, sometimes they died and I had to pop out the bad ones and replace them. Cell capacities were far from all the same! I used the best of what I had scrounged and that was as good as it got. The balance wires are 26 awg and terminate in JST connectors. It is a mess of wires and connectors in there! I do NOT recommend doing this! People told me how this would never work, be super crappy and failure prone. I don't know...5 years and 6000 miles later and no fire, melted battery holders, burnt wires or anything other than single cell failures...I think that's proof enough that it is doable!





This is a multi-parallel set of 8000mah LIPO packs in 20S. I found an abundance of LIPO cells intended for GPS units for stupid cheap. I was told they were rated for 3C, but there was no evidence this was the case. Anyway...NOT very good for EV use. 3 in parallel got me a supposed maximum of 70ish amps. These cells were really poor quality and super saggy. Some were so bad that brand new they were less than 75% capacity...really really CRAPPY cells! I did the best I could with the best of them. These battery packs are 20S1P each and 3 of them fully in parallel via their balance cables. Despite the uber crappy cells, there was never a hint of balance wire or connector issues! I got about a year of use out of the cells before they were shot. They were never going to be very good!



I mentioned 2 multistar pack issues above. Same set up...fully in parallel via their balance cables. One cell went dead flat from full charge over a couple of days time. It must have developed a serious internal short for that to happen. In the process it pulled down the cell in parallel with it to 0v. The balance wires were undamaged and that was the likely current path between the cells. The plastic of the JST connectors was not melted.

 

·
Registered
Joined
·
83 Posts
Sorry for monopolizing your thread, I guess I got carried away. Anyway, I think the point is made...this isn't a problem.
 

·
Registered
Joined
·
28 Posts
Discussion Starter · #13 ·
Sorry for monopolizing your thread, I guess I got carried away. Anyway, I think the point is made...this isn't a problem.
Thanks.
While I am not 100% convinced yet, at least it shows a lot of real world results, which is always nice. I guess I need to calculate the resistance of the balance wires that are on the modules and see what a voltage sag on one cell would do in amps.
 

·
Registered
Joined
·
83 Posts
This will help. I typically use 26awg wire for balancing wires. This chart says 40.81 milliohms per foot. The JST connectors on each end add resistance too. I have about 18" up one balance wire, to the JST connector and down to the parallel bank of cells. On the other pole of those same parallel banks of cells would be another 18" of wire length or 36" total. So that's 122.43 mOhms based on the below chart and my wire lengths.

My measurement was with a 4 digit DMM. With low resistances like this, a milliohm meter would produce better results. I have one...this would be a good test. Also, these lengths are not really the total length either. I was measuring the resistance of the balance wires from the connectors to where they join together at another JST connector. There is the section of wire that comes off the cell bank and terminates in a female JST connector that I have not accounted for. I use the typical methods you find on LIPO packs to bring out all the cell junctions. I use the same crimp pins too. Depending on the pack, this length of wire may be 4-12" long. I am not accounting for these lengths of wire off the cells, just the section that connects to them and back to where the parallel bank connects together. This will add to the total resistance.



I'll assume 4.1v sagging to 3.0v or 1.1v sag. Those really crappy GPS LIPO cells, I have seen them sag that badly. So that's a real world example. 1.1v/.12243ohms=8.98mps. This accounts for nothing other than the calculated wire resistance and that would make a 26 awg wire seriously hot!

 
1 - 14 of 14 Posts
Top