Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ELECTENG/COMPSYS 209 Teaching Matrial
# ELECTENG/COMPSYS 209 Teaching Material

- The repository contains teaching material developed for ELECTENG/COMPSYS 209
- This repository contains teaching material developed for ELECTENG/COMPSYS 209


# Suggested Changes
Expand Down
2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ <h1>Introduction</h1>
</p>
<h1>About ELECTENG/COMPSYS 209</h1>
<p>
Depletion of fossil fuels, irresponsible and inefficient utilization of energy, and consequent adverse impacts on the environment are current global concerns. These concerns have led to global awareness of renewable generation and sustainable utilization of energy in an attempt to reduce the reliance on oil, coal, and gas to generate electricity. Consequently, billions of dollars are being invested worldwide in energy-related research and development projects searching for efficient, cost-effective, and reliable technologies. Fueled by the significant investments made in the energy sector, the global renewable energy capacity has steadily increased over the last decade. To further promote the widespread use of renewable energy, effective new technologies such as decentralized energy generation (DEG), smart houses, and smart grids have been introduced recently. However, these new technologies essentially require some form of smart monitoring as well as control subsystems to allow for the efficient generation and sustainable use of energy.
Depletion of fossil fuels, irresponsible and inefficient utilization of energy, and consequent adverse impacts on the environment are current global concerns. These concerns have led to global awareness of renewable generation and sustainable utilization of energy in an attempt to reduce the reliance on oil, coal, and gas to generate electricity. Consequently, billions of dollars are being invested worldwide in energy-related research and development projects searching for efficient, cost-effective, and reliable technologies. Fuelled by the significant investments made in the energy sector, the global renewable energy capacity has steadily increased over the last decade. To further promote the widespread use of renewable energy, effective new technologies such as decentralized energy generation (DEG), smart houses, and smart grids have been introduced recently. However, these new technologies essentially require some form of smart monitoring as well as control subsystems to allow for the efficient generation and sustainable use of energy.
</p>
<p>
This project aims to design and develop an energy monitor that may be used in a smart house to measure and display the amount of energy consumed by appliances, thereby enabling better management and utilization of renewable energy. During this project, students will be working as part of a design team of four, who will undertake an investigation and subsequently design and develop an energy monitor.
Expand Down
12 changes: 6 additions & 6 deletions presentations/AnalogL1/presentation.html
Original file line number Diff line number Diff line change
Expand Up @@ -377,7 +377,7 @@
# Hardware Functional Requirements

- Sensors need to be designed to sense the voltage as well as the current
- Voltage sensor needs to produce a scalled down **voltage signal**, v<sub>v(t)</sub>, representative of v<sub>L(t)</sub>
- Voltage sensor needs to produce a scaled down **voltage signal**, v<sub>v(t)</sub>, representative of v<sub>L(t)</sub>
- Current sensor needs to produce a **voltage signal**, v<sub>i(t)</sub>, representative of load current, i<sub>L(t)</sub>
- The peak-to-peak amplitude of v<sub>v(t)</sub> and v<sub>i(t)</sub> should be 5V or lower
- Amplifiers need to be designed to level-shift the **voltage signals** derived from the sensors
Expand All @@ -399,7 +399,7 @@

- Often there are multiple suitable solutions to an engineering problem
- Selection of final solution is based on technical merits as well as non-technical aspects like cost, time-to-market, resource requirements, etc.
- Design is therefore an interactive process to strike a balance between different tradeoffs in order to reach an appropriate and refined solution to an engineering problem
- Design is therefore an interactive process to strike a balance between different trade-offs in order to reach an appropriate and refined solution to an engineering problem
- Sometimes this might not be the most technically superior solution

---
Expand Down Expand Up @@ -768,7 +768,7 @@
- A pair of back-to-back Zener diodes, Z<sub>1</sub> & Z<sub>2</sub>, can be added for protection against for example voltage surges that might by present across v<sub>L</sub>
- Under normal operation the Zener diodes do not impact the behavior of the voltage divider
- When selecting R<sub>a</sub> & R<sub>b</sub> we also need to minimize power dissipation in them while making sure sufficiently large signal-to-noise ratio (SNR) and low sensitivity to the environment
- These are contradicting requirements and design is about making a good tradeoff
- These are contradicting requirements and design is about making a good trade-off

---
name: S29
Expand Down Expand Up @@ -840,7 +840,7 @@
- A pair of back-to-back Zener diodes, Z<sub>3</sub> & Z<sub>4</sub>, can be added for protection against for example current surges that might by present in i<sub>L</sub>
- Under normal operation the Zener diodes do not impact the behavior of the voltage divider
- When selecting R<sub>s</sub> we also need to minimize power dissipation in them while making sure sufficiently large signal-to-noise ratio (SNR) and low sensitivity to the environment
- These are contradicting requirements and design is about making a good tradeoff
- These are contradicting requirements and design is about making a good trade-off

---
name: S29
Expand All @@ -852,7 +852,7 @@
- Highest I<sub>L(RMS)</sub> is at lowest V<sub>L(RMS)</sub> and highest VA specified (i.e., I<sub>L(RMS)</sub> = 7.5VA/13.6V = 0.55A<sub>RMS</sub>)
- Using this information we can derive the relation
\\[ P\_{is-loss} = I^2\_{L(RMS)} R\_s \quad \Rightarrow \quad 0.05 \geq 0.55^2 R\_s \quad \Rightarrow \quad R\_s \leq 165 m\Omega \\]
- If R<sub>s</sub> is choosen as 160m&Omega;, V<sub>is</sub> measured at both highest and lowest i<sub>L</sub> are
- If R<sub>s</sub> is chosen as 160m&Omega;, V<sub>is</sub> measured at both highest and lowest i<sub>L</sub> are
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Warning
This may cause merge conflicts with #3.

To resolve this conflict, accept the changes from #3 and manually apply this typo fix by changing choosen -> chosen.

\\[ V\_{is(pk-pk)-highest} = 0.55\times 2\sqrt{2}\times 0.16 \approx 250mV \\]
\\[ V\_{is(pk-pk)-lowest} = 0.16\times 2\sqrt{2}\times 0.16 \approx 72mV\\]
- To determine an appropriate value for R<sub>s</sub> we need to minimize P<sub>vs-loss</sub>, size and cost while making sure sufficiently large signal-to-noise ratio (SNR)
Expand Down Expand Up @@ -961,7 +961,7 @@

MathJax.Hub.Configured();

//Terminal style highligting code
//Terminal style highlighting code
var highlighted = document.querySelectorAll("code.terminal span.hljs-ansi");
Array.prototype.forEach.call(highlighted, function(next) {
next.insertAdjacentHTML("beforebegin", next.textContent);
Expand Down
2 changes: 1 addition & 1 deletion presentations/AnalogL5/presentation.html
Original file line number Diff line number Diff line change
Expand Up @@ -790,7 +790,7 @@

MathJax.Hub.Configured();

//Terminal style highligting code
//Terminal style highlighting code
var highlighted = document.querySelectorAll("code.terminal span.hljs-ansi");
Array.prototype.forEach.call(highlighted, function(next) {
next.insertAdjacentHTML("beforebegin", next.textContent);
Expand Down
2 changes: 1 addition & 1 deletion presentations/AnalogL6/presentation.html
Original file line number Diff line number Diff line change
Expand Up @@ -843,7 +843,7 @@

MathJax.Hub.Configured();

//Terminal style highligting code
//Terminal style highlighting code
var highlighted = document.querySelectorAll("code.terminal span.hljs-ansi");
Array.prototype.forEach.call(highlighted, function(next) {
next.insertAdjacentHTML("beforebegin", next.textContent);
Expand Down
12 changes: 6 additions & 6 deletions presentations/DigitalL1/presentation.html
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@
- Reasons for using a microcontroller in your design
- Features that needs to be considered when selecting a microcontroller
- Key features of ATmega328P and ATmega328PB microcontrollers
- Revising C programing basics
- Revising C programming basics
- Variables and data types
- Operators
- Control statements & functions
Expand Down Expand Up @@ -811,7 +811,7 @@

//IF-ELSE statements - E.g. Checking if NUMTOCHECK is a prime number
for(uint8_t cnt2 =2; cnt2 < NUMTOCHECK; cnt2++){
if( (NUMTOCHECK % cnt2) == 0 ){ //If NUMTOCHECK can be divided by a nummber less than that its not a prime
if( (NUMTOCHECK % cnt2) == 0 ){ //If NUMTOCHECK can be divided by a number less than that its not a prime
is_prime = 0; //Clears the flag
break; //Breaks the FOR loop as no need to continue
}
Expand Down Expand Up @@ -851,11 +851,11 @@

bool check_prime(uint8_t chk_no){ //Function returns true if chk_no is a prime
for(uint8_t cnt1=2; cnt1 < chk_no; cnt1++){
if( (chk_no % cnt1) == 0){ //If chk_no can be divided by a nummber less than that its not a prime
if( (chk_no % cnt1) == 0){ //If chk_no can be divided by a number less than that its not a prime
return false; //Return false to the function caller
}
}
return true; //If chk_no cannot be divided by a nummber less than that its a prime
return true; //If chk_no cannot be divided by a number less than that its a prime
}
```
]
Expand Down Expand Up @@ -890,7 +890,7 @@
- This means we can write to them in code just like any other variable
- The manufacturer provides files with macros for the address of each peripheral
- Using these we can refer to peripherals by name (e.g. DDRB), rather than their address (e.g. 0x0024)
- In our case *#inlcude <span>&#60;</span>avr/io.h<span>&#62;</span>* defines the peripheral names we will use
- In our case *#include <span>&#60;</span>avr/io.h<span>&#62;</span>* defines the peripheral names we will use
]
.right-column[
.center[
Expand Down Expand Up @@ -1124,7 +1124,7 @@

MathJax.Hub.Configured();

//Terminal style highligting code
//Terminal style highlighting code
var highlighted = document.querySelectorAll("code.terminal span.hljs-ansi");
Array.prototype.forEach.call(highlighted, function(next) {
next.insertAdjacentHTML("beforebegin", next.textContent);
Expand Down
6 changes: 3 additions & 3 deletions presentations/DigitalL2/presentation.html
Original file line number Diff line number Diff line change
Expand Up @@ -538,7 +538,7 @@
count: false
.logo-title[]

# The ATmeage328P UART
# The ATmega328P UART
### Configuring and Using

---
Expand Down Expand Up @@ -963,7 +963,7 @@
- It is critical that you complete the pre-lab of the UART lab before your lab session so that you can get help with the later parts of the lab
- Please do not waste the opportunity to get support in the labs
- With many students in the class, closer to due dates, there will be limited opportunities to ask for help
- You need to demonstrate UART transmission during your midsemester review
- You need to demonstrate UART transmission during your mid-semester review

---

Expand Down Expand Up @@ -1059,7 +1059,7 @@

MathJax.Hub.Configured();

//Terminal style highligting code
//Terminal style highlighting code
var highlighted = document.querySelectorAll("code.terminal span.hljs-ansi");
Array.prototype.forEach.call(highlighted, function(next) {
next.insertAdjacentHTML("beforebegin", next.textContent);
Expand Down
2 changes: 1 addition & 1 deletion presentations/DigitalL3/presentation.html
Original file line number Diff line number Diff line change
Expand Up @@ -937,7 +937,7 @@

MathJax.Hub.Configured();

//Terminal style highligting code
//Terminal style highlighting code
var highlighted = document.querySelectorAll("code.terminal span.hljs-ansi");
Array.prototype.forEach.call(highlighted, function(next) {
next.insertAdjacentHTML("beforebegin", next.textContent);
Expand Down
2 changes: 1 addition & 1 deletion presentations/DigitalL4/presentation.html
Original file line number Diff line number Diff line change
Expand Up @@ -658,7 +658,7 @@

MathJax.Hub.Configured();

//Terminal style highligting code
//Terminal style highlighting code
var highlighted = document.querySelectorAll("code.terminal span.hljs-ansi");
Array.prototype.forEach.call(highlighted, function(next) {
next.insertAdjacentHTML("beforebegin", next.textContent);
Expand Down
4 changes: 2 additions & 2 deletions presentations/DigitalL5/presentation.html
Original file line number Diff line number Diff line change
Expand Up @@ -768,7 +768,7 @@

# Code for the Example PWM

- An initialization function can be developed for the ATmeage328P to setup TC0 in the fast PWM mode with a Top of 5 and a compare value of 3
- An initialization function can be developed for the ATmega328P to setup TC0 in the fast PWM mode with a Top of 5 and a compare value of 3

.codes[
```c
Expand Down Expand Up @@ -881,7 +881,7 @@

MathJax.Hub.Configured();

//Terminal style highligting code
//Terminal style highlighting code
var highlighted = document.querySelectorAll("code.terminal span.hljs-ansi");
Array.prototype.forEach.call(highlighted, function(next) {
next.insertAdjacentHTML("beforebegin", next.textContent);
Expand Down
2 changes: 1 addition & 1 deletion presentations/DigitalL6/presentation.html
Original file line number Diff line number Diff line change
Expand Up @@ -1028,7 +1028,7 @@

MathJax.Hub.Configured();

//Terminal style highligting code
//Terminal style highlighting code
var highlighted = document.querySelectorAll("code.terminal span.hljs-ansi");
Array.prototype.forEach.call(highlighted, function(next) {
next.insertAdjacentHTML("beforebegin", next.textContent);
Expand Down
2 changes: 1 addition & 1 deletion presentations/Objectives/presentation.html
Original file line number Diff line number Diff line change
Expand Up @@ -493,7 +493,7 @@

MathJax.Hub.Configured();

//Terminal style highligting code
//Terminal style highlighting code
var highlighted = document.querySelectorAll("code.terminal span.hljs-ansi");
Array.prototype.forEach.call(highlighted, function(next) {
next.insertAdjacentHTML("beforebegin", next.textContent);
Expand Down
2 changes: 1 addition & 1 deletion presentations/Welcome/presentation.html
Original file line number Diff line number Diff line change
Expand Up @@ -348,7 +348,7 @@

MathJax.Hub.Configured();

//Terminal style highligting code
//Terminal style highlighting code
var highlighted = document.querySelectorAll("code.terminal span.hljs-ansi");
Array.prototype.forEach.call(highlighted, function(next) {
next.insertAdjacentHTML("beforebegin", next.textContent);
Expand Down
8 changes: 4 additions & 4 deletions presentations/intro/presentation.html
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@

# Distributed Generation

- Decentralized energy generation (DEG) is gaining popularity due to social, economical and environmental benifits it offers
- Decentralized energy generation (DEG) is gaining popularity due to social, economical and environmental benefits it offers
- Energy is generated locally at or near point of consumption using micro-scale renewable systems

.center[
Expand Down Expand Up @@ -364,7 +364,7 @@
.center[
<iframe width="672" height="378" src="https://www.youtube-nocookie.com/embed/bP4099oz7KU" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
.credits[
Students design and develop the power electronics required to wireleslly power a RC car. The best teams compete on the last day
Students design and develop the power electronics required to wirelessly power a RC car. The best teams compete on the last day
]
.credits[
of the semester each year to find a winner. This is the final race, in 2018, where the top 2 teams were equally matched.
Expand Down Expand Up @@ -753,7 +753,7 @@

# Progress Review, Interview & Deliverables

- Just before the midsemester break we will review your progress
- Just before the mid-semester break we will review your progress
- An analog circuit that meets all the needs of the project needs to be successfully designed, simulated and validated
- An embedded software program that can transmit data from the ATmega328P/PB via UART to a terminal should be successfully implemented and validated
- A short interview will be held to assess your circuit (2%), software (1%) and your understanding (3%)
Expand Down Expand Up @@ -955,7 +955,7 @@

MathJax.Hub.Configured();

//Terminal style highligting code
//Terminal style highlighting code
var highlighted = document.querySelectorAll("code.terminal span.hljs-ansi");
Array.prototype.forEach.call(highlighted, function(next) {
next.insertAdjacentHTML("beforebegin", next.textContent);
Expand Down