• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

数控逆变器

最近做个数控逆变器,程序已经写得差不多了。。。

但是画图画到一半的时候遇到个小问题。。。

ADC采样的来源有一定强度共模干扰,

隔离的采样话,说实话我都不知道用什么方案……

想用运放接成差分模式,但不知道效果怎么样……

其他部分电路我都是做过实物的,没有问题……

唯独这个ADC采样不知道用什么方法过滤干扰。。。。

有没有这方面的大神指教一下?

全部回复(57)
正序查看
倒序查看
2016-02-06 08:48
还是用运放靠谱,效果好,你试试!
0
回复
2016-02-06 15:29
@lizlk
还是用运放靠谱,效果好,你试试!
同意张工的方案!运放可靠!
0
回复
45280
LV.4
4
2016-02-06 15:31
@lizlk
还是用运放靠谱,效果好,你试试!

我打算这样,不知道效果怎么样!

0
回复
45280
LV.4
5
2016-02-06 17:53
@45280
[图片]我打算这样,不知道效果怎么样!

前级驱动(74HC???+IR4427)

后级输出

一个单片机完成前级和后级的驱动……前级PCA模块+74逻辑门电路就能产生死区。

后级直接用单片机的PWM模块……

液晶触摸屏界面……

0
回复
45280
LV.4
6
2016-02-06 18:03
@45280
[图片]前级驱动(74HC???+IR4427)[图片]后级输出一个单片机完成前级和后级的驱动……前级PCA模块+74逻辑门电路就能产生死区。后级直接用单片机的PWM模块……液晶触摸屏界面……

这个是SPI串口屏调试程序的时候用的……

上面的板子用的是16位并口

0
回复
45280
LV.4
7
2016-02-06 18:33
@45280
[图片]这个是SPI串口屏调试程序的时候用的……上面的板子用的是16位并口

决定使用运放做差分输入。。。

3D显示效果大概就是这样……

看来要等春节后才能打样了,某宝的店基本都打烊了~~~

