Inhoudsopgave:

Voeg een encoder toe aan Feetech Micro 360 graden continue rotatieservo FS90R - Ajarnpa
Voeg een encoder toe aan Feetech Micro 360 graden continue rotatieservo FS90R - Ajarnpa

Video: Voeg een encoder toe aan Feetech Micro 360 graden continue rotatieservo FS90R - Ajarnpa

Video: Voeg een encoder toe aan Feetech Micro 360 graden continue rotatieservo FS90R - Ajarnpa
Video: Encoder anti-wraparound! [NL] 2024, Juli-
Anonim
Voeg een encoder toe aan Feetech Micro 360 graden continue rotatieservo FS90R
Voeg een encoder toe aan Feetech Micro 360 graden continue rotatieservo FS90R
Voeg een encoder toe aan Feetech Micro 360 graden continue rotatieservo FS90R
Voeg een encoder toe aan Feetech Micro 360 graden continue rotatieservo FS90R

Het is erg moeilijk of bijna onmogelijk om robotbewegingen op wielen nauwkeurig te regelen met behulp van motorbesturing met open lus. Veel toepassingen vereisen een nauwkeurige instelling van de pose of reisafstand van een robot op wielen. Kleine micro-servomotoren met continue rotatie zijn een geweldige goedkope oplossing om kleine robots aan te drijven, maar ze missen de feedbackregeling van grotere servomotoren.

De Feetech Micro 360 graden continue rotatieservo's (FS90R) zijn geweldig voor robotprojecten, maar soms wil je de feedbackcontrole van grotere servo's.

Het converteren van deze kleine servo's om feedbackbesturing met gesloten lus te gebruiken, is eigenlijk heel eenvoudig als je een Tamiya analoge encodersensor en een eenvoudig feedbackalgoritme met gesloten lus toevoegt aan een Arduino- of Raspbery Pi-controller.

Stap 1: benodigde onderdelen

Onderdelen nodig
Onderdelen nodig
Onderdelen nodig
Onderdelen nodig
Onderdelen nodig
Onderdelen nodig
  • FeeTech 9g continue rotatie microservo met ronde servohoorn Leverancier: RobotShop Onderdeel #: RB-Fit-02 Aantal: 1 Eenheidsprijs: $ 4,99 Totaal: $ 4,99
  • Arduino NG met ATmega8 of vergelijkbare Arduino-microcontroller
  • Encoderpaar voor Tamiya Twin Motor-versnellingsbak Leverancier: RobotShop Onderdeel #: RB-Rbo-122 Aantal: 1
  • Avery 8160 1" x 2-5/8" Adresetiketten Leverancier: Office Depot Aantal: 1 vel Totaal: $ 13,99 pak (25 vellen)
  • Encoder-schijfafbeelding van github
  • 5V draagbare telefoonoplader met Micro USB naar USB-A oplaadkabel Leverancier: Best Buy Tzumi - PocketJuice Solo 4000 mAh draagbare oplader Model:4021BB Onderdeel #: 6304825

Raspberry Pi-optie

  1. Raspberry Pi 3 - Model B Leverancier: Adafruit SKU:PRODUCT ID: 3055
  2. Of Raspberry Pi Zero W Basic Pack - Inclusief Pi Zero W Leverancier: Adafruit Part #:PRODUCT ID: 3409Qty: 1

Als je een Raspbery Pi of Pi Zero W gebruikt, zijn twee extra Pi HAT's nodig:

  1. Pimoroni Automation pHAT voor Raspberry Pi Zero Leverancier: Adafruit Onderdeel #:PRODUCT ID: 3352Aantal: 1
  2. SparkFun Pi Servo HAT Leverancier: SparkFun Onderdeelnr.: DEV-14328 Aantal: 1
  3. GPIO Stacking Header - Extra lange 2x20 Pins Leverancier: Adafruit Onderdeel #:PRODUCT ID: 2223Aantal: 2

Stap 2: Benodigd gereedschap

