[ROBOT]/AMORO2005. 7. 10. 13:59

[AmoroRobot]주행중 물체 검출 후 포획

[AmoroRobot]주행중 물체 검출 후 포획








Posted by nexp

댓글을 달아 주세요

[ROBOT]/AMORO2005. 7. 9. 13:36

[AmoroRobot] DC모터를 이용한 물체 들어 올리기

[AmoroRobot] DC모터를 이용한 물체 들어 올리기

Atmega128 AVR 로봇컨트롤러를 이용한 레고로봇  Amoro의 가장 기본 적인 동작인 물체 들어 올리기 테스트.






Lego Robot 물체 들기 동영상



기본 예제 소스



물체 들어 올리기 소스

Posted by nexp
TAG AMORO, Lego, Robot

댓글을 달아 주세요

[ROBOT]/Robot2005. 6. 2. 22:30

[RobotController] 스텝모터 가감속 제어 테스트 (AVR Robot Controller)

[RobotController] 스텝모터 가감속 제어 테스트 (AVR Robot Controller)

StepMotor Body(http://nexp.tistory.com/171) 조립후 스텝모터 가감속 제어 테스트를 했다.
스텝모터 가감속 테이블은 [스텝모터 가감속 테이블 생성기]를 이용했다.







스텝모터의 회전 속도는 스위칭 펄스의 주파수에 따라 결정되며 그림과 같은 특성을 가진다. 기동시 탈출 토크이상의 주파수로 구동하면 탈조가 된다. 따라서 기동시 낮은 주파수로 기동하여 점점 가속하여 정속 운전하고 정지시 점점 낮은 주파수로 기동하여 부드럽게 정지하는 가감속 구동법을 사용해야 한다. 로봇의 스텝모터는 기본적으로 가감속 구동을 하며 StmSetAcc()함수를 이용하여 기본 가감속, 등속, 사용자 정의 가감속을 설정할 수 있다. StmRun()함수는 스텝모터를 가감속 구동 방법으로 구동 하도록 한다.

엑셀을 이용하여 작성한 스텝모터 저속가감속 테이블 및 고속가감속 테이블의 그래프



소스코드



 

//=============================================================================

// Ez-RoboMaster Test Program - Step Test

//

// by nexp76@naver.com
// [.c]

//=============================================================================

/*

 - 사용자 정의 가감속 테이블 이용

 - 스위치1을 누르면 스텝모터를

 - 저속의 가감속 테이블을 이용하여 1000펄스동안 전진/후진 하고

 - 고속의 가감속 테이블을 이용하여 1000펄스동안 전진/후진 하고

*/

//Lib file head 추가

#include "c:\winavr\ezrobomaster\ezrmlib.h"

#include "step_table1.h"

#include "step_table2.h"

//이동할 거리 설정

#define DIST_MOVE                 3000

#define ROBOT_FORWARD           1

#define ROBOT_BACKWARD          2

void RobotMoveTo(unsigned char Status, unsigned int Distance);

void main(void)

{

        char flag = 0;

       

        //로보마스터 초기화

        SysInit();

        //스텝모터 초기화

        StmInit();

        //스텝모터의 최고 값 설정

        StmSetSpd(STEP_LEFT+STEP_RIGHT, 1160);

        StmSetAcc(STEP_LEFT+STEP_RIGHT, ACC_USER);

       

        LcdDspStr(0,0, "StepTest");

        LcdDspStr(0,1, "Press-SW1");

        while(1)

        {

                //스위치1이 눌러 지면..

                if(Sw1GetStat())

                {

                        //로봇 구동

                        flag = TRUE;

               

                        Delay(300);

                }

                if(flag)

                {                      

                        //저속 가감속 테이블 설정

                        StmSetAccTbl(m_TimeTable1, 500);

                        //로봇 구동 - 전진

                        RobotMoveTo(ROBOT_FORWARD, DIST_MOVE);

                        RobotMoveTo(ROBOT_BACKWARD, DIST_MOVE);

                        BzrTemp(100);

                       

                        //고속 가감속 테이블 설정

                        StmSetAccTbl(m_TimeTable2, 500);

                        //로봇 구동 - 후진

                        RobotMoveTo(ROBOT_FORWARD, DIST_MOVE);

                        RobotMoveTo(ROBOT_BACKWARD, DIST_MOVE);

                        BzrTemp(100);

                       

                        flag = FALSE;                    

                }       

        }

       

        return 0;

}

void RobotMoveTo(unsigned char Status, unsigned int Distance)

{

        switch(Status)

        {

                case ROBOT_FORWARD:

                        //스텝모터 방향 설정 -> 로봇 전진

                        StmSetDir(STEP_LEFT, DIR_CCW);

                        StmSetDir(STEP_RIGHT, DIR_CW);                    

                        break;

               

                case ROBOT_BACKWARD:

                        //스텝모터 방향 설정 -> 로봇 후진                    

                        StmSetDir(STEP_LEFT, DIR_CW);

                        StmSetDir(STEP_RIGHT, DIR_CCW);

                        break;

        }

        StmRunOutVol(STEP_LEFT+STEP_RIGHT, Distance );                      

}


 
Posted by nexp

댓글을 달아 주세요

  1. 박동천

    관리자의 승인을 기다리고 있는 댓글입니다

    2012.02.15 12:20 [ ADDR : EDIT/ DEL : REPLY ]

[ROBOT]/Robot2005. 6. 1. 21:08

[RobotController]용 레고 스텝모터 바디

[RobotController]용 레고 스텝모터 바디

레고를 이용하면 임베디 로봇 컨크롤러 (http://nexp.tistory.com/135) 를 이용하여 스텝모터 로봇바디를 쉽게 제작 할 수 있다.

정말 심플하고 저렴한 가격으로 로봇 바디를 제작 해 보았다.
임베디 로봇 컨크롤러는 2개의 스텝모터 컨트롤 및 드라이버를 제공하고 API함수까지 제공하므로 간단한 로봇 제작에 편리하게 사용될 수 있다.
->AVR Robot Controller를 이용한  스텝모터 테스트 동영상











Posted by nexp

댓글을 달아 주세요