Tank

Introducere

Proiectul consta intr-un model de tanc format dintr-o baza de masinuta si o turela, controlat de o telecomanda.

Proiectul va folosi pentru deplasare 4 motoare conectate la cate o roata. Turela este reprezenatata de un “tun” care va proiecta bile de plastic de 6mm. Pentru aceasta se foloseste un servomotor care se va roti la o viteza mare.

Controlul tancului se va face folosind o telecomanda realizata din 5 butoane. Butoanele vor reprezenta comenzile: fata, spate, stanga, dreapta, tragere.

Descriere generala

Hardware Design

Lista de componente

  • Arduino Uno
  • Motor driver L298N

Am ales sa folosec Motor Driver-ul L298N deoarce odata conectat la placa Arduin ofera un mod facil de a controla motoare electrice si poate gestiona tensiuni mari (5V - 35V). Cu ajutorul acestuia se poate controla sensul de rotire al motoarelor folosind cei 4 pini digitali In1, In2, In3 şi In4, transmitand corespunzator curentul la iesirile MOTORA si MOTORB.

De asemenea se poate controla viteza de rotire, folosind pinii EnA si EnB conectati la pini PWM pe placuta Arduino.

  • 4 motoare - Motoare 3V-6V cu reductor 1:48

Acest motor cu reductor este ideal pentru diferite tipuri de roboți și mașini. Motoarele sunt conectate cate doua pentru ficare iesire MOTORA/MOTORB a driver-ului L298N RPM: 3V:125rpm, 5V:200rpm, 6V:230rpm

  • 4 roti - Conectate la motoare
  • Servomotor

Servomotorul este folosit ca metoda de lansare a bilei. Acesta este conectat la un piston prin intermediul unui arc. {Prin actionarea servomotorului pistonul lanseaza biluta de plastic din cauza presiunii aerului.

  • Breadboard
  • 5 butoane

Telecomanda este compusa dintr-un breadboard cu 5 butoane si este legata prin fire la Aruino Uno. Butoanele vor reprezenta comenzi pentru: fata, spate, stanga, dreapta, tragere.

  • Suport baterii + baterii
  • Fire (mata-mama, tata-tata)

Schema electrica

Software Design

Activity Diagram

Implementare

Pentru inceput, am setat pini corespunatori butoanelor ca INPUT_PULLUP, iar pinii corespunzatori motoarelor ca output. Am setat puterea motoarelor aproape la maxim.

Pentru a folosi servomotorul l-am atasat pe pinul 9.

In functia loop() am verificat de fiecare data valoarea butoanelor. In functie de aceasta motoarele primeau inputuri corespunzatoare similar cu diagrama de activitate de mai sus. Pentru a face un viraj, motoarele de pe o parte se opresc, iar celelate contiua sa mearga. La finalul functiei, am resetat motoarele pentru a fi active doar cat timp butonul este apasat.

Daca butonul de tragere este apasat, servomotorul se roteste cu 180 de grade cu viteza maxima, pentru a actiona pistonul cu putere. Apoi sevomotorul se roteste la pozitia initiala, impingand si pistonul la pozitia initiala.

Biblioteci folosite
  • Servo.h - pentru a controla servomotorul

Rezultate

Video Demo

Concluzii

Mi-a placut sa lucrez la acest proiect. Am realizat ca este mai usor decat ma asteptam sa creez proiecte folosind Arduino si am reusit sa inteleg mai bine unele concepte legate de programarea pe placute Arduino/Atmega328p. Am invatat ca unii pini sunt destinati pentru utilizari specifice.

A fost dificil sa aleg o metoda de a proiecta bila, la final am decis sa folosesc servomotorul. Insa acesta nu se poate roti destul de repeda incat sa genereze destula putere, astfel ca proiectarea bilei nu functionea tocmai cum mi-am propus.

Am facut cateva compromisuri de la idea initiala, astfel ca proiectul nu a fost foarte complex. La final mi-as fi dorit sa aleg un proiect mai complicat.

Bibliografie/Resurse

Arhiva

pm/prj2021/abirlica/tank.txt · Last modified: 2021/06/04 16:04 by florin.gheorghe0405
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0