Inhoudsopgave:

16-kanaals servotester met Arduino en 3D-printen - Ajarnpa
16-kanaals servotester met Arduino en 3D-printen - Ajarnpa

Video: 16-kanaals servotester met Arduino en 3D-printen - Ajarnpa

Video: 16-kanaals servotester met Arduino en 3D-printen - Ajarnpa
Video: servotester operations 2024, November
Anonim
16-kanaals servotester met Arduino en 3D-printen
16-kanaals servotester met Arduino en 3D-printen
16-kanaals servotester met Arduino en 3D-printen
16-kanaals servotester met Arduino en 3D-printen
16-kanaals servotester met Arduino en 3D-printen
16-kanaals servotester met Arduino en 3D-printen

Bij vrijwel elk project dat ik de laatste tijd heb gedaan, moest ik een aantal servo's testen en experimenteren met hun posities voordat ze in de assemblage gaan. Ik maak meestal een snelle servotester op een breadboard en gebruik de seriële monitor in de arduino IDE om de servoposities te krijgen, maar deze keer besloot ik mezelf te trakteren en een ingesloten, permanent systeem te ontwerpen om mijn servo's te testen!

Het ontwerp kan 16 servo's tegelijkertijd besturen, met behulp van het Adafruit PCA9685 servo-stuurprogrammabord. Om ruimte te besparen heeft hij slechts 4 potentiometers voor afstelling en een aparte set schakelaars wordt gebruikt om de set van vier te selecteren die u wilt bedienen. Een probleem dat ik bij vroege prototypes tegenkwam, was dat het ontwerp vrij moeilijk te solderen was en vervolgens in een klein doosje te proppen, dus dit meest recente ontwerp is plat gedrukt, gesoldeerd en opgevouwen, waardoor het supergemakkelijk te monteren is!

Ik heb potentiometers van goede kwaliteit gebruikt met een M9-montagegat, maar als u de Fusion 360-assemblage wilt aanpassen aan uw vereisten, kunt u het bestand downloaden: https://a360.co/2Q366j4 (of boor het gewoon groter).

Ik hoop dat je zult genieten van dit snelle project, ik weet dat ik veel van de mijne zal hebben!

OPMERKING: ik heb problemen met het uploaden van het downloadpakket naar instructables, dus als je het hier niet kunt krijgen, haal het dan van mijn website.

Benodigdheden

  • Arduino Uno:
  • Adafruit PCA9685 16-kanaals servostuurprogramma:
  • 5,5 mm DC-paneelingang -
  • 5V voeding (5A in dit geval om veel servo's aan te kunnen sturen) -
  • 10K Potentiometer (Merk op dat er ruimte is in het ontwerp voor verschillende soorten potentiometers, afhankelijk van wat je hebt) -
  • 10K Weerstand x 2:
  • SainSmart 1,8" TFT LCD-kleurenschermmodule:
  • Push-to-make-schakelaar:
  • Draad om te solderen (enkele kern was handig vanwege het gemak waarmee het op de Arduino kan worden aangesloten)

Stap 1: Afdrukken en monteren

Bedrukking en montage
Bedrukking en montage
Bedrukking en montage
Bedrukking en montage
Bedrukking en montage
Bedrukking en montage

Er zijn geen echte vereisten voor het 3D-printen, er is geen reden waarom je dit niet met een vrij lage resolutie kunt printen. Als je een grote printer hebt, is het mogelijk om alles in één keer te printen, maar als je een meer standaard printer hebt met een printbed van ongeveer 200 mm x 200 mm, kun je de basis in drie afzonderlijke delen printen. Als je alle onderdelen hebt laten printen, kunnen de twee helften van de basis met 8*M2 x 4mm schroeven aan elkaar worden verbonden.

U kunt nu alle componenten plaatsen - potentiometers en schakelaars kunnen in hun panelen worden geschroefd met behulp van de meegeleverde moeren, en de platen kunnen eenvoudig worden vastgeschroefd met M2 x 6 mm-10 mm schroeven. Het moet duidelijk zijn hoe de planken naar binnen gaan op basis van het patroon van de gaten. Het enige onderdeel dat wat lastiger is, is de monitor, aangezien dat specifieke model geen handige montageoplossing heeft. Ik heb wat tape gebruikt om het aan het paneel te bevestigen, maar je zou lijm of iets dergelijks kunnen gebruiken.

Stap 2: Bedrading

Bedrading
Bedrading
Bedrading
Bedrading
Bedrading
Bedrading

De beste aanpak is om elk paneel zo volledig mogelijk te bedraden en vervolgens alle kruispaneelverbindingen te maken terwijl u de behuizing sluit. Ik heb superlijm gebruikt om bepaalde draden op hun plaats te houden en het kabelbeheer te netjesen, en je moet waar mogelijk ook krimpkous gebruiken om de contacten te isoleren.

Stap 3: Arduino-programmering

Arduino-programmering
Arduino-programmering
Arduino-programmering
Arduino-programmering
Arduino-programmering
Arduino-programmering

Er waren een paar eigenaardigheden met de bibliotheek die bij het scherm werd geleverd, dus ik raad je aan de bibliotheek te installeren die bij mijn download is inbegrepen. De programmering voor dit scherm is iets ingewikkelder dan de meeste schermen waarmee ik heb geëxperimenteerd, maar over het algemeen is de programmering nog steeds vrij eenvoudig.

Om je een overzicht te geven van hoe de code werkt, begint het programma met een gemiddelde waarde van 350 voor alle servo's, wat een veilige gok lijkt. Het initialiseert dan, vult het hele scherm met zwart om de achtergrond te maken en schrijft vervolgens de namen van alle servo's ("Servo 3: " enz.) de knoppen zijn ingedrukt, en als dat zo is, beweegt de pijl en registreert de momenteel geselecteerde servoset. Het schrijft vervolgens de waarden van de pulsbreedtes voor alle vier servo's in de set op basis van een toegewezen aflezing van de potentiometers, schrijft deze in geel naar het scherm en stelt uiteindelijk de servo's in op deze positie via het servostuurprogrammabord. Alle servo's die momenteel niet worden aangedreven, behouden hun positie op basis van de laatste invoer.

Aanbevolen: