请feng_matrix帮忙:“第二版无刷电调源代码”问题【恢复】
直接用你的“第二版无刷电调源代码”及电路,用的是旧硬盘里的三线无刷电机,老是一抖一抖的,转不起来,数据从1-255都是这样,只是数据越大抖的力就越大,请指点。谢谢!我是生手一个。
“第二版无刷电调源代码”:
http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=1387769&bbs_page_no=1&bbs_id=1025 过零检测你们是不是也会碰上错误不准确检测?在
SIGNAL(SIG_COMPARATOR)
//############################################################################
{
unsigned char sense = 0;
do
{
if(SENSE_H) sense = 1; else sense = 0;
switch(Phase)
{
case 0:
。
。
break;
case 1:
。
。
break;
。
。
。
case 5:
。
。
break;
}
}
while((SENSE_L && sense) || (SENSE_H && !sense));
PORTB ^=GREEN;
ZeitZumAdWandeln = 0;
}中加入输出PORTB ^=GREEN;使PB1的LED绿灯有输出。电机运转时用示波器检测换相中断的波形发觉会出现非预期的错误中断。这是不是与我使用的PWM输出有关?我的硬件是用的6个NMOS管3个IR2101驱动。PWM没有使用OC1A OC1B OC2,使用的是模拟输出6路PWM但上桥和下桥的输出PWM是互补的。如何能尽量避免换相错误中断?
另外do{...}while((SENSE_L && sense) || (SENSE_H && !sense));的while判定语句是软件防止错误换相干扰的吗?但实现的机理有点不明白。 I2C发送一个字节的控制字,表示0-255的油门大小
每20ms发送一次,通信速度100khz没问题
你的电调M8要设置到“内部8MHZ”,小于8MHZ也跑不起来的 QQ没有,MSN有:feng.matrix@yahoo.com.cn feng.matrix 有QQ吗, 我的是626321971 有事请教您 feng_matrix好银哪,我也要用你的第二版做做看 最近也做电调 谁有这版的pcb 谢啦!msn:wang_ti_bing_jason@hotmail.com email ti_bing_wang@yahoo.com.cn qq:44169046 DIP的M8少两个ADC管脚,没有过流保护功能,运转没问题的,我一开始调试程序时就用DIP的
发送时间20MS、10MS没关系的,商品电调用脉宽信号控制的,有个航模舵机或电调的标准20MS
DIY的电调是TWI(I2C)总线的,最高400khz,单字节通信速度us级别 多谢feng_matrix的指点。
已正常,电源16V,当发255时,瞬间的启动电流1A多一点,空转运转电流150mA。
是因为我发送数据的时间不是20ms而是10ms。
还有就是我用的是DIP的M8,没有TEST-BAT,不知会不会有别的什么问题。
再次感谢。 你烧入的是那一版程序?好象德国人有一版测试的程序,就是这么反复启动的,它根本不需要I2C控制就这么转的
你用我修改过的那版程序试试,如果还有这个现象,有可能电机负载过大,过流保护了
重点检测下采样电阻高电平端在运转时的电压有多少?与程序中的限流参数是否匹配?
程序中的限流参数是main.h
MAX_STROM与LIMIT_STROM 我上面说的那个现象不知道有没有人遇到过?
是什么原因呢? feng_matrix你好:
前几天比较忙,没空捣鼓这个,今天又查了下,是一条线接错了。
现在可以转动了。
还有一个现象:我一直是每隔20ms发一个固定的数据给它,比如50,电机启动后速度稳定转5-6秒后就自己降速,约1秒多又开始加速,如此反复,不知是什么问题。
电机是空载的。
非常感谢! 首先谢谢feng_matrix 的回复。
1、三线及四线的都试了,四线的那个中点不接,现象相同
2、电机是好的,用硬盘的板可以正常转动
3、MOS管好的
另我是通过IIC直接向电调板送一个固定数据,不知对不对?
IIC的时钟是100KHz。
谢谢! 如果你能确定I2C控制没有问题,重点检查MOS及电机,一直抖动无法启动的现象,比较象“缺相”
1.硬盘电机输出是三线还是四线?四线电机中点那根不接
2.硬盘电机的三组线圈是否完好?可用商品电调试验运转之
3.用万用表检查六组MOS是否击穿?检测方法很简单,断电后量每个MOS的两组大电流引脚,通则坏不通则好。 mark
页:
[1]