stella n1 모터드라이버로 stella n2 모터 구동 방법 문의
페이지 정보
본문
REMOTE PC 버전:
ROS 버전:
안녕하세요, 항상 고생많으십니다.
현재 stella n1 모터드라이버로 stella n2모터를 구동해보려 하고있는데 제어가 되지 않아서 문의 남깁니다.
커넥터 작업 해서 연결하였는데 아무래도 엔코더가 읽히지 않는것 같습니다.(Motor Control UI로 확인하였음)
증상은 Motor Control UI 프로그램 내에서 Motor Control --> Velocity를 입력하면 크기에 상관없이 rpm이 최대치로 출력값이 나오는것 같습니다.(빠르게 돌아가고 그 후엔 정상적인 제어가 되지 않음) +- 방향제어만 가능해집니다.
또한 계속 진행하다보니 모터드라이버의 COMM(초록색불)이 여러번 깜빡이기 시작합니다. 이 후에는 +- 방향제어도 불가능해집니다.
저희가 추가로 수정해야하는 부분이 있을까 해서 기술문의 남깁니다.
첨부파일
-
KakaoTalk_20240607_172105214.mp4 (348.4K)
1회 다운로드 | DATE : 2024-06-07 17:23:00
- 이전글navigation2 주행 중 라이다 뒤틀림 24.06.13
- 다음글내비게이션 주행 관련 질문 24.06.07
댓글목록
최고관리자님의 댓글
최고관리자 작성일
안녕하세요.
아이디어 로봇입니다.
정확한 문제 파악을 위해서 저희가 제품을 직접 확인하여 보아야 할 것 같습니다.
사용하시는 모터와 모터 드라이버를 아래 링크의 주소로 보내어 주시면 저희가 확인하여 답변 드리도록 하겠습니다.
https://idea.synology.me/bbs/board.php?bo_table=forum&wr_id=32
mecha님의 댓글의 댓글
mecha 작성일
연구원님, 다시 확인해 보니 모터드라이버는 문제없고 엔코더가 읽히지 않는 문제가 있습니다.
Stella N2 모터(MG513P30-12V-500)와 Stella N1 모터드라이버(MW-MDC24D100D-v2)가 호환이 되는게 맞는지 다시 한번 확인 부탁드려도 될까요?
최고관리자님의 댓글의 댓글
최고관리자 작성일
STELLA N2의 모터드라이버는 MW-MDC24D100D-v2를 STELLA N2에 맞게 수정한 버전의 모터드라이버이기 때문에
STELLA N2의 모터드라이버에서 사용 가능한 모터는 MW-MDC24D100D-v2에서도 사용이 가능합니다.
엔코더가 읽히지 않으신다면 엔코더의 배선을 한번 더 확인해 보아야 할 것 같습니다.
mecha님의 댓글의 댓글
mecha 작성일연구원님, 그 수정한 버전 파일을 사용해보고 싶은데, 실례가 안된다면 Motor Control UI 프로그램에서 사용되는 STELLA N2 모터드라이버 .cfg파일을 받아볼 수 있을까요?
최고관리자님의 댓글의 댓글
최고관리자 작성일
일단 STELLA N2의 모터드라이버에서 수정된 부분은
STELLA N2에서 사용하지 않는 기능을 하드웨어에서 제거한 것이기 때문에 크게 수정된 파일은 없습니다.
STELLA N2의 .cfg 설정 파일을 원하신다면
.cfg파일을 만드셔서 아래 값을 작성하여 주시면 됩니다.
# MotorControlUI Version 1.12 (2014/03/05)
# Saved date time: 2022/01/27 18:23:18
I, 1, 0 = 0 # vendor_id
I, 2, 0 = 102 # product_id
F, 3, 0 = 1.09 # software_version
F, 4, 0 = 1 # hardware_version
I, 5, 0 = 0 # system_status
F, 8, 0 = 11.5883 # battery_voltage
F, 9, 0 = 0.103561 # battery_current
I, 11, 0 = 1 # device_id
I, 12, 0 = 1000 # can_br
I, 13, 1 = 115200 # serial_bps
I, 13, 2 = 115200 # serial_bps
I, 14, 0 = 0 # serial_watchdog
I, 16, 0 = 0 # startup_script_run
I, 21, 0 = 0 # control_mixing
I, 22, 0 = 1 # center_safety
I, 23, 0 = 1 # min_max_safety
I, 31, 0 = 0 # pwm_switching
I, 32, 0 = 0 # pwm_frequency
I, 56, 1 = 0 # user_value
I, 56, 2 = 0 # user_value
I, 56, 3 = 0 # user_value
I, 56, 4 = 0 # user_value
I, 56, 5 = 0 # user_value
I, 56, 6 = 0 # user_value
I, 56, 7 = 0 # user_value
I, 56, 8 = 0 # user_value
I, 56, 9 = 0 # user_value
I, 56,10 = 0 # user_value
I, 56,11 = 0 # user_value
I, 56,12 = 0 # user_value
I, 56,13 = 0 # user_value
I, 56,14 = 0 # user_value
I, 56,15 = 0 # user_value
I, 56,16 = 0 # user_value
I, 56,17 = 0 # user_value
I, 56,18 = 0 # user_value
I, 56,19 = 0 # user_value
I, 56,20 = 0 # user_value
I, 56,21 = 0 # user_value
I, 56,22 = 0 # user_value
I, 56,23 = 0 # user_value
I, 56,24 = 0 # user_value
I, 56,25 = 0 # user_value
I, 56,26 = 0 # user_value
I, 56,27 = 0 # user_value
I, 56,28 = 0 # user_value
I, 56,29 = 0 # user_value
I, 56,30 = 0 # user_value
I, 56,31 = 0 # user_value
I, 56,32 = 0 # user_value
I, 57, 1 = 0 # temp_value
I, 57, 2 = 0 # temp_value
I, 57, 3 = 0 # temp_value
I, 57, 4 = 0 # temp_value
I, 57, 5 = 0 # temp_value
I, 57, 6 = 0 # temp_value
I, 57, 7 = 0 # temp_value
I, 57, 8 = 0 # temp_value
I, 57, 9 = 0 # temp_value
I, 57,10 = 0 # temp_value
I, 57,11 = 0 # temp_value
I, 57,12 = 0 # temp_value
I, 57,13 = 0 # temp_value
I, 57,14 = 0 # temp_value
I, 57,15 = 0 # temp_value
I, 57,16 = 0 # temp_value
I, 57,17 = 0 # temp_value
I, 57,18 = 0 # temp_value
I, 57,19 = 0 # temp_value
I, 57,20 = 0 # temp_value
I, 57,21 = 0 # temp_value
I, 57,22 = 0 # temp_value
I, 57,23 = 0 # temp_value
I, 57,24 = 0 # temp_value
I, 57,25 = 0 # temp_value
I, 57,26 = 0 # temp_value
I, 57,27 = 0 # temp_value
I, 57,28 = 0 # temp_value
I, 57,29 = 0 # temp_value
I, 57,30 = 0 # temp_value
I, 57,31 = 0 # temp_value
I, 57,32 = 0 # temp_value
I, 60, 0 = 0 # num_dis
I, 61, 0 = 0 # di_enable
I, 62, 0 = 0 # di_invert
I, 63, 0 = 0 # di_all_values
I, 65, 0 = 0 # num_dos
I, 66, 0 = 0 # do_enable
I, 67, 0 = 0 # do_invert
I, 68, 0 = 0 # do_all_values
I, 70, 0 = 0 # num_ais
I, 71, 0 = 0 # ai_enable
I, 72, 0 = 0 # ai_invert
I, 75, 0 = 0 # num_pis
I, 76, 0 = 0 # pi_enable
I, 77, 0 = 0 # pi_invert
I, 80, 0 = 2 # num_motors
F, 86, 0 = 0.1 # wheel_radius
F, 87, 0 = 0.5 # axle_length
F, 88, 0 = 30 # gear_ratio
I,102, 1 = 97 # status
I,103, 1 = 0 # fault
I,111, 1 = 350000 # position_command
F,112, 1 = 0 # velocity_command
F,113, 1 = 0 # current_command
F,114, 1 = 0 # voltage_command
F,121, 1 = 31.5569 # temperature
F,122, 1 = 0.696782 # voltage
F,123, 1 = -0.000205845 # current
F,124, 1 = 0 # velocity
I,125, 1 = 1660448 # position
I,126, 1 = 0 # hall_count
F,131, 1 = 0 # ai_potentiometer
F,132, 1 = 0 # ai_tachometer
I,141, 1 = -1000000 # min_position
I,142, 1 = 1000000 # max_position
I,143, 1 = 0 # home_position
I,144, 1 = 60000 # encoder_ppr
I,145, 1 = 1 # num_pole_pairs
I,146, 1 = 0 # use_soft_limit
F,151, 1 = 3 # max_current
F,152, 1 = 12 # max_voltage
F,153, 1 = 350 # max_velocity
F,154, 1 = 3000 # acceleration
F,155, 1 = 3000 # deceleration
F,161, 1 = 80 # overheat_limit
F,162, 1 = 3 # overcurrent_limit
I,163, 1 = 10 # overcurrent_delay
F,164, 1 = 200 # peakcurrent_ratio
F,165, 1 = 35 # overvoltage_limit
F,166, 1 = 8 # undervoltage_limit
I,167, 1 = 0 # stall_detection
I,168, 1 = 0 # vel_error_detection
I,169, 1 = 0 # pos_error_detection
I,171, 1 = 1 # feedback_sensor
I,172, 1 = 1 # profile_mode
I,173, 1 = 1 # startup_power_on
I,174, 1 = 0 # direction
I,175, 1 = 0 # brake_on_delay
I,176, 1 = 28 # high_voltage
I,177, 1 = 64 # high_temperature
F,181, 1 = 0.1 # cc_kp
F,182, 1 = 200 # cc_ki
F,185, 1 = 0 # cc_kff
F,186, 1 = 0.6 # vc_kp
F,187, 1 = 0.0001 # vc_ki
F,190, 1 = 0 # vc_ks
F,191, 1 = 1 # pc_kp
F,192, 1 = 0.001 # pc_ki
F,193, 1 = 0 # pc_kd
I,102, 2 = 99 # status
I,103, 2 = 0 # fault
I,111, 2 = 0 # position_command
F,112, 2 = 0 # velocity_command
F,113, 2 = 0 # current_command
F,114, 2 = 0 # voltage_command
F,121, 2 = 31.5812 # temperature
F,122, 2 = 0.903049 # voltage
F,123, 2 = 2.04324e-005 # current
F,124, 2 = 0.00878906 # velocity
I,125, 2 = 4112428 # position
I,126, 2 = 0 # hall_count
F,131, 2 = 0 # ai_potentiometer
F,132, 2 = 0 # ai_tachometer
I,141, 2 = -1000000 # min_position
I,142, 2 = 1000000 # max_position
I,143, 2 = 0 # home_position
I,144, 2 = 60000 # encoder_ppr
I,145, 2 = 1 # num_pole_pairs
I,146, 2 = 0 # use_soft_limit
F,151, 2 = 3 # max_current
F,152, 2 = 12 # max_voltage
F,153, 2 = 350 # max_velocity
F,154, 2 = 3000 # acceleration
F,155, 2 = 3000 # deceleration
F,161, 2 = 80 # overheat_limit
F,162, 2 = 3 # overcurrent_limit
I,163, 2 = 10 # overcurrent_delay
F,164, 2 = 200 # peakcurrent_ratio
F,165, 2 = 35 # overvoltage_limit
F,166, 2 = 8 # undervoltage_limit
I,167, 2 = 0 # stall_detection
I,168, 2 = 0 # vel_error_detection
I,169, 2 = 0 # pos_error_detection
I,171, 2 = 1 # feedback_sensor
I,172, 2 = 0 # profile_mode
I,173, 2 = 1 # startup_power_on
I,174, 2 = 1 # direction
I,175, 2 = 0 # brake_on_delay
I,176, 2 = 28 # high_voltage
I,177, 2 = 64 # high_temperature
F,181, 2 = 0.6 # cc_kp
F,182, 2 = 50 # cc_ki
F,185, 2 = 0 # cc_kff
F,186, 2 = 0.6 # vc_kp
F,187, 2 = 0.0001 # vc_ki
F,190, 2 = 0 # vc_ks
F,191, 2 = 1 # pc_kp
F,192, 2 = 0 # pc_ki
F,193, 2 = 0 # pc_kd