 |
Forumas » Elektronika žaliems » Programos ilgumas
|
Jūs negalite rašyti naujų pranešimų į šį forumą Jūs negalite atsakinėti į pranešimus šiame forume Jūs negalite redaguoti savo pranešimų šiame forume Jūs negalite ištrinti savo pranešimų šiame forume Jūs negalite dalyvauti apklausose šiame forume
|
|
|
 |
Programos ilgumas |
Parašytas: 2015 10 20, 10:29 |
|
|
|
|
| AlgisL rašo: |
4) ISR galima uzrasyti pliku ASM ir tada sanaudos prie 20kHz nesieks nei 0,5% |
asambleris tau neduos jokiu privalumu prie C
ir savo pavyzdi per daug "proitingai" uzrasei niekas nesupras kaip jis veikia |
|
|
|
|
|
 |
Programos ilgumas |
Parašytas: 2015 10 20, 10:34 |
|
|
|
|
| Digix rašo: |
| asambleris tau neduos jokiu privalumu prie C |
duos ir kazkur ~60%
| Digix rašo: |
ir savo pavyzdi per daug "proitingai" uzrasei niekas nesupras kaip jis veikia |
viskas ten paprasta kaip laikrodis.
du bitai is praeitos sesijos, du bitai is naujos, kas leidzia pasirinkti is 16-os inc/dec/fail variantu
is esmes tas pats ISR gali aptarnauti ir didesni kieki enkoderiu, ypac jei tai kokia MEGA, kur yra keli PCINTx_vect
masyvo reiksmes [0,1,2] galima uzrasyti ir int8_t [0,+1,-1], bet cia jau susidursime su c++ kompiliatoriaus ypatumais ir gali veikti nekorektiskai.
assembleriu (t-1) duotu Z,C veliaveles, kas gerokai paspartina c++ if() interpretacija |
|
|
|
|
|
 |
 |
Programos ilgumas |
Parašytas: 2015 10 20, 10:44 |
|
|
|
|
| Man tik įdomu tikslas viso šito? CNC staklėse su steperiais eksperimentų būdu nustatomas acceleration time, max speed ir decceleration time. O ką temos autorius darys pamatęs kad praleidinėja žingsius. Sakyčiau panaudojimas nebent derinimo metu. Atsimink tau reikia kad tavo Attiny2313 matytų step-dir signalus, enkoderio rezoliucija turi būti pakankama kad tikrai pamatyti žingsnį, bet tuo pačiu mcu turi spėti apdirbti enkoderio signalus prie didelio greičio. |
|
|
|
|
|
 |
 |
Programos ilgumas |
Parašytas: 2015 10 20, 10:48 |
|
|
|
|
| Digix rašo: |
| Socrates rašo: |
O siaip as tada rinkciausi mikrovaldikli su encoderio interfeisu  |
tai o koks CPU turi bent jau 3 arba daugiau enkoderiu interfeisus? |
Is pirmo pasitaikiusio STM32F4 serijos datasheeto:
| Kodas: |
| TIM2, TIM3, TIM4, TIM5 all have independent DMA request generation. They are capable of handling quadrature (incremental) encoder signals and the digital outputs from 1 to 4 hall-effect sensors. |
Kaip suprantu palaiko 4 encoderius. Gal ir zemesnes serijos STM32 palaiko tiek pat - netikrinau. Manau dar daugiau rastum variklio valdymui skirtuose mikrovaldikliuose, kaip kad TI Piccolo, tik kad turbut nebus ARM.
EDIT: va Piccolo variantas su trim dedikuotais peripheralais encoderiams:
http://www.ti.com/lit/ds/symlink/tms320f28075.pdf |
|
Paskutinį kartą redagavo Socrates, 2015 10 20, 10:53. Redaguota 1 kartą |
|
|
|
 |
 |
Programos ilgumas |
Parašytas: 2015 10 20, 10:48 |
|
|
|
|
| Naudojant maniski ISR varianta MEGA sugeba apdoroti iki 250kHz, ar tai maza? |
|
|
|
|
|
 |
Programos ilgumas |
Parašytas: 2015 10 20, 11:35 |
|
|
|
|
| Socrates rašo: |
Is pirmo pasitaikiusio STM32F4 serijos datasheeto:
| Kodas: |
| TIM2, TIM3, TIM4, TIM5 all have independent DMA request generation. They are capable of handling quadrature (incremental) encoder signals and the digital outputs from 1 to 4 hall-effect sensors. |
Kaip suprantu palaiko 4 encoderius. Gal ir zemesnes serijos STM32 palaiko tiek pat - netikrinau. Manau dar daugiau rastum variklio valdymui skirtuose mikrovaldikliuose, kaip kad TI Piccolo, tik kad turbut nebus ARM.
EDIT: va Piccolo variantas su trim dedikuotais peripheralais encoderiams:
http://www.ti.com/lit/ds/symlink/tms320f28075.pdf |
Tikrai, kazkaip pats nepastebejau.
STM32 103 ir 407 palaiko tiek pat .
Kiekvienas taimeris ten turi enkoderio interfeisa tai iseina ju pakankamai daug. |
|
|
|
|
|
 |
 |
Programos ilgumas |
Parašytas: 2015 10 20, 11:54 |
|
|
|
|
| Digix rašo: |
| Socrates rašo: |
Is pirmo pasitaikiusio STM32F4 serijos datasheeto:
| Kodas: |
| TIM2, TIM3, TIM4, TIM5 all have independent DMA request generation. They are capable of handling quadrature (incremental) encoder signals and the digital outputs from 1 to 4 hall-effect sensors. |
Kaip suprantu palaiko 4 encoderius. Gal ir zemesnes serijos STM32 palaiko tiek pat - netikrinau. Manau dar daugiau rastum variklio valdymui skirtuose mikrovaldikliuose, kaip kad TI Piccolo, tik kad turbut nebus ARM.
EDIT: va Piccolo variantas su trim dedikuotais peripheralais encoderiams:
http://www.ti.com/lit/ds/symlink/tms320f28075.pdf |
Tikrai, kazkaip pats nepastebejau.
STM32 103 ir 407 palaiko tiek pat .
Kiekvienas taimeris ten turi enkoderio interfeisa tai iseina ju pakankamai daug. |
Kad kaiptik ne kiekvienas. Mano duotam pavyzdyje taimeriu gal 12, bet encoderius palaiko tik 4. |
|
|
|
|
|
 |
 |
Programos ilgumas |
Parašytas: 2015 10 20, 11:59 |
|
|
|
|
TMS320F28075 neblogas zaisliukas, bet kaip ju nusipirkti Lietuvoje, jei neikas neveza, o gamykla neparduoda mazesnemis nei 1000vnt serijomis?
Be to, ka su juo veiks autorius, jei jam ir ATtiny2313 yra vos ne kosmosas? |
|
|
|
|
|
 |
Programos ilgumas |
Parašytas: 2015 10 20, 12:26 |
|
|
|
|
| AlgisL rašo: |
TMS320F28075 neblogas zaisliukas, bet kaip ju nusipirkti Lietuvoje, jei neikas neveza, o gamykla neparduoda mazesnemis nei 1000vnt serijomis?
Be to, ka su juo veiks autorius, jei jam ir ATtiny2313 yra vos ne kosmosas? |
Pirkt STM32 tada  |
|
|
|
|
|
 |
Programos ilgumas |
Parašytas: 2015 10 20, 12:50 |
|
|
|
|
| Socrates rašo: |
| Kad kaiptik ne kiekvienas. Mano duotam pavyzdyje taimeriu gal 12, bet encoderius palaiko tik 4. |
idomu, nes as ziurejau stm103 tai ten 8 taimeriai ir enkoderio fonkcija palaiko visi.
pasirodo kad 407 enkoderio funkcija turi 1-5,8 taimeriai tai isvis bus 6 enkoderiai |
|
|
|
|
|
 |
Programos ilgumas |
Parašytas: 2015 10 20, 12:54 |
|
|
|
|
| AlgisL rašo: |
| Naudojant maniski ISR varianta MEGA sugeba apdoroti iki 250kHz, ar tai maza? |
Išbandyta praktiškai ar tik teoriniai samprotavimai? Kitas klausimas ar tas ATMEGA tik enkoderio signalus nuskaito, ar ir daugiau kokių nors darbų atlieka? Be to nelabai įsivaizduoju ką veikti staklėse su 8 bitų enkoderio impulsų skaitliuku? Norint tiksliai žinoti padėtį reikia bent jau 16, o dar geriau 32 bitų skaitliuko. 8 bitai nebent rankenėlių sukiojimui nuskaityti tinka. |
|
|
|
|
|
 |
 |
