티스토리챌린지
-
아두이노 라이브러리 | I2C 멀티플렉서 TCA9548A 모듈Technology/Arduino 2024. 11. 27. 22:10
1. I2C 멀티플렉서 TCA9548A 모듈 I2C 통신을 지원하는 센서 모듈은 고유 주소를 가지고 있으며, 일부 모듈은 하드웨어를 수정하거나 소프트웨어로 레지스트리를 변경하여 본인의 주소를 변경할 수 있다. 하지만 앞서 다룬 AS5600 모듈과 같이 I2C 주소를 변경하는 기능을 지원하지 않는 센서를 여러 개 사용한다면 I2C 주소가 충돌하므로 문제가 발생한다. 이때 I2C 멀티플렉서 TCA9548A 모듈을 사용한다면 I2C 주소가 동일한 센서를 동시에 사용할 수 있다. TCA9548A 모듈은 총 여덟 개의 I2C 채널(SD0~SD7, SC0~SC7)을 지원하며, I2C 통신(SDA, SCK)을 매개로 마이크로프로세서와 다른 센서들을 연결한다. 아래 링크로 접속하면 해당 모듈을 구매할 수 있다. T..
-
아두이노 라이브러리 | 자기 엔코더 센서 AS5600 모듈Technology/Arduino 2024. 11. 26. 16:31
1. 자기 엔코더 센서 AS5600 모듈 엔코더 센서는 물체가 회전할 때마다 디지털 신호를 출력하는 전자 소자로, 스텝모터에 부착하여 사용할 경우에는 모터의 회전 위치를 알 수 있어 서보모터처럼 제어하거나, DC모터에 부착하여 사용할 경우에는 모터의 회전 속력을 측정할 수 있다. 엔코더 센서는 동작 원리에 따라 흔히 광학식과 자기식으로 나눌 수 있는데, 해당 예제에서 다루고자 하는 자기 엔코더 센서 AS5600 모듈은 자기장 검출부에 해당하는 소자 위로 자석이 회전하면 자석의 회전 방향을 알아낼 수 있다. 이때 위 아래가 아닌 좌우로 N극과 S극을 가진 특수한 자석을 사용해야 올바르게 동작한다. AS5600 모듈은 DC 3.3V를 기반으로 동작하며, 이를 위한 전원 단자와 접지 단자를 가지고 있다. ..
-
아두이노 | BLDC모터Technology/Arduino 2024. 11. 25. 19:42
1. BLDC모터 BLDC모터(Brushless DC motor)는 표현 그대로, DC모터처럼 동작하지만 브러쉬(brush)가 없는 모터이다. 기존의 DC모터는 브러쉬 구조를 이용해 전극의 방향을 계속 바꿔주어야 한 방향으로 계속해서 회전할 수 있는데, 이는 전극과 브러쉬 사이의 마찰로 인해 효율이 낮고 수명이 비교적 짧다는 단점이 있다. BLDC모터는 브러쉬가 없기 때문에 DC모터보다 효율이 높고 수명도 길다는 장점이 있지만, 브러쉬 구조 없이 한 방향으로 회전시키기 위해 DC모터보다 복잡한 구조와 제어 방법을 가지고 있다는 단점이 있다. DC모터와는 달리 세 가닥의 전선이 모터로부터 나온다. 2. ESC DC모터는 양 전극에 전원을 연결하기만 하면 회전하기 때문에 제어가 단순하지만, BLDC모..
-
아두이노 라이브러리 | 서보모터 정밀 제어Technology/Arduino 2024. 11. 24. 13:39
1. 서보모터 각도 보정 다양한 종류의 서보모터를 사용하다보면 Servo.write(0)과 Servo.write(180)을 선언하여도 0도와 180도에 정확하게 도달하지 않는 경우가 있을 수 있는데, 원인을 알기 위해서는 서보모터 객체에 디지털 핀 번호를 할당하는 메소드 Servo.attach()를 선언하는 방법을 상세하게 알 필요가 있다. Servo.attach()를 선언할 때 부가 기능으로 PWM 신호에서 HIGH를 유지하는 최소 시간과 최대 시간을 추가로 정의할 수 있는데, 이를 정의하지 않으면 최소 시간은 544 μs으로, 최대 시간은 2400 μs이 자동으로 정의된다. 이 상태에서 Servo.write(0)을 선언한다면 주기가 20 ms이면서 0.544 ms동안 HIGH를 유지하는 PWM 신..
-
아두이노 프로젝트 | 휴대용 냉각기Technology/Arduino 2024. 11. 23. 16:19
1. 휴대용 냉각기 일상에서 쉽게 발견할 수 있는 아이스박스를 아두이노 플랫폼을 이용해 휴대용 냉각기로 개조해보자. 구현하고자 하는 휴대용 냉각기는 펠티어 열전소자, 열전소자 발열 해소와 냉각기 내부 냉기 순환을 위한 DC 12V 냉각팬 2개, 이들을 제어하기 위한 DC 5V 릴레이 모듈로 구성되어 있다. 사용자가 냉각 온도를 직접 선택할 수 있도록 가변저항과 열전대, LCD 모듈이 추가되어 있다. 사용자가 가변저항을 조작해 원하는 냉각 온도를 선택하면 상온에서 해당 온도에 도달할 때까지 펠티어 열전소자와 냉각팬을 동작한다. 설정한 온도에 도달한 뒤에는 냉각기 내부 온도가 설정 온도보다 높을 때에만 열전소자가 동작하도록 프로그램을 작성해보자. 2. 프로젝트 2.1. 회로 구성 A10 열전소자 펠티어..
-
아두이노 | 펠티어 열전소자Technology/Arduino 2024. 11. 22. 20:05
1. 펠티어 열전소자 열전대와는 반대로, 서로 다른 종류의 금속 한 끝단을 연결한 채로 전류를 가하면 한쪽 면은 뜨거워지고 다른 한쪽 면은 차가워지는데, 이를 열전 효과(thermoelectric effect), 또는 제백 효과와 구분하여 펠티어 효과(Peltier effect)라 한다. 이 효과를 이용해 만든 것이 펠티어 열전소자이며, 전기를 공급하는 것만으로도 냉각 효과를 낼 수 있어 휴대용 냉각기에 많이 사용된다. 아래 링크로 접속하면 펠티어 열전소자를 구매할 수 있다. A10 열전소자 펠티어 40mm 보급형 반도체냉각 12706앗! 화면폭이 너무 좁아요. 브라우져의 사이즈를 더 늘여주세요~ 좁은 화면으로 보실 때는 모바일 기기에서 최적화된 화면으로 쇼핑을 즐기실 수 있어요~scipia.com ..
-
아두이노 SPI 통신 | 열전대 써모커플 증폭 모듈 MAX31856Technology/Arduino 2024. 11. 21. 20:06
1. SPI 통신 SPI(Serial Peripheral Interface) 통신은 I2C 통신과 마찬가지로, 한 컨트롤러(master)에 여러 개의 주변 장치(slave)를 연결하여 신호를 주고 받는다. SPI 통신은 데이터를 구분하는 동기 클럭 라인(Synchronous Clock, SCLK)과, 컨트롤러에서 주변 장치로 데이터를 보내는 라인(Master Out Slave In MOSI), 주변 장치에서 컨트롤러로 데이터를 보내는 라인(Master In Slave Out, MISO), 주변 장치를 선택하는 라인(Chip Select, CS)으로 구성되어 있으며, CS 신호선을 제외하고는 컨트롤러와 모든 주변 장치가 세 가닥의 신호선을 공유한다. I2C와는 다르게 주변 장치들은 고유 주소를 가지고 ..
-
아두이노 라이브러리 | 다중 스텝모터 동시 제어 MultiStepper.hTechnology/Arduino 2024. 11. 20. 14:35
1. 다중 스텝모터 동시 제어 CNC 가공기나 3D 프린터처럼 여러 스텝모터를 사용하는 기계들을 보면, 스텝모터들이 차례차례 움직이는 것이 아니라 동시에 움직이고 있는 것을 알 수 있다. 이는 사실 스텝모터들이 작은 단위의 단계로 차례차례 동작하되 빠르게 움직여 동시에 움직이는 것처럼 보이는 것이다. 이를 구현하기 위해서는 각 스텝모터가 동작해야할 총 단계와 사용자가 지정한 동작 속력을 고려하여 각 스텝모터의 최소 동작 단위를 계산하는 알고리즘이 필요하다. 2. 아두이노 라이브러리 추가 아두이노 플랫폼에는 여러 스텝모터를 동시에 제어하기 위한 알고리즘이 라이브러리로 구현되어 있다. 그러나 기본적으로 제공되는 라이브러리는 아니기 때문에 라이브러리를 IDE에 추가하는 과정이 필요하다. 아두이노 IDE..