Sådan laver du selv en robot derhjemme. Hvad vi har brug for

Nu husker de færreste, desværre, at der i 2005 var Chemical Brothers, og de havde en vidunderlig video - Believe, hvor robotarm jagtede videoens helt rundt i byen.

Så havde jeg en drøm. Urealiserbart på det tidspunkt, da ingen af ​​dem det mindste spor om elektronik jeg ikke havde. Men jeg ville tro – tro. Der er gået 10 år, og i går kunne jeg for første gang samle min egen robotarm, sætte den i drift, så knække den, reparere den og starte den op igen, og undervejs finde venner og få mig selv- tillid.

OBS, spoilere under snittet!

Det hele startede med (hej, Master Kit, og tak fordi jeg fik lov til at skrive på din blog!), som næsten med det samme blev fundet og udvalgt efter denne artikel om Habré. Siden siger, at selv et 8-årigt barn kan bygge en robot - hvorfor er jeg værre? Jeg prøver bare mig frem på samme måde.

Først var der paranoia

Som en sand paranoid vil jeg straks udtrykke den frygt, jeg oprindeligt havde om konstruktøren. I min barndom var der først sovjetiske designere af god kvalitet, så smuldrede kinesisk legetøj i mine hænder ... og så sluttede min barndom :(

Derfor, fra hvad der var tilbage i hukommelsen om legetøjet var:

  • Vil plastikken knække og smuldre i dine hænder?
  • Vil delene passe løst sammen?
  • Ikke alle dele inkluderet i sættet?
  • Vil den samlede struktur være skrøbelig og kortvarig?
Og endelig en lektie lært af sovjetiske designere:
  • Nogle af delene skal færdiggøres med en fil
  • Og dele af delene vil simpelthen ikke være med i sættet.
  • Og en anden del vil ikke fungere i første omgang, den skal ændres
Hvad kan jeg sige nu: ikke forgæves i min yndlingsvideo Believe hovedperson ser frygt, hvor de ikke er. Ingen af ​​frygten gik i opfyldelse: der var præcis så mange dele der skulle til, de passede alle sammen, efter min mening - ideelt, hvilket løftede humøret meget undervejs.

Detaljerne i konstruktøren passer ikke kun perfekt til hinanden, men øjeblikket er også tænkt ud detaljer er næsten umulige at forveksle... Sandt nok, med tysk pedanteri skaberne afsæt skruerne nøjagtigt så meget som nødvendigt, derfor er det uønsket at miste skruer på gulvet eller forvirre "hvilken hvor", når robotten samles.

Specifikationer:

Længde: 228 mm
Højde: 380 mm
Bredde: 160 mm
Samlingsvægt: 658 gr.

Ernæring: 4 batterier type D
Vægt af løftede genstande: op til 100 g
Baggrundsbelysning: 1 LED
Kontroltype: kablet fjernbetjening
Estimeret byggetid: klokken 6
Bevægelse: 5 børstede motorer
Beskyttelse af strukturen under bevægelse: skralde

Mobilitet:
Optagelsesmekanisme: 0-1,77""
Håndledsbevægelse: inden for 120 grader
Albuebevægelse: inden for 300 grader
Skulderbevægelse: inden for 180 grader
Rotation på platformen: inden for 270 grader

Du får brug for:

  • aflang tang (du kan ikke undvære dem)
  • sideskærere (kan udskiftes med en papirkniv, saks)
  • krydsskruetrækker
  • 4 batterier type D

Vigtig! Om små detaljer

I øvrigt om "tandhjulene". Hvis du har stået over for et lignende problem, og du ved, hvordan du gør monteringen endnu mere bekvem - velkommen til kommentarerne. Indtil videre vil jeg dele min erfaring.

Bolte og skruer med samme funktion, men forskellige i længden, er ganske tydeligt angivet i instruktionerne, f.eks. midterste foto nederst ser vi bolte P11 og P13. Eller måske P14 – altså, her igen forveksler jeg dem igen. =)

Du kan skelne mellem dem: instruktionerne siger, hvilken af ​​dem er hvor mange millimeter. Men for det første vil du ikke sidde med en skydelære (især hvis du er 8 år gammel og/eller du simpelthen ikke har en), og for det andet kan du kun skelne dem i sidste ende, hvis du sætter dem ved siden af ​​den , som måske ikke falder mig ind med det samme (det kom ikke til mig, hehe).

Derfor vil jeg advare dig på forhånd, hvis du beslutter dig for selv at samle denne eller en lignende robot, her er et tip til dig:

  • eller se nærmere på fastgørelserne på forhånd;
  • eller køb dig en masse små skruer, selvskærende skruer og bolte for ikke at dampe.

Smid heller under ingen omstændigheder noget væk, før du er færdig med at samle. På det nederste billede, i midten, mellem to dele fra kroppen af ​​robottens "hoved", er der en lille ring, der nærmest fløj ned i skraldespanden sammen med andre "rester". Og dette er i øvrigt holderen til LED-lommelygten i "hovedet" af gribemekanismen.

Byggeproces

Robotten leveres uden yderligere instruktioner - kun billeder og klart katalogiserede og mærkede dele.

Detaljerne bider ganske bekvemt af og kræver ikke stripning, men jeg kunne godt lide ideen om at behandle hver eneste detalje med en papkniv og saks, selvom det ikke er nødvendigt.

Samlingen starter med fire af de fem motorer, der indgår i designet, og som er en sand fornøjelse at samle: Jeg elsker bare gearmekanismer.

Vi fandt motorerne pænt pakket og "klæbet" til hinanden - gør dig klar til at svare på barnets spørgsmål, hvorfor samlermotorerne er magnetiserede (det kan du med det samme i kommentarerne! :)

Vigtig: i 3 ud af 5 motorhuse du skal bruge synk nødderne på siderne- fremover sætter vi ligene på dem, når hånden skal samles. Sidemøtrikkerne er ikke kun nødvendige i motoren, som vil gå til bunden af ​​platformen, men for ikke senere at huske, hvilken krop er hvor, er det bedre at synke møtrikkerne i hver af de fire gule legemer på én gang. Kun til denne operation har du brug for en tænger, i fremtiden vil de ikke være nødvendige.

Efter ca. 30-40 minutter var hver af de 4 motorer udstyret med sin egen gearmekanisme og hus. Alt bliver ikke mere kompliceret, end "Kinder Surprise" skulle være i barndommen, kun meget mere interessant. Opmærksomhedsspørgsmålet fra billedet ovenfor: Tre af de fire udgangsgear er sorte, hvor er det hvide? En blå og sort ledning skal komme ud af dens krop. Instruktionerne er der alle sammen, men jeg synes, det er værd at være opmærksom på det igen.

Når du har alle motorerne i dine hænder, bortset fra "hovedet", vil du begynde at samle platformen, som vores robot skal stå på. Det var på dette tidspunkt, at forståelsen kom til mig, at det var nødvendigt at handle mere betænksomt med skruerne og skruerne: Som du kan se på billedet ovenfor, havde jeg ikke nok to skruer til at fastgøre motorerne sammen på grund af siden møtrikker - de var allerede skruet ind i dybden af ​​den allerede monterede platform. Jeg var nødt til at improvisere.

Når platformen og hoveddelen af ​​armen er samlet, vil instruktionerne bede dig om at gå videre til indsamlingen af ​​gribemekanismen, hvor små dele og bevægelige dele - den sjove del!

Men jeg må sige, at dette vil afslutte spoilerne, og videoen begynder, da jeg skulle til et møde med min ven og robotten, som jeg ikke kunne afslutte i tide, måtte jeg tage med.

Sådan bliver du virksomhedens sjæl ved hjælp af en robot

Let! Da vi fortsatte med at samle sammen, blev det klart: at samle robotten selv - meget pæn. At arbejde sammen om et design er dobbelt sjovt. Derfor kan jeg roligt anbefale dette sæt til dem, der ikke vil sidde på en cafe til kedelige samtaler, men gerne vil se venner og hygge. Desuden forekommer det mig, at teambuilding med sådan et sæt - for eksempel samling med to hold, for hastighed - næsten er en win-win mulighed.

Robotten kom til live i vores hænder, så snart vi var færdige med at samle. Jeg kan desværre ikke formidle vores glæde til jer i ord, men jeg tror, ​​at mange her vil forstå mig. Når en struktur, som du selv har samlet, pludselig begynder at leve et fuldt liv - det er en spænding!

Vi indså, at vi var frygtelig sultne og gik for at spise. Det var ikke langt væk, så vi bar robotten i hænderne. Og så ventede en anden på os en behagelig overraskelse: Robotteknologi er ikke kun sjovt. Det bringer også folk tættere sammen. Så snart vi satte os ved bordet, var vi omgivet af folk, der gerne ville stifte bekendtskab med robotten og samle den samme til sig selv. Mest af alt kunne fyrene godt lide at hilse på robotten "ved tentaklerne", fordi den virkelig opfører sig som en levende person, og først og fremmest er det en hånd! I et ord, de grundlæggende principper for animatronics blev mestret af brugerne intuitivt... Sådan så det ud:

Problemer

Da jeg kom hjem, ventede mig en ubehagelig overraskelse, og det er godt, at det skete før offentliggørelsen af ​​denne anmeldelse, for nu vil vi straks diskutere fejlfinding.

Efter at have besluttet at prøve at flytte hånden med den maksimale amplitude, lykkedes det os at opnå en karakteristisk knitren og svigt af funktionaliteten af ​​motormekanismen i albuen. Først gjorde det mig ked af det: Nå, et nyt legetøj, lige samlet - og virker ikke længere.

Men så gik det op for mig: hvis du selv bare samlede det, hvad var der så i vejen? =) Jeg kender udmærket gearsættet inde i kabinettet, og for at forstå om selve motoren er gået i stykker, eller om kabinettet simpelthen ikke var fikset godt nok, kan du belaste det uden at tage motoren af bord og se om klikkene fortsætter.

Det var da jeg nåede at mærke ægte robo-mester!

Ved omhyggelig adskillelse af "albueleddet" var det muligt at fastslå, at motoren kører jævnt uden belastning. Kroppen gik i stykker, en af ​​skruerne faldt indeni (fordi motoren magnetisk magnetiserede den), og hvis vi fortsatte med at bruge gearene, ville tandhjulene blive beskadiget - i adskilt form fandt man et karakteristisk "pulver" af slidt plastik på dem.

Det er meget praktisk, at robotten ikke skulle skilles helt ad. Og det er virkelig fedt, at sammenbruddet skyldtes en ikke helt pæn montering på dette sted, og ikke på grund af nogle fabriksproblemer: de blev slet ikke fundet i mit sæt.

Råd: første gang efter montering skal du have en skruetrækker og en tang ved hånden - de kan være nyttige.

Hvad kan du uddanne med dette sæt?

Selvtillid!

Ikke kun har jeg fundet fælles emner at kommunikere med absolut fremmede, men jeg formåede også ikke kun at samle, men også fikse legetøjet selv! Det betyder, at jeg kan være sikker på, at alt altid vil være ok med min robot. Og det er en meget behagelig følelse, når det kommer til yndlingsting.

Vi lever i en verden, hvor vi er frygtelig afhængige af sælgere, leverandører, servicemedarbejdere og tilgængeligheden af ​​fritid og penge. Hvis du ved, hvordan du gør næsten ingenting, skal du betale for alt, og højst sandsynligt - betale for meget. Muligheden for selv at ordne et legetøj, fordi du ved, hvordan hver enhed er arrangeret i det, er uvurderlig. Lad barnet have sådan en selvtillid.

