数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 1293|回复: 28

[C51] STC单片机驱动直流电机,为啥驱动不起来?

[复制链接]
发表于 2024-8-28 21:18:58 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
捡垃圾捡了一个锂电钉枪,结果主板坏了。

遂想自己做一个主板,单片机用的STC8G1K08 8脚单片机,3-5.5电压供电
原理如下


自己写了点代码,


代码在开发板上测试LED,可以正常点亮和熄灭。

但是接电机后,就是无法启动,P5.5的电平要不是高电平,按了K3不变低,要不是低电平,按了K1+K2不变高。

有哪位大婶帮我看看,到底哪里出了问题。
发表于 2024-9-8 12:46:02 | 显示全部楼层
MOS前面加个三极管驱动
回复 支持 反对

使用道具 举报

发表于 2024-9-4 15:00:47 来自手机浏览器 | 显示全部楼层
用2003驱动吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-9-4 10:49:08 | 显示全部楼层
mmxx2015 发表于 2024-9-3 19:55
MOS管是电压驱动的,GS几乎不需要电流,按理不存在驱动不起来的问题,你可以在GS之间接个电阻+LED看看LED ...

估计是我可调电源的问题,换成锂电池就可以了!

我打板做PCB了!哈哈!
回复 支持 反对

使用道具 举报

发表于 2024-9-3 19:55:38 | 显示全部楼层
myseil 发表于 2024-9-3 19:48
现在可以正常使用了,加了5.1v的稳压二极管。
但是又发现一个现象,单片机驱动mosfet的引脚,使用推挽输 ...

MOS管是电压驱动的,GS几乎不需要电流,按理不存在驱动不起来的问题,你可以在GS之间接个电阻+LED看看LED亮不亮、亮多久。如果有示波器,用示波器来看是最好的。

回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-9-3 19:48:18 | 显示全部楼层
mmxx2015 发表于 2024-9-1 12:25
那是电机断电时产生的反向电压,可以在电机两端接一个肖特基二极管快速消除这个电压,如下图D2,没有SS34 ...

现在可以正常使用了,加了5.1v的稳压二极管。
但是又发现一个现象,单片机驱动mosfet的引脚,使用推挽输出,有时候上拉,拉不起来。

不知道是不是单片机的问题。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-9-3 19:46:30 | 显示全部楼层
aygcmy 发表于 2024-9-3 09:02
你的电路单片机前面没有LDO?电机反电势的高压把单片机给干掉了,再有有刷电机火花干扰太大,电路抗干扰处 ...

没有LDO,我看原来的坏的主板上也没有,锂电池直接供电的
回复 支持 反对

使用道具 举报

发表于 2024-9-3 09:02:03 | 显示全部楼层
myseil 发表于 2024-9-1 11:49
我昨天用硬件消抖,使用K1按下,电机通电,K1松开电机断电。
电机能正常运行,但是没试几次,单片机挂了 ...

你的电路单片机前面没有LDO?电机反电势的高压把单片机给干掉了,再有有刷电机火花干扰太大,电路抗干扰处理不好会造成单片机反复启动
回复 支持 反对

使用道具 举报

发表于 2024-9-2 17:12:49 | 显示全部楼层
如果控制端口控制LED灯状态符合,那就可能是无法直接驱动场馆,在场管驱动加一级图腾,另外电机端口要接一个续流二极管,加一级驱动后,看控制是否正常
回复 支持 反对

使用道具 举报

发表于 2024-9-1 12:25:53 | 显示全部楼层
myseil 发表于 2024-9-1 11:50
我昨天用硬件消抖,使用K1按下,电机通电,K1松开电机断电。
电机能正常运行,但是没试几次,单片机挂了 ...

那是电机断电时产生的反向电压,可以在电机两端接一个肖特基二极管快速消除这个电压,如下图D2,没有SS34可以用UF4007之类的,实在没有肖特基二极管,可以试下1N4007之类的普通二极管,理论上效果不会差一些。


