Innehållsförteckning:

Arduino Servo Tester: 4 steg
Arduino Servo Tester: 4 steg

Video: Arduino Servo Tester: 4 steg

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

Här visar vi hur man styr en servo från en Arduino utan dator. Användningen av detta bärbara gränssnitt påskyndar kraftigt prototypprocessen när gränser för servorotation fastställs. Det är särskilt användbart när du har många servon, som vi gör.

Om du använder denna instruerbara som en del av Modified InMoov Robot -serien, kom ihåg att detta är en oavslutad version av kontrollpanelen, monterad på baksidan av roboten. Du kan använda den som vi gjorde för att fastställa dina servogränser.

Om du bara hoppas kunna styra några servon med vår metod för ett annat projekt, eller bara för skojs skull, är den här instruktionsboken fortfarande något för dig, så lämna inte sidan! Observera att vissa bilder har anteckningar på dem, så titta på var och en för sig.

Låt oss börja!

Tillbehör

Alla förnödenheter finns inte listade här, läs igenom hela instruktionsboken

- 1 x Arduino Uno

- 1 x strömmodul, 5A DC-DC-stegomvandlare (vi använde denna modul men du kan också använda något liknande)

- 1 x I2C LCD (detta är vad vi använde, men seriell LCD eller praktiskt taget alla standard LCD -skärmar fungerar)

- 1 x 4x4 matris knappsats (till exempel)

- En brödbräda och/ eller en perfbräda. Om du använder perf -brädet behöver du huvudstiften som finns här, liksom all nödvändig utrustning för lödning.

- Man till han, man till kvinna, kvinnlig till kvinnlig bygelkabel; diverse motstånd, lysdioder och trådbräda.

- Någon form av baseboard. Vi använde 1/4 transparent akryl. Du kan använda otänkbart, lättborrat material.

- Gångjärn, skruvar, muttrar/bultar, superlim

Steg 1: Baseboard

Baseboard
Baseboard
Baseboard
Baseboard
Baseboard
Baseboard

Du kommer att vilja göra en robust bas för din elektronik. Om du gör detta för den modifierade InMoov -roboten måste den rymma en annan Arduino Uno (kanske Mega), en Raspberry Pi3 och flera brödbrädor och/eller perf -brädor för servo/sensorkontroll. Vår baspanel var cirka 7x15 . Du kan se bilderna ovan för den allmänna layouten av modulerna. Vi satte upp knappsatsen och LCD -skärmen på omslaget så att panelen bara skulle behöva öppnas vid fel, prototyper eller underhåll. Som ni ser hänger gångjärnet nedifrån och spärras fast upptill med hjälp av kardborre.

Försök att organisera dina mikrokontroller på ena sidan av brädet. Kraftmodulen är inte tillräckligt kraftfull för att driva alla dina servon på den färdiga roboten. Faktum är att den inte ens kan köra 3 servomoment med högt vridmoment av den typ som används i underarmen utan att den interna strömbrytaren stänger av strömmen. Kodprovet som tillhandahålls fungerar i alla fall bara för ett servoobjekt, så du kan testa med den här inställningen. Placera den här modulen nära kontrollerna eftersom detta kommer att vara deras effektregulator, samt ge ström till några mikroservos som dränerar irrelevant stallström- men det är för senare …

Ställ in LCD -skärmen och knappsatsen på utsidan av omslaget som du använder, eller bredvid sidan, men nära Arduino.

Om du gör det här själv, försök fortfarande konfigurera ditt kort i en liknande layout. Du kanske inte behöver topplocket, inte heller behöver du 3 brödbrädor- men komponenter måste läggas ut på ett logiskt sätt, till exempel det sista fotot av ett annat projekt, som också använder en knappsats och LCD. Du kan ersätta kretsen till vänster med en brödbräda, eller utelämna den helt.

Steg 2: Testa I2C LCD och knappsats

Testar I2C LCD och knappsats
Testar I2C LCD och knappsats
Testar I2C LCD och knappsats
Testar I2C LCD och knappsats

Nu ska vi testa knappsatsen och LCD -skärmen samtidigt. Gör anslutningarna enligt bilden ovan och kör den bifogade koden. Du måste ladda ner ZIP -biblioteken för liquidCrystal_I2C.h om du inte redan har det; du måste också importera Keypad.h- och Wire.h -biblioteken (detta kan göras i IDE).

Fritzing -filen bifogas också. Du behöver inte driva något från strömmodulen än, även om du kan om du vill. Arduino kommer att ha tillräckligt med ström från USB -kabeln, som du laddar upp kod med.

När du laddar upp din kod bör LCD -skärmen uppmana dig att trycka på en knapp på knappsatsen; en gång tryckt ut trycker LCD -skärmen ut tangenten som trycks in. Du kan behöva ändra layouten för knappsatsmatrisen; se kommentarerna i koden för förtydligande.

Steg 3: Kontroll av servon

Styrning av servon
Styrning av servon
Styrning av servon
Styrning av servon
Styrning av servon
Styrning av servon

Nu tar vi detta projekt ett steg längre och lägger till en servo. Du måste ansluta den till Digital Pin 10, som anges i koden, eller så kan du ändra det för att passa dina behov. Följ ovanstående Fritzing -diagram; den är densamma som den föregående med undantag för servon, RGB gemensam katod -LED och summer. De två sistnämnda används för att komplettera användargränssnittet. Varningar och status visas på lysdioden och via summern. Vi ser ovan hur vi använder den färdiga servotestaren för att sätta gränser för InMoovs robotiska underarm och hand.

Ladda ner den bifogade koden och kör den. Om du trycker på A visas en informationspanel; allt annat ska vara självförklarande.

Vid denna tidpunkt kan du använda strömmodulen för att driva servon separat; speciellt om det finns en stor chans att servon når stallström.

Om du vill kan du montera summern och lysdioden på ett perf -kort, som visas ovan. Detta är användbart eftersom det senare kommer att fungera som utbrottskort för servon och är snyggare överlag.

Försök att mata in ett värde som är större än 180 grader för servon- se vad som händer!

Steg 4: Slutförd produkt

Slutförd produkt
Slutförd produkt

Du kan nu styra servon med detta manuella gränssnitt. Några tips nämns här.

Felsökning:

-LCD fungerar inte: kontrollera alla dina anslutningar och att du har initierat LCD -skärmen med rätt antal rader och kolumner

-Knappsatsen fungerar inte: kontrollera anslutningar

-Knappsats fungerar, men fel nummer skrivs ut: Du har två alternativ här. Du kan antingen märka om matrisen i koden (dvs. om du skriver ut A istället för 1, märker om 'A' till '1'), eller så kan du göra om din ledning med särskild omsorg för att alla ledningar ska gå till de högra stiften på Arduino.

-LED fungerar inte: Kontrollera att du använder en gemensam katod -LED. Om inte, kan du invertera alla signaler du skickar till den (dvs. ändra HIGH till LOW) och ansluta den gemensamma anoden till +5V.

Vi kommer snart att lägga upp en kort Youtube -video som visar funktionerna i den här enheten; liksom en hel serie om konstruktionen av vår modifierade InMoov -robot. Du kan läsa mer om den ursprungliga InMoov här. Om denna instruktör deltar i en tävling, rösta på den! Allt vi vinner hjälper oss att påskynda projektet och därmed ytterligare instruktioner om detta ämne.

Denna instruktionsbok redigerades senast den 5 oktober 2019.

Rekommenderad: