Aims
(i) To design, simulate, implement and test a series of external peripheral interfaces using Keil uVision and an STM32F439 microcontroller.
(ii) To develop an understanding of the design workflow when writing code (firmware) for an ARM-based microcontroller using an Integrated Development Environment (IDE) such as Keil Vision.
(iii) To use the C programming language to develop comprehensive firmware that controls integrated peripherals such as ADC, Timers, GPIO and the UART.
(iv) To use the STM32F439 datasheets to determine and interpret essential characteristics of the microcontroller.
(v) To develop a large-scale C project comprised of numerous sub-modules that are required to work together to achieve a common complex task.
Introduction
In this project, you will use Keil uVision to develop a complex system that builds on the knowledge gained from previous laboratory assessments. In developing the project, you will work with one additional student (maximum group size of two students) enrolled in the same laboratory session and demonstrate your achievements to the Laboratory Demonstrator. The application that your group will develop is to be written in C and deployed to a physical STM32F439.
The assessment for the project consists of two components – a report and a demonstration which are equally weighted at 15?ch of the overall course grade (30% total). The project runs over three weeks (weeks 8, 9 and 10) and the final demonstration will occur during your timetabled laboratory session time in Week 11. The report (in PDF format) and corresponding code is to be submitted to Canvas by Friday, Week 12 at 11:59pm. Note that a late penalty of 10 marks per 24-hour period (inclusive of weekends) will apply for all components that are to be submitted to Canvas.
All work must be original, and plagiarism will be taken very seriously. You must develop all the code between the group and hence reference code from external sources is not permitted (apart from the STM32F439_Template.zip file available on Canvas).
The project should follow a traditional design cycle where the system is developed ‘on paper’ before proceeding to the actual firmware implementation. Important aspects of the code shouldbe simulated and the laboratory time used to deploy the actual developed code to the hardware. The assessment will have a strong focus on verification of the simulation and how the firmware was developed.
In this project, you are required to develop a ‘Home Management System (HMS)’ using the RMIT STM32F439 Development platform. The aim of the Home Management System is to control a set of virtual sensors and corresponding outputs (simulated fan / heater and light control). The STM32F439 is to be used as a central controller with a range of the internal peripherals used to emulate the sensors.
The temperature sensor is emulated by the analogue input, with an ADC value of 0 equating to a temperature of -5℃ and 4095 (full-scale) equalling 45℃. Assuming a linear relationship between the ADC value and simulated temperature, an expression will need to be derived to determine the value to be displayed on the terminal window.
HMS to PC Communication Protocol
In terms of sending data from the PC back to the HMS, a simplified protocol is to be used as illustrated in Table 3. The header byte is 0x40 (ASCII ‘@’) followed by a second byte which is used to turn on / off the cooling, heating, fan and light control lines as described in Section 3. Note that the heating and cooling outputs are mutually exclusive.
PC to HMS Communication Protocol
The Light and Fan switches operate as toggle buttons. For example, assume that the current status of a switch is ‘on’. If a press of the switch is detected, then the device will turn ‘off’. If another press is detected, the device will turn back ‘on’. Figure 2 illustrates a simplified electrical interpretation of a single switch being pressed. It is assumed that the switch is high (logic 1) when not pressed and low (logic 0) when pressed.
In Section 3, a switch should only be registered after it has been released (rising edge detection). One way that this can be achieved is by detecting the first edge transition at ‘x’ (falling-edge) and then sampling the I/O pin for at least 50ms. If the button is released prior to 50ms (T < 50ms>
This project requires students to build a Home Management System (HMS). The specifications of the system are as follows:
a) At 1.0Hz the system parameters are to be sent out via the UART (to the PC) for monitoring. The default set of parameters are:
b) The switches to control the light (Light Switch) and fan (Fan Switch) are to operate in a ‘toggle’ mode. For example, pressing the switch once will turn on / off the function (latched output). The switch must be pressed for a minimum of 50ms to be successfully registered.
c) The target temperature to be maintained is 23℃. If the temperature is below 21℃, then the heater and fan outputs should be turned on. If the temperature is above 25℃, the cooling and fan outputs should be turned on. The heater and cooling outputs are mutually exclusive (only one can be on at a given point in time). The user can press the fan switch to automatically switch the fan off for a period of 20 seconds (the system will still be in heater / cooling mode). If the temperature is between 22.5℃ and 23.5℃ then both the heater and cooling modes turn off (1℃ of hysteresis). The fan will still be active when in this hysteresis band.
d) The light intensity sensor is used to detect whether a preset illumination already exists. If SW4 is pressed (and held), then it indicates that the room is fully lit and pressing the Light Switch will not turn on the light output. If SW4 is not pressed (and held), then the lights can activate by pressing the Light Switch as described in 3b).
e) Via the UART, the light can be turned on / off irrespective of the light intensity value. If the UART light turn off command and light switch press occur within one second of each other, then the UART command will take priority.
f) Equally, via the UART, the heating / cooling can be turned on or off, however, it will consider the current temperature. If the temperature is between 16℃ and 25℃, then the command to turn on / off the heating / cooling / fan will be accepted for 15 seconds and then the automatic control (as indicated in Section 3c) will resume. If the temperature range is above 25℃ or below 16℃, the UART command to control the heater / cooling and fan will be ignored. Should the temperature value change during the 15 second UART control, the automatic control should not resume.
Project Technical Demonstration
You will be required to demonstrate your complete project to the Laboratory Demonstrator during your allocated laboratory slot in Week 11. Each group will have approximately seven (7) minutes to describe and demonstrate your technical achievements. A further three (3) minutes will be made available for questions. Additional material, such as diagrams and images can be used to support the discussion. The demonstration component accounts for 15% of the total available course grade. Note that the demonstration is informal and will generally involve viewing the project outcomes around one of the laboratory computers. You are requested to ensure that your project is functional prior to the assessment time. No time compensation will be given if the project is not ready to view at the scheduled time.
Project Technical Report
You are required to individually submit a group final project technical report (maximum of ten (10) pages in body of report) describing the work undertaken during the project. The report should be written in such a way that it can be read and understood by another Engineer with a background in STM32F439 design and development. Note that the same report is to be submitted by both group members.
This EEET2096 – Engineering has been solved by our PHD Experts at UnilearnO. Our Assignment Writing Experts are efficient to provide a fresh solution to this question. We are serving more than 10000+ Students in Australia, UK and US by helping them to score HD in their academics. Our Experts are well trained to follow all marking rubrics and referencing style.
Be it a used or new solution, the quality of the work submitted by our assignment experts remains unhampered. You may continue to expect the same or even better quality with the used and new assignment solution files respectively. There’s one thing to be noticed that you could choose one between the two and acquire an HD either way. You could choose a new assignment solution file to get yourself an exclusive, plagiarism (with free Turnitin file), expert quality assignment or order an old solution file that was considered worthy of the highest distinction.
SHN6023 : Mental Health, Resilience and Recovery Across the Life-course – Case Study Assignment
Read MoreBUS6009 : International Business Management – Written Case Report
Read MoreBUS6018 : PROJECT MANAGEMENT – PROJECT PLAN
Read MoreHCM4003 : Communication and Interprofessional Collaboration – Podcast
Read MoreQHO335 : Business Project – Critical evaluation of an organisation’s response during the cost-of-living crisis in the UK
Read MorePRM7006 : Management of Traditional Projects – PID Assignment
Read MoreBMA5108-20H : International Business – Strategic Evaluation
Read MoreCA5055 : Airline Revenue and Pricing Management – REPORT
Read MoreCA5056 Aviation Psychology and Human Factors Assignment brief
Read MoreHow can i assist with youGBEN5006 : Intrapreneurial Development – Portfolio
Read More