Inhoudsopgave:

Lijnvolgerrobot met PICO - Ajarnpa
Lijnvolgerrobot met PICO - Ajarnpa

Video: Lijnvolgerrobot met PICO - Ajarnpa

Video: Lijnvolgerrobot met PICO - Ajarnpa
Video: Controlling a Linear Actuator with an Arduino and Relay 2024, December
Anonim
Lijnvolgerrobot met PICO
Lijnvolgerrobot met PICO
Lijnvolgerrobot met PICO
Lijnvolgerrobot met PICO
Lijnvolgerrobot met PICO
Lijnvolgerrobot met PICO
Lijnvolgerrobot met PICO
Lijnvolgerrobot met PICO

Voordat je in staat bent een robot te maken die een einde kan maken aan de beschaving zoals we die kennen, en die in staat is een einde te maken aan het menselijk ras. Je moet eerst de eenvoudige robots kunnen maken, degenen die een lijn op de grond kunnen volgen, en hier zet je je eerste stap om ons allemaal te beëindigen >.<

Allereerst is een lijnvolgende robot een robot die in staat is een lijn op de grond te volgen, en deze lijn is meestal een zwarte lijn op een witte achtergrond of omgekeerd; en dat komt omdat het voor de robot gemakkelijker is om het verschil te zien tussen sterk contrasterende kleuren, zoals zwart en wit. Waar de robot zijn hoek verandert, afhankelijk van de kleur die hij leest.

Benodigdheden

  1. PICO
  2. Tweewielaangedreven robotchassis, die het volgende hebben:

    • Acryl chassis
    • 2 DC-motoren met wielen en encoders
    • Zwenkwiel met metalen afstandhouders
    • 4 kanaals batterijhouder
    • Sommige schroeven en moeren
    • Aan / uit knop
  3. L298N motorbesturingsmodule
  4. 2 lijnvolgsensoren
  5. 7.4v batterij

Stap 1: De DC-motoren voorbereiden

De DC-motoren voorbereiden
De DC-motoren voorbereiden
De DC-motoren voorbereiden
De DC-motoren voorbereiden
De DC-motoren voorbereiden
De DC-motoren voorbereiden

U kunt het tweewielaangedreven "2WD"-chassis gebruiken om dit project gemakkelijker te maken, omdat het tijd en moeite bespaart bij het bouwen van uw eigen chassis. Zodat u meer tijd heeft om u te concentreren op de elektronica van het project.

Laten we beginnen met de gelijkstroommotoren, aangezien u de motoren gaat gebruiken om de bewegingssnelheid en richting van uw robot te regelen, afhankelijk van de meetwaarden van de sensoren. Het eerste dat u moet doen, is beginnen met het regelen van de snelheid van de motoren, die recht evenredig is met de ingangsspanning, wat betekent dat u de spanning moet verhogen om de snelheid te verhogen en vice versa.

De PWM-techniek "Pulse Width Modulation" is ideaal voor deze taak, omdat u hiermee de gemiddelde waarde die naar uw elektronische apparaat (motor) gaat, kunt aanpassen en aanpassen. En het werkt door de digitale signalen "HIGH" en "LOW" te gebruiken om analoge waarden te creëren, door de 2 signalen met een zeer hoge snelheid af te wisselen. Waarbij de "analoge" spanning afhankelijk is van het percentage tussen de digitale HIGH- en digitale LOW-signalen die aanwezig zijn tijdens een PWM-periode.

Houd er rekening mee dat we PICO niet rechtstreeks op de motor kunnen aansluiten, omdat de motor minimaal 90 mA nodig heeft, wat niet kan worden verwerkt door de pinnen van PICO, en daarom gebruiken we de L298N-motorbesturingsmodule, die ons de mogelijkheid geeft om zowel voldoende stroom naar de motoren en verander de polariteit.

Laten we nu een draad aan elk van de motorklemmen solderen, volgens deze stappen:

  1. Smeer een kleine hoeveelheid soldeer op de motorterminal
  2. Plaats de draadpunt boven de motorterminal en verwarm deze met de soldeerbout totdat het soldeer op de terminal smelt en verbinding maakt met de draad, verwijder vervolgens de soldeerbout en laat de verbinding afkoelen.
  3. Herhaal de voorgaande stappen met de overige klemmen van beide motoren.

Stap 2: De L298N Motor Driver Module gebruiken

De L298N-motorbesturingsmodule gebruiken
De L298N-motorbesturingsmodule gebruiken
De L298N-motorbesturingsmodule gebruiken
De L298N-motorbesturingsmodule gebruiken
De L298N-motorbesturingsmodule gebruiken
De L298N-motorbesturingsmodule gebruiken

