大家都来喷喷 电路找茬

[复制链接]
2986|25
手机看帖
扫描二维码
随时随地手机跟帖
arm菜鸟人|  楼主 | 2013-11-11 18:08 | 显示全部楼层 |阅读模式
本帖最后由 arm菜鸟人 于 2013-11-15 19:58 编辑

大家都来看看这个电路设计原理上有没有问题。
烦躁啊,原本以为调试很简单的,没想到一堆问题。怎么这么悲催呢。

电路原理是这样的:
1、板子通过CAN与上位机通信。(调通,当时就是没数据,换了个收发器就好了)
2、MCU通过三线SPI与AD9833通信,主要是设置需要产生的信号的频率,相位就不需要调节了。
3、产生的正弦波信号经过MAX7400滤波,效果不知道怎样,唉对分立元件的滤波器设计不懂。先拿个集成芯片来看看效果;输入的信号(也就是DDS产生的信号大概是50-100Hz的正弦波,有可能会用到1KHz,开关电容滤波器有一个时钟可以由MCU设置)
4、关键的一步,就是要得到一个比较恒定的电流信号。
   通过电压转电流电路实现。也不知道这个效果。
5、产生的恒定电流信号就是传感器的激励信号;
6、传感器经过激励信号之后,测量中间部分两点的电压差,经过INA122放大,简单滤波之后送入MCU集成的AD,转换后将数据发给上位机。(这一部分也经过调试没问题,但是调试也是一波三折,唉,调试真蛋疼)

现在卡在DDS信号产生这一部分。波形就是出不来。唉,都想买一个AD9833的核心板了……
发现一处异常,25MHz的晶振焊接?不能确定哪个是1号引脚。资料上显示应该是正对MARK的左下角,而焊接师傅说1号是焊盘缺了一个角的。唉,蛋疼的是只有一块板子。不过我自己把晶振焊接改过来了。
等着调试程序吧。11.11蛋疼的DDS。

就不信了,还出不来波形!待后续调试播报。

大家都喷喷电路设计的不当之处,谢谢。

相关帖子

黄小俊| | 2013-11-11 21:13 | 显示全部楼层
,好复杂啊。看不出问题。

使用特权

评论回复
arm菜鸟人|  楼主 | 2013-11-11 22:40 | 显示全部楼层
**n1131 发表于 2013-11-11 21:13
,好复杂啊。看不出问题。

分模块看,不复杂的。
电源模块,得到一些电压值,
系统供电是10V(实际是9V的适配器),这个是电压的源泉:
1、给放大器供电需要10V
2、给MCU需要2V5和5V
3、需要给AD的精准参考电压REF2V5
4、需要给放大器的偏置电压REF1V25(放大器使用单电源)
5、给AD9833等芯片供电电压5V


CAN模块,主要是CAN收发器比较简单。负责上下位机的通信。

DDS信号发生模块,需要得到正弦波信号。AD9833产生。

需要对DDS信号滤波。理论上是需要用电感电容器件搭一个5-7阶的椭圆滤波器。不过考虑到那些参数值不好得到,而且产生的信号频率不高,所以偷懒使用了一个集成滤波器芯片。MAX7400。

因为最终想要的是恒定电流信号。所以要一个电压转电流模块,原理上就是两个运放的一个反馈。这个模块是参考别人的**的。不知道效果。这样激励信号就得到了。

传感器经过激励信号之后,会产生反应(两点电压差)。所以要测量这个电压信号。理论上是一个正弦波的电压信号。(实际未知)

对这个信号进行放大滤波(模拟调理)。放大使用三运放仪表放大器。其实就是我们熟悉的AD620。简单的RC滤波。这个就是AD的前端输入。

之后就是AD了。AD是MCU内部集成的12位SAR模式的ADC。转换后的结果就是CAN通信了。

以上就是全部的过程。今天将AD9833的datasheet打印出来了,主要的突破点应该是SPI通信和写AD9833的命令码(频率字、相位字)。如果搞定,下面就得考虑滤波了,感觉随便滤滤就好(我有点不严谨,呵呵),关键是MCU给滤波器的时钟吧。如果这部分OK,那就是V/I了,关键点是电阻匹配。因为要使产生的电流与电阻无关,电阻之间需要满足一定的关系的。如果这部分也OK,那我就要喊万岁了,哈哈!

加油~

使用特权

评论回复
arm菜鸟人|  楼主 | 2013-11-12 10:38 | 显示全部楼层
有源贴片晶振5V输入电压会不会高?
怎样测量晶振有没有起振呢?

使用特权

评论回复
shalixi| | 2013-11-12 10:43 | 显示全部楼层
这个我估计,你不要对这里抱什么希望。

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
arm菜鸟人 + 2
xxiao6130| | 2013-11-12 16:11 | 显示全部楼层

使用特权

评论回复
arm菜鸟人|  楼主 | 2013-11-12 18:40 | 显示全部楼层
shalixi 发表于 2013-11-12 10:43
这个我估计,你不要对这里抱什么希望。

谢谢。借此整理一下思路。
接受一些启发。
不过绝大多数还是要靠自己的。
不要将希望寄托在别人身上。

使用特权

评论回复
arm菜鸟人|  楼主 | 2013-11-12 18:42 | 显示全部楼层
对AD9833的应用了解了。SPI没什么问题。
信号,你出来吧,嗯,就差它了~

使用特权

评论回复
sidafuzhihe| | 2013-11-12 18:55 | 显示全部楼层
怎么没有在相关信号线上面发现匹配电阻

使用特权

评论回复
aeromoon| | 2013-11-13 09:44 | 显示全部楼层
arm菜鸟人 发表于 2013-11-12 10:38
有源贴片晶振5V输入电压会不会高?
怎样测量晶振有没有起振呢?

想看晶振有没有起振,直接找个示波器,量一下MARK点斜对角线点波形,也就是CLK输出点的波形不就完事了吗.实在不知道那个pin为CKLK输出.就四个pin都量一下呗.有源晶振一般来说左下角mark点为PIN1,一般是不接或者上拉,右下角pin2为GND 外壳,右上角pin3 CLK output,左上角pin4为VCC供电。具体看晶振资料,对照PCB板,找一下CLK output

使用特权

评论回复
评分
参与人数 1威望 +4 收起 理由
arm菜鸟人 + 4
arm菜鸟人|  楼主 | 2013-11-13 16:23 | 显示全部楼层
aeromoon 发表于 2013-11-13 09:44
想看晶振有没有起振,直接找个示波器,量一下MARK点斜对角线点波形,也就是CLK输出点的波形不就完事了吗. ...

谢谢。
今天是彻头彻尾的将晶振弄了一遍。
好像我买的晶振有问题,有一组对角短路了,买的所有的晶振都这样。后来又找了别的晶振发现没这个现象。这倒霉催的。 找到问题,也不错。哈哈~

检测晶振封装的好方法是找地引脚,那个是Pin2,而地引脚接在外壳上,所以用万用表就能测出来,所以就可以定位封装。

测量起振的方法有:
1、示波器,很给力,一目了然。
2、传说中万用表也能测,时钟输出脚为供电电压的一半。

感觉还是示波器靠谱。

使用特权

评论回复
aeromoon| | 2013-11-13 17:29 | 显示全部楼层
arm菜鸟人 发表于 2013-11-13 16:23
谢谢。
今天是彻头彻尾的将晶振弄了一遍。
好像我买的晶振有问题,有一组对角短路了,买的所有的晶振都这 ...

做原理图的时候一定要确认好选用的器件型号跟封装,确保选用器件型号的资料正确,然后画PCB封装。看你的描述感觉是拿来一个晶振就用上了,管脚都没搞清楚就焊上调试,要么是晶振资料没描述详细,要么是晶振资料你没看详细。如果像你说的买的所有晶振都这样一组对角短路的,有可能你用的是一个四管脚晶体,而不是振荡器,对角短路是因为那两个脚都是GDN,如果是这样的话,说明你选错器件了,本意要用有源晶振,选成晶体了。晶体跟振荡器要分清楚。

使用特权

评论回复
评分
参与人数 1威望 +4 收起 理由
arm菜鸟人 + 4 又长知识了
arm菜鸟人|  楼主 | 2013-11-13 22:00 | 显示全部楼层
本帖最后由 arm菜鸟人 于 2013-11-13 22:05 编辑
aeromoon 发表于 2013-11-13 17:29
做原理图的时候一定要确认好选用的器件型号跟封装,确保选用器件型号的资料正确,然后画PCB封装。看你的 ...

当时是网上找电子器件代理商网购的,有源贴片晶振,频率封装都是与想象符合的。
网上查了实际封装Pin1(也就是那个NC)应该是正对MARK左下角位置,但是焊接师傅说按他的经验Pin1应该是焊盘缺了一个小角的(Pin4)。这样就引起了我对晶振封装的怀疑,后来架示波器没起振,再后来发现有一组对角短路。
为此,我还专门找到卖家要资料,发现封装和自己想的一样。试图找到对应的datasheet的不知道是哪家生产的。MARK ‘FF825’

使用特权

评论回复
arm菜鸟人|  楼主 | 2013-11-14 18:05 | 显示全部楼层
买到的确实是晶体,今天下午让人去电子市场帮我带回来晶振,一看又是晶体。然后自己亲自跑了一趟。到那家跟她说拿错东西了,她说不是在她那里买的。呵呵~
现在,讲讲晶体和晶振的区别:
1、晶体(XTAL,Crystal),就是我们常看到的符号(中间一个长方形,两边一竖,然后是两个引脚),在学习单片机最小系统中,我们常说的晶振,其实是晶体,全称是晶体谐振器,需要外部的起振电路,即最小系统中的那两个电容;
2、晶振(OSC,oscillator),一般是要加外部电压的,内部封装有处理电路,直接有信号输出,全称晶体振荡器;
判别方法是,薄的是晶体,厚的是晶振。晶体有一组对角短接。

晶振比晶体贵多了。

唉,买到的晶振是3.3V的电压,而电路里是5V的,测了一下起振情况,稍微有一点失真。

使用特权

评论回复
norman33| | 2013-11-14 19:49 | 显示全部楼层
你描述的不太符合一般说法 一般我们描述为有源晶振和无源晶振 无源晶振是两工作脚位 有源晶振是三个工作脚位

使用特权

评论回复
whisky616| | 2013-11-14 19:54 | 显示全部楼层
茅塞顿开啊    晶振的符号是啥?

使用特权

评论回复
arm菜鸟人|  楼主 | 2013-11-15 09:50 | 显示全部楼层
norman33 发表于 2013-11-14 19:49
你描述的不太符合一般说法 一般我们描述为有源晶振和无源晶振 无源晶振是两工作脚位 有源晶振是三个工作脚 ...

有四个腿的和有源晶振一样的只有两个腿工作的“无源晶振?”

使用特权

评论回复
arm菜鸟人|  楼主 | 2013-11-15 09:58 | 显示全部楼层
昨晚DDS产生了波形,怎么写频率字 好像只出现两种频率
一个 380Hz,一个 10Hz? 刚开始好像有2KHz的?
void AD9833_WriteWord(U16 Dat)
{
   U8 SFRPAGE_save = SFRPAGE;
   SFRPAGE = ACTIVE_PAGE;

   NSS = 0;                           // Activate Slave Select

   // first High Byte
   SPI0DAT  = (U8)((Dat >> 8) & 0x00FF);
   while (!SPIF);
   SPIF     = 0;
   // then Low Byte
   SPI0DAT  = (U8)(Dat & 0x00FF);
   while (!SPIF);
   SPIF     = 0;

   NSS      = 1;                       // Deactivate(Stop) Slave Select
   Delay_us (1);

   SFRPAGE = SFRPAGE_save;
}
void AD9833_Reset(void)
{
   AD9833_WriteWord(0x0100);

   AD9833_WriteWord(0x2100);         
   AD9833_WriteWord(0x47FF);         
   AD9833_WriteWord(0x4000);         
   AD9833_WriteWord(0x2000);         
}
应该调节第三个 AD9833_WriteWord里面的参数就可以改变频率了,但是……
悲催。

使用特权

评论回复
norman33| | 2013-11-15 10:25 | 显示全部楼层
arm菜鸟人 发表于 2013-11-15 09:50
有四个腿的和有源晶振一样的只有两个腿工作的“无源晶振?”

有源无源不看封装脚位的 要看工作脚位 就算两个都封装了100个脚 只有两个工作脚位 不需要VCC的 是无源 有VCC OUT 和GND脚位的是有源晶振 明显区别就是无源晶振没有VCC 有源晶振有VCC

使用特权

评论回复
norman33| | 2013-11-15 10:26 | 显示全部楼层
还有如果你用有源晶振要注意有源晶振工作电压不一样的 有5V 有3.3V 有3.3-5V都能用 输出波形也有特例 有部分输出方波有部分输出正弦波 一定要查清楚了在买 否则会出问题

使用特权

评论回复
评分
参与人数 1威望 +4 收起 理由
arm菜鸟人 + 4 很给力!
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:感染属性。

34

主题

539

帖子

1

粉丝