Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem sa 16F887

[es] :: Elektronika :: Mikrokontroleri :: Problem sa 16F887

Strane: 1 2

[ Pregleda: 9599 | Odgovora: 39 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

ZAS011
Uzgajivač šargarepe izakuće
Vanuatu

Član broj: 288510
Poruke: 4542

ICQ: 8713400
Sajt: www.justfuckinggoogleit.c..


+529 Profil

icon Re: Problem sa 16F88709.10.2012. u 07:46 - pre 139 meseci
Za rešavanje vidljivosti drugog reda posle reseta, trebalo bi da na početku programa imaš jednu kratku pauzu radi inicijalizacije LCD-a. Takođe, mora malko da rearanžiraš sam početak.

Code:
DEFINE OSC 8                '8MHz << NOTICE UPPERCASE ON DEFINE

'END of timer/oscillator defines

OSCCON = %01110001          'Int CLK 8MHz
ANSEL = %00000000           'All digital
ANSELH = %00000000
OPTION_REG.7 = 1            'Weak pull-ups enabled

  
DEFINE LCD_DREG PORTD                   ' LCD se nalazi na portu D
DEFINE LCD_DBIT 4                       ' Data bits D4..D7
DEFINE LCD_RSREG PORTD                  ' RS na PORTD
DEFINE LCD_RSBIT 1                      ' RS na D1 
DEFINE LCD_EREG PORTD                   ' E na PORTD
DEFINE LCD_EBIT 0                       ' E na D0
DEFINE LCD_BITS 4                       ' LCD 4 bit mode
DEFINE LCD_LINES 2                      ' 2 linije LCD display

DEFINE BUTTON_PAUSE 100




'--------------------ULAZI--------------------------------------

symbol AU=PORTE.0   'Taster automatski
symbol RU=PORTE.1   'Taster rucno
symbol ST=PORTE.2   'Taster stop
symbol TP=PORTA.0  'Temperatura1
symbol TS=PORTA.1  'Temperatura2
symbol SNS=PORTA.2 'Sonda nivoa1
Symbol SNI=PORTA.3 'Sonda nivoa2
symbol SNK=PORTA.4 'Sonda nivoa3
symbol SV=PORTA.5  'Sonda vlage
symbol SNP=PORTA.6 'Sonda nivoa4
symbol TR=PORTA.7  'Trip
'-------------------IZLAZI-------------------------------------
symbol TV=PORTB.7   'Transportni ventilator
symbol I=PORTB.6    'Izvlakac
SYMBOL MS=PORTB.5   'Mesac 
symbol MII=PORTB.4  'Mesac isparivaca sa izvlakacem
symbol VP=PORTB.3   'Ventilator1
symbol VGS=PORTB.2  'Ventilator grejanja1
symbol VGI=PORTB.1  'Ventilator grejanja2
symbol DP=PORTB.0   'Dozator peci
symbol DK=PORTC.7   'Doziranje kosa
symbol DS=PORTC.6   'Doziranje ...
symbol AS=PORTC.5    'Aspiracija
symbol RR=PORTC.4    'Relej rucno (Lice mesta)


'*****************************************************************************  

'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
'! Inicijalizacija portova
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

TRISA=$FF  'Svi portovi A su ulazni
TRISB=$00  'Svi portovi B su izlazni
TRISC=$00  'Svi portovi C su izlazni
TRISD=$00  'Svi portovi D su izlazni
TRISE=$FF  'Svi portovi E su ulazni 

PORTB = 255  ' ili portb = %11111111 ' svi bitovi porta B bice jedinice
PORTC = 255  ' ili portc = %11111111 ' svi bitovi porta C bice jedinice
PORTD = 255  ' ili portd = %11111111 ' svi bitovi porta D bice jedinice

'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
'! Kraj Inicijalizacije portova
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Pause  200      ' vreme dovoljno da se LCD inicijalizuje

pocetak:
TV=1:I=1:MS=1:MII=1:VP=1:VGS=1:VGI=1:DP=1:DK=1:DS=1:AS=1:RR=1   
Lcdout $fe, 1      ' Clear screen
   Pause 500      ' Wait .5 second

   Lcdout           "  Welcome screen1 "    
   Lcdout $fe, $c0, "  verzija "    
   Pause 2000      ' Wait 2 second
   
Lcdout $fe, 1      ' Clear screen
Pause 500      ' Wait .5 second

Lcdout          "     Welcome screen2  "      
LCDOUT $FE,$C0, "  v1.0 datum "
Pause 2000      ' Wait 2 second
Lcdout $fe, 1      ' Clear screen  (izbrisi lcd)




'----------------Blokada------------------------------------------
Blokada:
Lcdout $fe, 1      ' Clear screen
Pause 500
goto Blokada1
'-----------------------------------------------------------------
Blokada1:

if AU=0 then automatski
if ru=0 then Rucno

LCDOUT $FE,2,   "     Stop     "
LCDOUT $FE,$C0, "  Zaustavljeno  "
 

TV=1:I=1:MS=1:MII=1:VP=1:VGS=1:VGI=1:DP=1:DK=1:DS=1:AS=1:RR=1
goto Blokada1

Rucno:

 LCDOUT $FE,2,   "      Rad       "
 LCDOUT $FE,$C0, "     RUCNO      " 


TV=1:I=1:MS=1:MII=1:VP=1:VGS=1:VGI=1:DP=1:DK=1:DS=1:AS=1:RR=0
if st=0 then Blokada
if tr=0 then Trip


goto rucno

'---------------AUTOMATSKI-------------------------------------------

Automatski:

LCDOUT $FE,2,   "   AUTOMATSKI   "
LCDOUT $FE,$C0, "      RAD       "
.
.
.
.
.

--
Make no mistake between my personality and my attitude.
My personality is who I am.
My attitude depends on who you are.
 
Odgovor na temu

electron2008

Član broj: 214405
Poruke: 179
*.dynamic.isp.telekom.rs.



Profil

icon Re: Problem sa 16F88709.10.2012. u 12:23 - pre 139 meseci
kako resiti smetnje od kontaktora, spojio sam na releje dva kontaktora za probu, ponekad mi displ. pobrljavi prilikom rada, mikrokontoler nastavi da radi normalno, samo na displ. ponekad neke crtice ili stagod vec ispise...? Dali bi resilo da za napajanje mikrokontrolera iskoristim jednu fazu, a za komandni napon kontaktora drugu, kontaktore bi stavio u drugi ormar?
 
Odgovor na temu

rsinisa
Siniša Radanočević
Smederevo

Član broj: 2716
Poruke: 1586
*.dynamic.isp.telekom.rs.



+321 Profil

icon Re: Problem sa 16F88709.10.2012. u 12:36 - pre 139 meseci
To je već par puta razmatrano na ES-u, recimo ovde:
http://www.elitesecurity.org/p1142488

Pozdrav.
Sinisha
 
Odgovor na temu

ZAS011
Uzgajivač šargarepe izakuće
Vanuatu

Član broj: 288510
Poruke: 4542

ICQ: 8713400
Sajt: www.justfuckinggoogleit.c..


+529 Profil

icon Re: Problem sa 16F88709.10.2012. u 17:44 - pre 139 meseci

Očekivao sam ovakav rasplet događaja.
Prvo pamuško (PLC)
Zaštita od smetnji uopšte nije naivna stvar. Osnovna premisa stabilnosti bilo kog mikrokontrolerskog uređaja u industrijskom okruženju podrazumeva nezavisno i veoma dobro izfiltrirano napajanje mikrokontrolera, razdvajanje ulaza i izlaza opto kaplerima, rasprezanje na svim mogućim i nemogućim mestima - na svakom čipu obavezno 100n + 1u do 10u i sve ostalo što je u temi koju je Siniša pomenuo. Kada se sve izpoštuje, mogu i gromovi da tuku i da se mikrokontroler ne zaglupi.
--
Make no mistake between my personality and my attitude.
My personality is who I am.
My attitude depends on who you are.
 
Odgovor na temu

electron2008

Član broj: 214405
Poruke: 179
*.dynamic.isp.telekom.rs.



Profil

icon Re: Problem sa 16F88709.10.2012. u 20:07 - pre 139 meseci
Nadam se da ce se i ovo razresiti oko napajanja i smetnji...
 
Odgovor na temu

rsinisa
Siniša Radanočević
Smederevo

Član broj: 2716
Poruke: 1586
*.dynamic.isp.telekom.rs.



+321 Profil

icon Re: Problem sa 16F88709.10.2012. u 22:31 - pre 139 meseci
Jedini način da ovo razrešiš je da napraviš novu pločicu poštujući sve savete koji su ti dati, imaćeš najmanje glavobolja. I ne razumem zašto si stavio kaplere izmedju PIC-a i ULN-a, logičnije je da idu posle ULN-a.

Pozdrav.
Sinisha
 
Odgovor na temu

goran_68

Član broj: 89012
Poruke: 932
*.dynamic.isp.telekom.rs.



+81 Profil

icon Re: Problem sa 16F88710.10.2012. u 07:17 - pre 139 meseci
Siniša,
Ukoliko kaplere postavi posle ULN onda mu ULN i ne treba!
gorankg
 
Odgovor na temu

rsinisa
Siniša Radanočević
Smederevo

Član broj: 2716
Poruke: 1586
*.dynamic.isp.telekom.rs.



+321 Profil

icon Re: Problem sa 16F88710.10.2012. u 10:14 - pre 139 meseci
Da, u pravu si, moja greška.

Pozdrav.
Sinisha
 
Odgovor na temu

electron2008

Član broj: 214405
Poruke: 179
*.dynamic.isp.telekom.rs.



Profil

icon Re: Problem sa 16F88717.10.2012. u 08:19 - pre 139 meseci
Evo da napisem gde sam stigao i na koje probleme nailazim tokom realizacije uredjaja. Sve sam smestio u metalni ormar i radi bez problema, dok ne spojim kontaktore.
:( Kad njih spojim ponekad dodje do ispisivanja gluposti na lcd-u i to sam ustanovio, samo prilikom prekidanja kola tj prilikom otpustanja kontaktora usled varnicenja na relejima. Probao sam sa raznoraznim napajanjima EMI filterima...isto. Mikrokontroler ima jedno, a releji i uln drugo napajanje. Takodje uC se nije ni jednog trenutka zablesavio. Izvadio sam releje iz ormara i stavio 2-3 metra dalje tik uz same kontaktore i smetnje su nestale. Naravno, jos uvek kontaktori ne prekidaju nikakvo opterecenje... Evo i jedna slika sa testa dok jos nisam popakovao kablove
Prikačeni fajlovi
 
Odgovor na temu

foxhunter1
KN03NL

Član broj: 234323
Poruke: 238
*.dynamic.isp.telekom.rs.



+48 Profil

icon Re: Problem sa 16F88717.10.2012. u 09:37 - pre 139 meseci
Jesi li probao RC clan paralelno sa spulnom kontaktora? R = 47-100 Oma, na red sa njim kondenzator 33 - 47nF/275V AC (tzv X2 klasa) i tu kombinaciju vezes paralelno sa spulnom kontaktora. Jednom sam, slucaj kao sto je tvoj, izlecio stavljanjem VDR (varistora) za 275 V AC, takodje paralelno spulni (nasao se tog momenta u torbi ).
73 de YU1OL
 
Odgovor na temu

rsinisa
Siniša Radanočević
Smederevo

Član broj: 2716
Poruke: 1586
*.dynamic.isp.telekom.rs.



+321 Profil

icon Re: Problem sa 16F88717.10.2012. u 09:39 - pre 139 meseci
Kao prvo bi svakako bilo poželjno da staviš RC član paraleleno svakoj špulni kontaktora, bez obzira da li imaš probleme ili ne jer tako smanjuješ ili sprečavaš "prljanje" napona. Za detalje pogledaj ovde
http://www.ceejay.com/aler26.html
deo sa naslovom "Contact protection", s tim da varijanta sa diodom otpada jer špulnu pobudjuješ sa AC.


Što se tiče LCD-a, bilo bi dobro da D0 do D3 spojiš na masu jer koristiš 4-bitni mod, mada dok se na E ne pojavi impuls, ne bi smeo da se promeni prikaz na displeju, što bi značilo da ti iz nekog razloga dobiješ impuls na Enable pinu, iako ga kontroler drži na log. 0 (nadam se da ne postavljaš taj pin u stanje visoke impedanse). To se, verovatno, dešava jer ti je kabl za vezu MCU-LCD malo duži ili prolazi pored nekog voda u kome se indukuju impulsi od smetnji. Probaj da oklopiš taj kabl npr. sa ALU folijom i da jedan kraj povežeš na masu.
Imaš i softversko rešenje, a to je da povremeno, u odgovarajućem momentu, postaviš sistemsku promenljivu FLAGS na 0:

Code:
FLAGS=0


Pozdrav.
Sinisha

P.S. Eto, lovac-na-lisice bio malo brži, ali vidiš da daje iste savete. Probaj pa javi.
 
Odgovor na temu

electron2008

Član broj: 214405
Poruke: 179
*.dynamic.isp.telekom.rs.



Profil

icon Re: Problem sa 16F88717.10.2012. u 09:53 - pre 139 meseci
A postavljanje diode, to za jednosmerne napone, kao na slici? Gde tacno u kodu da postavim
Code:
FLAGS=0


Prikačeni fajlovi
 
Odgovor na temu

rsinisa
Siniša Radanočević
Smederevo

Član broj: 2716
Poruke: 1586
*.dynamic.isp.telekom.rs.



+321 Profil

icon Re: Problem sa 16F88717.10.2012. u 09:57 - pre 139 meseci
Nisam odmah obratio pažnju na tvoju fotografiju, sad pogledah i mislim da sam u pravu za trakasti kabl do LCD-a jer jeste malo duži i velike su šanse da se u njemu indukuje neki napon.
Dalje, što se tiče ormana, loša ti je organizacija komponenti i ožičenja. Treba jasno odvojiti niskonaponski deo od visokonaponskog i ne treba voditi žice od 220V pored elektronike. Npr. gore staviš elektroniku, dole energeski deo i špulne, 220V uvodiš u orman odozdo, ispravljač takodje dole, a niskonaposke signale vodiš u gornjem delu i ne preklapaš ih nikad. Ili ako baš moraš, onda koristiš oklopljeni kabl. E sad, možda i grešim jer se ne vidi šta kuda ide po kanalicama, ali vidim kanalice i sa gornje strane i pored elektronike pa verujem da si malo "mešao" signale.
Takodje i pregarada od lima izmedju elektronike i energetike ne bi bila na odmet.

Pozdrav.
Sinisha
 
Odgovor na temu

rsinisa
Siniša Radanočević
Smederevo

Član broj: 2716
Poruke: 1586
*.dynamic.isp.telekom.rs.



+321 Profil

icon Re: Problem sa 16F88717.10.2012. u 09:58 - pre 139 meseci
Citat:
electron2008:A postavljanje diode, to za jednosmerne napone, kao na slici?


Da, naravno.

Pozdrav.
Sinisha

 
Odgovor na temu

electron2008

Član broj: 214405
Poruke: 179
*.dynamic.isp.telekom.rs.



Profil

icon Re: Problem sa 16F88717.10.2012. u 10:00 - pre 139 meseci
Gde tacno u kodu da postavim
Code:
FLAGS=0
D0 do D3 su spojeni na masu, probacu sa varistorima, imam par komada od vesmasina, a u medjuvremenu sam vec isprebacivao komponente
 
Odgovor na temu

rsinisa
Siniša Radanočević
Smederevo

Član broj: 2716
Poruke: 1586
*.dynamic.isp.telekom.rs.



+321 Profil

icon Re: Problem sa 16F88717.10.2012. u 10:05 - pre 139 meseci
Prvo probaj da rešiš problem skraćivanjem kabla, ako je moguće, ili njegovim pomeranjem i fiksiranjem tako da ne prolazi pored vodova sa 220V, ili oklapanjem.
A FLAGS stavi tamo gde je tebi zgodno, zavisi od samog programa. Recimo, pre nekog ispisa, ili pre ispitivanja nekih uslova koji mogu da odvedu program na ispis ili sl.

Pozdrav.
Sinisha
 
Odgovor na temu

electron2008

Član broj: 214405
Poruke: 179
*.dynamic.isp.telekom.rs.



Profil

icon Re: Problem sa 16F88717.10.2012. u 16:52 - pre 139 meseci
Uradjena mala reorganizacija ormara, desava se isto, ali manje








Na kraju stavljen RC clan PMR210MB533, 0,033uF+100E

Link

i smetnje su nestale
Prikačeni fajlovi
 
Odgovor na temu

rsinisa
Siniša Radanočević
Smederevo

Član broj: 2716
Poruke: 1586
*.dynamic.isp.telekom.rs.



+321 Profil

icon Re: Problem sa 16F88717.10.2012. u 18:02 - pre 139 meseci
Odlično. Eto, mislim da si dosta naučio iz ovoga, jer jedno je kad uredjaj radi na stolu u tzv. laboratorijskim uslovima, a drugo kada radi u realnim uslovima koji su po pravilu surovi za digitalnu elektroniku.

Pozdrav.
Sinisha
 
Odgovor na temu

foxhunter1
KN03NL

Član broj: 234323
Poruke: 238
*.dynamic.isp.telekom.rs.



+48 Profil

icon Re: Problem sa 16F88717.10.2012. u 18:20 - pre 139 meseci
Citat:
electron2008:
Na kraju stavljen RC clan PMR210MB533, 0,033uF+100E
i smetnje su nestale

Stavljen ili stavljeni? Pretpostavljam da si stavio na svaku spulnu? Eh, kad porastem, a ima vremena za mene, tek sam u prvoj polovini seste decenije, zaradicu i ja za DSO (Digital Storage O'scope), pa onda necemo vise ovako da ga nagadjamo , no cemo zmiju pravo u glavu :). Hebi ga, analognim osciloskopom tesko moze da se uhvati po kojoj zici te smetnje ulecu. DSO je vec druga prica, k'o sto ribololovci zabace pa cekaju, tako i on :). Na srecu, u mojem slucaju, nikada se nije zaglupio glavni uC, vec samo u displeju - a on se ne pita nista :).
73 de YU1OL
 
Odgovor na temu

electron2008

Član broj: 214405
Poruke: 179
*.dynamic.isp.telekom.rs.



Profil

icon Re: Problem sa 16F88717.10.2012. u 20:46 - pre 139 meseci
Stavljen RC-clan, (imao sam 3) posto sam ga skinuo sa nekog kontrolera rashodovane stare masine i stavio na 3 kontaktora, za ostale cu morati napraviti...
 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: Problem sa 16F887

Strane: 1 2

[ Pregleda: 9599 | Odgovora: 39 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.