De L298N motoraandrijfmotor heeft de mogelijkheid om het signaal afkomstig van PICO te versterken en de polariteit van de stroom die er doorheen gaat te veranderen. Hiermee kunt u zowel de snelheid als de richting regelen waarmee uw motoren draaien.

L298N-pinuitgangen

  1. DC-motor A's eerste terminal
  2. Tweede klem van gelijkstroommotor A
  3. Onboard 5v regelaar jumper. Verwijder deze jumper als u een motorvoedingsspanning van meer dan 12v aansluit, om de spanningsregelaar niet te hard te maken.
  4. Motor voedingsspanning in. Het maximum is 35v, en vergeet niet de spanningsregelaar te verwijderen als je meer dan 12v gebruikt.
  5. GND
  6. 5v uitgang. Deze uitgang komt van de spanningsregelaar als deze nog is aangesloten, en geeft je de mogelijkheid om je PICO van stroom te voorzien via dezelfde bron als de motor.
  7. DC-motor A activeert jumper. Als deze jumper is aangesloten, draait de motor op volle snelheid vooruit of achteruit. Maar als u de snelheid wilt regelen, verwijdert u gewoon de jumper en sluit u in plaats daarvan een PWM-pin aan.
  8. In1 helpt het bij het regelen van de polariteit van de stroom, en dus de draairichting voor motor A.
  9. In2 helpt het bij het regelen van de polariteit van de stroom, en dus de draairichting voor motor A.
  10. In3 helpt het bij het regelen van de polariteit van de stroom, en dus de draairichting voor motor B.

  11. In4 helpt het bij het regelen van de polariteit van de stroom, en dus de draairichting voor motor B.
  12. DC-motor B activeert jumper. Als deze jumper is aangesloten, draait de motor op volle snelheid vooruit of achteruit. Maar als u de snelheid wilt regelen, verwijdert u gewoon de jumper en sluit u in plaats daarvan een PWM-pin aan.
  13. Eerste klem van gelijkstroommotor B

    Tweede klem van gelijkstroommotor B

Het aantal pinnen dat de L298N-aandrijfmotor heeft, maakt het moeilijk om te gebruiken. Maar het is eigenlijk vrij eenvoudig, en laten we dat bewijzen met een werkend voorbeeld, waar we het gebruiken om de draairichting van onze beide motoren te regelen.

Sluit PICO als volgt aan op de motordriver "u vindt het schema hierboven":

  • In1 → D0
  • In2 → D1
  • In3 → D2
  • In4 → D3

De richting van de motor wordt geregeld door een HOGE en LAGE logische waarde te verzenden tussen elk koppel In1/2 en In3/4 driverpinnen. Als u bijvoorbeeld HOOG naar In1 en LAAG naar In2 stuurt, zal de motor in één richting draaien en als u LAAG naar In1 en HOOG naar In2 stuurt, draait de motor in de tegenovergestelde richting. Maar als u dezelfde HOOG- of LAAG-signalen tegelijkertijd naar zowel In1 als In2 stuurt, zullen de motoren stoppen.

Vergeet niet om PICO's GND te verbinden met de GND van de batterij, en verwijder de Enable A en Enable B jumpers niet.

U vindt de code van dit voorbeeld hierboven ook.

Stap 3: PWM toevoegen aan de L298N-stuurprogrammamodule

PWM toevoegen aan de L298N-stuurprogrammamodule
PWM toevoegen aan de L298N-stuurprogrammamodule
PWM toevoegen aan de L298N-stuurprogrammamodule
PWM toevoegen aan de L298N-stuurprogrammamodule

We kunnen nu de draairichting van onze motoren regelen. Maar we kunnen hun snelheden nog steeds niet controleren, omdat we een constante spanningsbron hebben die hen het maximale vermogen geeft dat ze kunnen opnemen. En om dat te doen, heb je twee PWM-pinnen nodig om beide motoren te besturen. Helaas heeft PICO maar 1 PWM-uitgang, die we moeten uitbreiden met de PCA9685 OWM-module, en deze geweldige module kan je PWM uitbreiden van 1 naar 16!

PCA9685 pin-outs:

  1. VCC → Dit is je logische kracht, met 3-5v max.
  2. GND → De negatieve pin moet worden aangesloten op de GND om het circuit te voltooien.
  3. V+ → Deze pin verdeelt de stroom die afkomstig is van een externe stroombron, hij wordt voornamelijk gebruikt bij motoren die grote hoeveelheden stroom nodig hebben en een externe stroombron nodig hebben.
  4. SCL → Seriële klokpen, die je aansluit op de SCL van PICO.
  5. SDA → Seriële data pin, die je aansluit op de SDA van PICO.
  6. OE → Uitgang inschakelen pin, deze actieve pin is LAAG, wat betekent dat wanneer de pin LAAG is, alle uitgangen zijn ingeschakeld en wanneer deze HOOG is, alle uitgangen zijn uitgeschakeld. Dit is een optionele pin, waarbij de standaard LAAG wordt getrokken.

