Kategorien: Praktische Elektronik, Mikrocontroller-Schaltungen
Anzahl der Ansichten: 21376
Kommentare zum Artikel: 0

Arten und Anordnung von AVR-Mikrocontrollern

 


AVR - Dies ist der Name der beliebten Familie von Mikrocontrollern, die das Unternehmen herstellt. Atmel. Neben ABP werden unter dieser Marke auch ausgegeben Mikrocontroller und andere Architekturen wie ARM und i8051.


Was sind AVR-Mikrocontroller?

Mikrocontroller AVR

Es gibt drei Arten von Mikrocontrollern:

  1. AVR 8-Bit.

  2. AVR 32-Bit.

  3. AVR xMega

Am beliebtesten ist seit mehr als einem Jahrzehnt genau die 8-Bit-Familie von Mikrocontrollern. Viele Schinken begannen, Mikrocontroller von ihm zu studieren. Fast alle von ihnen lernten die Welt der programmierbaren Steuerungen durch einfaches Handwerk wie LED-Blinklichter, Thermometer, Uhren sowie durch einfache Automatisierung wie die Steuerung von Beleuchtungs- und Heizgeräten.

Mikrocontroller AVR 8-Bit wiederum sind in zwei beliebte Familien unterteilt:

  • Attiny - Aus dem Namen geht hervor, dass die Jüngeren (winzig - jung, jung, jünger) grundsätzlich 8 Stifte oder mehr haben. Das Volumen ihres Speichers und ihrer Funktionalität ist normalerweise bescheidener als im Folgenden;

  • Atmega - Fortgeschrittenere Mikrocontroller mit mehr Speicher, Pins und verschiedenen Funktionseinheiten;

Mikrocontroller Attiny

Die leistungsstärkste Unterfamilie von Mikrocontrollern ist xMega - diese Mikrocontroller sind in Fällen mit einer großen Anzahl von Pins von 44 bis 100 erhältlich. Für Projekte mit einer großen Anzahl von Sensoren und Aktoren ist so viel erforderlich. Darüber hinaus ermöglichen Ihnen die erhöhte Speicherkapazität und Geschwindigkeit eine hohe Leistung.

Mikrocontroller Atmega

Dekodierung: Pin (dt. Pin - Nadel, Pin) ist der Ausgang des Mikrocontrollers oder, wie man so sagt, des Beins. Daher das Wort "Pinbelegung" - d.h. Informationen über den Zweck jedes Beines.


Wofür sind Mikrocontroller und wofür?

Mikrocontroller werden fast überall eingesetzt! Fast jedes Gerät im 21. Jahrhundert arbeitet mit einem Mikrocontroller: Messinstrumente, Werkzeuge, Haushaltsgeräte, Uhren, Spielzeug, Spieluhren und Postkarten sowie vieles mehr; Die Aufzählung allein dauert mehrere Textseiten.

Der Entwickler kann das analoge Signal von unten zum Eingang des Mikrocontrollers verwenden und Daten auf seinen Wert manipulieren. Diese Arbeit wird von einem Analog-Digital-Wandler (ADC) ausgeführt. Diese Funktion ermöglicht es dem Benutzer, mit dem Mikrocontroller zu kommunizieren und verschiedene Parameter der Umgebung mithilfe von Sensoren wahrzunehmen.

AVR-Mikrocontroller auf Steckbrett

In gängigen AVR-Mikrocontrollern zum Beispiel Atmega328Das ist 2017 das Herz vieler Leiterplatten Arduinoaber über sie später. Verwendet 8 Kanal ADCmit Bittiefe 10 Bit. Dies bedeutet, dass Sie den Wert von 8 analogen Sensoren ablesen können. Und digitale Sensoren sind an die digitalen Ausgänge angeschlossen, was offensichtlich sein kann. Ein digitales Signal kann jedoch nur 1 (Einheit) oder 0 (Null) sein, während ein analoges Signal eine unendliche Anzahl von Werten annehmen kann.

Digitale und analoge Signale

Erklärung:


Kapazität Ist ein Wert, der die Qualität, Genauigkeit und Empfindlichkeit des Analogeingangs kennzeichnet. Das klingt nicht sehr klar. Ein bisschen Übung: Ein 10-Bit-ADC zeichnet analoge Informationen von einem Port in 10 Bit Speicher auf, mit anderen Worten, ein sich reibungslos änderndes digitales Signal wird von einem Mikrocontroller als numerischer Wert von 0 bis 1024 erkannt.

Ein 12-Bit-ADC sieht dasselbe Signal, jedoch mit höherer Genauigkeit - in der Form von 0 bis 4096, was bedeutet, dass die gemessenen Werte des Eingangssignals viermal genauer sind. Um zu verstehen, woher 1024 und 4096 stammen, erhöhen Sie einfach 2 auf eine Potenz, die der ADC-Bittiefe entspricht (2 auf eine Potenz von 10, für 10 Bit usw.).

Zur Steuerung der Lastleistung stehen Ihnen PWM-Kanäle zur Verfügung, mit denen Sie beispielsweise Helligkeit, Temperatur oder Motordrehzahl einstellen können. In derselben 328-Steuerung befinden sich 6 davon.

Im Allgemeinen ist der Aufbau des AVR-Mikrocontrollers in der Abbildung dargestellt:

AVR-Struktur des Mikrocontrollers

Alle Knoten sind signiert, aber einige Namen sind möglicherweise nicht so offensichtlich. Schauen wir uns ihre Notation an.

  • ALU - arithmetisch-logisches Gerät. Wird benötigt, um die Berechnung durchzuführen.

  • Allzweckregister (ROZ) - Register, die Daten empfangen und speichern können, während der Mikrocontroller an die Stromversorgung angeschlossen ist, werden nach einem Neustart gelöscht. Als temporäre Zellen für Datenoperationen dienen.

  • Unterbrechungen - so etwas wie ein Ereignis, das aufgrund interner oder externer Einflüsse auf den Mikrocontroller auftritt - Timerüberlauf, externer Interrupt von Pin MK usw.

  • Jtag - eine Schnittstelle für die In-Circuit-Programmierung, ohne den Mikrocontroller von der Platine zu entfernen.

  • Flash, RAM, EEPROM - Speichertypen - Programme, temporäre Arbeitsdaten, Langzeitspeicherung unabhängig von der Stromversorgung des Mikrocontrollers gemäß der Reihenfolge in den Namen.

  • Timer und Zähler - die wichtigsten Knoten im Mikrocontroller, in einigen Modellen kann ihre Anzahl bis zu einem Dutzend betragen. Sie werden benötigt, um die Anzahl der Maßnahmen bzw. Zeitintervalle zu melden, und die Zähler erhöhen ihren Wert für jedes der Ereignisse. Ihre Arbeit und ihr Modus hängen vom Programm ab, diese Aktionen werden jedoch in Hardware ausgeführt, d.h. Parallel zum Haupttext des Programms können sie in jeder Phase der Codeausführung in jeder Zeile des Programms eine Unterbrechung (optional durch Timer-Überlauf) verursachen.

  • A / D (analog / digital) - ADC, wir haben seinen Zweck bereits beschrieben.

  • WatchDogTime (Watchdog-Timer) - ein vom Mikrocontroller und sogar seinem Taktgenerator unabhängiger RC-Oszillator, der eine bestimmte Zeitspanne zählt und ein MK-Rücksetzsignal erzeugt, wenn er funktioniert, und aufwacht, wenn er sich im Ruhemodus befindet (Energiesparen). Der Betrieb kann deaktiviert werden, indem das WDTE-Bit auf 0 gesetzt wird.


Die Ausgänge des Mikrocontrollers sind eher schwach, was bedeutet, dass der Strom durch sie normalerweise bis zu 20-40 Milliampere beträgt, was ausreicht, um die LED- und LED-Anzeigen zu beleuchten. Für eine stärkere Last werden Strom- oder Spannungsverstärker benötigt, beispielsweise dieselben Transistoren.


Was brauchst du, um Mikrocontroller zu studieren?

Zuerst müssen Sie den Mikrocontroller selbst kaufen. Die Rolle des ersten Mikrocontrollers kann jeder Attiny2313, Attiny85, Atmega328 und andere sein. Es ist besser, das Modell zu wählen, das in den Lektionen beschrieben wird, an denen Sie teilnehmen werden.

Attiny2313

Das nächste was Sie brauchen ist Programmierer. Es wird benötigt, um Firmware in den Speicher von MK herunterzuladen. Es gilt als das billigste und beliebteste USBASP.

Programmierer

Ein bisschen teurer, aber nicht weniger gewöhnlicher Programmierer AVRISP MKII, was du selbst machen kannst - von einem normalen Board Arduino

Programmierer AVRISP MKII

Eine andere Möglichkeit besteht darin, sie durchzublitzen USB UART Adapter, der normalerweise an einem der Konverter ausgeführt wird: FT232RL, CH340, PL2303 und CP2102.

USB-UART-Adapter

In einigen Fällen werden für einen solchen Konverter AVR-Mikrocontroller mit USB-Hardwareunterstützung verwendet, es gibt nicht zu viele solcher Modelle. Hier sind einige:

  • ATmega8U2;

  • ATmega16U2;

  • ATmega32U2.

USB-Hardware-basierter AVR-Mikrocontroller

Nur ein "aber" - der UART-Bootloader muss zuerst in den Speicher des Mikrocontrollers geladen werden. Dazu benötigen Sie natürlich noch einen Programmierer für AVR-Mikrocontroller.


Interessant: Bootloader - Dies ist ein normales Programm für einen Mikrocontroller, aber mit einer ungewöhnlichen Aufgabe - nach seinem Start (Anschließen an die Stromversorgung) wird für einige Zeit erwartet, dass Firmware in ihn geladen werden kann. Der Vorteil dieser Methode ist, dass Sie jeden USB-UART-Adapter flashen können und sie sehr billig sind. Der Nachteil ist, dass das Laden der Firmware lange dauert.

Für die Arbeit UART (RS-232) -Schnittstelle in den AVR-Mikrocontrollern hat ein ganzes Register UDR zugewiesen (UART-Datenregister). UCSRA (RX-, TX-Transceiver-Bit-Einstellungen), UCSRB und UCSRС - eine Reihe von Registern, die für die Schnittstelleneinstellungen insgesamt verantwortlich sind.


Wie kann ich Programme schreiben?

Zusätzlich zum Programmierer benötigen Sie zum Schreiben und Herunterladen des Programms eine IDE-Entwicklungsumgebung. Sie können natürlich Code in den Editor schreiben, Compiler durchlaufen usw. Warum ist es notwendig, wenn es ausgezeichnete vorgefertigte Optionen gibt? Vielleicht ist eines der mächtigsten das IAR, aber es wird bezahlt.

Die offizielle Atmel-IDE ist AVR Studio, das in Version 6 in Atmel Studio umbenannt wurde. Es unterstützt alle AVR-Mikrocontroller (8, 32, xMega), erkennt automatisch Befehle und hilft bei der Eingabe, hebt die korrekte Syntax hervor und vieles mehr.Mit seiner Hilfe können Sie MK flashen.

Am gebräuchlichsten ist C AVR. Finden Sie also ein Tutorial dazu, es gibt unzählige russischsprachige Optionen, und eine davon ist Khartov V.Ya. „AVR-Mikrocontroller. Workshop für Anfänger. "

Mikrocontroller-Programmierung

Der einfachste Weg, AVR zu lernen

Kaufen oder selbst machen Arduino Board. Das Arduino-Projekt wurde speziell für Bildungszwecke entwickelt. Es hat Dutzende von Brettern mit verschiedenen Formen und Anzahl von Kontakten. Das Wichtigste bei Arduino ist, dass Sie nicht nur einen Mikrocontroller kaufen, sondern auch eine vollwertige Debug-Platine, die auf eine hochwertige Textolith-Leiterplatte gelötet ist, die mit einer Maske und montierten SMD-Komponenten bedeckt ist.

Am häufigsten sind Arduino Nano und Arduino UNO, sie sind im Wesentlichen identisch, außer dass der "Nano" etwa dreimal kleiner ist als der "Uno".

Arduino uno

Einige Fakten:

  • Arduino kann in einer Standardsprache programmiert werden - "C AVR";

  • seine eigene Verkabelung;

  • Standard-Entwicklungsumgebung - Arduino IDE;

  • Um eine Verbindung zu einem Computer herzustellen, müssen Sie nur das USB-Kabel an die Micro-USB-Buchse auf der Arduino Nano-Platine anschließen und die Treiber installieren (höchstwahrscheinlich geschieht dies automatisch, außer wenn der Konverter auf dem CH340 keine Treiber unter Win 8.1 hatte, musste ich ihn herunterladen, aber es Es hat nicht lange gedauert.) Dann können Sie Ihre "Skizzen" hochladen.

  • "Sketches" ist der Name der Programme für Arduino.

Experimente mit Arduino UNO

Schlussfolgerungen

Mikrocontroller sind eine hervorragende Hilfe in Ihrer Amateurfunkpraxis, mit der Sie die Welt der digitalen Elektronik entdecken, Ihre eigenen Messinstrumente und Hausautomationsgeräte entwerfen können.

Siehe auch auf i.electricianexp.com:

  • PIC-Mikrocontroller für Anfänger
  • Mikrocontroller-Programmierung für Anfänger
  • Anschließen und Programmieren von Arduino für Anfänger
  • Programmierbare Mikrocontroller in JavaScript: Auswahl, Eigenschaften ...
  • Was sind Mikrocontroller - Zweck, Gerät, Software

  •