Innholdsfortegnelse:

Arduino Servo Tester: 4 trinn
Arduino Servo Tester: 4 trinn

Video: Arduino Servo Tester: 4 trinn

Video: Arduino Servo Tester: 4 trinn
Video: DIY Four Channel Arduino Servo Tester 2024, November
Anonim
Arduino Servo Tester
Arduino Servo Tester
Arduino Servo Tester
Arduino Servo Tester

Her demonstrerer vi hvordan du styrer en servo fra en Arduino uten datamaskin. Bruken av dette bærbare grensesnittet øker prototypeprosessen i stor grad når grenser for servorotasjon bestemmes. Det er spesielt nyttig når du har mange servoer, slik vi gjør.

Hvis du bruker denne Instructable som en del av Modified InMoov Robot -serien, må du huske på at dette er en uferdig versjon av kontrollpanelet, montert på baksiden av roboten. Du kan bruke den som vi gjorde, for å bestemme servo -grensene dine.

Hvis du bare håper å kontrollere noen servoer med vår metode for et annet prosjekt, eller bare for moro skyld, er denne Instructable fortsatt noe for deg, så ikke forlat siden! Vær oppmerksom på at noen bilder har notater på dem, så se på hver enkelt for seg.

La oss komme i gang!

Rekvisita

Ikke alle rekvisita er oppført her. Les gjennom hele instruksjonsboken

- 1 x Arduino Uno

- 1 x strømmodul, 5A DC-DC trinn ned omformer (Vi brukte denne modulen, men du kan også bruke noe slikt)

- 1 x I2C LCD (dette er det vi brukte, men seriell LCD eller praktisk talt standard LCD fungerer)

- 1 x 4x4 matrisetastatur (for eksempel)

- Et brødbrett og/ eller et perfbrett. Hvis du bruker perf -brettet trenger du toppnål som finnes her, samt alt nødvendig utstyr for lodding.

- Mann til mann, mann til kvinne, hun til hun jumper ledninger; diverse motstander, lysdioder og brødbrettledninger.

- En slags tavle. Vi brukte 1/4 gjennomsiktig akryl. Du kan bruke alt umålelig, lett å bore materiale.

- Hengsler, skruer, muttere/bolter, superlim

Trinn 1: Baseboard

Baseboard
Baseboard
Baseboard
Baseboard
Baseboard
Baseboard

Du vil lage en solid base for elektronikken din. Hvis du lager dette for den modifiserte InMoov -roboten, må den ha plass til en annen Arduino Uno (kanskje Mega), en Raspberry Pi3, og flere brødbrett og/eller perfbrett for servo/sensorkontroll. Basepanelet vårt var omtrent 7x15 . Du kan se bildene ovenfor for den generelle utformingen av modulene. Vi satte opp tastaturet og LCD -skjermen på dekselet slik at panelet bare måtte åpnes ved feil, prototyper eller vedlikehold. Som du kan se, henges dekselet ned fra bunnen og låses fast på toppen ved hjelp av litt borrelås.

Prøv å organisere mikrokontrollerne på den ene siden av brettet. Strømmodulen er ikke kraftig nok til å kjøre alle servoene dine på den ferdige roboten. Faktisk kan den ikke engang drive 3 høymoment-servoer av den typen som brukes i underarmen uten at den interne strømbryteren slår av strømmen. Uansett fungerer kodeeksemplet bare for ett servoobjekt, så du kan teste med dette oppsettet. Plasser denne modulen nær kontrollerne, da dette vil være deres effektregulator, samt gi strøm til noen mikroservoer som drenerer irrelevant stallstrøm- men det er for senere …

Sett opp LCD -skjermen og tastaturet på utsiden av dekselet du bruker, eller ved siden av, men nær Arduino.

Hvis du gjør dette selv, kan du prøve å konfigurere brettet ditt i en lignende layout. Du trenger kanskje ikke toppdekselet, og du trenger heller ikke tre brødbrett- men komponenter må legges på en logisk måte, for eksempel det siste bildet av et annet prosjekt, som også bruker tastatur og LCD. Du kan erstatte kretsen til venstre med et brødbrett, eller utelate det helt.

Trinn 2: Testing av I2C LCD og tastatur

Tester I2C LCD og tastatur
Tester I2C LCD og tastatur
Tester I2C LCD og tastatur
Tester I2C LCD og tastatur

Vi skal nå gå videre og teste tastaturet og LCD -skjermen samtidig. Gjør tilkoblingene som vist på bildet ovenfor, og kjør den vedlagte koden. Du må laste ned ZIP -bibliotekene for liquidCrystal_I2C.h hvis du ikke allerede har det; I tillegg må du importere tastatur.h og Wire.h bibliotekene (dette kan gjøres i IDE).

Fritzing -filen er også vedlagt. Du trenger ikke å drive noe fra strømmodulen ennå, selv om du kan hvis du vil. Arduinoen vil ha nok strøm fra USB -kabelen, som du laster opp kode etter.

Når du laster opp koden, bør LCD -skjermen be deg om å trykke på en tast på tastaturet; Når den er trykket, skriver LCD -en ut tasten som trykkes. Du må kanskje endre oppsettet til tastaturmatrisen; se kommentarene i koden for avklaring.

Trinn 3: Kontrollere servoen

Kontroll av servoen
Kontroll av servoen
Kontroll av servoen
Kontroll av servoen
Kontroll av servoen
Kontroll av servoen

Nå tar vi dette prosjektet et skritt videre og legger til en servo. Du må koble den til Digital Pin 10, som er angitt i koden, eller du kan endre den slik at den passer dine behov. Følg ovenstående Fritzing -diagram; den er den samme som den forrige med unntak av servoen, RGB felles katode LED og summer. De to sistnevnte brukes til å supplere brukergrensesnittet. Advarsler og status vises på LED-en og gjennom summeren. Vi ser ovenfor hvordan vi bruker den ferdige servotester for å sette grenser for InMoov robotarmen og hånden.

Last ned den vedlagte koden og kjør den. Trykk på A for å få frem et infopanel; alt annet burde være selvforklarende.

På dette tidspunktet kan du bruke strømmodulen til å drive servoen separat; spesielt hvis det er stor sjanse for at servoen når stallstrøm.

Hvis du vil, kan du montere summer og LED på et perf -bord, som vist ovenfor. Dette er nyttig fordi det senere vil fungere som utbruddstavle for servoene, og generelt sett er det bedre.

Prøv å legge inn en verdi større enn 180 grader for servoen- se hva som skjer!

Trinn 4: Fullført produkt

Fullført produkt
Fullført produkt

Du kan nå kontrollere servoer med dette manuelle grensesnittet. Noen tips er nevnt her.

Feilsøking:

-LCD fungerer ikke: sjekk alle tilkoblingene, og at du har initialisert LCD -skjermen med riktig antall rader og kolonner

-Tastaturet fungerer ikke: sjekk tilkoblinger

-Tastaturet fungerer, men feil tall skrives ut: Du har to alternativer her. Du kan enten merke matrisen på nytt i koden (dvs. hvis du skriver ut A i stedet for 1, merker 'A' til '1'), eller du kan gjøre om ledningene på nytt, og vær spesielt forsiktig med å sikre at alle ledningene går til de riktige pinnene på Arduino.

-LED virker ikke: Kontroller at du bruker en vanlig katode (felles bakken) LED. Hvis ikke, kan du invertere alle signalene du sender til den (dvs. endre HIGH til LOW) og koble den vanlige anoden til +5V.

Vi legger snart ut en kort Youtube -video som viser funksjonene til denne enheten; også, som en hel serie om konstruksjonen av vår modifiserte InMoov -robot. Du kan lese mer om den originale InMoov her. Hvis denne instruksen er med i en konkurranse, vennligst stem på den! Alt vi vinner vil hjelpe oss med å få fart på prosjektet og følgelig flere instrukser om dette emnet.

Denne instruksen ble sist redigert 5. oktober 2019.

Anbefalt: