Hoe je thuis zelf een robot kunt maken. Wat we nodig hebben

Nu herinneren maar weinig mensen zich helaas dat er in 2005 Chemical Brothers waren en dat ze een prachtige video hadden - Geloof, waar? robotarm achtervolgde de held van de video door de stad.

Toen had ik een droom. Op dat moment niet realiseerbaar, aangezien geen van beide de minste aanwijzing over elektronica die ik niet had. Maar ik wilde geloven - geloven. 10 jaar zijn verstreken, en gisteren was ik in staat om mijn eigen robotarm voor de eerste keer in elkaar te zetten, in gebruik te nemen, vervolgens te breken, te repareren en opnieuw op te starten, en onderweg vrienden te vinden en mezelf te verwerven... vertrouwen.

Let op, spoilers onder de snee!

Het begon allemaal met (hallo, Master Kit, en bedankt dat ik op je blog mag schrijven!), Dat bijna onmiddellijk werd gevonden en geselecteerd na dit artikel op Habré. De site zegt dat zelfs een 8-jarig kind een robot kan bouwen - waarom ben ik erger? Ik probeer mijn hand op dezelfde manier.

Eerst was er paranoia

Als echte paranoïde zal ik meteen de angsten uiten die ik aanvankelijk had over de constructeur. In mijn jeugd waren er eerst Sovjet-ontwerpers van goede kwaliteit, toen brokkelde Chinees speelgoed in mijn handen af ​​... en toen eindigde mijn jeugd :(

Daarom was van wat er in de herinnering aan het speelgoed bleef:

  • Zal het plastic breken en afbrokkelen in je handen?
  • Passen de onderdelen losjes in elkaar?
  • Niet alle onderdelen in de kit?
  • Zal de geassembleerde structuur fragiel en van korte duur zijn?
En tot slot, een les geleerd van Sovjet-ontwerpers:
  • Sommige onderdelen zullen moeten worden afgewerkt met een bestand
  • En delen van de delen zullen gewoon niet in de set zitten.
  • En een ander onderdeel zal in eerste instantie niet werken, het zal moeten worden gewijzigd
Wat kan ik nu zeggen: niet tevergeefs in mijn favoriete video Believe hoofdpersoon ziet angsten waar ze niet zijn. Geen van de angsten kwam uit: er waren precies zoveel onderdelen als nodig waren, ze pasten allemaal in elkaar, naar mijn mening - ideaal, wat de geesten onderweg enorm opvrolijkte.

De details van de constructeur sluiten niet alleen perfect op elkaar aan, maar ook over het moment is nagedacht dat details zijn bijna niet te verwarren... Toegegeven, met Duitse pedanterie de makers leg de schroeven precies zoveel opzij als nodig is daarom is het onwenselijk om schroeven op de vloer te verliezen of "welke waar" te verwarren bij het monteren van de robot.

Specificaties:

Lengte: 228 mm
Hoogte: 380 mm
Breedte: 160 mm
Montage gewicht: 658 gram

Voeding: 4 batterijen type D
Gewicht van de opgetilde voorwerpen: tot 100 g
Achtergrondverlichting: 1 LED
Controlerende type: bedrade afstandsbediening
Geschatte bouwtijd: 6 uur
Beweging: 5 geborstelde motoren
Bescherming van de constructie tijdens beweging: ratel

Mobiliteit:
Opnamemechanisme: 0-1,77""
Pols beweging: binnen 120 graden
Elleboog beweging: binnen 300 graden
Schouder beweging: binnen 180 graden
Rotatie op het platform: binnen 270 graden

Je zal nodig hebben:

  • langwerpige tang (je kunt niet zonder)
  • zijsnijders (kan worden vervangen door een papiermes, schaar)
  • kruiskopschroevendraaier
  • 4 batterijen type D

Belangrijk! Over kleine details

Trouwens, over de "radertjes". Als u een soortgelijk probleem heeft gehad en u weet hoe u de montage nog handiger kunt maken, welkom bij de opmerkingen. Tot nu toe zal ik mijn ervaring delen.

Bouten en schroeven met dezelfde functie, maar verschillend in lengte, worden duidelijk beschreven in de instructies, bijvoorbeeld op middelste foto onderaan zien we bouten P11 en P13. Of misschien P14 - nou ja, hier weer, ik verwar ze weer. =)

Je kunt ze onderscheiden: de instructies zeggen welke van hen hoeveel millimeter is. Maar ten eerste ga je niet met een schuifmaat zitten (zeker niet als je 8 jaar bent en/of je hebt er gewoon geen), en ten tweede kun je ze uiteindelijk pas onderscheiden als je ze ernaast legt hen, die misschien niet meteen in me opkomen (het kwam niet bij mij op, hehe).

Daarom zal ik je vooraf waarschuwen als je besluit om deze of een soortgelijke robot zelf in elkaar te zetten, hier is een hint voor je:

  • of bekijk vooraf de bevestigingsmiddelen;
  • of koop een heleboel kleine schroeven, zelftappende schroeven en bouten om niet te stomen.

Gooi ook in geen geval iets weg totdat u klaar bent met monteren. Op de onderste foto, in het midden, tussen twee delen van het lichaam van de "kop" van de robot, is er een kleine ring die bijna samen met andere "restjes" in de prullenbak vloog. En dit is trouwens de houder voor de LED-zaklamp in de "kop" van het grijpmechanisme.

Bouwproces

De robot wordt zonder meer geleverd met instructies - alleen afbeeldingen en duidelijk gecatalogiseerde en gelabelde onderdelen.

De details bijten vrij gemakkelijk af en hoeven niet te worden gestript, maar ik vond het idee om elk detail met een kartonnen mes en schaar te verwerken, hoewel dit niet nodig is.

De montage begint met vier van de vijf motoren die in het ontwerp zijn opgenomen, die een waar genoegen zijn om te monteren: ik hou gewoon van versnellingsmechanismen.

We vonden de motoren netjes verpakt en "vast" aan elkaar - bereid je voor om de vraag van het kind te beantwoorden waarom de collectormotoren gemagnetiseerd zijn (je kunt dit meteen in de opmerkingen! :)

Belangrijk: in 3 van de 5 motorbehuizingen die je nodig hebt laat de noten aan de zijkanten zinken- in de toekomst zullen we de lichamen erop leggen bij het monteren van de hand. De zijmoeren zijn niet alleen nodig in de motor, die naar de basis van het platform gaat, maar om later niet te onthouden welk lichaam waar is, is het beter om de moeren in elk van de vier gele lichamen tegelijk te laten zinken. Alleen voor deze operatie heeft u een tang nodig, in de toekomst is deze niet meer nodig.

Na ongeveer 30-40 minuten was elk van de 4 motoren uitgerust met een eigen tandwielmechanisme en behuizing. Alles zal niet ingewikkelder zijn dan de "Kinder Surprise" in de kindertijd, alleen veel interessanter. De aandachtsvraag van de foto hierboven: Drie van de vier uitgangstandwielen zijn zwart, waar is de witte? Een blauwe en zwarte draad zou uit zijn lichaam moeten komen. De instructies zijn er allemaal, maar ik denk dat het de moeite waard is om er nog eens aandacht aan te besteden.

Nadat je alle motoren in handen hebt, behalve de "hoofd", begin je met het monteren van het platform waarop onze robot zal staan. Het was in dit stadium dat ik het inzicht kreeg dat het nodig was om zorgvuldiger te handelen met de schroeven en schroeven: zoals je op de bovenstaande foto kunt zien, had ik niet genoeg twee schroeven om de motoren aan elkaar te bevestigen vanwege de zijkant moeren - ze waren al in de diepte van het reeds gemonteerde platform geschroefd. Ik moest improviseren.

Wanneer het platform en het grootste deel van de arm zijn gemonteerd, zullen de instructies u vragen om door te gaan met het verzamelen van het grijpermechanisme, waar kleine deeltjes en bewegende delen - het leuke deel!

Maar ik moet zeggen dat dit de spoilers zal beëindigen en de video zal beginnen, aangezien ik naar een ontmoeting met mijn vriend en de robot moest gaan, die ik niet op tijd kon afronden, moest ik meenemen.

Hoe de ziel van het bedrijf te worden met behulp van een robot

Eenvoudig! Toen we samen verder gingen met monteren, werd het duidelijk: zelf de robot in elkaar zetten - heel Leuk. Samen aan een ontwerp werken is dubbel plezierig. Daarom kan ik deze set gerust aanbevelen voor diegenen die niet in een café willen zitten voor saaie gesprekken, maar vrienden willen zien en plezier willen hebben. Bovendien lijkt het me dat teambuilding met zo'n set - bijvoorbeeld montage met twee teams, voor snelheid - bijna een win-win-optie is.

De robot kwam in onze handen tot leven zodra we klaar waren met monteren. Helaas kan ik onze vreugde niet in woorden aan u overbrengen, maar ik denk dat velen hier mij zullen begrijpen. Wanneer een structuur die je zelf hebt samengesteld plotseling een volledig leven begint te leiden, is dat een sensatie!

We realiseerden ons dat we vreselijke honger hadden en gingen eten. Het was niet ver weg, dus we droegen de robot in onze handen. En toen stond er weer een op ons te wachten een aangename verrassing: Robotica is niet alleen leuk. Het brengt mensen ook dichter bij elkaar. Zodra we aan tafel gingen zitten, werden we omringd door mensen die kennis wilden maken met de robot en dezelfde voor zichzelf in elkaar wilden zetten. Bovenal begroetten de jongens de robot graag "bij de tentakels", omdat hij zich echt als een levend persoon gedraagt, en in de eerste plaats is het een hand! In een woord, de basisprincipes van animatronics werden door gebruikers intuïtief onder de knie... Zo zag het eruit:

Probleem

Bij thuiskomst wachtte me een onaangename verrassing, en het is goed dat het gebeurde vóór de publicatie van deze recensie, want nu zullen we onmiddellijk het oplossen van problemen bespreken.

Nadat we hadden besloten om te proberen de hand met de maximale amplitude te bewegen, zijn we erin geslaagd een kenmerkend gekraak en falen van de functionaliteit van het motormechanisme in de elleboog te bereiken. In het begin maakte het me van streek: nou ja, een nieuw speeltje, net in elkaar gezet - en werkt niet meer.

Maar toen drong het tot me door: als je het zelf net verzamelde, wat was er dan aan de hand? =) Ik ken de versnellingen in de behuizing heel goed, en om te begrijpen of de motor zelf kapot is gegaan, of dat de behuizing gewoon niet goed genoeg is bevestigd, kun je hem belasten zonder de motor uit de behuizing te halen board en kijk of de klikken aanhouden.

Het was toen dat ik erin slaagde om te voelen echt robo-meester!

Door het "ellebooggewricht" zorgvuldig te demonteren, was het mogelijk om te bepalen dat de motor soepel draait zonder belasting. Het lichaam brak uit elkaar, een van de schroeven viel naar binnen (omdat de motor het magnetisch magnetiseerde), en als we de tandwielen zouden blijven gebruiken, zouden de tandwielen beschadigd raken - in gedemonteerde vorm werd een karakteristiek "poeder" van versleten plastic gevonden op hen.

Erg handig is dat de robot niet helemaal gedemonteerd hoefde te worden. En het is echt cool dat de storing te wijten was aan een niet helemaal nette montage op deze plek, en niet aan een aantal fabrieksproblemen: ze werden helemaal niet in mijn set gevonden.

Advies: de eerste keer na montage een schroevendraaier en een tang bij de hand houden - deze kunnen van pas komen.

Wat kun je met deze kit opvoeden?

Zelfvertrouwen!

Ik heb niet alleen gevonden veelvoorkomende onderwerpen om absoluut mee te communiceren onbekenden, maar het is me ook gelukt om het speelgoed niet alleen in elkaar te zetten, maar ook zelf te repareren! Dit betekent dat ik er zeker van kan zijn dat alles altijd goed komt met mijn robot. En dit is een zeer aangenaam gevoel als het gaat om favoriete dingen.

