有前辈对我说,做工业控制千万不要用单片机,我偏不信,这回头大了

2019-08-20 19:06发布

主控板采用MINI32F103,用2块八路晶体管控制板通过电磁阀控制12个气缸
接近开关用了18个
LJ12A3-4-Z/BX 接近开关 直流6V12V24V36V通用 三线NPN常开,这种是信号线常输出12V高电平,触发时低电平。有3个还无法使用呢,因为最多支持16个中断,且PB3还不能用。
步进电机5个,使用了TIM2的4个通道和TIM3的通道1输出脉冲(PA0~3 PA6),方向用PA4 5 7 8 11,驱动板是TB6560 3A步进电机驱动器
目前状况是工作基本正常,但是有干扰时,中断乱触发,特别是拿个电钻在机器附近上电到处晃时,电磁阀时不时地啪啪啪吸合。
STM32的供电是采用手机充电器,步进电机使用220v转24VDC,接近开关是220v转12VDC,三个电源完全独立。
机器机体已接地。
有前辈对我说,做工业控制千万不要用单片机,会干扰的,必需要用PLC,我不信。
也有前辈说,用单片机做工控的是败家仔,烧钱。我不信。
因为我每个部分都做了光耦隔离,干扰个毛线啊。
请老师指教一下,我想坚持用单片机。再学PLC应该不难,但我不想写那些梯形图,觉得没有C语言优美。
原理图:

接线图:

步进电机驱动板:

晶体管驱动板:
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
45条回答
prettywolf
1楼-- · 2019-08-23 13:29
回复【18楼】abb200628:
---------------------------------
已私信
prettywolf
2楼-- · 2019-08-23 17:56
回复【19楼】365mcu:
---------------------------------
觉得中断比较科学吧,感觉也不是很好,因为要消抖动,在中断里要delay 10ms,这时,步进电机就会有点迟延感。我觉得也是要改一下了。
prettywolf
3楼-- · 2019-08-23 19:40
回复【16楼】myxiaoniao:
---------------------------------
把5v,12v,24v的GND连起来?
365mcu
4楼-- · 2019-08-23 20:31
回复【21楼】prettywolf:
---------------------------------
中断有任何边沿条件成立,但是不是实际触发条件的话也会进入,不科学吧除非时间要求特别严格,一般不用中断做这个判断。可以1ms执行一个IO状态查询,连续20ms(即20次查询)为高电平即为高,连续20ms为低电平即为低,判断一个跳变沿为40ms,其中也避免了抖动干扰导致的误触发。
simms01
5楼-- · 2019-08-23 22:59
 精彩回答 2  元偷偷看……
yjwpm
6楼-- · 2019-08-24 02:23
就你的这套电路,不被干扰才怪,乱七八糟一大堆怎么能不被干扰,你把PLC拆解(PLC的主板也整成开发板形式)成这样你在试试看,PLC会不会被干扰,绝对是跟你的单片机的效果是一样的///

一周热门 更多>