senior design report by bs lh
TRANSCRIPT
-
7/24/2019 Senior Design Report by BS LH
1/34
ECE 445: Senior Design
Stacking Precision Power Supplies
Final Report
Laura Haller and Braedon Salz
December 10, 2014
TA: Tim Wang
Project No. 2
-
7/24/2019 Senior Design Report by BS LH
2/34
Abstract
In this final report, a method for creating high precision, low-wattage, modular
power supplies is proposed through a review of relevant applications, an analysis
of product requirements, a preliminary design, an investigation of prototypedresults, and ideas for future work. The design is formulated based on the concept
of having a hub module which controls the connected stackable modules based
on input from the user. A more formal description of our design is outlined in
the following sections, as well as the details of our implementation. Verifications
performed on each of the different modules revealed that although most of the
project was successful, a major flaw in our ability to properly limit output voltage
ripple was inherent in our choice for the stacking module components. Potential
solutions to this issue are addressed in the section regarding future work.
ii
-
7/24/2019 Senior Design Report by BS LH
3/34
Contents
1 Introduction 1
1.1 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Block Diagrams and Subsystem Overviews . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2.1 Entire System Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.2 Hub Board Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.3 Stack Board Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Design 5
2.1 Hub Board Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1 Microcontroller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.2 Board Count Sense . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Stack Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.1 Converter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.2 Circuit Protection Mechanisms . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3 Verification 14
3.1 Linear Regulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2 LCD Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.3 Analog Potentiometers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.4 Digital Potentiometers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.5 Short Circuit Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.6 DC-DC Converter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4 Costs 18
4.1 Cost Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.1.1 Labor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.1.2 Parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.1.3 Grand Total . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5 Conclusions 20
iii
-
7/24/2019 Senior Design Report by BS LH
4/34
6 Works Cited 21
Appendices 22
A Tables 22
B Code Samples 24
C Pictures 27
iv
-
7/24/2019 Senior Design Report by BS LH
5/34
1 Introduction
1.1 Purpose
We chose our project based on the fact that power supplies are one of the most expensive yet most
necessary components of any electrical project. From the industrial standpoint, many product
test setups require numerous precision voltage references, yet the supplies that are bought are
needlessly high in wattage and price. For hobbyists and students, the cost of a singular power
supply is prohibitively expensive, and it increases linearly with the need for more outputs. Our
focus lies with the modularity and price of the project - two factors that are essential for both
markets.
In keeping with the purposes outlined above, the main goals that we hoped to achieve for the
project are listed here:
Develop a tunable 3-14V DC power supply with 20mV precision and 2A per stack board
Have short protection for each stack board to allow for hot-swappability
Allow the power supply boards to stack vertically while not interfering with each other
Have two methods of input - analog potentiometer and digital programmable line
Keep the product inexpensive while still using safe, quality parts
Use an LCD screen indicator to show current settings
1.2 Block Diagrams and Subsystem Overviews
Achieving our goals began with us extrapolating upon our concepts for the hub and stack boards
as they fit into the overall system. This led us to create a block-diagram-based overview of major
components of both the hub board and the stack boards.
1
-
7/24/2019 Senior Design Report by BS LH
6/34
1.2.1 Entire System Diagram
Input Power
Hub Board
Stack BoardStack Board Stack Board
Digital Input
Figure 1: Full System Diagram
System Overview
From a technical standpoint, the system was designed around the idea of a mother card with
stackable daughter cards. To maintain a clear syntax, we refer to the mother card as the Hub
Board and the daughter cards as the Stack Boards throughout. The hub board receives inputs
from a variety of sources and sends it to the stack boards, each of which have their own board
DC/DC converter to program an output.
Input Power
The entire system receives external power from a banana jack or DC barrel providing 12V DC.
This needs to be fairly high wattage as it has to provide power for all the subsequent modules
being stacked, so we estimated up to 15A is necessary at peak. Due to later design choices in how
modules are connected when stacked, we decided that we would limit the number of modules to 6.
Digital Input
One of the two methods of setting the stack board set points is via a digital input stream. This
2
-
7/24/2019 Senior Design Report by BS LH
7/34
is done from a computer running a script to open a serial port, which will receive the number of
boards from the microcontroller, and then proceed to ask for set points for each board. It will cease
to ask for input after that and print out the confirmed set points along with their actual output
values.
1.2.2 Hub Board Overview
Regulator
CI2C Bus Stack Board
Setpoint
BoardCount Sense
Figure 2: Hub Board Diagram
Regulator
While the entire board is powered by 12V DC, our microcontroller and other logic peripherals run
from 5V DC, so we used a linear regulator to buck it down.
Microcontroller
We used an AVR ATmega microcontroller for our project. The power is supplied from the regulator.
It counts the number of boards, and then proceeds to read in the potentiometer set points from
each stack board. Using that, it calculates what output value is needed for each converter chip.
This data is then sent along a I2C bus to each stack board. It also sends the necessary data to the
LCD screen.
Stack Board Setpoint
While the potentiometers are actually located on the stack boards, they send voltages to the hub
board which are read into the microcontroller via an ADC. We needed to ensure that our ADC
was high enough precision to be capable of telling the difference between small voltage levels (on
3
-
7/24/2019 Senior Design Report by BS LH
8/34
the order of 10mV).
I2C Bus
All the data that is calculated by the microcontroller including set points, calibration, and LCD
screen bits is sent to a I2C bus to communicate between boards. We use an 8-pin slave select bus
that is set to active high. We use the slave select bit for all of the data streams, as we only want
to talk to one board at a time.
Board Count Sense
In order to count the number of boards, we will be using a microcontroller to read in an voltage
set by a resistive voltage divider. The upper end will be a constant fixed resistor attached to the
hub board, while the lower end will be a parallel combination of resistors from the stack boards.
Adding a stack board will lower the resistance by a factor of the number of stack boards, which will
be fed into the ADC line. The mathematics of designing this portion of the project are discussed
in further depth in Section 2.1.
1.2.3 Stack Board Overview
Power
I2C Bus
DC/DC
Converter
LCD Screen Potentiometer
Output Short
Protection
Figure 3: Stack Board Diagram
Power
The stack boards get their input power from the 12V and 5V DC lines passed from the hub board.
DC/DC Converter
The main component of the stack board is the converter chip. We chose a buck-boost converter
4
-
7/24/2019 Senior Design Report by BS LH
9/34
such that our range could vary between common bias voltage values of 3V to 14V while being
supplied by 12V.
I2C Bus
Refer to the description of I2C Bus in Section 1.2.2.
Potentiometer
The potentiometer needed to be both very precise and linear in order to serve its purpose accurately.
It is a multiple turn potentiometer as well which provides finer adjustments for the user.
LCD Screen
The LCD Screen displays the current set points for the board, as well as the actual output values interms of both voltage and current. We had also hoped to implement an indicator to show whether
or not the board has a shorted output. In future work, this will be implemented.
Circuit Protection Mechanisms
We wanted to ensure that our circuit will hold safely with a short or reverse polarity output. An
implementation of these features is discussed in the Design section.
2 Design
The next step in bringing our concept to fruition was going through a design phase. The major
design choices concerning both hub board and stack board as well as some key peripherals are
discussed here.
2.1 Hub Board Design
Although we will discuss the design of the hub board first, the stack and hub boards were designed
concurrently in order to accommodate their interconnections.
5
-
7/24/2019 Senior Design Report by BS LH
10/34
2.1.1 Microcontroller
In Figure 4, we show the schematic for the hub board circuit. The 5V regulator which supplies
power to the microcontroller is fed by the input 12V source. The microcontroller processes data
that comes in from the header pins as well as sends data through the pins to the LCD screen and
digital potentiometer. A decoder is used to implement the slave select ability for when multiple
stack boards are connected.
Figure 4: Schematic of microcontroller circuit on hub board
The layout of the hub board is shown in Figure 5. As one can see, the traces on the top left are
quite wide to accommodate for the potentially high supply current.
6
-
7/24/2019 Senior Design Report by BS LH
11/34
Figure 5: Layout of microcontroller circuit on hub board
2.1.2 Board Count Sense
An important part of the hub board was the sensing circuitry as shown in Figure 6 which determined
how many stack boards were connected. Originally, we planned on using a an input power supply
voltage of 5V for our entire system, but we determined that it would not provide enough range
for the ADC of the microcontroller to distinguish between board numbers accurately. To put it inmath terms:
VLSB =VDD/210 = 5/1024 5mV
With an LSB of 5mV, the ADC of our microcontroller is fairly precise at all ranges. This defines
what our set up can have in terms of resistances:
Rstack/8Rtop+ Rstack/8 Rstack/7Rtop+ Rstack/7 0.00510
Based on this, we can choose the ratio of resistors that will allow us to read this minute
difference. We also chose the resistors to be in the range of 10k in order to minimize power loss
through this branch. Setting Rtop to 10k, we swept through the ratio of the resistors to find the
maximum voltage difference.
7
-
7/24/2019 Senior Design Report by BS LH
12/34
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
0.5
1
1.5
2
2.5
Rtop/Rstack Ratio
VoltageDifference
Voltage Difference between 8 Stack Boards and 1 Stack Board
This sets the optimal ratio at 0.3518. Using that ratio, we can plot the output voltage for each
additional board.
1 2 3 4 5 6 7 80
1
2
3
4
Number of Stack Boards in Parallel
Vcenter
ADC Input Level vs Board Count
Clearly the smallest difference occurs between the 7th and 8th board, which here is 133mV, or
26 LSBs. This is well within our accuracy range.
8
-
7/24/2019 Senior Design Report by BS LH
13/34
Figure 6: Schematic of board sense circuit between modules, with 3 stack boards
2.2 Stack Board
In Figures 7, 8 and 9, we show the schematic for the stack board converter circuitry. Figures 7 and
8 were split for readability. Figure 7 pertains more to the converter and its immediate peripherals
such as the inductor and bypass capacitors. A salient point is that the board sense resistor can be
seen on the left. Figure 8 shows more of the connections specifically for the digital potentiometer.
Headers and other small peripherals are shown in Figure 9.
The majority of changes made to this circuit after the design review involved many of the
components included in Figure 9. For a better understanding of the entire system communication
and stack board operation, each section will be explained. The stacking header is most crucial as
it handles the signals going to and from each stack board. The top 12 pins allow the user to select
which channel they would like to use for that particular board by shorting slave select on the right
to a channel on the left. The rest of the pins handle things such as LCD data, board sense, power,
and digital potentiometer data.
The analog potentiometer portion of the circuit allowed the microcontroller to take in the
voltage at the potentiometer wiper based on whether or not slave select was high for that stack
9
-
7/24/2019 Senior Design Report by BS LH
14/34
board.
The inverter to the right ended up not being correct since we assumed we would always need
to hold the SYNC pin of the digital potentiometer low, when in fact we write that directly from a
specific pin on the microcontroller. SYNC should stay low while a command is being read into the
digital potentiometers shift register and be written high upon completion.
The LCD header would ideally have right angle pins to hook directly up to the display from
the board.
Ready select was supposed to allow us to check for the completion of a data write to the digital
potentiometer. Shown is an encoder decoder which allows us to read a pin from a specific board
based on slave select. However, not only did the ready pin not work properly on the integrated
circuits, but we realized after the fact that this could have been simplified down to an AND gate
with inputs of slave select and ready.
Figure 7: Left half of stack board circuit schematic
10
-
7/24/2019 Senior Design Report by BS LH
15/34
Figure 8: Right half of stack board circuit schematic
Figure 9: Headers and other stack board peripherals
The stack board layout is shown in Figure 10. One can see the issue of the encoder/decoder
ready select portion on the top left as the ICs are quite large and require a great deal of traces.
The main stacking header is in the middle of the board so that the system would be balanced.
11
-
7/24/2019 Senior Design Report by BS LH
16/34
An LCD can hang off the pins on the bottom right. The converter, digital potentiometer, and
necessary peripherals are just above there. It is important to note that the inductor was placed
close to the converter such that there would be minimal ringing.
Figure 10: Layout of microcontroller circuit on hub board
2.2.1 Converter
Our design called for the use of a DC/DC buck-boost converter, Linear Technology part 3112,
which can output voltages from 3-15V DC [2]. The output voltage is set by a resistor ratio using
a common non-inverting amplifier scheme. We change this ratio by using a I2C-programmable
resistor that can be precisely set to allow for exact outputs. The formula for setting the output
voltage is:
Vout= 0.8V 1 +R1
R2
From the datasheet, both resistors are recommended to be on the order of ks or greater to
minimize wasted power. In order to achieve desired voltage range for a stack board, we had to find
a high precision digital resistor that could cover a large range. Using a 1024-bit digital resistor [3],
andR2to be 4k, R1 was set to sweep from 0 to 50k. This allows us to compute a final precision
12
-
7/24/2019 Senior Design Report by BS LH
17/34
in terms of LSBs:
VoutRdig
=15 3
50k = 0.24mV
-
7/24/2019 Senior Design Report by BS LH
18/34
current. In this case, if the output is shorted, the current rapidly increases, and therefore the
voltage across the sense resistor increases as well. By measuring this voltage, we can set a VOV P
threshold that will shutdown the chip. This level is measured by the microcontroller on an ADC
pin, and, if it exceeded the corresponding level, shuts down the specific converter chip. We later
decided to use the current sense pin on our converter chip as it had microamp precision. To protect
against reverse voltage protection, we were also going to use a zener diode in parallel with the
output.
In Figure 11, we show the schematic of our simple over voltage protection circuit.
Figure 11: Short and reverse polarity protection circuitry
3 Verification
A detailed table of all requirements and verifications can be found in Appendix A Table 4. Here,
the main quantitative results are broken down alongside the results.
3.1 Linear Regulator
The linear regulator needed to provided a 5V reference for several logic chips and the microcontroller
in our design. Based on the various components datasheets, we estimated that a 5% tolerance would
be acceptable for our parts. We breadboarded the circuit and fed in a 12V supply as the input, and
tracked the output over various loads. At worst-case performance, we have only 22mV of ripple, or
approximately 4%. This is well within the specification and performs well.
14
-
7/24/2019 Senior Design Report by BS LH
19/34
Figure 12: 5V Regulator Output Ripple
3.2 LCD Screen
The LCD screen was needed to provide a visual way of measuring the current and voltage levels
of the power converter output. We had two primary requirements: first, that it power on the
backlight with a choosable contrast, and second, that is displays characters sent to it over serial
lines. We used the LiquidCrystal library provided to us from the Arduino IDE to demo and test
this functionality. This was successfully met, as shown in the picture below.
15
-
7/24/2019 Senior Design Report by BS LH
20/34
Figure 13: LCD Example Text
3.3 Analog Potentiometers
The analog potentiometers were used to provide a user input to set the output voltage. While they
did not lie directly in the feedback path (instead being routed through the microcontroller), it was
still important they changed at an expected linear rate. The potentiometers we purchased had
notches every 36 degrees, so we attempted to do by hand measurements for linearity. Our findings
are tabulated below, with the R2 value shown for the linear region of the potentiometer (ignoring
first and last point).
0 0.2 0.4 0.6 0.8
0
0.2
0.4
0.6
0.8
1
104
Fraction of a turn
ResistanceW-B[]
Figure 14: Analog pot resistance from wiper to base (R2 = 0.975)
16
-
7/24/2019 Senior Design Report by BS LH
21/34
3.4 Digital Potentiometers
The digital potentiometers had very similar verifcations to the analog potentiometers in that we
tested for linearity. Rather than sweep out and plot each of the ten bits in the chip, however, we
chose 20 codes at random, and calculated the best fit line. To our surprise, the part was so precise
that the program we used to calculate the best fit line (Microsoft Excel) simply called it perfectly
linear with zero standard deviation.
0 200 400 600 800 1,000
0
1
2
3
4
5
104
Code Sent
ResistanceW
-B[]
Figure 15: Digital potentiometer resistance from wiper to base (R2 = 1)
3.5 Short Circuit Protection
The short circuit protection was built into the power converter module. While unfortunately we
did not capture any waveforms to demonstrate its successfulness, we shorted two wires over our
output load resistor and the module successfully turned off then back on upon removing them.
There was very little we could do externally to verify and test this however, as the short circuit
protection module was built into the converter chip.
3.6 DC-DC Converter
Testing the main core of project resulted in two core measurements: DC consistency and voltage
ripple. The DC consistency refers to how accurately and repeatedly we could lock into a DC
17
-
7/24/2019 Senior Design Report by BS LH
22/34
operating point, and how far it was from the calculated one. The voltage ripple concerns high
frequency noise and distortion that, while not visible at DC, is still present in the output. The DC
measurement could be simply done using a digital multimeter, but the ripple required us to hook
up a load and measure the output on a oscilloscope. Shown below is the best case performance we
could achieve. While the DC tracked quite accurately, the ripple was far over spec. Solutions to
this are mentioned in the conclusion below.
Figure 16: Showing Converter Output Ripple
4 Costs
4.1 Cost Analysis
4.1.1 Labor
Table 1: Cost for Each Engineer
Name Hourly Rate Total Invested Hours Cost per Engineer[$] [hr] [2.5 Hourly Rate Total Hours]
Laura Haller 35 150 $13,125Braedon Salz 35 150 $13,125
Total 300 $26,250
18
-
7/24/2019 Senior Design Report by BS LH
23/34
4.1.2 Parts
Table 2: Cost of Parts
Item Part Number Unit Cost [$] Quantity Total Item Cost [$]
LCD LCD-0935 $7 8 $5612V DC Wall Converter JBM AC-6A 7XD 10 8 80Inductor XAL7030-103MLB 0.40 8 3.20Microcontroller AVR ATmega32 2.25 1 2.25Linear Potentiometer CT2254-ND 1.55 5 7.754.02K Resistor P4.02KFCT-ND 0.1 5 0.53.48K Resistor P3.48KBCCT-ND 0.94 3 2.82Demux 568-1417-1-ND 0.56 5 2.8010UF Cap, 25V 1276-1075-1-ND 0.157 10 1.57Linear Regulator 497-1203-1-ND 0.44 5 2.2010uF Cap, 10V 399-9310-1-ND 1.75 7 12.25
162K Resistor P162KFCT-ND 0.1 3 0.33M Resistor 1276-5978-1-ND 0.024 10 0.2449.9K Resistor P49.9KFCT-ND 0.1 5 0.540.2K Resistor P40.2KFCT-ND 0.1 5 0.5Zener Diode BZX84C16LT1GOSCT-ND 0.15 5 0.75100PF Cap 1276-2799-1-ND 0.089 10 0.8942.2K Resistor P42.2KFCT-ND 0.1 3 0.30.1UF Cap 399-1250-1-ND 0.194 10 1.94820PF Cap 1276-3293-1-ND 0.22 5 1.1033K Resistor P33KECT-ND 0.1 3 0.322PF Cap 1276-1203-1-ND 0.16 5 0.81UF Cap 1276-1783-1-ND 0.16 3 0.4822UF Cap 445-3928-1-ND 1.35 3 4.0547UF Cap 490-3907-1-ND 0.53 5 2.65Buck-Boost Converter LTC 3112 8.54 5 42.7Dig Potentiometer AD5293 6.63 5 33.15Encoder 296-31535-1-ND 0.56 5 2.80Relay HE647-ND 1.8 5 9
Total $263.79
4.1.3 Grand Total
Section Total
Labor $26,250
Parts $263.79
Total $26,513.79
19
-
7/24/2019 Senior Design Report by BS LH
24/34
5 Conclusions
While our project was not completely up to specification, we were pleased with what progress we
made. Our project conforms to the IEEE Code of Ethics [1] as shown in Table 3. The final result
was a less accurate version of our original goal, but we believe there is a large amount of room for
improvement. The most important result was the DC tracking, which was spot on. We debugged
the high ripple levels in the project by investigating the pole-zero placement of the DC-DC converter
feedback network. We made an invalid approximation concerning the zero placement, which led to
a very, very high undershoot on each clock cycle. While it did settle to the desired ripple (20mV)
within one clock, that initial overshoot was not acceptable. From the datasheet:
Figure 17: DC-DC Converter Feedback
fz = 1
2(RT OP+ RF F)CF F
1
2RT OPCF F
Due to our selection ofRT OP and RBOTbeing implemented via a resistor and the digital po-
tentiometer, they were not of high enough magnitude to make that approximation. We designed
several solutions to that problem, but unfortunately ran out of time to implement them. The
cheapest solution would be to purchase a larger digital potentiometer, but those are currently not
available on the market with high enough precision. With an appropriate sized digital potentiome-
20
-
7/24/2019 Senior Design Report by BS LH
25/34
ter, our steps between voltage levels would be approximately 120mV, which does not solve the
problem. We also believe a valid solution would be to combine the digital potentiometer with some
offset, static resistors. This would drastically limit the output voltage swing, as we would no longer
be able to sweep the full ratio. Another possible solution would be to simply stack multiple digital
potentiometers in series, and give them all the same input code. This would emulatenRdig, where
n is the number of series connections. While it is the most effective solution, it is also the most
expensive by far.
Another solution proposed would be to instead filter out the high frequency distortion with
a simple active low pass filter. Since the internal clocking frequency is 750kHz, the filter would
ideally cross over at around 1kHz. With just a single first order filter, that would allow us 40dB
of attenuation ideally, which would bring the ripple down to far more manageable levels. Moving
forward, this is the option that seems most valuable to pursue. This also would help confirm the
accuracy of our DC levels consistently, while removing the transient ripple.
6 Works Cited
References
[1] IEEE Code of Ethics. IEEE. IEEE, n.d. Web. 27 Sept. 2014.
.
[2] Linear Technology, 15V, 2.5A Synchronous Buck-Boost DC/DC Converter, LTC3112
datasheet, Revision C.
[3] Analog Devices, Single-Channel, 1024-Position, 1% R-Tolerance Digital Potential, AD5293
datasheet, 2011, Revision D.
21
-
7/24/2019 Senior Design Report by BS LH
26/34
Appendices
A Tables
Table 3: Our Policies as They Relate to the IEEE Code of Ethics
Standard Concept Our Policy
1 Safety Tests of all of our hardware were covered and the prod-uct will not be distributed until it is further polishedand made safer.
2 Conflicts of Interest No conflicts of interests arose.
3 Honesty Each claim made about our product has been eitherdisproved or proven using both simulations and hands-on testing.
4 Bribery No attempts at bribery happened while we were work-ing.
5 Technological Understanding This project more so serves as an extension of an al-ready existing application of power electronics, but thedifference in purpose is explained in the in our intro-duction.
6 Technical Competence In order to design this pro ject and bring it tofruition, we have taken many relevant courses whichhave provided the majority of relevant knowledge.Other shortcomings in knowledge have been remediedthrough individual research and speaking with appli-cations engineers to create a quality, safe product.
7 Criticism & Credit This project went through both a design review phaseas well as a peer review phase. This allowed for ade-quate time to respond to design criticisms before wefinalized our designs.
8 Discrimination Neither of the designers have participated in discrimi-natory behavior as it pertains to marketing, creating,or designing to product.
9 Injurious Actions All claims about safety and product performance willbe verified before our product is ever released to ensurethat others will not be harmed.
10 Professional Development Through peer reviews and providing helpful advice
during time in the senior design lab, we hoped to fos-ter a learning-based environment of high ethical stan-dards.
22
-
7/24/2019 Senior Design Report by BS LH
27/34
Table 4: Requirements and Verifications
Requirements Verifications
LCD LCD The display powers on Connect display to input voltage and make
sure output shows up The display shows characters sent via serialconnection
Use the LiquidCrystal library for the Arduinoin order to write Hello World to display
Input Power Input Power
Input voltage source should be capable of out-putting 12V +/- 0.5V and at least 15A
Verify that under stresses of 5A, 10A, and 15Aprovided by an electronic load, the input sourcecan provide 12V with a 0.5V margin
Converters Converters Converters must output within 10mV of theoutput expected by
Output will be checked against the specifiedequation for an input of 11.5V, 12V, and 12.5V
Vout= 0.8V
1 +R1R2
Chip will be tested with a breakout board on
a breadboard using a standard linear analog po-tentiometer
Output voltage should vary linearly with thatresistance, with the output best fit line having a5% deviation from the mathematical model
Analog Potentiometers Analog Potentiometers The 10k potentiometer resistance must changelinearly
Sweep the resistance from minimum to maxi-mum, measuring resistance after each turn; thechange in resistance should be under 5% errorfrom a best linear fit line
Maximum 5% tolerance Compare the maximum resistance of the po-
tentiometer with the expected value; ensure thatthey are within 5% of each other
Digital Potentiometers Digital Potentiometers
Must respond properly to I2C communication Sweep input bits and observe change in resis-tance using a DMM
Linearity of resistance from near 0 to 50k Measure resistance at each code, or commandword, and plot output; the DNL and INL shouldbe under 1 LSB
Accuracy of resistance between modules Send max resistance code to module, checkoutput resistance. Difference between modulesshould be under 1%
23
-
7/24/2019 Senior Design Report by BS LH
28/34
Requirements and Verifications, cont.
Requirements Verifications
Resistor in Converter FB Resistor in Converter FB Resistor should be same value within 1% be-tween boards
Measure each resistor using DMM and verify-ing
Microcontroller Microcontroller Must be able to transmit I2C data By using the Arduino program, we will use a
test script to send a data counter script (from0x00 to 0xFF). We can verify the output us-ing a waveform decoder on the oscilloscope. Wecan also have another microcontroller read in thedatastream. There should be no difference
ADC should be accurate to 5mV with up to 1LSB of error
Using a precise voltage reference, sweep theinput reference by 1mV steps. Send the recordedcode to the serial output and verify that it changescorrectly
Linear Regulator Linear Regulator Output voltage accurate to 5% Since the output voltage is fixed, test regulator
on breadboard and measure accuracy with DMMShort Circuit Protection Short Circuit Protection Ability to handle shorts While two stackable modules, one with a cir-
cuit load and one without, are connected to thehub module, short the stackable module that isnot connected to the load. Confirm that thevoltage and current ripples are within 50mV and10mA, respectively.
B Code Samples
# i n c l u d e < S e r ia l . h >
# i n c l u d e < L i q u i d C ry s t a l . h >
int c l oc kP in = A 3;
int d a ta Pi n = A 4;
int s y nc Pi n = A 2;
int p ot Pi n = A 5;
L iq ui dC ry st al l cd (9 , 10 , 1 1, 12 , 13 , 1 4) ;
/ / 0 x 1 80 6
int en ab le Wi pe r [1 6] = {0 , 0 ,
0 , 1 , 1 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 , 0 } ;
/ / 0 x 1 30 2
24
-
7/24/2019 Senior Design Report by BS LH
29/34
int s e tW i pe r [ 16] = {0 , 0 ,
0 , 1 , 0 , 0 ,
1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 } ;
int NOOP [16] = {0 , 0 ,
0 , 0 , 0 , 0 ,0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 } ;
void s t r o b e C l o c k ( )
{
/ / S er ia l . pr in tl n (" S t ro be d C lo ck " );
d i g i t a l W r i t e ( c l o c k Pi n , L O W ) ;
d i g i t a l W r i t e ( c l o c k Pi n , H I G H ) ;
/ / d e l ay ( 3 0 0 ) ;
d i g i t a l W r i t e ( c l o c k Pi n , L O W ) ;
/ / d e l ay ( 3 0 0 ) ;
}
void s d o R e a d ( )
{
d i g i t a l W r i t e ( s y n c Pi n , L O W ) ;
int i = 0;
for ( i = 0; i < 16; i ++)
{
s t r o b e C l o c k ( ) ;
}
d i g i t a l W r i t e ( s y n c Pi n , H I G H ) ;
}
void d a t a W r i t e ( int * d at a )
{
d i g i t a l W r i t e ( s y n c Pi n , H I G H ) ;
d e l a y ( 1 0 0 ) ;
d i g i t a l W r i t e ( s y n c Pi n , L O W ) ;
int c o u n t ;
for ( c o un t = 0; c o un t < 1 6; c ou n t + +)
{
/ / S e r i al . p r i n t ( " D a t a V a l : " ) ;
/ / S e r i a l . p r i n t l n ( d a t a [ c o u n t ] ) ;d i g i t a l W r i t e ( d a t a Pi n , d a t a [ c o u n t ] ) ;
s t r o b e C l o c k ( ) ;
}
d i g i t a l W r i t e ( s y n c Pi n , H I G H ) ;
}
void p r i n t V o l t a ge L e v e l ( L i q u i d C r ys t a l m y LC D , int v d d , int l e v e l )
{
25
-
7/24/2019 Senior Design Report by BS LH
30/34
myLC D . s e t Cu r s o r (0 ,0);
myLC D . prin t ( " V o lt a ge : " );
myLC D . s e t Cu r s o r (9 ,0);
float o u tp ut Le ve l = l ev el / 1 02 4. 0 * float ( v d d ) ;
myLC D . prin t ( o u t p u t L e v e l );
myLC D . s e t Cu r s o r (15 ,0);
myLC D . prin t ( " V " );
myLC D . s e t Cu r s o r (0 ,1);
myLC D . prin t ( " C u rr e nt : ? " );
}
void s e t u p ( )
{
S e r i a l . b e g i n ( 9 6 0 0 ) ;
S e r i a l . p r i n t l n ( " S e tu p h as f i ni s he d " );
p i n M o d e ( c l o c k P i n , O U T P U T ) ;
p i n M o d e ( d a t a P i n , O U T P U T ) ;
p i n M o d e ( s y n c P i n , O U T P U T ) ;
d i g i t a l W r i t e ( s y n c Pi n , L O W ) ;
p i n M o d e ( p o t P i n , I N P U T ) ;
/ / s et u p t he L CD s n um be r o f c ol um ns a nd r ow s :
l c d . b e gi n ( 1 6 , 2 ) ;
// P ri nt a m es sa ge to t he LC D.l c d . p r i n t ( " h el lo , w o rl d ! ");
d e l a y ( 1 0 0 0 ) ;
d e l a y ( 1 0 0 0 ) ;
S e r i a l . p r i n t l n ( " e n a b l e W i p e r ");
d a t a W r i t e ( e n a b l e W i p e r ) ;
d e l a y ( 1 0 0 0 ) ;
}
int t i m ed e la y = 3 0 00 ;
int * l e v e l t oB y t e A r ra y ( int * i n p u tA r r , int l e v e l )
{
int i ;
for ( i = 1 5 ; i > 5 ; i - - )
{
i np ut Ar r [ i] = l ev el % 2 ;
S e r i a l . p r i n t ( i n p u t A r r [ i ] ) ;
l ev el > >= 1 ;
26
-
7/24/2019 Senior Design Report by BS LH
31/34
}
S e r i a l . p r i n t l n ( ) ;
return i n p u t A r r ;
}
void l o o p ( )
{
int i n p u tV o l t a ge = a n a l og R e a d ( p o t P in ) ;
S e r i a l . p r i n t l n ( i n p u t V o l t a g e ) ;
int * d a t a Ar r a y = l e v e l t oB y t e A r ra y ( t e s t r a nd o m , i n p u t Vo l t a g e ) ;
int i ;
for ( i = 0; i < 16; i ++)
{
S e r i a l . p r i n t ( d a t a A r r a y [ i ] ) ;
}
S e r i a l . p r i n t l n ( ) ;
S e r i a l . p r i n t l n ( " S en t d at a f ro m a na lo g p ot " );
d a t a W r i t e ( d a t a A r r a y ) ;
p r i n t V ol t a g e L ev e l ( l c d , 1 2 , i n p u t Vo l t a g e ) ;
d e l a y ( 2 0 0 ) ;
}
C Pictures
Figure 18: Digital Potentiometer Digital Word Input
27
-
7/24/2019 Senior Design Report by BS LH
32/34
Figure 19: Our final setup
28
-
7/24/2019 Senior Design Report by BS LH
33/34
Figure 20: Ripple with maximum allowed load capacitance (10F)
Figure 21: Ripple with 6muF load
29
-
7/24/2019 Senior Design Report by BS LH
34/34
Figure 22: Ripple with 4muF load
Figure 23: Ripple with no capacitor load