Speed Dome

Introducere

Ce face?

Proiectul presupune controlarea unui motor pas cu pas prin intermediul unei interfete web.Aceast motor poate controla pozitionarea unei camere video, si astfel proiectul devine “Speed Dome Project”.

Super tare, dar cu ce ma ajuta pe mine ?

A realiza un astfel de proiect (crearea unei interfete web prin care controlam atmega16) este foarte util. Aplicatiile sunt nenumarate, indeosebi cele ce presupun “home automation” . Imaginativa cum ar fi sa controlam frigiderul, masina de spalat, sa verificam statusul alarmei de la casa sau daca ceva ni se pare suspect online, sa aprindem luminile si sa facem putina galagie sa speriem hotii :-) .

Descriere generala

Schema bloc

Module folosite:

Controler Ethernet

Controlerul ethernet se ocupa de nivelul legaturii de date in comunicarea cu internetul.Acesta primeste si trimite date catre www prin intermediul interfetei (RJ45).

Atmega16

Acest modul de fapt reprezinta placuta de laborator de la partea 1.El primeste si trimite date catre controlerul ethernet.Transmisia datelor se face prin SPI.

Controler Motor

Acest modul primeste date de la Atmega16 si trimite imulsuri motorului pas cu pas pentru a-l actiona.

Motor pas cu pas

Acesta este un motor bipolar pas cu pas sau “Stepper Motor”.

?300

Hardware Design

Piese si scheme module

Tinand cont ca modulul de atmega16 era gata (placuta de laborator partea 1 proiect), ne vom ocupa de celelate module:

Controler Ethernet

“Creierul” acestui modul sta in controlerul ethernet enc28j60.Desigur acesta nu poate sta singur pe o placuta si o sa mai avem nevoie de o mufa RJ45, un quart de 25mhz cateva rezistente de 300ohmi, si cateva condensatoare.Foarte important, enc28j60 se alimenteaza de la 3,3v, deci va trebui si un stabilizator de tensiune (am ales LD33V).Schema este cea de la placuta de laborator.

Controler Motor

O punte H L298, 1 condensator 470uf si 1 condensator 100nf si 8 diode 1N4007N .

Motor pas cu pas

Un motor pas cu pas bipolar (cred ca de pe la o imprimanta). Ideea la acest motor ar fi urmatoarea : el are doua bobine in interior si in fuctie de polarizarea pe care o primeste pe cele 4 fire se invarte inainte sau inapoi, astfel are loc o miscare pas cu pas. Pentru mai multe detalii : Wikipedia

Motorul folosit de mine are 4 fire, rosu, alb, negru si galben. Firele ce alcatuiesc o bobina se pot afla prin utilizarea multimetrului si masurarea rezistentei pe fire (prin incercari succesive :-) ).

Motorul a fost legat la pinii de output ai puntii H L298. Procedeul de “miscare” a motorului este urmatorul :

  1. Din browser se da comanda de miscare a acestuia.
  2. Atmega16 primeste pachetul cu informatia de actionare a motorului prin SPI de la controlerul de ethernet
  3. Atmega16 prin intermediul pinilor P0-P3 trimite un semnal de comanda in pinii de inpout al L298 si totodata activeaza L298 prin pinii P7 si P6 PORTC (ce corespund pe L298 pinilor de ENABLE_A si ENABLE_B).
  4. L298 in urma inputului actioneaza motorul polarizand acea bobina intr-un anumit mod.

Software Design

La partea de software m-am bazat foarte mult pe codul oferit in laboratorul 5 (webserver). Am luat acel cod si am mai adaugat o functie decide_move() care primeste starea celor 8 pini pe portul C si executa o mutare.

Forward:

        step_1 : PORTC = 0x06  (aceasta succesiune determina motorul sa mearga inainte) 
        step_2 : PORTC = 0x09
        step_1 : ............
        .....................

Intre step_1 si step_2 am inserat si un delay de 20ms;

O mutare am considerat ca este formata din 200 “steps” si poate fi facuta in fata sau in spate. Trebuie mentionat ca pentru a nu se incalzi foarte tare L298, enable_A si enable_B sunt activati pe durata impulsurilor primite de la atmega16, adica activam L298 atunci cand dorim sa miscam motorul si la final dezactivam pinii.

Rezultate obtinute

Proiectul fiind realizat pe module, o sa prezint cate o poza cu fiecare modul in parte:

Modul Atmega16 placuta proiect 1

Modul Controler Ethernet

Modul Controler Motor

Stabilizator Tensiune 3.3v

Si proiectul in sine

Download

Cod sursa + scheme controler net si controler motor. speed_dome.zip

Observatii

Mare atentie la mufe! Eu am avut nenumarate probleme la proiect din cauza ca mufele nu faceau contact foarte bine.Si inca o chestie importanta, atentie si la lipituri, s-ar putea sa fie in aer si sa nu faca contact cum trebuie.

Bibliografie/Resurse

Resurse Hardware

  • Datasheet atmega16
  • Datasheet enc28j60
  • Datasheet L298
  • Laborator PM 5
  • Schema placuta laborator (pentru controler ethernet)
  • l298 bipolar steper motor control

Resurse Software

  • Laboratorul 5 Web server a fost suficient pentru a ma prinde cum se poate face o comunicare de date browser - atmega16
pm/prj2011/dtudose/speed_dome.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