Inhoudsopgave:

Arduino servotester: 4 stappen
Arduino servotester: 4 stappen

Video: Arduino servotester: 4 stappen

Video: Arduino servotester: 4 stappen
Video: Уроки Arduino - управление сервомашинкой 2024, Juli-
Anonim
Arduino servotester
Arduino servotester
Arduino servotester
Arduino servotester

Hier laten we zien hoe je een servo kunt besturen vanaf een Arduino zonder een computer. Het gebruik van deze draagbare interface versnelt het prototypingproces aanzienlijk bij het bepalen van limieten voor servorotatie. Het is vooral handig als je veel servo's hebt, zoals wij.

Als u deze Instructable gebruikt als onderdeel van de Modified InMoov Robot-serie, houd er dan rekening mee dat dit een onvoltooide versie van het bedieningspaneel is, gemonteerd op de achterkant van de robot. Je kunt het gebruiken zoals wij deden, om je servolimieten te helpen bepalen.

Als je gewoon hoopt een paar servo's te besturen met onze methode voor een ander project, of gewoon voor de lol, dan is deze Instructable nog steeds voor jou, dus verlaat de pagina niet! Houd er rekening mee dat sommige afbeeldingen aantekeningen bevatten, dus bekijk ze allemaal afzonderlijk.

Laten we beginnen!

Benodigdheden

Niet alle benodigdheden worden hier vermeld, lees de hele Instructable door

- 1 x Arduino Uno

- 1 x voedingsmodule, 5A DC-DC step-down converter (we hebben deze module gebruikt, maar je zou ook zoiets kunnen gebruiken)

- 1 x I2C LCD (dit is wat we gebruikten, maar elke seriële LCD of vrijwel elke standaard LCD werkt)

- 1 x 4x4 matrix toetsenbord (bijvoorbeeld)

- Een breadboard en/of een perfboard. Als je het perf-bord gebruikt, heb je header-pinnen nodig zoals hier te vinden, evenals alle benodigde apparatuur om te solderen.

- Man op man, man op vrouw, vrouw op vrouw jumperdraden; diverse weerstanden, LED's en breadboard-draden.

- Een soort plint. We hebben 1/4 transparant acryl gebruikt. U kunt elk onbreekbaar, gemakkelijk te boren materiaal gebruiken.

- Scharnieren, schroeven, moeren/bouten, superlijm

Stap 1: Plint

Plint
Plint
Plint
Plint
Plint
Plint

U wilt een stevige basis maken voor uw elektronica. Als je dit voor de Modified InMoov-robot maakt, moet deze plaats bieden aan een andere Arduino Uno (misschien Mega), een Raspberry Pi3 en verschillende breadboards en/of perfboards voor servo-/sensorbesturing. Ons basispaneel was ongeveer 7x15 . U kunt de foto's hierboven bekijken voor de algemene lay-out van de modules. We hebben het toetsenbord en het LCD-scherm op de hoes geplaatst, zodat het paneel alleen hoeft te worden geopend in geval van storing, prototyping of onderhoud Zoals je kunt zien, scharniert de hoes vanaf de onderkant en klikt vast aan de bovenkant door middel van klittenband.

Probeer uw microcontrollers aan één kant van het bord te organiseren. De voedingsmodule is niet krachtig genoeg om al je servo's op de voltooide robot aan te drijven. Het kan zelfs niet eens 3 servo's met hoog koppel aansturen van het type dat in de onderarm wordt gebruikt zonder dat de interne stroomschakelaar de stroom uitschakelt. In elk geval werkt het meegeleverde codevoorbeeld slechts voor één servo-object, dus u kunt met deze opstelling testen. Plaats deze module dicht bij de controllers, want dit zal hun vermogensregelaar zijn, en ook stroom leveren voor sommige microservo's die irrelevante blokkeerstroom afvoeren - maar dat is voor later …

Plaats het LCD-scherm en het toetsenbord aan de buitenkant van de hoes die u gebruikt, of aan de zijkant, maar dicht bij de Arduino.

Als je dit voor jezelf doet, probeer dan toch je bord in een vergelijkbare lay-out te configureren. Je hebt misschien niet de bovenklep nodig en ook geen 3 breadboards, maar componenten moeten op een logische manier worden ingedeeld, zoals de laatste foto van een ander project, dat ook een toetsenbord en een LCD-scherm gebruikt. Je kunt de schakeling aan de linkerkant vervangen door een breadboard, of helemaal weglaten.

Stap 2: Het I2C-lcd en toetsenbord testen

Het I2C-lcd en toetsenbord testen
Het I2C-lcd en toetsenbord testen
Het I2C-lcd en toetsenbord testen
Het I2C-lcd en toetsenbord testen

We gaan nu door en testen tegelijkertijd het toetsenbord en het LCD-scherm. Maak de verbindingen zoals te zien in de afbeelding hierboven en voer de bijgevoegde code uit. Je moet de ZIP-bibliotheken voor liquidCrystal_I2C.h downloaden als je die nog niet hebt; je moet ook de bibliotheken Keypad.h en Wire.h importeren (dit kan in de IDE).

Het Fritzing-bestand is ook bijgevoegd. U hoeft nog niets van de voedingsmodule te voorzien, hoewel u dat wel zou kunnen als u dat zou willen. De Arduino krijgt voldoende stroom van de USB-kabel, waarmee je code uploadt.

Wanneer u uw code uploadt, zou het LCD-scherm u moeten vragen om een toets op het toetsenbord in te drukken; eenmaal ingedrukt, drukt het LCD-scherm de ingedrukte toets af. Mogelijk moet u de lay-out van de toetsenbordmatrix wijzigen; zie de opmerkingen in de code voor verduidelijking.

Stap 3: De servo bedienen

De servo besturen
De servo besturen
De servo besturen
De servo besturen
De servo besturen
De servo besturen

Nu gaan we nog een stap verder met dit project en voegen we een servo toe. U moet hem aansluiten op Digital Pin 10, zoals is ingesteld in de code, of u kunt deze naar wens wijzigen. Volg het bovenstaande Fritzing-diagram; het is hetzelfde als de vorige met uitzondering van de servo, RGB gemeenschappelijke kathode LED en zoemer. De laatste twee worden gebruikt als aanvulling op de gebruikersinterface - waarschuwingen en status worden weergegeven op de LED en via de zoemer. We zien hierboven hoe we de voltooide servotester gebruiken om limieten in te stellen voor de InMoov Robotic Forearm and Hand.

Download de bijgevoegde code en voer deze uit. Als u op A drukt, verschijnt een infopaneel; al het andere moet duidelijk zijn.

Op dit punt kunt u de voedingsmodule gebruiken om de servo afzonderlijk van stroom te voorzien; vooral als er een grote kans is dat de servo de blokkeerstroom bereikt.

Als je wilt, kun je de zoemer en LED op een perf-bord monteren, zoals hierboven weergegeven. Dit is handig omdat het later zal dienen als breakout-bord voor de servo's en over het algemeen netter is.

Probeer een waarde in te voeren die groter is dan 180 graden voor de servo - kijk wat er gebeurt!

Stap 4: Voltooid product

Voltooid product
Voltooid product

U kunt nu servo's besturen met deze handmatige interface. Hier worden enkele tips genoemd.

Probleemoplossen:

-LCD werkt niet: controleer al je verbindingen en of je de LCD hebt geïnitialiseerd met het juiste aantal rijen en kolommen

-Toetsenblok werkt niet: controleer verbindingen

-Toetsenblok werkt, maar verkeerde nummers worden afgedrukt: U heeft hier twee alternatieven. U kunt de matrix in de code opnieuw labelen (dwz als u A afdrukt in plaats van 1, herlabel 'A' naar '1'), of u kunt uw bedrading opnieuw doen, waarbij u er speciaal voor zorgt dat alle draden naar de juiste pinnen op de Arduino.

-LED werkt niet: controleer of u een LED met gemeenschappelijke kathode (common ground) gebruikt. Als dat niet het geval is, kunt u alle signalen die u ernaartoe stuurt omkeren (d.w.z. HOOG in LAAG veranderen) en de gemeenschappelijke anode aansluiten op +5V.

We zullen binnenkort een korte YouTube-video plaatsen die de functies van dit apparaat demonstreert; ook als een hele serie over de constructie van onze Modified InMoov Robot. Je kunt hier meer lezen over de originele InMoov. Als deze Instructable deelneemt aan een wedstrijd, stem er dan op! Alles wat we winnen, zal ons helpen het project te versnellen en bijgevolg extra Instructables over dit onderwerp.

Deze Instructable is voor het laatst bewerkt op 5 oktober 2019.

Aanbevolen: