Embedded employment direction analysis


Embedded development direction

本文特指的是嵌入式软件开发部分的岗位
Embedded software development is a broad field that offers a variety of career paths. Here are some common embedded software development career paths:

  1. Embedded Systems Engineer: As an Embedded Systems Engineer, you will be responsible for designing, developing, and debugging embedded systems software. This may involve low-level driver development, operating system porting, hardware and software integration, and more. You can find embedded systems engineer jobs in a variety of industries such as automotive, medical, industrial automation, and more.

  2. Device Driver Programmer: A device driver programmer is responsible for writing and debugging drivers for hardware devices. This includes interacting with various peripherals (such as sensors, communication interfaces, storage devices, etc.) and ensuring they communicate properly with the operating system and applications.

  3. Embedded Software Architect: As an embedded software architect, you will be responsible for designing and planning the overall architecture of an embedded software system. This involves selecting the appropriate processor, operating system, communication protocol, and software components to meet the needs and performance requirements of the system.

  4. Embedded Security Engineer: With the growth of the Internet of Things, the security of embedded devices is becoming more and more important. Embedded security engineers work to protect embedded systems and devices from security breaches and attacks. They are responsible for conducting embedded security assessments, implementing security measures, and developing security policies.

  5. Automation Engineer: The field of automation requires embedded software developers to design and develop control systems for controlling and monitoring industrial automation processes. This may involve writing real-time control algorithms, communicating with sensors and actuators, and integrating communications with host computers or cloud platforms.

  6. Embedded Software Test Engineer: Embedded software test engineers develop and execute test plans to ensure the quality and stability of embedded software. They conduct unit testing, integration testing, and system-level testing, and work with the development team to troubleshoot issues.

These are just some of the common career paths in embedded software development, there are actually many other specializations and positions. When choosing an employment direction that suits you, you can consider your personal interests, skills and industry needs, and keep learning and improving your technical capabilities.


Motor drive and motor control algorithm development

Motor drive and motor control algorithm development is an important area in embedded software development. Here is some basic information about motor drive and motor control algorithm development:

  1. Motor drive: Motor drive refers to converting the electrical energy provided by the power supply into the current or voltage signal required by the motor to control the speed and torque of the motor. Motor drives usually include power electronics (such as power transistors, IGBTs, etc.) and control circuits. Embedded software developers are responsible for writing motor drivers to achieve precise control of the motor by controlling current or voltage signals.

  2. Motor Control Algorithm Development: Motor control algorithms are used to control the operation and performance of electric motors. Common motor control algorithms include constant speed control, position control, and torque control. Embedded software developers are responsible for designing and implementing these algorithms and converting them into executable code. This may involve using sensors (such as encoders, hall sensors, etc.) to obtain the state information of the motor, and calculate the appropriate control signal according to the control algorithm.

  3. Real-time requirements: Motor drive and control algorithms usually have strict real-time requirements, especially in applications that require high precision and fast response, such as robotics, drones, and industrial automation. Embedded software developers need to write efficient code to ensure the real-time and accuracy of control signals.

  4. Communication Interface: Motor drive and control algorithms often need to communicate with other system components, such as sensors, host computers, or other embedded devices. Embedded software developers may need to implement serial communication protocols (eg, UART, SPI, I2C) or Ethernet communication protocols (eg, TCP/IP) to exchange data with other devices.

  5. Debugging and optimization: Debugging and optimization are very important links in the development process of motor drive and control algorithms. Embedded software developers need to use debugging tools and instruments, such as oscilloscopes, logic analyzers, etc., to analyze and debug the performance and stability of motor drive and control algorithms, and make necessary optimizations.

Motor drive and motor control algorithm development requires in-depth knowledge of motor principles, control theory, and embedded system development techniques. At the same time, it is also helpful to understand the relevant hardware circuit design and the working principle of the motor controller. Continuous learning and accumulation of practical experience is the key to improving the ability in this field.

Skill points: FOC control, square wave control

FOC (Field-Oriented Control) control and square wave control are two common motor control strategies. They are widely used in motor control, with different characteristics and applicable scenarios.

  1. FOC control (Field-Oriented Control): FOC control, also known as vector control or field-oriented control, is an advanced motor control technology. Its goal is to decompose the control of the motor into independent field orientation and field strength controls. FOC control makes the control of the motor more flexible and precise by converting the three-phase current of the motor into independent field orientation and field strength components. FOC control can provide high-efficiency, high-performance motor control, suitable for applications that require precise control of speed, torque and position, such as industrial drives, electric vehicles, etc.

  2. Square Wave Control: Square wave control is a simple and direct method of motor control. It directly sets the phase current of the motor as a square wave signal, making the motor alternately on and off in each current phase, thereby generating corresponding torque. The advantage of square wave control is that it is simple and easy to implement, and it is suitable for some low-cost and low-demand applications. However, square wave control is less efficient, may cause motor vibration and noise, and has unstable performance at low speeds and loads.

Generally speaking, FOC control has higher control accuracy and performance than square wave control, and is suitable for applications that require high motor performance. Square-wave control is simpler and more straightforward, and is suitable for some applications with relatively low cost and performance requirements. Which control strategy to choose should be decided according to the needs and constraints of the specific application.

As an example:
Here is a simple motor control code example showing how to use the Arduino platform and the FOC library for motor control:

#include <SimpleFOC.h>

// 定义电机对象
BLDCMotor motor = BLDCMotor(7, 8, 9, 10);

// 定义电机驱动对象
BLDCDriver3PWM driver = BLDCDriver3PWM(6, 5, 3, 2);

void setup() {
    
    
  // 设置电机驱动引脚
  driver.voltage_power_supply = 12; // 设置电机供电电压
  driver.init();
  
  // 设置电机参数
  motor.linkDriver(&driver);
  motor.foc_modulation = FOCModulationType::SpaceVectorPWM; // 设置FOC调制方式
  motor.init();
  
  // 启动电机
  motor.initFOC();
  motor.initSensor();
  motor.enableSensor();
  motor.useMonitoring(Serial);
}

void loop() {
    
    
  // 运行FOC控制循环
  motor.loopFOC();
  
  // 读取电机状态信息
  float angle = motor.shaft_angle;
  float velocity = motor.shaft_velocity;
  float current = motor.phase_currents[0];
  
  // 在串口监视器上输出电机状态信息
  Serial.print("Angle: ");
  Serial.print(angle);
  Serial.print(" Velocity: ");
  Serial.print(velocity);
  Serial.print(" Current: ");
  Serial.println(current);
  
  delay(100);
}

This example uses BLDCMotorthe and BLDCDriver3PWMclasses from the FOC library to implement motor control. In setup()the function, the motor drive pins and parameters are first set, and then the motor and driver are initialized. In loop()the function, call motor.loopFOC()to run the FOC control loop and read the angle, speed and current information of the motor. Finally, output the information on the serial monitor, and delay()set the time interval of the control loop through the function.

Note that this is just a simple example, the actual motor control code may be more complex, involving more parameter settings, status monitoring and control logic. The specific code implementation may vary depending on the hardware platform used and control requirements. Therefore, in practical applications, you may need to make appropriate adjustments and modifications according to the specific motor and controller.

Embedded power development direction

Skill points: power topology, control principle

Power topology refers to the circuit structure used in the power system to convert the input power to the required output power. Different power topologies have different characteristics and applicable scenarios. Common power topologies include switch mode and linear mode.

