본문 바로가기

Lab.

110812 진행사항1 (진동,신호주기) 지난번 진행사항이 스폰지 까지였나?.... 500원짜리 스폰지를 사다가 적당한 크기로 잘라 붙였다. 자르는게 문제였지 글루건으로도 붙었고 약간 스폰지 같이 두꺼운 양면 테이프로도 잘 붙었다. 그래서 스폰지로 고정을 시켜놓고 동작을 시켜보니 이건 정말 다른 센서라고 싶을 정도로 노이즈가 줄었고 고주파 진동으로 인한 자이로의 오차도 없어졌다. 모터를 돌려도 이제야 기울기가 제대로 출력된다고 할까? 그렇게 하여 실험을 해보았다. PID 제어.... PID 제어시에는 일단 P 제어로 수렴을 확인하고 D 제어로 오버슈트와 수렴시간을 획기적으로 줄이고 I 값을 통해 오차를 보정한다는 식인데..... 일단 내 상황에서는 P제어 자체가 되질 않았다. 그럼에도 D 제어값을 약간이라도 주면 상당히 빨리 수렴하였다. (수렴.. 더보기
20110802 P제어 테스트 그냥 myARS 센서 가지고서는 안될꺼 같아서 P 제어를 시도해 봤다. 계산 주기는 20ms..... 모터드라이버 제어주기 20ms.... 계산주기를 10ms 로 변경하여도 아무리 테스트를 해도 영 아니다 싶은 결과가 나왔다. 쿼드콥터 카페에 들어가서 그 이유를 간접적으로 알아낼수 있었다. 주로 센서부의 값 갱신주기로 계산주기를 삼더군..... (어쩐지...ㅠㅠ) 그래서 오늘은 myARS 에서 나오는 외부인터럽트를 이용하여 P 제어를 테스트 해보려 한다. 그리고 진동에 너무 취약한거 같다는 생각이 들었다. 기울기를 손으로 고정하고 있어도 약 1~2도 정도의 오차가 생기고 심지어 5도 이상 오차가 생기기도 하는걸 확인할수 있었다. ( 나름 정확하다고 생각했었는데.... 고징시켜놓으니 꼭 그렇지도 않았다.).. 더보기
1축 구조물 1차 테스트 테스트 라고 하기도 조금 민망한 1차 테스트를 마쳤다. 쿼드콥터 1축 구조물 제작은 앵글과 합판으로 만듬 합판을 나사로 조여서 그런지 들었다 놨다 할때마다 축이 틀어지는 현상이 조금씩 일어나긴 하지..... 나름 튼튼함!!!! 위의 사진의 모습은 예전사진이고 지금은 축 위에 myARS-USB를 글루건으로 고정시켰음..... 그리고 모터드라이버에서 나오는 선들도 중간 몸통에 글루건으로 고정시키고 연장선을 만들어놨음... (나름 깔끔히 한다고 전선으로 4줄땋기를 인터넷에서 찾아서 땋아놨더니 깔끔하니 좋긴 하네~ㅋㅋㅋ) 사진은 다음에 찍으면 올려야겠네..... 일단 첫 모터 테스트는 가변저항 2개를 이용하여 했다. 왼쪽 가변저항은 추력을.... 오른쪽 가변저항은 컨트롤을 하는 식으로 해서 수동조작시 얼마나 조.. 더보기
Lab View 로 Serial 통신 받기 쿼드콥터를 만들면서 roll 값과 pitch 값을 모니터링 하는 방법에 대해 생각하던중 지난번 대학원 형이 쓰던 LabView 라는 프로그램을 쓰면 좋을꺼 같았다. (지난번작업때는 Daq를 이용하여 ADC 값을 이용하여 그래프를 그렸었음) 그러면 값의 면화를 그래프로 바로 이해할수 있으니.... 그래서 LabView를 이용하여 시리얼 값을 읽고 그래프로 그리는 작업을 해보자!!! 일단 내가 참고한 자료는 NI 사 홈페이지에서 얻었으며 작업환경은 Labview 2009 체험판이다. http://digital.ni.com/worldwide/korea.nsf/web/all/16C1288466DAEE8C86256FFC002750E3?OpenDocument&node=165080_ko 위의 링크가 안들어가지면 ni.. 더보기
myARS-USB I2C 통신 obot 사의 myARS-USB 이다. 3축 가속도 센서와 2축 자이로 센서를 이용하여 실제 pitch , yow 값을 출력하여 주는 ARS(Attitude Reference System) 이다. 처음에 포장이 참 인상 깊었던 센서...... SMD 부품케이스를 이런식으로 사용할수 있을 줄이야..... 내가산 센서중 가장 비싼 센서이지만...... 그만큼 정성이 느껴졌기에 가장 기분좋게 받아봤던(기대감도 컸었음) 센서중 하나.... 그 크기가 50원 동전위에 올라갈정도이니 그 크기를 알 수 있다. 지금은 쿼드콥터에 사용하기 위해 테스트중.... 학기중에는 딱히 작업할 시간이 없었으니까..... 그리고 학기중 간간히 나를 I2C로 좌절시킨 녀석이기도 하다.. 그리하여 드디어 myARS-USB를 I2C로 정.. 더보기
쿼드콥터 올해초부터 만들기 시작한 쿼드콥터.... 만들기는 금방 만들기는 했지만...... 이제 개조를 시작할 차례..... 날려봤는데.... 날리다가 프로펠러 2개 날라가고...... 프레임은 휘고...... 모터도 축이 약간 느슨해져 다시 뜯어서 수정하고 교체하고....... 처음 실험실에서 앉아서 프로펠러 달고 날리다가 뒤집어졌는데................ 이거 인명사고가 심각하게 우려됨....ㅠㅠ 뭔가 보안대책이 필요함.... 개조는... 3축 자이로 센서를..... myARS 센서로 바꾸고 GPS를 달고 지자기 센서를 달아서 블루투스나 지그비 통신을 이용하여 컴퓨터로 컨트롤되는(아니면 핸드폰도 좋고~~) 무인항공기가 목적!!!! 일단은 myARS 센서가 문제로구먼.... 더보기
I2C GPIO #include #include #include unsigned char ucNack=0; unsigned char ucHibyte=0; unsigned char ucLobyte=0; unsigned char lo_byte=0; unsigned char hi_byte=0; void nops(unsigned char num) { unsigned char i; for(i=0 ; i 더보기
UART1 으로 GPS data 받기 대~~충... 코드생성기로 만든 코드..... 일단 중요한건 GPS 가 아니기 때문에........ GPS 가 작동되는지만 확인할겸 대~충 만든 코드...... 커넥터에 약간의 문제가 있는듯 하긴 한데........ 다음으로는 ARS 를 I2C 로 데이터를 받아오는건가???? 넘어갈수 있는건 빨랑빨랑 하고 넘어가자!!!!!! (인터넷에서 파싱 코드를 줏어와야하는건가??) #include #ifndef RXB8 #define RXB8 1 #endif #ifndef TXB8 #define TXB8 0 #endif #ifndef UPE #define UPE 2 #endif #ifndef DOR #define DOR 3 #endif #ifndef FE #define FE 4 #endif #ifndef UDRE .. 더보기
변속기를 통한 BLDC 모터구동 변속기에 MCU의 PA0를 연결하고 PF0를 통하여 전원분배를 통한 전압값을 읽고 전압값에 비례하여 모터드라이버 제어신호를 출력하는 회로도와 코드입니다. 모터드라이버의 경우 일반적으로 1ms~ 2ms 의 High 값을 통하여 모터의 RPM 을 제어하는듯 합니다. (물론 변속기 마다 다르긴 하겠죠....) void main(void){ int i=0; unsigned int adc=0; //ADC SETTING PORTF=0x00; DDRF=0x00; ADMUX |= (0 더보기
사용되는 신호의 종류 (수신기, 변속기) 셈플로 제공된 MCU 에서 출력되는 MUC를 기준으로 측정하였기 때문에 변속기의 특성과는 차이가 있을 수 있음. 수신기에서 나오는 PWM신호 1ms ~ 2ms의 하이레벨 신호 신호의 주기 20ms MCU에서 변속기로 입력되는 신호 1ms ~ 2ms의 하이레벨 신호 신호의 주기 약 5ms 다음진행사항 앵글을 이용하여 테스트 프레임 제작 ARS 센서와 모터2개를 이용한 중시잡기 직접 코딩한 코드로 데이터 수신 및 모터 구동프로그램 만들기 구현목표! myARS-USB 를 이용하여 roll, Pitch 를 구하여 쿼드콥터 스스로 자세를 교정하는 기능 펌프를 이용하여 농약을 살포하는 기능 초음파 센서를 이용한 고도측정 기능 지자기 센서를 이용한 방향측정 기능 GPS 를 이용하여 현재 위치를 감지하여 컴퓨터에 맵에.. 더보기