• RainbowSoft Studio Z-Blog
  • RainbowSoft Studio Z-Blog
  • 本站支持WAP访问
  • 订阅本站的 RSS 2.0 新闻聚合
博主:虎子哥
电子邮件:flashindream[AT]gmail[DOT]com
略懂Flash的天文爱好者

天荒坪测试之旅

Post by indream, 2010-8-16, Views:

在天荒坪的三个夜晚测试自动导星,天气很理想,测试结果不理想.拍出的照片很多都有拉线,暗场也懒得拍.3天测试发现很多问题,整个系统的改善现在也有了目标

火焰星云&马头星云

礁湖星云&三叶星云

Ω星云

哑铃星云

猎户座大星云

昴星团

双星团

Tags: ARM  LXD75  自动导星  天荒坪 

导星程序继续优化

Post by indream, 2010-8-5, Views:

继续调整控制部分的代码,星点终于接近正圆了.

相机:canon 300D
主镜:80ED/560mm@iso100
导星镜:f=200mm@F3.3
曝光时间:600秒

中央100%:

缩略图:

 

Tags: ARM  LXD75  自动导星 

结果不太理想

Post by indream, 2010-8-1, Views:

图像插值走了不少弯路,虽然昨天就正确获得了插值后的图像(将8x8插值到44x44大小进行星点定位),导星的结果还是有较大拖线.今天反复调整控制命令,最后还是使用bang-bang控制获取到下图的结果.RA轴仍旧有拖线,实际是修正的来回摆动.

赤道仪:LXD75
控制器:Autostar
主镜:80ED/F7
导星镜:200mm/F3.3
曝光时间:600秒@ISO100(图像中部100%截取)

Tags: ARM  LXD75  自动导星 

ARM导星系统摆拍

Post by indream, 2010-6-10, Views:

嘿嘿

Tags: 自动导星  ARM 

ARM导星系统开发笔记(二)

Post by indream, 2010-6-6, Views:

今天给系统加入了串口通讯,可以发送字符指令控制Autostar。从Usart出来的电平需要先转换成TTL电平再能跟PC串口通讯。折腾大半天,终于搞定Autostar的连接线,实现整个回馈系统。

void USART_GPIO_Init(void){
  GPIO_InitTypeDef GPIO_InitStructure;
  RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO|RCC_APB2Periph_USART1 ,ENABLE);
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  //推挽输出-TX
  GPIO_Init(GPIOA, &GPIO_InitStructure);
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; //浮空输入-RX
  GPIO_Init(GPIOA, &GPIO_InitStructure);
  USART_Configuration();
}
void USART_Configuration(void){
   USART_InitTypeDef USART_InitStructure;
   USART_ClockInitTypeDef USART_ClockInitStructure;
   USART_StructInit(&USART_InitStructure);
   USART_ClockStructInit (&USART_ClockInitStructure);
   USART_ClockInit(USART1, &USART_ClockInitStructure);
   USART_Init(USART1, &USART_InitStructure);
   USART_Cmd(USART1, ENABLE);
}
void USART1_Puts(char * str)
{
    while(*str)
    {
        USART_SendData(USART1, *str++);
       while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);
    }
}
Tags: 自动导星  ARM 

ARM导星系统开发笔记(一)

Post by indream, 2010-6-4, Views:

GetLightZone函数主要实现获取整个屏幕最亮的区域(通过按键中断调用), GetPixelPos函数在图像刷新之后获取锁定亮区域的星点中心坐标.

