To stat this off you should ensure that you have a minimum shipping column in the cart to hold the value from the db.
Next you can break down the logic into different rules. The first one will be very simple, you will have the the trigger set to 'if total items' = 1, then for the calculation you would have based on a column subtotal and specify the min shipping column.
The next rule will be a little more involved. The triggers will be if total items > 1, AND subtotal of total weight < 500 AND subtotal of min shipping >= 5. The calculation will be flat rate value of 5.
For the greater than 500g the triggers will be if total items > 1, AND subtotal of total weight >= 500 AND subtotal of min shipping >= 10. The calculation will be flat rate value of 10.
To account for when you would use the combined minimum shipping you would repeat these last two shipping rules, but you would check for min shipping < 5 and < 10. For these you would use the subtotal of the min shipping column for the calculation.
This is a guideline for how you could craft these shipping charge rules within eCart. If you have any questions about any part of this let us know.