Eenvoudige redenering volgeling

Hallosamen

Vandaag wil ik u voorstellen aan een project waarvan we op de hoogte kwamen via een klantonderzoek. We bouwen een eenvoudige lijn die robot volgt.

Het project is zo ontworpen dat de code zowel met twee- als vierwielige robots kan werken en een compromis vertegenwoordigt. Voor continu gebruik moeten de schets en de verbinding absoluut worden gewijzigd, omdat de belasting van de vier motoren op één IC zeer hoog is is hoog.

Met behulp van twee sensoren maakt het voertuig onderscheid tussen witte en zwarte achtergrond en corrigeert de rijrichting dienovereenkomstig.

Het principe is vrij eenvoudig en de bijbehorende code is dienovereenkomstig compact, wat we erg leuk vonden aan dit project.

Ik heb een set gemaakt voor dit project, je zult het vinden hier

Dus we hebben nodig:

We beginnen met het monteren van het chassis:

Eerst moet u de beschermende film verwijderen, we hebben dit niet gedaan omdat transparante platen nog moeilijker te fotograferen zijn.

Voor een eenvoudigere montage moet u de motoren bedraden voor de installatie.

Soldeer hiervoor de kabels aan de kleine koperen vlaggen op de motoren. Waar rood en zwart zijn bevestigd, maakt in het begin niet uit. Kort om te begrijpen: de draairichting van de motoren kan worden gewijzigd door de polariteit om te keren.

Steek vervolgens de beugels voor de motoren door het chassis.

Bevestig vervolgens de bedrade motoren met de meegeleverde lange schroeven en zet ze vast met de moeren:

Steek vervolgens de koperen bouten door de plaat en bevestig ze met de meegeleverde moeren, waar u ze bevestigt, afhankelijk van uw ontwerp en het latere gebruik. De posities zijn variabel.

Als volgende stap kunt u de bovenkant al monteren en schroeven:

Voor een beter begrip is hier een foto van de zijkant:

 

U kunt ook bepalen waar u uw controller bevestigt en in welke richting de lijnvolger zich verplaatst. Hiermee is de assemblage van de mechanica voltooid. Als volgende stap moet u de pin-headers op het motorschild solderen, zoals weergegeven in de afbeelding:

Deze zijn nodig om de sensoren later te kunnen aansluiten.

De vastgelijmde koellichamen zijn niet absoluut noodzakelijk, maar worden ten zeerste aanbevolen. Het is eenvoudig mogelijk om de belasting over meerdere IC's te verdelen en alle vier motoren afzonderlijk op de afscherming aan te sluiten (kan ook worden gewijzigd in de schets).

Vervolgens de aansluiting van de motoren: eerst verbinden we de twee motoren aan de linker- en rechterkant. Hier moet je iets proberen totdat de motoren aan de ene kant en de motoren aan de andere kant samen in dezelfde richting lopen. Zoals reeds vermeld, kan dit eenvoudig worden gewijzigd door de polen te verwisselen.

Sluit de motoren hier aan:

De verbindingen zijn gemarkeerd met M3 en M4 op de printplaat, de linker motoren op één terminal en de rechter op de tweede terminal.

Nu de voeding: het schild voorziet de microcontroller ook van stroom.

De twee pijlen rechtsonder in de afbeelding markeren de verbindingen voor A4 en A5, waar we onze lijnvolgersensoren aansluiten.

Omdat we onze robo-auto vaak herbouwen, hebben we de sensoren slechts tijdelijk met plakband bevestigd. De linker sensor op pin A4, de rechter sensor op A5, zoals hier getoond:

Het is belangrijk om de sensoren niet frontaal te monteren, maar onder een kleine hoek op de flanken, zoals weergegeven in de bovenstaande afbeelding.

Voordat we ons wijden aan de code die we van Aarav hebben geleend, hebben we nog een libary nodig voor het motorschild.We hebben de Adafruit Libary gebruikt die jij hebt gebruikt. hier Zoek.

Hier is de code:

 

   ////////////////////////////////////////////////////////   LinoBot v1.0
 Door Aarav Garg
////////////////////////////////////////////////////////

Ik heb de mogelijkheden van het testen toegevoegd
De waarden van analogRead kunnen worden gewijzigd voor problemen schieten

Inclusief de bibliotheken
"35; omvat <AFMotor.H>

definitie van pins en variabelen
35; definieer Links A4 
35; definieer rechten A5 

definiërende motoren
AF/DCMotor motor(4, MOTOR 12-KHZ); 
AF/DCMotor motor2(3, MOTOR 12-KHZ);
/*
AF/DCMotor motor 3(1, MOTOR12 tot en met 8KHZ);
AF/DCMotor motor 4(2, MOTOR12 tot en met 8KHZ);
 */

Leeg setup() {   vaststelling van de snelheid van de motoren   motor.setSpeedComment(100);   motor2.setSpeedComment(100);   /decking pintypen   PinMode(Links,INPUT);   PinMode(rechten,INPUT);   /start seriële communicatie   Serie.start(9600);    }

Leeg ren(){   (printwaarden van de sensoren naar de seriële monitor)   Serie.Afdrukken(analoog(Links));   Serie.Afdrukken(analoog(rechten));   lijn gedetecteerd door beide   indien(analoog(Links)<=400 && analoog(rechten)<=400){     /stop     motor.ren(VRIJGIFTE);     motor2.ren(VRIJGIFTE);   }   lijn gedetecteerd door linker sensor   sm indien(analoog(Links)<=400 && !analoog(rechten)<=400){     turn left     motor.ren(ACHTER);     motor2.ren(VOORZITTER);     /*
 motor-1.run(vrij verkeer);
 motor-2.run(forward);
     */   }   lijn gedetecteerd door rechter sensor   sm indien(!analoog(Links)<=400 && analoog(rechten)<=400){     /bocht rechts     motor.ren(VOORZITTER);     motor2.ren(ACHTER);     /*
 motor-1.run(forward);
 motor-2.run(vrij verkeer);
     */   }   lijn gedetecteerd door geen   sm indien(!analoog(Links)<=400 && !analoog(rechten)<=400){     /stop     motor.ren(VOORZITTER);     motor2.ren(VOORZITTER);     /*
 motor-1.run(BACKARD);
 motor-2.run(BACKWARD);
     */   }    }


Tussen haakjes, de analoge pinnen werden gebruikt omdat, in tegenstelling tot de digitale pinnen op het schild, ze gemakkelijk toegankelijk zijn.

Het project is zo ontworpen dat de code zowel met twee- als vierwielige robots werkt en een compromis vormt.Voor continue werking is het essentieel om de schets en de bedrading te veranderen, aangezien de lading van de vier motoren op een IC zeer hoog is.

Het instellen van de rijrichting voor de motoren kan een beetje lastig zijn, hier is een beetje geduld.

Veel plezier met het herbouwen van & tot de volgende keer:)

 

Für arduinoProjekte für anfängerSensoren

3 Kommentare

Stefan

Stefan

Der set link funktioniert nicht.

Lg

Moritz

Moritz

Hallo,
die vier Motoren sind im Beitrag oben am Shield an M3 und M4 angeschlossen. Das funktioniert bei uns wunderbar, allerdings ist die Last auf den IC recht hoch. Die Last lässt sich bei zusätzlicher Nutzung von M1 und M2 auf dem Shield verteilen, sprich je einen Motor pro Anschluss. Den Sketch müssen Sie dann erweitern, indem Sie die beiden zusätzlichen Motoren zuerst definieren und anschließend mit motor3.run und motor4.run erweitern.

Frank Raddau

Frank Raddau

Hallo,
Wie würde der Sketch und die Verschaltung für eine Dauerbelastung aussehen?
Danke im voraus.

Einen Kommentar hinterlassen

Alle Kommentare werden vor der Veröffentlichung moderiert

Aanbevolen blog berichten

  1. Installeer ESP32 nu van de raad van bestuur
  2. Lüftersteuerung Raspberry Pi
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1
  4. ESP32 - das Multitalent
  5. OTA - Over the Air - ESP Programmeren via Wi-Fi