SBOT1 아두이노 세그웨이 밸런싱로봇 제작(Feat. MPU6050, PID제어)

여기서는 세그웨이(Segway)와 같이 두 바퀴로 균형을 유지하여 넘어지지 않는 로봇을 제작합니다.

이 로봇은 Self-balancing robot 또는 평행자동차, 밸런싱로봇, 세그웨이 로봇으로 불리우며 여기서 실험하는 로봇은 매우 단순한 구조로 최소한의 부품으로 밸런싱로봇을 구현해보고 원리를 이해하는데 목적을 두고 있습니다.

리니어 이송레일 엑추에이터 구동실험

아두이노를 사용하여 리니어 이송레일을 구동하는 실험을 합니다. 400mm 리니어 이송 레일 슬라이더이며, T8(8mm) 2mm피치(한바퀴에 2mm이동)의 리드스크류와 NEMA17 4248 스텝모터가 사용되었습니다.
이송속도는 초당 0~20mm이며 오차는 약 0.5mm입니다. 횡축 부하는 최대 15Kg입니다.

IR 무선 적외선리모컨 실험

이 번에는 아두이노에서 적외선 리모컨을 사용하는 방법을 소개합니다. IR 또는 적외선은 가전기기를 포함한 단순 무선 통신에 광범위하게 사용되며 구현함에 있어서 매우 쉽고 가격이 저렴한 것이 특징입니다. 적외선은 가시 광선과 매우 유사하지만 파장이 길며 사람의 눈에는 보이지 않습니다.

스텝모터 제어 실험

스텝모터는 펄스를 사용하여 정해진 각도만큼 회전하는 모터입니다. 실제로는 스텝모터 구동을 위해 스텝모터 드라이버가 사용되며 스텝모터 드라이버가 펄스 신호를 받으면 스텝모터를 구동하여 정해진 각도(스텝각)로 설정된 방향으로 회전시킵니다. 위치 및 회전 각도 제어를 위해서는 펄스의 수를 사용하며 회전 속도는 펄스의 주파수로 제어하게 됩니다.

74HC595 실험

이 번에는 74HC595 실험을 합니다. 74HC595는 직렬 데이터 입력을 8비트의 병렬로 출력할 수 있는 로직 IC(8-Bit Serial to Parallel Shift Register)입니다. 74HC595를 쓰는 가장 큰 이유는 한정된 디지털 IO로 많은 디지털 출력을 제어하기 위함입니다.

4자리 7세그먼트LED 구동 실험

이 번에는 4자리 7세그먼트 LED를 구동하는 실험을 합니다.

첫 번째 LED에 1을 표시하고 두 번째 LED에 2, 세 번째 LED에 3, 네 번째 LED에 4를 한 번에 하나의 숫자만 0.5 초 간격으로 표시합니다.

4자리 7세그먼트LED : 1개
220Ω  저항 : 8개
 

가변저항 및 아날로그 입력(ADC) 실험

여기서는 가변저항을 사용하여 아날로그값을 읽어오는 실험을 합니다.

이 실험에서는 저항 값을 조정이 가능한 가변저항의 저항값을 아날로그 값으로 변환 한 다음 화면(시리얼모니터)에 표시합니다. 이 실험으로 가변저항으로 변화된 저항값에 따라 전압이 변한다는 것과 이를 아날로그 입력을 통해 디지털 값으로 변환하는 방법에 대해서 알 수 있습니다. 아날로그 입력핀 A0를 사용합니다.

진동센서 실험

여기서는 진동센서를 사용하여 LED를 켜는 실험을 합니다.

진동센서는 틸트(TILT), 기울기, 비드(BEAD), 볼(BALL) 스위치 또는 센서라고도 하며 내부의 전도성 볼의 이동에 의해 접점이 붙거나 떨어지는 원리를 이용하여 진동이나 기울기를 감지합니다. 이 번에는 진동이나 기울기를 감지하여 LED를 점등하는 실험을 합니다. 필요한 부품은 다음과 같습니다.

Pages


Tags