Aici puneţi tot ce ţine de hardware design:
-
diagrame de semnal
rezultatele simulării
Schema electrica:
proiect_pm_v15.pdf
In schema respectiva am afisat cum sunt conectate componentele direct la pinii microcontrolerului Atmega328P din Arduino. Aceasta este schema completa a placutei Arduino, din care am folosit doar ilustratia microcontrolerului si a porturilor pentru jumpere: Arduino Uno R3
Componentele sunt conectate intre ele in modul urmator:
Senzorul ultrasonic este conectat la pinii PD3 si PB0, acesta avand nevoie doar de un pin de trigger si un pin care sa astepte semnalul de echo pentru a calcula diferenta de timp. Motivul pentru care folosesc PB0 pentru echo este ca acesta este pinul ICP1 (input capture pin), asa pot calcula cu acuratete mai mare distanta. Acesta este amplasat fix deasupra zonei unde va sta paharul pentru a putea masura nivelul lichidului din pahar.
Senzorul de greutate (celula de sarcina) este conectat mai intai la un ADC HX711 care transforma tensiunea foarte mica generata de celula intr-un semnal digital care este transmis intr-un mod serial pe pinul PD5 (PD4 va fi pinul care genereaza semnalul de ceas). Desi protoclul de comunicare este similar cu un fel de I2C, nu este la fel deoarece nu foloseste adresare…
Motorul este alimentat direct de la sursa de 12V. Pinul PD6 are rolul de a produce semnalul PWM care trece printr-un tranzistor N-MOS pentru a comanda motorul.
Bara de 16 senzori IR are toate iesirile conectate la un multiplexor analogic, iar pinii de CTRL EVEN/ODD sunt ambii conectati la pinul PB5 al microcontrolerului, astfel toti senzorii sunt activati si dezactivati simultan. Pinii PB[1:4] sunt folositi pentru a selecta ce senzor intra in multiplexor, iar semnalul analogic este transmis catre pinul PC0 pentru a fi convertit in ADC-ul intern.
Ecranul LCD1602 este conectat direct cu un modul care face conversia intre comunicarea paralela pe care o accepta ecranul ecranul in protocol I2C, acest modul este conectat la pinii PC4/PC5 care sunt designati pe microcontroler drept pinii SDA/SCL.
Cele 4 butoane sunt legate fiecare la un circuit RC separat cu scopul de a filtra bouncing-ul. Aici este list cu ce reprezinta fiecare buton:
Stop/Setting (conectat la pinul PD7) - are scopul general de a deschide meniul de setari pentru dozator, insa in timp ce un pahar este umplut, el poate fi folosit pentru a opri pompa.
Select (conectat la pinul PC1) - acest buton este folosit pentru a selecta valoarea curenta pentru a o putea modifica (de exemplu sa schimbi cat de plin vrei sa fie paharul).
Down/Up (conectati la pinul PC2 respectiv PC3) - folosite pentru a schimba valoarea curenta din setari.
O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună

.
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.
proiectpm.zip
Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.
Am inceput proiectul cu aceste piese si cu un plan de atac pe jumatate gandit (dovada ca a trebuit sa schimb tranzistorul acela si rezistorii pentru ca nu incapeau pe pcb-ul final…).
Drept carcasa am gasit o cafetiera pe Altex si am distrus-o complet ca sa imi incapa toate componentele in ea. Am inceput cu partea de sus unde trebuiau puse butoanele si displayul LCD. am desprins capsula unde intra displayul original, au fost necesare modificari grele asupra ei intrucat displayul meu este dublu fata de cel gandit pentru aceasta cafetiera. Am scos toata electronica de era inauntru si am adaugat butoanele, lipite impreuna cu filtrele RC pe o placuta PCB de dezvoltare (pe care am luat-o la bomfaier ca sa incapa).
Apoi am inceput sa fac circuitul pentru pompa, care si acela a durat mai mult sa il fac decat as vrea sa recunosc…
In poza asta se poate vedea si carpitura de am facut-o ca sa tina celula de sarcina. Ea trebuie tinuta sub placa aceea rotunda de metal, pe care o sa stea paharul. Ca sa o fixez acolo m-am folosit de backplateul de la carcasa unui modul vechi de dvd player pentru masina. Am luat acea placa, care era prea mare sa incapa in aparatul meu asa ca am taiat-o cu bomfaierul.
Dupa multe lipituri (si multe degete parlite) am inceput sa prind incredere in letcon si m-am apucat sa lipesc si resul senzorilor si sa ii conectez pe placuta de dezvoltare care face legatura cu Arduino (Tin sa atentionez ca poza de mai jos are impact puternic emotional daca aveti OCD, o sa ma pun mai tarziu sa aranjez toate firele sa arate uman).
Dupa asta m-am apucat sa lipesc totul inauntru carcasei… asa arata pe interior aparatul:
Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.
Pentru sursele bibliotecilor folosite, sunt trecute la rubrica Software.