Gereedschap nodig
Gereedschap nodig
  • Mini Philips-schroevendraaier
  • Lijmpistool & lijmstift of superlijm
  • Naaldbektang
  • Voor de Raspberry Pi-versie zijn een soldeerbout en soldeer nodig (optioneel)

Stap 3: Druk de afbeelding van de encoderschijf af op het adreslabelpapier

Druk de afbeelding van de encoderschijf af op het adreslabelpapier
Druk de afbeelding van de encoderschijf af op het adreslabelpapier
  1. Open de Encoder_disk.pdf en druk deze af op het Avery 8160 adresetiketpapier
  2. Gebruik een schaar om de afbeelding van de Encoder-schijf langs de stippellijnen uit het etiketpapier te knippen en knip het middelste gat uit met behulp van de stippellijn als richtlijn

Stap 4: Bevestig de grafische encoderschijf aan de ronde servohoorn

Bevestig de grafische encoderschijf aan de ronde servohoorn
Bevestig de grafische encoderschijf aan de ronde servohoorn
  1. Trek de papieren achterkant van de afbeelding van de encoderschijf uit stap 3
  2. Bevestig de afbeelding van de encoderschijf aan de achterkant van de ronde servohoorn en centreer het grafische gat van de encoderschijf rond de spiebaan van de servohoorn
  3. Strijk de afbeelding van de encoderschijf glad om eventuele luchtbellen of rimpels te verwijderen

Stap 5: Bevestig de Tamiya Analog Encoder aan de Micro Servo Motor

Bevestig de Tamiya Analog Encoder aan de Micro Servo Motor
Bevestig de Tamiya Analog Encoder aan de Micro Servo Motor
Bevestig de Tamiya Analog Encoder aan de Micro Servo Motor
Bevestig de Tamiya Analog Encoder aan de Micro Servo Motor
  1. Plaats een kleine druppel smeltlijm of superlijm op de asnaaf van de micro-servomotor. Gebruik smeltlijm als tijdelijke bevestiging, maar gebruik superlijm voor de definitieve permanente bevestiging.
  2. Bevestig de Tamiya Analog-encoder en zorg ervoor dat het gat in de Tamiya Analog-encoderprintplaat gecentreerd is rond de as van de micro-servomotor met de sensoren naar boven / weg van de motor wijzend

Stap 6: Encoder-sensorkabels wijzigen

Encodersensorkabels wijzigen
Encodersensorkabels wijzigen
  1. De kabels die bij de Tamiya Analog-encoder worden geleverd, moeten worden aangepast om te werken met de standaard grond-5V-signaalconfiguratie op de analoge ingangspinnen van de microcontroller
  2. Verwissel de aarde- en 5V-draden aan het ene uiteinde van de analoge sensorkabel, zodat de 5V-draad zich in het midden van de pinconnector bevindt en de aarde- en signaaldraden zich aan de rand van de pinconnector bevinden
  3. Bevestig het ongewijzigde uiteinde van de kabel aan de Tamiya Analog-encoderpinnen
  4. Bevestig het gewijzigde uiteinde van de kabel aan de analoge ingangspinnen van de Arduino-microcontroller en zorg ervoor dat de aardingsdraad op de Arduino-pin is verbonden met de aardingspin van de Tamiya Analog-encoder
  5. Bevestig de micro-servomotor PWM-kabel aan de D9 PWM-pinnen van uw Arduino-microcontroller

Stap 7: Bevestig de ronde servohoorn aan de microservomotor

Bevestig de ronde servohoorn aan de microservomotor
Bevestig de ronde servohoorn aan de microservomotor
Bevestig de ronde servohoorn aan de microservomotor
Bevestig de ronde servohoorn aan de microservomotor

Monteer de ronde servohoorn met de grafische encoderschijf op de micro-servomotoras en bevestig deze met behulp van de meegeleverde servohoornbevestigingsschroef

Stap 8: Hardware-verbindingen

Hardware-verbindingen
Hardware-verbindingen
Hardware-verbindingen
Hardware-verbindingen
Hardware-verbindingen
Hardware-verbindingen

