Proiectarea Software a Turometrului
Proiectarea software a turometrului
In acest proiect am folosit un afisaj LCD pentru a afișa frecvența semnalului primit de la bobina de inductie și un timer (TMR1) al unui microcontroller pentru a măsura semnalului de intrare.
Din punct de vedere software modulul permite mai multe configurari in functie de tipul motorului pe care se aplica.
Tabel cu constanta de amplificare, k, in functie de tipul motorului.
Se folosește un modulul TMR1 pe 16 de biți pentru a număra fronturile semnalului de intrare si depasirile contorului sunt acumulate pentru a oferi valoarea totala în multipli de 65536.
Adăugand valoarea curentă a contorului la sfârșit obtinem valoarea finala a semnalului de intrare.
Deoarece timpul de măsurare este de 1 secundă numărătoarea finală este, de fapt frecvența semnalului de intrare.
Folosind un timp de măsurare de 1 secunda ne rezulta, de asemenea, o rezolutie a masuratorii de 1 Hz.
Proiectul a fost realizat in mickroC compiller 5.0.0 si contine:
Programul principal – Frecventa.c
Procedura de conversie din binar in decimal – bcd.c
Procedura pentru crearea unei intarzieri de timp fixa – delay.c
si foloseste header-urile:
bcd.h, delay.h, bit.h
In urma compilarii s-a obtinut codul “hex” , Frecventa.h, care este implementat in microcontrolerul PIC.
Frecventa.c – contine initializarea porturilor si bucla generala de citire a semnalului de intrare. După inițializare codul intră o buclă nesfârșită în care efectuează o măsurare continua și afiseaza valoarea masurata. După o întârziere de exact o secundă rezultatul este procesat și afișat pe LCD.
Delay.c – Rutina de întârziere a fost creata folosind cod mașină, astfel încât aceasta are un timp de executie fix; timpul de executie nu se modifică după cum compilatorul optimizează codul. De asemenea este introdusa intr-o locație de memorie fixa pentru a evita problemele aparute la “bank change”.
Bcd.c – Aceasta rutina a fost creata, de asemenea în cod mașină pentru a economisi spațiu pe microcontrolerele cu memorie redusa, rezultand un cod mult mai rapid decat daca ar fi fost creata in alt limbaj de programare. Se folosesc trei metode de a converti variabila de tip “unsigned long” intr-o variabila de tip ASCI ce poate fi afisata pe LCD.
Organigrama programului software
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Proiectarea Software a Turometrului (ID: 163154)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
