Indholdsfortegnelse:

16 kanals servotester med Arduino og 3D -udskrivning: 3 trin (med billeder)
16 kanals servotester med Arduino og 3D -udskrivning: 3 trin (med billeder)

Video: 16 kanals servotester med Arduino og 3D -udskrivning: 3 trin (med billeder)

Video: 16 kanals servotester med Arduino og 3D -udskrivning: 3 trin (med billeder)
Video: как сделать контроллер бесколлекторного двигателя, mosfet, IRFz 44n 2024, Juli
Anonim
16 kanals servotester med Arduino og 3D -udskrivning
16 kanals servotester med Arduino og 3D -udskrivning
16 kanals servotester med Arduino og 3D -udskrivning
16 kanals servotester med Arduino og 3D -udskrivning
16 kanals servotester med Arduino og 3D -udskrivning
16 kanals servotester med Arduino og 3D -udskrivning

Næsten hvert eneste projekt, jeg har udført på det seneste, har krævet, at jeg testede nogle servoer og eksperimenterede med deres positioner, før de gik ind i forsamlingen. Jeg laver normalt en hurtig servotester på et brødbræt og bruger den serielle skærm i arduino IDE til at få servopositionerne, men denne gang besluttede jeg, at jeg ville forkæle mig selv og designe et lukket, permanent system til at teste mine servoer!

Designet kan styre 16 servoer samtidigt ved hjælp af Adafruit PCA9685 servo driverkort. For at spare plads har den kun 4 potentiometre til justering, og et separat sæt kontakter bruges til at vælge det sæt med fire, du gerne vil styre. Et problem, jeg stødte på i tidlige prototyper, var, at designet var temmelig svært at lodde og derefter proppe i en lille æske, så dette seneste design er trykt fladt, loddet og foldet op, hvilket gør det super let at samle!

Jeg brugte potentiometre af god kvalitet med et M9 -monteringshul, men hvis du gerne vil ændre Fusion 360 -samlingen, så den passer til dine krav, er du velkommen til at downloade filen: https://a360.co/2Q366j4 (eller bare bore den større).

Jeg håber, at du vil nyde dette hurtige projekt, jeg ved, at jeg får masser af brug ud af mit!

BEMÆRK: Jeg har problemer med at uploade downloadpakken til instruktører, så hvis du ikke kan få den her, kan du få den fra min hjemmeside.

Forbrugsvarer

  • Arduino Uno:
  • Adafruit PCA9685 16-kanals servodriver:
  • 5,5 mm DC -panelindgang -
  • 5V strømforsyning (5A i dette tilfælde, så mange servoer kan køres) -
  • 10K Potentiometer (Bemærk, at der er plads i designet til forskellige potentiometer typer afhængigt af hvad du har) -
  • 10K modstand x 2:
  • SainSmart 1,8 TFT farve LCD -displaymodul:

  • Push-to-make switch:
  • Tråd til lodning (enkelt kerne var nyttig på grund af hvor let den kan tilsluttes arduinoen)

Trin 1: Udskrivning og samling

Trykning og samling
Trykning og samling
Trykning og samling
Trykning og samling
Trykning og samling
Trykning og samling

Der er ingen reelle krav til 3D -udskrivning, der er ingen grund til, at du ikke kan udskrive dette med en forholdsvis lav opløsning. Hvis du har en stor printer, er det muligt at udskrive det hele på én gang, men hvis du har en mere standardprinter med et printbed på omkring 200 mm x 200 mm, kan du printe basen i tre separate dele. Når du har printet alle dele, kan de to halvdele af basen sættes sammen med 8 * M2 x 4 mm skruer.

Du kan nu indsætte alle komponenterne - potentiometre og kontakter kan skrues ind i deres paneler ved hjælp af de møtrikker, de følger med, og brædderne kan let skrues ind med M2 x 6 mm -10 mm skruer. Det skal være klart, hvordan brædderne går ind baseret på hullernes mønster. Den eneste komponent, der er lidt vanskeligere, er skærmen, da den pågældende model ikke har en bekvem monteringsløsning. Jeg brugte noget tape til at fastgøre det til panelet, men du kunne bruge lim eller lignende.

Trin 2: Ledningsføring

Ledninger
Ledninger
Ledninger
Ledninger
Ledninger
Ledninger

Den bedste fremgangsmåde er at koble hvert panel så fuldt ud som muligt og derefter lave alle tværpanelforbindelser, mens du lukker sagen op. Jeg brugte superlim til at holde visse ledninger på plads og rydde op på kabelstyringen, og du bør også bruge varmekrympeslanger, hvor det er muligt for at isolere kontakterne.

Trin 3: Arduino -programmering

Arduino programmering
Arduino programmering
Arduino programmering
Arduino programmering
Arduino programmering
Arduino programmering

Der var et par særheder med biblioteket, der fulgte med skærmen, så jeg vil anbefale dig at installere biblioteket, der er inkluderet i min download. Programmeringen til denne skærm er lidt mere kompleks end de fleste skærme, jeg har eksperimenteret med, men generelt er programmeringen stadig ganske enkel.

For at give dig et overblik over, hvordan koden fungerer, starter programmet med en mellemværdi på 350 for alle servoer, hvilket synes at være et sikkert bud. Det initialiseres derefter, fylder hele skærmen med sort for at lave baggrunden og skriver derefter navnene på alle servoer ("Servo 3:" osv.) Og deres startværdier på 350. Den faktiske loop -sektion i programmet kontrollerer først, om knapperne er blevet trykket på, og i så fald flytter pilen og registrerer det aktuelt valgte servosæt. Det skriver derefter værdierne for pulsbredderne for alle fire servoer i sættet baseret på en kortlagt læsning af potentiometrene, skriver disse til skærmen med gult og til sidst indstiller servoerne til denne position via servodriverkortet. Alle servoer, der ikke køres i øjeblikket, bevarer deres position baseret på det sidste input.

Anbefalede: