ahjjt 发表于 2010-5-5 18:13:25

用mega128读光栅尺位移量1602显示(包含程序)

放假几天比较闲,见手头有光栅尺,跟编码器,想用来测位移跟角度,找来以前玩的mega128带1602的板子,花了几天功夫终于弄出来了,3年前工作上一直用的是89S52,这几年改行销售没在做技术了所有好多也忘了,AVR没怎么学过,就以前买来板子玩过几次,所有效率比较低,这么简单的程序花了近3天时间才搞出来的,程序也比较乱,有兴趣的兄弟可以将就着参考一下。
这是源程序,ICCAVR来做的。
点击此处下载 ourdev_551706.rar(文件大小:38K) (原文件名:读光栅尺1602液晶显示.rar)

下面上图
http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_551712.jpg
光栅尺 (原文件名:光栅尺1 复制.jpg)

http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_551713.jpg
光栅尺 (原文件名:光栅尺2 复制.jpg)

http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_551714.jpg
光栅尺与板子 (原文件名:光栅尺3 复制.jpg)

http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_551715.jpg
板子 (原文件名:光栅尺4 复制.jpg)

http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_551716.jpg
1602显示 (原文件名:光栅尺5 复制.jpg)

1181zjf 发表于 2010-5-5 18:23:05

更关心楼主改做销售比做技术怎么样!

ahjjt 发表于 2010-5-5 18:46:46

回复【1楼】1181zjf
更关心楼主改做销售比做技术怎么样!
-----------------------------------------------------------------------
做什么看每个人自己的选择吧,有的人喜欢跟人折腾,适合做销售,有的人喜欢安静点比较闷,适合做技术,我个人感觉做销售没做技术有意思,也没做技术轻松(变态老板天天通宵加班的除外),但是一般收入这块正常情况下销售比技术提升的更快些(有很强技术灰色收入多的除外)。

12fen 发表于 2010-5-5 22:42:18

不错

ahjjt 发表于 2010-5-6 07:46:14

回复【3楼】12fen 老齐
-----------------------------------------------------------------------
多谢!!!

n0831 发表于 2010-5-6 08:22:05

记号

Excellence 发表于 2010-5-6 08:24:13

不错。谢。

zhudaye 发表于 2010-5-6 17:03:59

回复【楼主位】ahjjt
-----------------------------------------------------------------------

楼主和我是老乡,你是按1微米分辨率做的吧。

liangwh311 发表于 2010-5-6 19:44:56

尺子看上来很熟悉,貌似在那里见过。这样计数有点浪费分辨率了。

ahjjt 发表于 2010-5-6 21:24:42

回复【8楼】liangwh311
尺子看上来很熟悉,貌似在那里见过。这样计数有点浪费分辨率了。
-----------------------------------------------------------------------
光栅尺外观大多都非常相似的,眼熟很正常哦,不知道分辨率浪费是怎么说法,没明白,望指教,这个尺子的分辨率也才4个um,厂家号称精度是<=7.5um,用来测一般位移还是足够了。

laoma 发表于 2010-5-7 00:21:55

这东西多少钱?想买2根,最好是进口的,就算是二手进口的也行

ahjjt 发表于 2010-5-7 09:08:27

回复【10楼】laoma 我要到日本去放烟火
这东西多少钱?想买2根,最好是进口的,就算是二手进口的也行
-----------------------------------------------------------------------
这东西进口的价格还是不便宜的,看测量范围了,长的比短的贵呀,500mm的一般都3000以上了,二手的也是不错的选择。

ahjjt 发表于 2010-5-7 12:15:39

回复【7楼】zhudaye
回复【楼主位】ahjjt
-----------------------------------------------------------------------
楼主和我是老乡,你是按1微米分辨率做的吧。
-----------------------------------------------------------------------
很有缘分呀老乡,这个尺子是4um的分辨率,不是1um的,呵呵,如果用分辨率1um的尺子只要把程序里面的一个脉冲+4改成一个脉冲+1就可以了

laoma 发表于 2010-5-7 23:35:22

如果是原装的,500mm的3K可不贵

ahjjt 发表于 2010-5-8 10:24:34

回复【13楼】laoma 我要到日本去放烟火
如果是原装的,500mm的3k可不贵
-----------------------------------------------------------------------
我说的是3K以上,不是一个准确的数字,因为之前我一个客户就买了几条意大利原装500mm的3.5K拿到的货,我也没问他从那里买的,参数不同数量不同商家不同价格区别不小的。

zhujunfeng0117 发表于 2011-3-9 22:36:14

顶!
你程序中,一个光栅尺只需要接一个外部中断,ATmega128有8个外部中断,除了两个跟串口1重复外,可用其它6个外部中断,通过串口可把六路位移信号传到上位机了。

用计数器呢?

zhujunfeng0117 发表于 2011-3-9 22:53:01

#pragma interrupt_handler ext_int0_isr:6
void ext_int0_isr(void)
{
if(!(PIND&0x02))
       {Ecounter=Ecounter+4;}
       else
       {Ecounter=Ecounter-4;}
}
PD1接的是光栅的什么东东?怎么计数的?

anyuan68 发表于 2011-4-17 20:55:43

好东西参考一下
页: [1]
查看完整版本: 用mega128读光栅尺位移量1602显示(包含程序)