Fórum témák
» Több friss téma |
Rossz volt a kérdés.
Arra rájöttem, hogy alapból nem ismer, csak reménykedtem más is tud-e másik megoldást. Sajnos a szorzás nem megy mert 1millióig kellene fel szororozni. Ugye 65565 ig lehet max...
Mire a project?
Milyen szorzásról lenne szó? És hova kellene a kapott érték stb... ? Lehet talán tudunk segíteni.
Kedves Piccesek!
A picre (877)-re 4*4-es mátrix billentyűt kellene tenni , hogyan lehet ?Az értékeit eepromba hogyan lehetne tárolni?
Gyújtás vezérlőre volt egy ötletem.
Elvi szinten működik, csak kicsik a számok, ezért fel kellene szorozni, hogy ne legyen sok tizedes, de akkor átlépem a 65565ös határt. Példa: max fordulatnál 8000 1/min esetén 7.xxx ms alatt fordul kettőt. És 0.00xxx ms valamennyi a 12fok. Ez le kellene vonni a 7.xxx ms ból. Ezt kellene kiküldeni gyújtási időnek a 1 henger jeladójától számítva.(és külön külön minden hengerre.) Mivel tizedessel nem tudok számolni fel kellene szorozni, hogy pontosan számoljon, és vissza osztani. Közben a légnyomás mérőtől jövő ellenállás értéket(ADC modulban) figyelembe véve kellene az előgyújtást meghatározni. Szóval az elvi ábra megvan, de a számításokat nem lehet parsicban meghatározni. Ehhez az órajel kellene időmeghatározásnak és azzal számolni. Szóval ez a projekt feladva parsciban. Marad a natúr óracsoport, ami programban kész, csak a hardver kell. Külön külön mindegyik része jó, hál istennek.
Pfu na ez nekem már magas. Meg a motorokhoz sem értek annyira.
Ha leírod nekem pontosan egy példával, hogy milyen értéket mivel kén osztani szorozni csak nem lehet mert átlépi a maxot, akkor arra a számításra talán kifundálok valamit, ha valahogy lehetséges és nem kell a nagy pontosság. Ha nagyon muszály akkor vegyél 24 vagy 32 bites PIC-t. pl 65565*0,0086-ot is meglehet oldani úgy, hogy 10 000/86=116,27xxxx 65565/1162=56,4xxx 56,4xxx*10=564,xxx tehát ebbe az esetben a kapott eredmény számológépen kiszámolva 563,859 de ha nem kell annyira a pontosság akkor 16 bites PIC-el kilehet számolni 564-re
Köszi hogy segíteni akarsz.
Közben számolgattam én is több értéket. Aztán rájöttem sajnos nem jön össze semmiképp. 6,5 és 70,xx ms közti értékkel kel számolni. Hiába szorzom fel, ha a kimeneten pl 7.14ms nak is kell lennie. Ezt csak órajelből lehet kiszámoltatni. Szóval vagy belebonyolódok a c nyelvbe, vagy elfelejthetem. Ettől még a parsic-cal nagyon sok mindent meg tudok majd oldani. Hál istennek az alap, ami az óracsoport volt, működik a parsic-cal megoldva. Viszont nagyon jó lenne egy pic c nyelvről magyar leírás. Néztem másik topicot. Ez már oda tartozik. Viszont biztos, hogy rendszeres vendég maradok itt.
Rajzból a D.0-D.3 ig kimenet ezeket sorba futtatod egy számlálóval. (20-50ms)
A D.4-D.7 ezek bemenetek. a kimenet futtató számláló és az éppen lenyomott gomb kereszteződésekor fellépó bemenet állapota lesz az aktuális nyomógomb érték. A lenyomás tényét összehasonlító modullal figyelheted. Ha 0-nál nagyobb valami...stb... A gyakorlati nulla az valójában 16 lesz. Folytasd...! Számláló, one-shot,BV,(egy bem.) és Mx...stb
Köszönöm dcsabi a segítségedet, kipróbálom!
Az eepromba hogy hogyan rögzítem , majd próbálkozom. Mégegyszer köszönöm neked!
Tettem (tettünk) fel példát már az elején a topicnak...
Keress utána, az Eeprom-os példáim közt...
Sziasztok! Ha UART modullal küldök át decimális formátumban számokat a pc-re, akkor azt milyen progival lehet a PC-n decimális formátumban elmenteni egy fájlba? Jelenleg addig jutottam, hogy RealTerm nevü progival el tudom menteni, de csak ASCII formátumban. Mi a megoldás erre?
Sziasztok
Olvastam korábban ezt a kis progit. Összeütöttem ide valamit, a kérdéscsak az hogy müködne-e? Légyszi segitsetek, a programozás messze áll tölem de meg kellene tanulnom, és tudom, innen hiányoznak dolgok, csak nem tudom mik. Légyszi valaki nézze át és adjon tanacsot. Kösz
Üdv! Szerintem a Docklight nevű pogival meg tudod oldani! Én is ezt használom, igaz nem pichez. Ill olyat csináltam már, hogy pic mérte a hőmérsékletet, és percenként küldte a Docklightnak és az mentette!
Köszi, megpróbálom. Ez egy gyorsulásmérő lesz, eltárolja az értékeket memóriába, és később át lehet tölteni PC-re. Ha a PC-n már be tudnám másolni az adatokat Excelbe, az már elég lenne.
Valaki kellene nekem segítsen, nem tudom a progiban hol és hogyan kell megdefiniálni a ki és a bemeneteket, valaki kellene segítsen nekem, és jól jönne ha valaki átnézné a progimat, hogy tudjam érdemes-e nekiállanom vásárolni az alkatrészeket.
Próbáltam, tényleg jó, kimenti fájlba több formátumban is. Pont ilyen kellett.
Azt, hogy egy láb kimenet vagy bemenet lesz, azt nem kell külön beállítani, azt a program állítja be, attól függően, hogy hova írod be a számát. A neve lehet RA.0-RA.7 RB.0-RB.7 RC.0-RC.7 RD.0-RD.7 és így tovább... De mindenképp nézd meg a PIC adatlapját, hogy milyen portjai vannak.
Néztem a progidat, van egy-két hiba benne. Ahol a kijelző villog, ott egyszerre írja két LCD-OUT modul. PL: Az üzemanyagszint és a % közötti szóközök törlik ki a másik LCD-OUT által írt értéket azért villog. A többinél is így van. 8 bites analóg bemenetet ne köss 16 bites modulra, mert fordításkor hibára megy, mert a felső bájt nincs definiálva. Ha fordításkor nincs hiba, nagy valószínüséggel működni is fog.
És az analóg bemeneteket sem ADAT0 - ADAT1 nek nevezud Hanem ADC0 ADC1 stb
Kösz az infót, igen az analóg modul 8 bites elkurnyiszolása az én figyelmetlenségem, de semmi ötletem sincs hogyan tudjam megoldani a villogás problémáját, azzal régóta próbálkozok, de semmi ötletem a megvalósítására ha sikerül ez lessz az első programom .
Kis segitséget kérnék azzal a villogással kapcsolatban.
Amúgy a számlálók RV bemeneteit id illik gnd -re "kötni "
a programban ha nem használjuk
Helló. A programfutás elején ottvan egy LCD-re küldő adat, ami törli a 3. sor karaktereit. Ez eddig rendben van, de amikor mutatja az értékeket (a hőt, stb), akkor az a harmadik sor, amit az elején töröltél, még mindig törli a harmadik sort, és közbe iratod ki rá a karaktereket. Ezért csak akkor kell engedi a törlést amikor szükség van rá. Ezt egy AND kapuval oldottam meg, amikor szükség van rá törli, de amikor már fut a program (mutatja a hőt, az értékeket) akkor már ne törüljön.
Mellékletben a villogás kijavítva. Ha csak annyi ennek az egész projektnek a lényege, hogy a három értéket kiírja a kijelzőre, akkor azt sokkal egyszerűbben is meg lehetne oldani.
Ez jó, te kijavítottad a 4. sor villogását, én meg az első 3 sort Mondja valaki, hogy nem beszéltünk össze.
Srácok köszi a segítségeteket, a tanácsoktokat, most már csak az árramkört kell megépítenem, a picet megírnom, s jöhet a hajrá hogy lássuk müködik-e vagy sem.
Egyszerübb megírás is létezik az 100% de én nem vágom annyira a témat, hogy most egynegyedére legyürjem a progit. Természetesen a helo meg a szaladgáló csillagokat ki lehet hagyni, de az vot az első mit sikerült életre keltenem , s így bennehagytam. Szégyenlem, hogy ilyen amatőr szinten vagyok, de próbálkozok.
Ja és egy pic 16F 877 est választottam. Az én amatőr szintemhez jó nagy, és a késöbbiekben jódarabig nem kell váltanom, mert eléggé nagy programot kell majd írnom ahoz, hogy kinőjem a srácot.
16F876A is jó, mert kisebb a tokja mint a 877-nek, (28lábú), de memóriaméretileg egyformák.
Sziasztok fórumozók!
Szeretnék építeni egy léptetőmotor vezérlőt. Pontosabban már meg is építettem de a programom nem igazán akar működni. Egy szelepet működtetne, mindig a beállított értékre nyitná, ill. zárná. Amíg forog a motor jól működik de mikor a beállított értéknél meg kellene állnia össze vissza ugrál ahogy az impulzusadó megy a PIC-be. Miért csinálja? Lent a rajz.
Helló. Lehet én nem veszek észre közte különbséget, vagy tényleg nincs is közte, de akkor miért működik az egyik, a másik meg nem?
A "beállított érték " potival állítódik ? Próbáld meg az adc helyett egy számláló értékét mondjuk nyomógombbal léptetve megoldani a beállítást . Szerintem azért ugrál
mert nincs hiszterézis és az adc értéke nem stabil .
Köszi igazad volt.
Jobban megszűrtem a tápot és jó lett. |
Bejelentkezés
Hirdetés |