회원가입 ID/PW 찾기
AA

모터작동 이전까지는 값을 잘 출력하다가 모터를 켤 때마다 통신이 끊깁니다.

이렇게 한번 끊기고 나서는 통신을 재개하여도 보낸 데이터를 계속 보내는 현상또한 발생합니다. 좀 기다리면 새로운 데이터를 보내는데 이러면 또 몇초동안 같은 데이터를 반복하고 몇초 뒤 다른 데이터를 몇초동안 보내고 무한반복힙니다.

 

vertical horizontal 두 방향으로 모터에 센서 장착했고요 모터는  200W AC모터 사용합니다. 

코드 첨부합니다.

 

#include <Wire.h> //horizontal

#define I2C_Address 0x53

//ADXL345 register address

#define POWER_CTL 0x2D

#define DATA_FORMAT 0x31

#define X_axis 0x32

#define Y_axis 0x34

#define Z_axis 0x36

#define Range_2g 0

#define Range_4g 1

#define Range_8g 2

#define Range_16g 3

void setup() {

 Wire.begin(); // 센서 작동 시작

 Serial.begin(9600); // 통신속도 9600으로 설정

 Init_ADXL345(Range_4g);

 Serial.println("CLEARDATA");

 Serial.println("X,Y,Z");

}

void loop() {

 //3축 출력

 Serial.print("DATA,");

 Serial.print(Read_Axis(X_axis));

 Serial.print(", ");

 Serial.print(Read_Axis(Y_axis));

 Serial.print(", ");

 Serial.print(Read_Axis(Z_axis));

Serial.println();

 delay(20);

}

//I2C인터페이스를 통해 축을 읽음

int Read_Axis(byte a) {

 int data;

 Wire.beginTransmission(I2C_Address);

 Wire.write(a);

 Wire.endTransmission();

 Wire.beginTransmission(I2C_Address);

 Wire.requestFrom(I2C_Address, 2);

 if (Wire.available()) {

 data = (int)Wire.read();

 data = data | (Wire.read() << 8);

 }

 else {

 data = 0;

 }

 Wire.endTransmission();

 return data;

}

//ADXL345 초기화

void Init_ADXL345(byte r) {

 Wire.beginTransmission(I2C_Address);

 //감도설정

 Wire.write(DATA_FORMAT);

 Wire.write(r);

 Wire.endTransmission();

 //측정모드로 전환

 Wire.beginTransmission(I2C_Address);

 Wire.write(POWER_CTL);

 Wire.write(0x08);

 Wire.endTransmission();

}

    

댓글 1
  • No Profile

    모터 노이즈의 의한 물리적인 노이즈 간섭이 아니고

    단순히 제어 코드 문제라면요

    제어 코드에서 모터를 읽는 구문이 동기인지 비동기인지, 탈출 조건이 있는지도 점검해 보세요

     

    제어권을 마스터가 오롯이 가지는 등

하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
         PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.

search
번호 분류 제목 글쓴이 조회 수 날짜
776 전기전자 아무거나 전자회로 문제 질문 부탁드립니다.. -1748 221 2024.06.26
Sensor 설계 안녕하십니까 adxl345를 이용하여 모터진동을 측정하려는데 모터를 켤 때마다 통신이 끊깁니다1 uiouiouio 286 2024.06.01
774 전기전자 아무거나 wein bridge 발진기에 대한 질문 입니다. 김준구 191 2024.05.19
773 전기전자 아무거나 스위치와 전동기를 통한 전자회로 구성에 관한 질문 김태한 200 2024.03.30
772 전기전자 아무거나 cad랑 pscad 랑 유사점1 송영우 167 2024.03.05
771 전기전자 아무거나 pscad 강의나 서적추천1 송영우 139 2024.03.05
770 전기전자 아무거나 반도체쪽으로 취업2 송영우 231 2024.03.05
769 전기전자 아무거나 전력계통 캡스톤디자인 송영우 218 2024.03.05
768 전기전자 아무거나 전력계통 전기기사 송영우 133 2024.03.05
767 전기전자 아무거나 전력계통vs제어공학 취업 송영우 151 2024.03.05
766 전기전자 아무거나 제어공학 연구로 octave 공부중인데2 송영우 176 2024.03.05
765 전기전자 아무거나 전력 계통 캡스톤디자인 때문에 PSCAD 시작하려고 하는데 막막하네요 송영우 124 2024.03.05
764 전기전자 아무거나 octave강의나 학습방법1 송영우 161 2024.03.05
763 전기전자 아무거나 pscad 강의나 학습방법 송영우 234 2024.03.05
762 전기전자 아무거나 주파수 공부중입니다.4 이윤찬 229 2024.01.22
761 전기전자 아무거나 자동제어 PID설계 예제좀 도와주실분...2 어그래긴장하지마 386 2023.05.19
760 전기전자 아무거나 미니 USB MIC 에 WM-61A 연결했는데.. 노이즈가..1 스퀴즈 220 2023.05.15
759 전기전자 아무거나 직각으로 꺾인 전선의 자기장의 방향3 전기왕이될거야 274 2023.05.02
758 전기전자 아무거나 부하기 제작 관련 저항기 스펙선정이 궁금합니다.1 프롭 135 2023.04.26
757 전기전자 아무거나 USB C단자 하위호환 질문2 Newbie 170 2023.03.22
Prev 1 2 3 4 5 6 7 8 9 10 ... 39 Next
  • 인생은 반복된 생활이다. 좋은 일을 반복하면 좋은 인생을, 나쁜 일을 반복하면 불행한 인생을 보내는 것이다.
    - W.NL.영안
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.