DGh6WY2Ibb

Multi-function console

 
Overview

# [Multi-function console]

![Complete machine 2.jpg] **In order to clean up the desktop**, the previously made electric soldering iron and heating table were integrated and a hot air qiang and CNC power supply were added to make a **multi-function console**. The console has a round screen and a coding switch as human-computer interaction. The GUI uses LVGL to facilitate the improvement of the interactive experience later. You can also use the type-c interface to communicate with the PC through the serial port (the upper computer software is almost complete recently). The electric soldering iron, wind qiang and heating table interfaces use aviation plug-in mode, and the CNC power supply uses banana plug mode.
**Demonstration video**: [https://www.bilibili.com/video/BV1e44y1X7Rs/](https://www.bilibili.com/video/BV1e44y1X7Rs/)
## 1 Hardware design
### 1.1 Structure
The shell adopts aluminum alloy shell sandblasting black, and the overall size is 200X55X70. The main interface is on the front, the power supply and communication interface are on the back, and the LCD display is on the top. A 120W switching power supply and a PCB board are installed at the bottom, and all functions are on this board. Acrylic boards were temporarily made for verification in the early stage of the front and back parts.
![Structure.png] The various interfaces are shown in the figure below:
![3d whole machine.png] **[Update]** Several solutions have been updated for the screen display angle problem.
`Beam splitter prism` refracts the LCD display content to another direction, and also has a transparent effect, which requires re-adapting the UI interface.
![IMG_20221129_222541.jpg] `Add a bracket` Add a bracket at the bottom to tilt the entire console, and related accessories such as soldering iron tips can be placed on the back of the bracket.
![07b661a7b3778386a5e7b6e2b88b276.jpg] ![faa6afcaa7d2c20f84edb03d449c299.jpg] `Wall-mounted mode` directly hangs on the wall, which can save more desktop space, and the power cord can be hidden if there is a socket position.
![Wall-mounted 2.jpg] ![Wall-mounted.jpg] For details, you can watch my video
[https://www.bilibili.com/video/BV1u84y1k7yr/](https://www.bilibili.com/video/BV1u84y1k7yr/)

### 1.2 PCB design
Basically all functions are controlled by the **M481SIDAE** MCU, which is a MCU of Nuvoton, based on the Arm Cortex M4F core, with a maximum main frequency of **192MHz**. The PWM ports that control each device each lead out an LED light, so that it is easy to check whether it is running. The entire PCB framework and appearance are as follows
![PCB structure.png] ![PCB3D.png] ![PCB3D2.png]
### 1.3 Installation
Since there is only one PCB inside, all interfaces on both sides, except those directly on the PCB board, need to be connected to the board through terminals, including the encoding switch (you can make a small board to transfer the encoding switch through the cable, and I directly soldered the cable to its pins). There are many terminals, so pay attention to the order. For detailed installation, you can watch my video on station B.
![P21103-211733(1).jpg] ## 2 Software Design
### 2.1 MCU Code
The project transplanted the **FreeRTOS** system in terms of software, and each function was established as a separate task for easy design. In terms of GUI, **LVGL** was transplanted. The LVGL interface can be simulated and developed on the PC without hardware. After it is perfected, it will be moved to the project. I use `CodeBlocks`. Some parameters such as **mapping group and PID parameter group** are saved to the external SPI interface Flash. The flash has 8M and the **LittleFS** file system can be transplanted later. In addition, those who are interested in Arm can take a look. The code contains the use of many peripherals, such as SPI, Uart, PWM, timer, etc. At present, the code needs to be burned in through the SWD port. **Later** I will fill in the pit and write a bootloader and download it through the serial port. The code will be uploaded to **gitee** after stable testing. At present, partners who want to take a look can download it from the attachment. The IDE software is IAR 8.32.
![f2fb9970858cf4c2dcf1d08817f57ff.jpg] ### 2.2
The upper computer software is developed with `QT Creator4.11`, a custom set of communication protocols. Interested partners can download the code and view it by themselves. Later, I will use this software uniformly and adapt it to the electric soldering iron and heating table I made before.
![Host computer main interface.png] Through the host computer software, the mapping value and PID value of each measurement value can be calibrated. Of course, not every measurement value has these coefficients, we can set them through a resource package. For example, **soldering iron temperature** has 4 mapping values ​​(that is, its temperature and the corresponding ADC value) and 2 groups of PID values. When the MCU reads the corresponding ADC value, it will calculate its temperature value according to its mapping group and use its PID group to calculate the new control duty cycle value. For example, **power supply voltage** has only one group of mapping values ​​and no PID group, because it is linear and does not need to be controlled. After clicking to start calibration, the software will continuously refresh the sampling value. When we calibrate, we need to output the measured value according to the corresponding actual value first. For example, let the soldering iron heat up to 100℃ first, **then press the first gear lock**, lock each mapping group in turn and save it.
![Host computer calibration.png] ![Host computer calibration 2.png] We can set the PID parameters by viewing the waveform of the corresponding **measurement value**. Through the waveform, we can intuitively see whether the parameters are appropriate. Select the appropriate Y-axis position, interval time (mS) and reference value. The software will periodically read the real-time data of the console to draw the waveform.
![Host computer waveform.png] ## 3 Subsequent updates
Due to time constraints, the functions of the **CNC power supply part** have not yet been implemented, and will be filled in the `V2.0` version later. Some other functions will be added later when there is time, so they are listed first.
1. CNC power supply function
2. bootloader
3. Wi-Fi networking
4. TypeC port fast charging
参考设计图片
×
 
 
Search Datasheet?

Supported by EEWorld Datasheet

Forum More
Update:2025-05-18 14:35:00

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
community

Robot
development
community

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号