void GetLightZone(void){
  int i=0,j=0,ii=0,jj=0;
  long totalLight=0,maxLight=0,pixel=0;
 
  for(i=0;i<24;i++){
    for(j=0;j<32;j++){
        totalLight = 0;
        for(ii=0;ii<10;ii++){
            for(jj=0;jj<10;jj++){
                                pixel=GetLight(LCD_RD_PIXEL(i*10+ii,j*10+jj));
                totalLight+=pixel;
            }
        }
        if(totalLight>maxLight){
            maxLight=totalLight*1;
            posBlock[0] = (int)(i/3)*w;
            posBlock[1] = (int)(j/3)*w;
        }
    }
  }
}
void GetPixelPos(void){
  unsigned int  i=0,j=0,w2=w/2;
  unsigned long maxI = 0,maxJ=0,tempI=0,tempJ=0;
  for(i=0;i<w;i++){
    tempI = 0;
    tempJ = 0;
    for(j=0;j<w;j++){
        tempJ+=GetLight(LCD_RD_PIXEL(posBlock[0]+i,posBlock[1]+j));
        tempI+=GetLight(LCD_RD_PIXEL(posBlock[0]+j,posBlock[1]+i));
    }
    if(maxJ<tempJ){
        maxJ = tempJ;
        centerX=posBlock[0]+i;
    }
    if(maxI<tempI){
        maxI = tempI;
        centerY=posBlock[1]+i;
    }
  }
  posBlock[0]=centerX-w2;
  if(centerX<w2){
      posBlock[0]=0;
  }
  if(centerX>224){
      posBlock[0]=209;
  }
  posBlock[1]=centerY-w2;
  if(centerY<w2){
      posBlock[1]=0;
  }
  if(centerY>304){
      posBlock[1]=289;
  }
}

 这是用70mmF5抓取的星点,天蝎座某星

Tags: 自动导星  ARM 

开发基于ARM(CORTEX M3)自动导星系统

Post by indream, 2010-6-3, Views:

上周买了一块基于stm32的camera开发板,花了一周时间学习ARM.在多个嵌入式高手的帮助指导下,终于在昨晚理解了整个系统,今天终于实现了图像数据的采集功能.

图像采集的大问题已基本解决,接下来就是要开发通讯协议控制goto或者通过PWM控制电机驱动.哈哈

Tags: 自动导星  ARM 

基于Python for S60的自动导星程序(四)

Post by indream, 2010-3-10, Views:

今天又用手机导星系统拍了10几张照片,只有两张尚可,这两张均为天狼星作导星,用猎户座episode星(1.7等)做导星基本上有不规则运动.
除了导星的亮度问题还有一个是机械问题,好几次是因为相机在球台上滑动了位置,另外一个问题是程序自动关闭,初步判断是电量变化提醒造成的

600秒,镜头焦距210mm@f22,iso100

M41,600秒,镜头焦距210mm@f22,iso100


手机导星工作照

正面

Tags: PyS60  图像处理  自动导星 

基于Python for S60的自动导星程序(三)

Post by indream, 2010-3-9, Views:

很久没有在南方的三月份看见下雪了,这次冷空气也带来了久违的晴天.下班回家后就开始把flash版的自动导星程序移植到python,没花多少时间把程序调试运行在手机上.
终于到了实际拍摄验证效果的时刻.目标依旧是天狼星
依次拍了60秒(F8),180秒(F22),900秒(F22),ISO均是100,镜头焦距135mm,机身EOS 300D,手机N6120C,赤道仪LXD75(朝南卧室,没有对极轴,仅通过指南针估计一下方向)

图像均为RAW转JPG,100%裁切


60秒


180秒


900秒

最后一张是手机在第一次拍900秒到一半的时候,程序自动退出

Tags: PyS60  图像处理  自动导星 

基于Python for S60的自动导星程序(二)

Post by indream, 2010-3-6, Views:

手机键盘在使用viewfinder的时候不能用keyEvent检测,从pycamera的例子找到利用viewfinder.getEvents()方法获取键盘按下事件的检测

for ev in viewfinder.getEvents():
                keyHandleEvent(ev)

星点中心的判断,是通过灰度最大值来确定高亮区的中心位置,程序如下

            maxY=0
            posx = 0;
            posy = 0;
            p255 = math.pow(255,5)
            for i in xrange(0,aCols):
                line=0
                for j in xrange(0,aRows):
                    (r,g,b) = Image.GetPixel(i,j)
                    gy=(r * 0.30 + g * 0.59 + b * 0.11);
                    line+=math.pow(gy,6)/p255
                if maxY<line:
                    maxY = line
                    posx = i
            maxX=0
            for i in xrange(0,aRows):
                line=0
                for j in xrange(0,aCols):
                    (r,g,b) = Image.GetPixel(j,i)
                    gy=(r * 0.30 + g * 0.59 + b * 0.11);
                    line+=math.pow(gy,6)/p255
                if maxX<line:
                    maxX = line
                    posy = i
Tags: PyS60  自动导星 
  • 最新评论
  • 最新留言
  • 热门标签

Friend Connect

Statistics