Arduino-versie

  1. Sluit het gewijzigde uiteinde van de encoder-sensorkabel aan op de analoge 4-poort van de Arduino en let daarbij op de juiste oriëntatie van de Ground-5V-Signaalpin
  2. Sluit de Micro Servo Motor PWM-connector aan op de D9-pinnen van de Arduino-controller
  3. Sluit Arduino aan op een voeding

Raspberry Pi-versie

  1. Stapel de Pimoroni Automation Phat op de Raspberry Pi GPIO-header
  2. Stapel de SparkFun Pi Servo HAT op de Pimoroni Automation Phat
  3. Sluit de signaalpin van de analoge encodersensor aan op de ADC 1-aansluiting op de Pimoroni Automation Phat
  4. Sluit de massa- en 5V-pinnen van de analoge encodersensorconnector aan op de respectieve massa- en 5V-aansluitingen op de Pimoroni Automation Phat
  5. Zorg ervoor dat de SparkFun Pi Servo HAT-voedingsisolatiejumper in de open modus staat (zie handleiding van de leverancier) voordat u de batterij op de hoed aansluit
  6. Sluit batterijvoeding aan op de Raspberry Pi en SparkFun Pi Servo HAT

Stap 9: Download en voer de Micro Servo Motor Encoder-democode uit

Download en voer de Micro Servo Motor Encoder-democode uit
Download en voer de Micro Servo Motor Encoder-democode uit
Download en voer de Micro Servo Motor Encoder-democode uit
Download en voer de Micro Servo Motor Encoder-democode uit

Arduino-versie

  1. Kopieer, kloon of download de Arduino Encoder Encoder.ino, Encoder.h en Encoder.cpp democode van github
  2. Open de democode in de Arduino IDE en selecteer je board in het IDE Tools-menu
  3. Upload de code naar je bord
  4. Zodra het Arduino-bord opnieuw is ingesteld, start het het programma en doorloopt het een reeks vooraf gedefinieerde bewegingen die illustreren hoe de micro-servomotor moet worden bestuurd met behulp van de Tamiya Analog-encoder

Raspberry Pi-versie

  1. Kopieer, kloon of download de encoder.py Python Encoder-democode van github naar uw Raspberry Pi SD-kaart
  2. Open de democode in de Python 3 Idle IDE en voer de code uit vanuit het IDE Run-menu
  3. Zodra het programma start, wordt het programma gestart en doorloopt het een reeks vooraf gedefinieerde bewegingen die illustreren hoe de micro-servomotor moet worden bestuurd met behulp van de Tamiya Analog-encoder. Uncomment naar code gelabelde interactieve modus om positiecommando's in te voeren vanaf de Python shell-opdrachtregel

Stap 10: Probeer de online robotdemo

  1. U kunt een voorbeeldrobot met encodergestuurde Micro Servo-motoren testen op de gratis website droidguru.net
  2. Ga naar: droidguru.net. Bekijk eerst de tutorial als je niet weet hoe het werkt (Help menu). Joystick stuurt de robot en de A-knop vuurt het Airsoft-pistool af, tenzij de BB's leeg zijn of de batterij leeg is. (Best wanneer bekeken op een laptop/desktopcomputer)
  3. Volg deze stappen om de voorbeeldrobot te gebruiken

    • Inloggen als gast
    • Selecteer de Wheels-kamer in het Join Room-paneel
    • Selecteer de Drone Patrol 1-robot in het deelvenster Kamerleden
    • Nadat de afteltimer is afgelopen, kunt u de robot besturen met de joystick of jog-knoppen
    • Selecteer de Drone Patrol 1-robot opnieuw in het deelvenster Kamerleden om een nieuwe robotbesturingssessie te starten
  4. De virtuele joystick bestuurt de robot en de taakpijlknoppen van de joystick regelen jog/nonius/incrementele motorbewegingen met behulp van de analoge encoders om het airsoft-pistool beter uit te lijnen met de doelen

Aanbevolen: