Inhoudsopgave:

Fire Chasing Robot - Ajarnpa
Fire Chasing Robot - Ajarnpa

Video: Fire Chasing Robot - Ajarnpa

Video: Fire Chasing Robot - Ajarnpa
Video: Real Life Voodoo Doll Walks... 2024, Juli-
Anonim
Image
Image
De vlamsensor aansluiten op PICO
De vlamsensor aansluiten op PICO

In dit project gaan we een brandbestrijdingsrobot maken die een vlam achtervolgt en dooft door er lucht vanaf een ventilator naar toe te blazen.

Nadat u klaar bent met dit project, weet u hoe u vlamsensoren met PICO moet gebruiken, hoe u hun uitgangswaarde kunt lezen en hoe u erop kunt reageren, en hoe u Darlington-sensoren met gelijkstroommotoren kunt gebruiken en hoe u ze kunt bedienen. Dat natuurlijk samen met een hele gave brandweerrobot.

Benodigdheden

  • PICO
  • Vlamsensor
  • Kleine gelijkstroommotor
  • Kleine propeller
  • L298N H-brug motor driver
  • PCA9685 12-bits 16-kanaals PWM-stuurprogramma
  • 2WD robotchassiskit
  • Mini breadboard
  • Doorverbindingsdraden
  • Schroeven en moeren

Stap 1: De vlamsensor aansluiten op PICO

De vlamsensor aansluiten op PICO
De vlamsensor aansluiten op PICO

Laten we beginnen met het belangrijkste onderdeel van onze brandweerrobot, namelijk het vermogen om branden te detecteren wanneer ze zich voordoen. Daarom gaan we beginnen met de componenten die verantwoordelijk zijn voor het detecteren van de brand, maar voordat we dat doen, laten we onze 2WD-robotchassiskit samenstellen, omdat we onze robot daarop zullen bouwen.

We zullen in dit project 3 vlamsensoren gebruiken en we zullen de robot onafhankelijk laten bewegen met behulp van hun metingen. We plaatsen deze sensoren aan de midden-, linker- en rechterkant van het chassis van de robot. En ze zullen zo worden geplaatst dat ze de vlambron nauwkeurig kunnen lokaliseren en doven.

Voordat we de vlamsensoren gaan gebruiken, laten we het hebben over hoe ze werken: vlamsensormodules zijn voornamelijk gemaakt van infraroodontvanger-LED's die het infraroodlicht kunnen detecteren dat wordt uitgestraald door vlammen, en de gegevens als digitale of analoge ingang naar onze in het geval dat we een vlamsensor gebruiken die digitale output verzendt.

Vlamsensor module pin-outs:

  • VCC: positieve 5 volt, verbonden met PICO's VCC-pin.
  • GND: negatieve pin, verbonden met PICO's GND-pin.
  • D0: de digitale output pin, verbonden met de gewenste digitale op PICO.

Laten we het nu verbinden met onze PICO om onze bedrading en codelogica te testen, om er zeker van te zijn dat alles goed werkt. Het aansluiten van de vlamsensoren is heel eenvoudig, sluit gewoon de VCC en GND van de sensoren aan op respectievelijk de VCC en GND van PICO en sluit vervolgens de uitgangspinnen als volgt aan:

  • D0 (rechter vlamsensor) → A0 (PICO)
  • D0 (middelste vlamsensor) → A1 (PICO)
  • D0 (linker vlamsensor) → A2 (PICO)

Stap 2: PICO coderen met de vlamsensoren

PICO coderen met de vlamsensoren
PICO coderen met de vlamsensoren
PICO coderen met de vlamsensoren
PICO coderen met de vlamsensoren

Nu we onze vlamsensoren hebben aangesloten op PICO, laten we beginnen met coderen zodat we weten welke vlamsensor een vlam heeft en welke niet.

Code logica:

  • Stel de A0-, A2- en A3-pinnen van PICO in als INPUT-pinnen
  • Lees elke sensoruitgangswaarde:
  • Print elke sensoruitgangswaarde op de seriële monitor, zodat we kunnen diagnosticeren of alles goed werkt of niet.

Houd er rekening mee dat onze sensoren een lage waarde "0" hebben wanneer ze vuur detecteren, en een hoge waarde "1" wanneer ze geen vuur detecteren.

Om uw code te testen, opent u uw seriële monitor en kijkt u hoe deze verandert als er vuur voor is, in vergelijking met wanneer dat wel het geval is. De bijgevoegde afbeeldingen hebben de metingen voor helemaal geen vlam en de metingen van een enkele vlam voor de middelste sensor.

Stap 3: De ventilator aansluiten

De ventilator aansluiten
De ventilator aansluiten

Om een brandbestrijdingsrobot effectief te maken, moet hij het vermogen hebben om vuur te bestrijden, en daarvoor gaan we een ventilator maken waarmee we op het vuur richten en het blussen. En we gaan deze ventilator maken met een kleine gelijkstroommotor met daarop een propeller.

Laten we beginnen met het aansluiten van onze DC-motoren. DC-motoren hebben een hoog stroomverbruik, dus we kunnen ze niet rechtstreeks aansluiten op onze PICO, omdat deze slechts 40 mA per GPIO-pin kan bieden, terwijl de motor 100 mA nodig heeft. Dit is de reden waarom we een transistor moeten gebruiken om hem aan te sluiten, en we zullen de TIP122 Transistor gebruiken, omdat we deze kunnen gebruiken om de stroom geleverd door onze PICO te verhogen tot het bedrag dat de motor nodig heeft.

We gaan onze DC-motor en een externe "PLACE HOLDER" -batterij toevoegen om de motor van het benodigde vermogen te voorzien zonder onze PICO te schaden.

De DC-motor moet als volgt worden aangesloten:

  • Basispen (TIP122) → D0 (PICO)
  • Collectorpen (TIP122) → DC-motorkabel "DC-motoren hebben geen polariteiten, dus het maakt niet uit welke kabel"
  • Zenderpen (TIP122) → GND
  • De lege kabel van de DC-motor → Positieve (rode draad) van de externe batterij

Vergeet niet de GND van de batterij te verbinden met de GND van de PICO, alsof deze niet is aangesloten, zal de schakeling helemaal niet werken

De codelogica van de ventilator: de code is heel eenvoudig, we passen alleen de code aan die we al hebben om de ventilator aan te zetten wanneer de waarde van de middelste sensor hoog is en de ventilator uit te schakelen wanneer de middelste sensor laag is.

Stap 4: De robotautomotoren aansluiten

Nu onze robot branden kan detecteren en met een ventilator kan blussen als het vuur er direct voor staat. Het is tijd om de robot de mogelijkheid te geven om zichzelf direct voor het vuur te verplaatsen en te positioneren, zodat hij het kan blussen. We gebruiken al onze 2WD-robotchassiskit, die wordt geleverd met 2 gelijkstroomversnellingen die we gaan gebruiken.

Om de loopsnelheid en richting van de gelijkstroommotor te kunnen regelen, moet u de L298N H-bridge motordriver gebruiken, een motorbesturingsmodule die de mogelijkheid heeft om de loopsnelheid en richting van de motor te regelen, met de mogelijkheid om de motoren te voeden van een externe stroombron.

De L298N-motordriver heeft 4 digitale ingangen nodig om de draairichting van de motoren te regelen, en 2 PWM-ingangen om de rotatiesnelheid van de motoren te regelen. Maar helaas heeft PICO slechts een enkele PWM-uitgangspen die niet zowel de richting als de snelheid van de rotatie van de motor kan regelen. Dit is waar we de PCA9685 PWM-pins-uitbreidingsmodule gebruiken om PICO's PWM te vergroten om aan onze behoeften te voldoen.

Bedrading werd nu een beetje lastiger, omdat we 2 nieuwe motoren aansluiten samen met 2 modules om ze te besturen. Maar dat zal geen probleem zijn als u de meegeleverde schema's en stappen volgt:

Laten we beginnen met de PCA9685 PWM-module:

  • Vcc (PCA9685) → Vcc (PICO)
  • GND (PCA9685) → GND
  • SDA ((PCA9685) → D2 (PICO)
  • SCL (PCA9685) → D3 (PICO)

Laten we nu de L298N-motorbesturingsmodule aansluiten:

Laten we beginnen door hem aan te sluiten op onze stroombron:

  • +12 (L298N-module) → Positieve rode draad (batterij)
  • GND (L298N-module) → GND

Om de draairichting van de motoren te regelen:

  • In1 (L298N-module) → PWM 0-pin (PCA9685)
  • In2 (L298N-module) → PWM 1-pins (PCA9685)
  • In3 (L298N-module) → PWM 2-pins (PCA9685)
  • In4 (L298N-module) → PWM 3-pins (PCA9685)

Om de rotatiesnelheid van de motor te regelen:

  • enableA (L298N-module) → PWM 4-pins (PCA9685)
  • enableB (L298N-module) → PWM 5-pins (PCA9685)

De L298N-motordriver kan een gereguleerde +5 volt uitvoeren, die we zullen gebruiken om onze PICO van stroom te voorzien:

+5 (L298N-module) → Vin (PICO)

Sluit deze pin niet aan als PICO is ingeschakeld via USB

Nu we alles hebben aangesloten, programmeren we de robot om zichzelf te verplaatsen om rechtstreeks naar de vlam te kijken en de ventilator aan te zetten.

Stap 5: De code afronden

Nu we alles goed hebben aangesloten, is het tijd om het te coderen zodat het ook werkt. En dit zijn de dingen die we met onze code willen bereiken:

Als hij recht vooruit vuur detecteert (de middelste sensor detecteert het vuur), dan beweegt de robot er recht naar toe totdat hij de ingestelde afstand bereikt en zet de ventilator aan

Als hij vuur waarneemt aan de rechterkant van de robot (de rechter sensor detecteert het vuur), dan draait de robot totdat het vuur recht voor de robot staat (de middelste sensor) en beweegt dan naar hem toe totdat hij de ingestelde afstand bereikt. en zet de ventilator aan

Als het vuur aan de linkerkant van de robot detecteert, zal het hetzelfde doen als hierboven. Maar hij zal naar links draaien in plaats van naar rechts.

En als het helemaal geen brand detecteert, geven alle sensoren een HOGE waarde af, waardoor de robot stopt.

Stap 6: Je bent klaar

In dit project hebben we geleerd hoe we de sensoroutput kunnen lezen en afhankelijk daarvan actie kunnen ondernemen, hoe we de Darlington-transistor kunnen gebruiken met gelijkstroommotoren en hoe we gelijkstroommotoren moeten aansturen. En we hebben al onze kennis gebruikt om een brandweerrobot als applicatie te maken. Wat best cool is x)

Aarzel niet om eventuele vragen te stellen in de opmerkingen of op onze website mellbell.cc. En zoals altijd, blijf maken:)

Aanbevolen: