Selbstgebauter Roboter. Kleiner selbstgebauter Roboter. Was kann man mit diesem Set anstellen

Machen Sie einen Roboter sehr einfach Mal sehen, was es braucht einen Roboter erstellen zu Hause, um die Grundlagen der Robotik zu verstehen.

Sicherlich wollten Sie nach dem Anschauen von Filmen über Roboter oft Ihren Mitstreiter bauen, wussten aber nicht, wo Sie anfangen sollten. Natürlich werden Sie keinen zweibeinigen Terminator bauen können, aber das streben wir nicht an. Sammeln einfacher Roboter Jeder, der weiß, wie man einen Lötkolben richtig in der Hand hält, kann es tun, und dies erfordert kein tiefes Wissen, obwohl er sich nicht einmischen wird. Amateurrobotik ist nicht viel anders als Schaltungstechnik, nur viel interessanter, weil hier auch Bereiche wie Mechanik und Programmierung betroffen sind. Alle Komponenten sind leicht verfügbar und nicht so teuer. Der Fortschritt steht also nicht still, und wir werden ihn zu unserem Vorteil nutzen.

Einführung

Damit. Was ist ein Roboter? In den meisten Fällen dies automatisches Gerät, die auf alle Aktionen reagiert Umfeld. Roboter können von einem Menschen gesteuert werden oder vorprogrammierte Aktionen ausführen. Typischerweise verfügt der Roboter über eine Vielzahl von Sensoren (Abstand, Drehwinkel, Beschleunigung), Videokameras, Manipulatoren. Der elektronische Teil des Roboters besteht aus einem Mikrocontroller (MC) - einer Mikroschaltung, die einen Prozessor, einen Taktgenerator, verschiedene Peripheriegeräte, RAM und einen permanenten Speicher enthält. Es gibt auf der Welt große Menge verschiedene Mikrocontroller für verschiedene Bereiche Anwendungen und darauf aufbauend können Sie leistungsstarke Roboter zusammenbauen. Zum Amateur Gebäude AVR-Mikrocontroller sind weit verbreitet. Sie sind bei weitem am zugänglichsten und im Internet finden Sie viele Beispiele, die auf diesen MKs basieren. Um mit Mikrocontrollern arbeiten zu können, müssen Sie in Assembler oder C programmieren können und über Grundkenntnisse in digitaler und analoger Elektronik verfügen. In unserem Projekt verwenden wir C. Die Programmierung für MK unterscheidet sich nicht wesentlich von der Programmierung auf einem Computer, die Syntax der Sprache ist dieselbe, die meisten Funktionen sind praktisch gleich und die neuen sind recht einfach zu erlernen und bequem zu verwenden.

Was brauchen wir

Zunächst wird unser Roboter in der Lage sein, Hindernisse einfach zu umgehen, dh das normale Verhalten der meisten Tiere in der Natur zu wiederholen. Alles, was wir brauchen, um einen solchen Roboter zu bauen, finden Sie in Fachgeschäften für Funktechnik. Lassen Sie uns entscheiden, wie sich unser Roboter bewegen wird. Am erfolgreichsten sind meiner Meinung nach die Ketten, die in Panzern verwendet werden. Dies ist die bequemste Lösung, da die Ketten eine größere Geländetauglichkeit haben als die Räder des Autos und es bequemer ist, sie zu steuern (zu drehen , reicht es aus, die Schienen in verschiedene Richtungen zu drehen). Daher benötigen Sie einen beliebigen Spielzeugpanzer mit Ketten, die sich unabhängig voneinander drehen. Sie können einen in jedem Spielwarenladen zu einem vernünftigen Preis kaufen. Von diesem Panzer aus brauchen Sie nur eine Plattform mit Ketten und Motoren mit Getrieben, den Rest können Sie sicher abschrauben und wegwerfen. Wir brauchen auch einen Mikrocontroller, meine Wahl fiel auf den ATmega16 - er hat genügend Anschlüsse zum Anschließen von Sensoren und Peripheriegeräten und ist im Allgemeinen recht praktisch. Sie müssen auch einige Funkkomponenten, einen Lötkolben und ein Multimeter kaufen.

Mit MK ein Brett bauen

In unserem Fall wird der Mikrocontroller die Funktionen des Gehirns übernehmen, aber wir werden nicht damit beginnen, sondern mit der Stromversorgung des Robotergehirns. Richtige Ernährung ist eine Garantie für Gesundheit, also beginnen wir damit, wie wir unseren Roboter richtig füttern, da unerfahrene Roboterbauer in der Regel Fehler machen. Und damit unser Roboter normal funktioniert, müssen Sie einen Spannungsstabilisator verwenden. Ich bevorzuge den L7805-Chip - er ist für die Ausgabe einer stabilen Spannung von 5 V ausgelegt, was unser Mikrocontroller benötigt. Da der Spannungsabfall auf diesem Chip jedoch etwa 2,5 V beträgt, müssen ihm mindestens 7,5 V zugeführt werden. Zusammen mit diesem Stabilisator werden Elektrolytkondensatoren verwendet, um Spannungswelligkeiten zu glätten, und eine Diode muss in die Schaltung aufgenommen werden, um vor Verpolung zu schützen.

Jetzt können wir an unserem Mikrocontroller arbeiten. Das Gehäuse des MK ist DIP (es ist bequemer zu löten) und hat vierzig Stifte. An Bord gibt es einen ADC, PWM, USART und viele andere Dinge, die wir vorerst nicht verwenden werden. Betrachten Sie einige wichtige Knoten. Der RESET-Ausgang (das 9. Bein des MK) wird durch den Widerstand R1 auf das "Plus" der Stromquelle hochgezogen - das muss gemacht werden! Andernfalls kann Ihr MK unbeabsichtigt zurückgesetzt werden oder mit anderen Worten ausfallen. Es ist auch eine wünschenswerte Maßnahme, aber nicht zwingend erforderlich, RESET über einen Keramikkondensator C1 mit Masse zu verbinden. Im Diagramm sehen Sie auch einen 1000-uF-Elektrolyten, der Sie vor Spannungseinbrüchen bei laufenden Motoren schützt, was sich auch positiv auf den Betrieb des Mikrocontrollers auswirkt. Der Quarzresonator X1 und die Kondensatoren C2, C3 sollten so nah wie möglich an den Pins XTAL1 und XTAL2 platziert werden.

Ich werde nicht darüber sprechen, wie man MK flasht, da Sie im Internet darüber lesen können. Wir werden das Programm in C schreiben, als Programmierumgebung habe ich CodeVisionAVR gewählt. Es ist eine ziemlich praktische Umgebung und nützlich für Anfänger, da es über einen integrierten Codegenerierungsassistenten verfügt.

Motorsteuerung

Eine ebenso wichtige Komponente in unserem Roboter ist der Motortreiber, der uns die Steuerung erleichtert. Niemals und unter keinen Umständen dürfen Motoren direkt an den MK angeschlossen werden! Im Allgemeinen können starke Lasten nicht direkt vom Mikrocontroller gesteuert werden, da dieser sonst durchbrennt. Verwenden Sie Schlüsseltransistoren. Für unseren Fall gibt es einen speziellen Chip - L293D. Versuchen Sie bei solchen einfachen Projekten immer, diesen speziellen Chip mit dem „D“-Index zu verwenden, da er eingebaute Dioden zum Überlastschutz hat. Dieser Chip ist sehr einfach zu handhaben und in Fachgeschäften für Funktechnik leicht zu bekommen. Es ist in zwei DIP- und SOIC-Paketen erhältlich. Wir werden wegen der einfachen Montage auf der Platine ein DIP-Gehäuse verwenden. Der L293D verfügt über separate Motor- und Logikstromversorgungen. Daher werden wir die Mikroschaltung selbst über den Stabilisator (VSS-Eingang) und die Motoren direkt über Batterien (VS-Eingang) mit Strom versorgen. L293D kann einer Last von 600 mA pro Kanal standhalten und verfügt über zwei dieser Kanäle, dh zwei Motoren können an eine Mikroschaltung angeschlossen werden. Aber um auf der sicheren Seite zu sein, werden wir die Kanäle kombinieren, und dann brauchen wir für jeden Motor ein Mikro. Daraus folgt, dass der L293D 1,2 A standhalten kann. Um dies zu erreichen, müssen Sie die Beine des Mikros kombinieren, wie in der Abbildung gezeigt. Die Mikroschaltung funktioniert wie folgt: Wenn eine logische „0“ an IN1 und IN2 angelegt wird und eine logische Einheit an IN3 und IN4 angelegt wird, dreht sich der Motor in eine Richtung, und wenn die Signale invertiert werden, wird eine logische Null angelegt. Dann beginnt der Motor, sich in die entgegengesetzte Richtung zu drehen. Die Pins EN1 und EN2 sind für das Einschalten jedes Kanals verantwortlich. Wir schließen sie an und verbinden sie mit der "Plus" -Stromversorgung des Stabilisators. Da sich die Mikroschaltung während des Betriebs erwärmt und die Installation von Heizkörpern bei dieser Art von Gehäuse problematisch ist, wird die Wärmeabfuhr durch GND-Beine gewährleistet - es ist besser, sie auf einer breiten Kontaktfläche zu löten. Das ist alles, was Sie zum ersten Mal über Motortreiber wissen müssen.

Hindernissensoren

Damit unser Roboter navigieren kann und nicht überall kollidiert, werden wir zwei installieren Infrarotsensor. Der einfachste Sensor besteht aus einer IR-Diode, die im Infrarotspektrum emittiert, und einem Fototransistor, der ein Signal von der IR-Diode empfängt. Das Prinzip ist folgendes: Wenn sich vor dem Sensor kein Hindernis befindet, fallen die IR-Strahlen nicht auf den Fototransistor und er öffnet nicht. Wenn sich vor dem Sensor ein Hindernis befindet, werden die Strahlen davon reflektiert und fallen auf den Transistor - er öffnet und Strom beginnt zu fließen. Der Nachteil solcher Sensoren ist, dass sie unterschiedlich reagieren können verschiedene Oberflächen und sind nicht vor Interferenzen geschützt - durch Fremdsignale von anderen Geräten kann der Sensor versehentlich funktionieren. Die Signalmodulation kann vor Interferenzen schützen, aber damit wollen wir uns vorerst nicht beschäftigen. Für den Anfang reicht das.


Roboter-Firmware

Um den Roboter wiederzubeleben, müssen Sie eine Firmware dafür schreiben, d. h. ein Programm, das Messwerte von Sensoren und Steuermotoren erfasst. Mein Programm ist das einfachste, es enthält nicht komplexe Strukturen und jeder wird es verstehen. Die nächsten beiden Zeilen enthalten Header-Dateien für unseren Mikrocontroller und Befehle zum Generieren von Verzögerungen:

#enthalten
#enthalten

Die folgenden Zeilen sind bedingt, da die PORTC-Werte davon abhängen, wie Sie den Motortreiber an Ihren Mikrocontroller angeschlossen haben:

ANSCHL.0 = 1; PORTC.1 = 0; PORTC.2 = 1; PORTC.3 = 0; Ein Wert von 0xFF bedeutet, dass die Ausgabe ein Protokoll ist. "1" und 0x00 ist ein Protokoll. "0". Mit folgender Konstruktion prüfen wir, ob sich vor dem Roboter ein Hindernis befindet und auf welcher Seite es sich befindet: if (!(PINB & (1<

Wenn Licht von einer IR-Diode auf den Fototransistor trifft, wird ein Protokoll auf das Bein des Mikrocontrollers gesetzt. „0“ und der Roboter beginnt, sich rückwärts zu bewegen, um sich vom Hindernis zu entfernen, dreht sich dann um, um nicht erneut mit dem Hindernis zu kollidieren, und fährt dann wieder vorwärts. Da wir zwei Sensoren haben, prüfen wir das Vorhandensein eines Hindernisses zweimal – rechts und links – und können so feststellen, auf welcher Seite sich das Hindernis befindet. Der Befehl „delay_ms(1000)“ gibt an, dass eine Sekunde vergehen wird, bevor der nächste Befehl ausgeführt wird.

Fazit

Ich habe die meisten Aspekte behandelt, die Ihnen beim Bau Ihres ersten Roboters helfen werden. Aber die Robotik endet hier nicht. Wenn Sie diesen Roboter zusammenbauen, haben Sie viele Möglichkeiten, ihn zu erweitern. Sie können den Algorithmus des Roboters verbessern, z. B. was zu tun ist, wenn sich das Hindernis nicht auf einer Seite, sondern direkt vor dem Roboter befindet. Es schadet auch nicht, einen Encoder zu installieren - ein einfaches Gerät, das Ihnen hilft, Ihren Roboter im Weltraum genau zu positionieren und zu kennen. Zur Verdeutlichung ist es möglich, ein farbiges oder monochromes Display zu installieren, das nützliche Informationen anzeigen kann - Batterieladezustand, Entfernung zu einem Hindernis, verschiedene Debugging-Informationen. Die Verbesserung der Sensoren stört nicht - die Installation von TSOP (das sind IR-Empfänger, die nur ein Signal mit einer bestimmten Frequenz wahrnehmen) anstelle herkömmlicher Fototransistoren. Neben Infrarotsensoren gibt es Ultraschallsensoren, die teurer und auch nicht ohne Nachteile sind, aber in letzter Zeit bei Roboterbauern an Popularität gewinnen. Damit der Roboter auf Geräusche reagiert, wäre es schön, Mikrofone mit Verstärker zu installieren. Aber das wirklich Interessante ist meiner Meinung nach, die Kamera zu installieren und darauf basierend die Bildverarbeitung zu programmieren. Es gibt eine Reihe spezieller OpenCV-Bibliotheken, mit denen Sie Gesichtserkennung, Bewegungen auf farbigen Beacons und viele andere interessante Dinge programmieren können. Es hängt alles von Ihrer Vorstellungskraft und Ihren Fähigkeiten ab.

Liste der Komponenten:

    ATmega16 im DIP-40-Paket>

    L7805 im TO-220-Gehäuse

    L293D im DIP-16-Gehäuse x2 Stk.

    Widerstände mit einer Leistung von 0,25 W mit Nennwerten: 10 kOhm x1 Stk., 220 Ohm x4 Stk.

    Keramikkondensatoren: 0,1 uF, 1 uF, 22 pF

    Elkos: 1000 uF x 16 V, 220 uF x 16 V x2 Stk.

    Diode 1N4001 oder 1N4004

    16 MHz Schwingquarz

    IR-Dioden: Jede in der Menge von zwei Stück reicht aus.

    Fototransistoren, auch beliebige, die aber nur auf die Wellenlänge von IR-Strahlen reagieren

Firmware-Code:

/**************************************************** **** **** Firmware für den Roboter Typ MK: ATmega16 Taktfrequenz: 16.000000 MHz Wenn Sie eine andere Quarzfrequenz haben, dann muss diese in den Umgebungseinstellungen angegeben werden: Projekt -> Konfigurieren -> "C-Compiler" Registerkarte ****** ***************************************** *********/ #enthalten #enthalten void main(void) ( //Setze Ports für Eingang //Durch diese Ports empfangen wir Signale von Sensoren DDRB=0x00; //Schalte Pull-up-Widerstände ein PORTB=0xFF; //Setze Ports für Ausgang //Durch diese Ports wir DDRC-Motoren steuern =0xFF; //Hauptschleife des Programms. Hier lesen wir die Werte von den Sensoren //und steuern die Motoren, während (1) ( //Vorwärts bewegen PORTC.0 = 1; PORTC.1 = 0 ; PORTC.2 = 1; PORTC.3 = 0; if (!(PINB & (1<Über meinen Roboter

Im Moment ist mein Roboter fast fertig.


Es verfügt über eine drahtlose Kamera, einen Abstandssensor (sowohl die Kamera als auch dieser Sensor sind auf einem Drehturm installiert), einen Hindernissensor, einen Encoder, einen Signalempfänger von der Fernbedienung und eine RS-232-Schnittstelle zum Anschluss an einen Computer. Es funktioniert in zwei Modi: autonom und manuell (empfängt Steuersignale von der Fernbedienung), die Kamera kann auch aus der Ferne oder vom Roboter selbst ein- und ausgeschaltet werden, um Batteriestrom zu sparen. Ich schreibe eine Firmware zum Schutz der Wohnung (Bildübertragung auf einen Computer, Bewegungserkennung, Umleitung der Räumlichkeiten).

Wie man zu Hause einen Roboter aus verschiedenen Materialien baut ohne die richtige Ausrüstung? Ähnliche Fragen tauchten zunehmend in verschiedenen Blogs und Foren auf, die sich der Herstellung verschiedener Do-it-yourself-Geräte und der Robotik widmeten. Natürlich ist die Herstellung eines modernen, multifunktionalen Roboters zu Hause eine fast unmögliche Aufgabe. Aber es ist durchaus möglich, einen einfachen Roboter auf einem einzigen Treiberchip und mit mehreren Fotozellen zu bauen. Heutzutage ist es nicht schwierig, im Internet Diagramme mit einer detaillierten Beschreibung der Phasen der Herstellung von Minirobotern zu finden, die auf Lichtquellen und Hindernisse reagieren können.

Es wird sich als ein sehr flinker und mobiler Roboter herausstellen, der sich im Dunkeln versteckt oder sich auf das Licht zubewegt oder vor dem Licht davonläuft oder sich auf der Suche nach Licht bewegt, je nachdem, wie der Mikroschaltkreis mit Motoren verbunden ist und Fotozellen.

Sie können sogar Ihren intelligenten Roboter dazu bringen, nur einer hellen oder dunklen Linie zu folgen, oder Sie können einen Mini-Roboter dazu bringen, Ihrer Hand zu folgen – fügen Sie einfach ein paar helle LEDs zu seinem Schaltkreis hinzu!

Tatsächlich kann sogar ein Anfänger, der gerade anfängt, dieses Handwerk zu beherrschen, einen einfachen Roboter mit seinen eigenen Händen bauen. In diesem Artikel betrachten wir eine Variante eines selbstgebauten Roboters, der auf Hindernisse reagiert und diese umgeht.

Kommen wir gleich zur Sache. Um einen Heimroboter zu bauen, benötigen wir die folgenden Teile, die Sie leicht zur Hand haben können:

1. 2 Batterien und ein Etui dafür;

2. Zwei Motoren (jeweils 1,5 Volt);

3. 2 SPDT-Schalter;

4. 3 Büroklammern;

4. Plastikkugel mit Loch;

5. Ein kleines Stück Massivdraht.

Schritte zur Herstellung eines Heimroboters:

1. Wir schneiden ein Stück Draht in 13 Teile von jeweils sechs Zentimetern und legen sie auf beiden Seiten jeweils 1 cm frei.

Mit einem Lötkolben befestigen wir 3 Drähte an den SPDT-Schaltern und 2 Drähte an den Motoren;

2. Jetzt nehmen wir ein Batteriefach, von dem auf einer Seite zwei mehrfarbige Drähte abgehen (höchstwahrscheinlich - schwarz und rot). Wir müssen einen anderen Draht auf die andere Seite des Gehäuses löten.

Jetzt müssen Sie das Batteriefach aufklappen und beide SPDT-Schalter mit dem Lötdraht in Form des lateinischen Buchstabens V an die Seite kleben;

3. Danach müssen Motoren auf beiden Seiten des Körpers geklebt werden, damit sie sich vorwärts drehen.

Nehmen Sie dann eine große Büroklammer und biegen Sie sie auseinander. Wir ziehen die ungebogene Büroklammer durch das Durchgangsloch der Plastikkugel und richten die Enden der Büroklammer parallel zueinander aus. Wir kleben die Enden der Büroklammer an unser Design;

4. Wie baut man einen Heimroboter so, dass er tatsächlich Hindernisse umgehen kann? Es ist wichtig, alle installierten Drähte wie auf dem Foto gezeigt zu löten;

5. Wir machen Antennen aus ungebogenen Büroklammern und kleben sie auf SPDT-Schalter;

6. Es bleibt, die Batterien in den Körper einzulegen, und der Heimroboter beginnt sich zu bewegen und vermeidet Hindernisse auf seinem Weg.

Jetzt weißt du, wie man einen Heimroboter baut, der auf Hindernisse reagieren kann.

Wie kann man selbst einen Roboter mit bestimmten Verhaltensprinzipien bauen? Mit der BEAM-Technologie entsteht eine ganze Klasse solcher Roboter, deren typische Verhaltensprinzipien auf der sogenannten „Photorezeption“ beruhen. Als Reaktion auf Änderungen der Lichtintensität bewegt sich ein solcher Mini-Roboter langsamer oder umgekehrt schneller (Photokinese).

Für die Herstellung eines Roboters, dessen Bewegung vom Licht weg oder zum Licht hin gerichtet ist und auf der Phototaxis-Reaktion beruht, benötigen wir zwei Photosensoren. Die Phototaxis-Reaktion äußert sich wie folgt: Trifft Licht auf einen der Photosensoren des BEAM-Roboters, schaltet sich der entsprechende Elektromotor ein und der Roboter dreht sich zur Lichtquelle.

Und dann trifft das Licht auf den zweiten Sensor und dann wird der zweite Elektromotor eingeschaltet. Jetzt bewegt sich der Mini-Roboter auf die Lichtquelle zu. Wenn das Licht wieder nur auf einen Fotosensor trifft, dreht sich der Roboter wieder in Richtung des Lichts und bewegt sich weiter auf die Quelle zu, wenn das Licht beide Sensoren beleuchtet. Wenn kein Licht auf einen der Sensoren trifft, stoppt der Mini-Roboter.

Wie baut man einen Roboter, der der Hand folgt? Dazu muss unser Mini-Roboter nicht nur mit Sensoren, sondern auch mit LEDs ausgestattet sein. Die LEDs strahlen Licht aus und der Roboter reagiert auf das reflektierte Licht. Wenn wir eine Handfläche vor einen der Sensoren halten, dreht sich der Mini-Roboter in seine Richtung.

Wenn Sie Ihre Handfläche etwas vom entsprechenden Sensor entfernen, folgt der Roboter „gehorsam“ der Handfläche. Damit das reflektierte Licht klar von den Fototransistoren erfasst wird, wählen Sie für den Bau des Roboters helle LEDs (mehr als 1000 mCd) in oranger oder roter Farbe.

Es ist kein Geheimnis, dass die Zahl der Investitionen im Bereich Robotik jedes Jahr zunimmt, viele neue Robotergenerationen entstehen, mit der Entwicklung von Produktionstechnologien neue Möglichkeiten für die Erstellung und Verwendung von Robotern entstehen und talentierte autodidaktische Meister weitermachen die Welt mit ihren neuen Erfindungen auf dem Gebiet der Robotik zu überraschen.

Die eingebauten Fotosensoren reagieren auf Licht und gehen zur Quelle, und die Sensoren erkennen ein Hindernis auf dem Weg und der Roboter ändert die Richtung. Um einen so einfachen Roboter mit eigenen Händen zu bauen, braucht man keine "sieben Spangen in der Stirn" und keine höhere technische Ausbildung. Es reicht aus, alle notwendigen Teile zu kaufen (und einige Teile sind zur Hand zu finden), um einen Roboter zu bauen und nach und nach alle Mikroschaltkreise, Sensoren, Sensoren, Drähte und Motoren anzuschließen.

Schauen wir uns eine Variante eines Roboters an, der aus einem Vibrationsmotor eines Mobiltelefons, einer leeren Batterie, doppelseitigem Klebeband und ... einer Zahnbürste besteht. Um diesen einfachen Roboter aus improvisierten Mitteln herzustellen, nehmen Sie Ihr altes, unnötiges Mobiltelefon und entfernen Sie den Vibrationsmotor daraus. Nehmen Sie danach eine alte Zahnbürste und schneiden Sie den Kopf mit einer Stichsäge ab.

Kleben Sie ein Stück doppelseitiges Klebeband oben auf den Zahnbürstenkopf und einen Vibrationsmotor darauf. Es bleibt nur noch, den Mini-Roboter mit Strom zu versorgen, indem neben dem Vibrationsmotor ein leerer Akku installiert wird. Alles! Unser Roboter ist bereit - aufgrund der Vibration bewegt sich der Roboter auf den Borsten vorwärts.

♦ MEISTERKURS FÜR "FORTGESCHRITTENE HAUSGEMACHTE": Foto anklicken

♦ VIDEO-TUTORIALS FÜR ANFÄNGER:

Selbst diejenigen, die gerade einen Lötkolben in die Hand genommen haben, können den einfachsten Roboter bauen.

Meistens wird unser Roboter (je nach Ausführung) auf das Licht zulaufen oder im Gegenteil davon weglaufen, vorwärts auf der Suche nach einem Lichtstrahl laufen oder wie ein Maulwurf zurückweichen.

Für unsere zukünftige „Künstliche Intelligenz“ benötigen wir:

  1. Chip L293D
  2. Kleiner Elektromotor M1 (kann aus Spielzeugautos gezogen werden)
  3. Fototransistor und Widerstand mit einem Nennwert von 200 Ohm.
  4. Kabel, eine Batterie und natürlich die Plattform selbst, wo alles platziert wird.

Wenn Sie dem Design noch ein paar hellere LEDs hinzufügen, können Sie leicht erreichen, dass der Roboter einfach der Hand hinterherläuft oder sogar der hellen oder dunklen Linie folgt. Unsere Kreation wird ein typischer Vertreter der Roboter der BEAM-Klasse sein. Das Verhaltensprinzip solcher Roboter basiert auf der "Fotorezeption", dh Licht fungiert in diesem Fall als Informationsquelle.

Unser Roboter bewegt sich vorwärts, wenn er von einem Lichtstrahl getroffen wird. Dieses Verhalten des Geräts wird „Photokinese“ genannt – ungerichtete Zunahme oder Abnahme der Mobilität als Reaktion auf Änderungen der Lichtstärke.

In unserem Gerät wurde, wie oben erwähnt, ein Fototransistor mit n-p-n-Struktur - PTR-1 - als Fotosensor verwendet. Hier können Sie nicht nur einen Fototransistor, sondern auch einen Fotowiderstand oder eine Fotodiode verwenden, da das Funktionsprinzip für alle Elemente gleich ist.

Die Abbildung zeigt sofort den Schaltplan des Roboters. Wenn Sie mit technischen Symbolen noch nicht genug vertraut sind, wird es Ihnen anhand dieses Diagramms nicht schwer fallen, die Prinzipien der Bezeichnung und Verbindung von Elementen miteinander zu verstehen.

Masse. Die Drähte, die die verschiedenen Elemente des Stromkreises mit der „Masse“ (dem Minuspol der Stromquelle) verbinden, sind in den Diagrammen normalerweise nicht vollständig dargestellt. Stattdessen wird ein kleiner Strich gezeichnet, der eine Verbindung zur „Masse“ anzeigt. Manchmal schreiben sie neben dem Bindestrich "GND" - von Eng. die Worte "Boden" - Erde.

Vcc. Diese Bezeichnung zeigt, dass der Stromkreis über diesen Teil mit der Stromversorgung verbunden ist - Pluspol! Manchmal steht auf den Diagrammen anstelle dieser Buchstaben oft die aktuelle Bewertung. In diesem Fall +5V.

Das Prinzip des Roboters.

Wenn ein Lichtstrahl auf den Fototransistor trifft (in der Abbildung als PRT1 bezeichnet), erscheint am Ausgang der INPUT1-Mikroschaltung ein positives Signal, das den M1-Motor zum Laufen bringt. Und umgekehrt, wenn der Lichtstrahl aufhört, den Fototransistor zu beleuchten, verschwindet das Signal am Ausgang des INPUT1-Chips, daher stoppt der Motor.

Der Widerstand R1 in dieser Schaltung soll den durch den Fototransistor fließenden Strom kompensieren. Der Wert des Widerstands beträgt 200 Ohm - natürlich können Sie hier Widerstände mit anderen Werten löten, aber es ist zu beachten, dass die Empfindlichkeit des Fototransistors und damit die Leistung des Roboters selbst vom Wert abhängt.

Wenn der Wert des Widerstands groß ist, reagiert der Roboter nur auf einen sehr hellen Lichtstrahl, und wenn er klein ist, ist die Empfindlichkeit viel höher.

Kurz gesagt, Widerstände mit einem Widerstandswert von weniger als 100 Ohm sollten in dieser Schaltung nicht verwendet werden, da sonst der Fototransistor einfach überhitzen und ausfallen kann.

Digitale und analoge Multimeter Lesekreise: Abschirmung, Erdung Lesekreise: Lampen und Fotozellen Wasserkocher reparatur Do-it-yourself-Uhr mit Bildprojektion

Sicherlich wollten Sie nach dem Anschauen von Filmen über Roboter oft Ihren Mitstreiter bauen, wussten aber nicht, wo Sie anfangen sollten. Natürlich werden Sie keinen zweibeinigen Terminator bauen können, aber das streben wir nicht an. Jeder, der weiß, wie man einen Lötkolben richtig in der Hand hält, kann einen einfachen Roboter zusammenbauen, und das erfordert kein tiefes Wissen, obwohl er nicht eingreifen wird. Amateurrobotik ist nicht viel anders als Schaltungstechnik, nur viel interessanter, weil hier auch Bereiche wie Mechanik und Programmierung betroffen sind. Alle Komponenten sind leicht verfügbar und nicht so teuer. Der Fortschritt steht also nicht still, und wir werden ihn zu unserem Vorteil nutzen.

Einführung

Damit. Was ist ein Roboter? In den meisten Fällen ist dies ein automatisches Gerät, das auf alle Umgebungsaktionen reagiert. Roboter können von einem Menschen gesteuert werden oder vorprogrammierte Aktionen ausführen. Typischerweise verfügt der Roboter über eine Vielzahl von Sensoren (Abstand, Drehwinkel, Beschleunigung), Videokameras, Manipulatoren. Der elektronische Teil des Roboters besteht aus einem Mikrocontroller (MC) - einer Mikroschaltung, die einen Prozessor, einen Taktgenerator, verschiedene Peripheriegeräte, RAM und einen permanenten Speicher enthält. Weltweit gibt es eine Vielzahl unterschiedlicher Mikrocontroller für unterschiedliche Anwendungen, auf deren Basis sich leistungsfähige Roboter zusammenbauen lassen. Für Amateurgebäude sind AVR-Mikrocontroller weit verbreitet. Sie sind bei weitem am zugänglichsten und im Internet finden Sie viele Beispiele, die auf diesen MKs basieren. Um mit Mikrocontrollern arbeiten zu können, müssen Sie in Assembler oder C programmieren können und über Grundkenntnisse in digitaler und analoger Elektronik verfügen. In unserem Projekt verwenden wir C. Die Programmierung für MK unterscheidet sich nicht wesentlich von der Programmierung auf einem Computer, die Syntax der Sprache ist dieselbe, die meisten Funktionen sind praktisch gleich und die neuen sind recht einfach zu erlernen und bequem zu verwenden.

Was brauchen wir

Zunächst wird unser Roboter in der Lage sein, Hindernisse einfach zu umgehen, dh das normale Verhalten der meisten Tiere in der Natur zu wiederholen. Alles, was wir brauchen, um einen solchen Roboter zu bauen, finden Sie in Fachgeschäften für Funktechnik. Lassen Sie uns entscheiden, wie sich unser Roboter bewegen wird. Am erfolgreichsten sind meiner Meinung nach die Ketten, die in Panzern verwendet werden. Dies ist die bequemste Lösung, da die Ketten eine größere Geländetauglichkeit haben als die Räder des Autos und es bequemer ist, sie zu steuern (zu drehen , reicht es aus, die Schienen in verschiedene Richtungen zu drehen). Daher benötigen Sie einen beliebigen Spielzeugpanzer mit Ketten, die sich unabhängig voneinander drehen. Sie können einen in jedem Spielwarenladen zu einem vernünftigen Preis kaufen. Von diesem Panzer aus brauchen Sie nur eine Plattform mit Ketten und Motoren mit Getrieben, den Rest können Sie sicher abschrauben und wegwerfen. Wir brauchen auch einen Mikrocontroller, meine Wahl fiel auf den ATmega16 - er hat genügend Anschlüsse zum Anschließen von Sensoren und Peripheriegeräten und ist im Allgemeinen recht praktisch. Sie müssen auch einige Funkkomponenten, einen Lötkolben und ein Multimeter kaufen.

Mit MK ein Brett bauen



Roboterschema

In unserem Fall wird der Mikrocontroller die Funktionen des Gehirns übernehmen, aber wir werden nicht damit beginnen, sondern mit der Stromversorgung des Robotergehirns. Die richtige Ernährung ist der Schlüssel zur Gesundheit, also beginnen wir damit, wie wir unseren Roboter richtig füttern, da Anfänger-Roboterbauer dabei normalerweise Fehler machen. Und damit unser Roboter normal funktioniert, müssen Sie einen Spannungsstabilisator verwenden. Ich bevorzuge den L7805-Chip - er ist für die Ausgabe einer stabilen Spannung von 5 V ausgelegt, was unser Mikrocontroller benötigt. Da der Spannungsabfall auf diesem Chip jedoch etwa 2,5 V beträgt, müssen ihm mindestens 7,5 V zugeführt werden. Zusammen mit diesem Stabilisator werden Elektrolytkondensatoren verwendet, um Spannungswelligkeiten zu glätten, und eine Diode muss in die Schaltung aufgenommen werden, um vor Verpolung zu schützen.
Jetzt können wir an unserem Mikrocontroller arbeiten. Der Körper des MK ist DIP (es ist bequemer zu löten) und hat vierzig Stifte. An Bord gibt es einen ADC, PWM, USART und viele andere Dinge, die wir vorerst nicht verwenden werden. Sehen wir uns einige wichtige Knoten an. Der RESET-Ausgang (9. Schenkel des MK) wird über den Widerstand R1 auf das „Plus“ der Stromquelle hochgezogen – das muss sein! Andernfalls kann Ihr MK unbeabsichtigt zurückgesetzt werden oder mit anderen Worten ausfallen. Es ist auch eine wünschenswerte Maßnahme, aber nicht zwingend erforderlich, RESET über einen Keramikkondensator C1 mit Masse zu verbinden. Im Diagramm sehen Sie auch einen 1000-uF-Elektrolyten, der Sie vor Spannungseinbrüchen bei laufenden Motoren schützt, was sich auch positiv auf den Betrieb des Mikrocontrollers auswirkt. Der Quarzresonator X1 und die Kondensatoren C2, C3 sollten so nah wie möglich an den Pins XTAL1 und XTAL2 platziert werden.
Ich werde nicht darüber sprechen, wie man MK flasht, da Sie im Internet darüber lesen können. Wir werden das Programm in C schreiben, als Programmierumgebung habe ich CodeVisionAVR gewählt. Es ist eine ziemlich praktische Umgebung und nützlich für Anfänger, da es über einen integrierten Codegenerierungsassistenten verfügt.


Meine Robotergebühr

Motorsteuerung

Eine ebenso wichtige Komponente in unserem Roboter ist der Motortreiber, der uns die Steuerung erleichtert. Niemals und unter keinen Umständen dürfen Motoren direkt an den MK angeschlossen werden! Im Allgemeinen können starke Lasten nicht direkt vom Mikrocontroller gesteuert werden, da dieser sonst durchbrennt. Verwenden Sie Schlüsseltransistoren. Für unseren Fall gibt es einen speziellen Chip - L293D. Versuchen Sie bei solchen einfachen Projekten immer, diesen speziellen Chip mit dem „D“-Index zu verwenden, da er eingebaute Dioden zum Überlastschutz hat. Dieser Chip ist sehr einfach zu handhaben und in Fachgeschäften für Funktechnik leicht zu bekommen. Es ist in zwei DIP- und SOIC-Paketen erhältlich. Wir werden wegen der einfachen Montage auf der Platine ein DIP-Gehäuse verwenden. Der L293D verfügt über separate Motor- und Logikstromversorgungen. Daher werden wir die Mikroschaltung selbst über den Stabilisator (VSS-Eingang) und die Motoren direkt über Batterien (VS-Eingang) mit Strom versorgen. L293D kann einer Last von 600 mA pro Kanal standhalten und verfügt über zwei dieser Kanäle, dh zwei Motoren können an eine Mikroschaltung angeschlossen werden. Aber um auf der sicheren Seite zu sein, werden wir die Kanäle kombinieren, und dann brauchen wir für jeden Motor ein Mikro. Daraus folgt, dass der L293D 1,2 A standhalten kann. Um dies zu erreichen, müssen Sie die Beine des Mikros kombinieren, wie in der Abbildung gezeigt. Die Mikroschaltung funktioniert wie folgt: Wenn eine logische „0“ an IN1 und IN2 angelegt wird und eine logische Einheit an IN3 und IN4 angelegt wird, dreht sich der Motor in eine Richtung, und wenn die Signale invertiert werden, wird eine logische Null angelegt. Dann beginnt der Motor in die andere Richtung zu drehen. Die Pins EN1 und EN2 sind für das Einschalten jedes Kanals verantwortlich. Wir schließen sie an und verbinden sie mit der "Plus" -Stromversorgung des Stabilisators. Da sich die Mikroschaltung während des Betriebs erwärmt und die Installation von Heizkörpern bei dieser Art von Gehäuse problematisch ist, wird die Wärmeabfuhr durch GND-Beine gewährleistet - es ist besser, sie auf einer breiten Kontaktfläche zu löten. Das ist alles, was Sie zum ersten Mal über Motortreiber wissen müssen.

Hindernissensoren

Damit unser Roboter navigieren kann und nicht überall zusammenstößt, werden wir zwei Infrarotsensoren darauf installieren. Der einfachste Sensor besteht aus einer IR-Diode, die im Infrarotspektrum emittiert, und einem Fototransistor, der ein Signal von der IR-Diode empfängt. Das Prinzip ist folgendes: Wenn sich vor dem Sensor kein Hindernis befindet, fallen die IR-Strahlen nicht auf den Fototransistor und er öffnet nicht. Wenn sich vor dem Sensor ein Hindernis befindet, werden die Strahlen davon reflektiert und fallen auf den Transistor - er öffnet und Strom beginnt zu fließen. Der Nachteil solcher Sensoren ist, dass sie auf verschiedene Oberflächen unterschiedlich reagieren können und nicht vor Störungen geschützt sind – der Sensor kann versehentlich von Fremdsignalen anderer Geräte arbeiten. Die Signalmodulation kann vor Interferenzen schützen, aber damit wollen wir uns vorerst nicht beschäftigen. Für den Anfang reicht das.


Die erste Version der Sensoren meines Roboters

Roboter-Firmware

Um den Roboter wiederzubeleben, müssen Sie eine Firmware dafür schreiben, d. h. ein Programm, das Messwerte von Sensoren und Steuermotoren erfasst. Mein Programm ist das einfachste, es enthält keine komplexen Strukturen und wird für jeden verständlich sein. Die nächsten beiden Zeilen enthalten Header-Dateien für unseren Mikrocontroller und Befehle zum Generieren von Verzögerungen:

#enthalten
#enthalten

Die folgenden Zeilen sind bedingt, da die PORTC-Werte davon abhängen, wie Sie den Motortreiber an Ihren Mikrocontroller angeschlossen haben:

ANSCHL.0 = 1;
PORTC.1 = 0;
PORTC.2 = 1;
PORTC.3 = 0;

Ein Wert von 0xFF bedeutet, dass die Ausgabe ein Protokoll ist. "1" und 0x00 ist ein Protokoll. "0".

Mit folgender Konstruktion prüfen wir, ob sich vor dem Roboter ein Hindernis befindet und auf welcher Seite es sich befindet:

Wenn (!(PIN & (1< {
...
}

Wenn Licht von einer IR-Diode auf den Fototransistor trifft, wird ein Protokoll auf das Bein des Mikrocontrollers gesetzt. „0“ und der Roboter beginnt, sich rückwärts zu bewegen, um sich vom Hindernis zu entfernen, dreht sich dann um, um nicht erneut mit dem Hindernis zu kollidieren, und fährt dann wieder vorwärts. Da wir zwei Sensoren haben, prüfen wir das Vorhandensein eines Hindernisses zweimal – rechts und links – und können so feststellen, auf welcher Seite sich das Hindernis befindet. Der Befehl „delay_ms(1000)“ gibt an, dass eine Sekunde vergehen wird, bevor der nächste Befehl ausgeführt wird.

Fazit

Ich habe die meisten Aspekte behandelt, die Ihnen beim Bau Ihres ersten Roboters helfen werden. Aber die Robotik endet hier nicht. Wenn Sie diesen Roboter zusammenbauen, haben Sie viele Möglichkeiten, ihn zu erweitern. Sie können den Algorithmus des Roboters verbessern, z. B. was zu tun ist, wenn sich das Hindernis nicht auf einer Seite, sondern direkt vor dem Roboter befindet. Es schadet auch nicht, einen Encoder zu installieren - ein einfaches Gerät, das Ihnen hilft, Ihren Roboter im Weltraum genau zu positionieren und zu kennen. Zur Verdeutlichung ist es möglich, ein farbiges oder monochromes Display zu installieren, das nützliche Informationen anzeigen kann - Batterieladezustand, Entfernung zu einem Hindernis, verschiedene Debug-Informationen. Auch die Verbesserung der Sensoren wird nicht schaden - die Installation von TSOP (das sind IR-Empfänger, die nur ein Signal einer bestimmten Frequenz wahrnehmen) anstelle von herkömmlichen Fototransistoren. Neben Infrarotsensoren gibt es Ultraschallsensoren, die teurer und auch nicht ohne Nachteile sind, aber in letzter Zeit bei Roboterbauern an Popularität gewinnen. Damit der Roboter auf Geräusche reagiert, wäre es schön, Mikrofone mit Verstärker zu installieren. Aber das wirklich Interessante ist meiner Meinung nach, die Kamera zu installieren und darauf basierend die Bildverarbeitung zu programmieren. Es gibt eine Reihe spezieller OpenCV-Bibliotheken, mit denen Sie Gesichtserkennung, Bewegungen auf farbigen Beacons und viele andere interessante Dinge programmieren können. Es hängt alles von Ihrer Vorstellungskraft und Ihren Fähigkeiten ab.
Liste der Komponenten:
  • ATmega16 im DIP-40-Paket>
  • L7805 im TO-220-Gehäuse
  • L293D im DIP-16-Gehäuse x2 Stk.
  • Widerstände mit einer Leistung von 0,25 W mit Nennwerten: 10 kOhm x1 Stk., 220 Ohm x4 Stk.
  • Keramikkondensatoren: 0,1 uF, 1 uF, 22 pF
  • Elkos: 1000 uF x 16 V, 220 uF x 16 V x2 Stk.
  • Diode 1N4001 oder 1N4004
  • 16 MHz Schwingquarz
  • IR-Dioden: Jede in der Menge von zwei Stück reicht aus.
  • Fototransistoren, auch beliebige, die aber nur auf die Wellenlänge von IR-Strahlen reagieren
Firmware-Code:
/*****************************************************
Firmware für den Roboter

MK-Typ: ATmega16
Taktfrequenz: 16,000000 MHz
Wenn Ihre Quarzfrequenz anders ist, dann muss dies in den Umgebungseinstellungen angegeben werden:
Projekt -> Konfigurieren -> Registerkarte "C-Compiler".
*****************************************************/

#enthalten
#enthalten

Leere Haupt(leere)
{
//Eingabeports einrichten
// Über diese Ports empfangen wir Signale von Sensoren
DDRB=0x00;
// Pull-up-Widerstände einschalten
PORTB=0xFF;

// Ports für die Ausgabe einrichten
//Durch diese Ports steuern wir die Motoren
DDRC=0xFF;

//Hauptschleife des Programms. Hier lesen wir die Werte von den Sensoren ab
// und die Motoren steuern
während (1)
{
//Gehen wir weiter
ANSCHL.0 = 1;
PORTC.1 = 0;
PORTC.2 = 1;
PORTC.3 = 0;
wenn (!(PIN & (1< {
//Gehe 1 Sekunde zurück
ANSCHL.0 = 0;
PORTC.1 = 1;
PORTC.2 = 0;
PORTC.3 = 1;
delay_ms(1000);
// Wickeln
ANSCHL.0 = 1;
PORTC.1 = 0;
PORTC.2 = 0;
PORTC.3 = 1;
delay_ms(1000);
}
wenn (!(PIN & (1< {
//Gehe 1 Sekunde zurück
ANSCHL.0 = 0;
PORTC.1 = 1;
PORTC.2 = 0;
PORTC.3 = 1;
delay_ms(1000);
// Wickeln
ANSCHL.0 = 0;
PORTC.1 = 1;
PORTC.2 = 1;
PORTC.3 = 0;
delay_ms(1000);
}
};
}

Über meinen Roboter

Im Moment ist mein Roboter fast fertig.


Es verfügt über eine drahtlose Kamera, einen Abstandssensor (sowohl die Kamera als auch dieser Sensor sind auf einem Drehturm installiert), einen Hindernissensor, einen Encoder, einen Signalempfänger von der Fernbedienung und eine RS-232-Schnittstelle zum Anschluss an einen Computer. Es funktioniert in zwei Modi: autonom und manuell (empfängt Steuersignale von der Fernbedienung), die Kamera kann auch aus der Ferne oder vom Roboter selbst ein- und ausgeschaltet werden, um Batteriestrom zu sparen. Ich schreibe eine Firmware zum Schutz der Wohnung (Bildübertragung auf einen Computer, Bewegungserkennung, Umleitung der Räumlichkeiten).

Ich poste wie gewünscht ein Video.

UPD. Ich habe die Fotos erneut hochgeladen und kleinere Korrekturen am Text vorgenommen.