To accurately determine solar panel sizing you would need to do a comprehensive heat loss calculation for your building as well as take into account available sun at your location. Also, how warm do you want your shop, and do you want to hold it at a specific temperature, or is it OK if is cools off some during a string of cloudy days?
In Wisconsin, most of the active solar-heated
houses I have seen have 200 to 400 square feet of flat plate collectors (eight 4'x8' panels would be a typical installation). The output of the collectors is pumped to an insulated storage tank anywhere between 150 and 500 gallons--depends how many cloudy days in a row you want the system to handle. These systems typically provide from 45% to 75% of the heating load of a super-insulated house as well as heating the domestic hot water. Backup heat is usually provided by a gas-fired boiler or tankless water heater that operates on demand only when the water in the storage tank isn't hot enough.
For a shop/garage I would consider a much simpler system: pump the output from the solar panels directly to the in-floor tubing. This eliminates the need for a storage tank, keeps the system simple, and allows higher efficiencies because you can harvest solar energy at lower temperatures. It takes a good sunny day to produce 140F water when it is 10F outside, but you can get 90F water back from the collectors even on a partly cloudy winter day. By using the slab itself as thermal storage (rather than a tank of water), you can put the heat directly where it will be used as well as take advantage of low-temperature heat.
You would probably still want some type of backup heat, both to take the chill off in the morning and to make up for lack of solar after several consecutive cloudy days. But by keeping this a separate system (perhaps some type of electric or gas-fired radiant heat suspended from the ceiling), you avoid complexity in the solar system, take advantage of the most available solar energy, and also have the ability to quickly warm up the shop (using the backup system) when you are going to work in there.
You should also insulate under the entire slab, not just the perimeter, or you will be loosing heat to the cooler ground (heat always moves from warmer to cooler.) If you want a larger heat sink than the slab itself can provide, create a sand bed under the floor. Dig down 6" to 24", lay your vapor barrier and insulation, and fill with sand. You can then start operating the solar system in late summer/early fall to pre-charge the sand bed with heat before the cold weather hits. These systems have proven effective, but you do give up some control as it can take weeks to significantly change the temperature of the sand bed (and thus your floor.)
The trouble with using an electric water heater for thermal storage is that it is not big enough to store enough BTUs--even if you have the tank up to 150F at the end of a sunny afternoon, you will use up that heat within the first couple evening hours. The other gotcha is when to operate the electric element. You don't want the element coming on in the morning and heating the water in the tank before the sun has a chance to do it! This could perhaps be handled with a timer and manual "cloudy day" override switch to switch on the electric element.
(Note that a single-tank solution using a hot water heater works fine for solar heated domestic hot water--the best practice is to use a large tank (at least 85 gallons) with only the top element connected. The electric element then heats the top 30 gallons or so, and the sun heats the bottom of the tank when it can--if there is enough solar heat the electric element isn't needed at all. However, space heating requires a lot more BTUs than just heating water for showers, dishwasher, etc., so 150 gallons is the
minimum tank size for a storage system.)
www.builditsolar.com has some interesting projects, including home-built collectors (using copper or PEX) for a fraction of the cost of manufactured panels. Make sure to check out the "solar shed" project!