회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
135 중고장터 아두이노 Due 보드3 강동하하 194 2022.03.05
134 중고장터 ABOV MCU // _MC97F2664L14_ // 4500EA 판매합니다.2 꺄리품품 187 2021.08.12
133 중고장터 CAN통신 어날라이저(CANPro Analyzer) CAN TO USB 이재천3000 267 2018.03.24
132 중고장터 HOT히오끼 3282 후꾸메타 팝니다 쏘룩스 541 2016.06.14
131 중고장터 8채널 터치키 IC판매 합니다 더못난이 360 2016.04.26
130 중고장터 HOT마이컴 8051등 관련 전체 10만 직거래 hilosys 496 2015.12.18
129 중고장터 HOTSMA 커넥터 판매합니다. 다리미 453 2015.07.06
128 중고장터 HOT하코(hakko) 인두팁 900M-T-B와 900M-T-2C 판매합니다. 개뼈다구 661 2015.04.14
127 중고장터 HOT소형 유량센서 팝니다. sensor 439 2015.02.28
126 중고장터 HOT아트웍 및 S/W, H/W, F/W등 제품 개발 합니다. 空智 691 2015.01.17
125 중고장터 HOT컨트롤보드 개발의뢰 김평식 735 2014.10.08
124 중고장터 HOT살균,건조회로판2 오엠 1004 2014.07.08
123 중고장터 HOT산업용 잉크젯 및 Piezo Actuator Controller 개발의뢰 받습니다. woojinauto 2847 2013.12.19
122 중고장터 HOT여러제품 팝니다.6 건방진순대씨 3156 2013.11.28
121 중고장터 HOTatmel avr isp mkll 팝니다. 뽀리 2733 2013.11.04
120 중고장터 HOT컨트롤보드 개발의뢰 타이거123 2117 2013.11.04
119 중고장터 HOTUBICOM ISP/ISD 아답터 삽니다. IP2022-PQ80-120 프로그램용 블루핑 4038 2013.05.10
118 중고장터 HOT브레드보드 에폭시기판 클램프테스터기 팝니다. 강남야연 5272 2013.04.28
117 중고장터 HOTe-paer 모듈 nedison 5108 2012.12.11
116 중고장터 HOTPICkit2, PIC보드, IEC266-Lite+확장보드, 바이올로이드킷, 오토닉스센서 팝니다.1 fe 5871 2012.12.08
  • 아버지가 자식들을 위해서 할 수 있는 가장 중요한 일은 그들의 어머니를 사랑하는 것이다.
    - 헤즈버그
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.