Inhaltsverzeichnis:
- Schritt 1: Sensor (Auge) QTR 8RC
- Schritt 2: Mikrocontroller (Gehirn) Atmega328P
- Schritt 3: Motor und Motortreiber
- Schritt 4: Chassis und Sonstiges
Video: PID-Linienfolger Atmega328P - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:16
EINLEITUNG
In diesem anweisbaren geht es darum, einen effizienten und zuverlässigen Line Follower mit PID (Proportional-Integral-Derivative) Control (Mathematical) in seinem Gehirn (Atmega328P) zu machen.
Line Follower ist ein autonomer Roboter, der entweder einer schwarzen Linie im weißen Bereich oder einer weißen Linie im schwarzen Bereich folgt. Der Roboter muss in der Lage sein, eine bestimmte Linie zu erkennen und ihr weiter zu folgen.
Es wird also nur wenige Teile / Schritte geben, um einen LINE FOLLOWER zu erstellen. Ich werde sie alle Schritt für Schritt besprechen.
- Sensor (Auge, um die Linie zu sehen)
- Mikrocontroller (Gehirn, um einige Berechnungen durchzuführen)
- Motoren (Muskelkraft)
- Kraftfahrer
- Chassis
- Batterie (Energiequelle)
- Rad
- Sonstiges
Hier ist das VIDEO DER LINIE FOLLOWER
IN DEN NÄCHSTEN SCHRITTEN WERDE ICH ÜBER JEDE KOMPONENTE IM DETAIL BESPRECHEN
Schritt 1: Sensor (Auge) QTR 8RC
Danke an Pololu für die Herstellung dieses fantastischen Sensors.
Das Modul ist ein praktischer Träger für acht IR-Sender- und -Empfängerpaare (Fototransistor), die gleichmäßig in Abständen von 0,375 (9,525 mm) angeordnet sind. Um einen Sensor zu verwenden, müssen Sie zuerst den Ausgangsknoten (Aufladen des Kondensators) durch Anlegen einer Spannung an an seinem OUT-Pin. Sie können dann das Reflexionsvermögen ablesen, indem Sie die extern zugeführte Spannung abziehen und die Zeitdauer messen, die die Ausgangsspannung aufgrund des integrierten Fototransistors zum Abklingen benötigt. Eine kürzere Abklingzeit ist ein Hinweis auf eine größere Reflexion. Dieser Messansatz hat mehrere Vorteile, insbesondere in Verbindung mit der Fähigkeit des QTR-8RC-Moduls, die LED-Stromversorgung auszuschalten:
- Es ist kein Analog-Digital-Wandler (ADC) erforderlich.
- Verbesserte Empfindlichkeit gegenüber dem analogen Spannungsteilerausgang.
- Das parallele Auslesen mehrerer Sensoren ist mit den meisten Mikrocontrollern möglich.
- Paralleles Lesen ermöglicht eine optimierte Nutzung der LED-Power-Enable-Option
Spezifikationen
- Abmessungen: 2,95" x 0,5" x 0,125" (ohne installierte Stiftleisten)
- Betriebsspannung: 3,3-5,0 V
- Versorgungsstrom: 100 mA
- Ausgabeformat: 8 digitale I/O-kompatible Signale, die als zeitgesteuerter High-Puls gelesen werden können
- Optimaler Erfassungsabstand: 0,125" (3 mm) Maximal empfohlener Erfassungsabstand: 0,375" (9,5 mm)
- Gewicht ohne Kopfstifte: 0,11 oz (3,09 g)
Anschluss der QTR-8RC-Ausgänge an digitale I/O-Leitungen
Das QTR-8RC-Modul verfügt über acht identische Sensorausgänge, die wie das Parallax QTI eine digitale I/O-Leitung benötigen, die die Ausgangsleitung hoch treiben und dann die Zeit bis zum Abklingen der Ausgangsspannung messen kann. Der typische Ablauf zum Auslesen eines Sensors ist:
- Schalten Sie die IR-LEDs ein (optional).
- Setzen Sie die E/A-Leitung auf einen Ausgang und fahren Sie ihn hoch.
- Warten Sie mindestens 10 μs, bis die Sensorausgabe ansteigt.
- Machen Sie die I/O-Leitung zu einem Eingang (hohe Impedanz).
- Messen Sie die Zeit bis zum Abfall der Spannung, indem Sie warten, bis die I/O-Leitung auf Low geht.
- Schalten Sie die IR-LEDs aus (optional).
Diese Schritte können typischerweise parallel auf mehreren I/O-Leitungen ausgeführt werden.
Bei einem starken Reflexionsvermögen kann die Abklingzeit nur einige Dutzend Mikrosekunden betragen; ohne Reflexion kann die Abklingzeit bis zu einigen Millisekunden betragen. Die genaue Zeit des Abfalls hängt von den I/O-Leitungseigenschaften Ihres Mikrocontrollers ab. In typischen Fällen (d. h. wenn nicht versucht wird, subtile Unterschiede in Szenarien mit geringer Reflexion zu messen), können innerhalb von 1 ms aussagekräftige Ergebnisse vorliegen, die eine Abtastung von bis zu 1 kHz aller 8 Sensoren ermöglichen. Wenn eine Abtastung mit niedrigerer Frequenz ausreicht, können durch Ausschalten der LEDs erhebliche Stromeinsparungen erzielt werden. Wenn beispielsweise eine Abtastrate von 100 Hz akzeptabel ist, können die LEDs zu 90 % der Zeit ausgeschaltet sein, wodurch der durchschnittliche Stromverbrauch von 100 mA auf 10 mA gesenkt wird.
Schritt 2: Mikrocontroller (Gehirn) Atmega328P
Vielen Dank anAtmel CorporationFür die Herstellung dieses fantastischen Mikrocontrollers AKA Atmega328.
Schlüsselparameter für ATmega328P
Parameterwert
- Flash (KByte): 32 KByte
- Pin-Anzahl: 32
- max. Betriebsfreq. (MHz): 20 MHz
- CPU: 8-Bit-AVR
- Max. I/O-Pins: 23
- Ext Interrupts: 24
- SPI: 2
- TWI (I2C): 1
- UART: 1
- ADC-Kanäle: 8
- ADC-Auflösung (Bit): 10
- SRAM (KByte): 2
- EEPROM (Bytes): 1024
- E/A-Versorgungsklasse: 1,8 bis 5,5
- Betriebsspannung (Vcc): 1,8 bis 5,5
- Timer: 3
Detaillierte Informationen finden Sie im Datenblatt von Atmega328P.
In diesem Projekt verwende ich Atmega328P aus wenigen Gründen
- Billig
- Hat genug RAM für die Berechnung
- Ausreichende I/O-Pins für dieses Projekt
- Atmega328P wird in Arduino verwendet …. Sie können im Bild und Video ein Arduino Uno bemerken, aber nachts verwende ich Arduino IDE oder Any Arduino.. Ich habe nur die Hardware als Schnittstellenplatine verwendet. Ich habe den Bootloader gelöscht und USB ASP zum Programmieren des Chips verwendet.
Für die Programmierung des Chips habe ich Atmel Studio 6 verwendet
DER GESAMTE QUELLCODE IST IN GitHub Laden Sie ihn herunter und überprüfen Sie die Datei test.c.
Um dieses Paket zu kompilieren, müssen Sie das POLOLU AVR LIBRARY SETUP herunterladen und installieren. Überprüfen Sie die Anhänge …
Ich lade auch einen Atmega328P-Entwicklungsboard-Schema und eine Board-Datei HOCH … Sie können es selbst herstellen …
Schritt 3: Motor und Motortreiber
Ich habe 350RPM 12V BO Type Geared DC Motor als Aktuator verwendet. Um mehr Informationen zu erfahren… MOTOR LINK
Als Motortreiber habe ich L293D H-Brücken-IC verwendet.
Ich füge den Schaltplan und die Board-Datei für das gleiche bei.
Schritt 4: Chassis und Sonstiges
Der Bot besteht aus 6 mm dickem Sperrholz.
Empfohlen:
Bootloader auf Atmega328p-AU (SMD) brennen – wikiHow
So brennen Sie Bootloader auf Atmega328p-AU (SMD): Hallo an alle !! In diesem Instructables zeige ich Ihnen, wie man Bootloader auf Atmega328p-AU (SMD) brennt und wie man einen Arduino NANO von Anfang bis Ende macht. Das Verfahren geschrieben in Diese instructables können verwendet werden, um alle Arduino-Boards für Sie zu machen
So laden Sie Skizzen auf ATMEGA328P-PU hoch – wikiHow
So laden Sie Skizzen auf ATMEGA328P-PU hoch: In diesem Artikel können Sie eine Skizze in einen ATMEGA328P-PU hochladen, die mit dem Bootloader und dem Preinserito (die Prozedur für die Bootloader-Vorgehensweise) hochgeladen wird. In diesem Artikel besprechen wir, wie man eine Skizze an einen Geldautomaten hochlädt