Fórum témák
» Több friss téma |
A pasicnak egy "átka" van pontos időzítést nem (vagy csak nagyon körülményesen) lehet vele csinálni . Régebben próbáltam órát készíteni LCD vel de akármit csináltam vele vagy sietett vagy késett éppen a kijelző vezérlés és a többi "rejtett" nop miatt , ezért váltottam fejlesztő programot ,és nem bántam meg ...
A hozzászólás módosítva: Aug 17, 2020
Üdv.
7 szegmenses multi-plexeléssel van gondom. Sikerült az átcsúszásokat kicsipegetni, viszont 2ms es Clock-al is vibrálnak a szegmensek, így hogy már eléggé meg van pakolva. Ha kiveszem a funkciók felét akkor sokkal simább, szinte alig látható. 4MHz-es kvarc van benne. Azzal is próbálkoztam, hogy csak kevesebbet állítok be neki, de még rosszabb lett a helyzet. Nagyobb kvarca segítene rajta? Vagy valami külső hardveres megoldás? 8bites RS flip flopon gondolkodtam, ami letárolja az adott szegmens állást, és világítva tartja frissítésig. Ezáltal nem az lenne, hogy 1 világít addig a többi sötét, és az alacsony frissítési ciklus miatt vibrál. Szerintetek ? Köszönöm előre is! ![]()
Ne haragudj azóta se jártam erre. Egy asztalos barátomnak magasság állításához kellet a dolog. Elmenteni több méretet, és vissza tudja hívni. Nagyon prímán leprogramoztam, csináltam egy bemutató eszközt is amin működött, de nem lett megvalósítva, mivel a gép mechanikai átépítése nagy falat lett volna. :/
Viszont most a kijelzős dologhoz felhasználom, egy "bomba" hatástalanítós játékban, 4db számjegyet megadása, majd azt vissza kéri, ott is remekül működik. ![]()
Kipróbáltam, de ránézésre is sejtettem,hogy nem lesz jó. Az a gond, hogy teljes ciklusidő van 2 szegmens közt, vagyis még lassabb lett a kijelzés.
A képen lévő megoldás több óra matekozás eredménye.(+ a te Szegmens oldalad) Ez volt a legjobb. A számlálón azért van Bit-Byte átalakítás, hogy ne kelljen resetelni. Ez így 4 szegmensre pont jó. Valamiért a resetnél az utolsó számjegy elcsúszott, hiába van Mono-Flop 1ms, azaz 1 számjegy akkor is átcsúszott. Szegmens vezérlést, én máshogy csináltam, azt átemeltem köszi ![]() Viszont a megoldást a 8bites Shift-Registerben látom amit fentebb írtak. Ezzel minden gond megoldódik. Ha 1mp alatt 5x kiírom az is bőven elég. Nem kell aggódni, hogy pakolom a programot még, és még jobban lassul a kijelzés. 877A-t használok én.
A shiftregiszteres meghajtás villogásmentes lesz az tuti ....
De kipróbálhatod ezt is ,itt nincs időzítés de valószínűleg a ciklusidő ezt is befolyásolja
És itt van egy aminél nincs kioltás a kijelzések közt (viszont 2*gyorsabb ) de lehet hogy szellemképes ....
Összedobtam valamit a shiftregiszterhez ... Akár még működhet is
A hozzászólás módosítva: Aug 30, 2020
Nem próbáltam ki, de valószínűleg ugyan azt eredményezi mint a 1db kapu negáltan vissza kötve saját magában, A másiknál a szellemképesség az 100%
A Shiftes jónak tűnik, még nem próbálgattam csak fejben gondolkodtam, hogy kéne. Megveszem az alkatrészeket és neki ugrok. Elméletben ott tartok, hogy a Byte-ot le kell kódolnom szegmensekre, (ami már adott) aztán azokat 2ms-es clockal végig léptetni a registerben. Ha jól értelmeztem a belső logikai leírását, kell egy jel amire letárolja a belső pufferba a dolgokat, és akkor teszi ki a kimenetekre. (és persze a kimenet is engedélyezve van, de mivel mentéskor jelenik meg az új adat azt nem is kell lekapcsolnom, így villanni sose fog.) Az "anod jelet" ez a láb kapja az andok pedig fixen tápon. Mindig beírja mind a 4 registerbe az összes adatot, de csak azzal tároltatom le, amelyikhez tartozik a szám. Annyit kell még beledobni, hogy ha elkezdte a Byte szegmenseit a regiszterbe tolni, akkor az a szám nem változhat. Ha pont akkor vált akkor elméletileg max 8*4*2ms-et "csúszik" az idő kijelzése az 64ms ha a programban a leterheltség miatt nem tud 500Hz-et kipréselni akkor is max 100ms re nő, vagyis 1mp alatt kb 10x frissíti a kijelzést. Ez annyira nem vészes. És csak akkor, ha pont akkor szeretne váltani, mikor már az "A" szegmenst elkezdte beírni a registerbe. Azzal tudnék időt nyerni, ha bináriban hagynám a számot, és akkor elég lenne 4-Bites Register, ekkor fele ciklussal át bírom küldeni a számjegyet, csak kell egy 7447 kikódolni a szegmenst. https://lomex.hu/pdf/ti7hc595.pdf A hozzászólás módosítva: Aug 30, 2020
Szereztem egy kütyüt és rápróbáltam a picre. Nem lepődtem meg az eredményen. A program csak ezt tartalmazza semmi mást. Ha több minden lenne benne sanszosan még nagyobb eltérés lenne...
A letárolgatós módszer nagyon prímán működik. ![]() A grafikonon a 7-ről 0-ára billenés látszik, illetve 1-ről 2-re. Sajnosan ezt nem szereti a multiplex. 1 és 2 közt van egy kis 0 is... 7 és 0 közt meg minden ami belefér. A hozzászólás módosítva: Szept 20, 2020
Idézet: Ez nem mond sokat senkinek ... „Szereztem egy kütyüt és rápróbáltam a picre. Nem lepődtem meg az eredményen”
Az csinálta a grafikont, nincs közvetlen jelentősége. De ha érdekel egy ilyen:
https://www.aliexpress.com/item/4000755596172.html?spm=a2g0o.produc...01603_
Ha azt írod az első hozzászólásodban hogy logikai analizátor (a kütyü helyett) akkor semmi meglepő nem lett volna a hozzászólásodban , így viszont teljesen értelmetlen volt az egész .
Idézet: akkor miért is keletkezett a hozzászólás ? „Az csinálta a grafikont, nincs közvetlen jelentősége”
Gondolom azért, hogy bemutassa, a képen látható módszer (ZV1, legyen ez bármi is) használatával milyen szép "szinkronban" váltanak a kimenetek állapotot.
Pl. 0b111 -> 0b000 kb. 8 µs úgy, hogy a kimenetek nem egyszerre váltanak. A hozzászólás módosítva: Szept 20, 2020
Idézet: Ez egy 8 bites számláló , ráadásul reset nélkül tehát a 255. impulzusnál nulláz viszont 3 kimenetet figyel csak a "kütyü" Viszont Geri nem lepődött meg .... „(ZV1, legyen ez bármi is)”
Lett annyi technikai eszközöm. Kipróbáltam! Az RD.0-ra 15KHz jön ki .Nem stabil 15-16KHz között ugrál. Utána betettem egy 2ms impulzust RD.1 kimenetre .Az RD.1 stabilan 500Hz lett.
De ekkor az RD.0 9-10KHz-re csökkent ! /Ennyit jelent ez a kicsi "leterhelés"/ PIC16F877A 4MHz HS A hozzászólás módosítva: Szept 20, 2020
Sziasztok, a kicsit fentebb levő adattologatás és tárolgatáshoz fűznék hozzá egy gondolatot. Anno nekem is sokszor okozott meglepetést a random modul kötözgetés. Aztán vettem a fáradtságot és a szerény A "ASM" programozói tudásommal újragondoltam sok megoldást. A Parsic sok mindent elbír a "Rajz tekintetében", de a processzorok képességeit és tulajdonságait nem lehet így feltúrbózni. A már többször emlegetett Timer(ek), az a bizonyos 2ms(!) tudja-e itt mindenki, hogy mennyi az és mi szükség rá?
Adott esetben egy egy feladat vagy szubrutin, vagy egy programreszlet, nem is fut le ilyen gyorsan, valami történni fog! "Szimulációban biztosan" meg kellene barátkozni a 10-20 vagy 100 ms használatával! Egy-két bosszúság elkerülhető! A program működik, le is fordul, csak nem azt fogja csinálni amit szeretnénk. A multiplex ledes kijelzőknél, adat tárolásnál, adat tologatásnál, figyeljünk ilyesmire, vagy szükség esetén használjunk 20Mhz-s Quartzot, de sem old meg mindent a fentebb említettek közül. Nem beszélve a belső oszcillátoros megoldásokról, amik hatványozottan gyűjtik az ilyen jelenségeket. Ezeket már régebben megjegyeztem, ebben a topicban. Ha nem jönne le így, akkor most segítségnek újra itt van, Nem beszélve az "Aszinkron kommunikáció" (RS232) esetleges hibáiról és csúszásairól! Adatsebesség, adat kimaradás, adat elcsúszás... A Quartz itt is "létfontosságú"! Idézet: Nem csoda, ha a feljesztőkörnyezet eleve homlokegyenest más logikát használ, mint ahogy a program fut a kontrollerben. „A program működik, le is fordul, csak nem azt fogja csinálni amit szeretnénk.”
Igazad van, hogy a alap koncepció és moduláris "összefűzögetés "módszere más logikát használ. Ez így igaz, de még nem fagyott le egy programom sem. Aztán, nem egy alkalommal, egy beigért kütyüvel, ha megcsúsztam időben, a program megírása rendszerint 10-20 percet vett igénybe a helyszínen a "nagy hardwerrel". Tanulni is lehet vele, ha elfogadjuk, vagy felismerjük azt a strukturát, vagy hasonlót amit a fejlesztő használ. Egy feladatot, több féle képpen meg lehet oldani, ez ilyen. Gyors, nem fagy le, az egyedi attraktív megoldások egy kis fejtöréssel mennek csak vele, Kónya Imre mikrokontrolleres könyvében, többször leszögezi ezt, Továbbá, a programozás mindemellett "művészet" ! Van egy szerzői szabadság benne!. Pl A Parsic kijelző kezelése memóriafaló, de, hiba mentesen lehet vele dolgozni, és gyorsan!
Természetesen mindenki abban írja a programokat, amiben tudja/akarja. Mindössze arra utaltam, hogy mi lehet a szimuláció hibáinak hátterében. Elnézést ha félreérthető voltam, nem sértésnek szántam, mindössze a fejlesztőkörnyezet szimulációját minősítettem kicsit.
![]() ![]() A hozzászólás módosítva: Szept 24, 2020
Két hete megjött a Parsic V4. Minden nagyon jó csak hogy lehet frissíteni új verzióra ?
Ha esetleg valaki tudja.....
Ha ügyesek vagyunk, akkor elcsíphetjük a legújabbat, egy hőnapja frissítették valamivel.
Ha kézzel gépeljük, sokadik variációra jön be... Itt a link...Upd_P4 ...Ha jól értelmeztem wifi access kezelés vagy példa(?) is van már. A hozzászólás módosítva: Szept 25, 2020
dcsabi ! Ezt a linket ismerem,de ha ezt feltelepítem akármelyik mappába egy "új" verzió lesz,de azt nem tudom használni dongle-val sem
Ilyen nagy frekvenciánál hogy kell interruptot csinálni a RD.0 bemenetre ?
A kép alapján nem értem az interrupt megfogalmazást ... A bemenet számolja a bejövő impulzusokat , az interrupt az megszakítás , mit szeretnél megszakítani -nullázni-resetelni-indítani azon a bemeneten ?
Üdv.
Ha érdekel valakit,itt van a 128x64 es grafikus kijelző progija nekem szépen müködik ,mint tv scanner sorok egymás után irja ki az adatokat ,16 megás kristályt használtam 4x multipleddel és 250khz PRE beálításal a ha a 2ms 500hz nek felel meg 4x multipled 2000hz ,16 megát osztjuk 250khz vel 64x2000 128khz a 2ms ,a 2ms 4 progi lépés nem jött ki a sor rendesen ezért 4 ms ot használtam 64khz n Jó szórakozást !
Sziasztok,
Lehet hogy olyat kérdezek ami már megvolt , de eddig hiába kerestem a megoldást. Szóva egy műszert építenék, ami néhány sort jelez ki , és egy léptető motort hajt meg. Arduino nano val próbáltam ée egy 4x16 os LCD vel. Amíg a 6 vezetékes bekötéssel működött , tudtam 2-500 Hz-es step jelet levenni róla a motor vezérlőnek. Áttettem I2 C re a kijelzőt és azóta ötödére lassult a program. 50Hz nél nem tudok gyorsabbat csinálni, a beállítások ugyanazok. Egyértelműen az I2c lassítja be.( PIC16F 876) Áttértem a Parsicra, eddig többet is tud akár 500 Hz et is, kijelzővel. De át akartam tenni az I2c -s LCD konverterre, de itt nem tudom hogyan kell beállítani. A sok példában sem találom, hogyan tudom az i2c data modulba bekötni a TEXt modulokat. Vagy nem is így kell? Aztán jutott eszembe, hogy a Parsicban van-e ilyen egyáltalán? Vagy használta már valaki így ? Köszi a segítséget előre is !
Csinál még mást is a pic ? A 28 lábú jószágnál miért kell a kijelzőt I2c -n használni ? Egyébként a parsic 4 már tudja ezt a kommunikációt de csak ezért megvenni nagyon kár .
A hozzászólás módosítva: Jan 11, 2021
|
Bejelentkezés
Hirdetés |