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 

Rele
Pojdi na stran 1, 2  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> AVR, LPC900, x51
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
galex4
Član
Član



Pridružen-a: Tor 01 Apr 2008 18:27
Prispevkov: 459
Aktiv.: 2.19

PrispevekObjavljeno: Sob Sep 12, 2009 1:15 pm    Naslov sporočila:  Rele Odgovori s citatom

Imam sledeč problem, po neki operaciji na pinu mikrokontrolerja je vezan upor, tranzistor, rele, zaščitna dioda. Problem se pojavi takrat ko hočem vklopiti rele.

Če je npr. v kodi takole:

do
debounce p3.5 , 0 , vklop , sub
debounce p3.5 , 0 , izklop , sub
loop
end

vklop:
p3.7 = 0
return

izklop:
p3.7 = 1
return

s tem želim vklaplati in izklapljati rele, ko ni rele še vključen v vezje deluje vse ok, ko pa ga priključim pa mi enostavo že vključen?? moral bi biti izključen, sem preveril tranzistor pa je vredu, za bazni upor imam 10K, če še zraven dodam led diodo za kontrolo se opazi, da dioda sveti zelo slabo morala bi pa biti izključena.

če pritisnem na tipko se led dioda prižge, rele pa po čudi ugasne. V obratnem primeru še led dioda bolj salabo sveti rele pa vključi??? v čem je problem.

Koda je po moje vredu napisana.

za napajanje sem uporabil lm317 ga nastavil na 5V.

Prosim za pomoč.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
jnz
Član
Član



Pridružen-a: Pon 23 Mar 2009 22:11
Prispevkov: 112
Aktiv.: 0.57
Kraj: Ljubljana

PrispevekObjavljeno: Sob Sep 12, 2009 2:22 pm    Naslov sporočila:   Odgovori s citatom

Kakšen transistor imaš za vklop releja? NPN ali PNP? Kako imaš vezan rele in tranzistor? Najbolje bi bilo, da bi skiciral vezavo in jo pripel.

lp
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
galex4
Član
Član



Pridružen-a: Tor 01 Apr 2008 18:27
Prispevkov: 459
Aktiv.: 2.19

PrispevekObjavljeno: Sob Sep 12, 2009 2:52 pm    Naslov sporočila:   Odgovori s citatom

kot v večina gradiva trazistor imam bc547 (NPN) vezava je takole

iz pina na 10k na bazo, emitor na maso, kolektor pa na rele in zaščitno diodo

sem pred par dnevi naredil enako vezje le da sem uporabil pic mikrokrmilnik, tam mi vse lepo dela, pri atmelu pa se mi pojavljajo težave.

enako del vezja kot je tu http://www.ivica-novakovic.from.hr/IrOn-Off.htm .
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
program_er
Član
Član



Pridružen-a: Sob 08 Mar 2008 13:47
Prispevkov: 2173
Aktiv.: 10.33
Kraj: Maribor (Pohorje)

PrispevekObjavljeno: Sob Sep 12, 2009 3:54 pm    Naslov sporočila:   Odgovori s citatom

Kateri Atmelov mikrokontroler pa uporabljaš?

Namreč zdi se mi, da je napaka v kodi. Če uporabljaš AVR, programiranega v Bascom-AVR, je problem 100% v nerodno napisani kodi.

Zato prosim prilepi celotno kodo tukaj, če se le da.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
galex4
Član
Član



Pridružen-a: Tor 01 Apr 2008 18:27
Prispevkov: 459
Aktiv.: 2.19

PrispevekObjavljeno: Sob Sep 12, 2009 3:58 pm    Naslov sporočila:   Odgovori s citatom

v predalčku sem še imel par čipov AT89C2051

saj je koda skorav v celoti kot sem jo že prej objavil le da še manjka ta del


cofig debounce = 25

to je pa vse
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
program_er
Član
Član



Pridružen-a: Sob 08 Mar 2008 13:47
Prispevkov: 2173
Aktiv.: 10.33
Kraj: Maribor (Pohorje)

PrispevekObjavljeno: Sob Sep 12, 2009 4:21 pm    Naslov sporočila:   Odgovori s citatom

Če je to vse, potem je problem v kodi:

--------
Do
Debounce p3.5 , 0 , vklop , sub
Debounce p3.5 , 0 , izklop , sub
Loop

End

Vklop:
P3.7 = 0
Return

Izklop:
P3.7 = 1
Return
--------

Poglej glavno zanko. Imaš dva Debounce stavka enega za drugim, ki preglejujeta enak pin za enako stanje...
Kako naj program ve, ali si ti želel rele ugasniti ali prižgati, če je parameter in pogoj popolnoma neka, le subrutina je drugačna?
Imaš torej 50% možnosti, da bo program deloval v 50% pravilno. Ali pa nikoli... Kajti imaš le nekaj procesorskih taktov razlike, ali bo program ob enakem stisku enake tipke rele prižgal, ali ugasnil. To pa je enakj uS in le tvoja sreča je, da bo program šel v pravo subrutino.

Poiskusi takole:
--------
Do
Debounce P3.5 , 0 , Obrni , Sub
Loop

End

Obrni:
P3.7 = Not P3.7
Return
--------

= Not ukaz povzroči, da port zamenja stanje, torej iz 0 na 1 ali obratno. In tako ti bo ob vsakem pritisku tipke pin zamenjal stanje.

Pri Bascom-AVR je ta ukaz:
TOGGLE PortX.y

Povej, če bo delalo.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
galex4
Član
Član



Pridružen-a: Tor 01 Apr 2008 18:27
Prispevkov: 459
Aktiv.: 2.19

PrispevekObjavljeno: Sob Sep 12, 2009 4:34 pm    Naslov sporočila:   Odgovori s citatom

kaj pa če zraven dodan še več tipk? in vsaka posamezna tipka ima svojo nalogo?

saj pa se mora v programu vedno znova in znova prevet ali je bila kakšna tipka pritisnjena ali ne.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
galex4
Član
Član



Pridružen-a: Tor 01 Apr 2008 18:27
Prispevkov: 459
Aktiv.: 2.19

PrispevekObjavljeno: Sob Sep 12, 2009 4:56 pm    Naslov sporočila:   Odgovori s citatom

Sem stvar preveril delno si mi pomagal hvala, vendar kot sem že omenil ni napaka programska.

Ko na napravo priključim na napajanje, rele takoj pritegne kontakte neda bi kaj sploh pritisnil.

Mora pa delovati tako, da ob pritisku na tipko pritegne.

Tranzistor ni prebit!! povezano je pa kot treba biti.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
int47
Član
Član



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

PrispevekObjavljeno: Sob Sep 12, 2009 5:20 pm    Naslov sporočila:   Odgovori s citatom

Hec je HW.
Citiram:
Port 3 pins P3.0 to P3.5, P3.7 are seven bi-directional I/O pins with internal pull-ups.

Po resetu je I/O pin zaradi internega pull-up upora na '1', zato ti rele vklopi.

Koda:

Vklop:
P3.7 = 0
Return

Izklop:
P3.7 = 1
Return

Tole ne bo ok. Če imaš NPN tranzistor, ga logična '1' vklopi.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
galex4
Član
Član



Pridružen-a: Tor 01 Apr 2008 18:27
Prispevkov: 459
Aktiv.: 2.19

PrispevekObjavljeno: Sob Sep 12, 2009 5:42 pm    Naslov sporočila:   Odgovori s citatom

sem pravkar vezal na pin p1.2 pa se enako odziva uporabil sem pa npn tranzistor

ali moram vzet PNP?

zadevo sem sestavil na testno ploščo vendar se enako obnaša.

pregledal sem tudi članek univerzalni timer v katerem je iz vezja razvidno da je tranzistor z relejem vezan na p3.7 in naprava deluje

v mojem primeru, imam enako vezan rele in mi ne dela


Nazadnje urejal/a galex4 Sob Sep 12, 2009 5:59 pm; skupaj popravljeno 1 krat
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
program_er
Član
Član



Pridružen-a: Sob 08 Mar 2008 13:47
Prispevkov: 2173
Aktiv.: 10.33
Kraj: Maribor (Pohorje)

PrispevekObjavljeno: Sob Sep 12, 2009 5:44 pm    Naslov sporočila:   Odgovori s citatom

Kaj pa če čisto na začetku dodaš stavek:

P3.7 = 0

In tako bo pin takoj ob vklopu na 0.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
galex4
Član
Član



Pridružen-a: Tor 01 Apr 2008 18:27
Prispevkov: 459
Aktiv.: 2.19

PrispevekObjavljeno: Sob Sep 12, 2009 6:14 pm    Naslov sporočila:   Odgovori s citatom

