Vizitator cd8 Postat Iunie 5, 2010 Partajează Postat Iunie 5, 2010 Salut la toata lumea! Stiu ca pentru un cunoscator poate parea o intrebare stupida, dar sunt incepator si am urmatoarea problema: Incep un proiect la care voi folosi un atmega32 si 3 senzori: 1. un senzor (de pozitie unghiulara) care va trebui sa-mi declanseze o intrerupere la fiecare "citire" 2. si 3. doi senzori pe care ii voi citi cand am nevoie de ei uC va trebui sa-mi dea un semnal pe o iesire la anumite intervale de timp calculate in functie de senzorul de pozitie si de valorile citite de la ceilalti senzori si prelucrate apoi. Intrebarea pentru cei care cunosc atmega32 este la ce pini: sa conectez toate astea? PS: Mentionez ca am instalate WinAVR, AVRStudio, am manualul atmega32 (pe care-l studiez de vreo saptamana), am experienta (destul de bogata) de programare in C (e drept, nu cu microcontroler-e) si astept un "sut" de la cineva mai priceput ca mine care sa ma proiecteze inainte. Link spre comentariu
srdjan Postat Iunie 5, 2010 Partajează Postat Iunie 5, 2010 am sa te rog sa dai detalii despre toti senzorii si ajuta-ne sa intelegem mai bine ce vrei cu acel senzor de pozitie.pentru senzorul de pozitie cred ca vei folosi intrare INT0 iar pentru ceilalti 2 presupun ca intrari ADCtotusi trebuie sa prezinti mult mai clar ce ai si ce vrei sa faci.ca fapt divers iti spun doar ca e risipa de "potenta" acel atmega32 la aplicatia ta, cel putin la ce imi imaginez eu e suficient si ceva mic, lenes si ieftin Link spre comentariu
Vizitator cd8 Postat Iunie 5, 2010 Partajează Postat Iunie 5, 2010 Multumesc pentru raspunsul prompt.Mai multe detalii tehnice despre senzori momentan nu pot da deoarece acest proiect este inca in stadiuincipient, suntem implicate vreo 3 persoane, fiecare cu sarcinile sale (eu cu partea de programare (programatorul), altcineva cu alegerea senzorilor si partea de electronica (electronistul), si altcineva cu analiza datelor (analistul datelor)).Inca astept sa-mi fie furnizate datele senzorilor (electronistul mi-a cerut un ragaz un acest sens - studiaza diferite variantede senzori, cred).Proiectul se doreste a gestiona curbele de avans ale unui motor in4 timpi si 4 cilindri. Senzorul de pozitie (unghiulara) va furnizapozitia (si viteza de rotatie a) arborelui cotit, senzorul 2. este un senzor de depresiune pe galeria de admisie (MAP), iar senzorul 3.un senzor de temperatura a lichidului din instalatia de racire. Este posibil ca pe parcurs sa apara si senzorul 4. - un senzor de knock (un microfon infipt in blocul motor din ale carui citiri vor trebui filtrate anumite frecvente ce semnaleaza detonatiile nedoritein camerele de ardere). Cam atat pot preciza momentan despre senzori.Programul va cunoaste (intr-o matrice aproximativ12x12, avans1[MAP,rpm]) valorile avansului la diferite valori ale depresiunii sivitezei de rotatie a motorului si de asemenea valorile avansului pentru anumite temperaturi (grad de incalzire) ale motorului intr-un vector de lungime aproximativ tot 12, avans2[temp]. In functie de cei trei parametri (MAP,rpm,temp) va putea determinaavansul la aprindere optim al motorului pentru aceste conditii printr-o simpla adunare a avans1[MAP,rpm]+avans2[temp] si va genera la acest moment de timp calculat un impuls pentru instalatia de aprindere (care momentan este stabilita dintr-o bobinade inductie si un modul de aprindere electronica, pe parcurs este posibil sa trecem la CDI sau altceva).Dupa ce va fi gata o prima versiune (v0.1) a programului care se doreste a fi numai functionala, vor aparea si alte cerinte - ointerfata cu soferul (LCD?! si niste intrerupatoare cu care vom selecta anumiti parametri de functionare). Apoi vom crea o alta aplicatie ce va rula pe un laptop sau PC care va putea interveni asupra parametrilor de functionare ai uC si ne va permite sa-i modificam dupa o analiza a functionarii motorului (asta presupune sa putem inregistra in timp real acesti parametri si sa-i putem analiza ulterior).Sunt in faza in care inca ma acomodez cu atmega32 (dupa vreo 10 zile de studiat documentatie in timpul liber caci trebuie sa merg si la serviciu) si incerc sa-mi fac o imagine de ansamblu despre cum se vor portrivi toate la locul lor (ce timeri, ADC, intreruperi, iesiri voi folosi) - deja o schita destul de detaliata (atat cat se poate de detaliata cat inca nu stiu exact ce senzori vom folosi, dar m-am bazat pe timpul de raspuns necesar pentru performantele dorite) a programului este construita si in care inca studiez necesarul de performante ale senzorilor pentru un raspuns prompt al uC."Risipa de potenta" cu timpul - odata cu diferite imbunatatiri ale programului - presupun ca va disparea. Ma gandesc ca in viitor (-ul destul de neapropiat) este posibil sa evolueze acest proiect intr-un EMS (Engine Management Sistem) si atunci se naste intrebarea daca atmega 32 ne poate oferi destula putere de calcul si pentru partea de injectie.PS: Este posibil sa fie prea lung postul pentru rabdarea de care dispuneti, dar mi s-au cerut detalii si, dupa cum se vede, am fostdestul de generos. Link spre comentariu
srdjan Postat Iunie 5, 2010 Partajează Postat Iunie 5, 2010 pana nu stii ce senzori ai nu poti sti ce pini sa folosesti:daca sunt senzori analogici folosesti intrarile ADC (conversie analog-digitala)daca sunt senzori cu protocol I2C folosesti interfata TWI sau o emulare software a ei (deci pinii SDA si SCL sau pe varianta emulare orice pin I/O liber). Daca sunt senzori care au doar valori 1 logic si 0 logic atunci poti folosi intrare de intreruperi INTx.Evident si modul de procesare a informatiei e foarte diferit. Mai ales daca e vorba de cei analogici acolo este mult de optimizat mai ales prin hardware.e bine sa parcurgi documentatia dar ca sa intelegi majoritatea chestiilor trebuie hands-on-training, adica sa incerci sa implementezi o chestie folosindu-te de datasheet si application notes si sa vezi rezultatele imediat.LE: abia acum am avut timp sa citesc tot reply-ul tau asadar:1) clar alegerea unui MCU mai scump e recomandata cand lucrezi la un prototip mai ales atat de serios deci uita chestia cu potenta .2) desi iti faci bine treaba cu max. 16Mhz era bine sa-ti fi ales un MCU de 20Mhz avand in vedere ca numai turatia motorului poate trece de 200 rad/s la motoare de serie 4 cilindri, sa nu mai vorbesc de F1 si 2T cu 1 cilindru. Repet, isi face bine treaba daca e bine lucrat programul si la 16Mhz dar cu cat mai mult cu atat mai bine. SA NU FACI OVERCLOCK nu pentru siguranta MCU-ului ci pentru a nu te induce in eroare situatiile ce pot aparea. Link spre comentariu
Vizitator cd8 Postat Iunie 5, 2010 Partajează Postat Iunie 5, 2010 Senzorii vor fi analogici. Multumesc de rapsuns. Link spre comentariu
srdjan Postat Iunie 5, 2010 Partajează Postat Iunie 5, 2010 vroiam sa editez dar e prea tarziu... cand va alegeti elementele de circuit folositi doar ce merge de la cel putin -40*C pana la cel putin 85*C. Durerea mai mare e sa mearga la sub 0*C avand in vedere ca e vorba de aplicatii auto Link spre comentariu
Vizitator cd8 Postat Iunie 5, 2010 Partajează Postat Iunie 5, 2010 Vom folosi senzori creati special pentru domeniul auto ce rezista la temperaturi extreme, iar pentru atmega32 vom folosi o varianta industriala. Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum