Repository files navigation 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.
MCAL
HAL
Service
Application
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 is consisted of the following:
Atmega32 Microcontroller.
LM016 character LCD.
TC72 SPI to temperature convertor.
4X3 Keypad.
PWM to voltage convertor module.
Calibration resistor.
About
Temperature controller with Real-Time Constraints on AVR-Atmega32 MCU
Resources
License
Stars
Watchers
Forks
You can’t perform that action at this time.