Resultater

Hvad vi kunne lide:
  • Robotten samlet i henhold til instruktionerne krævede ikke fejlfinding, den startede med det samme
  • Detaljerne er næsten umulige at forveksle
  • Streng katalogisering og tilgængelighed af detaljer
  • Læs ikke instruktionerne (kun billeder)
  • Fravær af væsentlig tilbageslag og huller i strukturer
  • Nem montering
  • Nem forebyggelse og reparation
  • Sidst men ikke mindst: du samler dit legetøj selv, filippinske børn fungerer ikke for dig
Hvad der ellers er nødvendigt:
  • Flere beslag, lager
  • Dele og reservedele til den, så du kan udskifte den evt
  • Flere robotter, anderledes og komplekse
  • Idéer, der kan forbedres / tilføjes / fjernes - med et ord, spillet slutter ikke med samlingen! Jeg vil virkelig gerne have det fortsætter!
Dom:

At samle en robot fra dette byggesæt er ikke sværere end et puslespil eller "Kinder overraskelse", kun resultatet er meget større og forårsagede en storm af følelser i os og dem omkring os. Fantastisk sæt, tak,

Nu er der en masse muligheder, der giver dig mulighed for at begynde at skabe robotter uden at have nogen super-duper speciel sådan viden. Og det her er fantastisk! Fordi det lancerer en lavine af viden.

Og du behøver ikke starte med viden. Viden skal ikke være et lokomotiv. Viden er den bagage, der rejser med dette tog. Hvad er så et damplokomotiv? Og et damplokomotiv er bare uvidenhed om, hvordan man gør det, så noget sker af sig selv. At bygge en robot er netop den slags viden.

For ikke at blive hængende i eksempler, lad os kun tage ét eksempel. Det mest trivielle eksempel. Lad robotten bevæge sig rundt i rummet uden at ramme væggene. Hvad du behøver at vide:

1. Hvad vil være mekanikken i bevægelser. (De fleste robotter har mekanik, men der findes også robotter uden krop, f.eks. lagerrobotter.) Hvis du ikke har viden på dette område, så gå straks i gang med at anskaffe dem. Hvilke mekanismer er der til at bevæge sig, på en flad overflade, på en ujævn overflade, gå, på hjul ... Hvis du ikke kan lave en sådan mekanisme, skal du finde en færdiglavet. Skil den ad og saml den igen, hvis det er muligt.

2. Hvordan robotten vil interagere med verden udenfor... Det ville være godt at have viden inden for radioelektronik og/eller informationsteknologi for at forstå, hvordan man læser lyd, optiske, mekaniske signaler, hvordan man modtager information fra netværket (sidstnævnte er især vigtigt for robotter uden krop). Minimumsviden vil allerede være passende, de manglende skal straks startes med at fylde. Heldigvis kan du bruge et stort antal modulære elementer og sensorer, der er forbundet med færdige controllere, som konverterer signalerne fra disse sensorer til tal. (hvis du er interesseret, kan du diskutere / udveksle links / adresser i kommentarerne, hvor alt dette er købt)

3. (vigtigst) Hvordan robotten vil tænke. Det er nødvendigt at bestemme, hvad hans "tænke" aktivitet er. For det valgte eksempel er dette blot muligheden for at tænde og slukke for N elektriske motorer på de rigtige tidspunkter, afhængig af den målte afstand til væggen foran (mindst). Til mental aktivitet har robotten brug for en programmerbar enhed med en mikroprocessor. Der er mange færdige platforme til at konstruere robotter (Arduino, Matryoshka, Strawberry Pi, Iskra, Troyka osv. Igen inviterer jeg dig til at kommentere: del links, spørg)

Spørgsmålet melder sig straks: betyder det, at du skal kunne programmering? Strengt taget, ja. Men blandt de nævnte platforme er der dem, hvor programmering udføres i et visuelt miljø uden brug af nogen specifikt sprog programmering. (Dvs. opmærksomhed! Det er ikke nødvendigt at kunne programmering for at starte. Men det er selvfølgelig nødvendigt at vide det for at kunne fortsætte)

Her er de tre hovedknogler, hvorpå du skal have sener af grundlæggende viden og færdigheder, som er tilgængelige selv for et barn, og som du så kan opbygge kødet af højere ingeniørviden på:

  • at bygge mekanismer fra en designer - på lang sigt er dette hele spektret af "mekaniske videnskaber": fysik (mekanik), dele af maskiner og mekanismer, styrkematerialer, hydraulik mv.
  • vide, hvordan interaktion med omverdenen sikres (selv børnedesignere er i dag udstyret med sensormoduler) - i fremtiden er det programmering, netværksprotokoller, fysik (elektricitet, optik, akustik, radar osv.)
  • har indledende præsentation om programmering: variabler, algoritmer - programmering i perspektiv ( forskellige sprog og programmeringsparadigmer), algoritmer og datastrukturer, databaser. Valget af programmeringssprog er ikke grundlæggende, valget er meget bredt, fra visuelle miljøer for børn, men samleren af ​​en specifik mikroprocessor. Du kan selv vælge alt efter den tilgængelige viden

Nå, og endelig, for inspiration, tag et kig (og dette er ikke en reklame, jeg har intet at gøre med denne producent (del andre eksempler)) hvad er børnenes værktøjer til at skabe robotter

Selv dem, der lige har hentet en loddekolbe, kan lave den enkleste robot.

For det meste vil vores robot (afhængigt af designet) løbe ind i lyset eller tværtimod løbe væk fra det, løbe frem på jagt efter en lysstråle eller bevæge sig tilbage som en muldvarp.

