加载中!
 
┋公 告 栏┋
加载中!
┋最新文章┋
加载中!
┋最新评论┋
加载中!
┋最新留言┋
加载中!
┋友情链接┋
┋博客登陆┋
加载中!
┋博客信息┋
加载中!



 
  激光动画/激光扫描传感器 

·sjx 发表于 2006-7-12 1:58:00

    最近被舞台那种激光所吸引那种艳丽动感的效果真是不可思议!于是网上搜索起来才明白那东西是由偏振镜和激光器通过控制板扫描出来的,记得有一次在一个日本电子爱好者主页上看到过类似的东西!好不容易找到了那个网站一看人家都已经制作的很完善了并且制作过程已经从日语改为英语了,呵呵这下可爽了得来全不费功夫~~~

    当然不可能完全拷贝别人的东西那还有什么意思!于是分析了制作难点和疑点,激光偏振镜是最大的难点了,然后精确定位比较难目前还没有好地解决方案......分析了偏振镜的工作原理后想起了继电器好像可以担当偏振镜后来试验了一下可行的但是行程和精度太差了所以DIY了一个仿继电器和扬声器的原理做的!偏振镜是由TA8250功放电路驱动的为了提高偏振镜的反映灵敏度所以电流调的很高大概3A多13V的所以散热用了风冷强制冷却!激光器本来想用50mW以上绿光的可是没有买到所以就用了5mW的红色激光器,在那么快的扫描过程明显不够用太暗了效果当然不行了......至于主控板还没有完成方案是有了S53+EEPROM+DAC当然为了提高精度和效果还是准备用ARM处理器的不过还没有学好呢,目前用双路的信号发生器控制XY偏振镜能显示出李沙育图形也挺好玩的,下一步就准备用数字信号控制扫描显示想要的图形~~~



这是部分视频:UploadFiles/2006-7/712866142.rar

                        UploadFiles/2006-7/712251662.rar

这是老外做的:

    试想一下当激光器通过XY轴的偏振镜进行扫描的时候反射回来的光线通过传感器捕捉不就是一个大范围的激光扫描器了吗?!大体过程是XY轴通过主控板指定到具体坐标这时候发射一束激光然后传感器接收反射信号进行时差计算不就得到位置距离了吗!呵呵如果有可能我将进行这一步的制作!

·阅读全文 | 回复(13) | 引用通告 | 编辑

  • 标签:激光扫描 传感器 
  • 圈子:机器人DIYer 
  •   Re:激光动画/激光扫描传感器

    ·访客OSJv40(游客)发表评论于2008-10-5 23:56:35

    访客OSJv40(游客)我是搞高速激光打印头制造的,可以交流,qq156736310

    ·个人主页 | 引用 | 返回 | 删除 | 回复

      Re:激光动画/激光扫描传感器

    ·wsdragon发表评论于2008-7-11 17:03:05

    wsdragon网上有一个朋友给了激光测距仪的算法,你可以搜一下,希望你早日成功
    DIY基于摄像头的激光测距仪 vc++
    void CTripodDlg::doMyImageProcessing(LPBITMAPINFOHEADER lpThisBitmapInfoHeader)
    {
    // doMyImageProcessing: This is where you'd write your own image processing code
    // Task: Read a pixel's grayscale value and process accordingly



    unsigned int W, H; // Width and Height of current frame [pixels]
    unsigned int row, col; // Pixel's row and col positions
    unsigned long i; // Dummy variable for row-column vector
    unsigned int max_row; // Row of the brightest pixel
    unsigned int max_col; // Column of the brightest pixel
    BYTE max_val = 0; // Value of the brightest pixel


    // Values used for calculating range from captured image data
    // these values are only for a specific camera and laser setup
    const double gain = 0.0024259348; // Gain Constant used for converting
    // pixel offset to angle in radians
    const double offset = -0.056514344; // Offset Constant
    const double h_cm = 5.842; // Distance between center of camera and laser
    double range; // Calculated range
    unsigned int pixels_from_center; // Brightest pixel location from center
    // not bottom of frame

    char str[80]; // To print message
    CDC *pDC; // Device context need to print messageRoboticFan


    W = lpThisBitmapInfoHeader->biWidth; // biWidth: number of columns
    H = lpThisBitmapInfoHeader->biHeight; // biHeight: number of rows

    for (row = 0; row < H; row++) {
    for (col = 0; col < W; col++) {


    // Recall each pixel is composed of 3 bytes
    i = (unsigned long)(row*3*W + 3*col);

    // If the current pixel value is greater than any other, it is the new max pixel
    if (*(m_destinationBmp + i) >= max_val)
    {
    max_val = *(m_destinationBmp + i);
    max_row = row;
    max_col = col;
    }


    }
    }
    // After each frame, reset max pixel value to zero
    max_val = 0;


    for (row = 0; row < H; row++) {
    for (col = 0; col < W; col++) {


    i = (unsigned long)(row*3*W + 3*col);

    // Draw a white cross-hair over brightest pixel in the output display
    if ((row == max_row) || (col == max_col))
    *(m_destinationBmp + i) =
    *(m_destinationBmp + i + 1) =
    *(m_destinationBmp + i + 2) = 255;


    }
    }


    // Calculate distance of brightest pixel from center rather than bottom of frame
    pixels_from_center = 120 - max_row;


    // Calculate range in cm based on bright pixel location, and setup specific constants
    range = h_cm / tan(pixels_from_center * gain + offset);


    // To print message at (row, column) = (75, 580)
    pDC = GetDC();


    // Display frame coordinates as well as calculated range
    sprintf(str, "Max Value at x= %u, y= %u, range= %f cm ",max_col, max_row, range);
    pDC->TextOut(75, 580, str);
    ReleaseDC(pDC);
    }

    ·个人主页 | 引用 | 返回 | 删除 | 回复

      Re:激光动画/激光扫描传感器

    ·yyhp发表评论于2007-4-22 11:16:59

    yyhp強烈感興趣,可以给我一点资料吗?謝謝!huangpuhp@163.com

    ·个人主页 | 引用 | 返回 | 删除 | 回复

      Re:激光动画/激光扫描传感器

    ·tuxm999(游客)发表评论于2006-10-24 23:50:51

    tuxm999(游客)偏振镜的质量应该越小越好,我看楼主的偏振镜好象太苯重了,我认为做成动圈式的比较好,高频特性好。

    ·个人主页 | 引用 | 返回 | 删除 | 回复

      Re:激光动画/激光扫描传感器

    ·yy(游客)发表评论于2006-7-18 19:01:54

    yy(游客)

    不好意思!这两天忙了点没空上网.

    看了你的视频做的热很好啊!偏振镜是由TA8250功放电路驱动?功放部份输入的是什么信号?你的偏振镜做成像继电器的一种形式?可否介绍个网页?

    等待!

    谢谢!

    ·个人主页 | 引用 | 返回 | 删除 | 回复

      Re:激光动画/激光扫描传感器

    ·sjx发表评论于2006-7-16 21:12:55

    sjx偏振镜就是通过改变反射镜面的角度从而进行扫描,主控板差不多都做完了试了一下发现振镜不行....图形变形很严重看来必须有反馈装置才行了,我在改善中呢

    ·个人主页 | 引用 | 返回 | 删除 | 回复

      Re:激光动画/激光扫描传感器

    ·yy(游客)发表评论于2006-7-16 12:32:51

    yy(游客)

    强啊!我对这个也有兴.特别是偏振镜的工作原理这一部份.可以给我一点资料吗?EM:yangwinan@yeah.net谢谢!

    ·个人主页 | 引用 | 返回 | 删除 | 回复

    发表评论:
    加载中!
     
     
    Powered by Oblog.