找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3651|回复: 3
打印 上一主题 下一主题
收起左侧

AC230V交流电机调速原理图和程序

[复制链接]
跳转到指定楼层
楼主
AC230V交流电机调速原理图和程序,供大家参考和学习,严禁用于商业用途。
#pragma vector         ISR_EXINT         @0x04
//外部中断--双边沿
void ISR_EXINT(void)
{
        _intf=0;                 //清中断标志位
    out=0;           //过零关闭
        f_time=1;
        if(frequency_count>=190)
                f_mode=1;  //50HZ
        else
            f_mode=0;  //60hz
        frequency_count=0;   
}

//定时器中断--100us

#pragma vector         ISR_STMINT         @0x10
//定时器中断--50us
void ISR_STMINT(void)  //0.05MS
{
        _stma0f = 0;  //清中断标志位
        if(frequency_count<250)
            frequency_count++;       //200=50hz,166.6=60hz
       
        if(f_3)  //初始=0,上电延时15MS进入
           {       
           if(f_time)  //接收到外部中断后开始计时
             cnt_100us++;
           if((cnt_100us>=angle) &&(!f_temp))     //angle + 温度保护
                        out=1;               
           if(cnt_100us>=(angle+20))    //20=1ms
                        {
            out=0;
                        cnt_100us=0;
                        f_time=0;       
                        }                
           }
        else
           {
           cnt_100ms++;
           if(cnt_100ms>=250) //150
                    {
                        f_3=1;
                        cnt_100ms=0;
                    }
            }               
}
//时基中断服务函数
#pragma vector         ISR_TB0INT         @0x08
//用作定时中断
void ISR_TB0INT(void)
{
        _tb0f = 0;                                //清中断标志位
        if(f_3)
            {
                if(!f_ruanqi)  //软启动标记,f_ruanqi=1,软启动OK
                    {
                        cnt_50ms++;
                        if(cnt_50ms>=RUAN_QI)  //ruanqi=40常数,软启动速率,数值越大,启动越慢
                            {
                                ruanqi_data--;
                                cnt_50ms=0;
                            }
                    }
                //电流电压反馈值
                ad_cur=0;
                _sadc0=0x32; //an3
                _sadc1=0x04; //fad=fsys/16;
            _sadc2=0x00; //参考电压VDD
                _start=0;
                _start=1;
                _start=0;            //启动一次ADC
                while(_adbz);   //等待ADC结束
                ad_cur=_sadoh;       
                ad_cur<<=8;
                ad_cur|=_sadol;                //读取并返回数据
                if(!f_1)   //初始为0,
                   {
                   ad_zong+=ad_cur;
                   ad_ci++;
                   if(ad_ci>=16)  //16次后标记f_1=1;  
                           {
                           ad_ci=0;
                           f_1=1;   
                           }
                   }
                cnt_100++;
                if(cnt_100>=100) //数字越大,补偿越慢,开始是100,补偿速率
                   {
                   cnt_100=0;
                   if(r>l)    //0<=r<=6补偿目标值
                          l++;
                   if(r<l)
                          l--;
                   }
            }
}

QQ截图20181027093114.png (13.67 KB, 下载次数: 78)

QQ截图20181027093114.png

QQ截图20181027093059.png (13.91 KB, 下载次数: 81)

QQ截图20181027093059.png

AC230V交流电机调速原理和程序.rar

132.22 KB, 下载次数: 156, 下载积分: 黑币 -5

AC230V交流电机调速原理图

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:507042 发表于 2019-4-25 12:48 | 只看该作者
这是电压调速还是电流调速啊?
回复

使用道具 举报

板凳
ID:742639 发表于 2020-5-2 08:18 来自手机 | 只看该作者
电压调速,过零,
回复

使用道具 举报

地板
ID:97678 发表于 2024-7-13 10:49 | 只看该作者
里面没有头文件,可以发一下吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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