Programos ilgumas |
Parašytas: 2015 10 20, 13:40 |
|
|
|
|
| gintaras_bar rašo: |
| AlgisL rašo: |
| Naudojant maniski ISR varianta MEGA sugeba apdoroti iki 250kHz, ar tai maza? |
Išbandyta praktiškai ar tik teoriniai samprotavimai? Kitas klausimas ar tas ATMEGA tik enkoderio signalus nuskaito, ar ir daugiau kokių nors darbų atlieka? Be to nelabai įsivaizduoju ką veikti staklėse su 8 bitų enkoderio impulsų skaitliuku? Norint tiksliai žinoti padėtį reikia bent jau 16, o dar geriau 32 bitų skaitliuko. 8 bitai nebent rankenėlių sukiojimui nuskaityti tinka. |
testa dariau su Proteus 8, bet tai ne esme, be to jei duotam pavyzdyje naudojamas int16_t, tai mano teste buvo naudojamas uint32_t ir pavezdavo kurkas daugiau nei 250kHz, aisku, uCU usage prie 500kHz jau sieke 97% |
|
|
|
|
|
 |
 |
Programos ilgumas |
Parašytas: 2015 10 20, 14:17 |
|
|
|
|
| AlgisL rašo: |
| testa dariau su Proteus 8, bet tai ne esme |
Būtent čia ir esmė! Va kai sulituosi, išsibandysi ant geležies praktiškai, tada ir švaistykis kilohercais. Mano patirtis sako, kad be papildomos logikos realiam projekte, su 32 bitų kintamaisiais iš ATMEGA galima "išspausti" ne daugiau 50kHz signalo apdorojimą. Vėliau jau prasideda indikacijos atnaujinimo sutrikimai, praleisti impulsai, RS232 nusimušimas ir t.t. Įėjimo signalą papildomai apdorojant su D trigeriu ir X-OR elementais, jau galima su signalu iki 500kHz dirbti, bet ir tai skaitliukas dar nenusimuša, bet indikacijos atnaujinimas labai negražus. Ir tai ko gero yra ATMEGA praktinio panaudojimo riba, nes dar daugiau keliant įėjimo dažnį, veiks tik impulsų skaičiavimas, be jokio tolimesnio to skaičiaus panaudojimo. |
|
|
|
|
|
 |
 |
Programos ilgumas |
Parašytas: 2015 10 20, 14:34 |
|
|
|
|
Asmeniskai as isvis abejoju ar reikes autoriui tu 500kHz (kalba ejo kazkur apie 20kHz) ir aplamai sunku suprasti kam autoriui ta nesamone, kai realiai uztenka nurodyti teisingus greitejimo/letejimo ir max step parametrus.
Mintis naudoti STM32 nebloga, bet cia tiems, kas jau juose bent biskutis graibosi, o ne siulyti jam parasyti visa programa uz N+M kEU, kai jis nori pats patirti visas pradedanciojo programuotojo lomkes. |
|
|
|
|
|
 |
Programos ilgumas |
Parašytas: 2015 10 21, 08:52 |
|
|
|
|
žiūriu, be manęs diskusiją išplėtojot, kaip "daug maž" kažka išbursiu reikės imesti kodą,galėsit patikrinti  |
|
|
|
|
|
|
 |
Google paieška forume |
|
|
 |
Naujos temos forume |
|
 |
FS25 Tractors
Farming Simulator 25 Mods,
FS25 Maps,
FS25 Trucks |
 |
ETS2 Mods
ETS2 Trucks,
ETS2 Bus,
Euro Truck Simulator 2 Mods
|
 |
FS22 Tractors
Farming Simulator 22 Mods,
FS22 Maps,
FS25 Mods |
 |
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija |
 |
FS25 Mods
FS25 Maps,
FS25 Cheats,
FS25 Install Mods |
 |
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps |
 |
ATS Trailers
American Truck Simulator Mods,
ATS Trucks,
ATS Maps |
 |
RDR2 Mods
Euro Truck Simulator 2 Mods,
WOT Mods,
RDR2 Maps |
|