Fórum témák
» Több friss téma |
Ebben semmi nincs csak egy led villogtatás, amit minden gond nélkül fordít.
Küld el a képét a fordító ablaknak. Jelöld ki az ablak első sorát, nyomj Ctrl+a és másold be ide
Flowcode töröl, gép újraindít, Flowcode telepít. Talán.
Lehet hogy nálad , a te gépeden lefordul HEX be , de nálam az én gépemen nem hajlandó.
Ha csak annyit árulsz el hogy nálad nem megy, azzal legfeljebb te tudsz valamit kezdeni, mi meg őszintén sajnálni.
Lehet azért kértem hogy küld el a fordító hibaüzenetét, hogy tudjunk segíteni.
Nagyon köszönöm a segítséget. Újratelepítettem az egész progit . Igy tökéletesen fordítja. Most már csak a kódókkal lesz problémám.Valahová a gép helyére elkevertem biztonságos helyre ahol még én sem találom meg .
Köszi, de Olasz, az élettbe soha többet
Sziasztok!
Tudna valaki valami könyvet leírást ehhez a programhoz? Persze ha lehet magyart. Vagy esetleg segítene megcsinálni egy programot? Részleketeket privátban megbeszéljük. Üdv: gepesz13
Miért nem itt kérdezel? Hátha másnak is hasznára válik.
https://www.matrixtsl.com/wiki/index.php?title=Flowcode_Help_Overview. Szia szívesen segítek , ha tudok . Írd meg , hogy milyen progit szeretnél .
Sziasztok!
A 10napos karanténem első napja alkalmából elővettem újra a Flowcode-ot. Máris egy számítási akadályba ütköztem, amit nem tudok kimatekozni.. (Igen, kellett volna figyelni az iskolában, meg felejt is az ember.) A lényeg, hogy sebességet szeretnék mérni. Hogyan tudnám ezt a számításba begépelni? Adott egy kerék, melynek kerülete: 161cm Egy fordulat alatt 2db jel van. A timer 500ms-onként nullázódik, tehát fél másodpercig tartanak a mérések és a frissítés a kijelzőn. Milyen egyenletet és hogyan írjak be a számításba, hogy Km/h-t kapjak? Illetve szeretném a megtettkilométereket számolni is, erre milyen megoldások lehetnek? Egy változóhoz hozzáadom a mondjuk percenkénti megtett távolságot, majd a végén mentem a RAM-ba, ujbóli indításkor pedig egy kiolvasás és így tovább? A ram mentést persze nem minden ciklusban szeretném, csak mondjuk ha már egy ideje nincs beérkező sebességjel. Előre is köszönöm a segítségeteket!
Szia!
Ezzel az elvvel alacsony sebességnél nagyon pontatlan lesz a mérés. Én másfelől közelíteném meg a problémát. A mikrovezérlő órajelének leosztott értékével hajtanék egy számlálót, mondjuk TMR3-at. A reed vagy Hall szenzor jelével megszakítást generálnék, amely megszakításban kiolvasnám TMR3 értékét, melyet mentenék majd nulláznám a számlálót hadd pörögjön tovább. Ha jól választod meg TMR3 számláló frekvenciáját, nem a megszakításit, mondjuk 277,777778Hz-re (csak kvarc kérdése), akkor leegyszerűsödik a matek. Csak elosztod a 805-öt (két impulzus között megtett út hossza mm-ben) TMR3 kiolvasott értékével és rögtön Km/h-ban megkapod a sebességet. A méter számláló is egyszerű, minden egyes megszakításkor hozzáadsz 805mm-t az előzőleg megtett úthoz. Az EEPROM-ba való mentésre a PIC HLVD áramkörét ajánlom, ha van, ez kikapcsoláskor (a tápfeszültség erős csökkenésekor) megszakítást generál, amely megszakításban felülírható az EEPROM tartalma.
Nem annyira számít a pontosság, kismotorra lenne maximum 55-öt tudok vele menni, inkább csak olyan megközelítőleges lenne a dolog, kvarcot nem is használok. Csak egy nagyjáboli üzemóra számláló az olajcsere végett, és hogy kb mennyivel megyek.
Egyébként az ötlet jó. Hall szenzorral van megoldva (Biviklikilométeróra van jelenleg) Olyan lassan frissít, hogy zavar.
Feltöltöm, hogy mit kreáltam.
A kijelző felső sorában van az index, lámpa és a sebességfokozat visszajezés. (Később eszembe jutott, hogy ellenállás létrával elég lett volna 1 láb is) Második sor, fordulatszám Harmadik sor a sebesség Alsó sor pedig választható: olajhőfok, külső hőfok, összes üzemóra, napiszámláló, összes km. (ezeknél akadtam el) Illetve még tervezek bele egy 10órás visszaszámlálót az olajcserére, ami nullázható. (Az összes üzemóra is nullázható ha a választó gombot nyomvatartva kap tápfeszültséget) Az üzemóra számlálót minden alkalomkor menti egyszer, ha a fordulatszám 0-ra esik. 5-6 óra alatt eddig jutottam, minden része működik, csak a képlet hiányzik a sebességméréshez A hozzászólás módosítva: Nov 2, 2021
v=(2πr)/T
r: a kerék sugara (méterben), T: a periódusidő (másodpercben), v: sebesség (m/s -ban). A tört számlálójában a kör kerülete van, ami egy állandó, nálad 1,61 m. m/s és km/h közötti váltószám 3.6. Ha km/h-ban szeretnéd látni az eredményt, a számlálót kell 3.6-tal szorozni, kapsz 5.796-ot. Mivel egy fordulat alatt kétszer kapsz jelet, a mért idő fele lesz a teljes periódusnak, a számlálót is osztani kell kettővel, marad 2.898. Célszerű egy számlálót 1 ms-onként növelni, ez egy másodperc alatt 1000-et jelent. Az ezres szorzó miatt a számlálót is 1000-rel kell szorozni, így a számlálóban már is könnyen kezelhető szám marad: 2898. v=2898/x ahol v: km/h, x: a mért idő ms-ban. Pl.: v = 2898/491 = 5 km/h Mivel az ilyen számításoknál a kontroller "eldobja" a maradékot/tizedes értékeket, a számlálót érdemes további tízzel szorozni. Ekkor az eredmény így alakul: v = 28980/491 = 59 Ez az eredmény így mindig tízszer több, mint a valós. Innen már csak két művelet szétválasztani a számokat: tized = v mod 10 (=9) egesz = v / 10 (=5) Már csak ki kell írni az eredményt: print number egesz print string "," (tizedes vessző) print number tized Dióhéjban kb. ennyi. Egy megoldandó feladat mindenképpen marad, hogyan reagáljon a kontroller arra, ha sokáig nem érkezik impulzus. Ha a két jel befutása közötti idő 2 mp (1.449 km/h), akkor itt is lassú lesz a kijelzés. Egy fordulat alatti két impulzussal ezt lehet elérni. Jobb lenne újabb kontroller, amelyikben ügyesebb Timer 1/3/5 van, kicsit egyszerűsödne a feladat (single-pulse and toggle combined mode) de 886-tal is megoldható. Esetleg CCP modul Capture üzemmód de ha nem tudod hogyan működik, akkor nem feltétlen fárasztanálak vele. A jeladók számát is érdemes lenne növelni.
Köszönöm szépen a szájbarágós választ, ám még valami mindig nem tiszta.
Az általan megadott egyenletbe ugyebár a jelek közti időt kell behelyettesíteni, nálam viszont csak egy számláló növekszik a beérkező jelek alapján, amiből csak az derül ki, hogy 1másodperc alatt hány fordulatot tett a kerék.
Ez egy viszonylag hosszú preiódusidejű jel. Ne azt számold hogy egy másodperc alatt hány impulzus fut be, hanem azt mérd, két impulzus között mennyi idő telik el.
Tehát, ha jól gondolom, akkor egy változóban elkezdem számolni a beérkező jelet, ami egy fordulat alatt ugye 2, a számlálóm ms-onként számol 1-et. Ha beérkezett a 2 jel, akkor megnézem,hogy a számláló hány ms-ig jutott így megkapom az eltelt időt? indítok egy új projektet, aztán hasikerül összehozni, akkor utána át alakítom a meglévőt.
Amikor befut az első jel, elindítod a számlálást, amikor befut a második, megállítod. A számláló az eltelt időt fogja mutatni.
Ennyit tudtam kihozni a dologból.
Inkább valahogy így, lásd melléklet. Amíg zajlik a mérés, addig lehet más csinálni, a kontroller nem várakozik a mérésre. Minimális sebesség 1 km/h. Ha gyorsabban mész, sűrűbben fogja kijelezni a sebességet. Majd meglátjuk, hogy az mennyire lesz jó vagy nem. Ahhoz érdemes még egy Timer-t indítani, hogy legrosszabb esetben se tudjon másodpercenként többször frissíteni, maximum kétszer.
Majd visszatérünk rá, ha aktuális lesz.
Nemmellesleg már ha a hálózati frekvenciát szeretnénk pontosan mérni, akkor is célszerűbb (periódus)időt mérni, pedig az 50 Hz = 20 ms. Nálad a periódusidő sokkal nagyobb.
Ezzel így most tökéletesen mér, igen gyors a reakcióidő is. Át gépeltem a sajátomba így a megértése is könyebb volt, legalább mostmár megtanultam, hogy hogyan kell bemenetre megszakítást generálni.
Ha jól látom, kevés neki az operációs rendszer.
A videokártya OpenGl-re panaszkodik, mint kiderült. De ha átállítom "software" módra az OpenGl-t, akkor a hiba nem jön elő, de a 2D Dashboard-on a komponensek nem látszódnak, csak a sziluett.
Milyen rendszeren akarod használni? Már a 7-es sem megy XP-n. Jól látom, hogy azon próbálod futtatni?
Win7, 32bit. Ha átállítom hardveres OpenGL-re, akkor hibaüzenetet dob, de működik minden. Felvettem a kapcsolatot a supporttal, azt javasolják, hagyjam figyelmen kívül a hibajelzést, ha működik a program.
A hozzászólás módosítva: Nov 15, 2021
Csak a befordításnál lehetnek majd gondok szerintem
Összeraktam egy programot. A szimulációban minden rendben, működik, de a valóságban a gombokra nem reagál semmit. Ha készítek egy nagyon egyszerű ON-OFF led kapcsolgató programot, akkor megy a gomb. Amit összeraktam programot, abban a gomb kezelés tök egyforma az ON-OFF led gombkezeléssel, viszont a valóságban mégsem megy. A Hardver jó, mivel az egyszerű ledes program működik. A "nagy" program viszont a szimulációban teljesen jól, és helyesen működik. Csak a valóságban nem...
Tudom, látatlanban nehéz bármit is mondani. Csak mint elmélet, -lennék rá kíváncsi - hogy van e valami alapvető gond, amit nem veszek észre. |
Bejelentkezés
Hirdetés |