首页 用ATmega16做8轴游戏控制器

用ATmega16做8轴游戏控制器

举报
开通vip

用ATmega16做8轴游戏控制器Mjoy16就是这么简单 用ATmega16做8轴游戏控制器 ATmega16是atmel公司的AVR单片机。之所以用ATmega16,而没有用传统的89S51或89S52。其原因在于本应用基于用AVR单片机的V-USB技术,使用单片机的软件虚拟USB口,对windows而言,是虚拟了一个HID的人体工学设备,因此不必再单独开发上位机程序和驱动(这都是windows默认自带的)不存在破解的问题。MJ16用的是USB1.0协议,MJ16精度是3个10位加5个8位,都是1步进的,整个电路总电流要低于500mA,电...

用ATmega16做8轴游戏控制器
Mjoy16就是这么简单 用ATmega16做8轴游戏控制器 ATmega16是atmel公司的AVR单片机。之所以用ATmega16,而没有用传统的89S51或89S52。其原因在于本应用基于用AVR单片机的V-USB技术,使用单片机的软件虚拟USB口,对windows而言,是虚拟了一个HID的人体工学设备,因此不必再单独开发上位机程序和驱动(这都是windows默认自带的)不存在破解的问题。MJ16用的是USB1.0 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 ,MJ16精度是3个10位加5个8位,都是1步进的,整个电路总电流要低于500mA,电位器用1K的到470K的都可以。 mega16型号: ATmega16L,工作电压2.7~5.5V,频率速度为0~8MHz ATmega16,工作电压4.5~5.5V,频率速度为0~16MHz 最新的型号是ATmega16A,工作电压2.7~5.5V,频率速度为0~16MHz,推荐(因为USB接口必须用12MHz速率)。 USB必须要3.3V电压,如果你的系统电压在3.3-3.6之间,就可以省掉这两个IN4728稳压二极管。发现有部分朋友是系统提示这个问题“无法识别的设备”,确认没有其他硬件连接错误和熔丝错误,解决办法是在USB-5V电压输入那里加AMS 1117-3.3v稳压芯片,把输入电源降到3.3V。也不需要那2个IN4728稳压二极管了。 (右图右下角就是AMS 1117-3.3v稳压芯片,82欧姆电阻换成68欧姆了) 指导一下制作顺序: 1、按照电路图搭建硬件(可以先用面包板测试)。 2、制作ISP下载线,(笔记本电脑没有并口,购买或制作USBASP下载线)。 3、下载ponyprog或progisp167烧录软件,下载固件程序Hex和eep文件。 4、用isp下载线连接计算机和MJoy16。(MJoy16要上电) 5、运行烧录软件,将Hex文件烧录到Mega16,小心编辑熔丝(准备一个有源晶振做恢复用)。 至此,MJoy16算制作完成,断开isp线缆,直接将MJoy16连接电脑usb口,系统提示找到人体工学设备MJoy16。 然后,根据你的需要,对轴和按钮进行连接(不用的轴要用短路帽进行接地,否则会视为有信号输入)。 一、 硬件清单: 名称--------------------型号-------------数量(pic)--------------注释 ATmega16 -------- 16A PI/PU ------------ 1 --------------(直插或贴片) 40Pin直插ic座 ----- 40pin -------------- 1 -------------- (也可不用IC座,不重复回收mega16) 12M 晶振 ----------- 12MHz ------------ 1 -------------- (mega16内置1M晶振,使用外接12M晶振) USB母(公)座 ----- --------------------- 1 ----------------(公座可以直接用USB延长线) 瓷片电容104 -------- 0.1uf --------------- 3 --------------- (电源滤波用) 瓷片电容 ------------ 15pf ---------------- 2 ----------------(接晶振2端,然后接地) 直插电感 ----------- 10uH ---------------- 1 --------------- (抗干扰滤波用) 电解电容 --------- 10uf/16V -------------- 1 ----------------(电源滤波用,耐压25V也可以) 电阻4.7k-----------------------------------1------------------(下拉电阻4.7k,接D-) 电阻2.2k-----------------------------------1------------------(上拉电阻2.2k,接D-) 电阻82欧 ----------------------------------2 ----------------(82欧接单片机输入端) 8x10k排阻(9脚) ----- 8x10k ---------- 1 -----------------(公共端接电源AVCC,其他接输出PC0~7上拉) 3.3v稳压二极管 ------- IN4728 ------------ 2 -------------- (USB必须要3.3V电源稳压,与AMS 1117二选一) 开关二极管 ------------ IN4148 ---------- 100 ---------------(开关滤波) 洞洞板5X7cm ----- 24孔(H)x18孔(w) ----- 1 -------- (也可以先用面包板测试) 1x40单排针 -------------------------------4 ----------------- (再买些杜邦线) 跳线冒 ------------------------------------- 15 ----------------(不用的轴要用短路帽接地) AMS 1117-3.3v稳压芯片------------- -----1 ----- ------------(作用3.3V电源降压,建议安装。与IN4728二选一) 1~4MHZ有源晶振-------------------------1 ----- -------------(修复熔丝) 10K电位器(或50K)-------------------------8----------------(推荐霍尔线性电位器,无接触无磨损) 你还需要以下工具: 40W烙铁 ----- -----(尖头和刀头都准备一个) 焊锡丝 ----- -----(0.8mm低熔点) 镊子 ----- -----(不是必须,贴片元件必须) 杜邦线-------(一个轴需3位杜邦插头,多准备几种杜邦插头) 有绝缘外皮的细导线----- -----(飞线走线) 25针并口(公头)插头一个----- ---(笔记本电脑没有并口,购买或制作USBASP下载线) 330欧 1/4w 电阻四只-----------------(也可以不接,为了主板安全,还是接上) 电路图: 装配图(修正后的): Mjoy16板上的ISP口就是芯片左边的6个1pin排针,从上至下分别是: MOSI,MISO,SCK,RESET,VCC,GND。使用这个6针,可以直接接并口下载或USBASP下载器,非常方便。VCC为电源正,GND为电源负(地线)。 使用说明——芯片右下角3pin针,使用的ADC模拟8个轴(标号XYZ等),从靠近芯片的一侧数起分别信号输入端,负极和正极。顺着往左看,来到芯片左下角,有8个1pin的针(标号1~8),这8根是96个按钮的行线和芯片左上的4个1pin针(I~L)及右上方8个1pin针(A~H)对应,这12根是列线,所以总的按钮是8*12=96个。当然,你也可以装上苦力帽(一个苦力帽占用4个),也可以装脉冲开关(占用两个)。 左下方3对2pin的针,这三组是功能按钮。最左边2pin的针是一组,用于校准init;中间的2pin是Mode;右边2pin是center。关于init是用于初次使用的时候,连接这2pin,然后将设备插入usb端口,用于初次校准和量程测试,完成后断开。 center是有个可以设定中点是否自动居中的功能,原作者说可以用在类似襟翼、扰流板之类的地方,默认情况是不用设置的。Mode是开关按键类型的切换。 校准操作,请把所有需要的轴设备全部接好后,用跳线短接INT后插上USB,即可。(而后拔掉USB,把跳线去掉即可) 更多的功能还希望大家多摸索,有了心得记得放上来分享~~ 焊接完成的mjoy16的电路板(用IN4728稳压二极管): 两个15pf起振电容接12M晶振两端后接地, 10uh电感是低通滤波器用,两端接两104接地,vref(32脚)接104后接地,其他104和电解电容是电源滤波用。 查看mega16-16L说明文档——模拟噪声抑制技术 设备内部及外部的数字电路都会产生电磁干扰(EMI),从而影响模拟测量的精度。如果转换精度要求较高,那么可以通过以下方法来减少噪声: 1. 模拟通路越短越好。保证模拟信号线位于模拟地之上,并使它们与高速切换的数字信号线分开。 2. 原图示为Avcc引脚对地接100nf电容,和vcc之间接10uh电感, AVCC 应通过一个LC 网络与数字电压源VCC 连接。 3. 使用ADC 噪声抑制器来降低来自CPU 的干扰噪声。 4. 如果有ADC 端口被用作数字输出,那么必须保证在转换进行过程中它们不会有电平的切换。 结论:LC回路的目的是抑制噪声,保证精度。 二、制作下载线 网上很多方案的,有串口有并口,还有USB转接接口,都是可以用的。 ISP并口下载线: 74HC244的下载线 串口的 mega16是低电平复位,三极管不用接vcc,当基极有电流时,集电极和射极导通,reset被拉到低电平。 如果下载干扰大的话,32脚(AREF)视情况接Vcc。 笔记本必须用USBASP下载器(网上很多制作教程,但也必须要并口给下载线烧录程序): 三、 下载烧录Hex文件 软件:ponyprog或progisp167。 1、ISP连接硬件。 2、打开软件,下载Hex和Epp文件。 3、在最终烧写前,小心设置熔丝。 ISP连线见图: mjoy板上的ISP口就是芯片左边6个1pin排针,从上至下分别是: MOSI,MISO,SCK,RESET,VCC,GND,使用这个6针,可以直接接并口下载或USBASP下载器。 使用外部晶振12MHZ,用15pF起振电容,电容需接地。 首先设置端口和芯片。 然后点“配置” 再根据你的isp下载线设置相应的并口线: 并口端口号在这里查阅: 输入/输出范围: 然后点“调入Flash”导入*.hex文件,主程序固件存储,写入后不会改变; 再点“调入Eprom”导入*.eep文件,临时交换存储空间,硬件ID和控制器校正,信息存储在这。
本文档为【用ATmega16做8轴游戏控制器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_215732
暂无简介~
格式:doc
大小:51KB
软件:Word
页数:17
分类:互联网
上传时间:2019-02-24
浏览量:37