nemorem verjet, pa res deluje, nevem po kakšni logiki deluje ampak deluje.
Hvala

Vezal sem na pin p1.2 in ga že na začetku definiral na 1. Ko napravico priključim na napajanje rele se vklopi in takoj izklopi. Ko pa pritisnem na tipko pa deluje normalno.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
program_er
Član
Član



Pridružen-a: Sob 08 Mar 2008 13:47
Prispevkov: 2173
Aktiv.: 10.33
Kraj: Maribor (Pohorje)

PrispevekObjavljeno: Sob Sep 12, 2009 9:35 pm    Naslov sporočila:   Odgovori s citatom

galex4 je napisal/a:
nemorem verjet, pa res deluje, nevem po kakšni logiki deluje ampak deluje.


Čisto logično je, to si je dobro zapomniti tudi za ostale projekte. Po resetu čipa so vključeni interni pull-up upori med pinom in VCC, ki ti pin "vlečejo" na visoko stanje in je na njih 5V, dokler jih ne definiraš drugače.

Citiram:
Vezal sem na pin p1.2 in ga že na začetku definiral na 1.


Ja potem pa imaš najbrž PNP tranzistor in ne NPN... Namreč NPN se odpira z 1, z 0 zapira.

Citiram:
kaj pa če zraven dodan še več tipk? in vsaka posamezna tipka ima svojo nalogo?

saj pa se mora v programu vedno znova in znova prevet ali je bila kakšna tipka pritisnjena ali ne.


Že že, to imaš prav. Če bi ti imel več tipk, bi lahko naredil v stilu:
----------
Do
Debounce P3.3 , 0 , Rele1 , Sub
Debounce P3.4 , 0 , Rele2 , Sub
Debounce P3.5 , 0 , Rele3 , Sub
Loop

End

Rele1:
P3.5 = Not P3.5
Return

Rele2:
P3.6 = Not P3.6
Return

Rele3:
P3.7 = Not P3.7
Return
----------

Vendar pa pri eni tipki to ne gre.

Predstavljaj si, da bi imel tako kodo:
----------
Do
Debounce P3.5 , 0 , Rele1 , Sub
Debounce P3.5 , 0 , Rele2 , Sub
Debounce P3.5 , 0 , Rele3 , Sub
Loop

End

Rele1:
P3.5 = Not P3.5
Return

Rele2:
P3.6 = Not P3.6
Return

Rele3:
P3.7 = Not P3.7
Return
----------

Ta koda je podobna tisti tvoji prvi, le da malo pretiravam. Med vsakih Debounce ukazom je nekaj uS, nič več.
In zdaj program teče... Debounce1... Debounce2.... Debounce3... med vsakih je nekaj uS ali celo manj. Zdaj pa ti stisneš tipko! In ali lahko veš, ob katerem Debounce ukazu je bil program v tem trenutku? Se bo vklopil rele 1, 2 ali 3? Za vsakega imaš 33,3% možnost! To je kot ruleta! Zato tega tako ne moreš delat, a zdaj razumeš? Če ne, kar vprašaj.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
galex4
Član
Član



Pridružen-a: Tor 01 Apr 2008 18:27
Prispevkov: 459
Aktiv.: 2.19

PrispevekObjavljeno: Sob Sep 12, 2009 9:49 pm    Naslov sporočila:   Odgovori s citatom

tranzistor je bc547, torej je npn tranzistor

bom si zapomnil, hvala za pomoč
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
dkone
Član
Član



Pridružen-a: Sre 07 Mar 2007 18:53
Prispevkov: 2116
Aktiv.: 9.51
Kraj: Krško

PrispevekObjavljeno: Ned Sep 13, 2009 9:14 am    Naslov sporočila:   Odgovori s citatom

galex4 je napisal/a:
tranzistor je bc547, torej je npn tranzistor

bom si zapomnil, hvala za pomoč



89 serije delujejo z negativno logiko kot AVR-ji. Zato vzami PNP tranzistor,veži pullup upor,ter krmili z "0",saj v tem stanju port doseže tistih 25mA. Izognil se boš tudi tisti začetni vklopitvi releja.

_________________
Denis
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> AVR, LPC900, x51 Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran 1, 2  Naslednja
Stran 1 od 2

 
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: 494 dni


Powered by phpBB © 2001, 2005 phpBB Group