Projects Research & Design Hub

Golf Cart Solar Charger Project

Using ADI’s LT8491 Controller IC

Learn how these Camosun College students built a supplementary battery charger for a golf cart, using a solar panel, solar charge controller and a dash-mounted display for collected data. The article focuses on how they used ADI’s LT8491 buck-boost charge controller chip to implement the solar charge controller.

  • How to build a battery charger for a golf cart, using a solar panel, solar charge controller and a dash-mounted display for collected data. 

  • How to select your solar panel

  • How to develop the schematic

  • How to choose your circuit components

  • How to design the PCB

  • LT8491 buck-boost charge controller chip from Analog Devices

  • PCBWay PCB assembly services

  • LT8705 from ADI

  • Switching MOSFETs

  • Altium Designer from Altium

In the beginning, we had a golf cart and all kinds of ideas to trick out that ride. The golf cart was supplied by our sponsor, who uses it in the summer to travel within their private campground and down the hill to the beach. The most frequent problem they faced was an unexpected dead battery, which always seemed to occur after a long day down at the ocean. We decided to solve this problem by providing the ability to solar charge the golf cart. This way, they could enjoy their time at the beach knowing they had a reliable ride back. It could also reduce their need for plug-in charging, and save a little on their electricity bill. To trick this ride even more, we added a USB charging port and a 6cm × 4.5cm LCD display to show the user all the battery and solar information.

We started with clear requirements. We had a 130W solar panel rated for 17.6V and 7.4A, and a 48V golf cart battery bank to charge. Furthermore, we wanted to perform maximum power point tracking (MPPT) for more efficient charging, all while collecting solar and battery data.

The first step was to design a DC-DC boost converter to get the required 48V from our solar panel. Designing the boost and current sense circuits was straightforward, and MPPT algorithm code can be found online. But we quickly realized that incorporating all the functionality we desired was going to be an onerous task. While trying to find off-the-shelf modules to implement and save ourselves a headache, we found it—the Holy Grail—the LT8491 integrated circuit from Analog Devices Inc. (ADI).

The LT8491 performs buck-boost voltage regulation for an input range of 6V to 80V and an output range of 1.3V to 80V. It can operate from a DC source or solar panel, and can charge lead-acid, lithium-ion, flooded and gel battery topologies. There is on-chip logic for automatic MPPT that uses a proprietary perturb-and-observe algorithm, so no code writing is needed to perform this task. It is also possible to connect a negative temperature coefficient (NTC) 10kΩ thermistor to monitor battery temperature. The temperature sense settings can be configured for specific upper and lower temperature thresholds, to disable charging to protect the batteries. The LT8491 also contains an internal EEPROM for storing configuration data, and a slave I2C serial interface that allows you to extract the measured telemetry data, create custom charge profiles and get specific status or fault information.

If you are like us, and decide this all-in-one solution is the answer to your problems, be forewarned that the package type is a 7mm × 11mm Quad-Flat No-Lead (QFN). This means that the chip’s “pins” are tiny pads on the bottom, which can be very tricky to solder by hand without a reflow oven. To avoid the hassle of soldering the LT8491 by hand, we ultimately decided to have our board assembled by PCBWay. We will elaborate on this later. As you begin to delve further into the intricacies of this wonderful chip, you may realize that the complexity and available functionality of the LT8491 is bewildering. But do not be deterred. Our guidance and the available reference documents from ADI will see you through to the end. ADI’s simplified schematic for a solar application is shown in Figure 1.

FIGURE 1 – A simplified schematic for a solar battery charging system. Four MOSFETs and a single inductor configuration makes designing easy.

Since our application was based on a solar panel supply, and most people will likely use the LT8491 in a similar manner, we will focus our discussion on solar and only mention DC sources where applicable. First, you need to determine what battery size and configuration you plan to charge. One 12V? Six 8V in series? Fill your boots (not literally!), but just make sure to stay under 80V.

Next, you need to consider your solar panel options. If you do not have a panel already, consider trying to find one with a maximum voltage rating close to your battery voltage. That’s because the more you boost or buck the input, the more design considerations there are for minimizing losses and input/output voltage ripples. When choosing a panel voltage, the power rating plays a major role, since it determines how much current will be available for charging.

In our case, the 130W panel supplied a 48V battery bank. This meant that with maximum power transferred and maximum solar illumination, 130W/48V left us with 2.7A for charging. With the large golf cart batteries we had, it would take a long time to fully charge at 2.7A, but this was just a proof of concept, and the solar charging was supplementary.


Now that you have decided what you plan to charge and what your source is, you can head to page 61 of the LT8491 datasheet [1] and begin component calculations. Take your time here, because multiple iterations of your calculations may be necessary to ensure correct functionality. Because our full schematic is so large and complex, we’ve broken it into three portions in this article. You can download the full schematic from Circuit Cellar’s article and files download page.

Input voltage sense network: These will be your first calculations to perform, and will set the maximum input voltage. Here you will use the open circuit voltage rating of your solar panel(s) as the Vin maximum value in the datasheet component calculations. It is important to not use a panel that is considerably smaller than what you design for; this could lead to accuracy issues with the MPPT, and prevent the charger from providing full charging current.

Input current sense network: As with the Input Voltage Sense Network, you need to make sure that the solar panel you chose has a maximum operating current that is not too far below the designed max input current in these calculations. If you design for a much larger current than your panel can supply, the accuracy of the MPPT will be hindered. When sizing the input current sense resistor, it should be less than 25mΩ and in the 1W-3W range. Figure 2 is the portion of the schematic showing how we configured our input sense networks.

FIGURE 2 – Show here is the portion of schematic dealing with the input feedback network and input current sensing. The components are calculated from the same section of the LT8491 Datasheet [1].

Output feedback network: Here you will choose component values to set the maximum output charging voltage. ADI refers to this as “Stage 2 Charging Voltage,” more commonly referred to as “bulk charging.” In this stage, the batteries are charged at a higher voltage than their rating for a specific period. For 12V batteries, the Stage 2 voltage is approximately14.2V, and for our 48V setup it was approximately 56.8V. The datasheet has values for some of the other common battery voltages and their corresponding target values. Make sure you use those target values—not the nominal battery voltage—in this set of calculations.

Output current sense network: Building this network will set the maximum charging current and maximum trickle charge current. The maximum output current will depend on the power rating of your panel and the voltage of the batteries to charge. Unfortunately, you cannot output more power than you put in! It is recommended that you make the trickle charge value more than 20% of the maximum charge current value. If you make the trickle charge current too low, it may conflict with under-current fault settings. Figure 3 shows our configuration and component values for the output section of our schematic.

FIGURE 3 – This portion of the schematic shows the connections and components from the output section of the LT8491 datasheet [1], where the output feedback network is built and the output current sense circuit.

The rest of the main voltage dividers are explicitly set within the datasheet, or it is a matter of tying pins high or low depending on your design requirements. Once you reach page 71, you should have the control and measurement components sized, and page 72 of the datasheet provides several optional circuits to add, depending on your needs. If you have low-capacity batteries, you may want to build the optional feedback network disconnect circuit to prevent current back-feeding from the batteries into the charger when not charging. If you plan on using a lower voltage battery, your charging current is likely to be higher, which can cause voltage drops in the battery cables.

There is an optional circuit available that compensates for cable losses, to prevent inaccuracies in output voltage measurements and ensure that the battery will get full charging voltage. For our prototype, we did not employ either of these two optional circuits, because we were not concerned about leakage current, and our charging current levels would not cause appreciable cable losses.


Now, the component selection for the control and measurement circuitry of the LT8491 should be complete, and the final stretch has you choosing your inductor, MOSFETs and bulk capacitance for the power section. The LT8491’s buck-boost voltage regulator is based on ADI’s LT8705, so directions are given to refer to the LT8705 datasheet [2] to size the power components and to find recommendations for your PCB layout. Refer to Figure 4 to see the power section of our schematic.

FIGURE 4 – In this part of the schematic, we have the power components, including the four switching MOSFETs and the inductor. The calculations for these components come from the LT8705 Datasheet [2], on which the LT8491 power section is based.

Choosing a switching frequency: You can choose a switching frequency between 100kHz and 400kHz by placing a specific resistor value in series between the RT pin and ground, which will set the internal oscillator. Lower operating frequencies can increase efficiency by reducing switching losses in the MOSFETs, but the trade-off is having to increase the inductor size and/or output capacitance to maintain low output ripple voltage. We decided on 145kHz for our operating frequency, mostly due to reference material settling on this value. With a set switching frequency, you can now calculate the minimum duty cycle required to stay in your desired buck or boost operating range, based on a typical switch on time of 265ns.

Inductor current sensing: These calculations will help you determine what sense resistor value to use and the maximum current to expect in the inductor. If you want to use a specific inductor, you can determine the maximum current more accurately, but it is more likely that, like us, you will use these equations to determine the correct inductor size for your requirements. In this case, you will have to follow the equations on p.21 (of the LT8705 datasheet) for applying a 30% to 50% adjustment to estimate the maximum current. Once you have a current value, you will calculate the maximum sense resistor value, and it is recommended that you choose a resistor that is 30% smaller than the calculated value.

Inductor selection: Using the previously calculated values and assuming you do not have an inductor selected already, the next set of equations on p.24 (LT8705 datasheet) will help you find the minimum acceptable inductance value and the maximum current rating for choosing the correct inductor for your needs.

Switching MOSFETs: Aside from making sure the MOSFETs are rated to handle the inductor current, power dissipation is important to consider when choosing your four MOSFETs. We found that Infineon Technologies’ surface-mount parts had characteristics to best fit our requirements for maintaining low power losses. Depending on the buck or boost configuration you choose, each of the four MOSFETs will behave differently. Some will remain on or off, and others will be switching continually, so make sure to complete the power calculations on p.26 (LT8705 datasheet).

Input/output capacitance: You will want to use polarized electrolytic capacitors for your input/output bulk capacitance, and most likely multiple in parallel. The main concerns here are minimizing the input and output ripple voltages by choosing the correct combination of capacitors to keep the equivalent series resistance (ESR) to a minimum—which is somewhere in the 5mΩ-10mΩ range. It is safe to shoot for 220µF of capacitance, but the ESR affects the ripple voltages the most. We had to use six capacitors in parallel on the output to achieve an ESR of 6mΩ to reduce the output ripple voltage to approximately100mV, because we were boosting quite a bit (18V to 48V). Your input ripple voltage is more affected when operating in the buck configuration, and the output requires more attention when in the boost region.


One note before you start: We had a short design time window. And, as mentioned earlier, the nature of the LT8491’s package type forced us to rely on PCBWay to assemble our circuit board after it was manufactured. Ultimately, we would have preferred a test setup to dial in all the component selections with more precision, but we had to rely on multiple calculation iterations to confirm the values theoretically.

The final bit of information to gather from the LT8491 and LT8705 datasheets will be design guidelines for building your PCB. Remember to use local decoupling on all power pins on the LT8491, and the ground plane should be directly below the top signal layer with no traces run on it. Consider placing test points on your board, to help you confirm operation when powering-up the board for the first time. You will need to configure your LT8491 and retrieve the telemetry data over I2C. If your microcontroller is not mounted on the same circuit board, make sure you place header pins on your PCB connected to the SDA and SCL pins on the LT8491. Pages 35 and 36 of the LT8705 datasheet give a solid checklist of layout considerations.

We used Altium Designer to build our circuit board (Figure 5), and had to learn a few new techniques to accommodate the directions given in the datasheets. Having experience using Altium Designer will be helpful, but it will be important to learn how to use polygon pours and via-stitching between layers. Alternately, you can use EasyEDA, which allows teams to collaborate on their design and can directly import component footprints from JLCPCB. JLCPCB did not stock the LT8491 or some of the MOSFETs we chose. It is important to be aware of this, because they will only assemble your board with parts they carry. If you want someone to assemble the board after building it, PCBWay is your best bet.

