Stránka 1 z 1

nerozepínání relé

Napsal: 14 lis 2009, 14:39
od jirka89
Zdravím!
Poraďte. Zapojil jsem obvod dle mého schematu, napsal program, a na stole vše funguje! Jenomže jakmile to šoupnu do bytového jádra, a sepnu kontakt na relé, tak mi jedno relé nechce rozepnout, a stále svítí jedna dioda. Takže bych tipoval chybu někde na straně MCU. Setkal se někdo s takovým problémem?? PS: jako zátěž na relé jsou 2 motory.
Schemata a program jsou v příloze.

Napsal: 14 lis 2009, 15:14
od ZdenekHQ
Na co tam máš ty PNP u těch diod, vždyt to takhle zapojený žere víc než samotná LEDka ?

Ty bázový odpory u relátek patří taky 10x větší.

Napsal: 14 lis 2009, 15:23
od jirka89
tak diody jsou mi teď ukradené! prvně potřebuju rozjet spínání a rozepínání! potom budu řešit spotřebu! :wink:

Napsal: 14 lis 2009, 15:23
od ZdenekHQ
A co se týká asm, před motor1 je dobrý použít org 25h, ať to neleží v oblasti, kam skáče přerušení. Kdyby náhodu člověk zapomněl...

Já z důvodů vlastní blbosti používám:

org 28h
reti
org 30h

program...

Dál jsem to zatím nestudoval.

Jestli chceš zjistit, že je to skutečně softem, přehoď v definicích motory....

Napsal: 14 lis 2009, 15:27
od jirka89
no to bych zkusit mohl. jak to ověřím dám vědět!
PS: ale pochybuju o tom, když mi to na stole funguje!

Napsal: 14 lis 2009, 16:28
od jezevec
Máš blokovací keramiku nap U těsně u pouzdra mcu? Nevede ti silový vodič 230V kolem mcu? Bázový odpory 1k a přidat tak 4k7 mezi bázi a emitor.

Napsal: 14 lis 2009, 20:14
od jirka89
tak síťový vodič mi vede přímo pod MCU a blokovací kondík u pouzdra žádný nemám!
Pro jistotu juště nahodím fotky!
http://pictureup.cz/picture/verejny/149 ... cn3671.jpg
http://pictureup.cz/picture/verejny/402402dscn3672.jpg
http://pictureup.cz/picture/verejny/385385dscn3673.jpg


Smazal jsem zobrazení fotek, aby bylo vlákno čitelné.
Příště prosím šířku tak do 1024 pixelů, nebo ještě méně.
Hill

Napsal: 15 lis 2009, 14:36
od jirka89
Tak jsem přehodil startovací piny, ale výsledek stále stejný! A napadlo mě, jestli není možné, že by ten MCU rušil motor!

Napsal: 15 lis 2009, 15:01
od Bernard
Ty symboly time1, time2 atd. jsou deklarovány jako konstanty (přes equ), ale v programu jsou použity jako adresy ( mov cas1,#65). Na toto mívá assembler direktivu DATA, od toho je to jazyk symbolických adres. Nemusí to znamenat tu popisovanou chybu, ale takový postup vede k chybám.

Napsal: 15 lis 2009, 15:08
od jirka89
No jo, ale to by potom ten program nejel. Ale mě to na stole funguje. Ale jakmile připojím motory, šoupnu to do bytového jádra, tak je konec. Takže to musí být nějaké rušení z venči. To mě napadlo až dneska, protože jsem u těch motorů nikde neviděl odrušovací kondíky. A na ten program se přes týden ještě radši pořádně podívám. Už je to nějaký pátek co jsem ho napsal. :wink:

Napsal: 15 lis 2009, 16:53
od masar
Příčina je zřejmě v ošetření vstupů pro tlačítka na P3.0 a P3.3. Připojené vodiče tvoří anténu, která "chytá" rušení, které je pak vyhodnoceno v programu jako stisk tlačítka. Je třeba vstup od této "antény" oddělit, popř. udělat i softwarové opatření.
Jednoduchý způsob je na obrázku. :wink:
Další možnost je použití optočlenů.

Napsal: 16 lis 2009, 10:12
od ZdenekHQ
Vidíš, těch tlačítek jsem si nevšiml, že nejsou ošetřený (ani softwarově). Určitě přidat odpor, ale proti plus kolem 1K, i ten kondík bych dal proti plus, ale ono je to téměř jedno. Ty interní pull-up mají desítky koohm.

Napsal: 16 lis 2009, 10:54
od masar
Máš pravdu, bude lepší ještě vstupy posílit a blokovat proti plusu. Už jsem to zkorigoval. V datasheetu se uvádí pull-up proud pouhých 50uA. :wink:

Napsal: 18 lis 2009, 12:28
od jirka89
zdravím! Tak hned zítra to snad vyzkouším! A napíšu vám jak jsem dopadl.

Napsal: 21 lis 2009, 15:59
od jirka89
zdravím! Tak dneska jsem vyzkoušel tu úpravu těch tlačítek a musím říct, že to zabralo a vše funguje jak má. Tak všem zúčastněným bych rád poděkoval za spolupráci.