The following are several common power topologies and their control principles:

  1. Switched Mode Power Topology:

    a. Switch-mode power supply: Switch-mode power supply is a high-efficiency power supply topology. Common switch modes include switch-mode current source (SMPS) and switch-mode voltage source (SMVS). A switch-mode power supply adjusts the conversion efficiency of the input power supply and the stability of the output voltage or current by periodically switching the power supply device (such as a switch tube or a combination of a switch tube and a transformer). The control principle usually involves a feedback control loop and pulse width modulation (PWM) technique to control the output voltage or current by adjusting the switching frequency and duty cycle of the switching device.

    b. Buck Converter: A Buck converter is a common step-down switch mode power supply used to step down a high voltage to a lower output voltage. Its control principle is to control the output voltage by adjusting the switching frequency and duty cycle of the switching tube.

    c. Boost converter: A boost converter is a step-up switching mode power supply used to step up a low voltage to a higher output voltage. Its control principle also controls the output voltage by adjusting the switching frequency and duty cycle of the switching tube.

    d. Buck-Boost converter: Buck-Boost converter is a switch-mode power supply that can realize both step-down and step-up. Its control principle is also to control the output voltage by adjusting the switching frequency and duty cycle of the switching tube.

  2. Linear Mode Power Topology:

    a. Linear regulator: A linear regulator is a simple power topology that regulates the output voltage by adjusting the conduction state of the tube. Its control principle is to sense the output voltage through a negative feedback control loop, and to stabilize the output voltage by adjusting the conduction state of the tube.

    b. Linear regulator: A linear regulator is a common power supply topology that regulates the output voltage by adjusting the conduction state of the tube. Its control principle is similar to that of a linear regulator, which senses the output voltage through a negative feedback control loop, and stabilizes the output voltage by adjusting the conduction state of the tube.

These are just some common examples of power supply topologies, and there may be other, more complex topologies in practice. Each power topology has its applicable scenarios and advantages and disadvantages. The selection of a suitable power topology should be evaluated and decided based on factors such as application requirements, efficiency requirements, cost, and reliability. The specific implementation of the control principle will also vary depending on the power topology.

Basic DC Converter Topology

Basic DC converter topologies include the following:

  1. Buck Converter (Step-Down Converter):
    A Buck converter steps down the voltage of the input power source to a lower output voltage. It consists of a switch tube, an inductor and an output capacitor. The switching tube switches periodically to control the flow of electric energy, and the inductor and capacitor are used for filtering and energy storage. By adjusting the switching frequency and duty cycle of the switching tube, the stability of the output voltage can be controlled.

  2. Boost Converter (Boost Converter):
    A Boost converter boosts the voltage of the input power source to a higher output voltage. It consists of a switch tube, an inductor and an output capacitor. The switching tube switches periodically to control the flow of electric energy, and the inductor and capacitor are used for filtering and energy storage. By adjusting the switching frequency and duty cycle of the switching tube, the stability of the output voltage can be controlled.

  3. Buck-Boost converter:
    The Buck-Boost converter can realize both step-down and step-up. It consists of a switch tube, an inductor and an output capacitor. The switching tube switches periodically to control the flow of electric energy, and the inductor and capacitor are used for filtering and energy storage. By adjusting the switching frequency and duty cycle of the switching tube, the stability of the output voltage can be controlled.

  4. Cuk converter:
    Cuk converter is a bi-directional converter that can realize step-up and step-down functions. It consists of two inductors, two capacitors and a switch tube. A Cuk converter achieves energy conversion by alternately charging and discharging an inductor. By adjusting the switching frequency and duty cycle of the switching tube, the stability of the output voltage can be controlled.

These are the basic DC converter topologies that have different advantages and applicability in different application scenarios. Selecting a suitable topology should be evaluated and decided based on factors such as input voltage range, output voltage requirements, load characteristics, and efficiency requirements. In practical applications, topologies can also be combined and improved as needed to meet specific power conversion requirements.

to be continued

Embedded not only needs to master basic coding knowledge, but if you want to further improve your salary, you need to combine more industry expertise to raise your technical threshold!

Guess you like

Origin blog.csdn.net/qq_44710568/article/details/131916301