当前位置: 首页 > news >正文

seo是如何做优化的怎么做网络推广优化

seo是如何做优化的,怎么做网络推广优化,注册公司网站怎么做,龙岗网站开发公司FPGA 非常适合精密电机控制,在这个项目中,我们将创建一个简单的电机控制程序,在此基础上可以构建更复杂的应用。 需要的硬件 Digilent Pmod HB3 介绍 我们可以用一个简单的 8 位微控制器来控制电机,输出一个简单的脉宽调制波形。然…

fe084edf700224190dcd6ab61635970c.png

FPGA 非常适合精密电机控制,在这个项目中,我们将创建一个简单的电机控制程序,在此基础上可以构建更复杂的应用。

64fcd8c7ac162241558c57d30add7192.png

需要的硬件

Digilent Pmod HB3

faf8a7eab06da283285587ff425da3da.png

介绍

我们可以用一个简单的 8 位微控制器来控制电机,输出一个简单的脉宽调制波形。然而,当想要进行精密或高级电机控制时,没有什么比 FPGA 的确定性和实时响应更好的了。接口的灵活性还使得可以通过单个设备控制多个电机,从而提供更加集成的解决方案。

首先,我们将学习一些有关电机控制理论的知识,并创建一个简单的示例。我们都知道,我们可以通过PWM信号来驱动直流电机并控制其速度。然而,高效、精确地驱动它需要对电机控制理论有更多的了解。

电机

297022e1cf599bcc9325d5fdf86452ea.png

不管你信不信,我在大学最喜欢的课程之一是控制理论。在该模块中,我们研究了交流电机和直流电机,了解理论和实际用例。有多种类型的交流电机由交流电源供电,可分为同步电机和感应电机。例如,交流电机通常用于泵和压缩机。

直流电机分为有刷电机和无刷电机两种。在两种类型中,有刷是最容易驱动的,因为它们只需要一个电源。在有刷直流电机中,电刷向连接有转子和线圈的换向器提供电流。电流在线圈中感应出电场,该电场被外部磁体(定子)排斥。为了确保旋转,换向器的设计使得电流反向流动以确保连续旋转。

第二种类型的直流电机是无刷电机,它们的驱动稍微复杂一些,因为它们没有换向器。相反,磁体安装在转子上,线圈缠绕在定子周围,这样线圈的电流就可以从外部控制和排序。

两者中最容易控制的是有刷直流电机,所以我们就以这类电机为例。

脉宽调制驱动

使用 PWM 驱动电机的理论是,可以控制电机得到的平均电压,从而控制其速度。在 PWM 信号占空比为 100% 时,电机处于满电压并全速运行。如果提供 10% 的占空比,电机就会以其全速的 10% 运行。

然而,为了有效地运行电机,我们需要正确确定 PWM 周期。直流电机具有串联电感和串联电阻,这意味着电机将充当低通滤波器。频率削减为

3143a995dda7d176ca62422a53f44102.png

其中时间常数由 L/R 给出 - 我们可以从电机数据表中获得这些值。

因此,为了确保稳定的速度,我们需要选择高于电机频率截止的 PWM 频率,以确保观察到直流分量。

因此,我们要选择一个至少是截止频率 5 倍的频率。

FPGA

为了开始这个项目,我们首先要创建一个针对 FPGA 板的硬件设计。

开始创建一个新项目

0813b144fa479ba9861e21a895fefe56.png

为项目命名

56e459416471ded8c1c75d13349fa8b9.png

选择 RTL 项目但不指定来源

9a863f5a1e528ae586ac9a8467d3074f.png

创建项目后,创建一个新的框图

1a1a657f22813734ee7428910a5d0cc5.png

从“板”选项卡将系统时钟拉到框图上

5cd2872c93e0ac3306d241c330f11da0.png

对 USB UART 也执行相同操作

e5fb41a880f0a33bc99e69ebaf330fe2.png

从 IP 库添加 MicroBlaze 处理器

31bd8e04981e1ffbcb20b33c4c18eca1.png

运行块自动化连接,选择本地内存大小为32KB并取消选中中断控制器

d61002db6c8238be90a9756cb93f1d0b.png 137b3fdd8d22cedf32515f43b6d7a9fe.png

添加 AXI 定时器

427f6147fbb1dda99db550ecdfff7301.png

运行连接自动化

73c2e5513946dcf99508870a7a2a93f2.png

打开时钟向导并取消选择复位输入

5a8979af35d5f641a9522c1da752e99b.png

添加 GPIO

4850a2485be0df73681728ac57643075.png

重新定制GPIO为1位宽,仅输出

6b338b8f4207629dc8266f7f6c4d05fc.png

选择 GPIO 输出和 AXI 定时器 PWM 并将其设引出

63b09f9237f1830bc13c92d9a02ddee7.png

完成后应如下所示。

6c61412308aff03d2159b82de13a3735.png

综合完成后,我们可以打开综合视图并将 IO 分配给 GPIO 和定时器输出 - 对于 GPIO,引脚是 J1,对于 PWM,引脚是 L2

3911a163df03407dc655e127584addc5.png

构建比特流并导出平台

23931ef276e444e54be5c4fa5f5fa94d.png

vitis设计

打开Vitis创建一个新的应用程序项目并选择刚刚导出的XSA。

b7af1857dfd13cebac072bee9c294522.png

输入项目名称

7ac52f5f322c802e308455640995440e.png

选择独立

db67714ba3a0b7ca26fb097bcfca4404.png

创建一个新的 hello world 应用程序

60ebe7a61042ba03d27bf1118dddd7f5.png

应用软件非常简单,我们将根据所需的 PWM 周期以及所需的占空比配置 AXI 定时器。

#include <stdio.h>
#include "platform.h"
#include "xil_printf.h"#include "xtmrctr.h"#define TMRCTR_DEVICE_ID        XPAR_TMRCTR_0_DEVICE_ID
#define PWM_PERIOD              1000000    /* PWM period in (500 ms) */
#define TMRCTR_0                0            /* Timer 0 ID */
#define TMRCTR_1                1            /* Timer 1 ID */
#define CYCLE_PER_DUTYCYCLE     10           /* Clock cycles per duty cycle */
#define MAX_DUTYCYCLE           100          /* Max duty cycle */
#define DUTYCYCLE_DIVISOR       2            /* Duty cycle Divisor */XTmrCtr TimerCounterInst;void display_menu()
{
//Clear the screen
xil_printf("\033[2J");
//Display the main menu
xil_printf("*******************************************\n\r");
xil_printf("****      www.adiuvoengineering.com    ****\n\r");
xil_printf("****      Motor Control Example        ****\n\r");
xil_printf("*******************************************\n\r");
xil_printf("\n\r");
xil_printf("   MM10 Motor Control   \n\r");
xil_printf("------------------------------------------\n");
xil_printf("\n\r");
xil_printf("Select a Speed:\n\r");
xil_printf("  (1)   - Stop\n\r");
xil_printf("  (2)   - 25 % \n\r");
xil_printf("  (3)   - 33 % \n\r");
xil_printf("  (4)   - 50 % \n\r");
xil_printf("  (5)   - 66 % \n\r");
xil_printf("  (6)   - 75 % \n\r");
xil_printf("  (7)   - 100 % \n\r");
xil_printf("\n");
}void set_pwm(u32 cycle)
{u32 HighTime;XTmrCtr_PwmDisable(&TimerCounterInst);HighTime = PWM_PERIOD * (( float) cycle / 100.0 );XTmrCtr_PwmConfigure(&TimerCounterInst, PWM_PERIOD, HighTime);XTmrCtr_PwmEnable(&TimerCounterInst);
}int main()
{u8  Div;u32 Period;u32 HighTime;char key_input;u8 DutyCycle;init_platform();print("Hello World\n\r");print("Successfully ran Hello World application");XTmrCtr_Initialize(&TimerCounterInst, TMRCTR_DEVICE_ID);Div = DUTYCYCLE_DIVISOR;XTmrCtr_PwmDisable(&TimerCounterInst);Period = PWM_PERIOD;HighTime = PWM_PERIOD / Div--;XTmrCtr_PwmConfigure(&TimerCounterInst, Period, HighTime);XTmrCtr_PwmEnable(&TimerCounterInst);while(1){display_menu();read(1, (char*)&key_input, 1);xil_printf("Echo %c\n\r",key_input);switch (key_input) {case '1': //stopXTmrCtr_PwmDisable(&TimerCounterInst);break;case '2': //25%xil_printf("25%\n\r");DutyCycle = 25;set_pwm(DutyCycle);break;case '3': //33%DutyCycle = 33;set_pwm(DutyCycle);break;case '4': //50%DutyCycle = 50;set_pwm(DutyCycle);break;case '5': //66%DutyCycle = 66;set_pwm(DutyCycle);break;case '6': //75%DutyCycle = 75;set_pwm(DutyCycle);break;case '7': //100%DutyCycle = 100;set_pwm(DutyCycle);break;}}cleanup_platform();return 0;
}

当然,我选择的电机包含两个霍尔效应传感器.旋转方向可以通过一个霍尔效应传感器位于另一个霍尔效应传感器前面的输出来确定。

顺时针旋转

aabcc36bd220ac1f40deaa7f5ba1dda1.png

逆时针旋转

a8c189b01960ef38c0e9d7416b31cf4e.png

我们可以使用脉冲频率来确定电机的速度,我们将在后面项目中更详细地研究这一点。

演示

3312168b207caa07c5bc54ac952b321e.gif

http://www.yidumall.com/news/40876.html

相关文章:

  • qq网站推广代码湖南seo优化报价
  • 可以做问卷赚钱的网站百度一下你就知道网页
  • 动态网站开发所需要的web构件站内seo的技巧
  • wordpress写插件吗杭州关键词优化平台
  • 政府网站推广方案关键词优化排名要多少钱
  • 钦州网站建设免费网站建设制作
  • 工业云网站建设销售找客户的app
  • 描述网站建设规范方法免费下载百度并安装
  • 重庆制作网站的公司排名站长工具手机综合查询
  • 腾讯云国外服务器山西seo顾问
  • 服务器怎样建设网站公司seo是什么级别
  • 物流行业网站建设方案百度客服中心人工在线咨询
  • php网站开发面试题廊坊百度快照优化排名
  • 如何做介绍一门课程的网站seo排名优化软件有
  • 越城网站建设公司网站建设网络推广seo
  • 宁波网站制作哪家全面免费制作logo的网站
  • 建设个定制网站需要多少钱轻松seo优化排名
  • 网站开发全包软文什么意思范例
  • 猪八戒网网站开发需求seo工具是什么意思
  • 一元夺宝网站制作视频软件推广平台有哪些
  • cpa单页网站怎么做人民网 疫情
  • 做外贸怎么登陆国外网站关键词搜索排名工具
  • 网站开发技术规范要求市场调研分析报告怎么写
  • 网站建设教程大全 百度网盘360优化大师旧版本
  • 网站建设与推广的销售链接生成器
  • 旅游做视频网站怎么建立自己的网站
  • 做蔬菜的网站有哪些阿里巴巴logo
  • 做社交网站多少钱建设网站费用
  • wordpress 主题稳定seo入门基础教程
  • 昆明网站建设wlyyb连云港seo