梁工
发表于 2024-10-21 10:10:52
chensiyu 发表于 2024-10-20 23:12
风扇电机抖动启动不了。
你具体是什么电机?如果是风扇用直流三相无刷电机,一般自带驱动。
我是STC小小白
发表于 2024-10-22 21:44:52
看看
stb988
发表于 2024-10-24 10:49:57
我也复刻了一个,很好!
芯远航
发表于 2024-10-24 13:13:32
这个例子,如果P00也做PWM输出(其它用途,调光),会不会冲突
梁工
发表于 2024-10-24 20:17:15
芯远航 发表于 2024-10-24 13:13
这个例子,如果P00也做PWM输出(其它用途,调光),会不会冲突
单片机的各种外设都是独立的,怎么会有冲突?只要安排好IO没有冲突即可。
vcakva
发表于 2024-10-26 11:37:28
本帖最后由 vcakva 于 2024-10-26 17:10 编辑
梁工 发表于 2023-4-28 11:47
正反转,步骤反过来就可以了。刹车,3个PWM同时输出,可以有踩刹车踏板的刹车效果,或者将3个下管同时导 ...
感谢梁工的程序,受益匪浅{:handshake:}
zwf33335
发表于 2024-10-26 15:16:44
本帖最后由 zwf33335 于 2024-10-26 15:18 编辑
梁工你好!我想按你的电路和开源程序做一个无霍尔的无刷直流电机控制器,画PCB时有什么特别注意的地方吗、麻烦老师指导一下,做中功率的,24V供电
梁工
发表于 2024-10-27 08:38:59
zwf33335 发表于 2024-10-26 15:16
梁工你好!我想按你的电路和开源程序做一个无霍尔的无刷直流电机控制器,画PCB时有什么特别注意的地方吗、 ...
注意大电流与小电流部分分开布板即可。
mark_lhm
发表于 2024-10-28 00:49:16
本帖最后由 mark_lhm 于 2024-10-28 00:51 编辑
梁工,您好~!
有两个问题请教一下:
一,例子里面为什么是设置为400?我在低速驱动的时候,有感觉到强起转闭环的时候会卡一下。不知道是不是因为换相时间和400 不匹配导致的。
if(!B_RUN && (PWW_Set >= D_STOP_PWM)) // 占空比大于设定值, 并且电机未运行, 则启动电机
{
B_start = 1; //启动模式
for(i=0; i<8; i++) PhaseTimeTmp = 400;
二,有看到您说 使用15W做过无30度换相的方案。能分享一下材料吗?
顺便多问一下,如果不使用30度,在比较器能识别到过零信号的情况下,直接过零换相,会不会更顺利的启动?从而可以避免盲起?
梁工
发表于 2024-10-28 10:11:26
本帖最后由 梁工 于 2024-10-28 10:14 编辑
mark_lhm 发表于 2024-10-28 00:49
梁工,您好~!
有两个问题请教一下:
一,例子里面为什么是设置为400?我在低速驱动的时候,有感觉到强起 ...
1、这是初始换相时间,仅仅用于计算刚进入闭环时的30度角延时,启动时速度慢,30度角误差大也不影响,设置较小值就等效于没有30度角延时。8次换相之后就能得到正确的30度角延时时间。设置为400,则30度角延时时间为100us,对于低速启动时,换相时间都在几个ms级别,100u的延时基本可以忽略,等效于没有30度角延时。
“感觉到强起转闭环的时候会卡一下”,应该是启动转速跟刚进入闭环时转速不一致导致,让启动占空比与刚进入闭环时占空比一直就不会出现。
2、参考上述描述。