분류 전체보기 226

#1 M-G set 동작 테스트

교육실험세트 M-G set 실험 2023/2/18 1. M1_speed & M2_current https://youtu.be/JjvbwrCnYp0 M1 speed를 1000으로 올리고 M2 current를 1A를 주었을 때 소리가 커졌고 더 빨라진 기분?이었다. => 속도가 변화한 것이 아니라 M2가 부하로 작용하면서 소리만 커지고 전류가 커진 것 2. M1_speed & M2_speed https://youtu.be/WsVWs15fbc4 M1 speed를 1000rpm 으로 설정하고 M2 speed를 1000rpm으로 설정했더니 모터가 멈추었다. => 모터 M1과 M2는 반대 방향으로 작동한다. 3. M1_Forback mode https://youtu.be/xgj4noenOAE 1. Forback만 ..

역기전력(Back-Elevtro Motive Force)

1. 역기전력 정의 역기전력은 전류와 역방향, 즉 전류를 방해하는 방향으로 발생하는 전압 기호로는 e (순시값), E (실효값)로 표현한다. 2. 역기전력 기본 개념 자기장 B 내에 놓여있는 도체에 전압을 인가하여 전류 I 를 흐르게 하면 그림처럼 힘 F 가 발생하여 회전을 시작한다. (왼손 법칙) 자기장 B 내에서 도체가 힘 F 방향으로 움직이기 시작했기 때문에 처음 전류 I 와는 반대 방향으로 전류 I' 가 발생한다. (오른손 법칙) => 처음 전류 I 를 방해하는 I' 를 흐르게 하는 전압이 역기전력이다. 3. 모터와 발전기 모터는 모터이면서 발전기이며, 즉 모터와 발전기 동시에 작동 가능하다. 그래서 모터를 에너지 변환 장치라고 하며 전기 에너지를 일로 변환하면 모터, 역으로 일을 전기 에너지로 ..

Study/Motor Control 2023.02.16

SPMSM vs IPMSM 비교

1. SPMSM(Surface mounted PMSM) SPMSM은 영구자석이 회전자 주변으로 일정한 두께로 배치되어 있어 d축, q축 인덕턴스가 동일하다. SPMSM의 토크는 위 식 처럼 마그네틱 토크만 고려하면 된다. SPMSM은 설계시, 원호 형태의 자석이 필요하고, 표면에 부착하기 때문에 원심력에 의해 튕겨져 나갈 수 있어 어려움이 많다 하지만 자기회로가 간단해 비교적 간단한 제어 알고리즘으로 토크/속도 제어를 수행할 수 있다. 2. IPMSM(Interior Permanent Magnet Synchronous Motor) IPMSM은 영구자석이 회전자 주변으로 자석이 균일하지 않아 d축, q축 인덕턴스가 다르다. d축으로 봤을 때는 자석과 air gap이 동시에 존재하지만, q축으로 봤을 때는 ..

Study/Motor Control 2023.02.14

[code analysis] 3상 인버터 보드 M1_inverter.c

1. 변수 설정 float 형 설정 후 뒤에 'F' 를 붙여서 float인 것을 표시 extern : 외부 변수 사용 -> SelEncoder 라는 외부 변수 사용 : SelEncoder은 인버터 보드1의 J5 커넷터에 에코더 케이블이 연결되어 있을 경우 Expressions 창에서 "SelEncoder" 값을 "0"으로 설정. Uint16 같은 type은 표와 같이 사용 cc : Curent Control sc : Speed Control ul : unlimmit fb : feedback ff : feedfoward M2_inverter에 없는 부분 Uint16 align_mode = 1; // 초기값 1 Uint16 Forback_mode = 1; //초기값 0 2. M1_Inverter 3. M1_..

Study/Motor Control 2023.02.13

Motor generator set(M-G set)

1. 모터 제너레이터란 모터 제너레이터 (M-G) 세트는 공통 축을 통해 기계적으로 결합 된 모터 및 발전기로 구성된 복합 장치를 나타낸다. 실질적으로 모터 발전기 세트는 모터와 발전기가 연결된 오히려 단일 회로에 배치한다. 전력을 한 형식에서 다른 형식으로 변환하는 데 사용되는 장치입니다. 그것은 주로 전력을 다른 유형의 전력으로 변환한다. 모터 제너레이터 세트는 전원의 전압, 위상 및 주파수를 변환하는데도 사용된다. 또한 공급 라인에서 전기 부하를 분리하여 응용할 수 있다. 그림의 M-G세트에서 모터와 발전기는 단일 샤프트를 사용해 함께 연결된다. 그들은 단일 회 전자 주위에 감겨 있고 커플 링에 필요한 조건은 모터와 발전기의 정격 속도가 같아야한다는 것이다. 2. 모터 제너레이터 세트의 작동 원리 ..

Study/Motor Control 2023.02.13

Inverter(인버터)

1. 인버터의 정의와 사용 목적 인버터는 사전적으로 정의할 때 전기적으로 직류를 교류로 변환하는 역변환 장치라는 뜻을 갖게 된다. 하지만 FA 용어로 정의 시 인버터는 사전적 정의보다 좀 더 세부적인 의미를 갖게 되는데, FA 용어로 정의한 인버터는 상용 전원으로부터 공급된 전력을 입력받아 자체 내에서 전압과 주파수를 가변하고 전동기에 공급해 사용자가 전동기 속도를 효율적으로 이용할 수 있도록 제어하는 장치이다. 기본적으로 인버터를 사용하는 목적은 모터의 속도를 보다 효율적으로 제어하는 데에 있다. 2. 인버터의 장점 인버터로 모터 속도 제어 시 사용자가 얻을 수 있는 장점에는 ▲에너지 절약 ▲제품 품질 향상 ▲생산성 향상 ▲유지보수성 향상 ▲쾌적한 환경 ▲저소음화 등이 있다. 먼저 에너지 절약의 경우,..

BLDC 모터와 PMSM 모터의 차이

*BLDC vs PMSM BLDC 모터와 PMSM 모터의 차이점은 감은 코일의 차이인데, BLDC는 각 상(Phase)당 한곳에 집중적으로 감은 것이고, PMSM은 각 상(Phase)을 분산시켜 감은 것이다. 차이점은 고토크, 고속이냐 고효율 정밀제어냐 차이이다. *역기전압의 형태에 따른 모터의 분류 1. 역기전력(Back-EMF)란? - 착자된 자석에 의해 stator coil에 유기되는 전압 - 회전 속도가 빠를수록, 강한 자석을 사용할 수록 높은 전압이 유기됨 모터가 회전하면, 회전자가 고정자 코일에 근접 이동하는데, 회전자(영구자석)에 의해 고정자 코일에 자기장에 변화가 생기기 때문에 역기전력(back-EMF)이 코일에 유도된다. 역기전력은 속도에 정비례한다. (back-EMF = RPM/V) 역..

Study/Motor Control 2023.02.13

DC/BLDC/AC/PMSM motor

0. 전기 모터의 분류 1. DC 모터 (1) Brushed DC motor 브러쉬 모터는 브러쉬의 접촉을 통해서 회전에 따라 전기자 전류의 극성이 바뀌게 된다. 따라서 기계적 소음과 전기적 잡음이 심하며 브러쉬의 소모로 내구성이 떨어진다는 단점이 있다. (2) BLDC motor (2)-1. BLDC 모터의 구조 (BRUSHLESS MOTOR) BLDC 모터는 브러쉬가 없는, 기계적 접촉이 없느 모터이다. stator은 코일, rotor은 영구자석으로 되어 있으며, 홀센서를 이용해 회전자의 극성을 파악하여 고정자 코일을 제어한다. 브러쉬가 없어 수명이 길고 내구성이 좋아 전기 자동차용으로 사용할 수 있는 모터이다. DC모터의 stator의 영구자석과 rotor의 코일이 바뀐 형태이다. BLDC 모터 구..

Study/Motor Control 2023.02.12

DC모터와 AC모터의 구동 차이

1. DC모터 위에 있는 장비들은 자르거나, 갈거나, 구멍을 뚫는 기계들로 고속으로 회전하는 모터를 사용하며 220V에 연결한다. 우리나라에서 일반적으로 사용하는 220V는 AC 혹은 교류전압이며, 이러한 AC 전압을 사용하는 모터를 AC 모터라고 한다. AC 모터는 동급출력을 내는 DC 모터에 비해서 상대적으로 저렴하며, 효율이 좋고, 수명이 길다는 장점이 있다. 때문에 큰 힘을 필요로 하는 공작기계 (위에 있는 장비들), 컴프레서 등에 많이 사용되곤 한다. 하지만, 속도 및 방향 제어가 까다롭다. 토크를 일정하게 하면서 속도를 제어하기 위해서는 주파수를 변조하거나, 코일에 유도전류를 만들어내는 시간차를 잘 조절해야 한다. 반면에, DC 혹은 직류전압을 사용하는 모터는 DC 모터라고 부르며, 아마 가장..

Study/Motor Control 2023.02.12

#21 omorobot_r1mini Rplidar A1m8로 slam

1. terminal 1 (raspberry pi4) roscore => 로봇 체제 운영 2-1. terminal 2 (raspberry pi4) //USB연결 roslaunch omo_r1mini_bringup omo_r1mini_bringup.launch set_port:=/dev/ttyUSB0 => r1mini와 연결 2-2. terminal 2 (raspberry pi4) //Tx/Rx 통신 연결 roslaunch omo_r1mini_bringup omo_r1mini_bringup.launch set_port:=/dev/ttyS0 3-1. terminal 3 (raspberry pi4) // rviz 띄우기 다음과 같이 ttyUSB 읽기 권한을 획득한다. sudo chmod 666 /dev/tty..

#19 omorobot_r1mini 주행

1. ros melodic 잘 다운되었는지 확인 2. omorobot 설치 cd ros_catkin_ws/src git clone https://github.com/omorobot/omo_r1mini 3. rplidar melodic버전 설치 git clone https://github.com/Slamtec/rplidar_ros.git ***오류 =>해결 cd ros_catkin_ws/src/rplidar_ros 패키지에 Cmakefiles에 저 단락에 + std_srvs를 추가해준다. https://github.com/Slamtec/rplidar_ros/pull/27 fix missing std_srv dependency when compiling in isolation by phil123456 · P..

#18 raspberry pi에 melodic설치 (omorobot_r1mini 다루기 build up)

1. raspberry pi4에 raspberry pi OS (legacy) 설치 2. #6-2 보고 네트워크 설정 3. ROS 저장소 설정 sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9A2FD067A2E3EF7B ***저장소 오류 해결 링크 https://unix.stackexchange.com/questions/399027/gpg-keyserver-receive-failed-server-indicated-a..

#17 AI 기반 자율주행 로봇을 이용한 매장 관리 공모전 2차 심사본

1. 본체 구성 Sunflower RC 자동차에 Ridar과 raspberrypi를 얹어서 자동차를 만듬. 높이를 높이기 위해 상자를 중간에 올려서 그 위에 raspberry pi와 Rplidar A1m8을 올렸고 자동차와 raspberry pi모두 보조배터리로 전원을 넣었다. 2. 기술 삽입 slam(Cartoghraper)기술을 raspberrypi에 넣어서 Rviz2를 통해 실시간으로 lidar가 공간을 그려서 노트북으로 송출하게 만들었다. 3. detection기술 raspberrypi camera를 달아서 실시간으로 영상이 송출되도록 하였고 raspberrypi에 Yolo5&Pytorch를 넣어서 사물을 detection하는 기술을 첨가해 노트북에 정보를 보내는 것을 추가했다. 4. 웹페이지 만..

#16 raspberrypi ubuntu 20.04 LTS 원격접속 xrdp를 사용해 url 띄우기

xrdp는 mstsc마이크로소프트터미널 서비스 클라이언트 프로그램을 비 윈도우 운영체제에 사용 할 수 있도록 개발한 소프트웨어이다. 맥에서 vnc말고 접속하기 편한 방법. 1. 맥 OS에 Microsoft Remote Desktop 을 설치해준다. 2. 라즈베리파이에서 xrdp를 설치한다. sudo apt-get update sudo apt-get upgrade sudo apt-get install xrdp 3. 맥 OS에서 Microsoft Remote Desktop접속 PC name에 IP주소 입력 4. 초기설정방법 접속 화면이 나오면 초록색 화면이 나온다. name을 ubuntu로 설정하고 password는 라즈베리파이에서 사용하는 password를 사용한다. 사용하면 아래와 같이 접속가능! **주..

#15 raspberry pi camera 연결 & 실행 (Rviz2에 띄우기)

1. pi camera 연결 확인 vcgencmd get_camera supported=1 detected=1 1로 값이 나와야 잘 연결된 것 2. modprobe 명령을 사용하여 bcm2835-v4l2 모듈을 커널로 로드 sudo modprobe bcm2835-v4l2 3. /dev/video0 파일이 생성 ls /dev/video0 -l crw-rw----+ 1 root video 81, 0 Jun 25 15:57 /dev/video0 값이 나와야 파일 생성 4. OpenCV 설치 및 Foxy 의존성 패키지 설치 sudo apt install libopencv-dev python3-opencv python3 -c "import cv2; print(cv2.__version__)" 로 확인 pkg-con..

+#14 Docker 기반호스트PC구축

1. docker 이미지 생성 gazebo나 rviz 같은 gui 쉽게 하기 위한 ros2 ubuntu vnc 도커 이미지 생성 https://github.com/Tiryoh/docker-ros2-desktop-vnc GitHub - Tiryoh/docker-ros2-desktop-vnc: 🐳 Dockerfiles to provide HTML5 VNC interface to access Ubuntu LXDE + ROS2 🐳 Dockerfiles to provide HTML5 VNC interface to access Ubuntu LXDE + ROS2 - GitHub - Tiryoh/docker-ros2-desktop-vnc: 🐳 Dockerfiles to provide HTML5 VNC interface..

#14 Ros2 foxy navigation2 install

1. navigation1 & bringup 설치 sudo apt install ros-foxy-navigation2 sudo apt install ros-foxy-nav2-bringup 2. 파일안에 설치 (새 창) cd ros2_ws mkdir -p ~/src cd src git clone https://github.com/ros-planning/navigation2.git --branch foxy-devel cd .. rosdep install -y -r -q --from-paths src --ignore-src --rosdistro foxy #패키지 빌드 colcon build --symlink-install 3. bash 파일에 추가 gedit ~/.bashrc #맨 밑에 아래 내용 추가 sou..

#13 Ros2 foxy Cartographer & Rplidar A1m8 실행 (map save)

1. Robot control node (새 창) cd ros2_ws source ./install/setup.bash ros2 launch rpi_robot_bringup rpi_robot_nostate.launch.py 2. joystick teleop node (새 창) cd ros2_ws source ./install/setup.bash ros2 launch rpi_robot_bringup rpi_robot_joy_teleop.launch.py => 자동차 연결 후 실행 3. SLAM node (새 창) cd ros2_ws source ./install/setup.bash ros2 launch rpi_robot_slam cartographer.launch.py 4. Rviz 실행 (새 창) rvi..