VeloComputer - Matei Chiperi

Introducere

Proiectul de fata are scopul de a realiza un ciclocomputer cu functii elementare precum:

  • Masurarea vitezei momentane
  • Masurarea vitezei medii
  • Distanta parcursa
  • Timpul scurs de la inceputul calatoriei

Ideea a pornit de la numeroasele dispozitive existente pe piata care indeplinesc aceste functii. Curiozitatea, impreuna cu placerea de a calatori pe bicicleta m-au determinat sa abordez acest subiect.

Un ciclocomputer este foarte util pentru un ciclist, indiferent daca este profesionist sau amator, intrucat poate fi o buna orientare privind performantele fizice, timpul avut la dispozitie pentru a efectua o distanta, etc.

In mod evident, proiectul are un scop pur didactic, intrucat dimensiunea sa il fac greu de utilizat pe o bicicleta normala, iar solutiile de pe piata au dimensiuni mult mai mici, functii diverse, numarul acestora si acuratetea lor crescand direct proportional cu pretul.

Descriere generală

Ciclocomputerul este compus din urmatoarele elemente:

  • Un ecran LCD alfanumeric 16×2 pentru afisaj
  • Un senzor Hall digital montat pe furca bicicletei
  • Un magnet pe spita rotii din fata
  • Doua butoane pentru setari si control

La fiecare trecere a magnetului prin dreptul senzorului Hall se va genera o intrerupere. Intern, un timer va masura durata de timp dintre doua treceri ale magnetului prin fata senzorului Hall. De asemenea, vor mai fi retinute intern dimensiunea rotii, distanta parcursa, timpul total, viteza maxima si viteza medie.

Hardware Design

Lista de piese folosite:

  • Ecran LCD alfanumeric 16×2
  • 2 push-button-uri
  • 2 rezistente 100 ohmi
  • Senzor Hall monopolar - SS449A
  • 2 condensatoare 4,7 nF
  • Rezistenta 1,2 kOhm


Modul de conectare al senzorului Hall. Signal va fi conectat la Timer0.


Modul de conectare al ecranului LCD.

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

Rezultate Obţinute

Am obtinut rezultate bune cu vitezometrul conceput si dezvoltat. Am reusit montarea acestuia pe bicicleta, alaturi de un alt ciclocomputer cumparat, modelul Sigma 906. Rezultatele au fost similare, variind in mica masura vitezele inregistrate.

Un aspect negativ pe care pot sa il mentionez este sensibilitatea proasta a senzorului hall, lucru care face greu de folosit un magnet adecvat. Trebuie folosit un magnet puternic, dar suficient de mic pentru a fi montat pe spita. Trebuie gasita o metoda de montare, intrucat spita este de aluminiu, iar magnetul nu va sta pe ea.

Concluzii

  1. Datasheet-urile sunt fundamentale pentru folosirea unei componente.
  2. Atmega16 este un microprocesor ieftin, dar versatil.
  3. Senzorii Hall variaza destul de mult in specificatii si functionalitati.

Download

De aici se poate descarca arhiva cu codul sursa. velocomputer_mateichiperi.zip
Aceasta contine API-ul pentru interfata cu LCD-ul si fisierul sursa pentru ciclocomputer.

1. Se dezarhiveaza codul sursa.
2. Se compileaza sursa.
3. Se foloseste avrusbboot pentru a incarca fisierul main.hex pe uC.

Observatie: Sunt utilizate define-uri pentru a specifica porturile si pinii pe care sunt conectate LCD-ul, butoanele si senzorul. Pentru a folosi alti pini, trebuie schimbate aceste define-uri.

Jurnal

Step 1: Am reusit interfatarea LCD-ului cu Atmega. Dificultatea a constat in faptul ca scheletul de laborator contine o secventa de initializare incompleta pentru modul de comunicatie cu 4 biti. (2 zile pline)
Step 2: Am realizat intregul circuit hardware (1 zi)
Step 3: Am implementat partea de software.
Step 4: Am reusit montarea intregului proiect pe bicicleta. Problema a constat in faptul ca am avut nevoie de un magnet foarte puternic, intrucat senzorul hall folosit are o sensibilitate scazuta.

Bibliografie/Resurse

Connecting LCD with Atmega16 Tutorial - Tutorial foarte bun despre interfatarea unui ecran LCD alfanumeric cu Atmega
Laboratorul 1 PM
Datasheet Hitachi44780 Controller - De baza pentru comunicatia cu LCD-ul
Datasheet Atmega16
Datasheet sensor Hall 4935L

pm/prj2011/dtudose/velocomp.txt · Last modified: 2021/04/14 17:07 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0