|
楼主 |
发表于 2012-10-16 09:56
|
显示全部楼层
硬件的测试和调整已经进行的差不多了, 抽空写点儿软件方面的.
想自己调整功能修改参数的请继续往下看, 不深奥, 电路电子单片机方面我也是小白(本人经济学出身), 保证白话叙述, 都看得懂.
关于单片机
这个驱动板的主控芯片采用的是Atmel公司生产的ATTiny85单片机, 对这个驱动板来说呢, 单片机起到的作用有
1, 生成PWM波形驱动MOSFet点亮灯泡.
2, 检测电池电压, 实施电池保护.
3, 检测并执行相应的按钮动作.
得益于电子技术的日新月异, 这枚单片机仅需要很少的外围电路就能完成这些功能.
开发环境简介
因为我是电子小白, 原厂的开发环境实在用不了, 因为有过多的与单片机寄存器相关的代码需要编写. 所以我选用了目前比较流行的Arduino. 见 http://arduino.cc/
简单说来, Arduino是一个以Atmel单片机为核心的, 包含硬件和软件两部分的, 集成并封装了Atmel单片机底层代码的, 使得使用者可以在无需学习过多单片机知识的前提下快速简单构建单片机项目的解决方案.
原装的Arduino软件环境是不支持ATTiny系列单片机的, 很幸运, 有一些外国的大神在Arduino的基础上进行了ATTiny系列单片机的扩展, 使得使用Arduino软件环境开发ATTiny系列单片机程序成为可能.
开发环境的搭建
首先去http://arduino.cc/下载开发工具 http://arduino.googlecode.com/files/arduino-1.0.1-windows.zip
这个是windows版的, 还有Mac, Linux等版本的.
下载之后安装
然后下载ATTiny支持, http://code.google.com/p/arduino-tiny/ 这个是Arduino-tiny项目的主页, 点这个链接直接下载ZIP包
下载之后解压, 按照里面的readme.txt进行安装
至此. 开发工具就安装好了.
编程器
编程器是将自行写的程序写入单片机必备的设备, 受Arduino支持的编程器有很多, 包括但不限于:
1, Atmel原厂/副厂的AVRISP, AVRISP MKII
2, 开源的USBTinyISP
TB上搜吧, 很多.
买回来之后要装驱动, 需要注意的是如果购买的是Atmel原厂/副厂的AVRISP, AVRISP MKII驱动需要安装Arduino自带的, 否则编程器不会被Arduino开发环境正确识别. windows提示安装驱动的时候将驱动地址指向Arduino安装路径让windows自行寻找即可.注意选中搜索子文件夹.
程序调试
如果想自己改动程序的功能实现, 必不可少的就是程序调试了, 调试就需要监视代码的输出. 而单片机并没有显示屏, 我们人类如何获得代码输出呢? 还好, Arduino的底层框架已经为我们解决了这个问题, 那就是串口通讯.
串口,Serial Port是计算机上常见的接口, 在古代是计算机的标配, 现代因为USB的大量应用已经基本上从笔记本领域消失了, 但台式机基本都有. 要让单片机与计算机的串口进行通信还需要一个TTL转换板, 为什么呢? 简单说来, 串口通讯的标注有很多, RS-232, TTL, RS-485. 搞出这么多个标准是为了适用于不同的环境, 比如单片机多采用TTL, 电脑多采用RS-232. 这些个标准之间无法直接通讯, 必须要经过电平转换. TB搜 RS232转TTL即可.
木有串口怎么办? 没关系, USB也可以, TB上有很多USB转TTL的板卡可以直接拿来跟单片机连接, 搜索 USB转TTL.
串口是两线通讯, 相互通讯的两个设备通过两根数据线互传信息, 这两根数据线我们叫它RX,TX. 对某一具体设备来说RX表示数据接收, TX表示数据发送. 如果设备1想与设备2通讯, 则设备1的RX接设备2的TX, 设备1的TX接设备2的RX.
除此之外相互通讯的设备还需要知道通讯的速率, 单位是bps(bit per second). 即每秒传送的比特数, 测试采用的速率是9600bps, 即每秒钟传输9600个bit, 按一个字节8bit计算就是每秒钟1200byte, 一个byte可以用来储存一个ASCII字符, 所以每秒钟可以传输1200个ASCII字符. 做好这些工作之后, 单片机就可以把检测到的电池电压, 当前的PWM占空比, 按钮按压的状态, 开机时间等信息传给电脑. 在电脑端我们再利用诸如windows 自带的超级终端, 或者串口调试助手等软件就可以直观的看到单片机传回的这些信息了.
基本的情况先介绍到这里, 图文攻略随后.
|
|