www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Voltmeter narejen z PIC

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
Smarty25
Član
Član



Pridružen-a: Ned 16 Okt 2005 1:25
Prispevkov: 25
Aktiv.: 0.11
Kraj: Vitanje

PrispevekObjavljeno: Tor Mar 08, 2016 8:18 pm    Naslov sporočila:  Voltmeter narejen z PIC Odgovori s citatom

Pozdravljeni

Zanima me ali je možno narediti z PIC mikrokrmilnikom naslednje.

Na vhodu bi tipal napetost od 14,2V do 9V

Potem bi na izhod A0 in A1 priklopil biLED diodo (menja barvo pri zamenjavi polaritete rdeča/zelena)

Program bi deloval tako, da če je napetost na vhodu med

1. 14,2V in 11,5V sveti zelena (izhod A0=1, A1=0 - sveti zelena led)
2. 11,5V in 10,5V sveti oranžna (izhoda A0, A1 se izmenično spreminjate iz 1 v 0 na 1 ms - sveti oranžna led)
3. 10,5V in 9V sveti rdeča (izhod A0=0, A1=1 - sveti rdeča led).

Sem že sam nekaj poskušal pa nimam dovolj podlage in znanja da bi to naredil. Če ima kdo kašno idejo bi ga prosil, da napiše kaj na to temo.

Preproste zadeve kot je naprimer prižiganje in ugašanje led še nekako gre, ko pa se malo zakomplicira je pa tema:) Za programiranje uporabljam program mikroC PRO.

Trenutno imam na zalogi in v testni plošči PIC16F684 ki sem ga odlotal iz ročnega požarnega javljalca.SmileSmile (nič ne gre v smeti) na njem pa izvajam razne poskuse (programe), pa še kljub temu deluje:)

Hvala

_________________
LP
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
int47
Član
Član



Pridružen-a: Pon 15 Dec 2003 0:10
Prispevkov: 2066
Aktiv.: 9.30
Kraj: Ljubljana

PrispevekObjavljeno: Tor Mar 08, 2016 9:00 pm    Naslov sporočila:   Odgovori s citatom

Je možno.

Najprej je potrebno prilagoditi območje vhodne napetosti območju, ki ustreza A/D pretvorniku.
Najenostavneje to narediš z napetostnim delilnikom, vendar v tem primeru ne moreš izkoristiti celotnega območja A/D pretvornika.

Če si zadovoljen s približnimi časovnimi intervali (in barvo).
V zanki:
narediš A/D pretvorbo.
počakaš 1ms.
s tremi if stavki preveriš rezultat A/D pretvorbe in postaviš A0 in A1.

za oranžno barvo:
nastaviš 1, 0
počakaš 1ms
nastaviš 0, 1

Namesto 1ms lahko uporabiš tudi daljši čas. Recimo nekje do 10ms.
To je le en možen način in glede izrabe uC časa ni preveč učinkovit.
Če naj bi uC počel še kaj drugega, bi bilo bolje uporabiti prekinitve.

Če bo vezje stalno priključeno na akumulator, poskrbi za odklop vezja, ko bo napetost padla prenizko.

Malo premisli tudi napetostne meje. Pb akumulator, je pri majhnem toku praznenja prazen že pri 1,8V/celico (10,8V).

Odvisno od polnilca - načina polnenja, je lahko tudi previsoka napetost znak za slab, oz. prekinjen akumulator.

_________________
Kdor ni skregan, ni Slovenc !
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Smarty25
Član
Član



Pridružen-a: Ned 16 Okt 2005 1:25
Prispevkov: 25
Aktiv.: 0.11
Kraj: Vitanje

PrispevekObjavljeno: Čet Mar 10, 2016 8:32 pm    Naslov sporočila:   Odgovori s citatom

Bom probal z delilnikom napetosti. Verjetno je treba na vhod PIC poslati pri napetosti 14,2V - 5V in pri 9V - 0V? Takoj ko bo prilika to sprobam. Trenutno je malo gužve v služi in tudi doma tako da ne utegnem.

Imam pa še drug problem. Zakomplicira se mi ko hočem na 3 vhode priklopit tipke, da bi prižigal bi led diodo na 2 izhodih (zelena, oranžna, rdeča).
Ne uspe nikakor. Bom prilepil program upam da jutri ker imam posebej računalnik za programirat pa ga nimam pri sebi trenutno - je v delavnici.

_________________
LP
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
int47
Član
Član



Pridružen-a: Pon 15 Dec 2003 0:10
Prispevkov: 2066
Aktiv.: 9.30
Kraj: Ljubljana

PrispevekObjavljeno: Pet Mar 11, 2016 1:06 pm    Naslov sporočila:   Odgovori s citatom

Smarty25 je napisal/a:
Bom probal z delilnikom napetosti. Verjetno je treba na vhod PIC poslati pri napetosti 14,2V - 5V in pri 9V - 0V?

Delilnik deluje po enačbi y=k*x.

Ker 14,2/5 != 9/0 in k=0 ni uporabno, lahko pri razmerju 5V/14,2V in 9V vhodne napetosti, na izhodu delilnika dobiš:
9V*5V/14,2V= cca 3,17V.
Z delilnikom lahko izrabiš max cca 36% obsega A/D pretvornika.

Če bi želel izkoristiti poln obseg A/D pretvornika, rabiš vhodno napetost preoblikovati po y=k*x+n.

To bi bilo možno narediti npr. z uporabo A/D pretvornika z diferencialnim vhodom, analognim odštevalnikom, ali zener diodo v kombinaciji z delilnikom.
Glede namen vezja mislim, da to ni potrebno.

Pri izračunu delilnika upoštevaj, da imajo upori neko toleranco in so glede na lestvico na voljo le diskretne vrednosti.
Toleranca in zaokroževanje vplivata na merilno območje in izhodno napetost.
Po izbiri obeh vrednosti še enkrat preračunaj z izbranimi vrednostmi, če je kombinacija ustrezna.

_________________
Kdor ni skregan, ni Slovenc !
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
elson2k
Član
Član



Pridružen-a: Pet 23 Okt 2009 18:09
Prispevkov: 1660
Aktiv.: 9.45
Kraj: Novo mesto

PrispevekObjavljeno: Sob Mar 12, 2016 1:16 pm    Naslov sporočila:   Odgovori s citatom

Če ti kaj pomaga; pred kratkim sem zase spacal eno tako malo čudo. Malo drugačna izvedba od te ki jo sam želiš, dela BP. Koda spodaj (bascom, kopirano iz pdf-a). Koncept je podoben.

‘Voltage Monitor
Koda:
$regfile = “attiny13.dat”
$crystal = 1200000
$hwstack = 8
$swstack = 4
$framesize = 4
Dim U As Word
Config Adc = Single , Prescaler = Auto , Reference = Internal
Start Adc
Ddrb = &H07 ‘B0/1/2 outputs
Do
U = Getadc(3) ‘0..6.1V
If U < 797 Then ‘4.75 V
Portb = &H04 ‘red
Else
If U > 880 Then ‘5.25 V
Portb = &H01 ‘yellow
Else
Portb = &H02 ‘green
End If
End If
Waitms 1000
Loop
End



tiny_voltage.jpg
 Opis:
 Velikost datoteke:  20.27 KB
 Pogledana:  2 krat

tiny_voltage.jpg



_________________
As every cat owner knows, nobody owns a cat.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo AIM - AOL Instant - naslov MSN Messenger - naslov
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 48 dni


Powered by phpBB © 2001, 2005 phpBB Group