한국과학기술연구소 인턴
-
MATLAB[Recieve CAN message]한국과학기술연구소 인턴 2023. 4. 7. 15:31
배경 매트랩을 활용하여 PEAK System 사의 PCAN-USB 제품을 제어하기 위해 매뉴얼 정리 Receive Messages rxMsg = receive(rxCh, Inf, "OutputFormat", "timetable"); recieve //You can receive CAN messages as a timetable or as an array of message objects. //Receive all available messages as a timetable. //Inf : Maximum number of messages to receive canch = canChannel("Vector", "CANCaseXL 1", 1); start(canch) message = receive(canch..
-
MATLAB [Send CAN message]한국과학기술연구소 인턴 2023. 4. 4. 15:16
배경 매트랩을 활용하여 PEAK System 사의 PCAN-USB 제품을 제어하기 위해 매뉴얼 정리 Transmit Messages type generateMsgs The example function generateMsgs creates CAN messages using canMessage and transmits them using transmit at various periodic rates. It generates traffic on the CAN bus for demonstration purposes. function generateMsgs() % generateMsgs Creates and transmits CAN messages for demo purposes. % % generateMsgs..
-
MATLAB [CAN channel creation]한국과학기술연구소 인턴 2023. 3. 28. 14:01
배경 매트랩을 활용하여 PEAK System 사의 PCAN-USB 제품을 제어하기 위해 매뉴얼 정리 Create a Receiving Channel Create a CAN channel using canChannel to receive messages by specifying the vendor name, device name, and device channel index. rxCh = canChannel("MathWorks", "Virtual 1", 2); canChannel Sysntax canch1 = canChannel(vendor,device,devicechannelindex) canch2 = canChannel(vendor,device) canch3 = canChannel(___,'Protoc..
-
PCAN-USB manual한국과학기술연구소 인턴 2023. 3. 27. 17:41
배경 모터를 CAN 통신으로 제어하기 위한 방법들에 대해서 공부해 보았고, 그중에서도PCAN-USB에 에 대해서 정리해 보고자 합니다. (전에 공부했던 CAN Interface 들에 비해 오늘 리뷰하는 제품이 Matlab과 자사 제품을 연동될 수 있도록 편의 기능을 제공해서 최종적으로 PEAK-System 사의 PCAN-USB 제품을 사용하게 되었습니다) Properties at a Glance CAN interface for the USB connection (Full-Speed mode, compatible with USB 1.1, USB 2.0, and USB 3.0) High-speed CAN connection (ISO 11898-2) Bit rates from 5 kbit/s up to 1 M..
-
UART한국과학기술연구소 인턴 2023. 3. 26. 12:11
UART 통신이란? UART(Universal Asynchronous Receiver Transmitter) 통신은 전자 기기들 간에 직렬 데이터 통신을 가능하게 하는 방법입니다. UART는 비동기(asynchronous) 통신 방식을 사용해 송신기와 수신기 간에 동기화된 클럭을 공유하지 않아도 되도록 설계되었습니다. 대신, 각 장치는 독립적으로 설정된 통신 속도(baud rate)로 데이터를 전송하며, 이를 통해 송신기와 수신기 사이에 동기화를 유지합니다. UART 통신은 대부분의 마이크로컨트롤러, 센서 및 통신 모듈에서 널리 사용되며, 간단한 연결 및 낮은 비용으로 송수신을 수행할 수 있습니다. UART 통신 프레임 Start bit: 각 프레임의 시작을 표시하는 하나의 비트로, 높은 전압 상태(Hi..
-
uCAN Converter (API)한국과학기술연구소 인턴 2023. 3. 25. 18:13
배경 모터를 CAN 통신으로 제어하기 위한 방법들에 대해서 공부해 보았고, 그 중에서도 uCAN Converter 에 대해서 정리해 보고자 합니다 API SendCANTxFrame quint8 SendCANTxFrame(CAN_Struct Tx, quint8 * SerialBuffer, quint8 BufferSize, quint8 * ConvertSize) { int i; quint8 ind=0; quint8 tmp_index; quint8 buf[40]; // (1) Tx 포맷에 따라 버퍼에 적절한 명령 헤더를 저장 switch (Tx.Format) { case CAN_StructFormat::TX_STD_DATA: buf[ind++] = CAN_SerialCommandHeader::STD_DATA;..
-
uCAN Converter (Data Type)한국과학기술연구소 인턴 2023. 3. 17. 16:27
배경 모터를 CAN 통신으로 제어하기 위한 방법들에 대해서 공부해 보았고, 그 중에서도 uCAN Converter 에 대해서 정리해 보고자 합니다 Spec Locking USB Cable 적용 GUI 환경의 통합 유틸리티 제공 다양한 시리얼 명령어 및 C코드 API지원 통신용 예제 샘플 코드 제공 CAN 최대 통신 속도 1Mbps 시리얼 최고 통신 속도 460.8Kbps 지원 CAN 2.0A / CAN 2.0B 호환 LED를 통한 통신 상태 확인 구조체 자료형 CAN Serial Struct typedef struct{ UINT8 Format; UINT32 ID; UINT8 DLC; UINT8 DATA[8]; }CAN_Struct; enum CAN_StructFormat { TX_STD_DATA = 0x..
-
AK Series CAN protocol Instruction 코드 정리(2)한국과학기술연구소 인턴 2023. 3. 9. 17:39
배경 T-motor 사에서 제공하는 AK 모터를 CAN 통신을 사용해 제어하는 매뉴얼을 코드위주로 정리했습니다. Send Routine Code void pack_cmd(CANMessage *msg, float p_des, float v_des, float kp, float kd, float t_ff){ // limit data to be within bounds float P_MIN=-95.5; float P_MAX = 9505; float V_MIN = -30; float V_MAX = 30; float T_MIN = -18; float T_MAX = 18; float Kp_MIN = 0; float Kp_MAX = 500; float Kd_MIN = 0; float Kd_MAX = 5; float ..