模吧

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

40509查看 | 99回复

低成本自制航模电子设备系列之一:和我一起用ATMEGA8做遥控器

  [复制链接]
发表于 2013-11-25 21:44:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
受站长“飞天狼”先生的邀请,我正式带着自己的四个自制系列加入“模友之吧”这个大家庭。


两年以前,我对航模和单片机都是完全的一无所知,我都不知道自己对航模的兴趣是如何来的,忘记了 ,好象是在网上搜索什么资料的时候,无意间闯入了一个航模论坛,然后在浏览那些资料的过程中,激 起了我对儿时兴趣的回忆。我的第一架航模是LAMA V4,那个时候,我对航模的知识仅限于上电、推油 ,连如何调整和控制方向都不知道。等我成功地可以控制LAMA的时候,就开始一发不可收拾了,油动直 升机、电动直升机、固定翼,还是废了好几架飞机呢。


等我可以较为熟练地控制着飞机在天上飞行的时候,我本来以为,我的航模之路修到这里也该差不多了 吧?


可是,在某个航模论坛上的一个帖子引起了我的注意,那个帖子的地址我现在已经无法找到了,大概思 想就是“航模电子设备是非常高端的设备,国外的才是高精尖,国内的就是垃圾”。我很不赞成这种观 点,在我看来,航模电子设备的技术含量其实很低,可惜,论坛上的辩论最终变成了一场口水仗。在那 个时候,我第一次萌发了把航模电子设备全自制出来的思想,至少让大家可以看到,这根本不是什么“ 高精尖”。




其实,自从这两年开始研究航模电子设备以来,还是过得很辛苦的,由于我的工作和航模差了起码有十 万八千里,所以只能利用业余的时间来研究这些。这两年来,基本上所有的业余时间全花在这个上面了 ,甚至因为运动过少导致了一系列的病症初现,我本来是想,我的四个自制系列完成之后,我也算完成 了我最初的承诺,可以告一段落了。所以,当飞天狼先生邀请我的时候,我的第一反应是挽拒。但他发 给我的网址,我还是忍不住打开去看了看,在“给我爱模型管理员成都小财神的一封公开信”中,有一 段话深深地打动了我,


那段话是这样写的,“商业贴固然不对,但是也许有你们的宽容,有多少年轻人可以找到空间很出路, 多少聪明才智能得到发挥,难道我们任jr,ftb、还有诸多国外的品牌长期占领我们的市场吗,我们民 族和国家的希望在哪里,民族工业之所以不比小日本你不觉得是我们国家玩模型的人太少了吗,既然这 么小众的群体,我们还不能自己宽容自己,我们的一份扶持也许将为国家培养出一个精英也未必呢”




其实,航模本身不是目的,也许它只是休闲的一种方式,但也许,有更多的人,特别是还年轻的大学生 朋友们,能够通过兴趣步入航模界,能够通过自制航模电子设备来深入了解和学习单片机,谁能保证, 他们所学的,就不能,或者不会用于其它能够为社会创造更多价值和财富的领域呢?有了这份认同感,我突然觉得,接受“飞天狼”先生的邀请,是一件很重要的,必须要做的事情了。


在此,特向“飞天狼”先生对鄙人的肯定表示感谢,希望“模友之吧”的朋友和我一起,能够自制出更多、更好的航模电子设备。





7月份的时候,在5imx看到一个网友说想用ATMEGA系列8位单片机做遥控器、电调、陀螺仪、平衡仪一个系列,引起了我的极大兴趣,确实航模用的遥控器、电调、锁尾式陀螺仪、平衡仪这些产品,从技术的角度来说,应该是比较简单的东西,不知道为什么,国内的模友们自己做的很少,买成品的较多,而且很多人也是提到国产设备就指是垃圾设备,非国外的产品不买,其实这种精神并不利于我国航模事业的进步。


个人认为,航模作为一项运动,从国家的角度来看,水平的提高,一方面是利用成品设备(当然也包括国外先进设备)组装调试出操控性非常好的航模,并通过个人的良好操作技能,能够在各种比赛中获得名次;但另一方面,应该是在航模运动中,不断地锻炼、培养、发掘出自己的技术力量。从航模及相关电子产品的种类发展来看,国外比我们要先进好几年,各类新的航模电子产品(如最初的无刷电机、电调等)或者新类型的航模(如四轴等)往往都是国外的爱好者们研究并应用之后,才传到国内来的。大家都说他们的创新能力很强,可是真正静下心来想一想,创新能力的发展不光要靠新的点子,还要破除技术的神秘感,要靠实际动手能力强,才能变成现实。


我们现在爱好航模的人有很大一部分人是在校的学生,从我国的高等教育体系来看,学校教的过份注重理论,而轻实践,大家往往学了很多基础知识,而现实中却完全无法自己动手,他们自己有很多人都会觉得外国的技术很神秘。如果搞工科的学生都觉得技术神秘的话,我们的自主创新就会成为一句空话。而当你深入去了解那些我们以为很神秘的技术,特别是发现很多东西都是自己可以掌握,自己可以应用的东西的时候,也许我们离自主创新的天花板就只需轻轻一跃了。


当然,从个人业余制作的角度来说,不要去选技术含量过高,自己完全无法实现的内容,如自制遥控器所需的芯片、自制陀螺仪芯片等等,那些创新是需要高端试验室环境和设备的,个人业余制作的条件完全不具备。但遥控器、电调、陀螺仪、平衡仪这些航模电子设备,则是我们可以实现的。


我也准备用ATMEGA系列8位单片机做遥控器、电调、陀螺仪、平衡仪一个系列,当然由于我只是业余时间来做,我也不知道什么时候能够全部完成,我只能在这个论坛上做一点,发一点,也算是我的一点业余爱好吧,关注的人越多,我做的动力就越强,做的速度也会越快。我做的所有的东西最后都将开源,如果关注这系列内容的朋友多的话,我也将考虑编一本书,把做这些东西的所有技术细节,包括所用的单片机的关键技术、源程序关键内容的解释等等,全部写在书里面,让大家按照书的内容直接操作,便可制作出自己的航模电子设备。


开端说了这么多废话,耽搁大家的时间了。先给大家报告一下我的进度,我所自制的所有的电子产品均遵循一个流程:即可行性分析—原型模型搭建—原型模型编程—基本功能测试—产品试制—产品上机测试、程序完善(可能反复)—定型。最近的2个月,我可能花了20多个晚上的时间,航模遥控器已经进入产品上机测试和程序完善阶段,舵机测试仪已完成基本功能测试,航模直升机用锁尾陀螺仪已完成基本功能测试,航模直升机用平衡仪已进入原型模型编程阶段,航模无刷电机用电调还处在原型模型搭建阶段。
当然,最近这段时间由于占用业余时间太多,已经引起了领导的强烈反对,后继进度可能有所放缓,但我会尽量地加快进度。
现在正式进入第一个主要内容:和我一起用ATMEGA8做遥控器。

发表于 2015-5-23 18:52:18 | 显示全部楼层
一直讲到如何编写遥控器程序
回复 支持 1 反对 1

使用道具 举报

 楼主| 发表于 2013-11-25 21:57:40 | 显示全部楼层
先给大家发个下一步打算写的目录吧..

一、        一个晚上学会用atmega8制作舵机测试仪
二、        Atmega8简介及重要资源应用实例
1、        一个小时熟悉单片机基本概念
2、        半个小时了解atmega8
3、        5分钟学会输出端口控制
4、        10分钟学会输入端口控制
5、        10分钟学会定时器
6、        10分钟学会ADC
7、        10分钟学会驱动按键
8、        10分钟学会EEPROM读写
9、        Lcd1602驱动例程(选学)
三、        舵机测试仪程序讲解
四、        六通道遥控器程序讲解

要想进入下一步学习过程的朋友,可能需要有以下硬件及软件:
1、        任意一种类型的Atmega8学习板(须为全部引脚引出的版本,最好自带lcd1602液晶接口,最好支持BootLoader)、lcd1602液晶各一块,10k以上可变电位器5只,
2、        USBASP下载线
3、        声卡延长线一根,万用表表笔一对,鳄鱼夹一对。
4、        Multi instrument V3.0以上软件
5、        AVR Studio 4 以上软件

    声明一:由于目前对本项目感兴趣的人数不多,上述硬件设备投入在100元以下,我不保证完全能够按照预定写作计划写作,主要看参与人数与大家积极性,如果关注的人太少,最后我可能只发源程序或hex文件,不详细讲解。不对可能产生的任何风险及硬件设备投入负责。如不同意以上声明,请勿尝试学习本项目。
发表于 2015-11-5 13:03:21 | 显示全部楼层
附件怎么看啊?
回复 支持 1 反对 0

使用道具 举报

发表于 2015-11-3 00:04:53 | 显示全部楼层
真正的牛帖
回复 支持 1 反对 0

使用道具 举报

发表于 2015-10-29 21:47:15 | 显示全部楼层

支持  支持
回复 支持 0 反对 1

使用道具 举报

发表于 2015-10-29 17:30:01 | 显示全部楼层
我现在准备洞洞板做个试试
回复 支持 0 反对 1

使用道具 举报

发表于 2015-10-29 14:42:31 | 显示全部楼层
为毛我看不了图片
回复 支持 0 反对 1

使用道具 举报

发表于 2015-10-23 11:13:13 | 显示全部楼层
能不能搞个兼容天地飞接收机的
回复 支持 1 反对 0

使用道具 举报

发表于 2015-10-15 11:05:27 | 显示全部楼层
除非出套件,否则没法做。
回复 支持 1 反对 0

使用道具 举报

发表于 2015-10-13 14:34:04 | 显示全部楼层
您所在的用户组无法下载或查看附件低成本自制航模电子设备系列之一:和我一起用ATMEGA8做遥控器 航模,模型,固定翼,直升机,舵机 作者:噫吁嚱 5150
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2013-11-25 21:45:26 | 显示全部楼层
可行性分析:
      一、现阶段商用遥控器已经有相当部分采用PCM编码了,从单片机的角度来说,PCM和PPM都应该是比较容易实现的,PPM编码以前大家认为抗干扰能力较弱,这主要是因为以前实现PPM的编解码很少用单片机,多用数字电路实现,对于这类电路来说,只要输入脉冲的上升沿达到一定的高度,都可以使其翻转。这样,一旦输入脉冲中含有干扰脉冲,就会造成输出混乱。但现在PPM的编解码都是用单片机来实现了,不存在干扰使其翻转的问题,无疑抗干扰能力又增强了不少。PCM编解码则是用模/数(A/D)和数/模(D/A)转换技术实现的,可以很方便的利用单片机编程,不增加或少增加成本,实现各种智能化设计。例如,将来的比例遥控设备完成可以采用个性化设计,在编解码电路中加上地址码,实现真正意义上的一对一控制。但PCM的编解码较PPM要复杂,因此有反映说采用PCM的商用遥控器速度要慢一些,而且各个厂家生产的不同型号的PCM比例遥控设备,其编码方式都不相同。
    结论:选用PPM在后端设备的选择余地上要大一些,可以提高开发速度,让我们把精力更多地放在遥控器功能开发上,因此选用PPM。
 楼主| 发表于 2013-11-25 21:46:09 | 显示全部楼层
二、后端设备及后端设备是自制还是选用商用
    后端设备包括发射端的高频发射板、接收机。由于我的专长主要在数字电路和程序设计,加上业余条件的限制,自制高频发射和接收板基本不可能,如果购买商用高频发射和接收板,可以自己做接收机,但商用2.4G的高频发射和接收板我在淘宝上查了查,一般要150元左右一套(两块),而且距离说是1000米,但很多已经购买的朋友评价时说都只有300-500米,性价比不高。自己做接收解码板来做PPM接收机技术含量比遥控器本身来说要低,就不花费时间了。
    结论:我手上正好有一个esky 的0404g四通控,可以直接用其外壳、高频发射板和接收机。如果没有合适的旧控可供改装的,可以用飞梦,飞梦2.4g套装的价格只有200出头,而且距离应该在1000米以上。外壳自已做的话,绝对会非常山寨,影响大家的心情,所以用便宜的旧控或者模拟器改装应该是一个很好的方案。

 楼主| 发表于 2013-11-25 21:48:06 | 显示全部楼层
三、发射机用PPM板单片机选型
    发射机主要需要用ADC来采集电位器的位置,一个8个比例通道的遥控器需要至少有8路ADC,精度8位太低,遥杆的全行程才256个采样点,至少要10位,遥杆全行程达到1024个采样点。
    由于选用PPM编码,所以发射机的芯片每20ms才需要发出一组信号,主频不需要太高,8M以上完全能够应付。
    7月份的那个朋友说准备用ATMEGA8做,我查了查ATMEGA8的资料,觉得ATMEGA8完全能应付,加上在淘宝上一搜,ATMEGA8的开发板有20多元的,价格很便宜,用来搭建原型模型很便宜,好,就是它了!
    买了一块ATMEGA8和一块ATMEGA32的开发板,用ATMEGA8来搭遥控器的原型,用ATMEGA32来搭建锁尾陀螺仪和平衡仪的原型。ATMEGA8的开发板25元,ATMEGA32的开发板只买了板子,自己买的芯片来焊,也只花了25元左右。便宜吧?
四、自制遥控器的基本功能
遥控器的基本功能实现核心代码其实很简单,主要是端口置位、复位和延时,但要做得好用,那些设置的菜单很难设计,要花不少的时间。本着功能优先的原则,我打算先不做图形液晶显示,先用字符液晶显示。(还有一个不好说出口的理由,我买的便宜的ATMEGA8的单片机开发板正好有字符液晶的接口,如果要驱动图形液晶,还得自己做接口,嫌麻烦)
基本的功能应该是大家经常用的那些,我实现的是:6通道(其实8通道也好,10通道也好,和6通道是一样的,主要是我的esky 0404g的四通控的接收只能扩展到6通道,要再多做通道,就得花钱买飞梦的2.4g套装,配8通的接收了)、通道反向、中位调节、行程调节、模型类型(暂只打算支持固定翼和CCPM直升机,这应该是大家最喜闻乐见的两个类型了),油门和螺距两个5点曲线,陀螺仪感度调节,6个模型数据存储。


可行性分析先写到这里,文字材料写了好几大段了,大家看着也累了,为了增加大家的兴趣,我先介绍介绍我的遥控器的原型模型搭建和产品试制。  

低成本自制航模电子设备系列之一:和我一起用ATMEGA8做遥控器 航模,模型,固定翼,直升机,舵机 作者:冷血动物 5514
上图是我搭建的遥控器原型机,摇杆是从PC游戏手柄上拆的,四按键是从坏的DVD机上拆的,LCD1602液晶12元,atmega8开发板25元,像U盘一样的东西是esky 0404g遥控器接电脑玩realflight的加密狗,用来验证原型机是否起效的。
 楼主| 发表于 2013-11-25 21:49:48 | 显示全部楼层


下图是遥控器原型机产生的波型图,是完全按照0404g的波形来生成的,0404g是可以改造成6通道的,其接收机也是可以改造成6通道的。遥控器原型机编程完成以后,用PC声卡示波器查看,各通道波形随遥杆变化正常。用加密狗之后,插入电脑USB口能找到遥控器,可以正常玩Realflight。原型机试验到此结束。
低成本自制航模电子设备系列之一:和我一起用ATMEGA8做遥控器 航模,模型,固定翼,直升机,舵机 作者:冷血动物 5680
 楼主| 发表于 2013-11-25 21:52:11 | 显示全部楼层
今天太晚了,就到此结束,先发几张图片出来.
1、原型机编程后准备制作的线路图

低成本自制航模电子设备系列之一:和我一起用ATMEGA8做遥控器 航模,模型,固定翼,直升机,舵机 作者:冷血动物 8098
 楼主| 发表于 2013-11-25 21:56:15 | 显示全部楼层
2、自动布线后的电路板图
低成本自制航模电子设备系列之一:和我一起用ATMEGA8做遥控器 航模,模型,固定翼,直升机,舵机 作者:冷血动物 5017
3、打样的线路板
低成本自制航模电子设备系列之一:和我一起用ATMEGA8做遥控器 航模,模型,固定翼,直升机,舵机 作者:冷血动物 9657
4、焊好元件后的电路板
低成本自制航模电子设备系列之一:和我一起用ATMEGA8做遥控器 航模,模型,固定翼,直升机,舵机 作者:冷血动物 4237
5、正在安装的遥控器
低成本自制航模电子设备系列之一:和我一起用ATMEGA8做遥控器 航模,模型,固定翼,直升机,舵机 作者:冷血动物 4850
低成本自制航模电子设备系列之一:和我一起用ATMEGA8做遥控器 航模,模型,固定翼,直升机,舵机 作者:冷血动物 1984
低成本自制航模电子设备系列之一:和我一起用ATMEGA8做遥控器 航模,模型,固定翼,直升机,舵机 作者:冷血动物 504
 楼主| 发表于 2013-11-25 21:57:00 | 显示全部楼层
征求一下大家的意见,是直接发PCB图和hex文件就结束,
还是从atmega8单片机简单程序入门开始讲解,一直讲到如何编写遥控器程序?

如果需要从入门开始讲解的人多的话,我就继续写下去,如果没有多少人爱听这些,我就不用费这些精力了.
发表于 2013-11-25 23:54:59 | 显示全部楼层
呵呵在这里又见到老师了,浪子心声!!!!!
发表于 2013-11-25 23:59:19 | 显示全部楼层
低成本自制航模电子设备系列之一:和我一起用ATMEGA8做遥控器 航模,模型,固定翼,直升机,舵机 作者:斯洛克 4402 不错!希望你能坚持下去完成你的计划!
发表于 2013-11-26 23:31:22 | 显示全部楼层
在这里看到老师的帖子很高兴

低成本自制航模电子设备系列之一:和我一起用ATMEGA8做遥控器 航模,模型,固定翼,直升机,舵机 作者:水车 8323
发表于 2013-11-28 19:49:37 来自手机 | 显示全部楼层
厲害!
 楼主| 发表于 2013-12-4 21:44:18 | 显示全部楼层
先给大家发个下一步打算写的目录吧..

一、        一个晚上学会用atmega8制作舵机测试仪
二、        Atmega8简介及重要资源应用实例
1、        一个小时熟悉单片机基本概念
2、        半个小时了解atmega8
3、        5分钟学会输出端口控制
4、        10分钟学会输入端口控制
5、        10分钟学会定时器
6、        10分钟学会ADC
7、        10分钟学会驱动按键
8、        10分钟学会EEPROM读写
9、        Lcd1602驱动例程(选学)
三、        舵机测试仪程序讲解
四、        六通道遥控器程序讲解

要想进入下一步学习过程的朋友,可能需要有以下硬件及软件:
1、        任意一种类型的Atmega8学习板(须为全部引脚引出的版本,最好自带lcd1602液晶接口,最好支持BootLoader)、lcd1602液晶各一块,10k以上可变电位器5只,
2、        USBASP下载线
3、        声卡延长线一根,万用表表笔一对,鳄鱼夹一对。
4、        Multi instrument V3.0以上软件
5、        AVR Studio 4 以上软件

    声明一:由于目前对本项目感兴趣的人数不多,上述硬件设备投入在100元以下,我不保证完全能够按照预定写作计划写作,主要看参与人数与大家积极性,如果关注的人太少,最后我可能只发源程序或hex文件,不详细讲解。不对可能产生的任何风险及硬件设备投入负责。如不同意以上声明,请勿尝试学习本项目。
 楼主| 发表于 2013-12-4 21:46:23 | 显示全部楼层
一、一个晚上学会用atmega8制作舵机测试仪


舵机测试仪是一个非常简单的应用,为了提高大家学习单片机的积极性,我们先不讲单片机的基础知识和程序,先让大家体验一下单片机的应用是多么地简单,而不是大家所想的高不可攀。通过这个过程,也让大家掌握如何向atmega8单片机写入程序,如何用计算机声卡示波器查看波形。
所需材料:Atmega8单片机试验板一块,USBASP下载线一条,10k以上可变电阻器一只,利用计算机声卡延长线和万用表笔、鳄鱼夹制作的示波器表笔一只,航模用舵机一只。如下图所示。
C:\Documents and Settings\Administrator\桌面\1.jpg
低成本自制航模电子设备系列之一:和我一起用ATMEGA8做遥控器 航模,模型,固定翼,直升机,舵机 作者:冷血动物 2237
 楼主| 发表于 2013-12-4 21:52:58 | 显示全部楼层
所需软件:USBASP下载软件、声卡示波器。
舵机测试仪的HEX文件:
低成本自制航模电子设备系列之一:和我一起用ATMEGA8做遥控器 航模,模型,固定翼,直升机,舵机 作者:冷血动物 9890 SevoTest.rar (532 Bytes, 下载次数: 74)
舵机测试仪的程序非常简单,全部代码不过几十行,我编程序的时候仅用了10多分钟。在第四章节将公布舵机测试仪的全部代码并逐行予以讲解。

步骤:1、将示波器表笔插入计算机麦克风插口,设置计算机麦克风音量到合适大小。

2
、连接USBASP下载线至单片机试验板,注意插口方向不要插错。单片机试验板上有开关或跳线选择电源为5V3.3V的,一定要选择为5V,否则可能烧单片机试验板稳压芯片。


3
、将USBASP插入计算机USB口,此时可看到USBASP的绿灯亮,单片机试验板上的电源灯也亮。


4
、打开USBASP下载软件,比较典型的是progisp1.72

低成本自制航模电子设备系列之一:和我一起用ATMEGA8做遥控器 航模,模型,固定翼,直升机,舵机 作者:冷血动物 1956
5、先按“命令”、“读出识别字”,能正常读出atmega8芯片的识别号 ,如果不能正常读出,请检查单片机试验板、USBASP是否工作正常,连接线接触是否良好。
6、如图所示设置atmega8的熔丝(可以理解为atmega8的基本设置,具体内容后面会讲),切记一定不能改变SPIEN熔丝,否则单片机会禁止USBASP烧写,只能用高压编程器恢复,很麻烦的。(注意:这里的熔丝设定是在采用16M的外接晶振时的,如果不是16M外接晶振,请仔细查看熔丝设定的规则后自行设定,或在帖子里留言,我来告诉大家该如何设定,另外,HEX文件也是基于16M外接晶振的,其它频率该HEX无法正常工作,如果采用其它频率的晶振,也可以留言给我,我提供其它频率的晶振的HEX文件)
低成本自制航模电子设备系列之一:和我一起用ATMEGA8做遥控器 航模,模型,固定翼,直升机,舵机 作者:冷血动物 6234

7、载入atmega8hex文件,写入atmega8
8、取下USBASP,可变电阻器的固定阻值端分别接电源正负极,可变阻值端接ADC7(PC7)航模用舵机的黑线接地线,红线接+5V电源,白线(信号线)接PB0,没有颜色或其它颜色的舵机线可参考下图。

低成本自制航模电子设备系列之一:和我一起用ATMEGA8做遥控器 航模,模型,固定翼,直升机,舵机 作者:冷血动物 2844
9、接通单片机试验板电源,转动可变电阻器,可看到舵机随着可变电阻器的转动而转动。
低成本自制航模电子设备系列之一:和我一起用ATMEGA8做遥控器 航模,模型,固定翼,直升机,舵机 作者:冷血动物 5126
10、将示波器表笔两个鳄鱼夹分别夹在舵机的黑线(地线)和白线(信号线)上,打开声卡示波器软件,查看波形随可变电阻器转动时的改变。

低成本自制航模电子设备系列之一:和我一起用ATMEGA8做遥控器 航模,模型,固定翼,直升机,舵机 作者:冷血动物 5944

如果能够很顺利地完成上述过程,个人制作遥控器已经成功了50%了。

本节内容主要目的:破除大家对单片机的神秘感。
本节内容需要掌握的要点
1、
初步掌握通过USBASP向单片机写入程序的方法。

2、
初步了解计算机声卡示波器的使用方法。

3、
搭建可供使用的舵机测试仪原型平台。


////////////////////////////////////////

重要补充:  忘记告诉大家了,本贴的熔丝设定是假定在采用16M的外接晶振时的,如果不是16M外接晶振,请仔细查看熔丝设定的规则后自行设定,或在帖子里留言,我来告诉大家该如何设定,另外,HEX文件也是基于16M外接晶振的,其它频率该HEX无法正常工作,如果采用其它频率的晶振,也可以留言给我,我提供其它频率的晶振的HEX文件
 楼主| 发表于 2013-12-4 21:54:13 | 显示全部楼层
不知道大家的舵机测试仪试验得怎么样了?
    下面一个章节可能比较枯燥,我主要想讲解如何理解单片机的一些重要参数,如8 位AVR® 微处理器的8位指什么?工作主频16MHz是什么意思?8K 字节的系统内可编程Flash是什么?512 字节的EEPROM指的是什么?1K字节的片内SRAM指的是什么?“两个具有独立预分频器8 位定时器/ 计数器, 其中之一有比较功能”中的独立预分频器是什么,定时器/计数器是什么?比较功能是什么功能?“一个具有预分频器、比较功能和捕捉功能的16 位定时器/ 计数器”中的捕捉功能是什么功能?具有独立振荡器的实时计数器RTC是什么?三通道PWM是什么?8 路10 位ADC是什么?IIC、USART、SPI接口是什么?具有独立片内振荡器的可编程看门狗定时器指的是什么?片内模拟比较器是什么?片内/ 片外中断源是什么?片内经过标定的RC 振荡器是什么?
    每一种参数我尽量以非专业、简明易懂的语言来描述。
    这一章节将比较枯燥,但我觉得这些概念对于了解单片机的功能和单片机如何利用这些功能实现相应的目标很重要,必须要了解。
    我现在做个调查,大家是不是都已经很清楚这些概念,如果大家都很清楚这些概念,我就跳过这一章节,直接进入下一个环节。免得我难写,大家也没心思看。
 楼主| 发表于 2013-12-4 21:57:00 | 显示全部楼层
好像大家没有人能够跟上进度,我只有把基本概念先讲一讲了。我列的那个目录,最好是根据目录来练习。
1  一个小时熟悉单片机基本概念
2  半个小时了解atmega8
3
5
分钟学会输出端口控制

4
10
分钟学会输入端口控制

5
10
分钟学会定时器

6
10
分钟学会ADC

7
10
分钟学会驱动按键

8
10
分钟学会EEPROM读写

9
Lcd1602
驱动例程(选学)

特别是我列的这个目录,基本概念讲了之后,所有的端口操作、定时器、ADC等等就是用程序作实际讲解,最好是有学习板同步练习,学单片机就是这样,光看是没有效果的,必须实作才行。
我列的这个目录只是作遥控器所需要的,其它有关单片机的内容还很多,我会在后继的电调、陀螺仪和平衡仪的时候再讲解相关的内容。

另外向大家报告一下,这两天我的电调原型模型也已经搭建好了。花了一个晚上焊板子。大家不要小看焊板子。特别是对于自己不熟悉的电路,焊板子可以很快让自己熟悉这个电路。后继有故障的话,也就好知道到哪里去查找。第二个晚上我烧了个网上的电调程序,一启动就烧了两个MOS管。心里很不爽,别人的程序又没有源程序,不知道问题在哪里。昨天晚上我又花了两三个小时的时间,自己编了一百来行的程序,就把无刷电机转起来了。当然,这个程序是很初步的,但是各种功能就在这个程序的基础上就可以完善了。

到现在为止,遥控、电调、锁尾陀螺仪和平衡仪的所有的原型平台全部已经搭建完成,并且各个东西的基础功能的编程已经实现了。不过接下来真的进度可能要慢一些了。领导已经很有意见了。而且还得花精力来写这个贴子。

遥控器大家已经看到了。给大家看看电调、锁尾陀螺仪和平衡仪的原型平台吧。
低成本自制航模电子设备系列之一:和我一起用ATMEGA8做遥控器 航模,模型,固定翼,直升机,舵机 作者:冷血动物 9812

下面这张是电调的,电机我没有去拆模型上的,就用的坏硬盘上拆下来的电机.
低成本自制航模电子设备系列之一:和我一起用ATMEGA8做遥控器 航模,模型,固定翼,直升机,舵机 作者:冷血动物 5646

下面这张是陀螺仪和平衡仪的.陀螺仪的程序已经开发完成了.平衡仪的程序也已经基本完成,按进度应该做线路板了.最上面的电路板是esky的0404G控的接收机.那不是我做的...白色的小盒子里是三轴陀螺仪和三轴加速度计的模块,陀螺仪是ITG3205,加速度计是MMA6331(这个6331不知道为什么是三轴的,但确实是三轴的),然后下面的是atmega32的试验板,旁边是试验用的两个陀机.已经可以支持CCPM直升机了..(不过没有上机试过,要做了线路板才行,这堆东西可没办法拿到飞机上去)

低成本自制航模电子设备系列之一:和我一起用ATMEGA8做遥控器 航模,模型,固定翼,直升机,舵机 作者:冷血动物 5983
 楼主| 发表于 2013-12-4 21:57:27 | 显示全部楼层

