AC korektor sa Pic-om 12F877

Rasprava o PIC mikrokontrolerima, PIC projekti i drugo vezano za PIC-eve...

Moderators: pedja089, stojke369, [eDo], trax

Post Reply
golub
Pocetnik na forumu
Pocetnik na forumu
Posts: 29
Joined: 16-11-2014, 11:58

AC korektor sa Pic-om 12F877

Post by golub »

Pozdrav, napravio sam simulaciju ovog korektora iz knjige Voje Milanovica, i pokusavam da ga simuliram u Proteusu al mi nikako ne ide. Neznam gde gresim ako neko ima volje da mi pomogne unapred hvala
Attachments
16f877.rar
Projekat i .hex
(25.82 KiB) Downloaded 312 times
golub
Pocetnik na forumu
Pocetnik na forumu
Posts: 29
Joined: 16-11-2014, 11:58

Re: AC korektor sa Pic-om 12F877

Post by golub »

Evo i .bas primera nesto mi nije logican, po njemu treba prortC da pusta izlaze za relej, a na semi ide portD, probao sam da to zamenim u basu ali kad probam da kompajliram izbaci mi gresku, da je kompajler demo verzija


Hvala
Attachments
KOREKTOR.rar
.bas fajl
(1.24 KiB) Downloaded 288 times
User avatar
morski_pas
Odlično uznapredovao
Odlično uznapredovao
Posts: 639
Joined: 07-03-2011, 23:58
Location: Rijeka

Re: AC korektor sa Pic-om 12F877

Post by morski_pas »

bilo bi dobro da pošalješ i proteus fajl :wink:
golub
Pocetnik na forumu
Pocetnik na forumu
Posts: 29
Joined: 16-11-2014, 11:58

Re: AC korektor sa Pic-om 12F877

Post by golub »

pa ima ga u prvom postu i projekat i hex
User avatar
morski_pas
Odlično uznapredovao
Odlično uznapredovao
Posts: 639
Joined: 07-03-2011, 23:58
Location: Rijeka

Re: AC korektor sa Pic-om 12F877

Post by morski_pas »

u prvom postu imaš neki 1.pdsprj fajl za proteus je koliko ja znam ekstenzija .DSN
golub
Pocetnik na forumu
Pocetnik na forumu
Posts: 29
Joined: 16-11-2014, 11:58

Re: AC korektor sa Pic-om 12F877

Post by golub »

pa ja otvorim proteusom taj fajl i tu je sema, objasni mi kako da ga snimim drugacije pa cu i tako da ga postavim

Hvala
User avatar
morski_pas
Odlično uznapredovao
Odlično uznapredovao
Posts: 639
Joined: 07-03-2011, 23:58
Location: Rijeka

Re: AC korektor sa Pic-om 12F877

Post by morski_pas »

ja koristim proteus 7.7 SP2 ili ISIS 7 Profesional ,neznam koju ti verziju koristiš i ona snima u DSN ekstenziji
Zez
Odlično uznapredovao
Odlično uznapredovao
Posts: 865
Joined: 21-11-2007, 01:04
Location: Osijek

Re: AC korektor sa Pic-om 12F877

Post by Zez »

Morski, izgleda da je to neka vrsta arhive, otvara je Winrar.
Lijenost je iz raja izašla.
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7877
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: AC korektor sa Pic-om 12F877

Post by pedja089 »

To je proteus projekat V8.0. Ali u tom fajlu nije simulacija. Bar tako mislim...
golub
Pocetnik na forumu
Pocetnik na forumu
Posts: 29
Joined: 16-11-2014, 11:58

Re: AC korektor sa Pic-om 12F877

Post by golub »

Koristim Proteus 8 i on tako snima projekat. Znaci samo sam zapakovao projekat i hex fajl u RAR. Preuzeto sa neta: Proteus 8 stores the design (DSN), layout (LYT) and common database in a single project file (PDSPRJ).

Hvala
golub
Pocetnik na forumu
Pocetnik na forumu
Posts: 29
Joined: 16-11-2014, 11:58

Re: AC korektor sa Pic-om 12F877

Post by golub »

u medjuvremenu drugar mi je prepravio program, pa ako vidite da nesto ne valja da i to izmenimo:

'Program korektor napona.
'Meri mrezni napon i zavisno od rezultata merenja
'ukljucuje odgovarajuci relej i tako na autotransformatoru
'bira odgovrajuci izvod zavisno od mreznog napona.

'Max ulazni napon 260V = 1024 na AD konvertoru
'1/1024 na AD konvertoru = 0.254V ulaznog napona

