电动车论坛

标题: 一款无霍尔/有霍尔通用无刷控制器制作资料 [打印本页]

作者: yjz    时间: 2008-3-19 19:51
标题: 一款无霍尔/有霍尔通用无刷控制器制作资料
这是本人几年前开发的产品,低成本无霍尔/有霍尔通用设计,因为无同步整流功能现巳停产.下面贴出原理图、PCB图和样机装配图,过后会贴上最小功能程序源代码,希望对开发的同行有所帮助.

[ 本帖最后由 yjz 于 2008-3-24 08:49 编辑 ]
作者: 大林子    时间: 2008-3-19 20:16
好东东!感谢 yjz网友的无私!收藏了。
作者: 电动王王    时间: 2008-3-19 21:33
顶!支持
作者: ckks    时间: 2008-3-20 08:57
方振兄的源程序 能贴出来是我辈的福份啊 支持方振 电子大展宏途。
作者: xiong    时间: 2008-3-21 09:11
楼主你好,要怎么才能和你联系?我的QQ316702766.想做控制器!
作者: yjz    时间: 2008-3-21 10:47
原帖由 xiong 于 2008-3-21 09:11 发表
楼主你好,要怎么才能和你联系?我的QQ316702766.想做控制器!

您好,我的QQ767481527,您也可以通过email: wxfzdz@126.com或13906193869联系.

谢谢兄台关注我们的产品.
作者: ddc833    时间: 2008-3-22 22:40
支持一下!!
作者: 1老头    时间: 2008-3-22 23:12
hao .....好,,,,,,,,,,,,,,,,,
作者: yjz    时间: 2008-3-24 08:48
标题: 主程序
/***********************************主程序********************************/

//! 主程序
void main( void )
{
    currentUpdated = FALSE;          //! 电流测量更新标志.
    setspeedUpdated = FALSE;         //! 速度量测更新标志.
    shutdownUpdated = FALSE;         //! 刹车信号标志.
    volrefUpdated = FALSE;           //! 欠压信号标志.
    runstopUpdated = FALSE;          //! 堵转标志.
    CruiseUpdated = FALSE;           //! 巡航标志.
    helpUpdated = FALSE;             //! 助力标志.
    HallUpdated = FALSE;             //! 换相标志.

    MCUCR = (1 << PUD);             // 禁止所有上拉(Disable all pull-ups)
//    hallMask = HALL_MASK;            // 初始化 hallMask 变量

    Init_MC_timers();                //初始化控制定时器
    Init_MC_pin_change_interrupt();  //设置化引脚电平变化中断
    Init_ADC();                      //初始化 ADC 模块
//    WatchdogTimerEnable();           //初始化看门狗


    DDR_HALL |= HALL_MASK;           //识别 HALL 传感器 输入状态
    PORT_HALL |= HALL_MASK;
    PORT_HALL &= ~HALL_MASK;         
    DDR_HALL &= ~HALL_MASK;

    __enable_interrupt();            //使能中断

    DDR_MC = MC_MASK;                // 使能PD输出

    DDR_MC |= (1 << PD0);
    PORT_MC |= (1<<PD0);

    for(;;)
    {

      if ((Speedcount <= 0x3f) && (Speedcount >= 0x0f))  //led显示
      {
        PORTD |= (1<<PD0);
      }
      if ((Speedcount > 0x3f) && (Speedcount < 0x0f))
      {
        PORTD &= ~(1<<PD0);
      }
      if ( HallUpdated )        //换相
      {
        HallControl();
      }      
      if ( setspeedUpdated )  
      {
        if ( shutdownUpdated )  
        {
          BreakControl();       //刹车程序
        }
        else
        {
          PIDSpeedControl();    //pid速度控制
        }
      }
      if ( currentUpdated )
      {
        PIDCurrentControl();    //pid电流控制
      }
    }
}
作者: ckks    时间: 2008-3-24 11:19
主程序啊 子程序呢?
作者: 大林子    时间: 2008-3-24 14:09
这个没子程序能工作不?期待子程序!
还 有,速度和电流控制是不是真的PID
作者: yjz    时间: 2008-3-25 07:30
稍后会放出子程序,保证能转,但一些有关电动车控制器的关键技术不会包含在内.

回大林子兄:速度和电流控制是真的PI控制,但不建议用在电动车控制器上,因为相对负荷来讲电机功率太小而会导致控制过程太长.
作者: ckks    时间: 2008-4-1 17:04
方兄的了程序要难产了吧 ,在一个正常 的程序上去掉一些 还要好用确实还是要花脑精的是吧
作者: davi    时间: 2008-4-2 08:14
标题: 方兄的子程序真的要难产了吧?
方兄的子程序真的要难产了吧?
作者: yjz    时间: 2008-4-2 13:44
晕死,这段时间忙死了,没空整理.

等稍空闲一点再接着发.

抱歉.
作者: ckks    时间: 2008-4-2 14:47
没事的  其它大家都懂发出来的都没有实用价值的,光电机转转 代码是看的见的,方兄慢慢来 做正事要紧 ,祝生意兴隆。




欢迎光临 电动车论坛 (http://ev5s.cn/bbs/) Powered by Discuz! X3.2