Spinac pro triaky pomoc!

Uranin

Re: Spinac pro triaky pomoc!

Příspěvek od Uranin »

zdravím,tak sem konečně odskoušel.Je tu malý problém,když neprojedu po zapnutí napájení všechny výstupi pomocí tlačítek,to jest od B0 až B6,tak na nesepnutých výstupech zůstává napětí cca 0,22mv.To zřejmě postačuje k sepnutí optočlenů MOC3021,které pak spínají výkonové triaky.Když program projedu je na výstupech 0voltů.Co stím prosím!!!!!
jova
Příspěvky: 361
Registrován: 16 pro 2013, 11:40

Re: Spinac pro triaky pomoc!

Příspěvek od jova »

To je divné. Pokud jsi použil na začátek ten příkaz pins = %00000001měly by být výstupy kromě prvního v nule.
Stejně by měly fungovat na začátku programu příkazy low 0, low1 ...
Vlož sem ten tvůj kód.
Uranin

Re: Spinac pro triaky pomoc!

Příspěvek od Uranin »

let b1=0

start:
pins = %00000001 ;zapne první led

tlacitka: ;vybe směr nahoru dolu
if pin0=0 then goto nahoru ;podle stisknutého tlačítka
if pin1=0 then goto dolu
goto tlacitka

nahoru:
if pin0=0 then goto nahoru ;ošetří tlačítko
if b1=6 then goto tlacitka ;ošetří přepnutí mimo rozsah
let b1=b1+1 ;zvýší hodnotu o 1
goto vystup

dolu:
if pin1=0 then goto dolu ;ošetří tlačítko
if b1=0 then goto tlacitka ;ošetří přepnutí mimo rozsah
let b1=b1-1 ;sníží hodnotu o 1
goto vystup

vystup:
pins = %00000000 ;zhasne všechny led
pause 200 ;pauza mezi přepnutím
if b1=0 then high 0 endif ;vybere výstupní led podle hodnoty
if b1=1 then high 1 endif ;vybere výstupní led podle hodnoty
if b1=2 then high 2 endif ;vybere výstupní led podle hodnoty
if b1=3 then high 3 endif ;vybere výstupní led podle hodnoty
if b1=4 then high 4 endif ;vybere výstupní led podle hodnoty
if b1=5 then high 5 endif ;vybere výstupní led podle hodnoty
if b1=6 then high 6 endif ;vybere výstupní led podle hodnoty
goto tlacitka:
jova
Příspěvky: 361
Registrován: 16 pro 2013, 11:40

Re: Spinac pro triaky pomoc!

Příspěvek od jova »

Osobně tam nevidím problém. Momentálně to nemám jak změřit a tak mě napadají dvě možnosti.
Zkus nahradit ten příkaz pins = %00000001
tímhle:

Kód: Vybrat vše

high 0
low 1
low 2
low 3
low 4
low 5
low 6
Mělo by to ty výstupy uvést do stejného stavu pouze jiným příkazem.
Další variantou by možná bylo vřazením před ty optrony buď svítící diody, nebo obyčejné diody. Obě by ty mV měly odfiltrovat. Na druhou stranu při těch mV by ten optron ještě neměl podle mého sepnout. :shock:
Uranin

Re: Spinac pro triaky pomoc!

Příspěvek od Uranin »

Tak to je přesně ono.Těmito příkazy se uvedou výstupi hned do 0 stavu.Děkuji!
Ještě doplnění na začátku programu sem změnil:
let b1=0 na let b1=-1.tím sem docílil,že program po zapnutí nastartuje hned od výstupu B0 a né od B1!!!!
jova
Příspěvky: 361
Registrován: 16 pro 2013, 11:40

Re: Spinac pro triaky pomoc!

Příspěvek od jova »

Uranin píše:Tak to je přesně ono.Těmito příkazy se uvedou výstupi hned do 0 stavu.Děkuji!
Zajímavé, třeba nám to vysvětlí někdo rozumnější v čem se ty dva příkazy liší.
Uranin píše:Ještě doplnění na začátku programu sem změnil:
let b1=0 na let b1=-1.tím sem docílil,že program po zapnutí nastartuje hned od výstupu B0 a né od B1!!!!
Tomu se říká ladění programu ;)
Uživatelský avatar
jrt
Příspěvky: 1921
Registrován: 17 úno 2013, 17:13

Re: Spinac pro triaky pomoc!

Příspěvek od jrt »

V manuálu se píše:
LET pins / pinsA / pinsB / pinsC / pinsD = value
Při práci s vnějšími výstupními piny je třeba nastavit jejich funkci. Je možné je nastavovat pomocí high, low, apod. nebo je možné použít příkaz LET pins. Před jeho použitím je třeba nakonfigurovat pin jako výstupní.

LET dirs / dirsA / dirsB / dirsC / dirsD = value
Pro práci s vnějšími piny je třeba nastavit zda jde o pin vstupní, či výstupní. Je mnoho způsobu (input, output, high, low…) nebo je možné použít příkaz LET dirs. Platí, že při nastavení je 1 = vstupní pin a 0 = výstupní pin.
jrt
Uranin

Re: Spinac pro triaky pomoc!

Příspěvek od Uranin »

Přátelé omlouvám se,abych to upřesnil,podle prvotního zapojení kde je nastaven _
start:
pins = %00000001 ;zapne první led

sem upravil příkaz - let b1=-1
Tak zapínání výstupů začíná už od B0!!!!!


Po upravě příkazu start: od jova,
high 0
low 1
low 2
low 3
low 4
low 5
low 6

Je pak tedy uplně jedno co je na - let b1=
Vše je ve svářečce a funguje to nádherně.Všem děkuji.
jova
Příspěvky: 361
Registrován: 16 pro 2013, 11:40

Re: Spinac pro triaky pomoc!

Příspěvek od jova »

jrt píše:V manuálu se píše:
LET pins / pinsA / pinsB / pinsC / pinsD = value
Při práci s vnějšími výstupními piny je třeba nastavit jejich funkci. Je možné je nastavovat pomocí high, low, apod. nebo je možné použít příkaz LET pins. Před jeho použitím je třeba nakonfigurovat pin jako výstupní.

LET dirs / dirsA / dirsB / dirsC / dirsD = value
Pro práci s vnějšími piny je třeba nastavit zda jde o pin vstupní, či výstupní. Je mnoho způsobu (input, output, high, low…) nebo je možné použít příkaz LET dirs. Platí, že při nastavení je 1 = vstupní pin a 0 = výstupní pin.
Takže správně by to mělo vypadat takto?

Kód: Vybrat vše

start:
let dirsb= %01111111 	;nastaví piny 0-6 jako výstupní
let pinsb = %10000001	;nastaví pin 0 na hodnotu 1
Ale zase mi tam nesedí ty 1 a 0 u dirs. Zkouším to v Editoru a 0 nastaví pin jako vstup a 1 jako výstup :shock:

Já jsem původně vycházel z příručky http://www.hobbyrobot.cz/wp-content/upl ... axe-RR.pdf
Strana 24.
Tam jsou ty programy pro obvod 20M a nedošlo mi, že v obvodu 20M2 to může být i jinak a piny se musí nejprve nastavit :?
Odpovědět