|
给小家伙买了条玩具船,用550电机的,在玩具里动力还算过得去。接收用的是继电器控制马达,转向是开关信号控制,于是琢磨着想改改。
先去淘了个飞机用的有刷单向电调(就是带个触发开关的那种),可是怎么也玩不起来,一触开关电机就转,油门拉到最低转速也只是略降一点。只好又退给了卖家。
一生气就决定自己D一个。去找了下封装小点、带PWM的单片机,发现PIC12F615还算适合,8条腿,也很容易买到,决定就用这个了。
以前从没碰过PIC的单片机,怎么办?从头学起。DOWN了个datasheet,花了两天时间学习并安装好编译环境(用的是PICC),又用了三天完成代码及调试。
本次DIY完全是闭门造车,有刷的控制比较简单,应该没什么低级错误的地方吧?。。。
MOS管2元一个买来的,查SPEC持续电流160A,瞬时620A,也不知要在什么散热条件下能达到这些值。。反正我只控制个550,太够了。
感觉MOS管的G、S之间应该加个15V左右的稳压管保护一下,不过用示波器粗看了一下波形,电机的反电动势好象也就15V左右,而FET的SPEC上GS的极限是+/-20V,大约还好吧。。就懒得加了。经过试车,目前情况还好,以后要是出问题再加吧。
目前代码只完成了正反转调速,油门上电保护,失去信号保护等,觉得目前够用了,就懒得再继续弄了。本来还打算加个电机唧唧叫的程序,再加个油门行程识别,因为能用了就发懒不想弄了。反正原代码我贴上来了,BUG肯定还有不少,有兴趣的朋友自己捉一捉或增加点功能。要是增加刹车,电路还得稍改改。
UART.C是用软件实现了个UART的输出,为了调试方便弄的,只要把MAIN.H里的那个宏打开就可以用了。19200波特率有点不稳定,目前是9600的。用GP0输出,图中没画。
[ 本帖最后由 ghia 于 2010-12-24 12:47 编辑 ] |
欢迎继续阅读楼主其他信息
|