Temposerver

Introducere

Prezentarea pe scurt a proiectului:

  • proiectul de fata reprezinta un termometru accesibil prin HTTP
  • poate fi utilizat pentru a monitoriza facil temperatura dintr-o camera tehnica
  • am ales sa lucreaz la acest proiect intrucat eu am nevoie de un astfel de dispozitiv pe care sa il pot integra cu un script de python.
  • utilitatea proiectului consta in faptul ca permite o monitorizare facila utilizand un dispozitiv mai ieftin decat senzorii disponibili pe piata.

Descriere generală

Componentele hardware sunt impartite in 3 module:

  • placa de baza (realizata in prima etapa)
  • modulul senzorul de temperatura
  • modulul de interfata cu reteaua

Componentele software:

  • stiva tcp/ip implementata in laboratorul “Webserver”
  • Functii de initializare pentru ADC, Timer si chipset enc28j60
  • modulele necesare pentru asigurarea comunicarii intre MCU si enc28j60

Schema bloc a proiectului:

Hardware Design

  1. Placa de baza - implementarea standard pentru anul 2011
  2. Modulul senzor de termperatura - senzor LM 35, atasat pe canalul 0 ADC (PA0)

  1. Modulul de interfata cu reteaua:
  • Chip enc28j60
  • quartz 25Mhz
  • Magjack
  • Rezistentele si condensatoarele prezente in schema.

  • CS_ETH se atasaza de SS de pe MCU pentru ca interfata SPI sa functioneze corect.

Integrarea modulelor

Microchip enc28j60

Software Design

Descrierea codului aplicaţiei (firmware):

  • Mediu de dezvoltare: gedit
  • Compilator: avr-gcc, varianta Linux, instalata din pachetele din repository
  • Stiva de tcp-ip a fost extrasa din laboratorul 5 (Webserver) si a fost completata pentru a realiza functionalitatea dorita.

Rezultate Obţinute

  • It works!

Concluzii

  • Cablurile RS232 variaza de la dispozitiv la dispozitiv
  • Facilitatea de logging pe interfata seriala este cu adevarat utila
  • Senzorul de temperatura LM35 este cu adevarat simplu de interfatat cu Atmega16
  • Atmega16 si enc28j60 sunt chip-uri fiabile, facand fata greselilor pe care le-am facut pe parcursul dezvoltarii proectului
  • Driver-ul pe windows aproape ca nu merge deloc pe Windows7 x64 ⇒ mai bine nu incercati sa lucrati pe Windows (Ubuntu 10.04 Lucid Lynx cu pachetele necesare este tot ca va trebuie)

Download

Ultima versiune a software-ului pentru ATMEGA 16 este disponibila in arhiva de mai jos: temposerver.zip

Pentru a programa un uC sunt necesari urmatorii pasi:

  • Dezarhivati arhiva intr-un folder
  • cd in folder-ul lab6/default
  • rulati: make
  • conectati placuta prin USB
  • rulati: sudo ./avrusbboot lab6.hex
  • uC este programat!

Jurnal

  • 11 Mai - am achizitionat toate piesele necesare
  • 12 Mai - Am realizat lipiturile componentelor pe placute
  • 13 Mai - primul test: big fail
  • 14 Mai - zi de dat cu capul - interfata ethernet arata ca realizeaza link si primeste pachete, insa nu raspunde la acestea. Planific sa folosesc interfata seriala pentru logging.
  • 15 Mai - dupa ce refac un cablu, reusesc sa folosesc interfata RS232 pentru logging si debugging. Reusesc sa pun la punct codul si lucrurile incep sa mearga.
  • 15 Mai, 18:00 - proiectul functioneaza asa cum trebuie!

Bibliografie/Resurse

pm/prj2011/dtudose/temposerver.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