Til vores fremtidige "kunstige intelligens" har vi brug for:

  1. Mikrokredsløb L293D
  2. Lille elektrisk motor M1 (kan trækkes ud af legetøjsbiler)
  3. Fototransistor og 200 ohm modstand.
  4. Ledninger, et batteri og selvfølgelig selve platformen, hvor alt dette skal ligge.

Hvis du tilføjer et par lyse lysdioder mere til designet, så kan du nemt opnå, at robotten blot løber efter hånden eller endda følger en lys eller mørk linje. Vores skabelse vil være en typisk repræsentant for robotter i BEAM-klassen. Princippet om adfærd for sådanne robotter er baseret på "fotoreception", det vil sige lys, i dette tilfælde, vil fungere som en informationskilde.

Vores robot vil bevæge sig fremad, når en lysstråle rammer den. Denne opførsel af enheden kaldes "fotokinesis" - en urettet stigning eller fald i mobilitet som reaktion på ændringer i lysniveauer.

Vores enhed, som nævnt ovenfor, brugte en fototransistor n-p-n strukturer- PTR-1 som fotosensor. Her kan du ikke kun bruge en fototransistor, men også en fotomodstand eller fotodiode, da operationsprincippet for alle elementer er det samme.

Figuren viser umiddelbart robottens ledningsdiagram. Hvis du endnu ikke er tilstrækkeligt fortrolig med det tekniske konventioner, så her, baseret på dette diagram, vil det være let at forstå principperne for at udpege og forbinde elementer med hinanden.

GND. Ledninger forbinder forskellige elementer kredsløb med "jord" (negativ pol på strømforsyningen) vises normalt ikke fuldt ud på diagrammerne. I stedet tegnes en lille streg for at angive jordforbindelsen. Nogle gange skriver de ved siden af ​​bindestregen "GND" - fra engelsk. ordene "jord" - jord.

Vcc. Denne betegnelse angiver, at gennem denne del er kredsløbet forbundet til strømforsyningen - Positiv pol! Nogle gange er den aktuelle vurdering ofte skrevet på diagrammerne i stedet for disse bogstaver. I dette tilfælde + 5V.

Robottens princip.

Når en lysstråle rammer fototransistoren (i diagrammet er det angivet som PRT1), fremkommer et positivt signal ved udgangen af ​​INPUT1-mikrokredsløbet, som får M1-motoren til at fungere. Omvendt, når lysstrålen holder op med at oplyse fototransistoren, forsvinder signalet ved udgangen af ​​INPUT1-mikrokredsløbet, derfor stopper motoren.

Modstand R1 i dette kredsløb er designet til at kompensere for strømmen, der passerer gennem fototransistoren. Modstandens nominelle værdi er 200 Ohm - selvfølgelig kan du her lodde modstande med andre pålydende værdier, men det skal huskes, at fototransistorens følsomhed og dermed selve robottens ydeevne vil afhænge af den nominelle værdi.

Hvis værdien af ​​modstanden er stor, vil robotten kun reagere på en meget skarp lysstråle, og hvis den er lille, vil følsomheden være meget højere.

Kort sagt bør du ikke bruge modstande med en modstand på mindre end 100 Ohm i dette kredsløb, ellers kan fototransistoren simpelthen blive overophedet og svigte.

Digitale og analoge multimetre foretager målinger Læsekredsløb: afskærmning, jording Læsekredsløb: lamper og fotoceller Reparation elkedel Gør-det-selv ur med billedprojektion

Du kan lave en robot ved kun at bruge en motordriverchip og et par fotoceller. Afhængig af metoden til at forbinde motorer, mikrokredsløb og fotoceller, vil robotten bevæge sig mod lyset eller omvendt gemme sig i mørket, løbe frem på jagt efter lys eller bevæge sig tilbage som en muldvarp. Hvis du tilføjer et par lyse LED'er til robottens kredsløb, kan du få den til at løbe efter din hånd og endda følge en mørk eller lys linje.

Princippet om robotadfærd er baseret på "fotoreception" og er typisk for hele klassen. BEAM robotter... I den levende natur, som vores robot vil efterligne, er fotoreception et af de vigtigste fotobiologiske fænomener, hvor lys fungerer som en informationskilde.

Som en første oplevelse, lad os vende os til enheden BEAM Robot bevæger sig fremad, når en lysstråle rammer den, og stopper, når lyset holder op med at oplyse den. Sådan en robots adfærd kaldes fotokinesis - en urettet stigning eller fald i mobilitet som reaktion på ændringer i lysniveauer.

I robottens enhed vil der udover motordriverens mikrokredsløb kun blive brugt én fotocelle og én elmotor. Som fotocelle kan du ikke kun bruge en fototransistor, men også en fotodiode eller fotomodstand.
I designet af robotten bruger vi en n-p-n fototransistor som fotosensor. Fototransistorer i dag er måske en af ​​de mest almindelige typer optoelektroniske enheder og er kendetegnet ved god følsomhed og ganske rimelig pris.


Robotkredsløb med en fototransistor

Fra Babots og Bobots samtaler

Kære Bobot, er det muligt at bruge i reduceret simpelt robotdiagram andre mikrokredsløb som L293DNE?

Selvfølgelig kan du det, men du kan se, hvad der er i vejen, min ven Bibot. Dette er kun udstedt af ST Microelectronics-gruppen af ​​virksomheder. Alle andre lignende mikrokredsløb er kun erstatninger eller analoger L293D... Sådanne analoger inkluderer det amerikanske firma Texas Instruments, fra Sensitron Semiconductor ... Naturligvis, ligesom mange analoger, har disse mikrokredsløb deres egne forskelle, som du skal tage højde for, når du laver din robot.

Kan du fortælle mig om de forskelle, som jeg skal tage højde for, når jeg bruger L293DNE.

Min fornøjelse, gamle Babot. Alle mikrokredsløb i linjen L293D har input, der er kompatible med TTL-niveauer *, men kun nogle af dem er ikke begrænset af niveaukompatibilitet. Så, L293DNE har ikke kun kompatibilitet med TTL spændingsniveauer, men har også indgange med klassisk TT-logik. Det vil sige, at der er et logisk "1" ved den ikke-forbundne indgang.

Beklager, Bobot, men jeg forstår det ikke helt: hvordan kan jeg tage højde for dette?

Hvis den ikke-forbundne indgang har L293DNE der er et højt niveau (logisk "1"), så ved den tilsvarende udgang vil vi have et signal højt niveau... Hvis vi nu anvender et signal på højt niveau til den pågældende indgang, taler på en anden måde - et logisk "1" (vi forbinder det til "plus" af strømforsyningen), så vil intet ændre sig ved den tilsvarende udgang, da vi havde et "1" ved indgangen før. Hvis vi giver et lavniveausignal til vores input (tilslut det til "minus" af strømforsyningen), så ændres udgangstilstanden, og der vil være en lavspænding på den.

Det vil sige, det viser sig det modsatte: Vi styrede L293D ved hjælp af positive signaler, og L293DNE skal styres ved hjælp af negative signaler.

L293D og L293DNE kan styres både inden for rammerne af negativ logik og inden for rammerne af positiv *. For at administrere input L293DNE ved at bruge positive signaler, bliver vi nødt til at trække disse input til jord med pull-up modstande.


Så, i mangel af et positivt signal, vil et logisk "0" være til stede ved indgangen, leveret af en pull-up modstand. De kloge Yankees kalder sådanne modstande for pull-down, og når de trækker et højt niveau op, kalder de det pull-up.

Som jeg forstår det, er alt, hvad vi skal tilføje diagram over den enkleste robot, - så disse er pull-up modstande ved indgangene på motordriverens mikrokredsløb.

Du forstår ganske rigtigt, kære Bibot. Værdien af ​​disse modstande kan vælges i området fra 4,7 kOhm til 33 kOhm. Så vil diagrammet over den enkleste robot se sådan ud.

Desuden vil følsomheden af ​​vores robot afhænge af værdien af ​​modstanden R1. Jo mindre modstand R1 er, jo lavere vil robottens følsomhed være, og jo højere den er, jo højere vil følsomheden være.

Og da vi i dette tilfælde ikke behøver at styre motoren i to retninger, kan vi forbinde motorens anden udgang direkte til "jord". Det vil endda forenkle ordningen noget.

Og det sidste spørgsmål. Og i dem robotkredsløb, som du bragte inden for rammerne af vores samtale, kan det klassiske L293D-mikrokredsløb bruges?


Figuren viser installationen og skematisk diagram robot, og hvis du endnu ikke er meget fortrolig med symbolerne, så er det ud fra de to diagrammer let at forstå princippet om at udpege og forbinde elementer. Ledningen, der forbinder de forskellige dele af kredsløbet til "jord" (strømforsyningens negative pol) er normalt ikke fuldt afbildet, men en lille streg er tegnet på diagrammet, hvilket indikerer, at dette sted er forbundet med "jord". Nogle gange er der ved siden af ​​en sådan linje skrevet tre bogstaver "GND", hvilket betyder "jord" (jord). Vcc står for strømforsyning positiv forbindelse $ L293D = ($ _ GET ["l293d"]); if ($ L293D) include ($ L293D);?> I stedet for bogstaverne Vcc skriver de ofte + 5V, hvilket indikerer strømforsyningens spænding.


Fototransistoren har en emitter
(på diagrammet med en pil)
længere end manifolden.

Funktionsprincippet for robotkredsløbet er meget enkelt. Når en lysstråle rammer fototransistoren PTR1, vises et positivt signal ved INPUT1-indgangen på motordriverens mikrokredsløb, og motoren M1 vil begynde at rotere. Når fototransistoren holder op med at lyse, forsvinder signalet ved INPUT1-indgangen, motoren holder op med at rotere, og robotten stopper. Flere detaljer om at arbejde med motorføreren kan findes i den forrige artikel.


Motor chauffør
fremstillet af SGS-THOMSON Microelectronics
(ST Mikroelektronik).

For at kompensere for strømmen, der passerer gennem fototransistoren, indføres en modstand R1 i kredsløbet, hvis nominelle værdi kan vælges til at være omkring 200 Ohm. Værdien af ​​modstanden R1 vil påvirke ikke kun den normale drift af fototransistoren, men også robottens følsomhed. Hvis modstanden af ​​modstanden er stor, vil robotten kun reagere på meget stærkt lys, hvis den er lille, vil følsomheden være højere. Under alle omstændigheder bør en modstand på mindre end 100 ohm ikke bruges til at beskytte fototransistoren mod overophedning og beskadigelse.

Lav en robot, at realisere reaktionen af ​​fototaxi (rettet bevægelse mod eller væk fra lys), kan udføres ved hjælp af to fotosensorer.

Når lys rammer en af ​​fotosensorerne på en sådan robot, tænder den elektriske motor, der svarer til sensoren, og robotten drejer mod lyset, indtil lyset lyser begge fotosensorer, og den anden motor tænder. Når begge sensorer lyser, bevæger robotten sig mod lyskilden. Hvis en af ​​sensorerne holder op med at lyse, så drejer robotten igen mod lyskilden, og efter at have nået den position, hvor lyset falder på begge sensorer, fortsætter den sin bevægelse mod lyset. Hvis lyset holder op med at falde på fotosensorerne, stopper robotten.


Skematisk diagram af en robot med to fototransistorer


Robotkredsløbet er symmetrisk og består af to dele, som hver styrer en tilsvarende elektrisk motor. Faktisk er det som et fordoblet skema af den tidligere robot. Fotosensorerne skal placeres på kryds og tværs i forhold til elmotorerne som vist på billedet af robotten ovenfor. Du kan også arrangere motorerne på kryds og tværs i forhold til fotosensorerne som vist i ledningsdiagram under.

Ledningsdiagram over den enkleste robot med to fototransistorer

Hvis vi placerer sensorerne i overensstemmelse med det venstre billede, vil robotten undgå lyskilder, og dens reaktioner vil ligne opførselen af ​​en muldvarp, der skjuler sig for lys.

Lav robotadfærd Du kan gøre det mere livligt ved at sende et positivt signal til INPUT2- og INPUT3-indgangene (tilslut dem til strømkildens plus): robotten vil bevæge sig i fravær af lys, der falder på fotosensorerne, og når den "ser" lyset , vil den vende sig mod sin kilde.

Til lave en robot, "kører" bag hånden, har vi brug for to lyse LED'er (i diagrammet LED1 og LED2). Vi forbinder dem gennem modstande R1 og R4 for at kompensere for strømmen, der løber gennem dem og beskytte dem mod fejl. Placer LED'erne ved siden af ​​fotosensorerne, retter deres lys i samme retning som fotosensorerne, og fjern signalet fra INPUT2- og INPUT3-indgangene.


Diagram af en robot, der bevæger sig mod reflekteret lys

Den resulterende robots opgave er at reagere på det reflekterede lys, som LED'erne udsender. Tænd robotten og placer din håndflade foran en af ​​fotosensorerne. Robotten vil vende sig mod håndfladen. Flyt håndfladen lidt til siden, så den forsvinder fra "synsfeltet" til en af ​​fotosensorerne, som svar drejer robotten sig lydigt, som en hund, bag håndfladen.
LED'er bør vælges lysstærke nok til, at reflekteret lys konstant fanges af fototransistorer. Gode ​​resultater kan opnås med røde eller orange lysdioder med en lysstyrke på over 1000 mCd.

Hvis robotten kun reagerer på din hånd, når den næsten rører sensoren, så kan du prøve at eksperimentere med et stykke hvidt papir: reflektivitet hvidt ark meget højere end en menneskehånds, og robottens reaktion på det hvide lag vil være meget bedre og mere stabil.

Hvid har de højeste reflekterende egenskaber, sort mindst. Ud fra dette kan du lave en robot, der følger stregen. Sensorerne skal placeres, så de peger nedad. Afstanden mellem sensorerne skal være lidt større end linjebredden.

Diagrammet af robotten, der følger den sorte linje, er identisk med det foregående. For at forhindre robotten i at miste den sorte streg tegnet på det hvide felt, skal dens bredde være omkring 30 mm eller bredere. Robottens adfærdsalgoritme er ret simpel. Når begge fotosensorer opfanger det reflekterede lys fra det hvide felt, bevæger robotten sig fremad. Når en af ​​sensorerne kører ind i den sorte linje, stopper den tilsvarende elektriske motor, og robotten begynder at dreje og udjævne sin position. Efter at begge sensorer igen er over det hvide felt, fortsætter robotten med at bevæge sig fremad.

Bemærk:
I alle tegninger af robotter er L293D-motordrivermikrokredsløbet vist betinget (kontroller kun input og output).

Lav en robot meget simpelt Lad os se, hvad der kræves skabe en robot derhjemme for at forstå det grundlæggende i robotteknologi.

Sikkert, efter at have set film om robotter, ønskede du mere end én gang at bygge din kammerat i våben, men du vidste ikke, hvor du skulle begynde. Du vil selvfølgelig ikke kunne bygge en to-benet terminator, men det stræber vi heller ikke efter. Indsamle simpel robot Enhver, der ved, hvordan man korrekt holder en loddekolbe i deres hænder, kan gøre det, og dette kræver ikke dyb viden, selvom de ikke vil blande sig. Amatørrobotik er ikke meget forskellig fra kredsløb, kun meget mere interessant, fordi områder som mekanik og programmering også er berørt her. Alle komponenter er let tilgængelige og ikke så dyre. Så fremskridtet står ikke stille, og vi vil bruge det til vores fordel.

Introduktion

Så. Hvad er en robot? I de fleste tilfælde er det automatisk enhed der reagerer på enhver handling miljø... Robotter kan styres af mennesker eller udføre forprogrammerede handlinger. Typisk er en robot udstyret med en række forskellige sensorer (afstand, rotationsvinkel, acceleration), videokameraer, manipulatorer. Robottens elektroniske del består af en mikrocontroller (MC) - et mikrokredsløb, der indeholder en processor, en urgenerator, forskellige perifere enheder, random access og permanent hukommelse. Der findes et stort udvalg af mikrocontrollere i verden til forskellige anvendelsesområder, og på grundlag heraf kan kraftfulde robotter samles. Til amatørbygninger bred anvendelse fundet AVR mikrocontrollere. De er i dag de mest tilgængelige og på internettet kan du finde mange eksempler baseret på disse MK. For at arbejde med mikrocontrollere skal du kunne programmere i assembly eller C og have et grundlæggende kendskab til digital og analog elektronik. Vi vil bruge C i vores projekt. Programmering til MK er ikke meget forskellig fra programmering på en computer, sprogets syntaks er den samme, de fleste funktioner er praktisk talt de samme, og de nye er ret nemme at lære og praktiske at bruge.

Hvad vi har brug for