二、Atmega8简介及重要资源应用实例

1、一个小时熟悉单片机基本概念
    让我们来看一看Atmega8单片机的PDF介绍中的首页对该单片机的描述。

产品特性
• 高性能、低功耗的 8 位AVR® 微处理器
• 先进的RISC 结构
– 130 条指令 – 大多数指令执行时间为单个时钟周期
– 32个8 位通用工作寄存器
– 全静态工作
– 工作于16 MHz 时性能高达16 MIPS
– 只需两个时钟周期的硬件乘法器
• 非易失性程序和数据存储器
– 8K 字节的系统内可编程Flash
擦写寿命: 10,000 次
– 具有独立锁定位的可选Boot 代码区
通过片上Boot 程序实现系统内编程
真正的同时读写操作
– 512 字节的EEPROM
擦写寿命: 100,000 次
– 1K字节的片内SRAM
– 可以对锁定位进行编程以实现用户程序的加密
• 外设特点
– 两个具有独立预分频器8 位定时器/ 计数器, 其中之一有比较功能
– 一个具有预分频器、比较功能和捕捉功能的16 位定时器/ 计数器
– 具有独立振荡器的实时计数器RTC
– 三通道PWM
– TQFP与MLF 封装的8 路ADC
8 路10 位ADC
– PDIP封装的6 路ADC
8 路10 位ADC
– 面向字节的两线接口
– 两个可编程的串行USART
– 可工作于主机/ 从机模式的SPI 串行接口
– 具有独立片内振荡器的可编程看门狗定时器
– 片内模拟比较器
• 特殊的处理器特点
– 上电复位以及可编程的掉电检测
– 片内经过标定的RC 振荡器
– 片内/ 片外中断源
– 5种睡眠模式: 空闲模式、ADC 噪声抑制模式、省电模式、掉电模式及Standby 模式
• I/O 和封装
– 23个可编程的I/O 口
– 28引脚PDIP 封装,32 引脚TQFP 封装,32 引脚MLF 封装
• 工作电压
– 2.7 - 5.5V (ATmega8L)
– 4.5 - 5.5V (ATmega8)
• 速度等级
– 0 - 8 MHz (ATmega8L)
– 0 - 16 MHz (ATmega8)
• 4 Mhz 时功耗, 3V, 25°C
– 工作模式: 3.6 mA
– 空闲模式: 1.0 mA
–        掉电模式: 0.5 μA

这一系列的描述带有很多的专业词汇,让很多不是计算机及相关专业毕业的朋友们看起来觉得头晕,更增加了大家对单片机的畏惧感。但这些内容是不是我们想像的那么高深呢?让我们一一来了解了解其中的关键指标。



    • 高性能、低功耗的 8 位AVR® 微处理器
    核心词:8位处理器。
    基于现有的计算机体系结构和技术水平,计算机只能识别两种基本状态,即高电平(压)和低电平(压),高电平表示1,低电平表示0,因此计算机只能用二进制。什么是二进制,可能需要专门的学习,我在这里以十以内的数字举例让大家有个概念性的认识。
十进制数:0          二进制数   0
十进制数:1          二进制数   1
十进制数:2          二进制数  10  
我们常用的阿拉伯数字是逢十进一,即当数字为9的时候,加1就是10了。二进制数是逢二进一,即数字为1的时候,加1就是10了。注意二进制的10的值在十进制中为2。
十进制数:3          二进制数  11
十进制数:4          二进制数  100
十进制数:5          二进制数  101
十进制数:6          二进制数  110
十进制数:7          二进制数  111
十进制数:8          二进制数  1000
十进制数:9          二进制数  1001
十进制数:10         二进制数  1010
请大家仔细体会以上的进位规则和二进制数。用二进制表示一个数时,位数多。因此实际使用中多采用送入数字系统前用十进制,送入机器后再转换成二进制数,让数字系统进行运算,运算结束后再将二进制转换为十进制供人们阅读。

8位处理器,是指该处理器一次可处理8位的二进制数。由于更多位数的数字,可以分成多个8位的数进行运算,因此8位处理器并不一定只能处理8位以内的数。
二进制位数太多,编写程序的时候往往用十六进制数,每四位二进制数正好对应一个十六进制数。二进制和十六进制的互相转换比较重要。不过这二者的转换却不用计算,把二进制数从最低位开始,按照四位对应一个十六进制数直接对应即可。
(二进制的概念点到为止,如果再往下说可能很复杂,如果有愿意了解的可在帖子中提问。)




    – 工作于16 MHz 时性能高达16 MIPS
      核心词:16MHz。
计算机是靠脉冲来驱动的,一个脉冲是电平(压)从低到高再到低的一个变化过程。16MHz是指每秒钟可以发出16000000个脉冲。
我们可以把计算机想成是一个很多个大齿轮与很多个小齿轮嵌套的一台设备,设备的运转是靠最初的一个摇把带动齿轮来转动。那么一个脉冲就意味着摇把转动一圈,那么显然地,摇把转动越快,机器的运行速度越快。
这个概念的理解对后期我们需要掌握的分频的概念至关重要。
 楼主| 发表于 2013-12-4 21:58:10 | 显示全部楼层
—8K 字节的系统内可编程Flash,擦写寿命: 10,000 次
   
Flash是Flash Memory,它的基本特性是可反复往里写入数据,断电时能够保存数据,也称为闪存,U盘里用的就是这类的存储器。在单片机里,主要用来保存用户编制的程序,作用与台式机的硬盘类似。8K字节,在计算机中所指的K一般指1024。擦写寿命1万次是指该单片机Flash中的程序可以反复擦除、重写1万次。这是个理论值,实际值比这个值要多出不少,很多atmega8可至少到10万次。

– 具有独立锁定位的可选Boot 代码区,通过片上Boot 程序实现系统内编程,真正的同时读写操作

可选Boot代码区是指在Flash中可划定出一块区域,当单片机上电执行指令时可以从该代码区开始执行。Boot代码区之外一般称为用户代码区。这样划分的好处是,当Boot代码区的程序是用于与其它计算机或单片机通讯的程序的时候,可以用Boot代码区的程序运行来引导和更新用户代码区的内容(系统内编程序),真正的同时读写操作的意思是,当Boot代码区的程序在执行的过程中(即读的同时),可以向用户代码区内写入用户代码(用户程序)。
这样说可能仍然比较抽象,让我们以atmega8的bootloader程序为例。向atmega8单片机内写入程序需要有USBASP(一种向单片机烧录程序的硬件设备)等写入工具,但如果用USBASP向atmega8单片机内Boot代码区内写入bootloader程序后,bootloader程序可在单片机上运行,并通过单片机的相应引脚直接与计算机USB口通讯,即可直接通过计算机USB口向单片机用户代码区写入程序,不再通过USBASP写。
注意Boot代码区的大小和起始位置是可以通过熔丝位来设定的。什么是熔丝位,我们后面要介绍。

– 512 字节的EEPROM,擦写寿命: 100,000 次

EEPROM学名电可擦可编程只读存储器,它的基本特性与Flash类似,它在通常情况下只能读,不能写,在合适的电压条件下,也可向里面写入数据。由于是只读存储器,因此其数据稳定性比Flash要高,但速度比Flash慢。在单片机里,主要用来保存用户需要保存的数据。
看到这里就有人问了,台式机硬盘里是既保存程序,又保存数据,为什么单片机非要用Flash来保存程序,用EEPROM来保存数据?其实这不是一定的,最初单片机设计的时候,由于程序是放在flash中的,而早期的单片机是不支持上一条中的“同时读写操作”,即Flash中的程序在运行(即读取)的时候,是不能往Flash里面写入数据的,因此早期的单片机单独设置了EEPROM区域来保存数据,后来就形成了单片机的约定俗成的体系结构了。现在很多单片机支持同时读写操作了,数据也可以保存在Flash中,即在单片机的程序存储区开辟一块空间专门用来保存相关数据,可以不用EEPROM。这要看单片机应用人员的喜好了。但由于Flash是按页进行存储的,即写Flash的时候,一次不能只写一个字节,而必须写这个字节所在的页,操作不方便,因此就我个人而言,即然有EEPROM,我还是习惯把数据存在EEPROM中。

– 1K字节的片内SRAM,32个8 位通用工作寄存器

SRAM是RAM(随机存储器的一种),是英文Static RAM的缩写,学名叫静态随机存储器,是一种有电的时候可以存储数据,一断电数据就丢失的存储器。它的速度比Flash快很多,但一断电数据就丢失。
Flash类似于台式机的硬盘。Flash本身不适合保存一直变动的数据(有些数据在程序运行中一直在变化,如循环变量,一圈循环下来可能就要变几百次,Flash即使可以改写10万次也经受不住。加之Flash对于计算机的处理核心来说,访问的速度太慢,因此处理核心不能直接用Flash来运行程序,还是得引入SRAM作为内存,在处理核心运行的时候,先把程序从Flash中一次性读入一批到SRAM中,然后运行程序的时候直接从SRAM中运行,这样运行速度会快不少。在单片机中,这个过程一般是由处理核心自己来处理的,用户开发的程序一般情况下不需要访问SRAM,SRAM相当于台式计算机的内存。
    为了适应更快处理速度的场合,又引入了寄存器的概念,寄存器的速度比SRAM又要快一些,对于程序中反复变化的数据,如循环变量,还有单片机的各种状态等,就把它存入到工作寄存器中,而不是放在SRAM中。在单片机中,这个过程一般是由处理核心或编译器来完成的。用户开发有时会访问这些寄存器,如访问单片机的某个寄存器来获取单片机当前的状态。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|关于模吧|APP下载|广告报价|小黑屋|手机版|企业会员|商城入驻|联系我们|模吧 ( 冀公网安备13080502000084号 )

© 2013-2020 Moz8.com 模吧,玩出精彩!