Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
PCinterruptot minden lábra lehat tenni. Nem csak a 2-es és 3-as lábra. Ennél éppen az a lényeg.
Bővebben: Link
A kép alapján tudod kiválasztani azokat a lábakat, amikre kéred a megszakítást. A 2-es éd a 3-as láb az a PCINT18-as és a PCINT19-es láb. Erre kell átírnod a regisztert. A PCICR regiszterrel a portbankot kell kiválasztani. De az jelen esetben nem módosult. A hozzászólás módosítva: Szept 6, 2020
Rendben. És a regisztrelt hogyan tudom átírni? Azaz hogyan találom ki, hogy mi legyen?
" PCMSK2 = 0b00110000; " PCMSK2 akkor a PCINT21 volt, de nem értem hogyan jött ki a "0b00110000" Ez mit takar pontosan, mi az a portbank? "A PCICR regiszterrel a portbankot kell kiválasztani. De az jelen esetben nem módosult."
PCMSK2 = 0b00110000 helyett PCMSK2 = 0b00001100. A kép alapján, amit linkeltem.
Az Atmega lábai 8-as csoportokba vannak rendezve. Egy ilyen 8-as csoport neve portbank. A portbankokat betűvel jelölik. A, B, C, D, stb. Például a PD7-es láb az a PortbankD 7-es lába.
Köszönöm így már működik, habár a bináris értéket továbbra sem értem honnan jött ki.
A müködésben van egy kis hiba, a soros monitor eredménye: 22:01:19.246 -> 45 22:01:19.279 -> 44 22:01:19.279 -> 43 22:01:19.279 -> 42 22:01:19.279 -> 41 22:01:19.279 -> 40 22:01:19.279 -> 39 22:01:19.313 -> 39 22:01:19.313 -> 41 22:01:19.313 -> 40 22:01:19.313 -> 37 22:01:19.313 -> 36 22:01:19.313 -> 34 22:01:19.347 -> 35 22:01:19.347 -> 34 22:01:19.380 -> 33 22:01:19.448 -> 30 22:01:19.448 -> 27 22:01:19.448 -> 26 Idézet: „Köszönöm így már működik, habár a bináris értéket továbbra sem értem honnan jött ki.” Ha megnézed az előbbiekben linkelt képet az adatlapból, akkor láthatod, hogy a PCINT18 és 19 van magasra téve, a többi nullára. A példaprogramban a 20 és a 21 volt aktív. Az enkóder lábán van szűrő kondi? Én ugyanezt a kódot használom, és tökéletes. A hozzászólás módosítva: Szept 7, 2020
Igen, 47nF-al nem volt jó össze-vissza ugrált. Kapott 100nF-ot javult a helyzet, de továbbra sem tökéletes: (illetve több tekelésre lép 1-et, vagy van amikor többet, de olyat nem is lehetne, nem?)
10:37:41.042 -> 1 10:37:41.785 -> 2 10:37:42.156 -> 3 10:37:42.427 -> 4 10:37:43.170 -> 5 10:37:43.711 -> 6 10:37:44.047 -> 7 10:37:44.483 -> 8 10:37:44.650 -> 9 10:37:46.673 -> 10 10:37:46.673 -> 11 10:37:48.766 -> 12 10:37:48.834 -> 13 10:37:48.935 -> 14 10:37:49.070 -> 15 10:37:49.070 -> 18 10:37:49.070 -> 19
Bocs, félreértettem. Úgy értettem, hogy az 5V pin-en keresztül akarja táplálni erősebb táppal. A tápcsatlakozó más téma
A mechanikus enkóderek, különösen az olcsó változatok ilyenek, ezzel nem nagyon lehet mit kezdeni, hacsak nem masszívabb pergésmentesítést használsz. Itt, és tovább: Bővebben: Link.
Lehetne javítani a helyzeten, ha az ISR elején egy kis delayMicroseconds() lenne. De olyant leírni, hogy a megszakítás így kezdődjön, azt nem merem. Talán bannolnák az IP-met is.
Idézet: „Talán bannolnák az IP-met is.” Az biztos! Kitiltanának a galaxisból is!
És még jól járna, hogy ilyen olcsón megúszta ...
Akkor nincs mit tenni, semmire nem jó az az encoder. Akkor amit encoderrel akartam megoldani inkább megoldo egy potivel, és annak a jelét dolgozom fel.
Esetleg van valami olyan forrás, ahonnan nem egy vagyon egy normális encoder? Lehet kipróbálnám. A HESTORE-os is ugyanolyannak néz ki, mint az enyém: Bővebben: Link A hozzászólás módosítva: Szept 7, 2020
Ilyen az, amikor valaki a pokoli operátor naplóján nevelkedik. Az egyik a bankban, a PIN kód megadásánál azon morog, hogy minek ennyi gomb, neki csak 0 és 1 kell, a másik meg követeli az A, B, C, D, E, F gombokat. Akiket a feleség leküld egy kefirért és 10 tojásért a boltba, hazamegy 10 kefirrel és megmagyarázza.
Nálam ez stabilan megy filléres enkóderrel. Több példányt is használtam már ezzel a kóddal. Talán szerencsém volt?
Az Alps márkájúak elvileg jók, bár már ezt is félek kijelenteni, utalva a linkelt fórumtémára.
Delay nélkül is lehet szoftveres pergésmentesítést végezni. Nekem is jól működnek az olcsó enkóderek.
Lehetséges. Honnan rendelted? Egy linket légy szíves küldj.
Nekem KY-40-es encoderem van. Akkor ez lehet semmire sem jóBővebben: Link
Nem tudom, de én amikor vettem, ennél olcsóbbat nem találtam.
Köszi!
Nem kell más, mint az A-C és a B-C közé egy 47nF, és megy vele, ugye? A KY-40-nél az A és a C felvan húzva +5V-ra.
Az én enkóderemen nincsen felhúzó ellenállás. Az MCU belső felhúzó ellenállását használom. Nálad az enkóder kis nyákján van 10k, plusz még az MCU belső felhúzója is. Ez egy nagyságrenddel kisebb az esetedben, mint nálam. Könnyen lehet, hogy növelheted a szűrő kondit bátran 100 nF fölé is. Nálam a belső felhúzóval 47 és 100 nF körül jó.
Köszönöm a segítséget!
A könyvtárakat telepítettem, csak ezekkel a dupla jelölések zavartak meg. Tehát ahol két funkció van megadva, abból egyiket használhatom, de a másikat szabadon kell hagyni. Az SWC, SWD lábak használhatók valamire, ha a soros programozást választom? A hozzászólás módosítva: Szept 7, 2020
Köszönöm a segítséget, a hasznos infókat!
Nem. Ott a PCINT, az osszes lab fel/lefuto elre megszakitaskepes....
Belso felhuzo 80...120k. Ne hasznald onalloan! Kulso 4k7..10k kellene...
Üdv. Mindenkinek!
Arduino nyelvben keresek egy olyan utasítást amivel az ATMEGA 2560-nál különböző digitális pineket lehet byte -be foglalni és úgy hivatkozni rá. Valahol láttam a leírást de sajnos sehol nem találom. Esetleg valaki tudna egy olyan leírásról, ahol az arduino utasítások, parancsok stb. fel vannak sorolva (esetleg magyar nyelven)? A hozzászólás módosítva: Szept 11, 2020
|
Bejelentkezés
Hirdetés |