Fórum témák
» Több friss téma |
Fórum
Hello!
Csak egy megjegyzés.. Több helyen láttam mint itt is, hogy a számlálókat bekapcsoláskor törlőjellel látják el. De ha megnézed a lefordított programot, látható, hogy ez felesleges. Mert a program elején a Parsic minden változót akkurátusan töröl. Vagy is azt a tárolórekeszt, ami a ZV számláló használ. Ergo induláskor "RESET állapotban" vannak a számláncok.. üdv! proli007
Én most összetoltam egyet , szimulációban működik . Viszont azt nem tudom miért Köbzolihoz intézed a mondandódat ? Ő nem használja a parsicot , "csak" moderálja az oldalt
A hozzászólás módosítva: Feb 3, 2013
Szia!
Nekem is kellett egy encoder kapcsolás, én ezt találtam ki. Jól működik. Üdv: Gábor
Szia Köbzoli !
Csatolom a fájlt . Másik projektben elfogadta a kijelző bemenetének az előző blokk nevét . Itt nem azt a nevet adja . A d flip flop beneneti nevét sem fogadja el . Szimulációban működik ! Nem ez , egy másik , csak ujra kellett rajzolnom. Csak le fel szeretnék számolni az enkóderrel. A kapcs rajzot az általad megadott fórumból vettem. Köszi : mezga A hozzászólás módosítva: Feb 2, 2013
Szia Köbzoli !
Köszi ,találtam hasznos dolgokat.Nem jól kerestem , nem magyarul kellett volna . Két db D tárolóval meg lehetne oldani az enkóder csatlakoztatásást. A parsic -ban van ilyen de fordításnál a be és kimeneteit hibásnak jelzi . Próbálta már valaki ezt a modult ? (SR) mezga
A multiplex még megy , de a sok jel méréséhez már magában a parsic is kevés
A hozzászólás módosítva: Jan 31, 2013
Multiplex, és sok jel mérése kis idő alatt, oda már kavics kell mi?
Belső osc.: kevésbé pontos, mint egy kvarc oszcillátor, de nem igényel külső lábakat, így azokat lehet használni más célra. Ma már a belső oszcillátorok is pontosak ( pl. használható RS232 időzítéshez is ) és még a hőmérsékletfüggésük is jónak mondható általános célokra ( LEd villogtatás, egyszerű, nem időkritikus logikák, sorrendi hálózatok ).
Külső oszc.: pontos ( pl. kvarckristály 10^-6 ), "tetszőleges" értékű lehet, de lefoglal 1-2 lábat. Steve
Hali. Mikor érdemes belső, és külső oszcillátort használni? Vagy mikor kell külsőt?
Jajaj , igazad van , kicsit kiestem a a gyakorlatból .
Íme. Több órája keresgélek a neten , de nem találok a digitális potméterhez kapcsolást . C nyelven már találtam , de nekem parsic -ban kellene. A Texas TTL receptekben talán lett volna , de nem találom a könyvet.
Egy kicsit mellé nyúltál , a hex nem segít...
Sziasztok !
Segítséget kérek . Az alábbi teszt programot írtam . Végül is működik.Az lenne a kérdésem , hogy ha beírom az ADC0 értékét az epromba , hogyan tudom azt visszaolvasni .Az lenne a cél ,hogy egy maximális értéket tudjak eltárolni. Másrészt jó-e az a megoldás az lcd törlésére amit csináltam , vagyis "semmit" írtam a kijelzőre. Harmadik kérdésem , hogyan lehet 3 lábú inkrementális potit illeszteni a pic hez . Valamilyen illesztő létezik pl. cmos kapukból , de nem találtam a google- val sem. Előre is köszi : mezga
Sziasztok !
Jól haladok az LCD illesztésével , már kiírja amit akarok . Nézegettem visszaolvastam ( valamennyire) , és megnéztem néhány mintát az EEpromba való mentéshez . A mentést nagyjából értem , de a visszaolvasást nem . Nem látom , hogy honnan veszi az adatot . (Közvetlenül LCD re nem is lehet kiírni adatot a mem. ből?
Hello!
- Célszerű a clk jelet az ütemjel felfutó élére aktiválni, míg a ZV1 számlálót az ütemjel lefutó élére léptetni. Vagy is a ZV1 órajel bemenetét invertálóra átállítani. Így mindenképpen biztosítható hogy helyes sorrendben történjen az adatátvitel, vagy is hogy az órajel akkor írja be a 595-öt, mikor az adat stabilan kint van. De a program teljesen máshogy is működhet, ha megváltoztatjuk a végrehajtása sorrendjét. Vagy is nem mindegy esetleg, hogy milyen sorrendben teszed le a modulokat. Ezért kell az időzítések sorrendjével foglalkozni. - Láb ide-oda, én a MR törlőjelet szükségesnek tartom. Mert elég egy tranziens valahonnan, és akkor ettől kezdve minden adat rossz helyre megy. üdv! proli007 A hozzászólás módosítva: Jan 5, 2013
Én anno megcsináltam a sebesség mérőt és a fordulatszám mérőt is 16F877es pic be. Működött is. Az LCD -n elég pontosan mért is, valós teszt is volt.
Aztán átkeveredtem flowra az akadályok miatt, pl ez a led vezérlés miatt, azóta parsiccal semmit nem csináltam, így kicsit bonyolult ez nekem. De így, hogy más megcsinálja és nekem csak meg kell nézni így könnyű.
Nem volt nehéz ráérezni , régen csak parsiccal "dolgoztam"
Ha egyszer ráérez az ember utána jönnek ám az ötletek...
Megcsináltam a 6 digites verziót is . a multiplexer bemenetei számértékekkel vannak megírva. azok adatbemenetek .
Szerintem működhet, csak akkor pazarlunk pár lábat.
Amúgy jónak tűnik a program. De nem tudom megmondani, hogy 7 szegmenses kijelzőt hogy kell parsicban bekötni. Ha az szerint ossza ki a bitmintát akkor jó a program. Beszámolja az összes clk jelet és a végén zárja. Így 2ms os időzítéssel vibrálás mentes kijezést kapsz. Plusz addig világít amíg újból ki nem küldesz rá adatot. Vagyis PL óra esetén nem kell neki folyamatosan futni. Elég ha az óra jár magában, megy az időzítő, aztán mikor számváltás van vagyis letelik 1 perc, akkor egyszer kiküldi az új időt és megint fut magában az időzítés.
Egyébként most azon gondolkoztam hogy úgy működne e a dolog hogy nem sorba ,hanem párhuzamosan kötni az 595 öket tehát : minden ic nek kiadni egy lábon a bitmintát a clk meg az átírás meg közös lenne (nem kéne 32-64-xxig léptetni minden esetben elég a 8 clk)
Átírtam , benne van a 7szegmens "dekóder" Így már jó egy digitre ?
A hozzászólás módosítva: Jan 5, 2013
Már nem tudtam módosítani:
Sima ledsor vezérlés esetén lehet használni 7 szegmensesre nem jó. Nekem ezen az elven működnek az órában a ledsorok. Ne csak 8al számoljon. Ha tudod, hogy 16 kimeneted(led) (vagy 32,64 stb) van akkor 16-ból vonja ki azon ledek számát amiknek 0 értéke van. Aztán léptesse be annyiszor a 0-t amennyi a maradéka a kivonásnak, majd annyiszor az 1-et ami az eredménye a kivonásnak. Példa: 16db led van, de 11et akarok kigyújtani, akkor legyen a bitminta kimeneten 0 (vagyis semmi) és 5ször ismételje meg a CLK billenést. Aztán legyen bitminta kimeneten 1(vagyis piros) és ismételje meg 11szer a CLK billenést. Ha kész mint most is akkor mehet az átírás billenés. Így egy ADC-t betéve és leosztva 16-ra(32...). PICbe égetve egy potmétert tekergetve lehet próbálni. Ahogy tekered a potit, úgy megy fel le a ledsor. A hozzászólás módosítva: Jan 5, 2013
Néztem a programot.
Egész jó. Bár átírni nem tudnám, de mondom mi a hiba. A ledek sorba vannak vezérelve, vagyis az első led az 1es lábon van az IC-re kötve és az utolsó a 8as lábon van, ha például az utolsó ledet akarod kigyújtani akkor: (Folyamatot írom az fejembe van.) kimeneten mik legyenek sorba adat láb = 1 órajel láb =1 órajel láb =0 (így ment ki az első magas jel, !! ami az utolsó lesz majd.) adatláb =0 órajel láb =1 órajel láb =0 (második... és ezt 7szer megcsinálja, vagyis mind a 8 bit kimegy, így amit először írtál be magas értéket (1) az lesz az utolsó, mert sorba utána töltődik a többi nulla.) Ha az első ledet akarod akarod kigyújtani akkor pont a fordítottja vagyis kiküldöd 7szer a nullát és utána az 1-et. De minden esetbe annyiszor kell megismételni ahány kimenet van, vagyis ha 1db IC akkor 8szor, ha 2db IC van sorba kötve, akkor 16szor. Mindegy mennyi led van bekötve valójában, nem lehet levegőben, illetve vezéreletlenül a láb mert akkor az felvesz egy értéket(ha van bekötve led, de nincs megvezérelve, akkor vagy világít vagy nem) Majd miután az összes kimenet meg van határozva, akkor megy ki az ST-CP lábon, mint nálad is az "átírás" kimeneten a 1 és 0. Az jó. Egyébként a program jó alap. Jól küldi ki, csak annyit kell módosítani, hogy mindig 8szor(illetve 16,32, stb) küldjön ki órajelet. Vagyis azt kell figyelni, hogy ez be lépteti sorba a ledek értékét. Mivel az ICket sorba lehet kötni így lesz egy ledsorod. PL 16db led. Viszont először a legutolsó kimeneti láb (led )értékét kell meghatározni az IC szempontjából, aztán az az utolsó előtti, stb..és csak a legvégén kerül be az első led. Azért körülményes és írogatom, mert elektronikától is függ ennek a vezérlése. Mert te a nyáklapon bekötheted úgy, hogy az első led a nyákon lényegében az utolsó led a belépetés szempontjából. de a ledeket olyan sorrendbe helyezed el a kijelzőhelyen dobozba, stb. ahogy akarod, vagyis akár fordítva is.(ami szerint neked lehet hogy fordítva kell vezérleni.) Így fontos, tudni mindig először az IC szempontjából az utolsó adatot kell kiküldeni. Ha megértik akkor utána ugyan ezzel simán menni fog a 7szegmenses kijelzés. mert elég lesz tudni, melyik lábra, melyik szegmens ledje van kötve. Onnantól pl. ha adat lábon sorba: 0 0 0 0 1 1 0 0 van kiküldve 1et fog mutatni a kijelző. (és lejjebb ahogy Szammernek is írtam, lehet negatív lábbal vezérelni. Ha pedig érted a vezérlést és a program jó, csak ellentettjét kell kiküldeni, lásd előző példa 11110011 és így lesz 1es kijelzés) Bocs a hosszért.
Igen, így van. De az OE és az MR lehet állandó is. Illetve a program indításakor felhúzni.
Olyankor, mikor kimeneti tárolóba kerül egyből kiíródik. Így 3 lábbal lehet vezérelni az egészet, nem kell mind az 5 (igaz én flowcodeban írtam anno, de ott is csak 3 lábat használok végig, igaz a program indításkor MR és OE lábat vezérlem egyszer, hogy reseteljem, de ahhoz analóg is lehet kis áramkört tervezni.) Így programrészt spórol, ami parsicban elég hasznos. Más: Most fel rakom a parsic-ot is, hogy megnézzem ezeket a programokat, kíváncsi vagyok ebben hogyan van megoldva. Múltkor már rajzolgattam papíron, meg írogattam hogy lehet megoldani. De nem jutottam el a programig.
Mire meg szerkesztem a sematikusát gépen, felkel a nap...
![]() Nem kapcsoló IC. Shift regiszter. Röviden a lényeg. a pic által ebbe az icbe meg tudod adni melyik kimenete milyen szinten legyen. Magas 1 vagy alacsony 0. vagyis +Volt vagy Test(0) 8 kimenete van, és mindent ki kell küldeni. Aztán kijeleztetni. (ha sorba kötsz 10 darab IC-t akkor 80 kimeneted lesz sorba. így 80 ledet tudsz meghajtani. ha jó a frissítési idő akkor real time vibrálás mentesen. (nekem az óracsoportba 104 led van, de egy ismerősöm 400 ledet vezérel. 40 ledes mátrixban 10 karakterben feliratot ír ki. vibrálás mentesen igaz nem parsic-os program, de ha 2ms-os frissítést nézzük akkor is 2szer több ledet lehet meghajtani mint multiplexel.) Viszont erre az ICre a ledet 2 féle képen kötheted. Vagy a led negatív lábát vagy a pozitív lábát. Csak a vezérlést kell megfordítani. Ha a led pozitív lábát kötöd az ICre és a negatívat direkt testre(természetesen előtét ellenállással) akkor amelyik lábon magas jel van ott fog a led világítani. Ha 1 led világít akkor semmi gond, de ha kettő akkor esik a fényerő, ha 3 akkor megint egészen 8 led-ig. Ha sorba kötsz 2 ilyen IC-t és az egyik minden ledet kigyújt de a másik csak 1-et, akkor óriási fényerő különbség lesz a két ledsor(rész) közt. Ha a led negatív lábát kötöd az ICre és a másikat direkt pozitív feszre teszed(előtéttel) akkor ahol a IC alacsony jelet(0) ad ki ott fog világítani a led, ahol (magas) 1 -et ott nem. Viszont bármennyi led világít, akár 1, akár mind a 8, ugyan akkora a fényerő. Tudom lehet tranzisztorral is kapcsoltatni, csak akkor annyi tranzisztor is kell amennyi led. Viszont 100-200 lednél már nem olcsó, ugyan akkor egy IC csak 8 ledet vezérel ebben az esetben, mikor kijelzés van(pl 7szegmenses, vagy ledsor), amit simán le kezel áramerősségben így tök felesleges a tranzisztor, de figyelni kell a kapcsolásra. Karácsonyfa futófény esetén már kell a tranzisztor, mert ott 5 színnel számolva 5cm-enként egy hosszú fűzérhez már kell 10 led szinenként. Az 2.5méter.
Talán valahogy így kéne működnie ?
Én ebből indulnék ki. Valójában ezt kellene vezérelni? valamivel...(?)
|
Bejelentkezés
Hirdetés |


(
