[답변] 캔위성-아두이노 추가 질문 [ UART 통신, 추가 모터 달기 ]
페이지 정보
본문
1-1) 답변 : 예 ( 1층,2층,3층,4층 모두 같이 연결됩니다. )
1-2) 사전교육자료 151페이지 부분부터 잘 보시면,
- MUX 설정으로 받아들일 UART 부분을 설정하면,
- UART 쪽에서 데이터가 들어오면 PL_PORT 에 데이터가 쌓이게 되며. ( 내부통신 )
- 계속해서 hyTransUart() 를 호출하여 처리하고 있습니다.
- hyTransUart() 코드에서는
. PL_PORT 에 데이터가 있으면, Pl_Rx_QueueIn 에 데이터를 저장하고,
. Pl_Rx_Queue 에 데이터가 있으면 한 바이트를 읽어서
. 모드에 해당하는 수신 처리 루틴을 호출합니다.
( RxMode_CAMERA_SIZE 일 경우 hyCamera_Receive_Size(b) ) ==> 결과는 전역변수에
( RxMode_CAMERA_IMAGE 일 경우 hyCamera_Receive_Image(b) ) ==> 결과는 이미지 전송에
( RxMode_GPS 일 경우 hyGps_RecvByte(b) ) ==> 결과는 전역변수에
( RxMode_IMU 일 경우 hyImu_RecvByte(b) ) ==> 결과는 전역변수에
. Gs_Rx_Queue 에 데이터가 있으면, Gs_RecvByte(b) 호출 ==> 필요한 명령들 처리
. Gs_Tx_Queue 에 데이터가 있으면, hyGsTxByte(b) 를 이용하여 지상국에 1바이트 전송
. Pl_Tx_Queue 에 데이터가 있으면, hyPlTxByte(b) 를 이용하여 탑재체에 1바이트 전송
- 그러므로.... 정리하면
. gps/imu ==> 캔위성은 위의 설명 ( RxMode_GPS, RxMode_IMU 처리 )
. 캔위성 ==> 카메라의 경우는 hyPlTxByte 에서 처리하도록 함. ( MUX 설정은 사실 필요 없음 )
. 카메라 ==> 캔위성의 경우는 RxMode_CAMERA_SIZE, RxMode_CAMERA_IMAGE 모드 처럼
프로토콜 처리 루틴을 만들어서 처리 ( hyCamera_Receive_Size, hyCamera_Receive_Image )
2. 배터리는 650mAh, 이지만, DC-DC Convertor 가 500mA 이므로,
DC-DC Convertor(500mA)를 이용하여 캔위성을 동작시킬 때를 생각해야 합니다.
글쎄요.. 서보모터의 용량에 따라 다를 것 같은데,
모터를 여러개 사용하려면 , 모터만을 위한 추가 배터리를 사용하시는게 좋을 것 같습니다.
3. 사전교육자료 17페이지 전력부를 참조하시면 될 것 같습니다.
- 서보모터와 추가 배터리 연결
. 적당한 배터리를 사용, ( ex. 7.2V 배터리 )
. 이를 적당한 전압으로 변환 (ex. 5V 컨버터 용량 충분한 것 )
. GND 는 제어 시스템과 GND 와 같이 연결,( ex 5V )
. DC-DC 컨버터의 VCC 는 서보모터의 VCC 에 연결 (ex 5V )
- 서보모터와 제어 시스템과 연결 1 ( 캔위성을 제어 시스템으로 사용시 )
. 제어 시스템의 제어신호를 서보 모터의 제어 신호와 연결 (ex PWM 신호 )
- 서보모터와 제어 시스템과 연결 2 ( 추가보드를 제어 시스템으로 사용시 )
. 제어 시스템의 제어신호를 서보 모터의 제어 신호와 연결 (ex PWM 신호 )
. 캔위성의 GND 와 추가보드의 GND 연결
. (추가적으로 캔위성과 추가 보드간의 통신을 위한 제어 신호 연결 )
. 일반적으로 추가보드 5V 전원은 캔위성의 5V 전원에 연결 ( 아두이노 UNO 보드 정도 )
>
>
> 안녕하세요, 슬기부 태연한 다람쥐 팀입니다.
> 저번 질문에 이어서 추가 질의하고자 합니다.
>
> 1. 캔위성 --> 아두이노
> 1-1) 핀 자체는 캔위성의 카메라 tx핀을 쓰라고 하셨는데 그러면 1층의 카메라 tx핀이 연결된 4층 케이블 핀을 써도 되는 건가요? 그렇게 되면 캔위성이 데이터 송신을 하면 이게 카메라하고 아두이노로 가는 건가요?
>
> 1-2) 캔위성에서 "gps/imu --> 캔위성 --> 카메라 --> 아두이노/캔위성" 과정에 사용한 데이터 송수신 함수를 알고 싶습니다. 일단 제가 이해한 바로는 "gps/imu --> 캔위성"은 gps_recvbyte()를 이용해서 바이트별로 데이터를 받아서 처리하는 거고 이게 전역 변수로 선언이 되었기 때문에 gps_data[]를 그대로 사용하면 되는 거고요. "캔위성 --> 카메라" rx_mode_set(rxmode_camera)를 한 다음에 Pl_Tx_QueueIn(데이터)로 데이터를 한 바이트 씩 제가 만든 프로토콜로 보내면 되는 거고요. "카메라 --> 아두이노/캔위성"은 hyPlTxByte(데이터)로 보내면 되는 건가요? 그리고 아두이노에서 프로토콜에 기준해 필요 데이터를 추출하면 되는 거고요. 혹시 이런 방법이 맞나요?
>
>
> 2. 하드웨어의 입장에서 봤을때, 원래 키트에 있었던 elecfood Li-ioin PB 9V 650mAh동력원으로
> -GPS센서
> -카메라
> -IMU센서
> -서브모터 2개
> -아두이노(오렌지 보드)
> *위의 모든 부품은 대회에서 제공되었던 것들이여서 따로 모델명은 쓰지 않겠습니다
> 이 모든 것들을 돌릴 수 있을까요?? 저번에 해주신 설명으로는 동력최대치 계산이 잘 이해가 되지 않아서 말입니다.
> 애초에 주어진 배터리의 데이터시트에서는 650mAh라 되어있고, 그때 설명하신 바로는 500mAh가 상한선이라고 하셨는데, 그러면 80%안으로 동력이 떨어지게 하시라는 말이 650의 80%인지, 500의 %인지 잘 모르겠습니다.
> 그리고 궁극적인 질문은 주어진 배터리로 위 모든 장치들을 작동시키는게 가능한지의 여부입니다...
>
> 3. 만약 동력원이 부족할경우 추가적인 외부 동력원을 구비해야할텐데, 이게 단순히 모터에 전선을 딱 꼽는게 아니지 않습니까.. 센서의 동력, 서브모터 2개 등의 파워를 적절히 연결하기 위해 관련자료나 참고자료 같은게 있나요? 파워배분하는데에 있어서 참고할만한 사항이나 요점같은 것이 있다면 알려주시길 바랍니다.
>
> 감사합니다!
>
- 이전글캔위성-아두이노 추가 질문 17.07.22
- 다음글추가 문의 드립니다! 17.07.21
댓글목록
등록된 댓글이 없습니다.