FIGURE 5 – Designing the circuit board in Altium Designer. Polygon pours were removed to show off the trace routes. Components mounted to top(red) and bottom(blue) layers, with some signals run on one of the inner layers (yellow).

The entire design process took us three weeks, working every day, and we really liked how the PCB came out (Figure 6). We began our tests by connecting our solar panel to the input connectors, hooked up the battery bank to the output connectors, and then used halogen lamps to simulate the sun. We were able to confirm that the chip was powering on, and our status LED showed a fully charged state as expected, since our batteries were recently topped up.

FIGURE 6 – A top view of the completed circuit board from PCBWay. LT8491 is highlighted, manufacturing and assembly turned out great, using a microscope shows the excellent soldering work.

Unfortunately, we could not get the I2C connection working, which was most likely due to differing logic levels between our microcontroller and the LT8491’s internal 3.3V regulated supply. We could not fix the communication issues within the allotted time given to us for this project. Without a working I2C connection, the LT8491 cannot be configured, since the default setting in its memory has automatic charging disabled after start-up. Therefore, we could not confirm the charging voltage levels on the output or receive any telemetry data from the device.

If your project has tight time constraints, be wary of the lead times involved with having a PCB manufacturer source your parts and assemble your board. This consumed six weeks of our time, and resulted in an extremely small window to resolve our communication issues.

Ultimately, we ended our project somewhat disappointed, but we also learned a great deal about design and production. We plan to iron out the I2C issues later. After spending so much time already, we are fully invested in implementing the LT8491 and successfully completing our project. Do not let our last-minute challenges discourage you from implementing the LT8491 into your own projects. We still believe the LT8491 has extensive capabilities that will make your project stand out. We have hope that as others begin using the LT8491 in their own designs, further discussions will be had about the process, which will result in more success stories—and maybe one will be yours! 


[1] Analog Devices Inc. LT8491 datasheet
[2] Analog Devices Inc. LT8705 datasheet

Altium |
Analog Devices |
EasyEDA |
Infineon Technologies |
PCBWay |


Keep up-to-date with our FREE Weekly Newsletter!

Don't miss out on upcoming issues of Circuit Cellar.

Note: We’ve made the Dec 2022 issue of Circuit Cellar available as a free sample issue. In it, you’ll find a rich variety of the kinds of articles and information that exemplify a typical issue of the current magazine.

Would you like to write for Circuit Cellar? We are always accepting articles/posts from the technical community. Get in touch with us and let's discuss your ideas.

Sponsor this Article
+ posts

Wade Tantrum earned his Red Seal as an Electrician in 2014. After working as an electrician for 7 years he then decided to enroll in the Electronics and Computer Engineering Technology program at Camosun College to pursue his interest in automation. After graduation, he plans on completing a co-op work term with the Canadian Department of Defence in their Combat Systems division.

Damon Gagnon worked as an Electrician for the better part of a decade, and earned his Red Seal in 2014. In 2018, he decided to expand on his technical aptitude by enrolling in the Electronics and Computer Engineering Technology program at Camosun College. He enjoys working on car audio projects in his spare time and will be completing a co-op with the Canadian Department of Defence after graduation.

Jordan Baird is currently completing his diploma in Electronics and Computer Engineering Technology at Camosun College. His interest in electronics and engineering began in high school, where he would follow online instruction to build small projects. He began his Electrical career after high school, and later attained his Red Seal as a Construction Electrician. He has experience in PCB assembly, design and testing, and 3D printing software and hardware.

Supporting Companies

Upcoming Events

Copyright © KCK Media Corp.
All Rights Reserved

Copyright © 2024 KCK Media Corp.

Golf Cart Solar Charger Project

by Wade Tantrum, Damon Gagnon and Jordan Baird time to read: 12 min