Useless Box

Dumitru Philip, 334CC

Introducere

Traim in perioada unei noi revolutii industriale. Aceasta aduce dorinta de a automatiza toate activitatile pe care le avem, de la case inteligente la solutii industriale si platforme web personalizate.

Desi pare a fi o cutie inutila, proiectul meu este un exemplu perfect pentru robotizarea unor actiuni declansate la o simpla apasare de buton. In plus, cutia ofera si o masura de amuzament.

Descriere generală

Initial, cutia se afla intr-o stare idle. La comutarea unui switch ce se afla pe capacul ei, se activeaza bratul robotic. Cu ajutorul celor 2 motoare, capacul se va deschide, si bratul va comuta switch-ul inapoi in pozitia initiala. In plus, cutia poate sa incerce sa previna apasarea butonului prin deplasarea sa la detectia miscarii.

Schema bloc

Pentru a face cutia mai atragatoare, am introdus si un buzzer care sa faca sunete atunci cand se reactioneaza la comutarea butonului

Hardware Design

Lista de piese necesare

  • 4 servomotoare
  • motor DC
  • driver motor
  • toggle switch
  • senzor de proximitate
  • acumulator

Schema electrica

Componete folosite

phd2019pm-sg90.jpg Pentru cele 4 servomotoare am folosit SG90. Doua dintre acestea realizeaza functionalitatea de baza (comutarea butonului), iar celelalte doua au rolul de a actiona platforma inferioara a cutiei.
Motorul DC provine de la o masinuta teleghidata veche phd2019pm-l298n.jpg Pentru controlarea motorului am folosit un circuit L298N phd2019pm-hc-sr501.jpg Deoarece nu am gasit un senzor de proximitate, m-am multumit cu folosirea unui senzor PIR.

Software Design

PWM's

Intrucat in cadrul proiectului am folosit multe motoare independente, cele 3 timere ce genereaza semnal PWM implementat in Hardware nu au fost suficiente pentru a acoperi toate semnalele necesare. Asadar am decis implementarea in software unui modul ce poate controla oricator semnale, fara a bloca microcontrolerul.

Behavioural Automaton

Pentru a face interactiunea cu un singur buton sa fie mai dinamica, am realizat un automat finit in functie de care se decide modul de actionare al cutiei.
Tranzitile au un comportament pseudo-aleator (folosesc rand()) pentru a face mecanismul imprevizibil. Initializarea randomizarii se face si ea in mod pseudo-aleator, bazandu-se pe incapacitatea umana de a comuta butonul fix la acelasi moment. Practic, srand este apelat cu valoarea timerului 1 la momentul primei comutari ale butonului.

Rezultatele Obtinute

Rezultatele nu au fost cele asteptate. Din cauza estimarii incorecte ale puterii necesare, unele dintre functionalitatile dorite nu sunt disponibile.

Desi elementul de baza al cutiei functioneaza (comutarea automata a butonului), cutia ramane imobila. Atat motorul de curent continuu, cat si servomotorul atasat cremalierei ofera o putere prea mica pentru a depasi greutatea cutiei.

Una din dificultatile confruntate a fost dimensiunea mica a cutiei. Spatiul disponibil a devenit o resursa importanta.

Media

In loc de fund, cutia are un set de roti conectate la motorul de curent continuu. In momentul in care se detecteaza miscare, cutia poate “fugi” pentru a isi “proteja” butonul. Platforma de la baza cutiei este atasata de o cremaliera verticala. Atunci cand motorul actioneaza, cremaliera este coborata si, teoretic, toata cutia se va impinge (folosind platforma) in pamant si se va ridica. Actiunea celui de-al doilea motor roteste platforma fata de cutie si deci si cutia fata de pamant.

Bibliografie/Resurse

pm/prj2019/astratulat/phd2019pm.txt · Last modified: 2021/04/14 17:07 (external edit)
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