Selbstgebauter Roboter auf einem Mikrocontroller. Kleiner selbstgebauter Roboter. Was sind die spezielleren Funktionen eines Mikrocontrollers?

Wählen Sie einen Mikrocontroller zur Erstellung Ihres Roboters. Zuerst müssen Sie verstehen, was ein Mikrocontroller ist und was er tut.

Mikrocontroller ist ein Computergerät, das Programme (d. h. eine Folge von Anweisungen) ausführen kann.

Es wird oft als „Gehirn“ oder „Kontrollzentrum“ des Roboters bezeichnet. Typischerweise ist der Mikrocontroller für alle Berechnungen, Entscheidungen und Kommunikation verantwortlich.

Um mit zu interagieren Außenwelt Der Mikrocontroller verfügt über eine Reihe von Pins oder Anschlüssen zur elektrischen Erfassung des Signals. So kann das Signal per Programmieranweisung auf Maximum (1/C) oder Minimum (0/Aus) geschaltet werden. Diese Pins können auch zum Auslesen elektrischer Signale verwendet werden. Sie stammen von Sensoren oder anderen Geräten und bestimmen, ob die Signale hoch oder niedrig sind.

Die meisten modernen Mikrocontroller können auch Spannungen messen analoge Signale. Hierbei handelt es sich um Signale, die anstelle von zwei klar definierten Ebenen einen vollständigen Wertebereich aufweisen können. Dies geschieht mithilfe eines Analog-Digital-Wandlers (ADC). Dadurch kann der Mikrocontroller dem Signal einen Zahlenwert in Form einer analogen Spannung zuordnen. Diese Spannung ist weder hoch noch niedrig und liegt typischerweise im Bereich von 0 - 10 Volt.

Was kann ein Mikrocontroller?

Obwohl Mikrocontroller auf den ersten Blick recht begrenzt erscheinen mögen, können viele komplexe Aktionen mithilfe von High- und Low-Signal-Pins ausgeführt werden, um einen Algorithmus zu programmieren. Allerdings ist die Erstellung sehr komplexer Algorithmen, etwa für intelligentes Verhalten oder sehr große Programme, für einen Mikrocontroller aufgrund begrenzter Ressourcen und Geschwindigkeitsbeschränkungen möglicherweise einfach nicht möglich.

Sie können beispielsweise eine Wiederholungssequenz programmieren, damit die Lichter blinken. Der Mikrocontroller schaltet also den Signalpegel auf hoch, wartet eine Sekunde, schaltet ihn auf niedrig, wartet eine weitere Sekunde und beginnt erneut. Das Licht ist mit dem Ausgangspin des Mikrocontrollers verbunden und blinkt in einem zyklischen Programm endlos.


Ebenso können Mikrocontroller zur Steuerung anderer elektrischer Geräte eingesetzt werden. In erster Linie handelt es sich um Antriebe (bei Anschluss an eine Motorsteuerung), Speichergeräte (z. B. SD-Karten), WLAN- oder Bluetooth-Schnittstellen usw. Aufgrund dieser unglaublichen Vielseitigkeit sind Mikrocontroller im Alltag zu finden.

In fast jedem Haushaltsgerät bzw elektronisches Gerät Es kommt mindestens ein Mikrocontroller zum Einsatz. Allerdings kommen oft mehrere Mikrocontroller zum Einsatz. Zum Beispiel im Fernsehen, Waschmaschinen, Bedienfelder, Telefone, Uhren, Mikrowellenherde und viele andere Geräte.

Im Gegensatz zu Mikroprozessoren (z. CPU V persönliche Computer) benötigt der Mikrocontroller keine Peripheriegeräte. Wie extern Rom oder ein externes Speichergerät für den Betrieb. Dies bedeutet, dass ein Mikrocontroller zwar möglicherweise weniger leistungsstark ist als seine PC-Gegenstücke. Es ist fast immer deutlich einfacher und kostengünstiger, Schaltungen und Produkte auf Basis von Mikrocontrollern zu entwickeln, da nur sehr wenige zusätzliche Hardwarekomponenten erforderlich sind.

Dabei ist zu beachten, dass der Mikrocontroller nur sehr wenig ausgeben kann große Menge elektrische Energie über seine Ausgangskontakte. Dies bedeutet, dass es nicht möglich ist, einen leistungsstarken Elektromotor, ein Magnetventil, eine große Beleuchtung oder eine andere große Last direkt an den Mikrocontroller anzuschließen. Der Versuch, dies zu tun, kann zur Beschädigung des Controllers führen.

Was sind speziellere Funktionen eines Mikrocontrollers?

Durch die in Mikrocontroller integrierte spezielle Hardware können diese Geräte mehr als nur einfache digitale E/A, grundlegende Berechnungen und Entscheidungsfindung leisten. Viele Mikrocontroller unterstützen problemlos die gängigsten Kommunikationsprotokolle wie UART (RS232 oder andere), SPI und I2C. Diese Funktion ist äußerst nützlich bei der Kommunikation mit anderen Geräten wie Computern, Sensoren oder anderen Mikrocontrollern.

Obwohl diese Protokolle manuell implementiert werden können, ist es immer besser, dedizierte Onboard-Hardware zu haben, die sich um die Details kümmert. Dadurch kann sich der Mikrocontroller auf andere Aufgaben konzentrieren und das Programm bleibt sauber.


Analog-Digital-Wandler (ADCs) werden verwendet, um analoge Spannungssignale in digitale umzuwandeln. Dort ist die Größe proportional zur Höhe der Spannung und diese Zahl kann dann im Mikrocontroller-Programm verwendet werden. Um die Zwischenenergieausgabe von hoch und niedrig zu unterscheiden, verfügen einige Mikrocontroller über die Möglichkeit, diese zu verwenden Pulsweitenmodulation(PWM). Mit dieser Methode können Sie beispielsweise die Helligkeit der LED stufenlos ändern.

Schließlich verfügen einige Mikrocontroller über einen integrierten Spannungsregler. Dies ist sehr praktisch, da der Mikrocontroller so mit einem weiten Spannungsbereich arbeiten kann. Daher ist es nicht erforderlich, die erforderlichen Spannungswerte bereitzustellen. Es erleichtert auch den Anschluss verschiedene Sensoren und andere Geräte ohne zusätzliche externe geregelte Stromversorgung.

Analog oder digital?

Welche Ein- und Ausgangssignale verwendet werden müssen, hängt von der Aufgabenstellung und den Bedingungen ab. Wenn Ihre Aufgabe beispielsweise lediglich darin besteht, etwas ein- oder auszuschalten, muss das Signal am Eingangspin des Mikrocontrollers lediglich digital sein. Der binäre Zustand des Schalters ist 0 oder 1. Der hohe Pegel des Signals kann 5 Volt betragen, der niedrige Pegel 0. Wenn Sie beispielsweise die Temperatur messen müssen, benötigen Sie ein analoges Eingangssignal. Anschließend interpretiert der ADC auf dem Mikrocontroller die Spannung und wandelt sie in einen numerischen Wert um.


Wie programmiert man Mikrocontroller?

Durch den Einsatz moderner integrierter Entwicklungsumgebungen (IDEs) mit voll ausgestatteten Bibliotheken ist die Programmierung von Mikrocontrollern einfacher geworden. Sie decken problemlos alle häufigsten Aufgaben ab und verfügen über viele vorgefertigte Codebeispiele.

Heutzutage können Mikrocontroller in einer Vielzahl von Hochsprachen programmiert werden. Dies sind Sprachen wie C, C++, C#, Java, Python, Basic und andere. Natürlich können Sie ein Programm jederzeit in Assembler schreiben. Allerdings ist dies etwas für fortgeschrittenere Benutzer mit besonderen Anforderungen (mit einem Hauch von Masochismus). In diesem Sinne sollte jeder in der Lage sein, eine Programmiersprache zu finden, die seinem Geschmack und seinen bisherigen Programmiererfahrungen am besten entspricht.

Die Programmierung von Mikrocontrollern wird noch einfacher, da Hersteller grafische Programmierumgebungen erstellen. Dabei handelt es sich um Symbole, die mehrere Codezeilen enthalten. Die Piktogramme sind miteinander verbunden. Dadurch entsteht ein Programm, das optisch einfach ist, aber viel Code enthält. Beispielsweise könnte ein Bild die Motorsteuerung darstellen. Der Benutzer muss lediglich das Symbol an der erforderlichen Stelle platzieren und die Drehrichtung und Geschwindigkeit angeben.


Die entwickelten Mikrocontroller-Boards sind sehr komfortabel zu bedienen. Und sie sind über einen längeren Zeitraum einfacher zu verwenden. Sie bieten außerdem praktische USB-Stromversorgungs- und Programmierschnittstellen. Daher ist der Anschluss an jeden modernen Computer möglich.

Warum nicht einen Standardcomputer verwenden?

Offensichtlich ist ein Mikrocontroller einem Computerprozessor sehr ähnlich. Wenn das der Fall ist, warum nutzen Sie dann nicht einfach einen Computer, um den Roboter zu steuern? Sollten Sie sich also für einen Desktop-Computer oder einen Mikrocontroller entscheiden?


Im Wesentlichen wird bei fortschrittlicheren Robotern, insbesondere solchen, die komplexe Berechnungen und Algorithmen beinhalten, der Mikrocontroller häufig ersetzt (oder erweitert). Standardcomputer. IN Desktop-Computer Eingerichtet Hauptplatine, Prozessor, Geräte-RAM (z. B. Festplatte), Grafikkarte (eingebaut oder extern).

Zusätzlich gibt es Peripheriegeräte B. Monitor, Tastatur, Maus usw. Diese Systeme sind in der Regel teurer, physisch größer und verbrauchen mehr Energie. Die Hauptunterschiede sind in der folgenden Tabelle hervorgehoben. Darüber hinaus verfügen sie oft über mehr Funktionalität als nötig.

Wie wählt man den richtigen Mikrocontroller aus?

Wenn Sie Robotik studieren, benötigen Sie für jedes Robotikprojekt einen Mikrocontroller. Für einen Anfänger kann die Auswahl des richtigen Mikrocontrollers eine entmutigende Aufgabe sein. Vor allem angesichts der Reichweite technische Eigenschaften und Anwendungsbereiche. Es gibt viele verschiedene Mikrocontroller auf dem Markt:

  • Arduino
  • BasicATOM
  • BasicX
  • Lego EV3
  • und viele andere

Um den richtigen Mikrocontroller auszuwählen, stellen Sie sich die folgenden Fragen:

Welcher Mikrocontroller ist für meine Anwendung am beliebtesten?

Natürlich ist die Entwicklung von Robotern und elektronischen Projekten im Allgemeinen kein Beliebtheitswettbewerb. Es ist sehr gut, wenn der Mikrocontroller viel Community-Unterstützung hat. Und es wird in ähnlichen oder sogar identischen Situationen erfolgreich eingesetzt. Dadurch kann die Entwurfsphase erheblich vereinfacht werden. Auf diese Weise können Sie von den Erfahrungen anderer Benutzer profitieren, sowohl Amateuren als auch Profis.

Mitglieder von Roboterdesign-Communitys tauschen Ergebnisse, Codes, Bilder und Videos miteinander aus und sprechen ausführlich über Erfolge und sogar Misserfolge. All dies sind zugängliche Materialien und die Möglichkeit, Ratschläge von mehr zu erhalten erfahrene Benutzer. Daher kann es sich als sehr wertvoll erweisen.

Hat Ihr Roboter besondere Anforderungen?

Der Mikrocontroller muss in der Lage sein, alle Sonderaktionen Ihres Roboters auszuführen, damit die Funktionen korrekt ausgeführt werden. Einige Funktionen sind allen Mikrocontrollern gemeinsam (z. B. das Vorhandensein digitaler Ein- und Ausgänge, die Fähigkeit, einfache mathematische Operationen durchzuführen, Werte zu vergleichen und Entscheidungen zu treffen).

Andere Controller erfordern möglicherweise spezielle Hardware (z. B. ADC, PWM und Unterstützung für Kommunikationsprotokolle). Auch Speicher- und Geschwindigkeitsanforderungen sowie die Anzahl der Pins müssen berücksichtigt werden.

Welche Komponenten sind für einen bestimmten Mikrocontroller verfügbar?

Möglicherweise hat Ihr Roboter besondere Anforderungen oder benötigt einen bestimmten Sensor oder eine bestimmte Komponente. Und das ist entscheidend für Ihr Projekt. Daher ist die Wahl eines kompatiblen Mikrocontrollers natürlich sehr wichtig.

Die meisten Sensoren und Komponenten können direkt mit vielen Mikrocontrollern kommunizieren. Obwohl einige Komponenten für die Interaktion mit einem bestimmten Mikrocontroller ausgelegt sind. Möglicherweise sind sie einzigartig und mit anderen Mikrocontrollertypen nicht kompatibel.

Was hält die Zukunft für uns bereit?

Die Preise für Computer sinken, und der technologische Fortschritt macht sie kleiner und effizienter. Dadurch sind Einplatinencomputer zu einer attraktiven Option für Roboter geworden. Sie können voll arbeiten Betriebssystem(Windows und Linux sind am häufigsten).

Darüber hinaus können Computer eine Verbindung herstellen Externe Geräte B. USB-Geräte, LCD-Displays usw. Im Gegensatz zu ihren Vorgängern verbrauchen diese Einplatinencomputer tendenziell deutlich weniger Strom.

Praktischer Teil

Um einen Mikrocontroller auszuwählen, erstellen wir eine Liste der Kriterien, die wir benötigen:

  • Die Kosten des Mikrocontrollers sollten gering sein
  • Es sollte einfach zu bedienen sein und gut unterstützt werden
  • Die Verfügbarkeit einer zugänglichen Dokumentation ist wichtig
  • Es muss in einer grafischen Umgebung programmiert werden
  • Es muss beliebt sein und eine aktive Benutzergemeinschaft haben
  • Da unser Roboter zwei Motoren und verschiedene Sensoren verwenden wird, benötigt der Mikrocontroller mindestens zwei Ports zur Steuerung der Motoren und mehrere Ports zum Anschluss von Sensoren. Auch die Anzahl der angeschlossenen Geräte soll in Zukunft erweitert werden können.

Erfüllt diese Kriterien EV3-Modul aus dem Lego Mindstorms EV3-Set.


Übersicht über EV3-Steine

Nachdem Sie genügend Filme über Roboter gesehen haben, wollten Sie sicherlich schon oft Ihren eigenen Kampfkameraden bauen, wussten aber nicht, wo Sie anfangen sollten. Natürlich können Sie keinen zweibeinigen Terminator bauen, aber das ist nicht das, was wir erreichen wollen. Jeder, der weiß, wie man einen Lötkolben richtig in den Händen hält, kann einen einfachen Roboter zusammenbauen und dafür sind keine tiefen Kenntnisse erforderlich, obwohl es nicht schaden wird. Amateurrobotik unterscheidet sich nicht wesentlich vom Schaltungsdesign, ist nur viel interessanter, da sie auch Bereiche wie Mechanik und Programmierung umfasst. Alle Komponenten sind leicht erhältlich und nicht so teuer. Der Fortschritt steht also nicht still und wir werden ihn zu unserem Vorteil nutzen.

Einführung

Also. Was ist ein Roboter? In den meisten Fällen handelt es sich dabei um ein automatisches Gerät, das auf alle Umwelteinflüsse reagiert. Roboter können von Menschen gesteuert werden oder vorprogrammierte Aktionen ausführen. Typischerweise ist der Roboter mit einer Vielzahl von Sensoren (Abstand, Drehwinkel, Beschleunigung), Videokameras und Manipulatoren ausgestattet. Der elektronische Teil des Roboters besteht aus einem Mikrocontroller (MC) – einem Mikroschaltkreis, der einen Prozessor, einen Taktgenerator, verschiedene Peripheriegeräte, RAM und Permanentspeicher enthält. Es gibt weltweit eine Vielzahl unterschiedlicher Mikrocontroller für unterschiedliche Anwendungen, auf deren Basis man leistungsstarke Roboter zusammenbauen kann. Sie werden häufig für Amateurbauten verwendet. AVR-Mikrocontroller. 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 werden wir C verwenden. Die Programmierung für MK unterscheidet sich nicht wesentlich von der Programmierung auf einem Computer, die Syntax der Sprache ist dieselbe, die meisten Funktionen unterscheiden sich praktisch nicht und neue sind recht einfach zu erlernen und bequem zu verwenden.

Was brauchen wir

Zunächst wird unser Roboter in der Lage sein, Hindernissen einfach auszuweichen, also das normale Verhalten der meisten Tiere in der Natur zu wiederholen. Alles, was wir brauchen, um einen solchen Roboter zu bauen, finden wir im Radiofachhandel. Lassen Sie uns entscheiden, wie sich unser Roboter bewegen wird. Ich denke, am erfolgreichsten sind die Ketten, die in Panzern verwendet werden. Dies ist die bequemste Lösung, da die Ketten eine größere Manövrierfähigkeit als die Räder eines Fahrzeugs haben und bequemer zu steuern sind (zum Wenden reicht es, die Ketten zu drehen). in verschiedene Richtungen). Daher benötigen Sie einen Spielzeugpanzer, dessen Raupen sich unabhängig voneinander drehen. Diesen gibt es in jedem Spielzeugladen zu kaufen angemessener Preis. Von diesem Panzer benötigen Sie lediglich eine Plattform mit Gleisen und Motoren mit Getrieben, den Rest können Sie bedenkenlos abschrauben und wegwerfen. Wir brauchen auch einen Mikrocontroller, meine Wahl fiel auf ATmega16 – er verfügt über genügend Anschlüsse zum Anschluss von Sensoren und Peripheriegeräten und ist im Allgemeinen recht praktisch. Sie müssen außerdem einige Funkkomponenten, einen Lötkolben und ein Multimeter kaufen.

Mit MK ein Board erstellen



Roboterdiagramm

In unserem Fall übernimmt der Mikrocontroller die Funktionen des Gehirns, aber wir beginnen nicht damit, sondern damit, das Gehirn des Roboters mit Strom zu versorgen. Die richtige Ernährung ist der Schlüssel zur Gesundheit, deshalb beginnen wir damit, wie wir unseren Roboter richtig füttern, denn hier machen unerfahrene Roboterbauer normalerweise Fehler. Und damit unser Roboter normal funktioniert, müssen wir einen Spannungsstabilisator verwenden. Ich bevorzuge den L7805-Chip – er ist darauf ausgelegt, eine stabile Ausgangsspannung von 5 V zu erzeugen, was unser Mikrocontroller benötigt. Da der Spannungsabfall an dieser Mikroschaltung jedoch etwa 2,5 V beträgt, müssen ihr mindestens 7,5 V zugeführt werden. Zusammen mit diesem Stabilisator werden Elektrolytkondensatoren verwendet, um Spannungswelligkeiten zu glätten, und zum Schutz vor Verpolung ist unbedingt eine Diode in den Stromkreis eingebaut.
Jetzt können wir zu unserem Mikrocontroller übergehen. Das Gehäuse des MK ist DIP (bequemer zu löten) und hat vierzig Pins. An Bord sind ein ADC, PWM, USART und vieles mehr, das wir vorerst nicht nutzen werden. Schauen wir uns einige wichtige Knoten an. Der RESET-Pin (9. Zweig des MK) wird durch den Widerstand R1 auf das „Plus“ der Stromquelle gezogen – das muss gemacht werden! Andernfalls könnte Ihr MK unbeabsichtigt zurückgesetzt werden oder, einfacher ausgedrückt, einen Fehler verursachen. Eine weitere wünschenswerte, aber nicht zwingende Maßnahme besteht darin, RESET über den Keramikkondensator C1 mit Masse zu verbinden. Im Diagramm ist auch ein 1000 uF-Elektrolyt zu sehen, der Spannungseinbrüche bei laufenden Motoren verhindert, was sich auch positiv auf die Funktion des Mikrocontrollers auswirkt. Der Quarzresonator X1 und die Kondensatoren C2, C3 sollten so nah wie möglich an den Pins XTAL1 und XTAL2 liegen.
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. Dies ist eine recht benutzerfreundliche Umgebung und ist für Anfänger nützlich, da sie über einen integrierten Assistenten zur Codeerstellung verfügt.


Mein Roboterboard

Motorsteuerung

Eine ebenso wichtige Komponente unseres Roboters ist der Motortreiber, der uns die Steuerung erleichtert. Niemals und unter keinen Umständen dürfen Motoren direkt an die MK angeschlossen werden! Im Allgemeinen können leistungsstarke Lasten nicht direkt vom Mikrocontroller aus gesteuert werden, da dieser sonst durchbrennt. Verwenden Sie Schlüsseltransistoren. Für unseren Fall gibt es einen speziellen Chip – L293D. Versuchen Sie bei solch einfachen Projekten immer, diesen speziellen Chip mit dem „D“-Index zu verwenden, da dieser über eingebaute Dioden zum Überlastschutz verfügt. Diese Mikroschaltung ist sehr einfach zu steuern und im Radiofachhandel leicht zu bekommen. Es ist in zwei Paketen erhältlich: DIP und SOIC. Aufgrund der einfachen Montage auf der Platine verwenden wir DIP im Paket. L293D verfügt über eine separate Stromversorgung für Motoren und Logik. Daher versorgen wir die Mikroschaltung selbst über den Stabilisator (VSS-Eingang) und die Motoren direkt über die Batterien (VS-Eingang). Der L293D hält einer Belastung von 600 mA pro Kanal stand und verfügt über zwei dieser Kanäle, d. h. es können zwei Motoren an einen Chip angeschlossen werden. Aber um auf der sicheren Seite zu sein, werden wir die Kanäle zusammenfassen und dann für jede Engine ein Mikro benötigen. Daraus folgt, dass der L293D 1,2 A aushalten kann. Um dies zu erreichen, müssen Sie die Micra-Beine kombinieren, wie in der Abbildung gezeigt. Die Mikroschaltung funktioniert wie folgt: Wenn an IN1 und IN2 eine logische „0“ und an IN3 und IN4 eine logische Eins angelegt wird, dreht sich der Motor in eine Richtung, und wenn die Signale invertiert sind und eine logische Null angelegt wird, dann beginnt sich der Motor in die andere Richtung zu drehen. Die Pins EN1 und EN2 sind für das Einschalten jedes Kanals verantwortlich. Wir verbinden sie und verbinden sie mit dem „Plus“ der Stromversorgung vom Stabilisator. Da sich die Mikroschaltung im Betrieb erwärmt und die Installation von Heizkörpern in solchen Gehäusen problematisch ist, wird die Wärmeabfuhr durch GND-Beine gewährleistet – besser ist es, diese auf einem breiten Kontaktpad anzulöten. Das ist alles, was Sie zum ersten Mal über Lokführer wissen müssen.

Hindernissensoren

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


Die erste Version der Sensoren meines Roboters

Roboter-Firmware

Um den Roboter zum Leben zu erwecken, müssen Sie eine Firmware dafür schreiben, also ein Programm, das Messwerte von Sensoren erfasst und die Motoren steuert. 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 Erzeugen von Verzögerungen:

#enthalten
#enthalten

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

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

Der Wert 0xFF bedeutet, dass die Ausgabe log erfolgt. „1“ und 0x00 ist log. „0“.

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

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

Wenn Licht von einer IR-Diode auf den Fototransistor trifft, wird ein Protokoll auf dem Mikrocontroller-Bein installiert. „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 bewegt sich dann wieder vorwärts. Da wir über zwei Sensoren verfügen, prüfen wir zweimal, ob ein Hindernis vorhanden ist – rechts und links – und können so herausfinden, auf welcher Seite sich das Hindernis befindet. Der Befehl „delay_ms(1000)“ gibt an, dass eine Sekunde vergeht, bevor der nächste Befehl ausgeführt wird.

Abschluss

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 würde auch nicht schaden, einen Encoder zu installieren – ein einfaches Gerät, das Ihnen hilft, Ihren Roboter genau zu positionieren und seinen Standort im Raum zu ermitteln. Aus Gründen der Übersichtlichkeit ist es möglich, ein Farb- oder Monochrom-Display zu installieren, das nützliche Informationen anzeigen kann – Akkuladestand, Entfernung zu Hindernissen, verschiedene Debugging-Informationen. Es würde nicht schaden, die Sensoren zu verbessern – TSOPs (das sind IR-Empfänger, die nur ein Signal einer bestimmten Frequenz wahrnehmen) anstelle herkömmlicher Fototransistoren zu installieren. Neben Infrarotsensoren gibt es Ultraschallsensoren, die teurer sind und auch ihre Nachteile haben, aber in letzter Zeit bei Roboterbauern immer beliebter werden. Damit der Roboter auf Geräusche reagieren kann, empfiehlt es sich, Mikrofone mit Verstärker zu installieren. Aber was ich wirklich interessant finde, ist die Installation der Kamera und die Programmierung der darauf basierenden Bildverarbeitung. Es gibt eine Reihe spezieller OpenCV-Bibliotheken, mit denen Sie Gesichtserkennung, Bewegung nach farbigen Beacons und viele andere interessante Dinge programmieren können. Es hängt alles nur von Ihrer Vorstellungskraft und Ihren Fähigkeiten ab.
Liste der Komponenten:
  • ATmega16 im DIP-40-Gehäuse
  • 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 x 1 Stk., 220 Ohm x 4 Stk.
  • Keramikkondensatoren: 0,1 µF, 1 µF, 22 pF
  • Elektrolytkondensatoren: 1000 µF x 16 V, 220 µF x 16 V x 2 Stk.
  • Diode 1N4001 oder 1N4004
  • 16 MHz Quarzresonator
  • IR-Dioden: Zwei davon reichen aus.
  • Fototransistoren, auch alle, die jedoch nur auf die Wellenlänge von Infrarotstrahlen reagieren
Firmware-Code:
/*****************************************************
Firmware für den Roboter

MK-Typ: ATmega16
Taktfrequenz: 16.000000 MHz
Wenn Ihre Quarzfrequenz anders ist, müssen Sie dies in den Umgebungseinstellungen angeben:
Projekt -> Konfigurieren -> Registerkarte "C-Compiler".
*****************************************************/

#enthalten
#enthalten

Void main(void)
{
//Eingabeports konfigurieren
//Über diese Ports empfangen wir Signale von Sensoren
DDRB=0x00;
//Pull-up-Widerstände einschalten
PORTB=0xFF;

//Ausgabeports konfigurieren
//Über diese Ports steuern wir die Motoren
DDRC=0xFF;

//Hauptschleife des Programms. Hier lesen wir die Werte der Sensoren aus
//und die Motoren steuern
während (1)
{
//Lass uns weitermachen
PORTC.0 = 1;
PORTC.1 = 0;
PORTC.2 = 1;
PORTC.3 = 0;
if (!(PINB & (1< {
//Gehe 1 Sekunde rückwärts
PORTC.0 = 0;
PORTC.1 = 1;
PORTC.2 = 0;
PORTC.3 = 1;
Verzögerung_ms(1000);
//Wickeln Sie es
PORTC.0 = 1;
PORTC.1 = 0;
PORTC.2 = 0;
PORTC.3 = 1;
Verzögerung_ms(1000);
}
if (!(PINB & (1< {
//Gehe 1 Sekunde rückwärts
PORTC.0 = 0;
PORTC.1 = 1;
PORTC.2 = 0;
PORTC.3 = 1;
Verzögerung_ms(1000);
//Wickeln Sie es
PORTC.0 = 0;
PORTC.1 = 1;
PORTC.2 = 1;
PORTC.3 = 0;
Verzögerung_ms(1000);
}
};
}

Über meinen Roboter

Im Moment ist mein Roboter fast fertig.


Es ist mit einer drahtlosen Kamera, einem Abstandssensor (sowohl die Kamera als auch dieser Sensor sind auf einem rotierenden Turm installiert), einem Hindernissensor, einem Encoder, einem Signalempfänger von der Fernbedienung und einer RS-232-Schnittstelle zum Anschluss an a ausgestattet Computer. Er arbeitet 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 Firmware für die Wohnungssicherheit (Bilder auf einen Computer übertragen, Bewegungen erkennen, auf dem Gelände herumlaufen).

Ganz nach Ihren Wünschen poste ich ein Video:

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

Ich habe mich für einen reibungslosen Übergang zu dynamischen Bewegungsmodellen entschieden. Dies ist ein Projekt für einen kleinen selbstgebauten IR-gesteuerten Roboter, der aus einfachen und leicht verfügbaren Teilen zusammengebaut wird. Es basiert auf zwei Mikrocontrollern. Eine Übertragung über die Fernbedienung ist vorgesehen PIC12F675, und der Empfangsteil für den Motorcontroller ist implementiert PIC12F629.

Roboterschaltung auf einem Mikrocontroller

Mit dem digitalen Teil lief alles reibungslos, das einzige Problem lag im „Antriebssystem“ – kleine Getriebe, deren Herstellung zu Hause sehr problematisch ist, also musste ich die Idee entwickeln.“ Vibrobugs„Die Mikromotoren werden über verstärkende Transistorschalter am BC337 gesteuert. Sie können durch alle anderen kleinen NPN-Transistoren mit einem Kollektorstrom von 0,5 A ersetzt werden.“

Die Abmessungen fielen sehr klein aus – auf dem Foto ist ein Vergleich mit einer Münze und auch in der Nähe einer Streichholzschachtel zu sehen. Die Augen des Roboters bestehen aus superhellen LEDs, die in einem Gehäuse aus kleinen Elektrolytkondensatoren untergebracht sind.

Besprechen Sie den Artikel KLEINER HAUSGEMACHTER ROBOTER

26.01.2011, 09:18
Quelle:

Normalerweise versuche ich in Artikeln, das Material in der Reihenfolge seiner Entwicklung darzustellen, aber ich denke, dass dies nicht der Fall ist. Daher überspringen wir die Phasen des Schaltplanentwurfs, des PCB-Layouts und alles andere. In Abbildung 1 sehen wir, was für eine „Schande“ ich erlitten habe.

Auf den ersten Blick scheint es nur ein Haufen Eisen, Elektronik und Drähte zu sein. Dies liegt wahrscheinlich daran, dass Stücke aus unterschiedlichen Materialien verwendet wurden. Lass es uns herausfinden.

Jetzt ist alles in Ordnung. Der Attiny2313-Mikrocontroller empfängt ein Hindernissignal (logische Eins oder Null) von zwei Infrarotsensoren. Dann steuert der Mikrocontroller laut Firmware den L293D-Motortreiberchip (Steuerstrom bis zu 1 Ampere). Abbildung 3 zeigt ein Foto eines umgekehrten Roboters.

Die Grundlage für die Konstruktion eines selbstgebauten Roboters ist ein trapezförmig gebogener Metallstreifen. Der Biegewinkel beträgt ca. 120°. Grundsätzlich ist es wichtig, dass auf beiden Seiten die gleiche Biegung entsteht, sonst bewegt sich der Roboter nicht geradlinig. Andererseits kann das, was ein Mechaniker oder Elektroniker schlecht gemacht hat, manchmal von einem Programmierer korrigiert werden, indem er beispielsweise PWM verwendet, um eine lineare Bewegung des Roboters zu erreichen

Aus dem Geometriekurs in der Schule wissen wir alle, dass eine Ebene entweder durch drei Punkte oder durch eine Gerade und einen Punkt im Raum gebildet wird. Der dritte Punkt ist ein frei rotierendes Rollenrad.

Empfänger von IR-Sensoren und Fototransistoren befinden sich unten, um die Beleuchtung zu reduzieren und Fehlalarme zu minimieren. Die IR-Sensoren selbst sind an beweglichen Scharnieren montiert, wodurch Sie den Scanbereich anpassen können. Interessant war übrigens die Reaktion meiner Katze auf den kriechenden Roboter im Flur? Meine Katze ist schwarz. Ich habe die IR-Sensoren auf graue Tapete eingestellt, sodass sich der Roboter fast im allerletzten Moment vor der Katze drehte und die Katze mit einem lauten Fauchen einen Schritt zurücksprang.

Die nächste Modifikation für den Roboter waren IR-Sensoren an seinem Bauch, die es dem Roboter ermöglichten, einer schwarzen Linie zu folgen, die mit einem Marker auf weißes Papier gezeichnet wurde. Die Umsetzung erforderte drei Sensoren und einen Komparator auf dem LM339N-Chip, um den Mikrocontroller zu entlasten. Als wesentlicher Nachteil erwies sich die notwendige Vorabjustierung der Sensoren mittels Trimmwiderständen je nach Beleuchtung im Raum.

P.S. Der Lohn für die Zeitverschwendung bei der Entwicklung eines sinnlosen Geräts wird vielleicht die Klarheit der Funktionsweise und des Speichers des Mikrocontrollers sein, die so lange im Regal verstauben, bis sich vielleicht jemandes Kind dafür interessiert.

Vor etwa 20 Jahren, als ich Student am ChPT war und in der Praxis bei Stankomash arbeitete (dies ist eine separate epische Geschichte, die in meinem Blog ausführlich beschrieben wird), drückte ich mich nachmittags, wie es sich für einen respektablen Studenten gehört, vor der Arbeit und kraxelte hinein Suche nach Leckereien durch zahlreiche interne Industriedeponien, die großzügig in der Nähe jeder verlassenen Werkstatt und sogar innerhalb der Werkstätten verstreut waren;) Was auch immer da war, aber im Grunde alles Eisenmetall. Nichteisenmetalle, darunter auch Motorwicklungen, wurden schon lange vor mir gestohlen.

Ich war auf der Suche nach kaputter Elektronik, manchmal waren darin vereinzelt KM-Kondensatoren, ETO und andere Seltenerd-Goodies enthalten, die bekanntermaßen für 800 Dollar pro Kilo gekauft wurden (das Gehalt betrug damals hundert Dollar und sie zahlten es einmal alle sechs). Monate) und an örtliche harte Arbeiter. Es gab nur genug Gehirne, um Aluminiumheizkörper und Kupferstangen aufzusammeln. Was mir im Allgemeinen ins Auge fiel, war ein Ständer einer CNC-Maschine aus der Ära der Automatisierung und Beschleunigung der 80er Jahre der Perestroika.

Es war Robotron, ein riesiger Sarg aus 2 mm dickem Eisen. Es scheint mir, dass er sogar einem Schuss eines Kalaschnikow-Sturmgewehrs standhalten konnte, obwohl es durch die Reling schießt. Beim Versuch, die Kühler herauszubrechen, wurden die Platinen zerquetscht, das Fünf-Zoll-Laufwerk blieb jedoch trotz des soliden Aluminiumgehäuses intakt. Was mich überraschte, war, dass der Pancake-Antrieb nicht von einem dreiphasigen Synchronmotor stammte, wie bei späteren Diskettenlaufwerken.

Scheiß drauf! Die Spindel wurde von einem Kommutatormotor über einen Riemen gedreht. Wow, dachte ich. Wenn ein Sammler mit einer so präzisen Aufgabe betraut wurde, dann muss er ein wirklich großartiger Sammler sein.


Ein interessantes Detail fiel in meine hartnäckigen Hände. Dreiachsiger digitaler Beschleunigungsmesser kombiniert mit einem digitalen Magnetometer, Empfindlichkeit bis zu 1,5 Gauss. Die Stärke des Erdmagnetfeldes beträgt übrigens etwa 0,4 Gauss. Fast ein Drittel der Reichweite, also könnte dieses Ding einen ziemlich guten elektronischen Kompass abgeben. Der Ausgabepreis beträgt übrigens nur 350 Rubel pro Chip. Ganz schön göttlich, wenn man die Füllung an Bord und die Empfindlichkeit dieses Mikroschaltkreises bedenkt.

Chip LSM303DLH
Besonders interessant sieht der Bauch aus – eine natürliche Leiterplatte. Mit Schienen und Übergangslöchern. Ich wollte sofort keine Wege darunter machen. Sonst reißt irgendein Nagel auf dem Weg den Lack am Bauch ab und kürzt ihn in die falsche Richtung.


Was mir außerdem nicht gefallen hat, war, dass die Kontaktpads von den Enden aus nicht sichtbar sind. Die Positionierung und Überprüfung der Siegelgenauigkeit ist schwierig. In dieser Hinsicht sind QFN-Gehäuse komfortabler.


Die Gehäusegröße beträgt 5x5 mm. Wie eine Notebookzelle. Grusel:)

Beim Bau verschiedener Roboter ist es manchmal notwendig, mehrere Servos zu verwenden. Und wenn es sich um eine Art sechsbeinige Spinne handelt, dann gibt es dort einfach jede Menge Antriebe. Wie verwaltet man sie? Im Forum beklagten einige Leute sogar, dass sie für diese Zwecke Samt hätten verwenden sollen. Aber was zum Teufel ist ein FPLI, wenn der gewöhnlichste Mikrocontroller sogar drei Dutzend Servos steuern kann und für diese Aufgabe nur einen Timer benötigt?

Wer also nicht mehr weiß, wie die Servos gesteuert werden, kann vorbeischauen und sein Wissen auffrischen.

Nehmen wir zunächst 8 Servos. Jedes Servo empfängt das folgende Signal:


Jedes Servo sollte die folgende Sequenz von seinem Controller-Zweig haben. Völlige Ähnlichkeit mit PWM für 8 Kanäle. Wie kann dieser Fehler generiert werden? So einfach ist das. Das Prinzip hier ist einfach. Die Impulse sind langsam – nur 50 Hz, sie ändern sich auch selten – das Servo ist ein träges Ding, man kann es also nicht einmal hundertmal pro Sekunde bewegen. Wir haben also einen Wagen und einen kleinen Karren für die Verarbeitung.

Die Impulse selbst werden von einem Timer im Hintergrund erzeugt. Das Prinzip der Erzeugung ist einfach: Alle Impulse starten gleichzeitig und setzen ihren Pegel auf 1.
Anschließend wird die Dauer des ersten Impulses in das Vergleichsregister des Timers eingetragen. Wenn der Vergleich unterbrochen wird, passiert Folgendes:

  • Setzen Sie das Bit am ersten Kanalport zurück
  • Laden der zweiten Impulsdauer in das Timer-Vergleichsregister

Dies ist ein weiterer Roboterkonstrukteur – ein mechanischer Arm mit fünf Freiheitsgraden. Velleman Roboterarm KSR10
Das Ding ist ziemlich selten, weil... Ich habe bei Ebay nur einen Verkäufer gefunden und dieser Rettich möchte nicht in die ehemalige UdSSR verschickt werden. Es ist in mehreren bürgerlichen Geschäften zu finden und scheint bei ChiD gewesen zu sein, aber wir haben es dort gekauft :) Der geforderte Preis liegt zwischen 60 und 100 Dollar.

Das Gerät selbst ist nur ein weiteres fortgeschrittenes Spielzeug, aber mehr brauchen wir zum Verwöhnen und Ausarbeiten von Algorithmen nicht.

Oft müssen große Abfolgen komplexer Vorgänge durchgeführt werden – beispielsweise eine Flugmission für einen Roboter. Ja, Sie können das Ganze in das Hauptprogramm packen, aber plötzlich geht etwas schief und der Algorithmus muss überarbeitet werden – das gesamte Programm muss überarbeitet werden.

Hier kommt eine virtuelle Maschine zur Rettung. Im Endeffekt sind die wichtigsten Verfahren zur Steuerung des Geräts im Speicher des Controllers, im Hauptprogramm, abgelegt. Handelt es sich um einen Roboter, dann können das so einfache Befehle sein wie „vorwärts“, „rückwärts“, „drehen“ und so weiter.

Dann brauchen wir einen Skriptprozessor, der unsere Aktionssequenz von irgendwoher – einem Skript – übernimmt und sie in Aufrufe an echte Codeteile – Mikrooperationen – umwandelt.
Der Skript-Handler kann dieselbe Dispatcher-Aufgabe sein, die im Hintergrund ausgeführt wird. Es spielt keine Rolle, woher er die Daten bezieht. Sie können über usart heruntergeladen oder aus dem EEPROM-Speicher abgerufen werden. Oder Sie können Speicher auf IIC installieren und erhalten eine austauschbare Patrone :)

Neben Roboterkonstrukteuren vertreibt Inex Global auch coole Getriebemotoren. Die gleichen, die in und stehen. Er trägt sie regelmäßig nach Tscheljabinsk. Ich habe ein paar zum Ausprobieren gekauft, ich habe eine Idee dafür, aber dazu später mehr;)

Zunächst erzähle ich Ihnen etwas über den Motor selbst. Es gibt sie in zwei Modellen IE-BO2-120M Und IE-BO2-48M, unterscheiden sich voneinander im Übersetzungsverhältnis von 1:120 und 1:48.

Erinnern Sie sich, dass ich ein russisches Handbuch versprochen habe? Ich hatte also keine Zeit und der Designer wurde schneller aus den Regalen gefegt, als ich zugestimmt hatte, das Buch zum Scannen herauszuholen. Jedoch Bschepan, einer der zufriedenen Besitzer dieses Spielzeugs, hat eine gute Tat getan und einen Scan in DejaVu gepostet.

Wenn die Leistung eines Transistors nicht ausreicht, um die Last anzutreiben, verwenden Sie ihn Verbundtransistor (Darlington-Transistor). Der Punkt hier ist, dass ein Transistor einen anderen öffnet. Und zusammen arbeiten sie als einzelner Transistor mit einer Stromverstärkung, die dem Produkt der Koeffizienten des ersten und zweiten Transistors entspricht.

Nehmen wir zum Beispiel einen Transistor MJE3055T Es hat einen maximalen Strom von 10 A und die Verstärkung beträgt nur etwa 50; damit es sich vollständig öffnen kann, muss es dementsprechend etwa zweihundert Milliampere Strom in die Basis pumpen. Ein normaler MK-Ausgang verträgt nicht so viel, aber wenn man dazwischen einen schwächeren Transistor (eine Art BC337) anschließt, der diese 200 mA ziehen kann, dann ist es einfach. Aber das ist so, damit er es weiß. Was ist, wenn Sie aus improvisiertem Müll ein Steuerungssystem bauen müssen? Es wird sich als nützlich erweisen.

In der Praxis fertig Transistorbaugruppen. Äußerlich unterscheidet er sich nicht von einem herkömmlichen Transistor. Gleicher Körper, gleiche drei Beine. Es hat nur viel Leistung und der Steuerstrom ist mikroskopisch :) In Preislisten machen sie sich normalerweise nicht die Mühe und schreiben einfach - ein Darlington-Transistor oder ein Verbundtransistor.

Unterdessen wird in Kasachstan die Entwicklung eines Cyborgs mit originellem Design auf Basis eines Controllers mit beschleunigtem Tempo fortgesetzt Bild, worüber S.W.G. meldet sich sehr aktiv in Kommentaren zu Beiträgen über seinen Roboter ab.

Unterwegs gab er mir einige seiner Arbeiten mit Seife.

SWG:

Für alle Fälle sende ich Ihnen einige der neuesten Informationen. Ich habe die Programme noch nicht fertiggestellt, ich werde den Austausch abschließen, debuggen und dann die normalen senden.

Unter den Stoßfängern wird eine 10 Millimeter dicke Platte aus ziemlich dichtem Schaumgummi oder sogar mikroporösem Gummi angebracht, ich habe mich noch nicht entschieden, ich probiere verschiedene Materialien aus. Es sollte weich, aber nicht sehr weich sein. Es ragt 10–15 Millimeter über die Platinen hinaus und schützt so die Hintergrundbeleuchtungs-LEDs und die Platinen selbst. Im Moment habe ich nur die Stoßstangenbretter in den Karton gelegt, um den allgemeinen Aufbau zu zeigen.

Nachdem ich mich für die Platzierung und Befestigung der Platinen entschieden habe, werde ich Verbindungskabel aus MGTF herstellen, die die optimale Länge haben, damit sie nicht umsonst baumeln, aber nicht zu sehr in die Länge gezogen werden. Ich denke auch über die Optionen, das Design und die Platzierung von Kilometerzählersensoren und Geräten nach, die in Zukunft installiert werden, um sie nicht mehrmals wiederholen zu müssen.

Auf den Stoßfängerplatinen befinden sich unten blaue Blöcke – Bodensensoren mit Fotowiderständen und weißen Hintergrundbeleuchtungs-LEDs. (Ich habe es aus Klemmenblöcken gemacht und sie stellenweise leicht gebohrt). Transparente LEDs oben – Beleuchtung des IR-Ortungsgeräts eingeschaltet TSOP(in der Mitte stehend, auf dem Kopf stehend). Die schwarzen Würfel an den Innenecken sind Optokoppler für reflektierende Kollisionssensoren. Darüber werden an den Seitenwänden Ecken angebracht – Vorhänge mit einem weißen Bereich auf schwarzem Grund oder einem Loch einer bestimmten Form.

Als die Platinen fertig waren, dachte ich, dass es möglich sei, die Optokoppler nicht oben, sondern unten auf der Platine anzulöten und die notwendigen Figuren direkt auf die Unterseite der Box zu zeichnen. Eigentlich ist es jetzt noch nicht zu spät, das zu tun, ich habe mich noch nicht entschieden. Außerdem habe ich sie auch gespiegelt in die Bibliothek gebracht, und beim Versiegeln musste ich die Beine darunter biegen, damit sie richtig entlötet werden konnten, damit sie von unten richtig passten. Im Allgemeinen haben sich eine Menge Kleinigkeiten angesammelt, über die man nachdenken kann, was Zeit verschwendet. („Die Tyrannei der Alternativen“). Mit dem Senden des Zustands der Sensoren scheint auch alles einfach zu sein, aber wenn man anfängt, eine Reihe aller möglichen Schutzmaßnahmen für alles hinzuzufügen und die korrekte Funktion zu überprüfen, wächst alles wie ein Schneeball, man muss ständig alles auf Mögliche prüfen und unmögliche Situationen, damit alles normal funktioniert. Die Kosten, beispielsweise in eine offene Luke zu fallen, sind zu hoch, und auch das ständige Verschließen aller Löcher und Türen ist keine Option ... Aber selbst wenn Sie auf Nummer sicher gehen, werden Sie sich möglicherweise überhaupt nicht bewegen.

DPM-25-N1-7T mit Getrieben (27 V, aber sie ziehen schon bei 12 gut, es werden noch mehr benötigt - ich werde einen Konverter bauen 12->27 ) und eine selbstgebaute Schwenkeinheit mit Rolle (drittes Rad).

Verbrauch bei 12 V: 33 mA im ausgeschalteten Zustand. Motoren, bei max. Geschwindigkeit ohne Last (Räder berühren den Boden nicht) = 103 mA vorwärts, 115 mA rückwärts. Wenn ein Rad blockiert ist – 300 mA, wenn beide Räder blockiert sind = 500 mA.
L293DN etwas warm. Wenn es heiß wird, werde ich den Kühler aufkleben. Ja, Frequenz PWM Ich habe vorerst 500 Hz genommen. (Periode 2 ms). Ich werde die Stromanstiegsrate in den Motoren messen und die optimalere ermitteln (Beim kürzesten Impuls sollte der Strom im Motor Zeit haben, sein Maximum zu erreichen).
Die maximale Bewegungsgeschwindigkeit auf dem Boden beträgt nun 15-20 cm/Sek. Ich brauche im Moment nichts anderes, ich renne zu schnell durch den Raum. Raddurchmesser = 80 mm (Gummi-„Donuts“ scheinen von irgendeiner Art von Sanitärarmaturen zu stammen, die es auf dem Markt in Hülle und Fülle gibt).

Ehrlich gesagt war ich sehr überrascht, als ich die Motoreigenschaften gegoogelt habe DPM

Netzteil.
Wir haben einen 12-Volt-Bleiakku, der Controller benötigt jedoch 5 Volt. Also habe ich ein Schaltnetzteil gebaut. Es war natürlich möglich, etwas hinzuzufügen LM7805(wie auf meinem Steckbrett) und die Spannung daran freigeben, aber das ist eine dumme Methode. Der Punkt ist, dass der LM7805 die Spannungsdifferenz in Form von Wärme wieder ausstößt. Also Effizienz Dieses Gerät wird sein unter 50 %, und wir haben Batteriestrom. Es gibt also nur einen Ausweg – die DC-DC-Wandlung. Als Controller habe ich einen bewährten, beliebten, zugänglichen und günstigen Controller gewählt MC33063A. Ich habe nichts erfunden und eine Standard-Abwärtsschaltung verwendet ( Schritt – Runter) aus seinem Datenblatt. Wie die Schaltung dieses Netzteils funktioniert, erzähle ich euch etwas später in einem separaten Beitrag. Nach der Veröffentlichung eines Artikels in Hacker, wo ich einen Artikel über Netzteile veröffentlichte.

gastroguru 2017