아하
학문

기계공학

하얀도화지113
하얀도화지113

dc 모토에 연결된 프로펠러를 회전시켜 생산되는 전류를 측정하고 싶은데요 아두이노로 측정할 수 있다면 코드를 어떻게 짜야 할까요?

안녕하세요

dc 모토에 연결된 프로펠러를 회전시켜 생산되는 전류를 측정하고 싶은데요

아두이노로 측정할 수 있다면 코드를 어떻게 짜야 할까요?

55글자 더 채워주세요.
2개의 답변이 있어요!
전문가 답변 평가답변의 별점을 선택하여 평가를 해주세요. 전문가들에게 도움이 됩니다.
  • 안녕하세요. 서종현 전문가입니다.

    DC 모터에 연결된 프로펠러가 회전할대 발생하는 전류를 아두이노로 측정하려면 전류센서(예:ACS712)를 사용하시는것이 가장 일반적입니다.

    기본 원리는 모터에 흐르는 전류를 센서가 감지해 아날로그 신호로 변환하면, 아두이노가 이 값을 읽어 실제 전류값으로 계산하는 방식입니다.

    아래는 ACS712전류 센서를 사용한 간단한 아두이노 코드 예시입니다.

    const int sensorPin = A0 ; // ACS712 출력 연결 핀

    const float sensitivity = 0.066 ; //ACS712 30A 모델의 감도V/A)

    const float Vcc = 5.0; // 아두이노 전압

    const int zeroCurrentVoltage = 2500; // 2.5V (ADC 512) 기준 전압

    void setup() { Serial.begin(9600); } void loop()

    { int sensorValue = analogRead(sensorPin);

    float voltage = (sensorValue / 1023.0) * Vcc; // 센서 출력 전압 계산

    float current = (voltage - (Vcc / 2)) / sensitivity; // 전류 계산 (A 단위)

    Serial.print("Current: ");

    Serial.print(current);

    Serial.println(" A");

    delay(500);

    • 센서 출력 전압은 2.5V(무부하 시 )기준으로, 이보다 높으면 양(+)전류, 낮으면 음(-)전류입니다.

    • sensitivity 값은 사용하는 ACS712모델에 따라 다르니 데이터시트를 참고하세요

    • 전류 측정시 모터 전원과 센서 연결을 정확히 해야 하며 센서 출력은 아두이노 아날로그 입력에 연결합니다.

    이방법으로 프로펠러 회전에 따른 모터 전류 변화를 실시간으로 모니터링 할수있습니다.

  • 안녕하세요. 김상규 전문가입니다.

    아두이노 측정 시

    일반적인

    전류측정 소스코드는

     #define CURRENT 20

    void setup() {

      Serial.begin(9600);

    }

     

    void loop() {

      float volt = analogRead(A0) * (5.0 / 1024);

      float current = (volt - 2.5) * (CURRENT / 2);

      Serial.print("volt: \t");

      Serial.print(volt);

      Serial.print("  current: \t");

      Serial.print(current);

      Serial.println();

      delay(100);

    }

    로 알고있습니다

    // CURRENT 의 20 대신 30A 나 5A제품의 경우, 30 또는 5를 적어 주시면 됩니다.