Low-Voltage MPPT Design
Status | In progress |
Contributors | @Aleena Khatum @Erika Feller |
Approver | [Not Completed] |
Due date | End of Fall Semester |
On this page |
Problem statement
Power Gen is tasked with designing a low-voltage MPPT (20V input and 48V output) including the sensors, boost converter, and PSOM communication.
Purpose
Create a project for new members that lets them learn about MPPT design in a safer context as they get onboarded onto power generation, prior to contributing to the HV MPPT.
Solution hypothesis
The solution is successful if we have a working boost converter that can successfully boost from 20V to 48V.
Power Electronics Notes (w/ Professor Bryan Johnson)
Timeline
Fall 2025
| 09/20 | 09/27 | 10/04 | 10/11 | 10/18 | 10/25 | 11/01 | 11/08 | 11/15 | 11/22 | 11/29 |
|---|---|---|---|---|---|---|---|---|---|---|---|
Not started Test ADC Breakout / LEARN |
|
|
|
|
|
|
|
|
|
|
|
NOT STARTED Redesign ADC Breakout Schematic and submit for revision / LEARN |
|
|
|
|
|
|
|
|
|
|
|
NOT STARTED Complete ADC Breakout Schematic Revisions (week of 09/27) Do layout on 10/11 / LEARN |
|
|
| Aim for here |
|
|
|
|
|
|
|
NOT STARTED Print ADC Breakout Low / Schematic Design Boost Converter + Revisions |
|
|
|
|
|
|
|
|
|
|
|
Not STARTED Layout Boost Converter + Revisions |
|
|
|
|
|
|
|
|
|
|
|
NOT STARTED Prof. Johnson Revisions /Write Software |
|
|
|
|
|
|
|
|
| Aim for here |
|
NOT STARTED Print Boost Board |
|
|
|
|
|
|
|
|
|
|
|
FIX EVERYTHING BELOW THIS TEXT ITS NOT ACCURATE RIGHT NOW FALL 2025
Decision 1
- Option 1 - Measuring current though a shunt resistor
Current Sensing Options:
| Option 1 - Shunt Resistor | Option 2 - Magnetic Field of Wire |
|---|---|---|
Overview | Current Sense Amplifier or Isolated Modulators/ADC | Hall-Effect Current Sensing |
Screenshot | ||
Pros and cons | Accuracy Simplicity and cost Affected by electric noise Power loss and voltage drop | Electric isolation and no power loss Measures both AC and DC current Affected by magnetic noise and temperature Zero-drift problems |
Option 1: Current Sensing With Shunt Resistor
Figure 1 is a common method to measure current using a shunt-resistor. There are 3 steps to read the current:
The differential voltage is fed into the Current Sense Amplifier and converted to a single-ended signal.
This single-ended signal is connected to an ADC, digitizing the signal.
The signal is sent to a microcontroller for processing.
Decision 2
- Option 2 - Sensing using an external ADC
| Option 1: Internal ADC | Option 2: External Digital ADC |
|---|---|---|
Overview | Nucleo Integrated ADC |
|
Visual |
ADC with 10 channels that supports multiple trigger inputs
|
|
Pros and Cons | Built in calibration 12-bit ADC with up to 16-bit hardware oversampling SNR in the Nucleo is 68 db | Digital signal sent from MPPT to SOM (reduces noise) Flexible bit-count up to our discretion (up to 24 bits) Cost is higher (Additional part external to existing chip) |
Noise: In a high precision sensor, the resistance and capacitance in an I2C wire would harm the accuracy of the reading, especially if the system moves to SOM. Additionally the boost converter contains an inductor, and there will likely be motors nearby in the car which can cause additional noise. Given the push for SOM in all systems, using an ADC on the MPPT may be the best way to maintain accuracy, and reduce strain on the eventual centralized controller.
Decision 3
- Option 3 - Selecting ADC
| Option 1: 2x 2 Channel ADC | Option 2: 1x 4 Channel ADC | Option 3: 2x2 Channel ADC | Option 4: 1x4 Channel ADC |
|---|---|---|---|---|
Overview | MCP3427 2-channel, 15-SPS, 16 Bit Delta-Sigma ADC With I2C Interface | ADS1219 4-Channel, 1-kSPS, 24-Bit, Delta-Sigma ADC With I2C Interface | ADS7142-Q1 Automotive, 2-Channel, 12-Bit, 140-kSPS, I2C-Compatible ADC With Programmable Threshold and Host Wake-Up Features | ADS131M04-Q1 Automotive, 4-Channel, 64-kSPS, Simultaneous-Sampling, 24-Bit, Delta-Sigma ADC |
Visual |
|
|
|
|
Pros and Cons | I2C interface and a high resolution (16 bit) Built in amplifier if needed Would need separate one for current and voltage | Single chip that could read all currents and voltages High resolution Less frequent measurements | 12 bit resolution FIFO Designed for sensor monitoring Efficient host sleep and wake-up Would need separate one for current and voltage | 24 bit resolution Simultaneous Sampling Single chip that could read all currents and voltages |
Communication Protocol | I2C | I2C | I2C | SPI |
Sampling Frequency | 15 (16-bit mode), 60 (14-bit mode), or 240 (12-bit mode) samples per second | Up to 1000 samples per second (250 samples per second for each sensor) | Up to 140 ksps | Up to 64-kSPS |
Resolution | 12 bit, 14 bit, and 16 bit | 24 bit (20 bit regularly) | 12 bit | 24 bit |
Speed/Latency | Standard - 100 kbps fast - 400 kbps high-speed - 3.4 Mbps | Up to 1Mbps | Up to 3.4 Mbps | Up to 8.192 Mbps |
Power Voltage Range | 2.7 to 5.5 | -0.3v to 7v | -0.3 v to 3.9 v | -0.3 v to 3.9 v |
Analog Input Voltage Range | VSS-0.3v to VDD+0.3v | 0v to VDD+0.3v | 0v to VDD | AGND-1.6 to AVDD+0.3 |
Cost |
|
|
|
|
Quantity Needed | 2 | 1 | 2 | 1 |
Decision | Rejected | Rejected | Rejected | Selected |
DIARY RAHHHH!!
10/26/2024
Reasoning for 4 channel ADC (ADS1219):
This ADC would give us a very high precision measurement, possibly higher than we need for our application. It would be able to operate regularly with a 20-bit resolution. It would be able to read each value at 1/4 the speed of the nucleo clock since it would need to read both of the voltages and both of the currents one at a time. It has an I2C output which would be easy to read with the nucleo, with some noise concerns because I2C is non-differential, however the distance between the nucleo and board is very small so that shouldn’t be a huge issue. The 4 channel ADC would be able to operate at up to 1000 samples per second, split between the 4 sensors we would be able to measure 250 samples per second for each sensor. A concern with this ADC is that the sensing would not be simultaneous, which may or may not be an issue.
Reasoning for 2 channel ADC (MCP3427):
The MCP3427 is documented to be a low noise and high accuracy ADC that outputs using the 2-wire I2C serial interface. We decided that having a minimum of a 12 bit resolution is necessary to collect precise data from the voltage and current sensors. This ADC has three different resolution settings (12-bit, 14-bit, 16-bit) which should fit our needs. Furthermore, we were considering having isolation within our current and voltage sensing system; however, this ADC lacks this feature, but we can utilize isolation within our Op-Amp which should be sufficient. In addition, we plan on having voltage and current sensors for both the array and battery which would require us to utilize 2 ADCs minimum. One for the voltage sensor and one for the current.
Reasoning for 2 channel ADC (ADS7142-Q1):
The ADS7142-Q1 is designed as a sensor monitoring ADC that can autonomously monitor signals. This ADC fits in our 12-bit resolution criteria that we created and has a sampling rate of 140 kSPS. This device also has a built-in programmable threshold and host wake-up feature which will alert the host when a high or low threshold is crossed to control when the data is being sampled. Additionally, when the ADC is operating in autonomous monitoring mode, the device uses a FIFO as an internal data buffer. One downside to these features is our lack of understanding which may complicate the programming process. Overall, because we are planning on having two of each sensor, one for the array and one for the battery, we would need a minimum of two ADCs.
Reasoning for 4 channel ADC (AD7991YRJZ-0500RL7)
This ADC has a high sampling speed (22kSps) and would be able to monitor all of the currents and voltages needed at 5.5kSps each. This chip is also fairly cost-effective at about $10 per chip. It is also a fairly simple design, and would not require much effort on the programming side to implement. The voltage range of the chip is compatible with our needs. It has a 12 bit resolution, which is fairly mediocre in the grand scheme of ADCs, however it should be good 'nuff for our purpose with a precision of about 0.02v.
10/31/2024
Reasoning for Increasing ADC resolution
We may need a much more precise ADC to sense the voltage than we thought. This is because when we use a voltage divider to "split" off part of the total voltage of the array we would measure a value proportional to that of the array. For example if the array is 80v and we could arrange the resistors to split off 5v which we multiply by 16 in the controller to get the value we want. Which works, but when we do that we lose a high degree of precision in our measurement because the 0.02 degree of precision we can achieve with a 12 bit ADC would only give that precision for the 5v we feed into that ADC, multiplied by 16 gives us a degree of precision of only 0.32 for the full 80 volts, which won't cut it for our application. I only realized this just now because I was finishing off my schematic and was selecting resistor values. I think it won't be very much effort to swap out the ADC in the schematic.
11/02/2024
Reasoning for Isolation DC/DC Module
In order to prevent any voltage spikes from the array from impacting the overall MPPT system we decided that the use of isolation in our OpAmps would be necessary. With this however, our OpAmps need a High-side and Low-side power, so in order to isolate the power supply we decided to implement an isolated DC/DC Module. In addition to this, we have to implement separate grounds for the high and low side of the OpAmp.
11/16/2024
Reasoning for Digital Isolator
We wanted to design our ADC breakout board to have isolation as a protective barrier between the nucleo and the volatile high side of the system. We originally did this by having isolation in our OpAmps, but there were inefficiencies in our design (click here for more details). We followed Champers' suggestion by having the ADC on the unsafe side of the isolation barrier and using the ISO7762 for the digital isolator to communicate with the Nucleo. We chose this component because it implements ON-OFF keying modulation which lowers propagation delays, is compatible with SPI communication protocol, and has the necessary 4 input and 2 output channels.
Review Request
ADC Breakout Board
The purpose of the ADC Breakout Board is to act as a voltage and current sensor for both the array and battery as part of the overall MPPT system. In previous iterations of this board, the voltage and current sensors utilized a voltage follower OpAmp to act as a buffer as well as amplify the voltage and current readings, which were fed into the internal ADC of the Nucleo microcontroller. However, we decided that the internal ADC was not as precise as we needed it to be, so we opted for a 4-channel external ADC.
This board has two main elements: the OpAmps and external ADC. For the OpAmps, we are utilizing the AMC1400 and AMC1350. The AMC1400 datasheet specifies that its typical application is for current sensing, and the AMC1350 is typically utilized for voltage sensing:
However, we have two designs for this board: one with RC filters and the other without. The documentation for the OpAmps specifies that the RC filter is utilized to improve signal-to-noise performance and mentions that “the input bias current does not generate a significant voltage drop across the DC impedance of the input filter”; however, we were wondering if we should be concerned about voltage drop across the components to which we should omit this element, or if this shouldn’t be a concern and implement the RC filter to filter out any unwanted noise.
In addition, apart from the specified typical application, which aligns with our specific goal, these OpAmps are also isolated to prevent any unexpected voltage and current spikes from the array from impacting the overall system.
Furthermore, for the external ADC, we are utilizing the ADS131M04-Q1.
The two main characteristics we focused on when searching for ADCs were the communication protocol, sampling rate, and precision. This ADC communicates using SPI with a sampling rate of 64 kSPS while supporting simultaneous sampling with all 4 inputs, and has a 24-bit precision, which should be sufficient for our goals.
Questions:
For the ADC, the Analog and Digital grounds are the same. This was provided in the application circuit. Would it be better to have them as separate grounds to prevent any unintentional ground loops?
Should we include the RC filter with the op amps? The concern is that since we are using a voltage divider to take a portion of the input of 80V and use that scaled number for sensing, if the RC filter generates a slight voltage drop, the voltage drop may become significant when the sensed voltage is scaled.
Should we put the nominal 3.3V for the lowside that is going to the ADC? How would doing so affect the linear region of operation of the op amp?
What is the voltage range that we want to measure for? 114 V -> 350V? (more for us to decide)
Changes Made from V1 to V2
The biggest issue in V1 was the breaking of isolation through shared grounds, which I wasn’t sure how to fix before, and overlooked. Ishaan suggested an isolated DC-DC converter which would allow me to have a separate 5v power supply and GND for the two isolated sections of the board. I implemented this in the V2 design using part UCC12040DVE. Additionally, I added the Nucleo to the board and changed the screw terminals to banana clips. Then I made some changes to the labeling according to Lakshay’s suggestions, added test points to the analog inputs, and gave the capacitors values.
Changes Made from V2 to V2.1
After the second round of reviews on the ADC breakout board, Champers noticed an architectural error in our design. The AMC1400 and AMC1350 OpAmps utilize a delta-sigma modulator within the component which changes the analog signal into a digital signal to send the data across an isolation barrier and changes the signal back into an analog signal. This signal is turned back into a digital signal as we run it into an external ADC. This brings some inefficiencies in our design as there is a loss of accuracy every time you put a signal through an ADC. With this, we reverted our OpAmps to the original design that Matthew created and added an isolation barrier between the ADC and Nucleo. To do this we used the ISO7762 digital isolator compatible with SPI to isolate the system.
Communication Protocols Research
When choosing an ADC and op-amps, it is important the we reduce noise, by choosing communication protocols that will not detract from the signal and will work in our application. For one, using I2C is feasible because the ADC and op-amps will be connecting flush to the board, guaranteeing a short signal line.
Protocol | Operation |
|---|---|
I2C | Two Communication Lines:
Avoids Signal Conflict: By allowing devices to either pull the line low or release it, devices know that another device is actively using the communication protocol if the line is ever low. This way, there is no threat of a device pulling up the line, since the device can’t be forced high by a device (it can only be pulled low). Open-Drain Setup: Each device on the line has an “open-drain” or “open-collector” configuration. This means they can pull the line low, but they don’t actively drive it high. Instead, a pull-up resistor brings the line high when no device is pulling it low. This setup is important because: Pull-Down of Line: If one device wants to communicate a "low," it pulls the line low. Pull-Up Resistor: If no device pulls it low, the pull-up resistor brings it to a "high," indicating a high signal. Single-Line Communication: Non-Differential |
|
|
Diodes Research
Diode Type | Operation |
|---|---|
|
|
|
|
PSOM Notes
No PSOM connection partly to simplify testing of dev board,
and also because the converter I will be using on the MPPT
operates at high frequency and would be potentially sensitive
to CAN latency on the order of nanoseconds. The converter must
be able to be directly controlled by an MCU so the ADC data will
also be processed on the board, and can be sent directly to a
leader SOM.