Fórum témák
» Több friss téma |
A CCP Compare mode: Special Event Trigger üzemmódot nézegesd. Itt lehet periodikus IT-t csinálni (mivel ez automatikusan törli az adott timert, rendszeres időnként jön). A léptető impulzusnak csak egy rövid 5-10us kell, ezt lehet másik timerrel időzíteni.
Általános kérdésem lenne mindenkihez, aki úgy érzi, a pic-ek kezdeti problémáival bajlódik, és okos otthon vezérlési gondolatok végett teszi mindazt.
Azt forgatom a fejemben, hogy építek teljesen open hardware / open source alapon 32 bites pic-el automatizálási framework-öt mindenestül ledokumentálva és elektronikában / szoftvertechnikában kezdőkre optimalizálva (közérthető + tutorialok). DIY okos otthon automatizálási eszköz lenne handy barkács kivitelben, mint például az arduino brand. Aki úgy érzi, érinti a kérdés, egy jelzést kérnék tőle. Az elgondolás üzletileg még csak koncepció tervezési fázisban van, szóval egyenlőre még senki se örüljön túl korán, könnyen lehet, hogy végül semmi sem lesz belőle.
A nagy átfogás miatt nekem az exponenciális karakterisztika vált be.
Ez alacsony fordulatnál finomabb léptetést, magasnál fickósabb rámozdulást eredményezett.
Szép elképzelés, de!
Ami sikerre vitte az arduino-t, de csak döcög mellette a pinguino: támogatás és fejlesztőkörnyezet. Ami fut az egyiken, az nem fut a másikon, holott azt szeretné követni. De másik példa a Raspberry Pi és az Orange Pi esete - a terméktámogatás viszi a prímet az előző esetben, a másikon meg a rengeteg szívás miatt hiába a több erőforrás, periféria, olcsóbb ár, inkább lemondanak róla az emberek. Rengeteg munka egy ilyen elkészítése, hobbiprojektként lehet, hogy belebuksz. "Főállásként" meg ugye rengeteg tartalékot kell képezned, hogy meg tudj élni, míg ezzel ügyködsz. Ha eljutsz addig a fázisig, hogy tényleg meg is valósul (legalább elméleti szinten), akkor el kell kezdened szponzort keresned hozzá (kickstarter és társai), különben csak elmélet marad. Viszont mindaddig, míg a szoftveres háttértámogatás és a tudásbázis nincs meg hozzá, addig nehéz lesz sikerre vinni. Rengeteg, ismétlem, rengeteg! példaprogramot, útmutatást kell adnod hozzá, hogy népszerű lehessen. Emellett pedig azt se felejtsd el, hogy az ár is komoly kérdés. A pár dolláros arduino klónok mellett vajon mekkora keletje lenne egy ilyen eszköznek? S azok mind egytől egyig működnek az arduino kis fejlesztőkörnyezetecskéjével, hatalmas példatárat maguk mögött tudva... Én egy pár ilyen panelocskát "megkóstoltam" már, van egy arduino uno-m, egy tiva c-m, építettem pic18f4550-es pinguino-t, játszottam a naranccsal és a málnával is kicsit, így tapasztalatból beszélek, mikor azt mondom, NAGYON nagy fába akarod ezzel vágni a fejszéd.
Nemrég hallottam, hogy ilyesmivel egy magyar emberke már elindult és úgy tűnik, szépen halad vele. Különböző gyártók kütyüit integrálja össze egy közös platformra. Így nem kell elköteleződnöd egy gyártó rendszeréhez és a számodra szimpatikus/megfizethető rendszert tudod összehozni.
Őrájuk gondolsz? Vagy akárkire is gondolsz, mint fentebb @bbb megfogalmazta, elindulni, és célba is érni, az két nagyon külön történet. Ha van róla pontosabb híred, most hol tart az illető, egy linknek / bármi kontaktnak örülnék.
Cameleon -> Itt a fórumon kameleon2 néven.
Nem találtam linket a nick-re, jobb híján üzenetet küldtem neki a belső levelezőn. Ha még aktív felhasználó, talán olvasni fogja.
Felmértem én is, amit megfogalmaztál. Van viszont egy olyan szempont, hogy létezik-e a piaci érdek, ami finanszírozni is hajlandó? Ha igen, terméknek is léteznie _kell_. És az egész gordiuszi csomót azzal el is lehet nyiszálni.
üdv.
Modbus 485 RTU protokollt írom és CRC- check nek neten találtam egy kódot:
Az lenne a kérdésem hogy ebben a "data.length" az a teljes adatfolyam hossz CRC-vel együtt vagy CRC nélkül abba miket kell beleszámolni? A hozzászólás módosítva: Jan 9, 2018
Igen, én egy rádióriportból hallottam róla.
Egyéb hírem nincs róla, amúgy érdekesnek találom.
Szia!
A kód alapján az adathoz készít egy crc ellenörző összeget, amit az msb és lsb változókban fog eltárolni. Magyarul a hossz csak a "védeni" kívánt adat hossza, az ellenörző összeg nélkül.
Üdv!
Újra léptetőmotoros kérdésem lenne. Elindultam azon a vonalon, hogy a PWM modullal vezérlem a motort. Egyelőre úgy tűnik, hogy elég lesz a sebességnek a 8 bites felbontás. Kérdésem, hogy ebben a formában megoldható-e adott számú impulzus kiadása? Tehát tudom-e valahogy számolni az impulzusokat?
A timert lehet megszakításra állítani, ott tudod számolni. A PWM indítását/leállítását jól végig kell gondolni, hogy ne keletkezzenek "véletlen" tüskék.
Köszönöm én is erre a gondoltam csak nem voltam biztos.
Valami olyasmire gondoltam, hogy valamelyik timer bemenetére kötöm a STEP jeleket (PWM modul) és a beállított értéknél megszakítást ad, de nem találtam az adatlapban megfelelő konfigurációt.
A motor indítása: jelenleg egy újabb timer indul el, ami megszakításonként csökkenti PR2 értékét, amíg a beállított sebességértéket nem éri el, ezzel elérve a gyorsuló mozgást. A motor megállása még kidolgozás alatt van, szívesen fogadok tanácsokat. A hozzászólás módosítva: Jan 10, 2018
Az a timer (pl. TMR2), tud megszakítást generálni, amelyik a PWM alapja. Így minden impulzusnál megkapod az IT-t. Arra persze oda kell figyelni milyen impulzusok mehetnek ki a PWM megállításkor, de ez attól is függ pontosan melyik élre léptet a motorod, mekkora kitöltést használsz. A lassítás ugyan úgy megy mint a gyorsítás. Ha tudod a max. gyorsulást/lassítást, az aktuális és a cél pozíció adataiból tudod számolni mikor kell elkezdeni lassítani.
Sajnos másik megoldást kell keresnem. A leggyorsabb előforduló sebességnél 10us a periódusidő, emiatt kezdtem PWM modult használni, hogy ne kelljen ennyi időnként megszakítással foglalkozni. Nincs lehetőség egy timert számlálóként léptetni a PWM kimenet felfutó éleire?
Másik kérdés: Ebből a PWM kimenetből kettőre is szükségem van. Tudok eltérő frekvenciával járatni két PWM modult?
10us az 160 utasítás, asm-ben elég sok minden belefér. Nem tudom milyen motorvezérlőd van, tud-e ekkora sebességet, én még annak a 256 osztásnak is utána néznék, van-e értelme.
A timer tud számlálóként is működni, de azt is szoftverből kell majd ellenőrizgetni. Két PWM tud független lenni, ha más az időalapja (TMRx).
Szia!
Bár ilyet még nem csináltam, de elvileg ha timer 1-est külső órajel számlálására állítod be a bemenetére vissza tudod vezetni a PWM jelet. Így megszámlálhatod az impulzusokat, és csak timer 1 flag bitjére kell megszakítást kezdeményezned, ahol már az upper byteot számolod. Így csak akkor kell átválts direkt figyelésre, ha már közel a cél. Addig pedig a pic rengeteg más dologgal is tud foglalkozni.
A PWM időalapja valamelyik TIMER.
Sokkal egyszerűbb a TIMERT az igényeknek megfelelően beállítani és használni, mint a PWM kimeneti impulzusait számolgatni, feldogozni.
Hopp!
Ez engem is érdekel. Tehát, hogyan kell beállítani úgy a timert, hogy a PWM az indítást követően X mennyiség impulzus után magától leálljon?
Köszönöm a válaszokat, a PWM visszavezetésre a timer bemenetre jó ötletnek tűnik, elindulok ebbe az irányba.
ktamas66: A 256 mikrolépés még valóban kérdéses, lehet hogy elég lesz a 128 is. A motorvezérlő bírja ezt a sebességet, viszont a C-ben írt programom eléggé leterhelt volt, amikor ilyen megoldást használtam. Bell: Az elindulás és megállításkor alkalmazott gyorsítás és lassítás miatt nem lenne optimálisabb számolni az impulzusokat? Egyik megoldással sincs tapasztalatom, így a számolás tűnik optimálisabbnak.
A PWM-et a kitöltési tényező szabályozására találták ki, nem precíz időzítésekre.
Arra ott vannak az időzítők, a DDS. Próbálkozni persze bármivel lehet. Érdekel az eredmény.
Te is pontosan tudod, hogy sehogy.
Nem lenne értelme.
Srácok agyalgattam és nem vagyok biztos magamban, erősítsetek meg vagy cáfoljatok meg.
Akkumulátor mérést akarom pontosítani, ezért 1v-os referenciával dolgoznék, amelyet szintén az aksiról táplálnék. A gondom az, hogy ha 1v a referencia feszültségem, akkor ha a bemenetre 1v kerül, akkor az digitálisan (10bit-esn) 1024 lesz. Igaz? Ebben az esetben le kell osztanom (ellenállásosztóval) a bemenetre kerülő feszültséget úgy, hogy a maximum érték 1v legyen? Tehát ha mondjuk 5v-ot akarok rajta mérni, akkor az 5v-ra olyan osztót kell betennem ami maximum 1v-ot enged a bemenetre? Jól gondolom vagy ezt másként kell értelmezni? Előre is köszi.
1023 nem ?
0-1023 -ig 1024 lehetséges érték.
Így van..
ktamas66: köszi, én is erre gondoltam..
A páratlan timerek tudnak menni counter módban. Ezek felfelé számolnak, így ki kell számolnod hányat kell lépned a lassítási ciklusig, ez beírni úgy, hogy a túlcsorduláskor adjon IT-t, innen lassítani. Ha fix a gyorsítás/lassítás meg tudod adni hány lépés alatt áll le, vagy éri el a max sebességet. Nem biztos, hogy ezt egyesével kell csökkenteni. Arra is figyelni kell, hogy rövid mozgásoknál lehet el sem éri a max. sebességet.
A hozzászólás módosítva: Jan 11, 2018
|
Bejelentkezés
Hirdetés |