找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

关于AVR单片机内部RC频率校正,求前辈们指点

查看数: 1905 | 评论数: 5 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-6-3 04:32

正文摘要:

深刻认识到我的学习方法不对,我应该花费些时间从头一步一步脚踏实地的开始学习的,而不是像现在这样遇到的问题无数,,希望求得前辈们指点,我在这个问题上卡了太久了,急需校正单片机内部RC的频率。 单片机型号是 ...

回复

ID:383215 发表于 2022-6-7 12:15
楼主应该对自己电路的精度做个评估,看看单片机内部RC振荡器对电路究竟有多大影响,再来考虑是否需要校正RC振荡器,如果校正RC振荡器都达不到要求,再加晶体。我的电路有18B20、有串口通信,经过测试,ATMEGA8L和STC8H1K08完全达到要求,无需校正RC振荡器,我的电路里还有一个30分钟的定时,用计数可控硅过零触发脉冲解决了,相当于交流电的频率,这个精度的平均值低于晶体、高于RC振荡器,30分钟的平均误差几秒钟而已,也达到要求,我的朋友要求30分钟误差不超过一分钟就可以,这个要求实在太低,目前暂时不想研究如何校正RC振荡器。请楼主看看我测试单片机内部RC振荡器的帖子http://www.51hei.com/bbs/dpj-221508-1.html
ID:123289 发表于 2022-6-6 10:14
用内部RC做时基,仅适用于对频率精度要求不高的场合。
建议的校正方式:(为A机作RC校准的方法)
1、找到一个可以改变振荡频率的参数FN。在A机中写程序计算出这个参数FN。
2、先预估一个近似的FN。并以此为时基,从A机的IO口输出一串脉冲SP。
3、用另一个精准时基的单片机B,测试出A机SP的频率,并计算出它的误差,再将这个误差参过串口,回送给A机。
4、A根据串口得到的SP误差数据,修正FN数据,即大功告成。
ID:383215 发表于 2022-6-3 16:51
MEGA128用的很少,MEGA8用的比较多,其次是MEGA16,MEGA8用内部RC振荡器,无论是18B20还是串口通信,都已成功,目前没有发现问题。我认为降低RC振荡频率和降低通信速率,单片机应该更加稳定,所以MEGA8仅用1兆RC振荡器,通信速率也很低,由于AVR单片机价格高的离谱,被迫使用STC8系列,准备替换MEGA8,也只用1兆RC振荡器,由于有的STC8HIK08的1兆RC振荡器无法使用,被迫把RC振荡器的频率提高到1.2兆,AVR单片机除了抗干扰能力略高于STC单片机,其它方面已经没有优势,我用了十几年的AVR单片机,现在准备放弃了,能替换MEGA128的STC单片机也很多,只要在抗干扰能力方面要求不是很高,就没有问题。至于单片机内部RC振荡器,也就是受电压和温度影响最大,不是电池供电,电压没有问题,剩下的就是温度了,过段时间我准备做个简易恒温箱,实际测试一下不同温度对AVR和STC单片机的内部RC振荡器到底有多大影响?然后再来考虑是否需要校准内部RC振荡器和改用外接晶体的问题。
ID:656419 发表于 2022-6-3 14:56
电子狂人1 发表于 2022-6-3 13:57
AVR的内置RC振荡器并非完全不可以用于串行通信,但是前提是要校准。
说到这个校准,单单去读取它的校准字 ...

万分感激!我这就去试一试,,,4M晶振电容还是22pf吗??,,,
ID:1031962 发表于 2022-6-3 13:57
AVR的内置RC振荡器并非完全不可以用于串行通信,但是前提是要校准。
说到这个校准,单单去读取它的校准字去校准并非万无一失,毕竟我试验过后发现校准了精度还不够。
如果非要用内部RC,并切要求可靠性高,那就用示波器去测,去调整。
说了这么多,其实最简单的方法就是用外部晶振,花了2毛钱,解决很多问题。
我的新版板子今天收到了,焊了一套,发现用外部晶振屡试不爽,舒服得很!

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

Powered by 单片机教程网

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