各位老铁晚上好。我是Mr_Dong 。今天我们来讲抽水电机流速模块的设计。

在抽水电机流速的控制中,主要是采用PWM的方式进行控制。所谓PWM就是脉宽调制器,通过调制器给电机提供一个具有一定频率的脉冲宽度可调的脉冲电。脉冲宽度越大即占空比越大,提供给电机的平均电压越大,电机转速就高。反之脉冲宽度越小,则占空比越越小。提供给电机的平均电压越小,电机转速就低。

下面先看一下API手册上对于API的说明:

下面举一个例子来说明PWM的控制。ESP8266有四个PWM输出接口,分别是:PWM0(GPIO12)、PWM1(GPIO15)、PWM2(GPIO14) 代码如下:

os_timer_t timer;
uint8 type,x,y,z;uint32 duty=0;/*******************************************************************函数名称:display 函数函数作用:定时器回调函数函数输入参数说明:无函数返回值说明:无其他说明:*******************************************************************/
void ICACHE_FLASH_ATTR display(void *arg)
{for(y=0;y<3;y++){for(z=0;z<12;z++){duty=z*2000;type=y;//设置 PWM 某个通道信号的占空比, duty 占空比的值, type当前要设置的PWM通道pwm_set_duty(duty,type);//设置完成后,需要调用 pwm_start,PWM 开始pwm_start();}}}
/*******************************************************************
函数名称:PWM_Init 函数函数作用:初始化PWM设置函数输入参数说明:无函数返回值说明:无其他说明:
*******************************************************************/void PWM_Init(void)
{uint32 io_info[][3]={{PERIPHS_IO_MUX_MTDI_U,FUNC_GPIO12,12,},          //GPIO12{PERIPHS_IO_MUX_MTCK_U,FUNC_GPIO13,13},            //GPIO13{PERIPHS_IO_MUX_MTDO_U,FUNC_GPIO15,15}            //GPIO15};   //管脚分别为12,13,15uint32 pwm_duty_init[3]={0,0,0};  //定义占空比为0uint16 period=1000; //定义PWM周期为1000uint8 num=3; //PWM 输出管脚数量为3个pwm_init(period,pwm_duty_init,num,io_info);//初始化PWM设置for(x=0;x<3;x++){type=x;pwm_set_duty(duty,type);//设置 PWM 某个通道信号的占空比, duty 占空比的值, type当前要设置的 PWM 通道pwm_start();//设置完成后,需要调用 pwm_start,PWM 开始}}/*******************************************************************
函数名称:mian 函数函数作用:打印  hello,world函数输入参数说明:无函数返回值说明:无其他说明:程序的运行的第一个函数
*******************************************************************/void user_init(void)
{UART_SetPrintPort(0);                          //设置串口0为调试口uart_init(BIT_RATE_115200, BIT_RATE_115200);   //打印波特率为115200os_delay_us(1000);// os_printf("hello,world");PWM_Init(); //初始化PWM设置os_timer_disarm(&timer); //使能一个定时器os_timer_setfn(&timer,display,NULL);//s设置定时器回调函数为displayos_timer_arm(&timer,1000,1);//定时时间设置为1S
}

好了,今天的课程就这样了。。。。。晚安

物联网全栈教程--手把手教你开发一个智能浇花器(3)抽水电机PWM流速控制相关推荐

  1. 物联网全栈教程--手把手教你开发一个智能浇花器

    下面来说一下课程的安排,本教程可以分为三大章节,30个小章节,在1-10章节,手把手讲解了如何实现一个定时/实时控制的浇花器,可以对浇花器电量进行显示,可以进行定时设置,以及实时控制,低功耗模式等等, ...

  2. 物联网全栈教程--手把手教你开发一个智能浇花器(1)-开发环境安装

    大家好,我是Mr_Dong,是一个集美貌和才华于一身的美男子.不允许反对.下面我们正式来讲ESP8266 开发环境的安装. 关于ESP8266是个啥?简单说来,ESP8266 是一个内置了单片机的WI ...

  3. 物联网全栈教程--手把手教你开发一个智能浇花器(2)-GPIO 控制三色灯颜色和BSP函数实现

    大家好,我是吴彦祖,好了啦.骗你们的啦.我是Mr_Dong.下面我们正式来讲ESP8266 中GPIO的控制. 先看一下手册中GPIO对于的API函数介绍. 看完了上面介绍.我们下面写个实例加深一下印 ...

  4. 【连载】物联网全栈教程-从云端到设备(十三)---安装单片机编译环境

    物联网全栈教程-从云端到设备(十三) 一 很多朋友一听说要搞硬件总觉得还要重新学习很多电路基础知识,零妖告诉你这是个错误的想法.如果在十年前你这么想那么我是非常支持你的,但是在物联网时代你需要改变一下 ...

  5. 【连载】物联网全栈教程-从云端到设备(十二)---最简单的单片机上云方法!...

    2019独角兽企业重金招聘Python工程师标准>>> 物联网全栈教程-从云端到设备(十二) 一 经过前面的铺垫,你已经学会了在LinkDevelop上新建一个项目,然后通过使用MQ ...

  6. 【Io开发笔记】机智云智能浇花器实战(1)-基础Demo实现

    一,系统总计设计 该系统主要由三个部分组成:传感执行部分.无线通信部分,机智云自助开发平台部分.传感执行部分由主控单元.显示单元.和存储单元共同组成.传感检测部分采集空气环境参数信息,并且实时处理采集 ...

  7. 手把手教你实现一个 Python 多线程下载器

    前言 下载文件是我们生活中的一个常见的需求,因此衍生的下载工具也非常多,各有各的优势以及不足之处.作为一个编程爱好者,我喜欢去研究它们是怎么实现文件下载功能的. 我的主要使用的编程语言是 Python ...

  8. 物联网全栈教程-从云端到设备(十二)

    一 经过前面的铺垫,你已经学会了在LinkDevelop上新建一个项目,然后通过使用MQTT电脑客户端模拟设备的方法来开发云端项目的代码.这波操作可以助你开发各类网页,手机APP等,但是脱离了硬件设备 ...

  9. 物联网全栈教程-从云端到设备(三)

    一 没有规矩不成方圆.从目前的市场环境来看,MQTT通讯协议已经成为了物联网行业的标配(具体的MQTT协议零妖将会在后面的文章里说明).简单地理解就是一个设备连接到云99%都是走MQTT通讯协议的.M ...

最新文章

  1. matplotlib 设置坐标轴单位
  2. 中国AI芯片公司霸榜谷歌Waymo自动驾驶算法挑战赛!五个赛道,四项冠军
  3. 【PC工具】200324更新百度网盘下载工具——最新百度网盘下载工具使用方法及注意事项...
  4. IDEA在debug环境下,端口被占用
  5. 机器学习的数学,从入门到不放弃(文末彩蛋)
  6. exsi vmfs 没了_它是“推粪机”,隔三差五吃一盘,口臭没了排出宿便,肠道变干净...
  7. 中秋水文 | 安利一发国漫
  8. Mysql 学习之 SQL的执行顺序
  9. HBase中HLog详解
  10. java解析xml工具类_通过dom4j解析XML字符串XMLDocUtil工具类转换为XML文档及获取指定根节点及指定节点路径内容代码示例...
  11. Android UI系列-----ScrollView和HorizontalScrollView
  12. java我的世界教学视频,快来看鸭~
  13. 数据库的系统组成包括哪些?
  14. JavaScript中0.1 + 0.2 等于多少
  15. 渗透H5棋牌游戏-棋牌游戏开发
  16. python 基于CQL操作neo4j数据库
  17. 怎样无损压缩视频?试试这个视频压缩大小的工具
  18. 基于JAVA小微企业人事管理系统计算机毕业设计源码+数据库+lw文档+系统+部署
  19. 教你找回直接打开outlook附件文件编辑后保存但未另存为的附件文件?
  20. 小度计算机笔记,“一场无速记发布会”,小度真无线智能耳机革新语音笔记功能...

热门文章

  1. DataGrid实现自定义分页,鼠标移至变色,删除确认、可编辑,可删除
  2. python培训机构 可以谈价格
  3. iMindMap解析六项思考帽法
  4. js之创建页面桌面快捷方式
  5. vue开发中遇到的一些问题及解决方案
  6. 通讯录VCF格式批量生成
  7. (转)3CX voip 服务器的搭建教程---个人实践版
  8. 6. 毕业设计温湿度监控系统(ESP8266 + DHT11 +OLED 实时上传温湿度数据给公网服务器并在OLED显示屏上显示实时温湿度)
  9. Python制作简单的滑雪小游戏
  10. 学习笔记:【SpringBoot】1. 新建SpringBoot项目