Construction and Programming of DC Sensor Stystems
Overall Course Objectives
In the first half, the course introduces the student to analogue electrical DC circuits with the aim of constructing prototypes of systems for measuring DC signals. Students are introduced to fundamental principles, which are used in assignments and lab-exercises, where circuits are soldered on printed circuit boards and currents and voltages are measured.
In the second half, the course introduces the student to the microcontroller with the aim of constructing prototypes of digital measuring systems. The student receives a detailed introduction to the C programming language. An Arduino Uno R3 microcontroller is used to digitize sensor signals, to register user input, and to control motors, displays, and other devices.
See course description in Danish
Learning Objectives
- read diagrams of analogue and digital systems, identify the types of components in the system, recognize interconnections between components and annotate electric circuit diagrams using correct polarity conventions for voltage change and current flow.
- apply Ohm’s and Kirchhoff’s laws, reduce circuits with resistors in series and parallel connections, including application of the Delta-Wye transformation, and apply the concepts of voltage dividers, current dividers, Thevenin and Norton models to simplify circuit analysis.
- establish nodal and mesh equations for passive and active circuits with both dependent and independent voltage and current sources and use super-nodes and super-loops when required. Use principles of linearity and source superposition in linear circuits with multiple current and voltage sources.
- design, construct, and validate analogue sensor systems combining sensor circuits and operational amplifier circuits, with justified choice between inverting, non-inverting, and summing amplifier circuits and circuits with offset adjustment.
- explain the electrical properties of capacitors and inductors, derive differential equations for circuits including capacitors and inductors and solve the resulting differential equations.
- write programs to solve linear systems of equations and to compute voltages, currents, resistance and power dissipation in electrical circuits.
- explain and classify the architecture of the ATmega 328p microcontroller, explain and use the on-chip subsystems (e.g.: ALU, registers, timers, IO ports, program counter) and explain the types and applications of on-chip memories in the ATmega 328p.
- explain the principles of the binary and hexadecimal number systems and explain the binary representation of the data variable types available in standard C and Arduino C. For a given application justify the most suited variable type to use and demonstrate the use of type casting.
- write programs using Arduino C and standard C, using conditionals (if, case/switch,?-: operator), loop structures (for, while, do while), built-in and user-defined functions and bit-level operations on registers and IO ports.
- connect external components to an Arduino Uno R3, and program it to perform analogue-to-digital conversion (ADC), interface with LCD displays, LEDs, RGBs, DC motors, push buttons and handle issues like switch bouncing, current limiting resistors and pull-up/pull-down resistors.
- connect external components to an Arduino Uno R3 and with no aid of others program it to function as a digital measurement system (e.g.: voltmeter, ohmmeter, thermometer and light meter).
- solder components on a printed circuit board according to a circuit diagram, validate the assembled circuit using a multimeter, function generator, and oscilloscope, and correct errors in the assembled circuit.
Course Content
Sensor technologies: Thermistors and light dependent resistors.
Passive electrical circuits: Ohm’s law, Kirchhoff’s laws for electrical circuits, series and parallel components, voltage divider, current divider, nodal analysis, mesh analysis, dependent and independent sources, linearity and superposition, Thevenin and Norton equivalent models.
Active electrical circuits: the ideal operational amplifier, voltage follower, inverting and non-inverting amplifier circuits, summing amplifiers and amplifiers with offset adjustment.
Circuits with capacitors and inductors: Current-voltage relationships, deriving and solving differential equations.
Tools for circuit analysis: Python, Maple or other tools of choice.
Tools for circuit construction: Breadboard, Veroboard, predesigned circuit boards, multimeter, function generators, oscilloscopes, and solder equipment.
Digital systems: Arduino Uno R3 system, ATmega 328P microcontroller, push buttons, LCD displays, LEDs, RGB LED, DC motors, current limiting resistors, external and internal pull-up resistors, digitalization of low frequency signals.
Programming in standard C: Type declaration, mathematical operations, user-defined functions, for and while loops, if/case blocks, bit manipulation with Arduino C and with plain C. Reading from and writing to microcontroller registers and IO ports.
Possible start times
- 36 – 49 (Mon 13-17)
- 36 – 49 (Tues 8-12)
- 36 – 49 (Fri 8-12)
Teaching Method
Lectures, exercises, quizzes, lab assignments.
Faculty
Remarks
This course is followed by 22462 Construction and Programming of AC Sensor Systems.
Participants must buy and bring their own Arduino Uno Starter kit. It is recommended to buy “Elegoo – The most complete starter kit for UNO” several months before semester start. An Arduino Uno R4 cannot be used in the course, as it is completely different from the microcontroller used in the lectures and exsercises.
Limited number of seats
Minimum: 10, Maximum: 90.
Please be aware that this course has a minimum requirement for the number of participants needed, in order for it to be held. If these requirements are not met, then the course will not be held. Furthermore, there is a limited number of seats available. If there are too many applicants, a pool will be created for the remainder of the qualified applicants, and they will be selected at random. You will be informed 8 days before the start of the course, whether you have been allocated a spot.




