Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

Coursework Assignment

Design of a Washing Machine Controller (WMC)

Module Name: Further Electronic Design

Module Code: 6406ELE

Level: 6

Credit Rating: 20

Weighting: 100%

Introduction

The objective is to design the finite state machine for a washing machine. In this assignment, students are required to

· Understand the hardware elements of a typical FPGA;

· Analyze a hardware design problem and produce suitable design solution using state machine design, and practice with hardware description language;

· Simulate the behavior of the circuit;

· Synthesize and verify the design for FPGA hardware.

· Design the system with signal from sensors and actuators.

· Analyze a hardware design problem and produce suitable design solution using microcontroller and human/physical interfaces.

· Write program using assembly language for the microcontroller.

Learning Outcomes Assessed

LO1 Evaluate digital system design and integration including ALUs and FSMs.

LO2 Design, simulate, test and implement programmable logic based systems using VHDL.

LO3 Design and implement microprocessor based analogue and digital systems.

LO4 Design peripheral components for digital and analogue systems power supplies, bus structures, memories and interfacing/signal processing circuits.

This assignment will assess elements of the above learning outcomes.

Coursework Specification

This coursework contains parts.

Part A: (30%)

In this part, you are required to design a washing machine controller (WMC) using a Finite State Machine (FSM). The machine follows the sequences through the following 4 stages:

Soak → Wash → Rinse → Spin

To simplify your design, you can assume the transition between two stages is achieved by pressing one push button. You can also use some of the LEDs as the indicator for the current stage. Finally, your design should be simulated in Xilinx VIVADO software using VHDL.

Part B: (50 %)

You are required to re-design your washing machine controller (WMC) using a Finite State Machine to achieve a more complex system. As a minimum requirement, the machine follows the sequences through the following 4 stages:

Soak → Wash → Rinse → Spin

There is a “double wash” switch, which, if turned on, leads to a second wash and rinse cycle to occur. In other words, the “double wash” switch causes the following 6-stage sequence:

Soak Wash Rinse Wash Rinse Spin

The amount of time for each stage is as below:

Soak: 1sec; Wash: 3sec; Rinse: 5sec.

You should use the 100 MHz clock signal as the clock signal of your state machine to control the timing of cycling, and to display the time on the 7-segment display units.

You should implement the design in Xilinx VIVADO and simulate and verify the functionalities. Use some of the 8 LEDs as the indicator of the current stage. Also you can use push buttons to simulate laundry token deposition and the “double wash” switch.

You are encouraged to improve your design to build a more realistic washing machine controller. For example, in practice, for safety consideration, if the lid of the machine is raised during the spin stage, the machine needs to stop spinning immediately until the lid is closed. The on-board switch needs to be selected and used as the input to start/stop the Washing machine. Add more functions to your design such as temperature sensor and control, level sensor and control, washing load selection, different washing programs, etc. You are encouraged to research the technical details of different sensors, actuators, motor signals, and their control and interfaces.

You should design the washing machine controller in VHDL.

Part C (20%):

You are required to re-design your washing machine controller (WMC) using an embedded PicoBlaze microcontroller together with the signal from sensors and actuators. You are required to implement your design by writing program for the microcontroller with the Assembly language. Your design should be simulated in the Xilinx VIVADO software.

The washing machine controller should include the following functions:

· The machine follows the sequences through the following 4 stages. 4 LEDs should be used to indicate the current stage of the washing machine.

Soak Wash Rinse Spin

· Actuator: the actuator is a single-phase motor, which will be used to drive the turbo drum in the washing machine in practice. The microcontroller outputs the driving signal and feeds to driver circuit and then to the motor. The motor should be controlled as below:

o Soak stage: the motor stops for 5 seconds.

o Wash stage: the motor keep rotating for 10 sec with a spin in one direction and a speed of 800 rpm. Afterwards, it stops for 3 seconds and then resumes rotation in opposite direction. This loops for 3 minutes in total.

o Rinse stage: the motor keep rotating for 30 seconds with a spin in one direction and a speed of 1000 rpm.

o Spin stage: the motor keep rotating for 1minute with a spin in one direction and a speed of 2000 rpm.

· Sensor and display: In this project, you should include the speed sensor interfaced to the microcontroller. Microcontroller reads the speed of the motor and display on the 7-seg display.

· When the lid is open, the system should not work. If door is accidentally opened in between washing operations, then the system should stop working in minimum possible time (<3s).

· Suitable type of switch needs to be selected and used as the input to start/stop the Washing machine.

You are encouraged to improve your design to build a more realistic washing machine controller.

Hand-In Requirements

Once you have completed the designs, prepare for the submission process. You are required to submit a one coursework report and the project files.

Wherein, your project source files should allow the tutor to reproduce the simulation results you show in the report. The report should be less than 15 pages (excluding cover page and table of contents), including the followings.

· A description of your designs. You may consider to use a hierarchical method to break the project into a set of smaller modules which you can eventually put together to produce the complete system.

· The complete design for your WMC and the detailed explanation. The simulation results, waveforms, synthesis report should be included.

· The VHDL/ASM design and testbench source files with clear comments. Similarly, the simulation  results, waveforms and the synthesis report should also be included.

· You need to include the explanation of your simulation results and waveforms addressing why they support your conclusions.

· A discussion of your design problems, methods of improvement and conclusions.

Please refer to the report marking scheme for the detailed requirements.

If your circuit is not completely functional by the due date, you should hand in what you have got in order to receive partial credit. Late submission will be penalized.

Overall Coursework Marking Scheme

Introduction and Analysis (10%)

Has a clear set of aims and objectives been presented?

Has a detailed description of the design been included?

Circuit Design and Validation (40%)

Part 1: 30%

Part 2: 50%

Part 3: 20%

Have the structure and functionality of the design in digital hardware been clearly explained? Has the design been carried out following the correct procedure and the result clearly explained in hardware circuit?  Have the simulation results been clearly presented and explained in corresponding hardware circuits?

VHDL and Assembly Design Result (40%)

Part 1: 30%

Part 2: 50%

Part 3: 20%

Have the structure and functionality of the design been clearly explained using flowchart and block diagrams?  Has the VHDL and ASM source code been clearly commented on and explained in terms of functionality? Have the simulation results been clearly presented and explained in terms of functionality and performance?  Have the cell usage been extracted and presented?

Conclusions and Report Quality (10%)

Has a reasoned evaluation been made of the work in the report? Have rational and appropriate conclusions been drawn?

Comments:

Guide to Performance Criteria

70% and above:

Your work must be of outstanding quality and fully meet the requirements of the coursework specification and learning outcomes stated. You must show independent thinking and apply this to your work showing originality and consideration of key issues. There must be evidence of wider reading on the subject.

Key words which may describe a coursework at this level include: appraises, compares, concludes, contrasts, criticizes, critiques, defends, discriminates, evaluates, explains, interprets, justifies, relates, supports.

60% - 70%:

Your work must be of good quality and meet the requirements of the coursework specification and learning outcomes stated. You must demonstrate some originality in your work and show this by applying new learning to the key issues of the coursework. There must be evidence of wider reading on the subject.

Key words which may describe a coursework at this level include: categorizes, combines, compiles, creates, devises, generates, modifies, reconstructs, identifies, illustrates, outlines, synthesizes.

50% - 60%:

Your work must be comprehensive and meet all of the requirements stated by the coursework specification and learning outcomes. You must show a good understanding of the key concepts and be able to apply them to solve the problem set by the coursework. There must be enough depth to your work to provide evidence of wider reading.

Key words which may describe a coursework at this level include: demonstrates, changes, applies, operates, produces, predicts, shows, solves, uses, translates, comprehends, converts, generalizes.

40% - 50%:

Your work must be of a standard that meets the requirements stated by the coursework specification and learning outcomes. You must show a reasonable level of understanding of the key concepts and principles and you must have applied this knowledge to the coursework problem. There should be some evidence of wider reading.

Key words which may describe a coursework at this level include: comprehends, defines, describes, identifies, knows, labels, lists, matches, outlines, recalls, recognizes, reproduces, selects, states, rewrites.

Below 40%:

Your work is of poor quality and does not meet the requirements stated by the coursework specification and learning outcomes. There is a lack of understanding of key concepts and knowledge and no evidence of wider reading.