Course Websites

ECE 437 - Sensors and Instrumentation

Last offered Fall 2020

Official Description

Hands-on exposure to fundamental technology and practical application of sensors. Capacitive, inductive, optical, electromagnetic, and other sensing methods are examined. Instrumentation techniques incorporating computer control, sampling, and data collection and analysis are reviewed in the context of real-world scenarios. Course Information: 3 undergraduate hours. 3 graduate hours. Prerequisite: ECE 329.

Related Faculty

Subject Area

  • Biomedical Imaging, Bioengineering, and Acoustics

Course Director

Description

This laboratory course gives senior and graduate students in ECE a hands-on introduction to the fundamental technology and practical application of sensors. Capacitive, inductive, optical, electromagnetic, and other sensing methods are examined. Instrumentation techniques incorporating computer control, sampling, and data collection and analysis are reviewed in the context of real-world scenarios.

Goals

  • The goal of this course is to give senior and graduate students in engineering a hands-on introduction to the fundamental technology and practical applications of sensors. Various sensors, including capacitive, inductive, ultrasonic, accelerometers, image sensors and others will be covered in the course.
  • Instrumentation techniques incorporating computer control, sampling, and data collection and analysis are reviewed in the context of real-world scenarios.
  • The course is based around a custom board equipped with various sensors, such as a high speed camera, touch sensor, humidity sensor, temperature sensor, pressure sensor, accelerometer and position sensor.
  • The board interfaces with these sensors via an FPGA device and it can also communicate with a PC via USB 3.0 interface.
  • Students will use Verilog language to program FPGA devices and communicate with various sensors and PC

Topics

•Introduction to Verilog and to Opal Kelly FPGA board.
•Introduction to programming state machines in Verilog.
•Computer controlled instrumentation via Python.
•Temperature sensors and introduction to I2C interface protocol.
•Capacitie sensors and introduction to USB interface protocol.
•Accelerometer and magnetometer sensors.
•High speed image sensor.

Detailed Description and Outline

This course is designed to provide senior and graduate students in engineering a hands-on introduction to the fundamental technology and practical applications of sensors. Various sensors, including capacitive, inductive, ultrasonic, accelerometers, image sensors and others will be covered in the course.

Topics:

•Introduction to Verilog and to Opal Kelly FPGA board.
•Introduction to programming state machines in Verilog.
•Computer controlled instrumentation via Python.
•Temperature sensors and introduction to I2C interface protocol.
•Capacitie sensors and introduction to USB interface protocol.
•Accelerometer and magnetometer sensors.
•High speed image sensor.

Computer Usage

Students will will learn to use Verilog, Python through lab exercises focused on understanding sensors. Students will lean how to use Xilinx Vivado software.

Topical Prerequisites

ECE 210 and ECE 220

Texts

online lecture notes

Course Goals

The goal of this course is to give senior and graduate students in Electrical and Computer Engineering a hands-on introduction to the fundamental technology and practical application of sensors and instruments. Capacitive, optical, ultrasonic, and other sensing methods are examined. Instrumentation techniques incorporating computer control, sampling, and data collection and analysis are reviewed in the context of real-world scenarios. Open-ended laboratory activities help to develop students’ analytical skills.

Instructional Objectives

A. By the completion of 21 lectures (halfway mark), the students should have been introduced to the following and be able to do:

  1. Develop skills to write, debug and simulate finite state machines in Verilog hardware description language using Xilinx Vivado tools. (1,2,6,7)
  2. Develop skills to design test benches using Xilinx simulation tools to evaluate and debug the performance of code written in Verilog. (1,2,6,7)
  3. Develop skills to emulate code written in Verilog using JTAG tools. (2,6,7)
  4. Understand the workings and state machine of I2C serial protocol. (3,6,7)
  5. Design, write, debug, simulate and emulate Verilog code for reading and writing data to and from sensors using I2C serial protocol. (1,2,6,7)
  6. Understand principles of data acquisition and explore bandwidth-power tradeoffs. (3,6,7)
  7. Design Verilog and Python code to send and receive low bandwidth data between FPGA and PC via USB 3.0 protocol. (1,2,5,6,7)
  8. Understand the working principles of temperature sensors. (3,6,7)
  9. Design Verilog and Python code to send and receive data from a temperature sensor and PC via USB 3.0 protocol. (1,2,5,6,7)
  10. Demonstrate a working prototype of a temperature sensor. (3,5)
  11. Understand noise and linearity issues in temperature sensors. (1,6,7)
  12. Understand how to evaluate temperature sensor performance from datasheet. (3,6,7)
  13. Explain the operating principles, advantages, and disadvantages of temperatures sensors. (1,3,5)

B. By the end of the course (semester) students should be able to:

  1. Understand the working principles of capacitive proximity sensors. (1,3,6,7)
  2. Design Verilog and Python code to send and receive data from a capacitive proximity sensor and PC via USB 3.0 protocol. (1,2,5,6,7)
  3. Demonstrate a working prototype of a capacitive proximity sensors. (3,5)
  4. Explain the operating principles, advantages, and disadvantages of capacitive proximity sensors. (1,3,6,7)
  5. Understand how to evaluate capacitive sensor performance from datasheet. (1,6,7)
  6. Use Python to communicate with various instruments, such as power supplies, multimeters and oscilloscopes. (1,5,6,7)
  7. Develop test benches in Python for automatic data acquisition from computer-controlled instruments. (2,5,6,7)
  8. Design Verilog and Python code to send and receive high bandwidth data between FPGA and PC via USB 3.0 protocol. (1,2,5,6,7)
  9. Investigate the fundamental limitations of data acquisition systems. (1,2,5,6,7)
  10. Explain the working principles of CMOS image sensors. (1,3,5)
  11. Explain the operating principles, advantages, and disadvantages of photodiodes. (1,3,5)
  12. Explain the working principles of polarization image sensors. (1,3,5)
  13. Design Verilog and Python code to send and receive data from an image sensor and PC via USB 3.0 protocol. (1,2,5,6,7)
  14. Demonstrate a working prototype of an image sensors. (3,5)
  15. Explain the operating principles, advantages, and disadvantages of the accelerometer sensors. (1,3,5)
  16. Design Verilog and Python code to send and receive data from multitude of sensors, including image sensor, temperature, capacitive, accelerometer, etc. (1,2,5,6,7)
  17. Demonstrate a working prototype where real-time data is squired from multitude of sensors. (3,5)
TitleSectionCRNTypeHoursTimesDaysLocationInstructor
Sensors and InstrumentationAB149833LAB00900 - 1150 T  4022 Electrical & Computer Eng Bldg 
Sensors and InstrumentationAB249832LAB00900 - 1150 W  4022 Electrical & Computer Eng Bldg 
Sensors and InstrumentationAB349834OLB00900 - 1150 T    
Sensors and InstrumentationAB474813OLB00900 - 1150 W    
Sensors and InstrumentationAL49831OLC31400 - 1520 M    Viktor Gruev