如果加D2还烧单片机,可以尝试加上图可恢复保险丝U2(电流100mA~500mA左右即可)、5V单向TVS管D1组成的保护电路。
如果电机起转、停止产生的干扰导致单片机工作不正常,可以尝试在单片机供电加个LC或RC滤波。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
回复 支持 反对

使用道具 举报

发表于 2024-9-1 12:09:46 来自手机浏览器 | 显示全部楼层
myseil 发表于 2024-9-1 11:50
我昨天用硬件消抖,使用K1按下,电机通电,K1松开电机断电。
电机能正常运行,但是没试几次,单片机挂了 ...

加一个RCD尖峰吸收电路。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-9-1 11:50:02 | 显示全部楼层
mmxx2015 发表于 2024-8-29 09:20
那程序就有个问题:如果一直抵着按着K2,电机就不会动作直到释放其中一个,显然,释放K1是不可能的。 ...

我昨天用硬件消抖,使用K1按下,电机通电,K1松开电机断电。
电机能正常运行,但是没试几次,单片机挂了!
换了一片单片机,电机接万用表,发现有几次电压上升到7-8v左右,远远高于单片机最高供电电压。
不知道怎么处理了。

是不是单片机供电要加一个稳压二极管???
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-9-1 11:49:33 | 显示全部楼层
南天音乐 发表于 2024-8-29 10:20
三个按键组合起来同时消抖容易出逻辑错误

我昨天用硬件消抖,使用K1按下,电机通电,K1松开电机断电。
电机能正常运行,但是没试几次,单片机挂了!
换了一片单片机,电机接万用表,发现有几次电压上升到7-8v左右,远远高于单片机最高供电电压。
不知道怎么处理了。

是不是单片机供电要加一个稳压二极管???
回复 支持 反对

使用道具 举报

发表于 2024-8-29 10:20:41 | 显示全部楼层
三个按键组合起来同时消抖容易出逻辑错误
回复 支持 反对

使用道具 举报

发表于 2024-8-29 10:14:59 来自手机浏览器 | 显示全部楼层
myseil 发表于 2024-8-29 08:19
K1是保险,钉枪抵着(K1按下)然后按下扳机(K2),才能激发dianji(电机运行带动弹簧),弹簧压缩到一定 ...

用门电路?
回复 支持 反对

使用道具 举报

发表于 2024-8-29 09:30:02 | 显示全部楼层
建议先不要搞复杂的条件,简单点直接给电机=1一段时间看转不转得起来,转不起来那就是其他问题了,转得起来就是逻辑问题
回复 支持 反对

使用道具 举报

发表于 2024-8-29 09:22:41 | 显示全部楼层
逻辑有点不理解,在电机动作前一直while循环检测,那就是按键要翻转瞬间才过,但此时就会进入else里面,问题是else里面又while循环检测,个人理解逻辑不通.
回复 支持 反对

使用道具 举报

发表于 2024-8-29 09:20:48 来自手机浏览器 | 显示全部楼层
本帖最后由 mmxx2015 于 2024-8-29 09:22 编辑
myseil 发表于 2024-8-29 08:19
K1是保险,钉枪抵着(K1按下)然后按下扳机(K2),才能激发dianji(电机运行带动弹簧),弹簧压缩到一定 ...

那程序就有个问题:如果一直抵着按着K2,电机就不会动作直到释放其中一个,显然,释放K1是不可能的。
回复 支持 反对

使用道具 举报

发表于 2024-8-29 09:17:37 | 显示全部楼层
wangxiangtan2 发表于 2024-8-29 09:08
我觉得得分步来,控制电路先单独接电机,单独测试按下开关电机转不转;
电机控制没问题了再加上剩余电路调 ...

他的逻辑似乎是有问题的,电机=1貌似只在某个符合条件的瞬间,不会持续
回复 支持 反对

使用道具 举报

发表于 2024-8-29 09:08:49 | 显示全部楼层
我觉得得分步来,控制电路先单独接电机,单独测试按下开关电机转不转;
电机控制没问题了再加上剩余电路调逻辑。

一上来就接好所有电路、写好所有程序,那可有的折腾了,找问题去吧
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-7-21 22:28 , Processed in 0.140400 second(s), 13 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表