반 중력 프로젝트 가 정확히 무엇에 관한 것인지 공중이나 자유 공간에 떠 다니는 것을 보는 것은 매우 흥미 롭습니다. 물체 (기본적으로 작은 종이 또는 열 감지)는 음향 음파를 생성하는 두 개의 초음파 변환기 사이에 배치 됩니다. 물체는 반 중력으로 보이는 이러한 파도 때문에 공중에 떠 있습니다. 이것은 멋진 Arduino 부상 프로젝트 일뿐만 아니라 많은 실용적인 응용 프로그램을 가지고 있습니다. 연구원들은 이와 매우 유사하게 작동하는 초음파 로봇 그리퍼를 연구하고 있으며, 이러한 그리퍼는 물체를 건드리지 않고 움직이는 물체에 유용 할 수 있습니다.
필요한 구성 요소
- Arduino Uno / Arduino Nano ATMEGA328P
- 초음파 모듈 HC-SR04
- IC 또는 L239d H- 브리지 모듈 L239D
- 베로 보드 점선 베로
- 다이오드 4007
- 커패시터 (PF) 104
8v ~ 12v 전원 공급 장치에 대한 추가 요구 사항
- 전압 조정기 LM 7809
- Led 드라이버 전원 공급 장치 12V 2Amp
추가 자료: 일부 연결 와이어, 수 헤더, 암-암 점퍼 와이어
초음파 부상 회로도
완전한 Arduino 부상 회로 는 아래에 나와 있으며 회로 의 작동 원리는 매우 간단합니다. 이 프로젝트의 주요 구성 요소는 Arduino, L239D 모터 구동 IC 및 초음파 센서 모듈 HCSR04에서 수집 한 초음파 변환기 입니다. 일반적으로 초음파 센서는 25khz에서 50 kHz 사이의 주파수 신호의 음파를 전송하며, 이번 프로젝트에서는 HCSR04 초음파 변환기를 사용하고 있습니다. 우리는 이전에 HCSR04가 주로 거리 측정에 사용되는 많은 초음파 센서 프로젝트를 구축했습니다. 이 프로젝트에서 우리는 모듈에서 트랜스 듀서를 납땜했습니다.
데이터 시트에 따르면이 초음파 변환기의 작동 주파수는 40kHz입니다. 따라서 Arduino와이 작은 코드를 사용하는 목적은 초음파 센서 또는 변환기에 대해 40KHz 고주파 발진 신호 를 생성하는 것이며이 펄스는 듀얼 모터 드라이버 IC L239D (Arduino의 핀 2 및 6)의 입력에 적용됩니다. A0 및 A1 핀)을 사용하여 초음파 변환기를 구동합니다. 마지막으로, 구동 IC (8에 주어진 통상적 8 to12 전압을 전압 구동과 함께이 40KHZ 고주파 진동 신호를인가 번째 초음파 진동자에 IC L239D, VCC2의 핀). 그 결과 초음파 변환기가 음향 음파를 생성합니다.. 우리는 두 변환기 사이에 약간의 공간이 남도록 반대 방향으로 마주 보게 배치했습니다. 음향 음파는 두 변환기 사이를 이동하여 물체를 떠있게합니다.
L293D 이중 전압 입력이 있는지주세요 참고 한 프로젝트 다른 VCC2 (8 아두 이노 5V로 구동되는 IC 자체 전원이다 번째는) 출력 구성 요소에 구동 전압을인가하고이 VCC 핀은 36V까지 허용 할 수있다. 이 IC에는 2 개의 인 에이블 핀, 4 개의 입력-출력 핀, 4 개의 접지 핀이 있습니다. 이 IC를 사용하는 개념은 마이크로 컨트롤러와이 칩을 사용하는 개념에서 비롯됩니다. 마이크로 컨트롤러에서 논리 또는 디지털 신호를 제공하여 모터 2 개의 방향과 속도를 개별적으로 변경할 수 있습니다.
이 회로에서는 IC L293D, 입력 핀 1 (2) 및 입력 핀 2 (7)의 두 입력 만 사용합니다. 이 두 핀을 활성화하려면 IC Enable PIN 1을 높게 유지해야하므로이 핀을 입력 Vcc 1 인 IC 핀 16에 쐈습니다. 자세한 내용은 L293D 데이터 시트를 참조하십시오.
100nf 커패시터의 사용은 IC 전원을 유지하기 위해 선택 사항이며 전원 공급 장치로 12V 2Amp LED 드라이버를 사용한 다음 전압 조정기 IC LM7809를 사용하여 전압을 9v 로 낮추고 공통 접지를 사용하여 L139D의 8 번째 핀에 공급합니다.. Arduino, Cc 및 Arduino 포럼에 따르면 Arduino UNO 보드는 7 ~ 12V 입력을 지원하지만 9V Max를 입력하는 것이 더 안전합니다.
초음파 부상을위한 Arduino 프로그래밍
코딩은 몇 줄로 매우 간단합니다. 타이머 및 인터럽트 기능의 도움으로이 작은 코드를 사용하여 높거나 낮게 (0/1) 만들고 Arduino A0 및 A1 출력 핀에 40Khz의 진동 신호를 생성합니다.
먼저 위상 편이 배열로 시작하십시오.
바이트 TP = 0b10101010;
그리고 모든 두 번째 포트는이 반대 신호를 수신합니다. 그 후 void 설정에서이 코드 줄을 사용하여 모든 아날로그 포트를 출력으로 정의합니다.
DDRC = 0b11111111;
그런 다음 타이머 1을 초기화하고 모든 인터럽트를 비활성화하여 0으로 설정합니다.
이 코드로
noInterrupts (); TCCR1A = 0; TCCR1B = 0; TCNT1 = 0;
그런 다음 타이머 1은 80KHZ에서 비교 인터럽트 클록을 트리거하도록 구성됩니다. Arduino는 16000000 MHZ에서 실행됩니다 ÷ 200 = 80,000 kHz 구형파가이 기능을 사용하여 생성됩니다.
OCR1A = 200; TCCR1B-= (1 << WGM12); TCCR1B-= (1 << CS10);
그 후,이 라인이 활성화되고 타이머 인터럽트를 비교합니다.
TIMSK1-= (1 << OCIE1A);
마지막으로이 코드를 사용하여 인터럽트를 활성화합니다.
인터럽트 ();
각 인터럽트는 아날로그 포트의 상태를 역전시킵니다. 이것은 80kHz 구형파 신호를 40Khz에서 전파 순환 신호로 바꿉니다. 그런 다음 Arduino 출력 A0 및 A1 포트로 값을 보냅니다.
ISR (TIMER1_COMPA_vect) {PORTC = TP; TP = ~ TP; // 다음 실행을 위해 TP 반전}
그리고 루프 아래에 놓거나 실행할 필요가 없습니다.
초음파 부상 설정 구축
이 프로젝트에서는 초음파 변환기를 올바르게 장착하는 것이 중요합니다. 그들은 매우 중요한 반대 방향으로 서로 마주해야하며 초음파 음파가 서로 반대 방향으로 이동하고 교차 할 수 있도록 같은 선에 있어야합니다. 이를 위해 두 개의 작은 나무 또는 MD 보드, 너트 볼트 및 접착제를 사용할 수 있습니다. 드릴 기계로 변환기에 완벽하게 맞도록 두 개의 구멍을 만들 수 있습니다. 스탠드에 초음파 변환기 배열을 걸 수 있습니다.
이 경우 두 장의 판지를 사용한 다음 글루건의 접착제를 사용하여 초음파 변환기를 고정했습니다. 나중에 스탠드를 만들기 위해 간단한 배선 케이스 상자를 사용하고 모든 것을 접착제로 고정했습니다.
다음은 프로젝트 작업을 보여주는 초음파 부상 사진입니다.
초음파 부양 또는 청각 부양은 한쪽면에 초음파 변환기가 장착 된 경우에도 작동하지만,이 경우 장애물 역할을하는 반사경이 필요하여 향후 호버 보드 및 반 중력 운송에 사용될 수 있습니다. 아래에서 전체 작동 비디오를 확인할 수도 있습니다.
프로젝트를 이해하고 재미있는 것을 만드는 것을 즐겼기를 바랍니다. 질문이 있으시면 아래 댓글 섹션에 남겨 주시고 다른 기술 질문에 대한 포럼을 사용할 수도 있습니다.