Scopul acestui proiect este realizarea unui dispozitiv ce permite controlarea unei camere CMOS prin intermediul unui site. Prin accesarea unor pagini web se pot da diferite comenzi camerei: realizarea de poze si trimiterea lor la IP-ul care a facut cererea, realizarea de poze si stocarea lor pe un card SD, rotatia camerei la stanga sau la dreapta cu un unghi predefinit. Pentru transferul pozelor de la camera pe un computer este necesar un soft dedicat. Pe pagina principala se va afisa un log cu comenzile recente primite.
- placuta initiala (facuta pentru etapa 1)
- controller ethernet enc28j60
- card SD
- camera CMOS C3088
- mufa RJ45 TS8P8-PCB-TRAF
- quartz 25 MHz
- 2 x stabilizator tensiune 3.3V
- rezistente 4×50, 2×500, 3x1k, 3x3k3, 3x1k8, 1x2k7, 4x10k, 1×200
- condensatoare neelectrolitice 2x22pF, 2x10nF, 9x100nF
- condensatoare electrolitice 2x10uF, 1x470uF
- bobina
- 4x LED
- motor servo pas cu pas
- conector memorie Secure Digital CSD-09G
- buton
Comunicatia seriala este realizata folosind circuitul de pe placuta realizata pentru etapa I. De pe microcontroller trimit pe seriala diferite siruri de caractere pentru a realiza debugging.
Camera foloseste cipul OV6620 produs de Omnivision si functioneaza la tensiunea de 5V si nu avem nevoie de stabilizator. Pinii Y0-Y7 sunt conectati la portul A (PA0-PA7), PCLK e conectat la PD2, HREF la PD3, VSYNC la PD, SDA la PC1, SCL la PC0. PWDN si RST sunt conectati la masa. Comunicatia dintre camera si ATMEGA16 e realizata prin protocolul SBCC (similar cu protocolul I2C creat de Philips). Folosesc interfata TWI prezenta pe microcontroller. VSYNC indica existenta unei noi poze, HREF determina validitatea informatiei si realizeaza sincronizarea orizontala, PCLK este semnalul de ceas (datele sunt valide pe frontul crescator). Perioada de ceas poate fi modificata prin scrierea in registrele camerei (trebuia redusa frecventa camerei pentru ca era prea mare pentru a fi folosita direct cu microcontrollerul).
Am folosit controllerul ENC28j60. E alimentat la 3.3 V, de unde si nevoia pentru un stabilizator. Schema completa de conectare la mufa RJ45 e similara cu cea oferita aici http://www.melektronikos.com/pdf/serial_ethernet_schematic.pdf.
Cardul SD e alimentat la 3.3V printr-un stabilizator si comunica cu ATMEGA16 prin patru pini de pe portul B.
Pinii PB7, PB6, PB5 (SCK, MISO, MOSI) sunt folositi atat de controllerul ethernet cat si cardul SD. Pentru a realiza o configuratie SPI Master Slave am folosit doi pini diferiti pentru intrarile de Chip Select ale celor doua dispozitive (CS pt ENC28j60 e legat la PB4 in timp ce CS de la SD Card e legat la PB3). Camera si controllerul Ethernet folosesc la comun pinii PD2 si PD3 (INT0 si INT1) si e nevoie de o tratare diferentiata in functia de starea controllerului ethernet (data de PB4).
Camera CMOS C3088 nu este prezenta in librariile Proteus si nu am putut realiza simularea.
Codul va fi scris in C; mediul de dezvoltare va fi AVR Studio 4.
Pt partea de webserver voi folosi o parte din codul din laboratorul 6.
Pt partea de comunicatie intre microcontroller si camera voi folosi o parte din functiile implementate deja pentru protocolul SCCB. Formatul pozelor va fi BMP deoarece headerele sunt simple si scurte.
Pt partea de scriere pe cardul SD fie voi folosi o implementare deja existenta pentru sistemul de fisiere FAT, fie voi folosi un sistem de fisiere propriu.
Ce voi implementa:
Am realizat partea hardware pentru conectarea camerei, a controllerului ethernet si a cardului SD la microcontroller. Nu am achizionat motorul pentru miscarea camerei deoarece numarul mare de fire care intra in camera nu permitea miscarea camerei. Din punct de vedere al functionalitatilor software am realizat:
Ce nu am realizat:
Poza cu camera:
Schema cu controller-ul ethernet:
Camera conectata la microcontroller:
Tot proiectul:
Am realizat functiile de baza mentionate mai sus. Functionalitatea proiectului poate fi extinsa destul de mult:
http://www.captain.at/electronic-atmega-mmc.php
http://www.dharmanitech.com/2009/01/sd-card-interfacing-with-atmega8-fat32.html
http://www.projects-lab.com/?p=328
http://tuxgraphics.com/electronics/200606/article06061.shtml
http://andrei.clubcisco.ro/cursuri/3pmindex.php
http://www.youritronics.com/digital-camera-interface-project/
http://www.melektronikos.com/pdf/serial_ethernet_schematic.pdf