Skip to content

Latest commit

 

History

History
34 lines (32 loc) · 1.6 KB

File metadata and controls

34 lines (32 loc) · 1.6 KB

Embedded-Temperature-Controlling-System

  • This system is designed to provide a temperature controlled functionality with some timing constraints.
  • The system provides the ability to reach a targeted temperature requested by a user interface.
  • It provides information for the user about the system state, the current temperature and the selected set temperature.
  • It enables the user to calibrate the heater output through a potentiometer interfaced with ADC.

Applied Concepts:

  • layered architecture.

    1. MCAL
    2. HAL
    3. Service
    4. Application
  • Design Patterns:

    • Proxy pattern: all the micro-controller abstraction layer (MCAL) is implemented with a proxy pattern that encapsulates and abstracts the hardware.
    • Periodic Polling: the core Scheduler of the main application is implemented with periodic polling pattern
    • State Machine: system states are treated as state machine.
  • Real-time Design Constraints: Some components required periodicity and maximum jitter, such as:

    • Temperature sensor update: every 200ms.
    • The calibrator update: every 500ms.
    • LCD Animation steps: every 100ms.
    • Heating checker: checks if the system doesn't reach the targeted temperature for 3 consecutive minutes.
    • Jitter is assumed 10% of periodicity of each component.

System Components

System is consisted of the following:

  1. Atmega32 Microcontroller.
  2. LM016 character LCD.
  3. TC72 SPI to temperature convertor.
  4. 4X3 Keypad.
  5. PWM to voltage convertor module.
  6. Calibration resistor.

System States Flow