Til at begynde med vil vores robot simpelthen være i stand til at gå uden om forhindringer, det vil sige gentage den normale adfærd for de fleste dyr i naturen. Alt, hvad vi behøver for at bygge sådan en robot, kan findes i radiobutikker. Vi vil beslutte, hvordan vores robot vil bevæge sig. De mest succesrige, tror jeg, er de spor, der bruges i tanke, dette er de mest bekvem løsning, fordi skinnerne har en større cross-country evne end maskinens hjul og er mere bekvemme at styre (for at dreje er det nok at dreje skinnerne i forskellige sider). Derfor skal du bruge en hvilken som helst legetøjstank med skinner, der roterer uafhængigt af hinanden, dette kan du købe i enhver legetøjsbutik til en fornuftig pris. Fra denne tank skal du kun bruge en platform med spor og motorer med gearkasser, resten kan du trygt skrue af og smide væk. Vi har også brug for en mikrocontroller, mit valg faldt på ATmega16 - den har nok porte til at forbinde sensorer og perifere enheder, og generelt er det ret praktisk. Du skal også købe nogle radiokomponenter, et loddekolbe, et multimeter.

At lave en tavle med MK

I vores tilfælde vil mikrocontrolleren udføre hjernens funktioner, men vi starter ikke med den, men med strømforsyningen til robottens hjerne. Korrekt ernæring- garantien for sundhed, så vi starter med, hvordan vi fodrer vores robot korrekt, fordi det normalt er den fejl, nybegyndere robotbyggere laver. Og for at vores robot kan fungere normalt, skal du bruge en spændingsstabilisator. Jeg foretrækker L7805 mikrokredsløbet - det er designet til at give en stabil spænding på 5V ved udgangen, hvilket er hvad vores mikrocontroller har brug for. Men på grund af det faktum, at spændingsfaldet på dette mikrokredsløb er omkring 2,5V, skal der tilføres mindst 7,5V til det. Sammen med denne stabilisator bruges elektrolytiske kondensatorer til at udjævne spændingsbølger, og en diode skal inkluderes i kredsløbet for at beskytte mod polaritetsvending.

Nu kan vi tackle vores mikrocontroller. Etuiet til MK er DIP (det er mere praktisk at lodde på denne måde) og har fyrre ben. Ombord er der en ADC, PWM, USART og meget mere, som vi ikke vil bruge indtil videre. Lad os overveje flere vigtige noder. RESET-stiften (9. ben af ​​MK) trækkes af modstanden R1 til "plus" af strømforsyningen - dette skal gøres! Ellers kan din MK utilsigtet blive nulstillet eller med andre ord buggy. Det er også en ønskværdig foranstaltning, men ikke obligatorisk, at forbinde RESET gennem den keramiske kondensator C1 til jord. I diagrammet kan du også se en elektrolyt på 1000 uF, den sparer for spændingsfald når motorerne kører, hvilket også vil have en gavnlig effekt på mikrocontrollerens funktion. Kvartskrystal X1 og kondensatorerne C2, C3 skal placeres så tæt som muligt på XTAL1- og XTAL2-benene.

Jeg vil ikke tale om, hvordan man flasher en MK, da du kan læse om det på internettet. Vi vil skrive programmet i C; Jeg valgte CodeVisionAVR som programmeringsmiljø. Dette er et ret praktisk miljø og nyttigt for begyndere, fordi det har en indbygget guide til at oprette en kode.

Motorstyring

En lige så vigtig komponent i vores robot er motordriveren, som gør det nemmere for os at styre den. Du må aldrig og under ingen omstændigheder tilslutte motorer direkte til MK! Generelt kan kraftige belastninger ikke styres direkte fra mikrocontrolleren, ellers vil den brænde ud. Brug nøgletransistorer. For vores tilfælde er der et specielt mikrokredsløb - L293D. I sådanne enkle projekter, prøv altid at bruge dette særlige mikrokredsløb med indekset "D", da det har indbyggede dioder til overbelastningsbeskyttelse. Dette mikrokredsløb er meget nemt at betjene og kan nemt fås fra radiobutikker. Den fås i to DIP- og SOIC-pakker. Vi vil bruge i DIP pakke på grund af den lette montering på brættet. L293D har separat strømforsyning til motorer og logik. Derfor vil vi drive selve mikrokredsløbet fra stabilisatoren (VSS-indgang), og motorerne direkte fra batterierne (VS-indgang). L293D kan modstå en belastning på 600 mA pr. kanal, og den har to af disse kanaler, det vil sige, at to motorer kan tilsluttes et mikrokredsløb. Men for at spille det sikkert, vil vi kombinere kanalerne, og så skal vi bruge en mikron til hver motor. Det følger heraf, at L293D vil være i stand til at modstå 1,2 A. For at opnå dette skal du kombinere benene på micraen, som vist i diagrammet. Mikrokredsløbet fungerer som følger: når et logisk "0" påføres IN1 og IN2, og en logisk enhed på IN3 og IN4, roterer motoren i én retning, og hvis signalerne inverteres, påføres et logisk nul, så motoren begynder at rotere i den anden retning. EN1- og EN2-stifterne er ansvarlige for at tænde for hver kanal. Vi forbinder dem og forbinder dem til "plus" af strømforsyningen fra stabilisatoren. Da mikrokredsløbet opvarmes under drift, og installationen af ​​radiatorer er problematisk for denne type sag, leveres varmeafledningen af ​​GND-fødderne - det er bedre at lodde dem på et bredt kontaktområde. Det er alt, du behøver at vide om motorførere for første gang.

Forhindringssensorer

