一·Program Overview
Modern people live at a fast pace, and the intelligentization of the kitchen can greatly facilitate modern people's lives. This solution is a smart microwave oven design solution that can give cooking suggestions based on the state of food, so that users who are not proficient in kitchen utensils can also use it easily.
二·Functional definition and performance indicators
Set cooking time through the terminal
Recommend heating time according to food status
Remote online diagnosis of microwave oven
Microwave oven cooking completion and cleaning reminder
Microwave oven use reminder to prevent safety accidents
Provide cooking settings and suggestions for cooking different dishes
三·The principle of microwave oven
The magnetron of a microwave oven converts electrical energy into microwave energy. When the magnetron emits microwave energy at a frequency of 2450 MHZ, the water molecules in the microwave oven cavity oscillate at a frequency of 2.45 billion times per second. The core component that generates the high-frequency electromagnetic field is the magnetron. The food molecules vibrate in the high-frequency magnetic field, and the molecules collide and rub against each other to generate heat energy, resulting in the heating of the food. This is the principle of a microwave oven.
四·Hardware Design
System Block Diagram
This section mainly introduces the circuits related to MCU. The circuits are mainly divided into key module, LCD drive encoder switch reading, temperature detection, buzzer drive and zero crossing detection.
1.1Button module
1.1-1Functional Description
The system adopts a three-by-three key matrix and uses ordinary I/O ports to implement the key functions. Internal pull-up resistors are used to replace the system's external pull-up resistors. Since the system needs to respond to combination keys, a diode protection port is connected in series on each row output port to prevent the row output short circuit from damaging the port.
1.2LCD drive
1.2-1Functional Description
The chip integrates an LCD driver. The LCD reference voltage can select internal and external voltage divider resistors. The driver can automatically read the display buffer data and drive SEG and COM. It has 6 different display modes: static
1/2 duty cycle (1/2 bias)
1/3 duty cycle (1/2 bias)
1/3 duty cycle (1/3 bias)
1/4 duty cycle (1/3 bias)
1/8 duty cycle (1/4 bias)
Each display has 6 display frequencies
It has a maximum of 24 SEG and 8 COM.
In this solution, we use an internal voltage divider resistor and a drive mode of 1/4 duty cycle and 1/3 bias.
1.3Code switch reading
1.3-1 Functional Description
In this solution, the time, weight, mode and other parameters can be adjusted and set by rotating the coding switch, making parameter setting more convenient. The following figure is a working state diagram of the coding switch.
As shown in the figure: when the switch is forward, the waveform of switch1 is ahead of the waveform of switch2, and when the switch is reversed, the waveform of switch1 lags behind the waveform of switch2. Therefore, as long as we determine the phase relationship, we can wait for the operating status of the switch. In the specific implementation process, edge interrupt hardware can be used to read the encoding switch, or a timer can be used to read the port regularly to obtain the encoding switch status. The 78K0 series MCU has integrated edge interrupt hardware and timer, but in this solution, a timer is used to read the encoding switch.
2.1 Temperature detection
2.1-1 Functional Description
During the cooking process, the cooking process needs to be controlled by temperature, so temperature detection is essential. In order to increase the temperature measurement range, a port is needed to control the size of the resistor connected to the temperature sensor. When the resistance of the temperature sensor is small, the AD_IO port outputs low. At this time, the resistance connected to the temperature sensor is about 4.5K. At this time, it can be more accurate to measure small resistances. When the resistance of the temperature sensor is large, the AD_IO port outputs high. At this time, the resistance connected to the temperature sensor is 100K, which is more accurate to measure large resistances. The 78K0 series MCU has an internal integrated 8-bit or 10-bit A/D, which is used in this solution to detect temperature.
2.2 Buzzer driver
2.2-1 Functional Description
The system needs to use a buzzer to indicate the working status. Buzzers can generally be divided into two types: one is a direct DC driven buzzer, and the other is a square wave driven buzzer. The buzzer requires a large drive current, so the Darlington driver chip XBLW ULN2003 is used in the system. The timer integrated in the 78K0 series MCU has a square wave output function. In this solution, the square wave output function of TOH0 is used.。
3.1 Power supply circuit
3.1-1 Functional Description
The circuit uses XBLW LM358 for output voltage feedback, and transforms XBLW LM2596-5.0 into an adjustable regulated voltage. It provides a stable power supply for the microcontroller control. The set voltage is output by the DA of the microcontroller, or the PWM is filtered to form the set voltage. This circuit is suitable for high-power adjustable voltage occasions.
3.2 Zero Crossing Detection
3.2-1 Functional Description
Since the controlled high-power equipment will cause interference when it is cut off or turned on when the voltage is high, a zero-crossing detection circuit is added to the solution to ensure that the controlled high-power equipment can be cut off or turned on near the zero-crossing point of the mains to reduce interference. The 78K0 series MCU has an integrated edge interrupt hardware, which can detect rising edge interrupts, falling edge interrupts, or dual edge interrupts. In this solution, dual edge interrupts are used to detect zero-crossing signals.
5·Software Configuration
In this system, there are six tasks, namely: main task, clock processing task, key processing task, door processing task, setting status task and running status task. The relationship between them is as follows:
5.1 Main task The main task implements the main process of the system, which calls various modules to implement related work
5.2 Clock processing tasks calculate the system's clock.
5.3 The key processing task determines whether a key is pressed in the system.
5.4 Door processing task determines the state of the door.
5.5 Setting Status Tasks Perform cooking mode settings.
5.6 Running task to control cooking
六·源代码
七·本方案重要器件推荐
Phone