Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Een nauwkeurig meetwieltje bouwen met Arduino Nano en draaiencoder

Onderdelen en benodigdheden

Onderdeel Aantal
Arduino Nano R3 1
Standaard LCD 16×2 (wit op blauw) 1
Draaiencoder met drukknop 1
Enkelvoudige potentiometer 10 kΩ 1
Weerstand 220 Ω 1

Benodigde tools

  • Solderbout

Apps en online diensten

  • Arduino IDE

Over dit project

Een meetwiel is een bouwmeetinstrument. Het wiel roteert en met behulp van basis rotatiekinematica (s = rθ) kan de afstand tussen twee punten worden bepaald.

De video toont een werkend model met de volgende componenten:

  • Arduino Nano
  • Draaiencoder
  • 16×2 LCD-display
  • 10 kΩ potentiometer (voor LCD-contrast)
  • 220 Ω weerstand (voor LCD-backlight)

Werkingsprincipe

De draaiencoder meet het aantal stappen per rotatie. De afgelegde afstand hangt af van de wielstraal.

  • N = stappen per volledige rotatie (360°) – afhankelijk van de encoder (typisch 8 tot 48).
  • R = straal van het wiel in cm.

Afstand per rotatie = 2 × π × R
Afstand per stap = (2 × π × R) / N

De code berekent de afstand in centimeters en toont deze op het LCD. De waarden voor N en R worden in de code aangepast aan de gebruikte hardware. In dit project is het wiel 3D-geprint en gemonteerd op een aluminiumstang.

Code

/* Meetwiel
 * Door Mirko Pavleski
 * https://www.youtube.com/channel/UCHLzc76TZel_vCTy0Znvqyw
 */
#include <LiquidCrystal.h>
LiquidCrystal lcd(5, 6, 7, 8, 9, 10); // RS, E, D4, D5, D6, D7

int pin1 = 2; // Encoder CLK
int pin2 = 3; // Encoder DT
int Pos = 0;
int State;
int LastState;

const float pi = 3.14159;
const float R = 3.25; // Straal in cm
const int N = 40;     // Stappen per rotatie
float distance = 0;

void setup() {
  pinMode(pin1, INPUT_PULLUP);
  pinMode(pin2, INPUT_PULLUP);
  lcd.begin(16, 2);
  lcd.print("MEETWIEL");
  LastState = digitalRead(pin1);
}

void loop() {
  State = digitalRead(pin1);
  if (State != LastState) {
    if (digitalRead(pin2) != State) {
      Pos++; // Kloksgewijs
    } else {
      Pos--; // Counterkloksgewijs
    }
  }
  distance = ((2 * pi * R) / N) * Pos;
  lcd.setCursor(0, 1);
  lcd.print(distance);
  lcd.setCursor(5, 1);
  lcd.print("cm ");
  LastState = State;
}

Schema

Een nauwkeurig meetwieltje bouwen met Arduino Nano en draaiencoder

Productieproces

  1. Bouw een retro Numitron-klok met Arduino: Eenvoudig, betrouwbaar en energiezuinig
  2. Bouw een real-time gyroscoop-spel met Arduino Nano & MPU-6050 sensor
  3. Een eenvoudige obstakelsensor bouwen met Arduino – IR LED & Fotodiodo Tutorial
  4. Bouw een DIY Voltmeter met Arduino en Nokia 5110 Display – Stap-voor-Stap Handleiding
  5. MobBob: Bouw Je Eigen Arduino Robot, Naadloos Bestuurd via Android Smartphone
  6. Web-IoT Meter Bouwen met Arduino, Yaler en IFTTT
  7. DIY Frequentiemeter – Meet tot 6,5 MHz met Arduino Nano
  8. Precieze Luchtkwaliteit Monitor met Sharp GP2Y1010AU0F Sensor
  9. Bouw een handgehoude Geiger-teller met Arduino Nano
  10. Accurate zonnestralingsmeting met Arduino UNO en Ethernet Shield
  11. Bouw een betrouwbare wekker met DS1302 RTC en Arduino UNO