基于STC15系列单片机工业自动化控制实战教学
文章平均质量分 87
该专栏主要讲述基于51单片机应用于工业自动化控制方面相关的知识,包括硬件设计、代码编写、基本输入输出控制、串口通信、自定义协议讲解、迪文触摸屏应用、昆仑通态人机界面应用、Visual studio应用等相关知识点,硬件原理图、软件代码均开源,喜欢的小伙伴们欢迎订阅,一起学习,一起成长!
SingleYork
大家好,我是『芯知识学堂』的SingleYork,从事非标自动化相关的工作多年,从PCB原理图、PCB板的设计,到设备电气原理图、设备代码编写、调试,均能一个人独立完成,目前主要熟悉单片机对步进电机的控制、与迪文触摸屏、淘晶驰触摸屏、昆仑通态触摸屏、上位机软件通信、工业现场部署无线通信、多机通信相关的知识,欢迎大家一起交流学习!
展开
-
【STC15系列】SYK-0806-A2S1 工业自动化控制之【18-内部AD采集外部电压】
大家好,我是『芯知识学堂』的SingleYork,前一篇文章给大家介绍了“【STC15系列】SYK-0806-A2S1 工业自动化控制之【17-EEPROM实现数据掉电保存】”,这一篇中,笔者将会给大家介绍“ADC的应用”。SYK-0806-A2S1 控制板预留了两路 0-5V 电压的AD采集接口,直接采用了官方手册上提供的参考设计:这种直接用单片机IO口采集的方式,电路也比较简单。AD基准电压也没有另外用专用的基准电源芯片,直接用芯片电源作为AD基准,当然,这样做误差肯定是会有点的,但是做一般应用原创 2021-12-31 16:53:50 · 999 阅读 · 1 评论 -
【STC15系列】SYK-0806-A2S1 工业自动化控制之【17-EEPROM实现数据掉电保存】
大家好,我是『芯知识学堂』的SingleYork,前一篇文章给大家介绍了“【STC15系列】SYK-0806-A2S1 工业自动化控制之【16-自定义协议通信】”,这一篇中,笔者将会给大家介绍“EEPROM的基本操作”。在实际应用中,很多时候我们需要对一些设置参数实现掉电保持,以免每次上电都需要重新设置参数,或者产品在运行过程中,需要实时保存一些数据,下次开机后还能查询到。像这种应用场合,就需要用到单片机的EEPROM功能了,当然,也可以用到外部FLASH、EEPROM等芯片,只是,单片机本身自带EEPR原创 2021-12-31 14:26:59 · 1627 阅读 · 0 评论 -
【STC15系列】SYK-0806-A2S1 工业自动化控制之【16-自定义协议通信】
大家好,我是『芯知识学堂』的SingleYork,前一篇文章给大家介绍了“SYK-0806-A2S1 工业自动化控制之【15-串口收发十六进制数】”,这一篇中,笔者继续给大家介绍跟串口通信有关的“自定义协议通信”。在一些工业应用的场合,我们经常需要用到串口通信,既然是要通信肯定是需要相关协议的支持,业内比较标准的协议当然要数MODBUS协议了。然而MODBUS协议要完全弄懂,也并非易事,很多时候,可能我们只需要简单控制一些输出同时读取输入输出状态,以及设置一些参数等。如果用标准的MODBUS协议肯定是没原创 2021-12-30 21:56:14 · 2837 阅读 · 0 评论 -
【STC15系列】SYK-0806-A2S1 工业自动化控制之【15-串口收发十六进制数】
大家好,我是『芯知识学堂』的SingleYork,前一篇文章给大家介绍了“SYK-0806-A2S1 工业自动化控制之【14-串口收发字符串】”,这一篇中,笔者继续给大家介绍“串口收发字十六进制数”。有做工控项目的小伙伴们或许会发现,在很多应用场合,实际上都是用十六进制数来进行数据传递,包括MODBUS协议也是一些十六进制的数。所以,笔者觉得有必要跟大家一起分享一下如何使用串口来收发十六进制数。有了前面的基础,相信大家对串口收发数据并不陌生了,本例笔者以单个字节的十六进制数的收发为例,进行简单介绍。例原创 2021-12-30 17:35:33 · 3328 阅读 · 0 评论 -
【STC15系列】SYK-0806-A2S1 工业自动化控制之【14-串口收发字符串】
大家好,我是『芯知识学堂』的SingleYork,前一篇文章给大家介绍了“【STC15系列】SYK-0806-A2S1 工业自动化控制之【13-串口收发单个字符】”,这一篇中,笔者继续给大家介绍“串口收发字符串”。相信很多小伙伴对单个字符的收发是很熟悉了,那么如何实现字符串的收发呢?首先,我们先来看一下字符串在单片机中是如何存储的。比如,我们要存储一个字符串“Helloworld”到数组Arry[]中,那么,它在Arry[]这个数组中实际上是按如下方式来存储的:Arry[0] = ‘H’;Arry[1原创 2021-12-30 16:20:58 · 509 阅读 · 0 评论 -
【STC15系列】SYK-0806-A2S1 工业自动化控制之【13-串口收发单个字符】
大家好,我是『芯知识学堂』的SingleYork,前一篇文章给大家介绍了“SYK-0806-A2S1 工业自动化控制之【12-步进电机精确定位】”,这一篇中,笔者要给大家介绍串口的使用了。本例中,笔者主要跟大家介绍单个字符的收发,具体逻辑如下:串口助手发送字符’A’,单片机收到后返回字符’A’,同时Y00输出ON;串口助手发送字符’B’,单片机收到后返回字符’B’,同时Y01输出ON;串口助手发送字符其他字符,单片机收到后返回收到的字符,同时Y00、Y01均输出OFF;串口的硬件部分很简单,就原创 2021-12-29 17:57:35 · 500 阅读 · 0 评论 -
【STC15系列】SYK-0806-A2S1 工业自动化控制之【12-步进电机精确定位】
大家好,我是『芯知识学堂』的SingleYork,前一篇文章给大家介绍了“SYK-0806-A2S1 工业自动化控制之【11-步进电机转动指定圈数】”,这一篇中,笔者要给大家介绍如何让步进电机实现精确定位。其实,这一讲内容跟上一讲比较类似,最大的区别就是电机带负载时的位移跟传动机构有关,所以大家要学会不同的传动机构如何计算距离。笔者以下图所示最常见的同步带传动结构来进行讲解:假设,如上图所示,电机细分为800,同步带轮的直径为30mm,想要让工件M在同步带上移动1000mm,那么需要给电机发送多少个脉原创 2021-12-29 15:12:48 · 600 阅读 · 0 评论 -
【STC15系列】SYK-0806-A2S1 工业自动化控制之【11-步进电机转动指定圈数】
大家好,我是『芯知识学堂』的SingleYork,前一篇文章给大家介绍了“SYK-0806-A2S1 工业自动化控制之【10-步进电机加减速】”,这一篇中,笔者要给大家介绍如何让步进电机运行我们指定的圈数。那么,首先我们来看下步进电机的定义:步进电机是一种专门用于速度和位置精确控制的特种电机,它是以固定的角度(称为步距角)一步一步运行的,故称步进电机。在没有细分的情况下,一个脉冲信号,电机转子就转过一个步距角的角位移。通常这个步距角为0.9°或1.8°。如果按照步距角为1.8°来计算,电机转动一圈所需要原创 2021-12-29 14:13:22 · 1285 阅读 · 0 评论 -
【STC15系列】SYK-0806-A2S1 工业自动化控制之【10-步进电机加减速】
大家好,我是『芯知识学堂』的SingleYork,前一篇文章给大家介绍了“SYK-0806-A2S1 工业自动化控制之【09-步进电机正反转】”,这一篇中,笔者要给大家介绍如何实现步进电机加减速控制。很多新手在使用步进电机的时候可能会发现,本来额定转速600RPM的电机,可能只能转到100RPM,速度一加快,就启动不了了,直接堵转!这是为什么呢?难道电机有问题?明明参数上写的可以达到600转每分钟的啊?怎么速度就是上不去呢?实际上,如果厂家没有虚标电机参数的话,那么标称600RPM的电机基本上都是可以达原创 2021-12-29 11:41:26 · 2236 阅读 · 0 评论 -
【STC15系列】SYK-0806-A2S1 工业自动化控制之【09-步进电机正反转】
大家好,我是『芯知识学堂』的SingleYork,前一篇文章给大家介绍了“SYK-0806-A2S1 工业自动化控制之【08-步进电机启动和停止】”,这一篇中,笔者要给大家介绍如何实现步进电机的正反转控制。在前面介绍步进电机接线方法的时候,我们可以看到,单片机跟步进电机是有三根信号线相连的,其中有一根就是方向信号线。那么就很简单了,我们要控制步进电机的正反转,就只需要控制步进电机的方向信号就可以了。本例中笔者是还是跟上一讲一样,分两种方式来实现步进电机的启动与停止:通过控制定时器0的启动与停止来实原创 2021-12-28 16:13:46 · 986 阅读 · 0 评论 -
【STC15系列】SYK-0806-A2S1 工业自动化控制之【08-步进电机启动和停止】
大家好,我是『芯知识学堂』的SingleYork,前一篇文章给大家介绍了“SYK-0806-A2S1 工业自动化控制之【07-定时器产生特定频率脉冲】”,这一篇中,笔者要给大家介绍如何定时器产生特定频率来控制步进电机。在工业自动化控制中,相信大家对步进电机并不会陌生,工业上用的步进电机一般还会配一个专门的驱动器,下图中就是其中的一款带驱动器的57型步进电机套件:那么,我们先来看一下步进电机的控制原理:根据上图中的步进电机的控制原理我们可以知道,通过控制器产生脉冲信号,再经过步进电机驱动器将脉冲信号原创 2021-12-28 14:59:31 · 837 阅读 · 0 评论 -
【STC15系列】SYK-0806-A2S1 工业自动化控制之【07-定时器产生特定频率脉冲】
大家好,我是『芯知识学堂』的SingleYork,前一篇文章给大家介绍了“SYK-0806-A2S1 工业自动化控制之【06-输入信号延时控制输出】”,这一篇中,笔者要给大家介绍如何使用定时器产生我们想要的频率。首先,我们先来介绍一下本例要实现的功能:X00由低电平变成高电平时,timer0的输出频率加1000Hz,当频率超过10000Hz时,频率切换为1000Hz;X01由低电平变成高电平时,timer2的输出频率加1000Hz,当频率超过10000Hz时,频率切换为1000Hz;在明确了目标原创 2021-12-28 11:26:03 · 403 阅读 · 0 评论 -
【STC15系列】SYK-0806-A2S1 工业自动化控制之【06-输入信号延时控制输出】
大家好,我是『芯知识学堂』的SingleYork,前一篇文章给大家介绍了“SYK-0806-A2S1 工业自动化控制之【05-定时器控制的流水灯】”,这一篇中,笔者要给大家介绍如何使用定时器在项目中的一些实际应用。首先,我们先来介绍一下本例要实现的功能:当X00信号由低电平变成高电平时(即一个上升沿,类似一个按键按下并松开),延时500ms(该延时由timer0实现),Y00输出ON;延时1000ms(该延时由timer2实现),Y00输出OFF。确定好功能后,我们便可以开始写代码了,首先 ,两个定时原创 2021-12-28 10:28:44 · 596 阅读 · 0 评论 -
【STC15系列】SYK-0806-A2S1 工业自动化控制之【05-定时器控制的流水灯】
大家好,我是『芯知识学堂』的SingleYork,前一篇文章给大家介绍了“SYK-0806-A2S1 工业自动化控制之【04-输入输出点动控制】”,这一篇中,笔者要给大家介绍如何使用定时器来实现流水灯的效果。说到定时器,那么我们先来看下我们现在使用的这款IAP15W413AS单片机的定时器资源:从官方的芯片手册上我们可以看到,STC15W401AS这个系列的单片机只有定时器0和定时器2这两个定时器,也即IAP15W413AS这个型号只有定时器0和定时器2这两个定时器。所以,本例中,我们也只能用到这两个原创 2021-12-27 18:12:49 · 565 阅读 · 0 评论 -
【STC15系列】SYK-0806-A2S1 工业自动化控制之【04-输入输出点动控制】
大家好,我是『芯知识学堂』的SingleYork,前一篇文章给大家介绍了“SYK-0806-A2S1 工业自动化控制之【03-延时函数演示流水灯】”,这一篇中,笔者要给大家介绍如何用板子上的输入口来点动控制板子的输出。所谓的点动控制,顾名思义就是:当有输入信号的时候,让对应的板子输出ON;当没有输入信号的时候,让对应的板子输出OFF;我们先来看下板子输入输出IO口分布情况:关于输入、输出引脚的软件配置,其实在上一讲的“SYK-0806-A2S1 工业自动化控制之【03-延时函数演示流水灯】”原创 2021-12-27 15:37:46 · 520 阅读 · 0 评论 -
【STC15系列】SYK-0806-A2S1 工业自动化控制之【03-延时函数演示流水灯】
大家好,我是『芯知识学堂』的SingleYork,前一篇文章给大家介绍了“SYK-0806-A2S1 工业自动化控制之【02-硬件分析&外设接线图】”,相信大家对我们的这款板子已不再陌生,那么今天开始,笔者就要来给大家介绍如何使用STC15系列库函数来开发这款工控板,这一篇文章,笔者以点灯为例,来教大家如何对SYK-0806-A2S1这款控制板进行输出控制,那么我们首先来看下板子的输出口的IO引脚分布:从板子的硬件原理图上我们可知,SYK-0806-A2S1这款工控板的6个输出口Y00-Y05所原创 2020-10-03 18:36:48 · 533 阅读 · 0 评论 -
基于【STC15系列】单片机的工业自动化控制系列教程汇总
大家好,我是『芯知识学堂』的SingleYork,今天笔者给大家介绍有关51单片机做工业自动化控制方面的应用相关知识。相信接触过51单片机的小伙伴,或多或少会有这样的疑问:学了51单片机,究竟能干啥?感觉STM8、STM32、DSP、FPGA这些都比传统的51强大,我们为啥还要来学51单片机呢?其实,笔者在刚接触单片机的时候,也有同样的疑惑,只是当时还不知道有STM8、STM32、DSP、FPGA这些东东,当时是因为工作需要才学的,在学校的时候,压根就不知道单片机是什么东东,更别说有机会玩单片机了。只原创 2020-09-10 16:47:00 · 2650 阅读 · 2 评论 -
【STC15系列】SYK-0806-A2S1 工业自动化控制之【01-产品简介】
大家好,我是『芯知识学堂』的SingleYork,今天笔者给大家介绍一下这款“SYK-0806-A2S1”公控板的主要功能。“SYK-0806-A2S1”这款是以IAP15W413AS单片机为主控制器,主要集成了以下几个功能:1、8路带光耦隔离的NPN输入端口2、6路共正极的N-MOS管NPN输出端口3、2路0-5V的模拟量采集4、1路RS232接口,可用于程序下载或串口通信5、1个TTL下载接口(也可以用于串口通信和在线/脱机下载)6、1个标准的DC电源座和一个可插拔的3.81mm接线端子原创 2020-09-10 21:40:56 · 658 阅读 · 0 评论 -
【STC15系列】SYK-0806-A2S1 工业自动化控制之【02-硬件分析&外设接线图】
大家好,我是『芯知识学堂』的SingleYork,前一篇文章给大家介绍了这款“SYK-0806-A2S1”工控板的主要功能,SYK-0806-A2S1 工业自动化控制之【01-产品简介】,今天笔者将要给大家分析一下这款板子的硬件电路。从上一篇文章中我们知道,“SYK-0806-A2S1”这款工控板的8路输入口全部采用了光耦隔离,6路输出口采用的MOS管隔离。其实严格的来说,这也不能算是完全隔离,因为我们的GND并没有做隔离,而是仅仅将外部的24V输入信号跟单片机的输入口通过一个光耦进行了电气隔离,以便原创 2020-09-13 22:11:03 · 720 阅读 · 0 评论