小弟在做基于单片机的篮球比赛积分器电路,不知道如何编写C程序,跪求好心人帮助;原理图如下

PIC16F73做的逆变器程序及原理图,文件以上传
当前位置:
PIC16F73做的逆变器程序及原理图,文件以上传
阅读: 60825
回复: 327
楼层直达:
我给别人做的逆变器,功率50~4000w,实地作过样机,良好纯正弦波,带冰箱,洗衣机彩电没任何问题.具有过电流保护,稳压反馈,全控制.希望大家能多提意见,共同学习.源程序为C语言,程序量大约1.5k.qq:
重新上传附件内有原理图,C源程序,PIC16F73文档,PROTEUS文件.
欢迎大家奉献或交流更多的电源技术,结识更多的行界朋友.群号:
此帖已被删除
**此帖已被管理员删除**
看我的网址:
广交天下朋友,欢迎UPS/电镀电源/电焊机朋友,有好资料共享,既然朋友们选择进来了,望多发言交流,谢谢.&&欢迎您的加入讨论 群号:
广交天下朋友,欢迎UPS/电镀电源/电焊机朋友,有好资料共享,既然朋友们选择进来了,望多发言交流,谢谢.&&欢迎您的加入讨论 群号:
大家顶一下吧,我可是全部奉献给了大家了.
500) {this.resized= this.width=500; this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}"
onclick="if(!this.resized) {} else {window.open('/bbs/u/56/.jpg');}" onmousewheel="return imgzoom(this);">
文件下载不了啊.
可以下载的,可能是你没设置好
强烈支持
做过4000w吗
感觉有点玄阿
一样,下载多学习学习...
顶,我先下了,高手,谢谢!!无私奉献.
R56-R59=20K,太大了吧
这里采用用4个3205,最大能输出多大功率呀?实验验证过吗?
WWWJJJWWW老师的无私奉献,确实让大家受益,谢谢老师!
关注老师有新的作品出现
东西确实不错,如果能给一份成熟生产的PCB文件好了,不知道这位大虾能不能提供下
顶是必须的,强顶!
顶!!!!!!!!!!!!!
楼主人真是好 我们这些初学者真的是收益匪浅啊& 顶顶!!
佛山UPS行业小功率通用设计?
顶!高清图片
请教排长,一个R2110做上下桥臂的悬浮驱动,和用两个电源模块单做上下桥臂的驱动,有什么区别吗?除了成本和体积上的。
还是下载不了啊!
不知这位兄台能否发一份给我,我现正在研究UPS.
给我来一份?
兄弟可以下下来很好多谢了有时间加我的QQ好好聊聊
我正在研究逆变电源,能否给小弟传来,有时间QQ聊,
向前辈您学习~~~
你好!楼住可以给我一份吗?
谢谢大师。请问您文件中有和NIBIAN.C两个程序,用哪一个好?
为什么我上传的文件不对?
要不,发到我的邮箱里吧.我也研究一下. linhua_ 谢了!
现在论坛上的RAR文件都不能下载.怎么回事?
给我传一份:
给我来1份:zgk_278@163.com 谢谢
贴出来,或转为文本文件
给我来一份好吗?
电子制做及维修,逆变器,变频器,变频电源,家电技术,电源,电子DIY及影视技术
技术创新,资料供享,QQ群欢迎加入
老师啊!给俺指点指点吧!!俺也想做一个。给俺传一个吧!!谢谢了。
发一份给我吧!小弟在此先谢谢了.
给小弟一份!!
能不能给一份
过我一份吧
我的邮箱:
Thank you!!!!!!
给我一份吧,在这谢过,邮箱:
敢问兄弟什么学历?小学?
什么意思?你学历很高了?
//------------------------------------------------------------
//&&&&&& spwm信号调制
//------------------------------------------------------------
#include
#include
//系统配置
__CONFIG(HS&PWRTEN&BOREN&PROTECT&WDTEN);
//打开看门狗,选择高速晶振,上电延时复位,掉电复位使能,代码保护
//------------------------------------------------------------
//指示灯宏定义
#define L1_RED_ON&& RB1=1;RB2=0;//L1红灯亮
#define L1_OFF&& RB1=0;RB2=0;
#define L2_RED_ON&& RB4=1;RB3=0;//L2红灯亮
#define L2_OFF&& RB4=0;RB3=0;
#define L3_RED_ON&& RB7=1;RB5=0;//L3红灯亮
#define L3_OFF&& RB7=0;RB5=0;
#define L1_GREE_ON&&RB2=1;RB1=0;//L1绿灯亮
#define L2_GREE_ON&&RB3=1;RB4=0;//L2绿灯亮
#define L3_GREE_ON&&RB5=1;RB7=0;//L3绿灯亮
//-----------------------------------------------------------
//模拟输入通道宏定义
#define AN0 CHS2=0;CHS1=0;CHS0=0;
#define AN1 CHS2=0;CHS1=0;CHS0=1;
#define AN2 CHS2=0;CHS1=1;CHS0=0;
//-----------------------------------------------------------
//-----------------------------------------------------------
void adc_init()
{
//ad时钟选择
ADCS1=1;//FOSC/32
ADCS0=0;
/*IF CPU IS PIC16F7X7
VCFG1=0;
VCFG0=0;//vref=vdd-vss
*/
PCFG0=0;
PCFG1=0;
PCFG2=0;//VREF=VDD-VSS
ADON=1;//打开ad模块
ADIF=0;//清除ad中断标志
ADIE=0;//打开ad模块中断
}
//-----------------------------------------------------------
void port_init()//端口初始化
{
//端口b设置
TRISB0=0;TRISB1=0;TRISB2=0;TRISB3=0;TRISB4=0;TRISB5=0;
TRISB6=1;//输入
TRISB7=0;//RB端口方向设置
PORTB=0;//输出0
RBPU=0;//使能内部弱上拉
INTE=0;//禁止RB0中断
RBIF=0;
RBIE=1;//允许RB端口电平变化中断
//端口c设置
TRISC=0X00;//PORTC are outputs
PORTC=0;//输出为0
RC1=RC2=0;
RC3=1;RC4=0;
//timer0 init
T0CS=0;//选择内部指令时钟
T0IF=0;
//T0IE=1;//在第一次ccp1比较后打开中断使能
//timer1
TMR1CS=0;//定时器模式
}
//----------------------------------------------------------
//----------------------------------------------------------
//软件延时子程序*/
void&&&&&& DELAY()
{
&& for(i=2000;i>0;i--);
}
//----------------------------------------------------------
void init_start()//开始
{
L1_RED_ON;L2_RED_ON;L3_RED_ON;
DELAY();DELAY();DELAY();DELAY();
DELAY();DELAY();DELAY();DELAY();
DELAY();DELAY();DELAY();DELAY();
DELAY();DELAY();DELAY();DELAY();
DELAY();DELAY();DELAY();DELAY();
DELAY();DELAY();DELAY();DELAY();
DELAY();DELAY();DELAY();DELAY();
DELAY();DELAY();DELAY();DELAY();
DELAY();DELAY();DELAY();DELAY();
DELAY();DELAY();DELAY();DELAY();
DELAY();DELAY();DELAY();DELAY();
L2_OFF;L3_OFF;L1_OFF;
DELAY();DELAY();DELAY();DELAY();
DELAY();DELAY();DELAY();DELAY();
DELAY();DELAY();DELAY();DELAY();
DELAY();DELAY();DELAY();DELAY();
DELAY();DELAY();DELAY();DELAY();
DELAY();DELAY();DELAY();DELAY();
DELAY();DELAY();DELAY();DELAY();
DELAY();DELAY();DELAY();DELAY();
DELAY();DELAY();DELAY();DELAY();
DELAY();DELAY();DELAY();DELAY();
DELAY();DELAY();DELAY();DELAY();
L1_GREE_ON;L2_GREE_ON;L3_GREE_ON;
DELAY();DELAY();DELAY();DELAY();
DELAY();DELAY();DELAY();DELAY();
DELAY();DELAY();DELAY();DELAY();
DELAY();DELAY();DELAY();DELAY();
DELAY();DELAY();DELAY();DELAY();
DELAY();DELAY();DELAY();DELAY();
DELAY();DELAY();DELAY();DELAY();
DELAY();DELAY();DELAY();DELAY();
DELAY();DELAY();DELAY();DELAY();
DELAY();DELAY();DELAY();DELAY();
DELAY();DELAY();DELAY();DELAY();
L2_OFF;L3_OFF;L1_OFF;
}
//----------------------------------------------------------
bit k,//关机及按键标志
bank1 unsigned char tm_//系统实际变量
bank1 unsigned char ad_res_1,ad_res_0,ad_res_2; //ad转换结果寄存器
bank1 float&&sin_am,sin_l,sin_d;//浮点数,幅值变量,临时变量,临时变量
bit sin_//sin函数正负半周标志
bit tmr_s,tmr_d,crut_//定时标志,定时标志变化标志,电流延时保护允许
unsigned char crut_//电流延时时间变量
unsigned char power_s;//电源动作延时变量
bit power_//电源允许动作标志
bit power_//初次开机标志
unsigned char power_up_s;//初次开机延时标志
bit crut_volue_
//-----------AD1通道转换--------------------
void ad_0()
{
AN0;//选择通道0
DELAY();//延时,采样电容充电
ADGO=1;//开器AD
while(ADGO);//等待ad结束
ad_res_0=ADRES;//结果转存到变量AD_RES_0
}
//-----------AD1通道转换--------------------
void ad_1()
{
AN1; DELAY();
ADGO=1;while(ADGO);
ad_res_1=ADRES;
if(ad_res_1>132){sin_am-=0.005;if((ad_res_1-132)>10)sin_am-=0.04; }
else
if((ad_res_1=130))sin_am+=0;
else
if(ad_res_110)sin_am+=0.04;}
if(sin_am>1.6)sin_am=1.6;
}
//------------AD2通道转换-------------------
void ad_2()
{
AN2; DELAY();
ADGO=1;while(ADGO);
ad_res_2=ADRES;
}
//-------------------------------------------
const unsigned char sin_[]={40,50,73,85,100,113,127,141,157,170,180,189,196,200,203,
204,//正半周
204,//负半周
203,200,195,188,179,169,157,144,129,113,96,78,59,39,15};
unsigned char sin_//SIN函数表查表变量
//-------------------------------------------------------------------------------
void CCP_start()
{
CCPR2L=0X0;//设置CCP2,0%的脉宽输出
CCPR1L=0X0;//设置CCP1,0%的脉宽输出
TRISC=0X00;//PORTC are outputs
PR2=0X//设置PWM的工作周期,16Mhz,PWM周期15.562khz
CCP1M3=1;CCP1M2=1;//CCP1模块PWM模式
CCP2M3=1;CCP2M2=1;//CCP2模块PWM模式
sin_up=1;//正负半周SIN函数
sin_num=0;//脉宽周期调整计数器
sin_am=0;//sin函数的幅值
sin_am=0.3000;//sin函数的幅值
crut_ie=1;//电流慢保护允许
}
//-------------中断服务程序------------------------------------
void interrupt key_ccp_timer()
{
if(TMR2IF&TMR2IE){TMR2IF=0;//定时器2中断服务函数
&&if(sin_num==31){sin_num=0;sin_up=!sin_}
&&sin_d=sin_[sin_num];
&&sin_l=sin_am*sin_d;if(sin_l>=255)sin_l=255;//限幅
&&if(sin_up)
&&{CCPR2L=(unsigned char)sin_l;CCPR1L=0;}//换向
&&&&&&{CCPR1L=(unsigned char)sin_l;CCPR2L=0;}//换向
&&sin_num++;
}
CLRWDT();//清除看门狗
if(RBIF&&RBIE){RBIF=0;if((!RB6)&&power_ie)k=1;}//端口b中断服务函数
if(TMR1IF&TMR1IE){TMR1IF=0;tm_sum++;if(tm_sum==31){tm_sum=0;tmr_s=!tmr_s;tmr_d=1;}}
//定时器1中断服务函数
}
//************************************************************************************
main()
{
CLRWDT(); //清除看门狗
port_init();//端口初始化
init_start();//开机状态
adc_init();//ad通道初始化
//-----
RC4=0;//继电器关闭
RC3=1;//关闭脉冲封锁
//-----
TMR1CS=0;//同步模式
T1SYNC=0;//内部指令周期
TMR1H=0XFD;
TMR1L=0X10;//定时器1初值
TMR1IE=1;//定时器1中断使能
//-----
TRISC=0X00;//端口C输出
TRISC1=TRISC2=1;//RC1,RC2输入模式
PEIE=1;//外围模块中断使能
TMR2IE=1;//打开定时器2中断使能
GIE=1;//开全局中断
TMR2ON=1;//打开定时器2
TOUTPS3=0;TOUTPS2=1;TOUTPS1=0;TOUTPS0=0;//定时器2后分频器5分频
TMR1ON=1;//打开定时器1
power_ie=1;//允许开机
while(1)
CLRWDT();//清除看门狗
&&DELAY();DELAY();DELAY();DELAY();DELAY();DELAY();//延时
&&DELAY();DELAY();DELAY();DELAY();DELAY();DELAY();//延时
if(k&&RB6){k=0;power=!}//开关机标志
if(power)//开机
power_ie=0;//开关间隔开始计时
RC3=0;//打开脉冲封锁
RC4=1;//打开继电器
L3_RED_ON;//打开L3绿灯
CCP_start();//开始SPWM
if(!power)//关机
power_ie=0;//开关间隔开开始计时
crut_if=0;//电流保护标志清零
volue_if=0;//电池电压保护标志清零
L1_OFF;//关灯
RC3=1;//关闭脉冲封锁
CCP2CON=0;CCP1CON=0;//复位CCP模块
RC2=RC1=0;//置端口固定电平
L3_OFF;//关闭L3绿灯
RC4=0;//关闭继电器
}
//-----输出电流检测
if(power_up)
if(ad_res_0>=204)//电流高于4v,快保护
crut_if=1;crut_tmr=0;crut_ie=0;
L2_GREE_ON;RC3=1;RC4=0;L3_GREE_ON;
if((ad_res_0>=102)&&(ad_res_0<204))//高于2v电流慢保护
L2_GREE_ON;
if(tmr_s&&tmr_d&&crut_ie)//时基,时基变化标志,保护允许
tmr_d=0;crut_tmr++;
if(crut_tmr==10)
crut_tmr=0;crut_ie=0;crut_if=1;//保护
L2_GREE_ON;RC3=1;RC4=0;L3_GREE_ON;
if(ad_res_0<102){crut_tmr=0;L2_OFF;if(crut_if)L2_GREE_ON;}//电流正常低于2v
//-----电池电压检测
if(ad_res_2>=102){L1_OFF;if(volue_if)L1_GREE_ON;}
//电池电压大于2v,L1红灯灭
if((ad_res_2=91)){L1_GREE_ON;}//电池低于2v大于1.8v
&&&& if(ad_res_2<92){volue_if=1;L1_GREE_ON;RC3=1;RC4=0;L3_GREE_ON;} //电池低于1.8v
}
//-----模拟采集
if(power)ad_1();//在开机状态下检测反馈电压
ad_2();//采集电池电压
ad_0();//采集电流
if(power_ie==0)//开关机时间间隔
if(tmr_s&&tmr_d){tmr_d=0;power_s++;}
if(power_s==10){power_s=0;power_ie=1;}
if(power_up==0)//上电延时1秒检测电池电压
if(tmr_s&&tmr_d){tmr_d=0;power_up_s++;}
if(power_up_s==1){power_up_s=0;power_up=1;}
好贴!学习了
上海没有什么好牌子,买过一个打的上海EPS上海西门康的EPS,其实是个温州的小作坊,在上海就一个销售贸易公司,产品质量特别差,我买了台卖到天津,一年出了三次问题,就是不上门服务,在上海都没有售后,还说包三年,钱到了,还包什么?上门先汇款,上海大部分都是皮包公司,最好建议大家买电源,要到实地去看,千万不上当,买到都是温州货.所以我建议大家在买产品的时候,先要打电话问技术部,不要问销售,要是技术电话是外地的,或者报价特别便宜的,要特别小心.
小弟刚学逆变器开发,对软件不懂,能否指点一下,让我入门,有好的书籍也可以
能否传一个汇编程序呀!
多谢了!
C还是比较简单些,特别对于16系列的单片机,用汇编比较麻烦的.....
何况学会了c对于搞其他的单片机也是很好的呵
我计算你的程序产生的正弦波频率不是50HZ.计算方法是PWM频率/半周期的变量个数/2:即15.625K/32/2=0.244KHZ=244HZ.不知道是我出错了还是你出错了,请指教.
是啊,我也有同感,不知道现在你对这个问题是怎么理解的?
交流一下:QQ
請教 程序产生的正弦波频率不是50HZ
那如何改成 60hz 需改動到那部份?
ADIE=0;//打开ad模块中断,对吗?
老兄:你这个程序跑不起来呀!我测试过,开关机有用,没有SPWM信号输出。还得再试试。&
正在学习中,多谢.
怎么打不开啊!??
用ALTIUM打开
用Protel99se无发打开
我试了,可以下载,可以大开
老大你的ddb文件用protel99se无发打开.
这种无聊的贴子真是浪费人的热情!
能打开了,谢谢.
我试了一下,输出带负载压降太大.且看不到正弦波形.不知问题出在哪里.盼楼主及高手解答.多谢!
高手看一下,能行吗?
我虽然没亲自做,但我一网友说做成了!
500) {this.resized= this.width=500; this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}"
onclick="if(!this.resized) {} else {window.open('/bbs/u/49/.jpg');}" onmousewheel="return imgzoom(this);">
请问C语言程序怎样才能写进片子里啊?用烧写器直接写进可以吗?我不太懂这些
先用PICC编译器编译为*.HEX或*.BIN;再通过烧录器读入*.HEX或*.BIN文件写到IC里面.
好!顶顶顶!!!有没有三相的啊?有的话请发个给我,非常感谢!!!!我的邮箱:
搞不懂这个垃圾贴还"置顶"
小朋友!这叫垃圾?那你发些不是垃圾的上来看看!!!!
自己看不懂就别说这是“垃圾”
好人啊,太好了,有变压器参数吗?有的话给我发一份吧,谢谢楼主!grxeee@
太好了,能不能给我发一份,我正在做UPS研发,.CN
大家好,好久没有上电源网了,最近工作是在太忙,看到大家这么支持,我非常高兴,技术是公开的,只有看看别人的,才知道自己的到底如何.我这个程序是原创的.不存在操袭.而且经过了生产.如果有什么问题或对程序有建议,可以练习我:qq:
程序包我试了,可以正常下载,希望不要触犯某些人的利益.
高人,先顶一下,这样无私有几人呀!!谢谢!最好能给个变压器的参数,我准备做一下.要知好不好,先躬行.
感谢楼主的开源精神!我特意找了PIC的烧录线资料打算自己腐蚀板子作这个逆变220V正弦波电压试试,但是原理图的3个变压器中的两个小变压器TX2和TX6参数不祥如图下:有资料吗?急切期待。&
太好了,能不能给我发一份,我正在做UPS研发,
虽然不懂,但也要顶!
哪位好心人,请给我发一份,不胜感激
哪位好心人,请给我发一份,不胜感激.
不错!兄弟我来顶顶!
大致看了一下,小弟弟,做得很不错.
提出几点看法希望对你有帮助:
&&&&&&&&&&&&&&1,PIC系列的端MCU或者DSP对端口操作要严格注意不能连续改变其同类型的数值
&&&&&&&&&&&&&&&& 如:RC1=RC2=0,RB1=1;RB2=0;等等.
&&&&&&&&&&&&&&&& 我们想独立改变其电平中间必须加入NOP延时语句,尤其是在FOSC在12MZH以上系统.
&&&&&&&&&&&&&&&& 原因是什么,不多讲了,DATASHEET上说得很清楚.
&&&&&&&&&&&&&&2,在ad_0()函数中的,没必要经过这么长的for(i=2000;i>0;i--)延时,这跟你的AD口
&&&&&&&&&&&&&&&& 输入阻抗有关系,说明书上也有计算公式.
&&&&&&&&&&&&&&3,你的SPWM周波信号取32点,太少了,协波信号太大,同时变压器损耗也大取64个或12&&&&&&&&&&&&&&&&&& 点比较好.
&&&&&&&&&&&&&&4,16MZH,PR2=OXFF,调制频率为15.56KHZ.但是我这里看不到你定时器T2的初始化
&&&&&&&&&&&&&&&& 设置,也就是说,你是经过多长时间改变CCP脉宽的?这关系到你一个周波有几个脉冲&&&&&&&&&&&&&&&& 波?而且你的死区是如何控制的?这样看来,你可能忘记了某些东西,还没有帖上来&&&&&&&&&&&&&&&& 噢.
&&&&&&&&&&&&&&5,if((ad_res_1=130))sin_am+=0;
&&&&&&&&&&&&&&&& 这样的电压调节算法,太粗糙了.振荡、超调回时实出现.为什么不鉴见一下我以前
&&&&&&&&&&&&&&&& 帖的PI算法呢?
&&&&&&&&&&&&&&6,看来你采样的是逆变直流信号,假如做高质量的逆变电源,应该采用交流采样,时实
&&&&&&&&&&&&&&&& 调节PWM,否则系统不稳定.
&&&&&&&&&&&&&&7,而且也没看到你软件上的的短路保护算法哦.
这是针对你帖出来的软件大致看了一下,提几点看法,希望对你有帮助.
硬件电路没有看见,尚不做评价.
谁有二手1-3KW在线式UPS卖!电话联系
新的UPS本来就不贵,您为什么还要旧的?
今天看了你的点评,说句心里话,我是比较佩服阁下.说说我的程序吧,是给朋友帮忙才编的.在这之前我甚至没有使用过PIC单片机,开发过程只有7天时间,而且没有仿真器,我自己一边一边的烧片子试出来的,算不上一个好程序,不过给初学者一个参考也是好事.我的专业不是电源,我主要搞一些仪表类的开发.欢迎大家提意见,共同学习.
你的这个不要升压的,那个变压器有没有参数阿??
博学啊,老兄
你好!看了你的点评,觉得水平很高!我现在手上有一UPS要开发软件,CPU 是PIC16F73的,要求交流采样.如果有意向,请尽快联系我:
你好,能不能把你交流采样的程序发给我看看啊?我正在研究逆变,谢谢!&我的邮箱:
请问zack怎么确定最高正弦电压最高处的SPWM的占宽比啊?使之输入降低时不致于饱和
最高占空比看PRx的SPWM定时器周期设定,假如超出会引起脉宽数据溢出,后果是从零开始调制,电压输出低,后果很严重.设计时要注意计算.
是否是可以设定一个最高允许值,超过就reset或者直接跳出呢???
你好,这么久了,不知道你还上不上这个论坛。但是我还是想试一下,我问一下,你能给我发一下这个程序的修改版吗?或者能告诉我这个电路图的直流输入电压在哪?
我来提交图纸:
500) {this.resized= this.width=500; this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}"
onclick="if(!this.resized) {} else {window.open('/bbs/u/49/.jpg');}" onmousewheel="return imgzoom(this);">
这个是PDF文件!
貌似浮动栅极的驱动储能电容没有加,建议在IR脚加上0.1~1uF的电容(具体参照datasheet).依照图纸做出来的板上半臂的功率管驱动正常?加负载后是不是T5T6极易发热?呵呵,前年玩三相逆变就遇到类似问题.
这样的好帖,岂能不顶!!!!!
收藏了
谢谢!^_^
这位"黄土高原"的朋友你好! 能不能把你的资料发给我一份啊?特别是图上的变压器的参数告诉我呀?我也是陕西西安的!我也想做个玩玩,谢谢了!shanxi2006.liutao@163
好帖!能否发一份变压器的参数给我我是做逆变电源的,谢谢!
这个升压变压器体积不是要很大???
顶上
赶哪天有空我也搭一个玩玩
楼主;你好!!
我按你的软体烧录了一片,可没有SPWM波形输出;我用16M的晶振,我测晶振的输入端也没有起振(我已把27脚和地短路了一次,RA2我输入了2.5V的直流电压),还请楼主指点一二,为什么会不起振?
应该是震荡器启动,并不会输出SPWM波,电路中有按键,需要按按键程序才会输出SPWM波形的.最好看程序,注释比较详细的.
我是一个新手还请多指教,这一段不是说开机说明吗?还要在加按键程序,
if(k){
&&DELAY();DELAY();DELAY();DELAY();DELAY();DELAY();//延时
&&DELAY();DELAY();DELAY();DELAY();DELAY();DELAY();//延时
if(k&&RB6){k=0;power=!}//开关机标志
if(power)//开机
power_ie=0;//开关间隔开始计时
RC3=0;//打开脉冲封锁
RC4=1;//打开继电器
L3_RED_ON;//打开L3绿灯
CCP_start();//开始SPWM
为什么不把报警程序加到你的电路中,有不同的声响长度来表示不同的区域报警;我现在想用语音报警,把英文说明录入到ISD40XX系列IC里在用PIC去调用,不知这样好不好?
你好,能帮帮我吗老师!我最近做这个逆变器设计,但是有些不太懂,请指教QQ
1贴里面直接可以下载到原理图啊?先check^
但是不好用啊!
大哥,应该是按键开机吧,可能是端口某个位,高电位就上电复位吧,按键一般加延时的,,消除按键振荡呵
电路我没看啊,不是很详细,,,不好意思....
我搭了一个,没有SPWM波形出现,你的原理图上是20M的晶振,到程序上又变成16M的了?
这个图我已试过,可以输出SPWM波.我用的晶体是20M,电容15p-30p,刚开始也没有反映,后来是写程序时没有设置好现在好了.
**************************************************************
#include"p12f629.inc"&&
;**************************************************************
FAN&&&&&&EQU&&&& GP0
DIVER&&&&EQU&&&& GP1
LAMP&&&& EQU&&&& GP2
WORK&&&& EQU&&&& GP3
POWER&&&&EQU&&&& GP4
;**************************************************************
goto start
&&&&&&&&org&&&& 0x05
;**************************************************************
start&&
&&&&&&&&bsf &&&&STATUS,RP0
movwf OSCCAL
bcf&&&& INTCON,GIE
MOVLW&& 0X08
movwf&& trisio
movlw&& 0x4f
movwf&& OPTION_REG
&&&&&&&&BCF&&&& STATUS,RP0
movlw&& 0x07
movwf&& CMCON
;**************************************************************
main
&&&&&&&&CLRWDT
&&&&&&&&BSF&&&& GPIO,POWER
&&&&&&&&BcF&&&& GPIO,FAN
&&&&&&&&CALL&&&&DELAY1s
&&&&&&&&BSF&&&& GPIO,LAMP
&&&&&&&&call&&&&delay10s
&&&&&&&&BSF&&&& GPIO,DIVER
SCAN&&&&CLRWDT
&&&&&&&&BTFSS&& GPIO,work
&&&&&&&&GOTO&&&&SCAN1
&&&&&&&&GOTO&&&&SCAN
SCAN1&& MOVLW&& 0X1f
&&&&&&&&MOVWF&& 0X21
SCAN2&& CLRWDT
&&&&&&&&BTFSC&& GPIO,work
&&&&&&&&GOTO&&&&SCAN
&&&&&&&&CALL&&&&DELAY1S
&&&&&&&&DECFSZ&&0X21
&&&&&&&&GOTO&&&&SCAN2
&&&&&&&&BCF&&&& GPIO,DIVER
&&&&&&&&
&&&&&&&&movlw&& 0x03
&&&&&&&&movwf&& 0x22
scan3&& call&&&&delay1s
&&&&&&&&decfsz&&0x22
&&&&&&&&goto&&&&scan3
&&&&&&&&BCF&&&& GPIO,LAMP
&&&&&&&&CALL&&&&DELAY10S
&&&&&&&&BsF&&&& GPIO,FAN
&&&&&&&&BCF&&&& GPIO,POWER
;**************************************************************&&&&&&&&
delay10s
&&&&movlw&& 0x0a
&&&&movwf&& 0x20
L1&&call&&&&delay1s
&&&&decfsz&&0x20
&&&&goto&&&&l1
&&&&retlw&& 0x0
delay1s
&&&&movlw&&&&0x05&&
&&&&movwf&&&&0x26
L2&&clrwdt
&&&&movlw&&&&0ffh
&&&&movwf&&&&0x27
L3&&movlw&&&&0ffh
&&&&movwf&&&&0x28
L4&&decfsz&& 0x28
&&&&b&&&&&&&&L4
&&&&decfsz&& 0x27
&&&&b&&&&&&&&L3
&&&&decfsz&& 0x26
&&&&b&&&&&&&&L2
&&&&retlw&&&&0x0
;**************************************************************&&&&&&&&
请问设置是要注意什么?就是普通设置吗?
开关电源书籍和技术共享群 && 本人有超大的书籍和技术图纸愿意和各位交换
有愿意交换的才加此群呵(最好500以上的开关电源本人也有好多了愿和各位交换
楼主:我看了你的原理图,你的交流反馈取样点应放继电器的另一侧吧(逆变变压器一侧),如果按此图的话,在继电器因各种原因没有吸合时,整机就没有反馈,这样逆变输出电压就会变高,影响整机性能.
wwwjjjwww:你好!今天我按图用洞洞板搭了PICQ6F73的部份电路,逆变反馈,继电器控制,驱动部份没有连接,通电后无反应且芯片有发热的现象.烧写芯片时,我把程序中提到的几处在烧写时都选了.随后用示波器测晶振也没有起振.请问这是什么原因啊?
500) {this.resized= this.width=500; this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}"
onclick="if(!this.resized) {} else {window.open('/bbs/u/52/.jpg');}" onmousewheel="return imgzoom(this);">
图中选择是否正确.求助各位大侠!!!!
能帮个忙吗?我做毕设 用SPWM控制的正弦波逆变器,能给我电路图吗?
单相的就行,简单点的电路就可以
我加你QQ了&&没回应
我QQ
邮箱:
谢谢
看了最近的回复,一般都是直接烧程序,连别的资料看都不看,那程序能运行吗?建议起码看看PIC的文档.最近加QQ的人,一上来就问你的原理是什么?,说实话,一两个人我可以回答,但是每个人都来这样问,我实在没办法继续说下去.建议先查阅一些关于逆变器的资料,有针对性的提问,然后看看单片机资料
我按第53帖改了一下,现在正在进行中,不知道是否可行.关键的变压器有点难.
真是好贴阿 受益匪浅 顶一下!!!!!
当然直接烧程序是不能工作的了.看我前面的回复就知道为什么程序上是少了什么东西了.
楼主计算过成本是多少么?
请问你的反馈是每6个spwm周期采样一次么?如果按照20kHZ逐点实时采样反馈是不是没有合适的采样器件?
好的 太好了
还有库存吗&&我想购买一块
无私奉献的精神,顶.
wwwjjjwww ,你的软件存在很多误区啊,请改正确了再上传吧,否则会误导大家的.
用单片机做一个小程序产生正弦波(馒头波)和两个开关信号(正半周和负半周),去调制TL494等PWM芯片,用电子衰减器控制幅度(稳压用),只须用直流反馈就可以作成高质量的逆变电源.如果是三相,可以用一个单片机产生三路角度相差120度的正弦波(馒头波)和开关信号.这样用数字与模拟电路结合作成的逆变器电路简单,可靠性高,成本低.
这也是一种很好的思路.
大师真能熬,两点多了还不睡觉.佩服!
呵呵,有点意思
两个开关信号怎么用,能发张图吗
程序没有错误,就是粗糙了点.
1.每个6个PWM周期调整一次调整,我是用定时器的后分频器实现的,不用软件计算,所以软件上体现不出来.
2.短路计算也有,那就是电路快保护,程序中有注释
3.初次设计,取样点的确少了点.
4.电压调整算法我是用Y=ASIN(X)实现的,直接调整A就可以,可能算法笨,但没有错误.
5.输出电压反馈算法是临时的,算不上个算法,的确不行但是可以凑合这用.不过我已经研究了PID算法,要修改很简单的.
6.电压反馈采用直流反馈,与电路原理一致,算不上新颖.
我想说的是如果那位大师有好的方法和思路或者源码,不妨贴在网上相互学习学习.
真好!大帅,本人受益菲浅啊.
我也是刚刚学习PIC,想请教你几个问题.你的正弦波表是用这个公式算的吗?Vref=VP*SIN(2πK/N)
我算出来的频率老是不对,我后分频为1:3;
还用一个就是关于反馈的;我用877A做的,我的AD是10位的我把ADRES设为左对齐;只读ADRESH,但没有做反馈动作;
&&&&还请大师们指点;
高手啊。。。。
怎么打不开啊!??
为无私的精神...顶了
请问程序中,sin_am正玄函数的幅值是如何计算出来的?,开始的时候sin_am=0.300,电压反馈后它将调节正玄函数的幅值,如何计算出来呢?又怎么样控制它呢????
有没有做好机子和波形照片?发出来看看呀.
有没有做好机子和波形照片?发出来看看呀.
这程序都不行,出个SPWM波还行,做机器的话间直就是误导大家
看电路就觉得不太对劲,所以想楼主贴些照片出来看看.
不可能做出来的,还贴什么图片啊!!
不错
我在搞UPS
我也要学习!1
老大能传个编译好的文件上来好吗?为什么我的不路呢?没反应啊,你原理图上晶振的两个电容是不是要接地啊,C26负极是不是接地啊?
怎么没有人来顶呢?
要求出成品板
夸夸其谈的同志请拿出更好的方案
我顶!!!!!!!!!!!!!!!!!
是要接地的
你好,一个PIC16F73做的逆变器有定时功能,可不可撤消这功能,要怎样改呢?感谢.
正是说什么话的人都有啊,建议那些大虾们传上一些自己的经典,不要全部程序,能说明问题就行,或者讲讲自己的切身体会也可以.
我也是刚刚学习PIC,想请教你几个问题.你的正弦波表是用这个公式算的吗?Vref=VP*SIN(2πK/N)
我算出来的频率老是不对,我后分频为1:3;
还用一个就是关于反馈的;我用877A做的,我的AD是10位的我把ADRES设为左对齐;只读ADRESH,但没有做反馈动作;
&&&&还请大师们指点;
你好,小弟刚学开发逆变器,对软件不太懂,能否一教,让我入门
有空的话我也来搞一个.看看在各个部分都有哪些相同和不同的地方!
大哥,好人啊,请问老大能否把充电部分加上去?
不错,学习、学习
此帖已被删除
用TL494 ,LM393,光耦TLP521-4和一个简单的单片机就可以做出一个方波的逆变器.有TL494产生一个高频波,有单片机控制输出为50HZ的电压就可以了.光耦是为了满足国外要求.这个注意控制死区时间.
电子制做及维修,逆变器,变频器,变频电源,家电技术,电源,电子DIY及影视技术
技术创新,资料供享,QQ群欢迎加入
不错,学习、学习
电子制做及维修,逆变器,变频器,家电技术,电源,电子DIY及影视技术
QQ群
技术创新,资料供享
欢应大家加入
谢谢你.已下载.学习中
此帖已被删除
此帖已被删除
升压变压器初次级为0.7mm线径,没听过你算一个集肤深度是多少,就知到为什么了,
我用你的程序做一个大功率驱动给你,请你感受以下.那才能实现
&&&&&&&&&&
请大家帮我看看这个图有没有问题??500) {this.resized= this.width=500; this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}"
onclick="if(!this.resized) {} else {window.open('/bbs/u/59/3521.jpg');}" onmousewheel="return imgzoom(this);">
新来的
学习中..
好东西!
正在下载.
我正在找类似的原理图呢,多谢楼主共享!
我 以前 用模拟芯片做过,学习一下.顶.
谢谢楼主,已经下载,但是做PROTEUS仿真时出现错误,请指教.
能传个编译好的文件上来好吗
此帖已被删除
兄台我搭了个电路,可是不起振,能告之是何原因吗
看到了一定要顶一下
好人啊,这样的帖子怎么能不顶呢?
请问高手;铁氧体磁芯升压,S=4CM,V1=12V,V2=220V,三极管3DD15D,每匝伏数是怎样计算的,谢谢
铁氧体磁芯升压是怎样计算每伏匝数,S=4CM.,谢谢
此帖已被删除
大哥们你们真行,我,小弟是做在线20KUPS
你很大方,而且很棒
谢谢
请问输出没有LC滤波,正弦波怎么出来的啊?是不是带感性负载波形就是正弦波,带线形负载就是方波啊?
请问电路图中的TX2,TX6和TX5的参数是多少?本人想学习下.谢谢!
请问站内有没愿意来我这做!我们准备做逆变电源和蓄电池充电器,招一名电子工程师.有意者请联系:.cn
广交天下朋友,欢迎UPS/电镀电源/电焊机朋友,有好资料共享,既然朋友们选择进来了,望多发言交流,谢谢.&&欢迎您的加入讨论 群号:
你好,问一下,这个总体原理图可不可以用Proteus进行仿真设计?
兄台: 借鉴您的部分程序我改了一个周期20MS的正弦波输出,在硬件测试上起动时那四个管子有直通的情况,设有死区时间.请指教!
wwwjjjwww师傅:&&我也是刚做逆变电源,我用的是PIC30F2010 波形是搞出来了但是加反馈后不稳压是怎么回事啊.用的是PI算法调老多参数就是不稳压.
大师你好:有没有用PIC做过开关电源.
见好帖就顶,让更多人看到.
大师你好:RC1和RC2输出是什么波形呢?
此帖已被删除
此帖已被删除
请问51单片机可以替代PIC16F573吗?PIC16F573在电源这里起什么作用啊?
很好呀,但变压器要用低频变压器,程序是没问题的.
这个原理图里的三个变压器是什么差数啊?不知道的话过流保护和稳压反馈不懂!
知道什么叫做 走火入魔 吗?你的技术还不成熟就发上来,你这样做会让许多有兴趣的青年劳民伤财,你的罪大了!
&&&&你发帖应该先申明 只做参考,请勿制作!
我有PIC16F73-I/SP&& 09+原装环保,DIP-28封装,
联系电话刘生
QQ:
老兄,请问下你的变压器是高频变压器还是工频变压器?你这里并没有升压的部分,变压器应该是工频变压器吧?我没仔细看过你的程序,不过,我以前也做过,做了4路隔离电源,用光耦隔离驱动的.程序也是用的PWM,我在单片机内做了一个50Hz的正弦表,正弦表用matlab产生,感觉程序相对很简单.
鸿宝电气股份有限公司专业生产各类电源,主要生产以下产品
EPS应急电源
UPS不间断电源
谢谢大家一起技术共用
wwwjjjwww请问你的程序编译语言是用哪一个的,我用PICC 9.5 编译出错显示Error[1187]&& : invalid activation request 请大家指点一下.谢谢了!
你好,我也在做逆变电源啊,不过我单片机用做控制啊,我也产生spwm波形,不过就是mos管那边不行啊,输出电压就是达不到啊,效率上不去是什么原因啊
wwwjjjwww 大師
請教圖上晶振是 20mhz 是50HZ ?
程式中是16mhz 是多少hz ?
那如何改成 60hz 需改動到那部份?
程式中是16mhz 我測試是 50hz ?
如照計算 60hz 是否 19.2mhz
那圖中 20mhz 是否 63hz
非常感谢楼主分享
4801是什么型号的..大虾们能说一下吗?谢了
wwwjjjwww大侠你好,我把你的程序烧到片子里,通电测试没有SPWM波形输出,但是已经起振,后来用表笔碰到晶振的脚,这是竟然有SPWM波形输出了,不知为何,后来断电后重新通电,还是同样现象,这是用表笔碰了好久才有波形输出,请大侠指点一下.
逆变输入24v,这个电路如果将功率管改为合适条件的,可否输入500v的直流.
刚看,觉得有个小疑问:D9,D10,是不是不能用IN4007.应该用高速管吧?
此帖已被删除
此帖不错,适合初学者学习.
哈哈哈哈 果然好帖
很好的东西 谢谢
请问在变压器前端进行spwm调制难道不会导致变压器磁芯饱和吗?
我起初也想这样做,但后来没有试验,也不知道效果到底怎样!
是的,变压器早饱和了
精神可嘉,继续顶贴。
非常感谢楼主的无私奉献
精神可嘉,继续顶贴
刚在ourdev上看到你关于TDS2285的评论,敬意油然生!更重要的是me也是shaanxi的!
我有一个变压器初级是3.5MM×8.5MM的扁铜线, 次级是3.25MM的铜线逆变变压器,初级输入是48V的,输出220V,这样的变压器做个逆变器有多大的功率,是工频变压器。
好贴,顶一下!
请教个问题:我新建的程序文件怎么在Other Files文件夹中,不在Source Files文件夹中。
怎么把新建的程序文件移到Source Files文件夹中?
好贴,学习了
好贴。新手学习了
顶 ,不错!
可以下载的,谢谢!
虽然这很早的贴子。。。但是不错。。。。
**此帖已被管理员删除**
2110自举居然不用自举电容?这是何意?在下从未见识过还是无变压器输出的好&,我也搭建了一个,本来不想出来献丑的,
**此帖已被管理员删除**
哦!路过,报个到.
是哈东东。
QQ群:逆变、光伏电源营-,希望有兴趣的朋友们前来交流指导和共享资料
好帖,顶起来。
&可以直用。
不错!谢谢
感谢奉献,学习一下!
朋友们有谁把版主的电路和程序做成功的呢?如果有做成功的麻烦把相关资料奉献一下谢谢!
楼主厉害,一看单片机就头大咯
楼主绝对有诚意,此代码直接可以做成功,也可以改成高频的
谢谢!谢谢!
w先生(应该是先生)你好,我自己用的是stc12的单片机,也有PWM功能。但是不懂PIC,所以看起PIC的程序有些吃力,当然自己水平不高也有关系。能不能请你讲一讲,你的方法,尤其是负载加重的时候,是如何实现稳压反馈的。SPWM波形我可以实现,但是反馈我不会。谢谢了。
好东西啊&& 学习学习
元程序好啊~~
C语言的更好,便于学习~~哈哈~~
我也是用MICROCHIP的单片机& 那天自己按照你的东东,原理自己搞一个试试~~
无私奉献的人啊,好人~~
朋友们硬件基础都很好 单片机就要用到C了 好多朋友都不会 也没有好坏判断能力
单片机制作逆变器 对初学者是个难题
这个资料怎不错哦~~
SPWM& 16F685&
才开始学习逆变,就看到这么好的东西,向楼主敬礼。
我手头上有很多PIC16F630单片机,不知道可以直接用吗~~~~~
感谢楼主分享啊
逆变器MCU:
主要特点如下:
1、33.3MHZ的主频,相当普通51的399MHZ,PIC的132MHZ的速度
2、12位分辨率的高速AD,1MHZ,相当1毫秒时间转换1000次。
3、同步采样,可以设定PWM触发AD启动。1US的转换时间,也就是说当PWM为500KHZ占空比为50%时,AD采样都能跟踪系统情况
4、三相六路带死区PWM
5、带硬件环路的过流保护功能,可以快速的保护功率管
6、带运放,可以放大采样反馈电流。
7、带硬件乘除法,16*16和32/16,只要一个指令周期
我也在做逆變器,打算用在家里,spwm波形我做出來了,但就是穩壓部分一直沒搞好,看了樓主的源文件樓主這個辦法可以,不過我用的是stc的單片機,沒辦法直接用你的程序,學習了學習了
稳压部分还是通过硬件实现吧
新手学习学习,谢谢楼主分享
楼主你好。。我有几个IRFP150不同型号 的 管子可以一起用吗同样是150& 的 有 的 后面有个N字
必须得顶啊!!
新手来学习了
大家好热闹,咱看看
为表您伟大的奉献~~代表广大的劳动人民向您致敬~~
学习中,留个脚印
请问大侠两个C程序有什么联系和区别呢?感谢
留个记号,以备用。
感谢分享,向大师学习
感谢!好东西!学习了!
连图的画法都和电子报2005年某期的一样
你好,你知道它上面有一个器件是什么吗?如下:
楼主分享精神可嘉,无私奉献
你好,原理图中这个器件是什么东西?它在Proteus中怎么找的到?谢谢!
这个画法一般很少见,以我之见是整流桥!
你好老师,能不能跟我说说,楼主程序里这个是什么意思?我编译时出现语法错误
你好楼主,请问这个是什么意思?编译时出现语法错误。求楼主跟我说说~~
Elecinfo版权
增值电信业务经营许可证:津B2-
天津网博互动科技有限公司旗下网站:}

我要回帖

更多关于 积分器电路 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信