Design of Magnetorheological Controller Based on C8051F

Publisher:静心静气Latest update time:2011-02-28 Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere
In the process of engineering control, the real-time and precise adjustment of the magnetorheological damper controller has a great impact on the performance of the damper. From the design principle, MRFD controllers are mainly divided into voltage source controllers and current source controllers. According to the analysis of the equivalent circuit diagram of the excitation coil, the current source responds faster than the voltage source. Therefore, the design of MPFD controllers almost always adopts the current source control method.
The performance indicators of the MRFD controller are: the linear relationship between the control current and the damping force of the magnetorheological damper, which requires the control current to be continuously adjustable with high linearity and small relative error; the real-time performance of vibration control requires the controller to respond quickly; when used for on-site measurement and control, it requires a friendly human-machine interface and seamless connection with external measurement and control systems; when used for independent control, it can provide built-in control algorithms for various disciplines, etc.
This paper presents a design method of a magnetorheological damper controller based on C8051F310 MCU.
Control system design
The overall hardware block diagram of the magnetorheological control system is shown in Figure 1. The magnetorheological control system is mainly composed of 8051F310 processor, execution module, manual input and output module, external control system interface module, etc. The functions of each part are as follows:

8051F310 processor: uses A/D to sample various parameters, accepts control commands from inside and outside, and outputs them to the execution system through PWM conversion
Execution module: Use the PWM signal from the 8051F310 processor to control the drive damper
The manual input and output module is connected to the 8051F310 processor through the keyboard and display
External control system interface module: connected in series with external PC control system through a dedicated interface
Hardware Circuit
The programmable counter (PCA0) of C8051F310 consists of a dedicated 16-bit counter/timer and 5 16-bit capture/compare modules. Set the working mode of the capture/compare module to 8-bit PWM, and output the PWM pulse to the MOS tube power drive unit to control the current value of the magnetorheological damper. The current passing through the damper is sampled and amplified, and then sent to the A/D unit of C8051F310. After A/D conversion, the current is filtered by software and sent to the display unit AXG12864 LED. The error value obtained by comparing the current value with the set current value is adjusted by a special algorithm.
The pulse width of PWM forms a closed-loop control system for the current of the magnetorheological damper.
The keyboard control circuit uses a 4×4 numeric keyboard and uses an external interrupt to read the keyboard value, thereby decoding the pressed key value, so that the magnetorheological damper control current value can be manually set and the pressed key value is transmitted to the display unit AXG12864LED
The AXG12864 display module has 128 columns and 64 rows. It uses a row driver with 64 rows of outputs and two column driver controllers. Each column driver has 64 outputs. The row driver has nothing to do with the MCU. As long as the power is provided, it can generate drive signals and synchronization signals. The external signals of the module are only related to the column driver. The column driver has a built-in 64×64-bit display memory. The RAM is divided into 8 pages, with 8 rows per page. The display status of each pixel on the display corresponds to the data of each bit of the display memory. The data of the display memory is directly used as the driving signal for the graphic display. It is displayed as "1" and not displayed as "0". Figure 2 is the logic circuit interface block diagram of the AXG12864 display module itself

Use the UART0 unit of C8051F310 to communicate with the host computer (PC) It is an asynchronous full-duplex serial port. Here we set it to 8-bit UART mode and convert it to RS232 level through the MAX232 conversion chip, so that it can complete the communication function with the COM port of the PC Use VB programming on the PC to operate the COM port by calling the MSCOMM control, so as to realize the control of the magnetorheological damper and read the current state value of the magnetorheological damper in real time
The circuit diagram of each button of the magnetorheological damper control system is shown in Figure 3.

Software Design
The software system design adopts the interrupt vector method. The interrupts used include A/D sampling interrupt, PWM interrupt, asynchronous serial port interrupt, keyboard interrupt, display interrupt and fault interrupt. The priority order from high to low is fault interrupt, PWM interrupt, A/D sampling interrupt, keyboard interrupt, asynchronous serial port interrupt, display interrupt. See Figure 4 for some program flowcharts.
Conclusion
Figure 5 is a prototype of the magnetorheological damper controller, which has been tested on a test bench with the controlled magnetorheological damper being the RD-1005 series, and has played a good control role.
Reference address:Design of Magnetorheological Controller Based on C8051F

Previous article:Design of program-controlled power supply based on C8051F040
Next article:Design of SD card main controller based on C8051F020

Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

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号