Raspberry Pi - Actuator

Deze handleiding laat u zien hoe u met Raspberry Pi een lineaire actuator aanstuurt. We leren in detail:

Er zijn twee typen lineaire actuatoren:

Deze handleiding is voor een lineaire actuator zonder feedback. Als u een lineaire actuator met feedback wilt leren kennen, zie dan deze Raspberry Pi - Actuator with Feedback handleiding.

Hardware Benodigd

1×Raspberry Pi 5
1×Lineaire actuator
1×L298N Motordriver Module
1×12V Voedingsadapter
1×DC Stroomaansluiting
1×Jumper draden
1×(Aanbevolen) Schroefklem Block Shield voor Raspberry Pi
1×(Aanbevolen) Raspberry Pi Prototyping Basisplaat & Breadboard Kit
1×(Aanbevolen) HDMI-Touchscreen-Monitor voor Raspberry Pi

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Over Lineaire Actuator

Lineaire actuator uitschuiven en intrekken

Lineaire Actuator Pinout

Een lineaire actuator heeft twee draden, waarbij de positieve draad meestal rood is en de negatieve draad meestal zwart.

Lineaire actuator pinout

Hoe het Werkt

Bij de aankoop van een lineaire actuator is het belangrijk te weten op welke spanning deze werkt. Als voorbeeld nemen we een 12V lineaire actuator.

Als u de 12V lineaire actuator van een 12V voedingsbron voorziet:

  • Sluit 12V aan op de positieve draad en GND aan op de negatieve draad: dan schuift de lineaire actuator met maximale snelheid uit tot het eindpunt.
  • Sluit 12V aan op de negatieve draad en GND op de positieve draad: dan trekt de lineaire actuator met maximale snelheid in tot het eindpunt.

Als de voeding voor de actuator wordt uitgeschakeld door de ground-draad op zowel de positieve als negatieve draad aan te sluiten, stopt het uitschuiven of intrekken.

※ Notiz:

Voor DC-motoren, servomotoren en stappenmotoren zonder versnelling, als er een belasting aanwezig is en de voeding wordt uitgeschakeld, kunnen ze hun positie niet behouden. Een actuator kan daarentegen zijn positie behouden, zelfs als de voeding wordt uitgeschakeld terwijl hij een last draagt.

Als de spanning van de voeding voor lineaire actuatoren minder dan 12V is, schuift of trekt de actuator nog steeds, maar niet op maximale snelheid. Dit betekent dat we de snelheid van de lineaire actuator kunnen aanpassen door de spanning te variëren. Deze methode wordt echter weinig gebruikt omdat het lastig is om de voedingsspanning nauwkeurig te regelen. Daarom wordt de voeding meestal constant gehouden en wordt de snelheid van de lineaire actuator geregeld met een PWM-signaal. Hoe hoger de duty cycle van de PWM, hoe sneller de actuator uitschuift of intrekt.

Hoe je lineaire actuator aanstuurt

Hoe een lineaire actuator aan te sturen met Raspberry Pi

Het aansturen van een lineaire actuator omvat:

  • De lineaire actuator laten uitschuiven met maximale snelheid.
  • De lineaire actuator laten intrekken met maximale snelheid.
  • (Optioneel) De snelheid van uitschuiven/intrekken regelen.

De Raspberry Pi kan een signaal genereren om de lineaire actuator aan te sturen, maar dit signaal heeft een lage spanning en stroomsterkte. Daarom is er tussen Raspberry Pi en lineaire actuator een hardware driver nodig om het aansturingssignaal van de Raspberry Pi te versterken, en ook een tweede aansturingssignaal te ontvangen om de polariteit van de voeding te schakelen voor richtingscontrole.

※ Notiz:

  • Deze handleiding kan worden gebruikt met elke lineaire actuator. De 12V lineaire actuator is slechts een voorbeeld.
  • Bij het aansturen van een 5V lineaire actuator, ook al levert een Raspberry Pi pin 5V (gelijk aan de actuator spanning), is toch een driver nodig tussen Raspberry Pi en actuator omdat de Raspberry Pi pin niet genoeg stroom kan leveren voor de actuator.

Er zijn veel verschillende chips en modules beschikbaar, zoals de L293D en L298N, die kunnen worden gebruikt als lineaire actuator drivers. In deze handleiding gebruiken we de L298N driver.

Over L298N Driver

De L298N driver kan worden gebruikt voor het aansturen van een lineaire actuator, een DC motor en een stappenmotor. Deze handleiding legt uit hoe u hem gebruikt voor het aansturen van een lineaire actuator.

L298N Driver Pinout

L298N Driver pinout

De L298N Driver heeft twee kanalen, A en B. Daarmee kan hij twee lineaire actuatoren onafhankelijk gelijktijdig aansturen. Stel dat lineaire actuator A is aangesloten op kanaal A en lineaire actuator B op kanaal B. De L298N Driver heeft in totaal 13 pinnen.

De gemeenschappelijke pinnen voor beide kanalen:

  • VCC pin: levert voeding voor de lineaire actuator, met een spanningsbereik van 5 tot 35V.
  • GND pin: gemeenschappelijke massa, moet aangesloten worden op 0V (GND).
  • 5V pin: levert voeding voor de L298N module, kan worden geleverd door 5V van de Raspberry Pi.

Kanaal A pinnen:

  • ENA pinnen: deze worden gebruikt om de snelheid van lineaire actuator A te regelen. Door de jumper te verwijderen en de pin aan te sluiten op een PWM ingang, kunnen we de uitschuif-/intreksnelheid van actuator A regelen.
  • IN1 & IN2 pinnen: deze pinnen regelen de richting van de actuator. Als één van de pinnen HIGH is en de andere LOW, schuift of trekt de actuator. Zijn beide inputs HIGH of LOW, dan stopt de actuator.
  • OUT1 & OUT2 pinnen: aangesloten op lineaire actuator A.

Kanaal B pinnen:

  • ENB pinnen: jumper kan worden verwijderd en de pin kan op een PWM ingang worden aangesloten om de snelheid van lineaire actuator B te regelen.
  • IN3 & IN4 pinnen: door één van deze op HIGH te zetten en de andere op LOW, beweegt de actuator in één richting. Zijn beide in dezelfde stand (HIGH of LOW), dan stopt de actuator.
  • OUT3 & OUT4 pinnen: verbonden met lineaire actuator B.

Zoals eerder vermeld, heeft de L298N driver twee voedingsbronnen nodig:

  • één voor de lineaire actuator (VCC en GND): tussen 5 en 35V.
  • één voor de interne werking van de L298N module (5V en GND): tussen 5 en 7V.

Verwijder voor het overzicht alle jumpers van de L298N driver.

Met behulp van een Raspberry Pi en een L298N driver kunnen we twee lineaire actuatoren onafhankelijk tegelijk aansturen. Voor het aansturen van elke lineaire actuator zijn maar drie Raspberry Pi pinnen nodig.

※ Notiz:

De rest van deze handleiding richt zich op het aansturen van een lineaire actuator via kanaal A. Het aansturen van de tweede actuator gaat op dezelfde manier.

Hoe een lineaire actuator aan te sturen

We bestuderen hier de methode om de L298N driver te gebruiken voor het aansturen van een lineaire actuator.

Bedradingsschema

Verwijder alle drie de jumpers van het L298N module voordat u begint met aansluiten.

Raspberry Pi Lineaire Actuator L298N Driver bedradingsschema

This image is created using Fritzing. Click to enlarge image

Om uw bekabelingsopstelling te vereenvoudigen en te organiseren, raden we het gebruik van een Schroevenklemaansluiting-shield voor Raspberry Pi aan. Deze shield zorgt voor veiligere en beter beheerbare verbindingen, zoals hieronder weergegeven:

Raspberry Pi Schroevenklemaansluiting-Shield

Hoe de lineaire actuator te laten uitschuiven/intrekken

De bewegingsrichting van de linear actuator wordt geregeld door een logische HIGH/LOW aan IN1 en IN2 pinnen te geven. De onderstaande tabel toont de richtingscontrole voor beide kanalen.

IN1 pin IN2 pin Richting
LOW LOW Lineaire actuator A stopt
HIGH HIGH Lineaire actuator A stopt
HIGH LOW Lineaire actuator A schuift uit
LOW HIGH Lineaire actuator A trekt in
  • Laat lineaire actuator A uitschuiven
GPIO.output(IN1_PIN, GPIO.HIGH) GPIO.output(IN2_PIN, GPIO.LOW)
  • Laat lineaire actuator A intrekken
GPIO.output(IN1_PIN, GPIO.LOW) GPIO.output(IN2_PIN, GPIO.HIGH)

※ Notiz:

De oriëntatie van de lineaire actuator kan worden omgedraaid door de OUT1 en OUT2 pinnen andersom aan te sluiten. Dit kan door de OUT1 en OUT2 pinnen om te wisselen of door de besturingssignalen op IN1 en IN2 in de code aan te passen.

Hoe de lineaire actuator te stoppen tijdens uitschuiven of intrekken

De lineaire actuator stopt automatisch wanneer hij het eindpunt bereikt. U kunt ook programmeren dat de actuator stopt vóór het bereiken van het eindpunt.

Er zijn twee manieren om de actuator te stoppen:

  • De snelheid terugbrengen naar 0
  • De voedingsspanning onderbreken
pwm.ChangeDutyCycle(0);
  • Zet IN1 en IN2 pinnen op dezelfde waarde, ofwel LOW of HIGH.
GPIO.output(IN1_PIN, GPIO.LOW) GPIO.output(IN2_PIN, GPIO.LOW)
  • Of
GPIO.output(IN1_PIN, GPIO.HIGH) GPIO.output(IN2_PIN, GPIO.HIGH)

Hoe de snelheid van de lineaire actuator te regelen via L298N Driver

Het regelen van de snelheid van de lineaire actuator is eenvoudig. In plaats van de ENA pin constant op HIGH te zetten, kunnen we een PWM-signaal genereren op de ENA pin. Dat doen we door:

  • Een Raspberry Pi pin aan te sluiten op de ENA pin van de L298N
  • Een PWM-signaal te genereren op de ENA pin met behulp van de pwm.ChangeDutyCycle() functie. De L298N driver versterkt dit PWM-signaal naar de lineaire actuator.
pwm.ChangeDutyCycle(speed) # speed is een waarde tussen 0 en 255

De snelheid is een waarde van 0 tot 255. Bij 0 stopt de lineaire actuator met bewegen. Bij 255 schuift of trekt de actuator met maximale snelheid.

Raspberry Pi Voorbeeldcode

De onderstaande code:

  • Laat de lineaire actuator volledig uitschuiven met maximale snelheid
  • Laat de lineaire actuator volledig intrekken met maximale snelheid

Snelle Stappen

Verwijder alle drie de jumpers van het L298N module. Daarna:

  • Zorg dat u Raspbian of een ander Raspberry Pi compatibel besturingssysteem geïnstalleerd heeft op uw Pi.
  • Zorg dat uw Raspberry Pi verbonden is met hetzelfde lokale netwerk als uw PC.
  • Zorg dat uw Raspberry Pi internettoegang heeft als u libraries moet installeren.
  • Als dit de eerste keer is dat u een Raspberry Pi gebruikt, zie hoe de Raspberry Pi in te stellen
  • Maak via SSH verbinding van uw PC met de Raspberry Pi, gebruik hiervoor een ingebouwde SSH client op Linux en macOS of PuTTY op Windows. Zie hoe maakt u verbinding via SSH met Raspberry Pi.
  • Zorg dat de RPi.GPIO bibliotheek geïnstalleerd is. Indien niet, installeer deze met het volgende commando:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Maak een Python scriptbestand aan met de naam actuator.py en voeg de volgende code toe:
# Deze Raspberry Pi code is ontwikkeld door newbiely.nl # Deze Raspberry Pi code wordt zonder enige beperking aan het publiek beschikbaar gesteld. # Voor volledige instructies en schema's, bezoek: # https://newbiely.nl/tutorials/raspberry-pi/raspberry-pi-actuator import RPi.GPIO as GPIO import time # Constants ENA_PIN = 25 # GPIO pin connected to the EN1 pin L298N IN1_PIN = 8 # GPIO pin connected to the IN1 pin L298N IN2_PIN = 7 # GPIO pin connected to the IN2 pin L298N # Setup GPIO.setmode(GPIO.BCM) GPIO.setup(ENA_PIN, GPIO.OUT) GPIO.setup(IN1_PIN, GPIO.OUT) GPIO.setup(IN2_PIN, GPIO.OUT) # Set ENA_PIN to HIGH to enable the actuator GPIO.output(ENA_PIN, GPIO.HIGH) # Main loop try: while True: # Extend the actuator GPIO.output(IN1_PIN, GPIO.HIGH) GPIO.output(IN2_PIN, GPIO.LOW) time.sleep(20) # Actuator will stop extending automatically when reaching the limit # Retract the actuator GPIO.output(IN1_PIN, GPIO.LOW) GPIO.output(IN2_PIN, GPIO.HIGH) time.sleep(20) # Actuator will stop retracting automatically when reaching the limit except KeyboardInterrupt: pass finally: # Cleanup GPIO on program exit GPIO.cleanup()
  • Sla het bestand op en voer het Python script uit met het volgende commando in de terminal:
python3 actuator.py

Het script draait in een oneindige lus tot u Ctrl + C indrukt in de terminal.

U zult het volgende zien:

  • De lineaire actuator schuift uit tot het eindpunt, en stopt dan.
  • De lineaire actuator blijft even in die positie staan.
  • De lineaire actuator trekt in tot het eindpunt, en stopt dan.
  • De lineaire actuator blijft even in die positie staan.
  • Deze cyclus herhaalt zich continu.

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten en demonstreert stap voor stap hoe u de lineaire actuator met Raspberry Pi aanstuurt.

Gerelateerde Tutorials

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!