For at vores robot kan navigere og ikke styrte ind i alting, installerer vi to infrarøde sensorer på den. Den enkleste sensor består af en IR-diode, som udsender i det infrarøde spektrum, og en fototransistor, som vil modtage signalet fra IR-dioden. Princippet er dette: Når der ikke er nogen hindring foran sensoren, rammer IR-strålerne ikke fototransistoren, og den åbner sig ikke. Hvis der er en forhindring foran sensoren, så reflekteres strålerne fra den og falder på transistoren - den åbner, og strømmen begynder at strømme. Ulempen ved sådanne sensorer er, at de kan reagere forskelligt på forskellige overflader og er ikke beskyttet mod interferens - fra fremmede signaler fra andre enheder kan sensoren ved et uheld virke. Modulation af signalet kan beskytte mod interferens, men for nu vil vi ikke bekymre os om dette. Til en start er det nok.


Robot firmware

For at genoplive robotten skal du skrive en firmware til den, det vil sige et program, der vil tage aflæsninger fra sensorer og styre motorerne. Mit program er det mest enkle, det indeholder ikke komplekse strukturer og alle vil forstå. De næste to linjer inkluderer header-filer til vores mikrocontroller og kommandoer til at danne forsinkelser:

#omfatte
#omfatte

Følgende linjer er betingede, fordi PORTC-værdierne afhænger af, hvordan du tilsluttede motordriveren til din mikrocontroller:

PORTC.0 = 1; PORTC.1 = 0; PORTC.2 = 1; PORTC.3 = 0; Værdien 0xFF betyder, at outputtet bliver log. "1" og 0x00 - log. "0". Med følgende konstruktion tjekker vi, om der er en forhindring foran robotten, og på hvilken side den er: hvis (! (PINB & (1)<

Hvis lys fra en IR-diode rammer fototransistoren, sættes der en log på benet af mikrocontrolleren. "0" og robotten begynder at bevæge sig baglæns for at køre væk fra forhindringen, drejer så rundt for ikke at støde sammen med forhindringen igen og går så fremad igen. Da vi har to sensorer, tjekker vi for tilstedeværelsen af ​​en forhindring to gange - til højre og til venstre, og derfor kan vi finde ud af, fra hvilken side forhindringen er. Kommandoen "delay_ms (1000)" angiver, at det vil tage et sekund, før den næste kommando udføres.

Konklusion

Jeg har dækket de fleste aspekter, der vil hjælpe dig med at bygge din første robot. Men robotteknologi slutter ikke der. Hvis du bygger denne robot, vil du have en masse muligheder for dens udvidelse. Du kan forbedre robottens algoritme, såsom hvad du skal gøre, hvis forhindringen ikke er fra en eller anden side, men direkte foran robotten. Det skader heller ikke at installere en encoder - en simpel enhed, der hjælper dig præcist at placere og kende din robots placering i rummet. For klarhedens skyld er det muligt at installere et farve- eller monokromt display, der kan vise nyttige oplysninger - batteriladningsniveau, afstand til en forhindring, forskellige fejlfindingsoplysninger. En forbedring af sensorerne vil heller ikke skade - at installere TSOP (disse er IR-modtagere, der kun opfatter et signal af en bestemt frekvens) i stedet for konventionelle fototransistorer. Ud over infrarøde sensorer er der ultralydssensorer, de er dyrere, og de er heller ikke uden ulemper, men for nylig vinder de popularitet blandt robotingeniører. For at robotten skal kunne reagere på lyd, ville det være rart at installere forstærkede mikrofoner. Men det virkelig interessante, synes jeg, er installationen af ​​kameraet og programmeringen på basis af maskinsyn. Der er et sæt specielle OpenCV-biblioteker, hvormed du kan programmere ansigtsgenkendelse, bevægelse af farvede beacons og en masse andre interessante ting. Det hele afhænger kun af din fantasi og færdigheder.

Liste over komponenter:

    ATmega16 i DIP-40 pakke>

    L7805 i TO-220 pakke

    L293D i DIP-16 pakke х2 stk.

    0,25 W modstande med nominelle værdier: 10 kOhm x1 stk., 220 Ohm x4 stk.

    keramiske kondensatorer: 0,1 μF, 1 μF, 22 pF

    elektrolytiske kondensatorer: 1000 uF x 16 V, 220 uF x 16V x 2 stk.

    diode 1N4001 eller 1N4004

    krystalresonator ved 16 MHz

    IR dioder: alle to vil gøre.

    fototransistorer, også hvilke som helst, men som kun reagerer på bølgelængden af ​​infrarøde stråler

Firmwarekode:

/ ***************************************************** ** Firmware til robotten MK type: ATmega16 Urfrekvens: 16,000000 MHz Hvis du har en anden kvartsfrekvens, skal du angive dette i miljøindstillingerne: Projekt -> Konfigurer -> Fanebladet "C Compiler" ****** ********************************************** / #inkluderer #omfatte void main (void) (// Opsæt porte til input // Gennem disse porte modtager vi signaler fra sensorer DDRB = 0x00; // Tænd pull-up modstande PORTB = 0xFF; // Opsæt porte til output // Gennem disse porte vi styrer DDRC motorer = 0xFF; // Programmets hovedsløjfe. Her læser vi værdierne fra sensorerne // og styrer motorerne mens (1) (// Fremad PORTC.0 = 1; PORTC. 1 = 0; PORTC.2 = 1; PORTC.3 = 0; hvis (! (PINB & (1)<Om min robot

I øjeblikket er min robot næsten færdig.


Den har et trådløst kamera, en afstandssensor (både kameraet og denne sensor er installeret på det roterende tårn), en forhindringssensor, en encoder, en modtager til signaler fra fjernbetjeningen og et RS-232 interface til tilslutning til en computer . Det fungerer i to tilstande: autonom og manuel (modtager kontrolsignaler fra fjernbetjeningen), kameraet kan også tændes/slukkes eksternt eller af robotten selv for at spare batteristrøm. Jeg skriver en firmware til lejlighedssikkerhed (billedoverførsel til en computer, bevægelsesregistrering, omvej af rummet).