危险刹车信号灯;急刹爆闪灯

电动车论坛

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 6601|回复: 15
打印 上一主题 下一主题

一款无霍尔/有霍尔通用无刷控制器制作资料

[复制链接]
跳转到指定楼层
1#
发表于 2008-3-19 19:51:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是本人几年前开发的产品,低成本无霍尔/有霍尔通用设计,因为无同步整流功能现巳停产.下面贴出原理图、PCB图和样机装配图,过后会贴上最小功能程序源代码,希望对开发的同行有所帮助.

[ 本帖最后由 yjz 于 2008-3-24 08:49 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
2#
发表于 2008-3-19 20:16:59 | 只看该作者
好东东!感谢 yjz网友的无私!收藏了。
3#
发表于 2008-3-19 21:33:19 | 只看该作者
顶!支持
4#
发表于 2008-3-20 08:57:51 | 只看该作者
方振兄的源程序 能贴出来是我辈的福份啊 支持方振 电子大展宏途。
5#
发表于 2008-3-21 09:11:13 | 只看该作者
楼主你好,要怎么才能和你联系?我的QQ316702766.想做控制器!
6#
 楼主| 发表于 2008-3-21 10:47:20 | 只看该作者
原帖由 xiong 于 2008-3-21 09:11 发表
楼主你好,要怎么才能和你联系?我的QQ316702766.想做控制器!

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

谢谢兄台关注我们的产品.
7#
发表于 2008-3-22 22:40:54 | 只看该作者
支持一下!!
8#
发表于 2008-3-22 23:12:56 | 只看该作者
hao .....好,,,,,,,,,,,,,,,,,
9#
 楼主| 发表于 2008-3-24 08:48:40 | 只看该作者

主程序

/***********************************主程序********************************/

//! 主程序
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电流控制
      }
    }
}
10#
发表于 2008-3-24 11:19:15 | 只看该作者
主程序啊 子程序呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|电动车论坛 ( 京ICP证041302号 )

GMT+8, 2025-12-9 04:27 , Processed in 0.093600 second(s), 16 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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