We leven in een wereld waarin we vreselijk afhankelijk zijn van verkopers, leveranciers, servicemedewerkers en de beschikbaarheid van vrije tijd en geld. Als u bijna niets kunt doen, moet u voor alles betalen, en hoogstwaarschijnlijk - te veel betalen. De mogelijkheid om zelf een speeltje te repareren, omdat je weet hoe elke unit erin zit, is onbetaalbaar. Laat het kind zo'n zelfvertrouwen hebben.

resultaten

Wat we leuk vonden:
  • De robot die volgens de instructies was geassembleerd, vereiste geen foutopsporing, hij begon onmiddellijk
  • De details zijn bijna niet te verwarren
  • Strikte catalogisering en beschikbaarheid van details
  • Instructies niet lezen (alleen afbeeldingen)
  • Afwezigheid van significante speling en hiaten in structuren
  • Eenvoudige montage
  • Gemakkelijk te voorkomen en te repareren
  • Last but not least: je monteert je speelgoed zelf, Filippijnse kinderen werken niet voor jou
Wat is er nog meer nodig:
  • Meer bevestigingsmiddelen, voorraad
  • Onderdelen en reserveonderdelen ervoor, zodat u deze indien nodig kunt vervangen
  • Meer robots, anders en complex
  • Ideeën die kunnen worden verbeterd / toegevoegd / verwijderd - kortom, het spel eindigt niet met de montage! Ik wil echt dat het doorgaat!
Vonnis:

Het samenstellen van een robot uit deze bouwset is niet moeilijker dan een puzzel of "Kinder surprise", alleen het resultaat is veel groter en veroorzaakte een storm van emoties bij ons en de mensen om ons heen. Geweldig setje, bedankt,

Nu zijn er veel mogelijkheden waarmee je robots kunt gaan maken zonder enige super-duper speciale kennis. En dit is geweldig! Omdat het een lawine van kennis op gang brengt.

En je hoeft niet te beginnen met kennis. Kennis mag geen locomotief zijn. Kennis is de bagage die in deze trein reist. Wat is dan een stoomlocomotief? En een stoomlocomotief is gewoon onwetendheid over hoe het moet, zodat er vanzelf iets gebeurt. Een robot bouwen is precies dat soort kennis.

Om niet te verzanden in voorbeelden, nemen we slechts één voorbeeld. Het meest triviale voorbeeld. Laat de robot door de kamer bewegen zonder de muren te raken. Wat je moet weten:

1. Wat zal de mechanica van bewegingen zijn. (De meeste robots hebben mechanica, maar er zijn ook robots zonder lichaam, bijvoorbeeld voorraadrobots.) Als je geen kennis op dit gebied hebt, begin dan meteen met het verwerven ervan. Welke mechanismen zijn er om te bewegen, op een plat oppervlak, op een oneffen oppervlak, lopen, op wielen ... Als je zo'n mechanisme niet kunt maken, zoek dan een kant-en-klaar mechanisme. Demonteer en monteer deze indien mogelijk weer.

2. Hoe de robot zal communiceren met buitenwereld... Het zou leuk zijn om kennis te hebben van radio-elektronica en/of informatietechnologie om te begrijpen hoe je geluid, optische, mechanische signalen kunt lezen en hoe je informatie van het netwerk kunt ontvangen (dit laatste is vooral belangrijk voor onbelichaamde robots). De minimale kennis zal al geschikt zijn, de ontbrekende moet onmiddellijk worden ingevuld. Gelukkig kun je een enorm aantal modulaire elementen en sensoren gebruiken, gekoppeld aan kant-en-klare controllers, die de signalen van deze sensoren omzetten in cijfers. (bij interesse kun je links/adressen bespreken/ruilen in de comments waar dit allemaal gekocht is)

3. (belangrijkste) Hoe de robot zal denken. Het is noodzakelijk om te bepalen wat zijn "denk" -activiteit is. Voor het geselecteerde voorbeeld is dit gewoon de mogelijkheid om N elektromotoren op het juiste moment in en uit te schakelen, afhankelijk van de gemeten afstand tot de muur ervoor (minstens). Voor mentale activiteit heeft de robot een programmeerbare eenheid met een microprocessor nodig. Er zijn veel kant-en-klare platforms voor het ontwerpen van robots (Arduino, Matryoshka, Strawberry Pi, Iskra, Troyka, etc. Nogmaals, ik nodig u uit om commentaar te geven: links delen, vragen)

De vraag rijst meteen: betekent dit dat je programmeerkennis moet hebben? Strikt genomen wel. Maar onder de genoemde platforms zijn er die waarin de programmering wordt uitgevoerd in een visuele omgeving zonder gebruik te maken van specifieke taal programmeren. (Let op! Het is niet nodig om te kunnen programmeren om te beginnen. Maar het is natuurlijk noodzakelijk om te weten om door te gaan)

Hier zijn de drie belangrijkste botten waarop je de basiskennis en -vaardigheden moet hebben die zelfs voor een kind beschikbaar zijn, en waarop je vervolgens het vlees van hogere technische kennis kunt opbouwen:

  • mechanismen bouwen van een ontwerper - op de lange termijn is dit het hele spectrum van "mechanical sciences": fysica (mechanica), onderdelen van machines en mechanismen, sterktematerialen, hydrauliek, enz.
  • weten hoe interactie met de buitenwereld wordt verzekerd (zelfs kinderontwerpers zijn tegenwoordig uitgerust met sensormodules) - in de toekomst is het programmeren, netwerkprotocollen, fysica (elektriciteit, optica, akoestiek, radar, enz.)
  • hebben eerste presentatie over programmeren: variabelen, algoritmen - programmeren in perspectief ( verschillende talen en programmeerparadigma's), algoritmen en datastructuren, databases. De keuze van de programmeertaal is niet fundamenteel, de keuze is zeer breed, van visuele omgevingen voor kinderen, maar de assembler van een specifieke microprocessor. U kunt zelf kiezen afhankelijk van de beschikbare kennis

Nou, en tot slot, kijk eens ter inspiratie (en dit is geen advertentie, ik heb niets te maken met deze fabrikant (deel andere voorbeelden)) wat zijn de kindertools voor het maken van robots

Zelfs degenen die net een soldeerbout hebben opgepakt, kunnen de eenvoudigste robot maken.

Meestal zal onze robot (afhankelijk van het ontwerp) tegen het licht aan rennen of juist ervan weglopen, vooruit rennen op zoek naar een lichtstraal, of achteruit gaan als een mol.

Voor onze toekomstige "kunstmatige intelligentie" hebben we nodig:

  1. Microschakeling L293D
  2. Kleine elektromotor M1 (kan uit speelgoedauto's worden getrokken)
  3. Fototransistor en 200 ohm weerstand.
  4. Draden, een batterij en natuurlijk het platform zelf, waar dit allemaal zal komen.

Voeg je nog een paar felle LED's toe aan het ontwerp, dan kun je gemakkelijk bereiken dat de robot gewoon achter de hand aan rent of zelfs een lichte of donkere lijn volgt. Onze creatie zal een typische vertegenwoordiger zijn van de robots van de BEAM-klasse. Het gedragsprincipe van dergelijke robots is gebaseerd op "fotoreceptie", dat wil zeggen dat licht in dit geval als informatiebron zal fungeren.

Onze robot zal vooruit gaan als er een lichtstraal op valt. Dit gedrag van het apparaat wordt "fotokinese" genoemd - een ongerichte toename of afname van mobiliteit als reactie op veranderingen in lichtniveaus.

Ons apparaat, zoals hierboven vermeld, gebruikte een fototransistor npn-structuren- PTR-1 als fotosensor. Hier kunt u niet alleen een fototransistor gebruiken, maar ook een fotoresistor of fotodiode, omdat het werkingsprincipe voor alle elementen hetzelfde is.

De figuur toont meteen het bedradingsschema van de robot. Indien u nog niet voldoende vertrouwd bent met de technische conventies, dan, hier, op basis van dit diagram, zal het gemakkelijk zijn om de principes te begrijpen van het aanwijzen en verbinden van elementen met elkaar.

GND. Draden aansluiten: verschillende elementen circuits met "massa" (negatieve pool van de voeding) worden meestal niet volledig weergegeven op de schema's. In plaats daarvan wordt een klein streepje getekend om de aardverbinding aan te geven. Soms schrijven ze naast het streepje "GND" - uit het Engels. de woorden "grond" - aarde.

Vcc. Deze aanduiding geeft aan dat via dit onderdeel de schakeling is aangesloten op de voeding - Positieve pool! Soms wordt op de diagrammen, in plaats van deze letters, vaak de huidige beoordeling geschreven. In dit geval + 5V.

Het principe van de robot.

Wanneer een lichtstraal de fototransistor raakt (in het diagram wordt dit aangegeven als PRT1), verschijnt er een positief signaal aan de uitgang van de INPUT1-microschakeling, waardoor de M1-motor werkt. Omgekeerd, wanneer de lichtstraal stopt met het verlichten van de fototransistor, verdwijnt het signaal aan de uitgang van de INPUT1-microschakeling, en daarom stopt de motor.

Weerstand R1 in dit circuit is ontworpen om te compenseren voor de stroom die door de fototransistor gaat. De nominale waarde van de weerstand is 200 Ohm - natuurlijk kunt u hier weerstanden met andere benamingen solderen, maar er moet aan worden herinnerd dat de gevoeligheid van de fototransistor, en dus de prestaties van de robot zelf, afhangt van de nominale waarde.

Als de waarde van de weerstand groot is, zal de robot alleen reageren op een zeer heldere lichtstraal, en als deze klein is, zal de gevoeligheid veel hoger zijn.

Kortom, gebruik in dit circuit geen weerstanden met een weerstand van minder dan 100 Ohm, anders kan de fototransistor simpelweg oververhit raken en uitvallen.

Digitale en analoge multimeters die metingen verrichten Lezen van circuits: afscherming, aarding Uitleescircuits: lampen en fotocellen Reparatie elektrische ketel Doe-het-zelf horloge met beeldprojectie

Je kunt een robot maken met slechts één motordriverchip en een paar fotocellen. Afhankelijk van de manier waarop de motoren, microschakelingen en fotocellen zijn aangesloten, zal de robot naar het licht toe bewegen of zich juist verstoppen in het donker, vooruit rennen op zoek naar licht of achteruit gaan als een mol. Als je een paar heldere LED's aan het circuit van de robot toevoegt, kun je hem achter je hand aan laten rennen en zelfs een donkere of lichte lijn volgen.

Het principe van robotgedrag is gebaseerd op "fotoreceptie" en is typerend voor de hele klas. BEAM-robots... In de levende natuur, die onze robot zal imiteren, is fotoreceptie een van de belangrijkste fotobiologische fenomenen, waarbij licht als informatiebron fungeert.

Laten we als eerste ervaring eens kijken naar het apparaat BEAM-robot vooruitgaan wanneer een lichtstraal het raakt, en stoppen wanneer het licht stopt met het te verlichten. Het gedrag van zo'n robot wordt fotokinese genoemd - een ongerichte toename of afname van mobiliteit als reactie op veranderingen in lichtniveaus.

In het apparaat van de robot zullen, naast de microschakeling van de motorbesturing, slechts één fotocel en één elektromotor worden gebruikt. Als fotocel kun je niet alleen een fototransistor gebruiken, maar ook een fotodiode of fotoresistor.
Bij het ontwerp van de robot gebruiken we een n-p-n fototransistor als fotosensor. Fototransistoren zijn tegenwoordig misschien wel een van de meest voorkomende soorten opto-elektronische apparaten en onderscheiden zich door een goede gevoeligheid en een redelijk redelijke prijs.


Robotcircuit met één fototransistor

Uit de gesprekken van Babot en Bobot

Beste Bobot, is het mogelijk om te gebruiken in de gereduceerde eenvoudig robotdiagram andere microschakelingen zoals L293DNE?

Natuurlijk kunt u dat, maar u ziet wat er aan de hand is, mijn vriend Bibot. Dit wordt alleen uitgegeven door de ST Microelectronics-bedrijvengroep. Alle andere soortgelijke microschakelingen zijn alleen substituten of analogen L293D... Dergelijke analogen zijn onder meer het Amerikaanse bedrijf Texas Instruments, van Sensitron Semiconductor ... Natuurlijk hebben deze microschakelingen, net als veel analogen, hun eigen verschillen, waarmee u rekening moet houden wanneer u uw robot maakt.

Kunt u mij vertellen met welke verschillen ik rekening moet houden bij het gebruik van de L293DNE.

Graag gedaan, oude Babot. Alle microschakelingen van de lijn L293D hebben ingangen die compatibel zijn met TTL-niveaus *, maar slechts enkele ervan worden niet beperkt door niveaucompatibiliteit. Dus, L293DNE is niet alleen compatibel met TTL-spanningsniveaus, maar heeft ook ingangen met klassieke TT-logica. Dat wil zeggen dat er een logische "1" aanwezig is op de niet-aangesloten ingang.

Sorry Bobot, maar ik begrijp het niet helemaal: hoe kan ik hier rekening mee houden?

Als de niet-aangesloten ingang heeft: L293DNE er is een hoog niveau (logische "1"), dan hebben we bij de overeenkomstige uitgang een signaal hoog niveau... Als we nu een signaal op hoog niveau toepassen op de betreffende ingang, sprekend op een andere manier - een logische "1" (we verbinden deze met de "plus" van de voeding), dan verandert er niets aan de overeenkomstige uitgang, aangezien we hadden eerder een "1" bij de ingang. Als we een signaal van laag niveau aan onze ingang geven (verbind het met de "min" van de voeding), dan zal de toestand van de uitgang veranderen en zal er een lage spanning op staan.

Dat wil zeggen, het blijkt het tegenovergestelde: we hebben de L293D bestuurd met positieve signalen en de L293DNE moet worden bestuurd met behulp van negatieve signalen.

L293D en L293DNE kan zowel binnen het kader van negatieve logica als binnen het kader van positieve * worden gecontroleerd. Ingangen beheren L293DNE met behulp van positieve signalen, zullen we deze ingangen naar aarde moeten trekken met pull-up-weerstanden.


Dan zal, bij afwezigheid van een positief signaal, een logische "0" aanwezig zijn aan de ingang, geleverd door een pull-up-weerstand. De slimme Yankees noemen dergelijke weerstanden pull-down, en wanneer ze een hoog niveau omhoog trekken, noemen ze het pull-up.

Zoals ik het begrijp, hoeven we alleen maar toe te voegen diagram van de eenvoudigste robot, - dit zijn dus pull-up weerstanden aan de ingangen van de microschakeling van de motordriver.

Je begrijpt het heel goed, beste Bibot. De waarde van deze weerstanden kan worden geselecteerd in het bereik van 4,7 kOhm tot 33 kOhm. Dan ziet het diagram van de eenvoudigste robot er als volgt uit.

Bovendien zal de gevoeligheid van onze robot afhangen van de waarde van de weerstand R1. Hoe minder weerstand R1 is, hoe lager de gevoeligheid van de robot, en hoe hoger, hoe hoger de gevoeligheid.

En aangezien we in dit geval de motor niet in twee richtingen hoeven aan te sturen, kunnen we de tweede uitgang van de motor rechtstreeks op "aarde" aansluiten. Dat zal de regeling zelfs enigszins vereenvoudigen.

En de laatste vraag. En in die robotcircuits, die u in het kader van ons gesprek bracht, kan de klassieke L293D-microschakeling worden gebruikt?


De afbeelding toont de installatie en schematisch diagram robot, en als je de symbolen nog niet zo goed kent, dan is het op basis van de twee diagrammen gemakkelijk om het principe van het aanwijzen en verbinden van elementen te begrijpen. De draad die de verschillende delen van het circuit verbindt met "aarde" (de negatieve pool van de voeding) is meestal niet volledig afgebeeld, maar op het diagram is een klein streepje getekend om aan te geven dat deze plaats is verbonden met "aarde". Soms worden naast zo'n regel drie letters "GND" geschreven, wat "aarde" (aarde) betekent. Vcc staat voor power supply positive connection $ L293D = ($ _ GET ["l293d"]); if ($ L293D) include ($ L293D);?> In plaats van de letters Vcc schrijven ze vaak + 5V, waarmee ze de spanning van de voeding aangeven.


De fototransistor heeft een emitter
(op het diagram met een pijl)
langer dan het spruitstuk.

Het werkingsprincipe van het robotcircuit is heel eenvoudig. Wanneer een lichtstraal de fototransistor PTR1 raakt, verschijnt er een positief signaal aan de INPUT1-ingang van de microschakeling van de motorbesturing en begint de motor M1 te draaien. Wanneer de fototransistor stopt met branden, verdwijnt het signaal op de INPUT1-ingang, stopt de motor met draaien en stopt de robot. Meer details over het werken met de motordriver vind je in het vorige artikel.


Motor bestuurder
vervaardigd door SGS-THOMSON Microelectronics
(ST Micro-elektronica).

Om de stroom die door de fototransistor gaat te compenseren, wordt een weerstand R1 in het circuit geïntroduceerd, waarvan de nominale waarde kan worden gekozen op ongeveer 200 Ohm. De waarde van de weerstand R1 heeft niet alleen invloed op de normale werking van de fototransistor, maar ook op de gevoeligheid van de robot. Als de weerstand van de weerstand groot is, zal de robot alleen reageren op zeer fel licht, als deze klein is, zal de gevoeligheid hoger zijn. Gebruik in ieder geval geen weerstand van minder dan 100 ohm om de fototransistor te beschermen tegen oververhitting en beschadiging.

Maak een robot, het realiseren van de reactie van fototaxis (gerichte beweging naar of weg van licht), kan worden gedaan met behulp van twee fotosensoren.

Wanneer licht een van de fotosensoren van zo'n robot raakt, wordt de elektromotor die overeenkomt met de sensor ingeschakeld en draait de robot naar het licht totdat het licht beide fotosensoren verlicht en de tweede motor wordt ingeschakeld. Wanneer beide sensoren verlicht zijn, beweegt de robot zich richting de lichtbron. Als een van de sensoren niet meer verlicht, draait de robot zich weer naar de lichtbron en, nadat hij de positie heeft bereikt waarop het licht op beide sensoren valt, zet hij zijn beweging naar het licht voort. Als het licht niet meer op de fotosensoren valt, stopt de robot.


Schematisch diagram van een robot met twee fototransistoren


Het robotcircuit is symmetrisch en bestaat uit twee delen die elk een bijbehorende elektromotor aansturen. In feite is het als een verdubbeld schema van de vorige robot. De fotosensoren moeten kruiselings ten opzichte van de elektromotoren worden geplaatst, zoals weergegeven in de afbeelding van de robot hierboven. U kunt de motoren ook kruiselings ten opzichte van de fotosensoren plaatsen zoals weergegeven in schakelschema onderstaand.

Bedradingsschema van de eenvoudigste robot met twee fototransistoren

Als we de sensoren positioneren in overeenstemming met de linkerafbeelding, zal de robot lichtbronnen vermijden en zullen zijn reacties vergelijkbaar zijn met het gedrag van een mol die zich voor licht verbergt.

Maak robotgedrag Je kunt het levendiger maken door een positief signaal te sturen naar de INPUT2- en INPUT3-ingangen (verbind ze met de plus van de stroombron): de robot zal bewegen als er geen licht op de fotosensoren valt en bij het "zien" van het licht , zal het zich naar zijn bron keren.

Naar maak een robot, "lopen" achter de hand, hebben we twee heldere LED's nodig (in het diagram LED1 en LED2). We verbinden ze via weerstanden R1 en R4 om de stroom die erdoorheen vloeit te compenseren en ze te beschermen tegen storingen. Plaats de LED's naast de fotosensoren en richt hun licht in dezelfde richting als de fotosensoren, en verwijder het signaal van de INPUT2- en INPUT3-ingangen.


Diagram van een robot die naar gereflecteerd licht beweegt

De taak van de resulterende robot is om te reageren op het gereflecteerde licht dat de LED's uitstralen. Schakel de robot in en plaats uw handpalm voor een van de fotosensoren. De robot zal naar de handpalm draaien. Beweeg de handpalm een ​​beetje opzij zodat deze uit het "zichtveld" van een van de fotosensoren verdwijnt; als reactie draait de robot gehoorzaam, als een hond, achter de handpalm.
LED's moeten helder genoeg worden gekozen zodat gereflecteerd licht gestaag wordt opgevangen door fototransistoren. Goede resultaten kunnen worden behaald met rode of oranje LED's met een helderheid van meer dan 1000 mCd.

Als de robot alleen op je hand reageert als hij de sensor bijna raakt, kun je proberen te experimenteren met een stuk wit papier: reflectiviteit wit blad veel hoger dan die van een menselijke hand, en de reactie van de robot op het witte laken zal veel beter en stabieler zijn.

Wit heeft de hoogste reflecterende eigenschappen, zwart het minst. Op basis hiervan kun je een robot maken die de lijn volgt. De sensoren moeten zo worden geplaatst dat ze naar beneden wijzen. De afstand tussen de sensoren moet iets groter zijn dan de lijnbreedte.

Het diagram van de robot die de zwarte lijn volgt, is identiek aan het vorige. Om te voorkomen dat de robot de zwarte lijn op het witte veld verliest, moet de breedte ongeveer 30 mm of breder zijn. Het gedragsalgoritme van de robot is vrij eenvoudig. Wanneer beide fotosensoren het gereflecteerde licht van het witte veld opvangen, beweegt de robot vooruit. Wanneer een van de sensoren de zwarte lijn inrijdt, stopt de bijbehorende elektromotor en begint de robot te draaien, waardoor zijn positie wordt genivelleerd. Nadat beide sensoren zich weer boven het witte veld bevinden, gaat de robot verder vooruit.

Opmerking:
In alle tekeningen van robots wordt de microschakeling van de L293D-motorbesturing voorwaardelijk weergegeven (alleen besturingsingangen en -uitgangen).

Maak een robot erg makkelijk Laten we eens kijken wat er nodig is om maak een robot thuis om de basisprincipes van robotica te begrijpen.

Natuurlijk, na het bekijken van films over robots, wilde je meer dan eens je strijdmakker bouwen, maar je wist niet waar je moest beginnen. Een tweebenige terminator zal je natuurlijk niet kunnen bouwen, maar daar streven wij ook niet naar. Verzamelen eenvoudige robot iedereen die weet hoe hij een soldeerbout op de juiste manier in zijn handen moet houden, kan het, en dit vereist geen diepgaande kennis, hoewel ze zich niet zullen bemoeien. Amateurrobotica verschilt niet veel van circuits, alleen veel interessanter, omdat hier ook gebieden als mechanica en programmeren worden beïnvloed. Alle componenten zijn direct beschikbaar en niet zo duur. De vooruitgang staat dus niet stil en daar gaan we ons voordeel mee doen.

Invoering

Dus. Wat is een robot? In de meeste gevallen is het automatisch apparaat die reageert op elke actie omgeving... Robots kunnen door mensen worden bestuurd of voorgeprogrammeerde acties uitvoeren. Meestal is een robot uitgerust met een verscheidenheid aan sensoren (afstand, rotatiehoek, versnelling), videocamera's, manipulatoren. Het elektronische deel van de robot bestaat uit een microcontroller (MC) - een microschakeling die een processor, een klokgenerator, verschillende randapparatuur, random access en permanent geheugen bevat. Er is een enorme verscheidenheid aan microcontrollers in de wereld voor verschillende toepassingsgebieden en op basis daarvan kunnen krachtige robots worden geassembleerd. Voor amateurgebouwen brede toepassing: AVR-microcontrollers gevonden. Ze zijn tegenwoordig het meest toegankelijk en op internet kun je veel voorbeelden vinden op basis van deze MK. Om met microcontrollers te kunnen werken, moet je kunnen programmeren in assemblage of C en een basiskennis hebben van digitale en analoge elektronica. We zullen C gebruiken in ons project. Programmeren voor MK verschilt niet veel van programmeren op een computer, de syntaxis van de taal is hetzelfde, de meeste functies zijn praktisch hetzelfde en de nieuwe zijn vrij eenvoudig te leren en handig in gebruik.

Wat we nodig hebben

Om te beginnen kan onze robot eenvoudig om obstakels heen gaan, dat wil zeggen, het normale gedrag van de meeste dieren in de natuur herhalen. Alles wat we nodig hebben om zo'n robot te bouwen, is te vinden in radiowinkels. We zullen beslissen hoe onze robot zal bewegen. Het meest succesvol zijn denk ik de rupsbanden die in tanks worden gebruikt, dit is het meest handige oplossing, omdat de rupsbanden een groter terreinvermogen hebben dan de wielen van de machine en gemakkelijker te besturen zijn (om te draaien is het voldoende om de rupsen in verschillende kanten). Je hebt dus elke speelgoedtank nodig met onafhankelijk van elkaar draaiende rupsbanden, deze kun je bij elke speelgoedwinkel voor een redelijke prijs kopen. Van deze tank heb je alleen nog een platform met rupsbanden en motoren met tandwielkasten nodig, de rest kun je veilig losschroeven en weggooien. We hebben ook een microcontroller nodig, mijn keuze viel op de ATmega16 - deze heeft voldoende poorten voor het aansluiten van sensoren en randapparatuur, en over het algemeen is het best handig. Je moet ook enkele radiocomponenten, een soldeerbout, een multimeter kopen.

Een bord maken met MK

In ons geval zal de microcontroller de functies van de hersenen uitvoeren, maar we zullen er niet mee beginnen, maar met de stroomvoorziening van de hersenen van de robot. Goede voeding- de garantie van gezondheid, dus we zullen beginnen met hoe we onze robot goed kunnen voeden, omdat dit meestal de fout is die beginnende robotbouwers maken. En om onze robot normaal te laten werken, moet u een spanningsstabilisator gebruiken. Ik geef de voorkeur aan de L7805-microschakeling - deze is ontworpen om een ​​stabiele spanning van 5V aan de uitgang te leveren, wat onze microcontroller nodig heeft. Maar vanwege het feit dat de spanningsval op deze microschakeling ongeveer 2,5V is, moet er minimaal 7,5V aan worden geleverd. Samen met deze stabilisator worden elektrolytische condensatoren gebruikt om spanningsrimpels af te vlakken en moet er een diode in het circuit worden opgenomen om te beschermen tegen polariteitsomkering.

Nu kunnen we onze microcontroller aanpakken. De behuizing voor MK is DIP (het is handiger om op deze manier te solderen) en heeft veertig pinnen. Aan boord is er een ADC, PWM, USART en nog veel meer die we voorlopig niet zullen gebruiken. Laten we eens kijken naar een aantal belangrijke knooppunten. De RESET-pin (9e poot van de MK) wordt door de weerstand R1 naar de "plus" van de voeding getrokken - dit moet gebeuren! Anders kan uw MK onbedoeld worden gereset of, met andere woorden, fouten bevatten. Het is ook een wenselijke maatregel, maar niet verplicht, om RESET via de keramische condensator C1 met massa te verbinden. In het diagram zie je ook een elektrolyt van 1000 uF, het bespaart spanningsdips als de motoren draaien, wat ook een gunstig effect zal hebben op de werking van de microcontroller. Kwartskristal X1 en condensatoren C2, C3 moeten zo dicht mogelijk bij de XTAL1- en XTAL2-pinnen worden geplaatst.

Ik zal niet praten over het flashen van een MK, omdat je erover kunt lezen op internet. We zullen het programma in C schrijven; ik koos CodeVisionAVR als programmeeromgeving. Dit is een behoorlijk handige omgeving en handig voor beginners, omdat het een ingebouwde wizard heeft voor het maken van een code.

Motor controle

Een even belangrijk onderdeel van onze robot is de motorbestuurder, waardoor we hem gemakkelijker kunnen besturen. Sluit nooit en in geen geval motoren rechtstreeks aan op de MK! Over het algemeen kunnen krachtige belastingen niet rechtstreeks vanaf de microcontroller worden bestuurd, anders zal deze doorbranden. Gebruik sleuteltransistors. Voor ons geval is er een speciale microschakeling - L293D. Probeer in dergelijke eenvoudige projecten altijd deze specifieke microschakeling met de "D" -index te gebruiken, omdat deze ingebouwde diodes heeft voor overbelastingsbeveiliging. Deze microschakeling is zeer eenvoudig te bedienen en gemakkelijk verkrijgbaar bij radiowinkels. Het is beschikbaar in twee DIP- en SOIC-pakketten. we zullen gebruiken in DIP pakket vanwege het gemak van montage op het bord. L293D heeft een aparte voeding voor motoren en logica. Daarom zullen we de microschakeling zelf van stroom voorzien via de stabilisator (VSS-ingang) en de motoren rechtstreeks van de batterijen (VS-ingang). De L293D is bestand tegen een belasting van 600 mA per kanaal en heeft twee van deze kanalen, dat wil zeggen dat er twee motoren op één microschakeling kunnen worden aangesloten. Maar om het zekere voor het onzekere te nemen, zullen we de kanalen combineren, en dan hebben we één micron nodig voor elke motor. Hieruit volgt dat de L293D 1,2 A kan weerstaan. Om dit te bereiken, moet u de poten van de micra combineren, zoals weergegeven in het diagram. De microschakeling werkt als volgt: wanneer een logische "0" wordt toegepast op IN1 en IN2, en een logische eenheid op IN3 en IN4, draait de motor in één richting, en als de signalen worden omgekeerd, wordt een logische nul toegepast, dan wordt de motor begint in de andere richting te draaien. De EN1- en EN2-pinnen zijn verantwoordelijk voor het inschakelen van elk kanaal. We verbinden ze en verbinden ze met de "plus" van de voeding van de stabilisator. Omdat de microschakeling tijdens bedrijf warm wordt en de installatie van radiatoren problematisch is voor dit type behuizing, wordt de warmteafvoer verzorgd door de GND-voeten - het is beter om ze op een breed contactgebied te solderen. Dat is alles wat u voor het eerst over motorrijders moet weten.

Obstakelsensoren

Zodat onze robot kan navigeren en niet overal tegenaan botst, zullen we er twee infraroodsensoren op installeren. De eenvoudigste sensor bestaat uit een IR-diode, die uitzendt in het infraroodspectrum, en een fototransistor, die het signaal van de IR-diode zal ontvangen. Het principe is dit: wanneer er geen obstakel voor de sensor is, raken de IR-stralen de fototransistor niet en gaat deze niet open. Als er een obstakel voor de sensor is, worden de stralen ervan gereflecteerd en vallen op de transistor - deze gaat open en de stroom begint te stromen. Het nadeel van dergelijke sensoren is dat ze verschillend kunnen reageren op: verschillende oppervlakken en zijn niet beschermd tegen interferentie - tegen externe signalen van andere apparaten kan de sensor per ongeluk werken. Modulatie van het signaal kan beschermen tegen interferentie, maar voorlopig zullen we ons hier niet mee bezig houden. Om te beginnen is dat genoeg.


Robotfirmware

Om de robot nieuw leven in te blazen, moet je er firmware voor schrijven, dat wil zeggen een programma dat metingen van sensoren zou opnemen en de motoren zou besturen. Mijn programma is het meest eenvoudig, het bevat geen complexe structuren en iedereen zal het begrijpen. De volgende twee regels bevatten header-bestanden voor onze microcontroller en opdrachten voor het vormen van vertragingen:

#erbij betrekken
#erbij betrekken

De volgende regels zijn voorwaardelijk omdat de PORTC-waarden afhangen van hoe je de motordriver op je microcontroller hebt aangesloten:

PORTC.0 = 1; PORTC.1 = 0; PORTC.2 = 1; PORTC.3 = 0; De waarde 0xFF betekent dat de uitvoer log zal zijn. "1" en 0x00 - log. "0". Met de volgende constructie controleren we of er een obstakel voor de robot staat en aan welke kant deze zich bevindt: als (! (PINB & (1<

Als het licht van een IR-diode de fototransistor raakt, wordt er een log op de poot van de microcontroller geplaatst. "0" en de robot begint achteruit te rijden om weg te rijden van het obstakel, draait zich dan om om niet opnieuw tegen het obstakel te botsen en gaat dan weer vooruit. Omdat we twee sensoren hebben, controleren we twee keer op de aanwezigheid van een obstakel - aan de rechterkant en aan de linkerkant, en daarom kunnen we zien vanaf welke kant het obstakel zich bevindt. Het commando "delay_ms (1000)" geeft aan dat het één seconde duurt voordat het volgende commando wordt uitgevoerd.

Gevolgtrekking

Ik heb de meeste aspecten behandeld die je zullen helpen bij het bouwen van je eerste robot. Maar daar houdt robotica niet op. Als je deze robot bouwt, heb je veel mogelijkheden voor uitbreiding. U kunt het algoritme van de robot verbeteren, bijvoorbeeld wat u moet doen als het obstakel niet van een kant komt, maar direct voor de robot. Het kan ook geen kwaad om een ​​encoder te installeren - een eenvoudig apparaat dat u helpt bij het nauwkeurig positioneren en kennen van de locatie van uw robot in de ruimte. Voor de duidelijkheid is het mogelijk om een ​​kleuren- of zwart-witscherm te installeren dat nuttige informatie kan weergeven: batterijniveau, afstand tot een obstakel, verschillende foutopsporingsinformatie. Het verbeteren van de sensoren kan ook geen kwaad - het installeren van TSOP (dit zijn IR-ontvangers die alleen een signaal van een bepaalde frequentie waarnemen) in plaats van conventionele fototransistoren. Naast infraroodsensoren zijn er ultrasone sensoren, ze zijn duurder en ze zijn ook niet zonder nadelen, maar de laatste tijd winnen ze aan populariteit onder robotica-ingenieurs. Om ervoor te zorgen dat de robot op geluid kan reageren, zou het leuk zijn om versterkte microfoons te installeren. Maar het echt interessante vind ik de installatie van de camera en de programmering op basis van machine vision. Er is een set speciale OpenCV-bibliotheken waarmee je gezichtsherkenning, beweging door gekleurde bakens en een heleboel andere interessante dingen kunt programmeren. Het hangt allemaal alleen af ​​van je verbeeldingskracht en vaardigheden.

Lijst met componenten:

    ATmega16 in DIP-40 pakket>

    L7805 in TO-220-pakket

    L293D in DIP-16 verpakking х2 st.

    0,25 W weerstanden met nominale waarden: 10 kOhm x1 st., 220 Ohm x4 st.

    keramische condensatoren: 0,1 F, 1 F, 22 pF

    elektrolytische condensatoren: 1000 uF x 16 V, 220 uF x 16V x 2 stuks.

    diode 1N4001 of 1N4004

    kristalresonator op 16 MHz

    IR-diodes: elke twee is voldoende.

    fototransistoren, ook alle, maar die alleen reageren op de golflengte van infrarode stralen

Firmwarecode:

/ *********************************************** ** ** Firmware voor de robot MK-type: ATmega16 Klokfrequentie: 16.000000 MHz Als je een andere kwartsfrequentie hebt, moet je dit specificeren in de omgevingsinstellingen: Project -> Configureren -> Tab "C Compiler" ****** ********************************************** / #erbij betrekken #erbij betrekken void main (void) (// Stel poorten in voor invoer // Via deze poorten ontvangen we signalen van sensoren DDRB = 0x00; // Zet pull-up weerstanden aan PORTB = 0xFF; // Stel poorten in voor uitvoer // Via deze poorten die we besturen DDRC-motoren = 0xFF; // De hoofdlus van het programma. Hier lezen we de waarden van de sensoren // en besturen de motoren terwijl (1) (// Vooruit PORTC.0 = 1; PORTC. 1 = 0; PORTC.2 = 1; PORTC.3 = 0; if (! (PINB & (1<Over mijn robot

Op dit moment is mijn robot bijna klaar.


Het heeft een draadloze camera, een afstandssensor (zowel de camera als deze sensor zijn geïnstalleerd op de roterende toren), een obstakelsensor, een encoder, een signaalontvanger voor de afstandsbediening en een RS-232-interface voor aansluiting op een computer. Het werkt in twee modi: autonoom en handmatig (ontvangt besturingssignalen van de afstandsbediening), de camera kan ook op afstand worden in- of uitgeschakeld of door de robot zelf om de batterij te sparen. Ik ben een firmware aan het schrijven voor appartementbeveiliging (beeldoverdracht naar een computer, bewegingsdetectie, omleiding van de kamer).