'160V = 630
'170V = 669
'180V = 709
'190V = 748
'200V = 787
'210V = 827
'220V = 866
'260V = 1024

'konvertovana vrednost * 0.254V = ulazni napon
'konvertovana vrednost * 0.00488V = napon na delitelju




Define ADC_BITS 10 ' Broj bita
Define ADC_CLOCK 1 ' Klok (0=Oscilator /8)

AD_Rez var word ' Rezultat AD konverzije
Napon var word ' Promenljiva za dobijanje napona
TRISA = %11111111 ' Port A je ulazni
TRISB = %00000100 ' Port B
TRISC = %11111111 ' Port C je ulazni
TRISD = %00000000 ' Port D je izlazni

ADCON1 = %10000010 ' Port A je u analognom modu, 0 i 5V su
' referentni naponi a rezultat je desno formatiran.
Dummy var byte ' Promenljiva za 32 bitno delenje i mnozenje
symbol DQ = portc.2 ' DQ linija za termometar
symbol Greska = portb.5 'Linija LED diode greske
portb.5 = 1
symbol Rucni = portb.4 'Linija za identifikaciju rucnog rada
portb.4 = 1
symbol Rucni_rad = portb.2 'Linija za identifikaciju rucnog rada
portb.2 = 1
temperatura Var Word ' Izracunata temperatura
temper1 Var Word ' Izracunata temperatura
count_remain Var Byte ' Ostatak
count_per_c Var Byte ' Po stepenu C

PortD = $00 ' Postavi port D na 0 (svi releji ugaseni)





Pocetak:
'----------------MERI TEMPERATURU--------------------------------------


OWOut DQ, 1, [$CC, $44] ' Start merenja temperature
Sacekaj:
OWIn DQ, 4, [count_remain] ' Provera da li jos traje
IF count_remain = 0 Then Sacekaj
OWOut DQ, 1, [$CC, $BE] ' Procitaj temperaturu
OWIn DQ, 0, [Temperatura.LOWBYTE, Temperatura.HIGHBYTE, Skip 4, count_remain, count_per_c]
Temperatura = (((Temperatura >> 1) * 100) - 25)+ (((count_per_c - count_remain)*100) / count_per_c)
Temper1 = Temperatura / 100

If Temper1 < 70 Then Radi

High Greska
pause 500
Low Greska
pause 500
High Greska
pause 500
Low Greska
pause 500
High Greska
pause 500
Low Greska
pause 500
PortD = $00
Goto Pocetak

'-------------RAD KOREKTORA------------------------------------------
Radi:

If portb.2 = 0 Then
Goto Iskljucen
else
portb.4 = 1
endif

' Procitaj 1 kanal na RA1 i prikazi
Pause 1000
ADCIN 1, AD_Rez ' Izvrsi konverziju na RA1 i 16 bita i rezultat smesti u AD_Rez.
Pause 1000

'Dummy = AD_Rez * 5 * 100
'Napon = Div32 1023
'Pause 5000 ' Pauza 10 sec

' - - - - Napon 179 i manje - - - - - - - - - - - - - - - - - -
If AD_Rez > 709 Then RE2
PortD = $01
Goto REE
' - - - - Napon 180 - 190 - - - - - - - - - - - - - - - - - -
RE2: If AD_Rez > 748 Then RE3
PortD = $02
Goto REE
' - - - - Napon 190 - 200 - - - - - - - - - - - - - - - - - -
RE3: If AD_Rez > 787 Then RE4
PortD = $04
Goto REE
' - - - - Napon 200 - 210 - - - - - - - - - - - - - - - - - -
RE4: If AD_Rez > 827 Then RE5
PortD = $08
Goto REE
' - - - - Napon 210 - 220 - - - - - - - - - - - - - - - - - -
RE5: If AD_Rez > 866 Then ALLOFF
PortD = $10
Goto REE
' - - - - Napon 221 i vise - - - - - - - - - - - - - - - - - -
ALLOFF: PortD = $00

'PortD = $10
'Pause 2000 ' Pauza 2 sekunda
REE:
Goto Pocetak ' Kreni ponovo na merenje
'------------RUCNI RAD----------------------------
Iskljucen:
PortD = $00
portb.4 = 0
Pause 2000
Goto Pocetak

'Return

End ' Kraj programa


I dalje mi nije jasan ovaj deo za temperaturu, dioda za gresku temperature mi gori i kad treba i kad ne treba, stim da se program izvrsava normalno
Post Reply