GMRCBASiC-IDE 가 맷돌-통합개발환경 과 맷돌C 언어(한국형C/한글C)로 새롭게 만들어졌음.

 

맷돌-통합개발환경에 통합(내장) 돼 있으며 향후 이 방식으로만 지원됨.

맷돌-통합개발환경 { 메뉴: GVMS(PC) -> GMRCBASiC-IDE } 로 바로 실행 가능(실행방법).

  

1) G.M.RC.BASiC 의 영점설정, 주기설정, 시작 각도/속도 설정 등 제어에 필요한 기본 설정 수행.

 

2) 간단한 인터프리터 방식의 프로그램기능을 지원하여 G.M.RC.BASiC 이 사용된 기구/로봇 등의 동작 검증 및 제어용 프로그램 작성.

   검증 기능 지원으로 인터프리터 방식 프로그램 작성시 오류 검증 용이.

   인터프리터용 프로그램 문서(*.gmrcbasic)지원.

 

3) G.M.RC.BASiC 제어기 내부 설정값은 설정문서(*.gmrcconfig)로 저장/복구 가능.

 

4) 각 제어부품에 풍선도움말 지원으로 쉽게 배워 사용 가능.

 

5) 기존 GMRCBASiC-IDE 와 100% 호환되며 설정문서(*.gmrcconfig), 인터프리터 문서(*.gmrcbasic) 모두 서로 교환 사용 가능.

 

6) 각도/속도 등 제어부품에 인터프리터 동작시 상태가 실시간 반영되어 시각적 동작 상태 확인.

          

      

 

 

 

 

 

 

 

 

       

제어기 번호(DID) 설정.

 

G.M.RC.BASiC 은 DID[0:5] 의 6 비트 핀을 가지고 있는데 이를 이용하여 제어기 번호(DID) 설정.

 

0- 63 까지 64 개 입력가능하며 이 번호는 직렬통신선 상에서 각각의 제어기를 구분하는 고유번호. 전체 호출의 경우는 예외로 255(0xff) 를 사용.   

      

   

8 개 서보 각각의 속도 설정.

 

0(고속) - 255(저속) 사이의 값 사용.

      

(읽) : 현재 설정을 읽어 들여 표시.

(쓰) : 현재 속도 값을 G.M.RC.BASiC 에 설정.

     

    

8 개 서보 각각의 각도 설정.

 

0 - 180 사이의 값 사용.

 

정확한 각도 구동을 위하여 반드시 각 서보의 영점을 조정해 함.

영점 조정/설정 참고.

 

각도는 직접 입력하는 방법 이외에 입력 창 아래 해당 줄이동자를 움직여 바로 설정 가능함. 이 기능은 기구/로봇 등의 움직임을 프로그램 작성 없이 즉시 확인가능하여 개발시 편리.

     

(읽) : 현재 설정을 읽어 들여 표시.

(쓰) : 현재 각도 값을 G.M.RC.BASiC 에 설정.

    

  

PWM 출력 핀을 개별적 ON/OFF 설정.

 

G.M.RC.BASiC 내부 EEprom 에 저장 되는 값으로 재기동 시에 다시 반영.

 

실제 서보가 연결된 핀만 PWM 을 출력하여 연결 돼있지 않은 핀에서 발생하는 PWM 으로 인한 잡음방지를 위한것.

 

개발환경 상에서 로봇이나 기구의 동작을 확인시, 서보가 연결돼 있으나 동력을 풀어 주어야 할 필요가 있는 경우(손으로 그냥 동작 시킨다 던지 다른 서보의 동작으로 피동적으로 움직여야 하는 경우)에 해당 서보의 PWM 을 OFF 로 설정하면 각 서보를 연결했다 해제했다 하는 번거로움 제거.

     

(읽) : 현재 설정을 읽어 들여 표시.

(쓰) : 현재 PWM ON/OFF 값을 G.M.RC.BASiC 에 설정.

   

    

각 서보를 아날로그방식/디지탈방식 으로 설정.

 

G.M.RC.BASiC 내부 EEprom 에 저장 되는 값으로 재기동시 다시 반영.

 

아날로그 방식은 PWM 이 계속 출력되고, 디지탈 방식은 각도 변화시에만 해당 각도에 해당하는 펄스 한개씩만 출력.

 

실제 사용시 아날로그 서보는 반드시 A(아날로그) 로 설정하고, 디지탈 서보의 경우는 A(아날로그)/D(디지탈) 방식중 아무것이나 사용 가능(일반적으로 A 로 설정하면 둘다 혼합 사용 가능. 단 이 경우는 주기를 12-15ms 로 설정하기 바람).

 

디지탈 서보를 D(디지탈 방식)로 설정한 경우는 반드시 해당 서보 내부의 페일세이프(Fail Safe) 기능을 꺼 주어야 함(해당 서보 매뉴얼 참고). 그렇지 않은 경우 각도 결정 후 다시 페일세이프 각도로 이동하게 됨(RC 서보 제조사마다 다름).

          

(읽) : 현재 설정을 읽어 들여 표시.

(쓰) : 현재 A/D 값을 G.M.RC.BASiC 에 설정.

      

        

     

선택된 서보의 영점 설정.

 

G.M.RC.BASiC 내부 EEprom 에 저장 되는 값으로 재기동 시에 다시 반영.

   

영점은 각도 측정용 엔코더가 없는 아날로그/디지탈 서보를 엔코더가 있는 서보처럼 0 - 180 도 까지 1 도 단위로 정밀하게 제어하기 위한것. 정확한 각도 조정은 보행형 로봇/기구 등의 보다 정밀한 수치제어에 반드시 필요.

 

RC서보를 G.M.RC.BASiC 에 연결한 상태이고 국내 하이텍사의 서보(일반적)를 대상으로 설명.

각도기 등을 사용하여 정밀하게 각도를 만들 수 있게 준비하면 좋습니다.

 

1) 맨 위의 번호로 설정할 서보 지정.

   

2) 0 도 위치 설정.

 - 0도 선택(서보가 현재 0도 위치로 이동함).

 - 수평줄이동자를 왼쪽으로 움직여 서보를 정확하게 0 도 위치로 이동(해당 영점값 표시됨).

 - (쓰) 버튼을 눌러 G.M.RC.BASiC  에 0 도 위치로 설정.

   

3) 180 도 위치 설정.

 - 180도 선택(서보가 현재 180도 위치로 이동함).

 - 수평줄이동자를 오른쪽으로 움직여 서보를 정확하게 180 도 위치로 이동(해당 영점값 표시됨).

 - (쓰) 버튼을 눌러 G.M.RC.BASiC 에 180 도 위치로 설정.

   

4) 선택된 서보의 영점 설정 완료.

   이제 이 서보는 0 - 180 도로 1 도 단위로 정밀하게 제어가능 상태.

   단, 아날로그 서보는 각도 변경이 비선형적일수 있음.

   보다 정밀하게 RC 서보를 제어하려면 맷돌28호(G.MTDL.A.RC28)를 사용하기 바람.

   

5) 다른 서보도 1) - 3) 의 순서로 영점 설정.

  

(읽) : 현재 선택 서보의 각 영점값을 읽어 들여 표시.

  

부가적으로 듀티(펄스수)를 사용한 서보제어 시에 이 줄이동자를 사용하여 해당 위치의 듀티(펄스수)를 직접 확인할수 있음. 이 경우 1 도 단위 이하로 보다 세밀하게 제어가능하나 각 서보에 따라 각도에 해당하는 펄스 값이 전부 다를 수 있으며 이는 서보 자체가 일정하지 않아서 발생하는 문제임.

     

   

G.M.RC.BASiC 이 출력하는 PWM 주기(ms 단위) 설정.

 

G.M.RC.BASiC 내부 EEprom 에 저장 되는 값으로 재기동 시에 반영.

   

10 - 22ms 사이의 값을 사용 가능하며 기본값은 모든 RC 서보의 기본인 20ms 임.

   

10ms 이하로 설정하거나 22ms 이상으로 설정하는 경우는 서보가 제대로 동작하지 않을 수 있음.

 

10ms 쪽으로 주기가 빨라지면 서보의 각도보정시간주기가 빨라지므로 보다 토크가 증가하는 효과(서보가 단단해짐)가 있으며 반대의 경우는 토크는 감소하나 완충성이 좋아지는 부가적 효과가 있음.

 

설정 주기 값을 왼쪽 창에 입력한 뒤 (쓰) 버튼을 누르면 해당 주기로 즉시 반영/설정.

  

(읽) : 현재 설정을 읽어 들여 표시.

(쓰) : 현재 주기 값을 G.M.RC.BASiC 에 설정.

     

        

현재 G.M.RC.BASiC 안 EEprom 의 모든 설정 내용을 읽어 들여 개발환경 내부 임시저장소에 저장후 관련 그림부품에 반영.

이는 재기동시 적용되는 설정값.

  

 

현재 개발환경 안의 임시저장소에 있는 설정 내용을 G.M.RC.BASiC내부 EEprom 에 기록(재기동시 반영됨).

 

설정문서(*.gmrcconfig)로 G.M.RC.BASiC 을 재설정할때 사용.

 

 

 

설정문서(*.gmrcconfig)를 열고 설정내용을 개발환경 안의 임시저장소에 저장.

 

 

제어기 설정읽기로 읽어 들여 개발환경 안의 임시저장소에 저장돼 있는 설정정보를 설정문서(*.gmrcconfig)로 저장.

 

 

 

PWM ON/OF 출력 설정을 다시 반영하여 PWM 을 다시 출력.

 

EEprom 에 설정되지 않으며 PWM 출력 정지 버튼으로 일시 출력이중단된 PWM 을 다시 출력시킴.

 

 

 

PWM 출력 전부 중단(모든 출력핀에 LOW(0) 가 출력).

 

EEprom 에 설정되지 않으며 일시적으로 연결된 모든 서보의 기동을 중지하거나 서보를 풀어주어야 하는 경우 사용.

 

단, 이 기능은 아날로그 서보에만 효과있음.

 

 

 

G.M.RC.BASiC 재기동.

 

      

            

 

GMRCBASiC-IDE 의 가장 중요한 기능인 인터프리터 프로그램 기능을 지원하기 위한 편집기.

 

어렵고 복잡한 MCU 등 없이 GMRCBASiC-IDE 상에서 간단한 인터프리터 명령어를 사용하여 프로그램을 작성하고 G.M.RC.BASiC 을 제어하여 즉시 RC 서보를 자유롭게 동작 시켜볼수 있음.

 

인터프리터 구동시 각도/속도 등 기본 정보는 실시간으로 제어판의 각도/속도 관련 그림부품에 반영되어 시각적인 검증 효과 제공.

 

검증 기능 지원으로 기구/로봇 등을 개발시 MCU 등으로 직접 제어하기전 동작확인 및 기본 프로그램 구상용으로 적합.

 

교육적인 용도로 초/중/고 학생들의 기구/로봇 기초 프로그램 제어 학습에 유용.

 

1) 인터프리터 프로그램을 위한 명령표 내장(프로그램 작성시 선언형 등 즉시 참고 가능).

 

2) 기본 예제 내장.

 

3) 인터프리터 프로그램 문서(*.gmrcbasic) 를 자동 인식하여 관련 검증기능 활성화.

 

4) 검증을 위한 정지점, 지정행 등 고급 기능 지원.

 

5) 되돌리기/되살리기 기능 거의 무제한 지원(편집시 자유로운 수정 보장).

   맷돌-통합개발환경의 편집기를 거의 그대로 사용한 것으로 세로줄, 선택영역 수평이동, 마우스로 문서 수직탐색 등 강력한 기능 지원.

 

6) 색동문자(명령어, 주석문, 16진수, 2진수, 지시어 등) 지원으로 프로그램 작성시 식별성 용이.

 

7) 색동문자색, 정지점색, 지정자색, 배경밝기, 배경그림 등 설정을 마음대로 변경 가능.

   설정용 예시문서가 자동으로 나와 설정시 즉시 결과를 확인가능.

 

8) 제어판과 별도로 분리돼있어 노트북, 넷북 등 해상도가 낮은 PC 에서도 전체화면으로 사용 가능.

   제어판에 항상 붙어다니게 할지 독립적으로 사용할지 설정할수 있음.

 

9) G.M.RC.BASiC 내부 EEprom 에 참고용 문자열(450 바이트)을 기록하거나 불러들여 표시.

   (읽) : G.M.RC.BASiC 내부 EEprom 안의 문자열을 읽어들여 편집기에 새문서를 열어 표시.

   (쓰) : 현재 편집중인 문자열을 G.M.RC.BASiC 내부 EEprom 에 기록.

 

G.M.RC.BASiC 내부 EEprom 에 기록되는 문자열은 인터프리터 프로그램 기능과 무관하며 문자열 형태의 부가 정보 기록용으로 서보종류, 제원, 설정 정보, 버전 정보를 비롯하여 개발자 이름, 날짜, 시간, 실험실 번호, 적용 로봇 관절 부위 이름등 G.M.RC.BASiC 과 관련된 부분에 대한 정보를 기록하는데 사용.

  

기구/로봇 등을 개발 하다 보면 자질구레한 정보/기록(적용된 관절 번호, 기본 설정 정보 등)을 관리해야 하는데 메모 등은 분실할 수 있으므로 G.M.RC.BASiC 내부 EEprom 에 기록해 놓고 쉽게 확인할수 있도록 하기 위한것.

    

     

버튼을 누르고 있는 동안 등록된 인터프리터 프로그램 문서(*.gmrcbasic) 실행.

 

등록된 문서는 자동으로 편집기에 열어주며 실행시 정지점 의 영향을 받음.

  

 

해당 버튼에 인터프리터 프로그램 문서(*.gmrcbasic) 등록.

 

 

 

해당 버튼에 등록된 인터프리터 프로그램 문서(*.gmrcbasic) 해제.

 

 

 

현재 편집중인 프로그램을 실행.

 

한번 누르면 프로그램이 계속 실행되고 다시 누르면 정지(그림의 모양이 변경됨).

정지점 의 영향을 받음.

 

 

 

버튼을 누를 때 마다 한 개 행만 실행(행 단위 실행).

 

정지점 의 영향을 받지 않음.

 

 

 

자동으로 한 행씩 계속 실행(자동행).

 

한번 누르면 행 단위로 자동 실행되고 다시 누르면 정지(그림의 모양이 변경됨).

정지점 의 영향을 받지 않음(이전 개발환경에서는 정지점의 영향을 받았음).

 

 

프로그램의 처음 명령행 위치로 이동.

 

      

이전 개발환경과 달리 새로운 GMRCBASiC-IDE 는 별도의 대화상자 없이 직관적인 항목으로 바로 설정가능.

 

해당 설정 항목을 가선택하면 설정을 위한 예시문서가 자동으로 보여지며 설정시 반영된 모습을 바로 확인할수 있음.

 

편집기의 여러 색동문자색을 설정할수 있고 배경밝기, 배경그림을 교체 가능함.

 

기본설정으로전환 을 선택시에는 모든 사용자 설정을 무시하고 기본 설정으로 즉시 전환.

 

모든 설정은 다음 GMRCBASiC-IDE 실행시에도 다시 반영됨.