De PCA9685 PWM-module heeft 16 PWM-uitgangen, elk met een eigen V+-, GND- en PWM-signaal dat u onafhankelijk van de andere kunt regelen. Elke PWM kan 25mA stroom aan, dus wees voorzichtig.

Nu komt het deel waar we de PCA9685-module gebruiken om de snelheid en richting van onze motoren te regelen, en dit is hoe we PICO verbinden met de PCA9685- en L298N-modules:

PICO naar PCA9685:

  1. D2 (PICO) SDA (PCA9685)
  2. D3 (PICO) SCL (PCA9685)

PCA9685 tot L298N:

  1. PWM 0 (PCA9685) → In1 (L298N), om de richting van motor A. te regelen
  2. PWM 1 (PCA9685) → In2 (L298N), om de richting van motor A. te regelen
  3. PWM 2 (PCA9685) → In3 (L298N), om de richting van motor B. te regelen
  4. PWM 3 (PCA9685) → In4 (L298N), om de richting van motor B. te regelen
  5. PWM 4 (PCA9685) → enableA (L298N), voor het verzenden van het PWM-signaal dat de snelheid van motor A regelt.
  6. PWM 5 (PCA9685) → enableB (L298N), voor het verzenden van het PWM-signaal dat de snelheid van motor B regelt.

U vindt de code voor al deze onderdelen hierboven bijgevoegd.

Stap 4: De lijnvolgsensor gebruiken

De lijnvolgsensor gebruiken
De lijnvolgsensor gebruiken
De lijnvolgsensor gebruiken
De lijnvolgsensor gebruiken

De lijntracker is vrij eenvoudig. Deze sensor heeft de mogelijkheid om onderscheid te maken tussen twee oppervlakken, afhankelijk van het contrast ertussen, zoals in zwart-wit.

De lijntrackersensor heeft twee hoofdonderdelen, de IR-LED en de fotodiode. Het kan de kleuren vertellen door IR-licht van de LED uit te zenden en de reflecties te lezen die terugkomen naar de fotodiode, dan geeft de fotodiode een spanningswaarde af afhankelijk van het gereflecteerde licht (HOGE waarde voor een licht "glanzend" oppervlak en een LAGE waarde voor een donkere ondergrond).

De pinouts van de line-tracker:

  1. A0: dit is de analoge uitgangspin en we gebruiken deze als we een analoge ingangswaarde willen (0-1023)
  2. D0: Dit is de digitale uitgangspin en we gebruiken deze als we een digitale ingangswaarde willen (0-1)
  3. GND: Dit is de aardingspin en we verbinden deze met PICO's GND-pin
  4. VCC: Dit is de power-pin en we verbinden deze met PICO's VCC-pin (5v)
  5. Potentiometer: Deze wordt gebruikt om de gevoeligheid van de sensor te regelen.

Laten we de lijnvolgsensor testen met een eenvoudig programma dat een LED inschakelt als deze een zwarte lijn detecteert en de LED uitschakelt als deze een wit oppervlak detecteert terwijl de sensormeting op de seriële monitor wordt afgedrukt.

U vindt de code voor deze test hierboven bijgevoegd.

Stap 5: Alles samenbrengen

Image
Image
Alles bij elkaar zetten
Alles bij elkaar zetten

Het laatste wat we hoeven te doen is alles in elkaar zetten. Omdat we ze allemaal afzonderlijk hebben getest en ze allemaal werken zoals verwacht.

We houden PICO, de PCA9685- en L298N-modules aangesloten zoals ze zijn. Vervolgens voegen we de lijnvolgersensoren toe aan onze bestaande opstelling, en het is als volgt:

  1. VCC (alle lijnvolgsensoren) → VCC (PICO)
  2. GND (alle lijnvolgsensoren) → GND (PICO)
  3. D0 (Rechterlijn-trackersensor) → A0 (PICO)
  4. D0 (Center line tracker sensor) → A1 (PICO)
  5. D0 (Linkerlijn volgsensor) → A2 (PICO)

Dit is de laatste code die uw auto bestuurt en vertelt dat hij een lijn moet volgen, een zwarte lijn op een witte achtergrond in ons geval.

Aanbevolen: