PICAXE 20M2 + servo+7 segment
-
- Příspěvky: 85
- Registrován: 02 úno 2014, 02:12
Re: PICAXE 20M2 + servo+7 segment
Ani "pinsC = %11111111" nefunguje
Neboj ještě není konec, ještě mi zbylo spousta nožiček i paměti ...
Neboj ještě není konec, ještě mi zbylo spousta nožiček i paměti ...
Re: PICAXE 20M2 + servo+7 segment
Teď jsem si to v manuálu přečetl kompletně a je tam uvedeno, že aby fungoval příkaz "pinsC", tak předtím musí být ty piny jasně definovány jako výstupní. To lze provést pomocí HIGH/LOW na příslušných pinech (proto to fungüje ve Tvém případě), nebo se musí někam na začátek programu napsat "dirsC = %11111111" (lze to napsat takto, i když na C.6 to nezabere, protože tento pin může být u PICAXE-20M2 jen vstupní).
-
- Příspěvky: 85
- Registrován: 02 úno 2014, 02:12
Re: PICAXE 20M2 + servo+7 segment
Tak už všechno funguje jak má, akorát jsem ještě poladil polohy serva a trochu časy.
Ještě by se mi líbilo, kdyby servo, ať se vydá do kterékoliv polohy, tak aby tam jelo pomalu. Koukal jsem do seriálu v RCrevue (servosekvencer), tam je servo ovládáno příkazem pulsin/pulsout, ale nepřišel jsem na způsob, jak to zapojit do programu. Jde nějak zpomalit servo, při použití příkazu servo ...? Možná nějak krokovat, ale nevim jak
Ještě by se mi líbilo, kdyby servo, ať se vydá do kterékoliv polohy, tak aby tam jelo pomalu. Koukal jsem do seriálu v RCrevue (servosekvencer), tam je servo ovládáno příkazem pulsin/pulsout, ale nepřišel jsem na způsob, jak to zapojit do programu. Jde nějak zpomalit servo, při použití příkazu servo ...? Možná nějak krokovat, ale nevim jak
Re: PICAXE 20M2 + servo+7 segment
Podle mne jde běžné servo "zpomalit" jedině krokováním, tedy postupným nastavováním poloh serva od poslední známé polohy k cílové poloze po krocích s časovými odstupy.
Protože v té poslední verzi programu je použit "polling", tak tohle "krokování" lze přidat do hlavní programové smyčky.
Musíme ale rozlišovat cílovou polohu serva a aktuálně nastavenou polohu serva (kvůli nové proměnné "cil" jsem posunul registr pro "pom"):
Počáteční polohu serva doporučuju dát "středovou" tedy např. 128.
V programu navrhuju zavést podprogram "krokuj" a použít ho v hlavní smyčce. Je ale pak taky třeba upravit začátek podprogramu pro nastavení serva.
Pokud má servo krokovat i po stisku nulovacího tlačítka "swnula", tak je třeba podprogram "krokovani" volat i ve zpomalene smyčce čekání na konec stisku "swnula".
Výše uvedené úpravy programu v mém testovacím zapojení fungovaly solidně.
Protože v té poslední verzi programu je použit "polling", tak tohle "krokování" lze přidat do hlavní programové smyčky.
Musíme ale rozlišovat cílovou polohu serva a aktuálně nastavenou polohu serva (kvůli nové proměnné "cil" jsem posunul registr pro "pom"):
Kód: Vybrat vše
symbol poloha = b3 ; aktualni nastavena poloha serva
symbol cil = b4 ; cilova poloha serva
symbol pom = w3 ; pomocna promenna
Kód: Vybrat vše
...
poloha = 128 ; středová poloha serva pro první rozjezd
cykl:
...
Kód: Vybrat vše
...
if stav=1 and pom>50 then ; priznak tlacitek uvolnit i po timeoutu (repeat)
stav=0 ; nastavit priznak uvolnenych tlacitek
pom = 0 ; vynulovat pocitadlo cyklu
endif
gosub krokuj
goto cykl
krokuj:
if poloha>cil then ; pokud servo neni v cilove poloze
dec poloha ; uprav polohu bliz k cili (krokovaniú
servopos B.1,poloha ; nastav servo do nove polohy
pom = 200 ; nastavit pocitadlo cyklu tesne pred vypnuti serva
endif
if poloha<cil then ; pokud servo neni v cilove poloze
inc poloha ; uprav polohu bliz k cili (krokovaniú
servopos B.1,poloha ; nastav servo do nove polohy
pom = 200 ; nastavit pocitadlo cyklu tesne pred vypnuti serva
endif
if pom>200 then ; je uz mozno vypnout servo?
;servo B.1,off
high B.1
endif
return
nastav: ; podprogram pro nastaveni serva (a displeje)
readtable cislo,cil ; nacist cilovou polohu serva podle aktualniho cisla
servo B.1,poloha ; nastavit servo do pozadovane polohy
...
Kód: Vybrat vše
...
do while swnula=0 ; cekani na konec stisku swnula
gosub krokuj
pause 12
loop
...
Naposledy upravil(a) AlesH dne 10 úno 2014, 21:11, celkem upraveno 1 x.
-
- Příspěvky: 85
- Registrován: 02 úno 2014, 02:12
Re: PICAXE 20M2 + servo+7 segment
Aleši díky moc !!!
Teďka to bohužel nevyzkouším, páč jsem musel vrátit kabel. Byl od asixu tenhle http://www.asix.cz/usb_ucab232.htm
Vyzkoušel jsem asi tři jiný a ani jeden nefunguje . Nechce se mi dávat sedmikilo za asixe, ani litr (nebo kolik) za origoš. Nevíte někdo nějakou funkční alternativu?
Teďka to bohužel nevyzkouším, páč jsem musel vrátit kabel. Byl od asixu tenhle http://www.asix.cz/usb_ucab232.htm
Vyzkoušel jsem asi tři jiný a ani jeden nefunguje . Nechce se mi dávat sedmikilo za asixe, ani litr (nebo kolik) za origoš. Nevíte někdo nějakou funkční alternativu?
Re: PICAXE 20M2 + servo+7 segment
Osobně už několik let s úspěchem používám převodník USBCOM3. Mám to ale vyzkoušeno jen na Windows XP.
Re: PICAXE 20M2 + servo+7 segment
USBCOM3 funguje bez problémů i ve W7. Ve W8 je to složitější, ale jde to.
jrt
-
- Příspěvky: 85
- Registrován: 02 úno 2014, 02:12
Re: PICAXE 20M2 + servo+7 segment
OK USBCOM3 už je objednanej. Díky za info.
-
- Příspěvky: 85
- Registrován: 02 úno 2014, 02:12
Re: PICAXE 20M2 + servo+7 segment
Tak jsem se konečně dostal k tomu to naimplementovat do brouka a po nepatrném dotunění to funguje za 1*.
Tímto děkuji všem zúčastněným, především Alešovi.
Tímto děkuji všem zúčastněným, především Alešovi.