Hirdetés
-
Toyota Corolla Touring Sport 2.0 teszt és az autóipar
lo Némi autóipari kitekintés után egy középkategóriás autót mutatok be, ami az észszerűség műhelyében készül.
-
Nem bírják kiszolgálni az AI energiaigényét
it Az amerikai elektromos hálózat nem bővül elég gyorsan ahhoz, hogy az AI nagy energiaigényét kiszolgálja.
-
Ízlésesre sikerült a Galax alacsony profilú GeForce RTX VGA-ja
ph A hónap végén a felkelő nap országában debütáló, AD107 lapkára épülő modell talán az európai piacra is megérkezik.
-
Mobilarena
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
_q
addikt
válasz Teasüti #9351 üzenetére
Most jutottam oda, hogy talán kész a schematic az egyik panelhez. Programozáshoz +5/3.3 V regulátor függően, GND, UART0 RX, és TX pin-re van szükség nem? Nálad ahogy nézem több minden is be van kötve. Pl kék, fehér vezetékek amiket látok pin-ek szerint. Uart pineket viszont nem látom.
Lehet te más miatt kötötted be azokat a bizonyos vezetékeket? Ha csak programozni szeretném külsőleg, akkor Vcc, GND és az UART0 RX, TX pineket kell csak csatlakoztatni egy olyannal mint amit te használsz panel vagy egy [link] CP2102 USB TTL modullal?
-
Teasüti
nagyúr
RX, TX, IO0, EN, Vcc, GND.
Már ha kell az auto download. Kézi reset esetén az EN és IO0-ra nyomógomb kerül ugye.Igen, nálam még van itt egy kis extra - bár nem hiszem, hogy látszik a képen. UART0-ra csatlakozik ugyanis a gps modul is majd normál üzemmódban. (Majd idővel ha eljutok odáig, akkor kikísérletezek egy bluetooth programfeltöltést a gps modulon keresztül. Az úgy sokkal kényelmesebb lesz, mint vezetékezni állandóan.)
[ Szerkesztve ]
-
Teasüti
nagyúr
Nem kell tranzisztor, ezért vettem programozót. Azon rajta van minden kiegészítő áramkör, ami egy devkit-en is rajta van. Viszont akkor kell rá tervezned legalább egy mikrokapcsolót az IO0-ra (de inkább még egyet az EN lábra a reset-hez, különben kapcsolgathatod a tápot), különben gyakorlatilag nem fogod tudni download módba tenni.
[ Szerkesztve ]
-
_q
addikt
válasz Teasüti #9409 üzenetére
A te esetedben megoldható a programozóval, nekem nincs csak a linkelt CP2102-es USB TTL átalakító, ha ezt használom, akkor kellene mert azon nincs tranzisztor. Egyébként BOOT és RESET gomb ugyan úgy lesz mint egy dev modulnál, mindent ugyan úgy csinálok csak lehagyom róla a CP2102-es IC-t és a tranzisztoros automata programozó részét.
[ Szerkesztve ]
-
llacee
őstag
Sziasztok! Ebay-en tudnátok wemos d1 mini vagy nodemcu-hoz javasolni valami jó kis kínai 230v/microusb adaptert? Köszönöm!
-
// Chaka //
tag
A kínai mérnököknek néha sajátos fogalmaik vannak az érintésvédelemről vagy a hőre méretezésről. Ha van olyan választási lehetőséged, szerintem inkább egy levitézlett (Európában forgalmazott) mobiltelefon töltőjét válaszd.
Több ezer telefonszámot tudok fejből, csak azt nem tudom, hogy melyik kié.
-
llacee
őstag
válasz // Chaka // #9412 üzenetére
Köszönöm, csak itt régebben olvastam, hogy az intelligens telefon töltők akár 12V-ot is képesek kiadni magukból, és a fene tudja melyik "intelligens"...
-
llacee
őstag
Koszonom, egy Nokia630 tolojevel hibatlanul mukodik a NodeMcu.Akkor ha jol ertem a gyors tolto akkor emel feszt, ha kap ra jelet, igy barmelyik jo lehet...
-
Attix70
aktív tag
A Nokia töltők nem stabilabbak (Kivéve amin USB aljzat van meg az USB-C kábeles. Ezek nagyon jók). Nem a kimenő feszültség van visszacsatolva hanem a trafón található segédtekercs feszültségét figyeli. Nem ajánlom semmilyen célra használni.
Próbáljuk meg a mondatokat NAGYbetűvel kezdeni
-
ecaddsell
aktív tag
Van valakinek jól működő prellmentesítő rutinja?
A jelgenerátoros projektemben eljutottam oda, hogy KY-040-el lehetne szabályozni a frekvenciát.
Ehhez ESP32-vel az egyik PCNT unit 0. csatornáját használom. Az encoder CLK-ja megy ctrl_gpio_num-ra a DT meg pulse_gpio_num-ra (vagy fordítva, elég sok kombinációt próbáltam).
A szuper ebben a dologban az lenne, hogy a számláló szépen számlálgat a háttérben a program másik része meg 1-2ms-onként ránéz, és ha van valami (0-tól eltér), akkor változtatja a frekvenciát (ill. alapállapotba teszi a számlálót).
A prellmentesítésre gondoltam jó lesz, ha valamit beállítok a pcnt_set_filter_value hívásnál.
Aztán rádöbbentem, hogy a filter csak 10 bites (0-1023) és mivel ABP clock-ban mér (80MHz) a max az kb. 12.5us. Ami édeskevés prellmentesítésre...
(Ugyanígy akartam használni a nyomogatás részét is, szóval a SW egy másik unitra ment volna).Ami kül. bosszantó, hogy a PCNT rém egyszerű megoldás lett volna, majdnem mindent a HW csinál, a felprogramozás után.
Sajnos a forgatásnál is hibázik (néha a másik irányba ugrik) az SW nyomogató meg totál használhatatlan, mert 0-5 között kellene állítható legyen (ez lenne az encoder frekvencia lépésköze), de egyszer megnyomva a kapott eredmény szinte egy 0-5 közötti véletlen szám.
Elkezdtem nézni az irodalmat.
Talán ez a legjobb leírás:
https://www.best-microcontroller-projects.com/rotary-encoder.htmlVégül-is az állapotugrásos megoldás megoldható (persze ehhez teljesen dobni kell a PCNT-s totál egyszerű megoldást), de így nem lehet megoldani a gombnyomós részét (SW).
Ott arra gondoltam, hogy az első él után (interrupt) egy ideig nem lenne nézve a gomb (interrupt tilt). Viszont azt is olvastam, hogy a forgatásnál is képes lehet 1 nagyon rövid SW impulzust generálni, szóval jobb lenne azt nézni, hogy mennyi időt tölt el H ill. L szinten. Viszont ez meg amellett, hogy nem egyszerű, nyomogatásnál tolni fogja a megszakításokat és az időmérés meg extra logika miatt az időt is rendesen viszi.
A furcsa az egészben, hogy a fórumok tele vannak ezzel a problémával és megoldási ötletekkel (van aki a HW-es kondist nyomja,van aki a SW-re esküszik én is jobban kedvelném ezt) de jó megoldást még nem láttam.
A legbosszantóbb persze, hogy a 10 bites PCNT filter totál meg tönkre vágja azt amit egyébként tudhatna a HW...
Na most jól kibosszankodtam magam. -
ecaddsell
aktív tag
válasz ecaddsell #9425 üzenetére
Aktuális ötletem prellmentesítésre:
Külön threadben (thread nem gond, frekvenciát is így mérem) X millisec-enként beolvasom a pint. Gombra X mondjuk 5ms.
Ha változott (L lett) akkor Y microsec-enként megmintavételezem (Y microsec-enként beolvasom Z alkalommal). Gombra Y mondjuk 100us, Z mondjuk 20 alkalom. Ha a Z alkalomból W alkalommal tartja a változást akkor elfogadom. Tehát 20-ból mondjuk legalább 6 szor (W) L akkor meg lett nyomva a gomb (Az encoder forgatásnál keletkező nagyon rövid virtuális nyomást ez szűri.)Ez után pedig egy hosszabb várakozást (csendes időszak) után (mondjuk 200-500ms) újraindul az egész.
Gombra ezt elég biztosra lehet hangolni (sőt ebben az esetben külön előny, hogy tartva magától lép, nem kell több lépéshez extra nyomogatni), a rotary részre meg vsz. marad az állapotváltozás figyelés...
Persze, ha valakinek van jobb ötlete szívesen olvasnám
-
ecaddsell
aktív tag
Bár lehet jó eséllyel meg tudnám csinálni (legalábbis az esetek egy részére), de ez nem annyira triviális mert a kondi a jelalakot is torzítja.
Szóval méretezni kell zavaró és kívánatos jeltől függően stb. A zavaró jel meg gombtól, öregedéstől stb. is függhet (meg encodernél forgatás sebessége miegymás).
A SW-ben 1 változót sokkal gyorsabban változtatok mint a kondit újraforrasztom.Példának okáért gyorsan összedobtam a gomb kódját a lenti logikának (mivel most per pill. még fordítani sem tudom, szóval lehet nemcsak hibás is, hanem esélyes, hogy már a fordító sem eszi meg), nekem ez sokkal gyorsabb mint forrasztgatni, tárolós szkópon nézegetni a lehetséges hibákat stb.
(Alsó rész init-be megy, meg GPIO-t változókat stb. be kell állítani).
#include <pthread.h>
#define ROTE_SW GPIO_NUM_xx
#define RENC1_STPLIM 6
typedef struct {
gpio_num_t swpin;
uint16_t step;
} roteswT;
roteswT rote1par;
pthread_t rotethrdsw1;
void* roteswbgrd(void* pars){
roteswT* swpar = (roteswT*) pars; // switch parameters
gpio_num_t swbut = swpar->swpin;
uint32_t bcount;
while (1){
if(digitalRead(swbut) == LOW)
{
bcount = 0;
for(int i=0; i<20; i++){
delayMicroseconds(100);
if(digitalRead(swbut) == LOW) bcount++;
}
if(bcount>=6){
swpar->step = (swpar->step +1) % RENC1_STPLIM;
delay (300);
}
}
delay (5); // could pthread_cond_wait() for interrupt from pin
}
} // roteswbgrd
pinMode(ROTE_SW, INPUT);
rote1par.swpin = ROTE_SW;
rote1par.step = 0;
pthread_create(&rotethrdsw1, NULL, roteswbgrd, (void*) &rote1par);Az encoder számláló része persze kicsit húzósabb és ami dühítő, hogy a HW akár tudhatná is (nagyon közel van hozzá)...
-
nagyúr
válasz ecaddsell #9428 üzenetére
Este küldök egy saját bebounce kódot, amit a smart car-omhoz írtam, speed encoderhez írtam és uno/mega board-ra, de rotary-hoz simán át lehet írni. Sokat kísérleteztem a megoldással, szerintem elég jó lett.
Az a lényege egyébként, hogy nem csak azt figyeli, hogy a pergés abbamaradt-e, hanem csak akkor ugrik a számláló, ha az előző állapothoz képest ellentétes állapotban van az optokapu. Lassú forgatásnál ha úgy áll meg a kerék, hogy nem takarja teljesen a LED-et, simán képes álló helyzetben is prellegni.[ Szerkesztve ]
-
ecaddsell
aktív tag
Nem kérdés, sok mindent tudok írni ld lentebb. A kérdés az volt, kinek milyen bevált módszere van készen.
Meg ugye az sem mindegy hogy 5 SPI cucc vezérlése (többek közt TFT kijelző), meg AD bemenet (jelszint mérő), meg frekimérő meg 2 rotary encoder meg stb. stb. mellett pont az integrátor+hiszterézises komparátor (klasszikus HW megoldás) a legjobb módszer (egyszerűségben, gyorsaságban), ha meg akarom őrizni az interaktivitást ill. a kód átláthatóságát.
(OK, kicsit bonyolultabb lett ez a hobbi project mint eredetileg indult, de evés közben jön meg az étvágy...)
Nekem pl. a megengedett állapotváltozás nézése sokkal egyszerűbbnek tűnik. -
tvamos
nagyúr
válasz ecaddsell #9431 üzenetére
Azt írtam le, amit én használok.
Amit írsz, azt nem értem. Az a második mondat olyan... se füle, se farka.
Nekem ez a megoldás tűnik egyszerűnek, a tiéd meg bonyolultnak. De mások vagyunk ugye... szerencsére![ Szerkesztve ]
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
-
ecaddsell
aktív tag
Jelenleg 160x128 színes TFT (Bangood, 6 USD alatt), de már tervezem, hogy áttérek 320x240-re, mert egyre csak hízik ez a projekt aztán mindig kicsi a kijelző...
tvamos
Nincs időm arra, hogy mindenkinek mindent részleteiben elmagyarázzak. Vsz. elég jól leírtam a problémát meg az ötletet is, sőt adtam kódot is. Ennyi mindent meg kell magyarázzon.
A kód amit lent leírtam nem mellékesen (most próbáltam ki öt perce) nemcsak hibátlanul fordult, hanem hibátlanul is fut (csak a az encoder nyomógombjára). Nem tudom ki hogy van vele, de nekem nem mindig megy elsőre...
Amit meg kell oldjak még az a számláló. -
_q
addikt
válasz ecaddsell #9434 üzenetére
Ja akkor az még mindig kicsi. Én nagyot kerestem, 3.5 colosat vagy 4 colosat végül 3.5 colosat találtam. Sajnos a betekintési szöggel vannak bajok, szerencsére projekt szempontjából meg tudom oldani, hogy ne legyen ez hátrány, de azért nem egy laptop/monitor szintű sajnos.
[ Szerkesztve ]
-
weiss
addikt
Helló, az ESP32-n levő USB csipnek /cp210x/ el kellene menni magától suspendbe, vagy ki lehet lőni valahogy?
I did nothing, the pavement was his enemy!
-
Teasüti
nagyúr
Az egy 5V-os chip és a devkit nyákterve alapján csak 5V-ról kap áramot (usb vagy külső stabilizált táp). Ha áramtalanítani akarod, akkor 3V-ról kell betáplálni a modult.
Egyébként magát az IC-t lehetne altatni, de nem értem a nyákterven hova van kötve az a láb. Vmi "active" net label van rajta, de nem látom sehol máshol ezt a címkét. Lehet fixen fel/le van húzva.
[ Szerkesztve ]
-
weiss
addikt
válasz Teasüti #9437 üzenetére
3,3 V-ra van kötve sajnos. A 3,3 V-os pinen tápláltam meg, és deep sleepben is evett 10 mA-t a nyák Most rendeltem egy Huzzah klónt, remélem abban jobban fog működni.
I did nothing, the pavement was his enemy!
-
Tankblock
aktív tag
válasz Teasüti #9440 üzenetére
Csak 2 észreételem lenne, ha megfogadod:
- uMCU pint közvetlenül ne köss ki külső pinre, zaj esetén tönkreteheti az egészet. Optikai v galvanikus leválasztó szükséges.- gyorsulásmérőt, ha nem tervezted a boardra akkor nyomd le teljesen, a végén ha minden működik, akkor ragaszd le. A vibráció lesz a legnagyobb ellenséged a másik meg a nedvesség. Amúgy is aktivan szürni kell majd a jelet, mert a vibráció torzitani fogja.
[ Szerkesztve ]
Release the Beast....
-
Teasüti
nagyúr
válasz Tankblock #9442 üzenetére
A kimeneteken tranyók vagy mosfetek vannak. A bemeneteken mosfetek. Az analóg az egyetlen, amit egyszerű ellenállásosztóval készítettem. De arra nincs is jobb módszer tudtommal. Mit értesz az alatt, h tönkreteheti? Nem optimális működést vagy meghibásodást? A digitális jelszintek miatt nem aggódok. A bemenetek zener-rel védve vannak, ahol indokolt. A fet-es szintillesztéseknél meg a modul saját tápját kapcsolom. A táp meg mindenhol szűrve van.
A gyroszenzort szerintem be fogom forrasztani fixen. A female tüskesor tényleg elég laza. Illetve még azon filóztam, hogy a doboz tetejére csavarozom és a tetejével együtt kerül csatlakoztatásra.
[ Szerkesztve ]
-
Teasüti
nagyúr
válasz Janos250 #9445 üzenetére
Nyomtattam. Venni nem könnyű saját logóval a tetején. De még elég kiforratlan a dolog, nem túl jó minőségű.
(#9444) xboy89
0805 méretben rendeltem mindent szinte.
De ahogy elnéztem a gyakorló nyákon, a 0603 sem akkora nagy kihívás. Alap páka heggyel is ment.
Viszont nem nyerek vele sok helyet a 0805-höz képest, ezért nem is erőltettem.
Ha reflow kemencés gépi beültetés lenne és SMD clearance távolságra lehetne elhelyezni őket (egymástól kb 8 mil) csökkentett footprint-en, akkor azt mondom oké, de hobbi szinten még a footprint-ben sincs nagy különbség.[ Szerkesztve ]
-
ecaddsell
aktív tag
Én teljesen elégedett vagyok a betekintési szögével (arra amire használom tökéletes).
Fektetve használom, alul-felül nézve hibátlan, oldalra képes romlani. Ahhoz képest milyen olcsó volt több mint jó.Viszont ha te ilyen nagyban utazol akkor biztos számít a sebesség. Itt (is) keresek valami megoldást. A változásokat elég lassan frissíti a kijelző, de vsz. ez nem a kijelző hibája, hanem nem tudom, hogyan kellene rávenni az Adafruit ST7735 könyvtárat, hogy HW SPI-t használjon (ESP32). Én a jelgenerátor chipet már rég így használom és tökéletesen megy.
Szóval, ha így indítom akkor megy de láthatóan lassú:
Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST);
Az irodalom szerint a HW SPI-hoz így kellene:
Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);
Viszont így egyáltalán nem megy.Nem mellékesen nem is értem honnan tudja a fenti hívásból melyik SPI-t kell használni (VSPI vagy HSPI) . Amikor a generátorhoz csinálom az inicializálást ott meg kell adni, melyiket hozza létre...
hspi = new SPIClass(HSPI);
(A VSPI is hasonló).
Az SPI könyvtár viszont automatikusan tudja, hogy pl. HSPI esetén ezek a pinek:
CLK 14
MOSI 13 -
Tankblock
aktív tag
válasz Teasüti #9443 üzenetére
Autóhoz vagyok inkább szokva, ott indításkor simán lehet zaj felextraponálhat a vonalra, és ha a jel több mint 3,6 [V] akkor bármi történhet. Ezért van azz autókban CAN hálózat, az analog jelek meg ha vannak akkor a legkisebb vezetéken, de inkább digitális mind.
Kérdés h mire akarod használni. Üres vezeték ne maradjon, mert antennaként viselkedik.
Release the Beast....
-
Xpod
addikt
Szépen haladok előre, a ledszalag vezérléssel.
Webes felület kész. Mint kiderült van sokkal egyszerűbb megoldás, mint a taskok szeparálása cpu magra, meg saját ledszalag vezérlés írása.Fastled library tökéletesen működik. Az, hogy fordításkor megjelenik egy warning nem probléma.
Az espasyncwebserver library segítségével tök egyszerű megjeleníteni a weboldalt. Már csak annyit kell megírnom, hogy a weboldalon kiválasztott színt jelenítse meg a szalagon. De ennek is meg van a mintakódja.
Már csak 1 dolog kell. Akarok egy fizikai nyomógombot is a szalag kikapcsoláshoz. Ez lényegében úgy működne, hogy fekete szín küldene ki a szalagra.
A nyomógomb bekötéséhez azonban amit eddig találtam nekem nem szimpatikus. Lényegében az esp32 egyik pin-je egy ellenállással gnd-re van kötve. Ugyanerre a pinre van kötve a nyomógomb, a pin és az ellenállás közé. A nyomógomb másik lába pedig 5v-ra van kötve. Így ha megnyomom a gombot, az ellenálláson keresztül záródik az áramkör. Nem tudtok olyan megoldást, ahol nincs így összekötve a gnd és az 5v?Most kezdődjék a tánc! - mondta a papagáj és berepült a ventilátorba.
Új hozzászólás Aktív témák
- Rezsicsökkentés, spórolás (fűtés, szigetelés, stb.)
- Autós topik
- Xiaomi Redmi Note 5 Global
- Moderátort keresek a fórumhoz!
- Azonnali notebookos kérdések órája
- Genshin Impact (PC, PS4, Android, iOS)
- E-roller topik
- Ford topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Anime filmek és sorozatok
- További aktív témák...