搜索
bottom↓
回复: 13

为调试3轴陀螺仪新做了一个转接口【TWI转UART串口】

[复制链接]

出0入0汤圆

发表于 2008-6-3 09:36:57 | 显示全部楼层 |阅读模式
为了调试三轴陀螺仪/加速度计,新做了一个【TWI转UART串口】的转接口
将陀螺仪输出的TWI信号转换成PC机DB9就可以接收的串口信号
然后由上位机将6路数字采样值反应在PC屏幕上

还是用孔孔板焊,省点打样钱

(原文件名:CIMG0008.JPG)

一片MAX232、一片M8、一个DB9母口

(原文件名:CIMG0009.JPG)

焊好完成后,都是线难看了点
留了ISP接口方便修改程序,两个LED,一个做电源指示,一个做通信指示

(原文件名:CIMG0010.JPG)

出0入42汤圆

发表于 2008-6-3 11:09:38 | 显示全部楼层
等待下文.................

出0入0汤圆

 楼主| 发表于 2008-6-3 11:16:49 | 显示全部楼层
原理图参考坛子里 eastboy 做的 “串口STK500”

出0入0汤圆

发表于 2008-6-3 14:30:09 | 显示全部楼层
装修卖场有卖,但不是这个牌子。

出0入0汤圆

 楼主| 发表于 2008-6-3 14:35:43 | 显示全部楼层
to : 【3楼】 jimtien

装修卖场?

出0入0汤圆

 楼主| 发表于 2008-6-3 22:19:08 | 显示全部楼层
搞了一晚上,和PC的串口通信一直有问题,就在【数据寄存器空】中断中发送一个字符
除了0x00,和0xFF 发送到PC机是正确的,其它任何信息都是错误的
这次没用汇编,用WINAVR写的,真是郁闷啊!

串口初时化如下:

//############################################################################
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud rate: 9600
void ut_init (void)
//############################################################################
{
        //Enable TXEN im Register UCR TX-Data Enable & RX Enable
        UCSRB |= (1 << RXCIE)|(1 << TXCIE)|(1 << UDRIE)|(1 << RXEN)|(1 << TXEN);
        //UCSRB = 0XD8;

        UCSRC |= (1 << URSEL)|(1 << UCSZ1)|(1 << UCSZ0);
        //UCSRC = 0x86;
       
        //计算波特率(SYSCLK用外部晶振7.3728MHz)
        UBRRL= (SYSCLK / (BAUD_RATE * 8L) -1 );

}

出0入0汤圆

发表于 2008-6-3 23:12:20 | 显示全部楼层
给你一个建议,安装cvavr,然后使用它的程序生成向导,可以帮你生成中断带缓冲的串口通信,TWI也如此。基本上生成的代码改改中断函数的定义方式就能在GCC上用,会很方便的。

出0入0汤圆

 楼主| 发表于 2008-6-4 09:13:01 | 显示全部楼层
呵呵,没用过程序生成向导啊
不过已经发现问题了:
波特率计算公式 UBRRL= (7.3728MHz / (9600 * 8L) -1 ) = 95
查DATASHEET表,95是需要两倍速标志置位,不置位时应该47
所以修改很简单,在初始化中加入即可:

// UART Double Speed (U2X)
UCSRA |= (1<<U2X);


(原文件名:UART.jpg)

出0入0汤圆

发表于 2008-6-4 16:00:32 | 显示全部楼层
我反正比较推荐CVavr,我马上从云南出差回成都了,回来就跟着楼主一起做!

出0入0汤圆

 楼主| 发表于 2008-6-4 17:14:35 | 显示全部楼层
to : 【8楼】 steamed410 周炜

跟我做?你是说做这个转接口吗?

出0入0汤圆

发表于 2008-6-4 18:57:14 | 显示全部楼层
从3轴陀罗到电调到转接口,我就是5imx的“想飞的馒头”,哈哈,看了你做3轴陀罗的帖子追到5imx又再追回到ouravr,哈哈,我比较菜,觉得跟着大家走学习起来比较快

出0入0汤圆

 楼主| 发表于 2008-6-4 20:26:56 | 显示全部楼层
哦,原来是你呀!

出0入0汤圆

发表于 2008-6-6 08:05:47 | 显示全部楼层
就是我啦,已经在准备买东西的说啦,ADXL330还有ENC03,我接触单片机不久,也是在阿莫这里买的,本来也经常出差,用了很长的时间才学把M16的基本功能学了遍,现在能基本掌握M16,就是准备看很多东西要向你请教了,你的电调板和3轴陀罗板能不能给我套,我自己买其他的传感器和M8,这样就可以跟着你做了,程序我先写,写好了试试,再给你看看,你帮我指点下,你是实干的人,我愿意跟你学!就收下徒弟吧!

出0入0汤圆

 楼主| 发表于 2008-6-6 09:58:44 | 显示全部楼层
to :【12楼】 steamed410 周炜

呵呵,别说什么收徒,根本谈不上,我自己也是业余瞎搞单片机的,有兴趣大家一起玩就是了
只要你确实自己肯动手做的,电调板和陀螺仪板都可以给你的
不过建议你不要在电调板上花更多精力了,M8做的I2C电调全套软硬件我已经调试差不多了
可以直接应用在4轴或其它航模上了,详细可以看这个帖子:
TWI总线无刷电调PCB板

更专业的AT90PWM3无刷电调“ kingofkings 技术火腿(KoK)”在领导做
他是高人,大家只要跟着开源进程走就可以了
<font color=green>四轴飞行项目的第一个拆解部分: 无刷电机的驱动 (使用AT90PWM3芯片),请大家提供无刷电机型号
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-19 16:48

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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