회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
634 PADS HOTpads 9.5 크랙버전 다운 어디서 받을까요...?2 팥빙 686 2024.05.06
633 PADS pads layout 다운로드 방법 아시는 분 있나요 이윤찬 216 2024.01.22
632 PADS 패턴안테나설계 하드웨어개발의호랑이 150 2022.11.10
631 PADS PCB artworks 에서1 강동하하 174 2022.03.05
630 Allegro & OrCAD 거버파일 각 레이어 역할!! 도와주세요!!1 제니 162 2021.12.12
629 PADS PADS9.5 설치 오류 ㅜㅠㅠ2 킹현또 298 2021.02.15
628 ECAD Simulation HOTPSpice로 이 회로를 만드는 방법1 -2420 617 2020.10.21
627 ECAD Simulation Pspice 소자문 질문입니다1 sfde 213 2020.09.08
626 PADS pads 9.3 라이센스... 아니즈기여 362 2020.01.28
625 PADS copper pour 씌우기에 대해 문의드립니다. 패턴그릴때처럼 pervent error 기능이 있는지요?2 또지 300 2019.09.08
624 ECAD 아무거나 HOT알티움 부품라이브러리에서 부품 수정 후 pcb, 회로도에 적용 관련 질문 드립니다 프리왁 600 2019.07.17
623 PADS 라이브러리 생성 건 반도체타파 208 2019.07.03
622 PADS 초보 질문드려요1 INSIK 285 2018.01.18
621 PADS HOTPADS 라이센스 에러3 포이어 588 2017.10.25
620 ECAD 아무거나 HOTvia hole 개수와 전류 상관 관계1 one 569 2017.10.10
619 PADS HOT기존 회로도에서 전원심볼 라이브러리 저장2 이팔청춘 537 2017.08.28
618 ECAD 아무거나 HOT임피던스 PCB 제작에 대해 질문 드립니다.4 당근1 417 2017.08.22
617 PADS 패턴이 노출되어있는지 어떻게 확인 할 수 있나요?1 힘들땐박카스 215 2017.07.10
616 PADS 부품 질문 입니다2 초구의마술사 175 2017.06.15
615 ECAD 아무거나 스루홀 설계에 대한 질문입니다1 황소61 133 2017.06.15
Prev 1 2 3 4 5 6 7 8 9 10 ... 32 Next
  • 호기심이란 무지의 고백인데 그것은 의도적이면 당당하며 열렬하다.
    - 루빈슈티안
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.