Stránka 3 z 3

Re: Spinac pro triaky pomoc!

Napsal: 03 zář 2015, 09:20
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!!!!!

Re: Spinac pro triaky pomoc!

Napsal: 03 zář 2015, 10:17
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.

Re: Spinac pro triaky pomoc!

Napsal: 03 zář 2015, 10:29
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:

Re: Spinac pro triaky pomoc!

Napsal: 03 zář 2015, 11:24
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:

Re: Spinac pro triaky pomoc!

Napsal: 03 zář 2015, 11:29
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!!!!

Re: Spinac pro triaky pomoc!

Napsal: 03 zář 2015, 11:57
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 ;)

Re: Spinac pro triaky pomoc!

Napsal: 03 zář 2015, 12:35
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.

Re: Spinac pro triaky pomoc!

Napsal: 03 zář 2015, 13:59
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.

Re: Spinac pro triaky pomoc!

Napsal: 03 zář 2015, 22:36
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 :?