0
回复
45280
LV.4
8
2016-02-16 19:18
@45280
[图片]决定使用运放做差分输入。。。3D显示效果大概就是这样……看来要等春节后才能打样了,某宝的店基本都打烊了~~~
void mode_canshu()        //按键处理函数{        u8 i;         static bit k;        if(k)         {        //如果显示了帮助界面或者错误提示界面                        key_huifu(); //恢复输入界面                        k=0;                        //清零标志位                        return;                //退出,等待下一次按键操作                        }        i=kay_scan();        //匹配扫描回来的坐标        if(i==0)return; //如果没有按在对应位置不做处理        switch(i)                {                case 1 :                case 2 :                case 3 : if(key_dat[7]>5)return;        //最多输入6位数,包括小数点                                 if(key_dat[0]==0)if(key_dat[7]==1){key_dat[7]=0;key_addr-=16;} //如果第一位是0,则消隐                                 key_dat[key_dat[7]]=i+6;key_dat[7]++;                                //将数字保存于数组中                                 key_addr=LCD_ZF(ZF_16,key_addr,44,beijing_2,i+6);return; //显示                case 6 :                case 7 :                case 8 : if(key_dat[7]>5)return;                                  if(key_dat[0]==0)if(key_dat[7]==1){key_dat[7]=0;key_addr-=16;}                                 key_dat[key_dat[7]]=i-2;key_dat[7]++;                                 key_addr=LCD_ZF(ZF_16,key_addr,44,beijing_2,i-2);return;                case 11 :                case 12 :                case 13 : if(key_dat[7]>5)return;                                 if(key_dat[0]==0)if(key_dat[7]==1){key_dat[7]=0;key_addr-=16;}                                 key_dat[key_dat[7]]=i-10;key_dat[7]++;                                 key_addr=LCD_ZF(ZF_16,key_addr,44,beijing_2,i-10);return;                case 9 : if(key_dat[6]!=0)return;if(key_dat[7]>5)return;                                 if(key_dat[7]==0)                //小数点判断,如果已经存在小数点则退出,如果在第一位则自动补零                                 {key_addr=LCD_ZF(ZF_16,key_addr,44,beijing_2,0);key_dat[7]++;}                                 key_dat[6]=key_dat[7];key_dat[7]++;                                 key_addr=LCD_ZF(ZF_16,key_addr,44,beijing_2,mm_dg);return;                case 14 : if(key_dat[7]>5)return;if(key_dat[0]==0)if(key_dat[7]==1)return;                                  key_addr=LCD_ZF(ZF_16,key_addr,44,beijing_2,0);                                  key_dat[key_dat[7]]=0;key_dat[7]++;return;                case 5 : if(key_dat[7]==0)return;key_addr-=16;        //退格处理                                 LCD_Clear(key_addr,44,32,16,beijing_2);key_dat[7]--;                                 if(key_dat[6]==key_dat[7])key_dat[6]=0;key_dat[key_dat[7]]=0;return;                case 15 : mode_menu(mode_key/10);return;        //返回对应的界面                case 4 : mode_tishi(mode_key);k=1;return;        //如果点击了问号按钮,显示提示界面                case 10 : k=enter();if(k){LCD_PC(0,0,80,320,PC_cuowu);return;}break; //确认按键,判断输入的数值是否有误                }                                                                                                                        //如果有误,显示错误提示界面                if(canshu_falg!=0)                                //将设置的值写入EEPROM.                        canshu_falg=write_eeprom(canshu_falg);}
0
回复
45280
LV.4
9
2016-02-16 19:18
@45280
voidmode_canshu()    //按键处理函数{    u8i;     staticbitk;    if(k)    {    //如果显示了帮助界面或者错误提示界面            key_huifu();//恢复输入界面            k=0;            //清零标志位            return;        //退出,等待下一次按键操作            }    i=kay_scan();    //匹配扫描回来的坐标    if(i==0)return;//如果没有按在对应位置不做处理    switch(i)        {        case1:        case2:        case3:if(key_dat[7]>5)return;    //最多输入6位数,包括小数点                 if(key_dat[0]==0)if(key_dat[7]==1){key_dat[7]=0;key_addr-=16;}//如果第一位是0,则消隐                 key_dat[key_dat[7]]=i+6;key_dat[7]++;                //将数字保存于数组中                 key_addr=LCD_ZF(ZF_16,key_addr,44,beijing_2,i+6);return;//显示        case6:        case7:        case8:if(key_dat[7]>5)return;                 if(key_dat[0]==0)if(key_dat[7]==1){key_dat[7]=0;key_addr-=16;}                 key_dat[key_dat[7]]=i-2;key_dat[7]++;                 key_addr=LCD_ZF(ZF_16,key_addr,44,beijing_2,i-2);return;        case11:        case12:        case13:if(key_dat[7]>5)return;                 if(key_dat[0]==0)if(key_dat[7]==1){key_dat[7]=0;key_addr-=16;}                 key_dat[key_dat[7]]=i-10;key_dat[7]++;                 key_addr=LCD_ZF(ZF_16,key_addr,44,beijing_2,i-10);return;        case9:if(key_dat[6]!=0)return;if(key_dat[7]>5)return;                 if(key_dat[7]==0)        //小数点判断,如果已经存在小数点则退出,如果在第一位则自动补零                 {key_addr=LCD_ZF(ZF_16,key_addr,44,beijing_2,0);key_dat[7]++;}                 key_dat[6]=key_dat[7];key_dat[7]++;                 key_addr=LCD_ZF(ZF_16,key_addr,44,beijing_2,mm_dg);return;        case14:if(key_dat[7]>5)return;if(key_dat[0]==0)if(key_dat[7]==1)return;                 key_addr=LCD_ZF(ZF_16,key_addr,44,beijing_2,0);                 key_dat[key_dat[7]]=0;key_dat[7]++;return;        case5:if(key_dat[7]==0)return;key_addr-=16;    //退格处理                 LCD_Clear(key_addr,44,32,16,beijing_2);key_dat[7]--;                 if(key_dat[6]==key_dat[7])key_dat[6]=0;key_dat[key_dat[7]]=0;return;        case15:mode_menu(mode_key/10);return;    //返回对应的界面        case4:mode_tishi(mode_key);k=1;return;    //如果点击了问号按钮,显示提示界面        case10:k=enter();if(k){LCD_PC(0,0,80,320,PC_cuowu);return;}break;//确认按键,判断输入的数值是否有误        }                                                            //如果有误,显示错误提示界面        if(canshu_falg!=0)                //将设置的值写入EEPROM.            canshu_falg=write_eeprom(canshu_falg);}
我擦,怎么这样?本来想公布代码的,既然这样,发出来也看不懂,发了也没用
1
回复
45280
LV.4
10
2016-02-16 19:28
@45280
我擦,怎么这样?本来想公布代码的,既然这样,发出来也看不懂,发了也没用[图片]

板子今天刚刚发去淘宝打样……来张效果图

0
回复
tri4123
LV.5
11
2016-02-17 04:21
学习
0
回复
2016-02-17 10:46
@45280
我擦,怎么这样?本来想公布代码的,既然这样,发出来也看不懂,发了也没用[图片]
楼主辛苦,好帖子哦,上个头条
0
回复
45280
LV.4
13
2016-02-17 16:13
@45280
板子今天刚刚发去淘宝打样……来张效果图[图片]

分享个风扇部分的代码!!!!

过热保护过流保护等等功能绝对有,往后再贴上来

第4行有误,应该是 canshu_temp[3]-canshu_temp[4]~~~~这图是之前调试时候的,跟现在不一样

0
回复
rongshengju
LV.4
14
2016-02-17 18:04
支持!学习!
0
回复
45280
LV.4
15
2016-02-17 18:19
@rongshengju
支持!学习!

直接复制文本发上来就想上面那样乱七八糟的,只好截图了,这仅仅是触摸屏的一小部分,

0
回复
45280
LV.4
16
2016-02-17 18:25
@45280
[图片][图片][图片][图片]直接复制文本发上来就想上面那样乱七八糟的,只好截图了,这仅仅是触摸屏的一小部分,

参数设置界面

0
回复
2016-02-19 14:34
@45280
[图片][图片]参数设置界面
有什么进展啊
0
回复
45280
LV.4
18
2016-02-19 19:18
@liaodeqing18
有什么进展啊

你说什么进展?

0
回复
45280
LV.4
19
2016-02-21 11:32
@45280
[图片]你说什么进展?[图片]

控制板是打样回来了,功率主板还没画好

0
回复
斯太尔
LV.4
20
2016-02-21 13:24
@45280
[图片][图片]控制板是打样回来了,功率主板还没画好[图片]
0
回复
2016-02-21 17:26
@45280
[图片][图片]控制板是打样回来了,功率主板还没画好[图片]
到了恭喜恭喜
0
回复
dobetter
LV.7
22
2016-02-21 17:30
牛人,这是用的什么单片机呀~
0
回复
45280
LV.4
23
2016-02-21 18:59
@dobetter
牛人,这是用的什么单片机呀~
你猜
0
回复
斯太尔
LV.4
24
2016-02-21 19:18
@45280
你猜[图片]
好东西要分享
0
回复
45280
LV.4
25
2016-02-21 19:58
@斯太尔
好东西要分享

驱动板,今天刚刚打样回来,还缺几个元件没到!!!

0
回复
45280
LV.4
26
2016-02-22 18:56
@45280
[图片][图片]驱动板,今天刚刚打样回来,还缺几个元件没到!!!

好丑

0
回复
45280
LV.4
27
2016-02-26 18:28
@45280
[图片]好丑[图片]

控制板和高压板的连接……还有几个元件没焊上去……

前级打样没回来!!!!

0
回复
jlwmall
LV.2
28
2016-03-06 20:44
@45280
[图片]控制板和高压板的连接……还有几个元件没焊上去……前级打样没回来!!!!
那么多的引线,不怕有干扰吗?
0
回复
jlwmall
LV.2
29
2016-03-06 20:46
@45280
你猜[图片]
STM32?
0
回复
45280
LV.4
30
2016-03-07 00:08
@jlwmall
那么多的引线,不怕有干扰吗?

控制板我已经重新打样过了,布线做了改进!!!

现在都快完工了!

0
回复
45280
LV.4
31
2016-03-07 00:16
@jlwmall
STM32?

这是调试时候拍的…… 那个磁环是临时做的前级…… IC座上面的是100A霍尔电流传感器

所有驱动信号和所有控制输入都是由一个单片机来完成的!  

电瓶别人拿走了,所以我用的是 12V开关电源(也是我自己DIY的) 来做输入电源,但是电流小,超过25A就保护!!

0
回复