PROIECTE 2011
Proiectele realizate in cadrul Laboratorului de SMP, 2011, le gasiti mai jos, Fiecare echipa are de completat in pagina WIKI corespunzatoare proiectului sau capitolele existente.
Punctaj Proiect
-
2p Pagina Wiki in format HTML cu capitolele create - poze(diferite stadii ale proiectului) + schema hardware + listing software (microcontroller + OpenWatcom la Z3)
-
5p Functionalitate proiect - punctaj in functie de cerintele cerute/realizate
-
1p Calitatea proiectului - cat de organizati ati fost in realizarea acestuia, cod format frumos, optimizari etc...
-
2p Nota individuala - participarea voastra in proiect, raspunsul vostru la intrebarile laborantului la presentarea proiectului
Cerinte general valabile:
- Toate proiectele se vor integra software si/sau hardware cu placa EV/Z3. Pentru integrarea hardware se va folosi portul serial al placii EV/Z3
- Logica software de baza se va regasi pe placa EV/Z3 si va fi realizata în C + inline assembly folosind template-ul OpenWatcom de la laborator
- Pagina de wiki trebuie sa contina o descriere a ce a realizat fiecare student in cadrul proiectului
- Daca nu puneti pe site alta schema de proiectare hardware se va folosi cea cu PIC16F628A pusa la dispozitie
- Wiki-ul trebuie updat ca sa vad stadii intermediare ale proiectului
Elemente de electronica
-
Pentru a vedea/comanda un pret estimativ a componentelor va propun www.conexelectronic.ro . Mi-a fost recomandat si mie de ceilalti laboranti.
-
Pentru conectarea la porturile de I/O trebuie sa izolati galvanic folosind optocuploare, ex LTV817 - puteti sa cautati pe site, si rezistente sa limiteze curentul maxim la 5mA U=R*I si trebuie avut in vedere ca rezistentele sa reziste la puterea la care e proiectat circuitul P=U*I...
-
Pentru alte elemente elecronice puteti folosi diode 1N4007, tranzistori BD139/140 de putere mare. Binenteles ca nu sunteti limitati la folosirea acestora, e doar o propunere.
-
Letconul ar trebui sa aiba cam 40W , nu mai mult de 60 oricum , iar fludorul la 1mm-1.5mm. Sa aveti si un voltmetru cu voi.
-
Va recomand inainte sa alegeti proiectul sa cititi cateva elemente de electronica de AICI.
2011_P13
Iluminarea a 2 incaperi
Project Description
Project Requirements
Veti folosi placa cu PIC16f628A. Veti avea 2 becuri de maxim 12V cu posibilitatea de a seta dinamic intensitatea.
Atentie e posibil sa nu puteti conecta direct becurile la pic, cel mai probabil o sa treb sa adaugati un alt convertor DA pentru becuri.
La placa EV/Z3 utilizatorul va avea 3 butoane - 1 selectat camera A/B - 2 pentru intensitate +/-
Pe LCD se va afisa : "Camera A 25%"
Placa va trimite prin seriala un caracter cu intensitatea becului din camera x. PIC-ul va seta in convertorul DA intensitatea si va selecta becul. Posibil sa fie nevoie de 2 convertoare.
User Flow
Descriere cum poate un utilizator sa foloseasca proiectul. Pasii necesari pentru a-l pune in functiune. Elemente generale pe care le puneti la dispozitie unui utilizator.
Sectiunea aceasta va fi completata cu screenshot-uri ale proiectului vostru in functiune - frumos ar fi un film pe youtube.
Required components
Componentele pentru construirea placutei au fost :
- 1 microcontroller : ATMega 8
-Regulator de tensiune : 7805
-Convertor de nivel :MAX 232
-Condenastori 1 x 330 micro F
4 x 1 micro F
-Rezistente : 1 x 5,1k
2 x 10k
-Tranzitor BD 139 NPN
-Conectori bloc
- Bareta bani
- Mufa seriala (DB9)
-2 becuri de 8 V
-1 x cristal quart 4MHz
-1 x placa fotosensibila
Daca folositi schema cu PIC16F628A trebuie sa adaugati la ea componentele folosite (sa legati ledurile de exemplu la PIC) si sa puneti un screenshot,
- in cadrul proiectelor software - poza cu placa EV/Z3 pe care o editati in paint cu componentele folosit - gen LCD, tastatura.
De asemenea veti preciza si ce functii din interfata platform_io.h ati folosit si de ce.
Software Design
Descrierea codului aplicaţiei din punct de vedere software. Va include listing despre partea importanta a codului, algoritmi folositi. In caz ca folositi si un uC la placa secundara
codul pentru aceia. Se va adauga si modalitatea de compilare, ce IDE(Proteus, AVR Studio, Open Watcom) ati folosit in compilare
Cod:
#include "platform_io.h"
const char *welcome = "Control iluminare";
const char *gol = " ";
const char *serialStart = "Please send data";
char convert (int key)
{
static char cod[19] = {'0','2','4','6','8','A','C','E','c','l','1','3','5','7','9','B','D','F','r'};
return cod[key];
}
static SerialConfig serialConf;
unsigned char buffer[32];
int main()
{
int key = 0;
char * intensitate = "Intensitate= 0%";
unsigned char comanda[1];
/* display our welcome message */
kIo.DisplayString(welcome);
/* Serial Initialization */
serialConf.baudRate = b9600;
serialConf.parity = none;
serialConf.stopBits = one;
serialConf.wordLength = eight;
/* In order to check what EV/Z3 board is echoing on the serial port
* open Hyperterminal, create a new connection using the above parameters,
* Flow control: Hardware and Settings/Emulation: ANSI, connect and type some chars in it */
kIo.SerialInit(&serialConf);
/* wait for a key to be pressed */
comanda[0]='0';
while (1)
{
key = kIo.ReadKey();
if ( convert(key) == 'r') // increment
{
comanda[0]='I';
kIo.SerialWrite(COM1, comanda, 1); // trimite comanda pe seriala catre pic
if (intensitate[12]!='1')
{
if (intensitate[13]==' ')
{
intensitate[13]='1';
}
else
{
if (intensitate[13]=='9')
{
intensitate[13]='0';
intensitate[12]='1';
}
else
{
intensitate[13]=intensitate[13]+1;
}
}
}
}
if ( convert(key) == 'l') // decrement
{
comanda[0]='D';
kIo.SerialWrite(COM1, comanda, 1); // trimite comanda pe seriala catre pic
if (intensitate[13]!=' ')
{
if (intensitate[12]=='1')
{
intensitate[12]=' ';
intensitate[13]='9';
}
else
{
if (intensitate[13]=='1')
{
intensitate[13]=' ';
}
else
{
intensitate[13]=intensitate[13]-1;
}
}
}
}
kIo.DisplayString(gol); // sterge ecranul
kIo.DisplayString(intensitate); // afiseaza intensitatea curenta
}
return 0;
}
Results [edit]
O imagine de ansamblu a cum functioneaza proiectul, screenshoturi, filmulete cu proiectul functionand. Alte detalii care le credeti importante.
Download [edit]
Arhiva cu schema hardware + cod microcontroller + tot proiectul OpenWatcom.
Arhiva va contine 2 directoare (1 singur pentru proiecte doar software)
Hardware design - schema uC + codul folosit pentru a genera fisierul .HEX
Software design - template-ul Open Watcom folosit
Status
O pagina in care sa updatati saptamanal cum stati cu proiectul. Sa spuneti ziua in care ati realizat diferite componente
Eg
1 Mai - board finaly done
15 Mai - board working - starting to write EV/Z3 software part