Wednesday, April 26, 2017

Cupcakes!

I hear that today is Administrative Professionals Day. I found this out when I passed by this box of cupcakes at the university. I still rely heavily on their skill and knowledge for the stuff I still do for the university. Budgets, purchasing, human resources, contract management and travel are just some of the areas where their expertise is relied on.

The day (Wednesday) started out not at the university but swapping out Ural tires with JedR. He had switched to studded K37 tires back in November so this was just the switch back to "summer tires" (also K37). The first one always takes a long time but I think the pusher proved to be the most difficult as it was a brand new tire. Very stiff. The Baja No-Pinch tool worked like a charm. I don't even want to do a motorcycle tire installation without that wonderful tool.

I thought it was warm enough to remove the handlebar muffs but it was below freezing again this morning (Thursday). Heated grips are nice to have. 

Saturday, April 22, 2017

Misc Updates

Well, I spoke too soon. The heated liner and gloves have been put to use again. It was only 16°F on Monday morning though it did eventually warm up to just above freezing. Today's (Wednesday) challenge in addition to the cold was strong, gusty NE winds so if I was riding in any direction where the wind was from the sidecar side of the rig, I needed to shift my weight to the right. The sidecar was definitely wanting to fly today. You can definitely feel when the sidecar wheel unloads. The NWS was saying 19 mph winds with gusts to 45 mph. In the picture, the dirty snow behind the rig is actually a huge pile as there is a pretty steep drop off.

Before disconnecting the battery bank, I had one more minor piece that I needed to install and test. A small DC-DC convertor (circled in red) so I could run the Raspberry Pi directly off of the battery bank instead of through the inverter. There will be a small parasitic draw from the Trimetric monitor and the Raspberry Pi even as they are connected before the main cutoff switches. It looks like the parasitic draw is around 100ma. This would eventually drain the battery bank to 50% in ~3 months but the plan is to remove the batteries during the winter. The small white labels next to the breakers are to remind me to disconnect the solar panels before turning off the charge controller. And to turn the controller on before connecting the panels. I'm using the 50amp circuit breakers as DC switches. In the picture they are both "tripped" or "off".

I also had to disassemble the serial cable, grind down the DB9 connector and reassemble the cable with the flat cable coming out the other side so it didn't interfere with the charge controller cover. After re-assembly, I took the opportunity to not only test the cable but also the Dell netbook with a fresh install of Windows 7. It connected and recognized the MorningStar Tristar using their proprietary MSview software. The software allows a lot of control over the individual charge parameters. Right now I'm just using the defaults for flooded, lead acid, deep cycle. After testing, I realized that I should've taken the opportunity to shorten the cable. It came 6' long but I only need it to be 6".

Friday Evening - The system is now partially disassembled and starting to get boxed up. The battery bank is sitting in the truck now and time to start getting everything else sorted out and packed. I'm trying to figure out all of the tools I need to get everything installed. Everytime I go out to the garage I think of something else. Now that the pallet is empty, I can use the space to start sorting things into boxes. 

Wednesday, April 19, 2017

Sam Manicom

A couple of evenings ago, I was listening to one of my favorite podcasts,  Adventure Rider Radio RAW, and the hosts are given the opportunity to plug some product or event at the end of the show. Sam Manicom mentioned that he was going to be speaking at BMW Motorcycles of Western Oregon on Friday, May 19th. I've listened to three of his books and thoroughly enjoyed them all. The audiobooks are made even better with him as the reader. Since I am planning to be in Oregon on that date, I jumped onto the website and nabbed a ticket to the event ($15). The website for the event is off of the sam-manicom.com site. I think I was originally attracted to the books due to his bike. A BMW R80GS Airhead. 

Monday, April 17, 2017

Blah, Blah, Blah

I started the manual battery equalization on Saturday morning since it looked like we would be getting another fabulously, sunny day. The panel received enough sun, i.e. enough that the array voltage was higher than the target voltage for equalization (15.68volts @ 53°F). From the graph it looks like it took about 3½ hours to complete. You can tell by by looking at the battery voltage as it transitions from "BulkCharge" to "Equalization" and back to "Absorption". At Absorption, only enough current is sent to the battery to maintain the configured absorption voltage. In this case, 14.8volts@75°F which in this case translates to 15.15volts@55°F.

On Monday, I'll check the water level in all of the battery cells and start to disassemble the system. To say that I'm thrilled with the overall system would be an understatement. On the status pages, I colored the cell background to easily see the control state of the TriStar charge controller. This is the abbreviated page for display on the RPi. Green for Absorption or Float, yellow for Equalization, orange for BulkCharge, blue for Night and red for anything else such as errors.

At this point, the Trimetric monitor is indicating that I am 17.5amp-hours ahead of the fully charged state as a result of the equalization.

From this casual testing, it looks like I am getting about 40-50 amp hours from a 130 watt panel on a good day. This suggests that I might get around 150 amp-hours per day from the four 100 watt panels. The lower amp-hour days on the graph are when I wasn't really putting much of a load on the battery bank and it would reach absorption and/or float early in the day. This graph is made from storing a single data point (cumulative amp-hours produced) every day at 11:59pm. The numbers on the graph don't exactly match up and I am still trying to figure out why.

I was asked to make a line drawing of the solar setup. The line size indicates the size of the wire. Red is +12volts and black is ground. The curved lines are the small 22 awg for the shunt and sense wires for the Trimetric and the serial communications cable to the Raspberry Pi. What is not shown is the remote battery temperature sensor and the battery sense wires for the charge controller.

Saturday, April 15, 2017

Does Not Get Much Better Than This!

Another beautiful, sunny day in a week of nice days. Except for a slick spot this morning where melt water was running across the road on top of ice, the riding has been fabulous. No heated anything needed anymore and back to my regular gloves. No real destinations, just a lot of running back and forth around town. This morning while at College Coffeehouse, DavidR, an avid rider (understatement here!) said that he needed to put together an intervention when he found out that I was not planning on riding at all during our upcoming road trip.

Even the slab of ice in the middle of the driveway is starting to disappear. With all of the sun what better time to try and see what I can do with the battery bank. I prepared all of our meals on Thursday using just solar power. It took yesterday and today until 4:30 to fully recharge. And this was from a single 130 watt panel. Sometime this weekend, I'll start run a manual equalization cycle then partially disassemble the system for transport. Only three more weeks before I start my road trip!

Wednesday, April 12, 2017

Pressure Cooked Eggs

An odd title. But, first I'm still messing around with a status display. Nothing really fancy but at least I don't need to scroll the screen to see the info. The resolution of the 4" screen is only 320x480 and you need to use a stylus to get to the scroll bars of the screen. I have a few ideas how to make an enclosure for the RPi (Raspberry Pi) but need to allow for good ventilation as the screen drives the microprocessor hard enough to generate some heat. And I still want to add some virtual buttons to bring up the graphs. BTW, even if you include the screen, the cost of the whole "computer" is around $70.

The eight year old Dell netbook that the RPi is sitting on now has Windows 7 installed as well as the driver for the USB serial interface and the Morningstar charge controller software. This is just in case I wanted to make some changes to the configuration. I also installed the USB driver from Mads Electronics in case I need to change the firmware on the truck engines computer. The most significant parameter for me of the aftermarket firmware is the tire diameter within the ABS section. This allows me to get the speedometer (and odometer) to match the GPS by adjusting the diameter in 0.05" increments. I now have it within a couple of tenths of a mile on a 100 mile trip. The device is a "tuner" and I have it set for "towing" with a modest 70 hp boost. I originally set up the Dell as a hackintosh running OS X and at 2.3 lbs was my lightweight, travel computer. It's been on a lot of trips due to its rugged design. 

Since the forecast for today was mostly sunny, I ran the battery bank down a bit so the charge controller would stay at a control state of "BulkCharge" to see how much power I can get from the single panel. This is the power produced so far today. The dip around noon is a large spruce tree blocking the sun. Yesterday, the system was in absorption for most of the day as the batteries were charged.

To run the battery bank down, I steam cooked a half dozen eggs in an electric pressure cooker (14.2ah) and made some frozen pot stickers for lunch on the induction burner (15.5ah). Between the two tasks I drew about 30 amp-hours from the battery bank. Plus, I had the inverter and Ubiquity radio running for most of the day (22ah/day). 

BTW, for anyone wanting to hard boil eggs, the pressure cooker is the way to go. High pressure for 5 minutes. The shell practically fell off and perfectly cooked. I'll have to remember this technique. 

Sunday, April 9, 2017

A Slow Sunday

More boring stuff here. I had a really hard time finding a flat, serial communications cable. That's the gray cable with the red trace near the center of the picture. The flat cable is needed so I could reinstall the cover on the Tristar charge controller. Back in the "olden days" when every computer had a telephone modem, serial cables were available everywhere. Even at Fred Meyer. Not so anymore.

Another potential project is making an enclosure for the micro-computer pictured on the right. It is another Raspberry Pi 3 model B with a 4" LCD touch screen. It is also running Raspian, a Linux variant, with the display drivers from Waveshare. I had picked the screen a couple of years ago but couldn't get it to work with the version of hardware I had. I found it again and decided to take another shot at getting it to work. Even the touch screen works though it needs a stylus to be useable.

I'm thinking of making a simple information page with just the basics. Maybe battery/array voltage, watts being produced and battery temperature which should match outside temperature most of the time. Maybe some color to represent the control state i.e. bulk, absorption, float or night. And possibly some buttons to bring up individual graphs. Then mounting this somewhere in the living area. Not sure yet.

Today was the first really sunny day that we had in quite a while. You can tell from the flat line on the power production graph for today. The drop at around 2:30pm was not from clouds but the batteries reached their absorption voltage and only enough current was sent by the charge controller to maintain that voltage. It stayed in that control state until the sun started to disappear behind some trees at 5:24pm. I even boiled a pot of water this morning to consume some power. 1.75 liters used 16 amp-hours and drew 122 amps from the battery through the inverter. That's more than anything I've tried so far.

I also created another RRD that only gets updated once per day at 11:59pm. I'm storing the amp-hour produced to date from the charge controller. From that, I can graph daily production. It's a boring graph right now as it has only one data point. 

Friday, April 7, 2017

Spring?

Last Saturday I helped some friends with a wedding reception which, for me, generally translates to helping with food. One of the family members had made and froze quite a few perogies and I offered to cook them for the reception. I cooked them outside since the last thing anyone wanted was dealing with hot oil in a crowded kitchen. It turned out to be a great day to be outside even if it was with a propane burner and a frying pan. This is the view of Ester Dome from their front yard where I was set up.

On Wednesday, I hired Brian, one of the guys from College Coffeehouse, with his skid steer loader to clear some of the packed snow and ice from the driveway. The snow and softer ice was readily dealt with but not the thick layer of ice in the middle of the driveway.

And today, Friday, there was a lot of moaning and groaning around town when a few more inches of the pretty white stuff returned. But it won't hang around very long. It's supposed to be sunny and warm again this weekend. Somehow everyone forgets that we can get snow all the way through May.

Just to bring a little moto content back to the blog, I have been riding almost every day. Until today. After some of the warm afternoons, I was thinking that it may be time to switch to heavier engine oil. 

Tuesday, April 4, 2017

Even Geekier

If you thought the last post was rather geeky, this one may be through the roof. I guess this must also mean that I was really bored today. I had been using RRD (Round Robin Database) written by Tobias Oetiker for a couple of decades for network monitoring using his freely available MRTG (Multi Router Traffic Grapher) package. The RRD seemed like a natural fit for storing and graphing the output from the charge controller but I didn't know how to do it. I've only used the RRD with his application. This is my first attempt to use it for non-network data. It didn't take too long and I'd put it into the "fun" category.

I'm reading data from the charge controller every 30 seconds and every five minutes I write out the values into the RRD. 288 records of the five minute data are stored which should be one day. Every hour, the five minute data is averaged and stored and 168 records are stored which should be one week's worth. 365 daily averages are stored. Since only the summarized data is stored, the database never gets that large. After I get a couple of weeks worth of data I might add an yearly graph.

The table on the page shows the most current data and is updated every minute. "Array Voltage" is what the charge controller is seeing from the solar panels. The "Reference Voltage" is the target battery voltage for the charge controller. At this point that is the temperature compensated absorption voltage. "PWM Duty Cycle" is a measure of how much of the current is actually being used to maintain the battery at the absorption voltage. I still need to add some credits to the bottom of the web page.

Where the array and the battery voltage lines diverge in the graph on the upper left around 1:30pm is where the charge controller switched from bulk to absorption charging. At 3:55pm, I started the rice cooker running on the inverter so it switched back to bulk charge. The power is just the current and the battery voltage multiplied together. So it's sort of the same info. I'm not sure which one I'll keep. 

Raspberry Pi 3 model B
Image is from the Adafruit site
The plan is for the Raspberry Pi to be running continuously straight off of the battery using a DC-DC converter. At least for awhile, I want to log the data.  Even with all of these processes running, the CPU utilization on the Pi is under 3%. I wonder what else I can use it for....

Sunday, April 2, 2017

TriStar Monitor

How I spent my Sunday afternoon.  

It may not look very fancy but the next step in my solar monitoring is working. I have a Raspberry Pi  (that's the small black box in the center of the picture) connected to the Tristar TS-45 charge controller with the same USB to serial cable that I was using with the Lenovo laptop. I'm using a  heavily modified Python script that I found on the Internet to query the TS-45 every 30 seconds and writing the results out a temporary file with a some possibly useful variables. Plus, I'm appending the data to a CSV log file every 5 minutes.

I have another program that runs every minute which creates this simple html file on the Apache web server also running on the Raspberry Pi. Simply showing the current status with the battery sense voltage, array voltage, charging current, control state, PWM duty cycle, battery temperature and the computed power output. I was originally thinking of using an RRD and auto-generating graphs but decided that I can alway create graphs using the CSV log files anytime I want one. Maybe if I find myself really bored...

If you are unfamiliar with the Raspberry Pi3 model B, it runs on 5VDC drawing approximately 2 watts using a micro USB cable. It has a quad core 1.2 GHz processor, 1 GB RAM, built in 10/100 Ethernet, WiFi, Bluetooth 4.0, HDMI output, camera connector and 4 USB ports. This is in addition to the GPIO pins (digital i/o). Storage is a 32GB micro-SD card of which I'm using 3.7 GB. Basically a full blown computer that you can pick up for around $39. After you add a case, power supply, micro-SD card, etc. it'll be around $70. The one thing missing on the Pi is a real time clock. It really needs access to the Internet when it's booted up to set the date and time. Fortunately, I don't see it needing to be rebooted very often.

Now I simply need to get a small serial cable extension as there isn't enough room to install the TS-45 cover with the existing cable. And install a 12V to 5v micro USB to power the Raspberry Pi. Bridget didn't seem to understand why I was so thrilled to get this working. This was also my first foray into Python.