- Itt egy pár fotó az iPhone 17 sorozatról
- iPhone topik
- Samsung Galaxy Watch7 - kötelező kör
- Huawei Watch GT 5 Pro - egészség + stílus
- Samsung Galaxy Watch5 Pro - kerek, de nem tekerek
- Egy óra, két rendszer
- Samsung Galaxy S24 - nos, Exynos
- Hivatalosan is bemutatta a Google a Pixel 6a-t
- Sony Xperia 1 V - kizárólag igényeseknek
- Milyen okostelefont vegyek?
Hirdetés
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!
-
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
-
válasz
zsolti_20 #11550 üzenetére
Nem ellenállást adsz hozzá szoftveresen.
Ellenállás mindig kell, a kondenzátor segít a prellmentesítésben.
(#11552) zsolti_20
Te lehúzó ellenállást használsz. Ha felhúzót használsz, azaz alapból logikai 1-en van a gomb bemenet, akkor fordított logikát kell használni, tehát lenyomod az 0. Ennek annyi előnye lehet, hogy ha szakadás vagy gond van, akkor a gombon alapból is 0 lesz ami gyanús lehet. -
válasz
zsolti_20 #11550 üzenetére
Na várj csak, az ellenállást pontosan hová is kötöd? Mert ha a felhúzó ellenállásra gondolsz, amit a beépített ellenállással lehet helyettesíteni (INPUT_PULLUP), az nem a pergésmentesítés miatt van, hanem azért, mert anélkül "lebeg" a bemenet, mivel a vezeték antennaként viselkedik és összeszed minden jelet a levegőből. A pergés ettől teljesen független dolog.
-
Breaker
tag
A lolin32-vel vigyázz, mert ezen a shield-en ha jól tudom rajta vannak az i2c felhúzó ellenállások, amik 5V-ra húzzák a pineket, de amíg az esp8266 gpio-i 5V toleránsak, az esp32 kimenetei állítólag nem azok.
Nah akkor meg is kaptam a választ egy fel nem tett kérdésemre..
Igaz én Lolin D1 Mini-t hasznalok, de az is esp8266.. A minap méricskéltem, és a pineken 5Vot mértem, és vakartam a fejem hogy ez hogy a fenébe lehet, illetve hogyhogy nem purcantak ki?
-
válasz
Victoryus #11142 üzenetére
Milyen library-vel próbálod ezt a shield-et használni a Wemos d1-el? Az uno-hoz való adafruit-ossal?
Az alsó sor jobb szélső két pin az SDA SCL, ugyanez duplázva a felső sor bal szélső két pin-en.
A lolin32-vel vigyázz, mert ezen a shield-en ha jól tudom rajta vannak az i2c felhúzó ellenállások, amik 5V-ra húzzák a pineket, de amíg az esp8266 gpio-i 5V toleránsak, az esp32 kimenetei állítólag nem azok. -
válasz
alfa20 #11020 üzenetére
De igazad van, DHT kódból copy paste meg pár módosítás volt és hibáztam ott.
Azt írtad néha tetején, néha középen jó egy része a kiírásnak, ezért nem gondolnám hogy hardveres a gond, szerintem szoftveres. Továbbá a Hello Word egy részét ki tudja írni de elég nagyban. Ez a szoftveres részére utal szerintem megint csak. Legjobb lenne, ha ki tudnád próbálni egy másik hardveren is, hogy ki lehessen zárni a hardvert azért még is csak.
I2C felhúzó ellenállások vannak a panelen?
-
fpeter84
senior tag
válasz
Atamano #10894 üzenetére
Igazából szerintem határeset lehet, de az az abszolút biztos ha külső ~1-4.7K felhúzó van
A láb és 5V közé tedd az ellenállást, valamint a láb és föld közé a záró kapcsolót - így alaphelyzetben felhúzva 1-et olvashatsz a lábon, a gomb megnyomásakor meg 0-ra vált. A pinmode-ot pedig akkor sima INPUT-nak add meg pullup nélkül
-
válasz
tvamos #10578 üzenetére
Hát ha rászoknék, hogy adatlapot olvasok mielőtt egy egész napom rámegy a kísérletezésre, spórolhatnék magamnak egy kis időt.
"Maximum number of continuous short bursts/second 1800"
Ez meg is magyarázza, miért nem működik már 4800baud sebességgel a rendszer.Mondjuk az én vevőm nem tsop, hanem VS1838, arról nem lehet ilyen részletes adatlapot találni, ebben olyat találtam, hogy "output pulse
width min. 500μs", ami ha jól számolok 2000baud-os elméleti sebességet enged.Még ennyi kérdésem lenne, hogy miért írják a legtöbb helyen, hogy ellenállásokat kell rakni a Vcc és az OUT lábakra?
Kipróbáltam (a 10k helyett a belső felhúzó ellenállást használtam), de semmit nem befolyásolt a működésen, 100ohm nélkül sem melegedett vagy purcant ki... -
válasz
Atamano #10523 üzenetére
Ha az LCD i2c vonalain nincs gyárilag felhúzó ellenállás, akkor működhet level converter nélkül is, úgy, hogy csak 3,3V-ra húzod fel a vonalakat! Ha az LCD elektronikája elfogadja a 3,3V-ot magas szintnek, akkor problem solved.
Egy 5V TTL szintű logika 2,5-3V feletti feszültséget már magasnak szokott értelmezni. Ha ez nem jön be, akkor marad a level converter.
-
Teasüti
nagyúr
Erre pillanatnyilag nem tudok válaszolni eszközök hiányában. De feltételezem egy lebegő portot kell GND-re húzni. Nos, ez a legrosszabb eshetőség. Erre keresek megoldást. Ha van vmi felhúzó a porton, akkor egyszerűbb lesz a dolog, de bármivel is oldom meg ezt, az nyilván működni fog mindkét esetben.
Legrosszabb esetben bedobok egy relét oszt' csókolom.Jelenleg ez minden, ami rendelkezésemre áll és egy fél mondat vhonnan, hogy elvileg ellenállást mér a kamera.
-
Teasüti
nagyúr
GPIO-val szeretnék kapcsolni egy áramkört, amin áram nem folyik, csak impedancia mérés történik rajta.
Az eszköz (kamera távkioldó funkciója) annyit érzékel csupán, hogy rövidre van-e zárva a jack aljzata (kapcsolt), vagy nem (nem kapcsolt). Ez egy egyszerű mechanikus kapcsolóval működik.
Hogy lehetne ezt megoldani félvezetőkkel? Ha jól tudom a tranyók és fet-ek csak akkor működnek, ha van rajtuk átfolyó áram. Illetve nem ártana még egy galvanikus leválasztás sem.szerk: nem vagyok benne biztos, hogy milyen elven is működik pontosan, csak a távkioldó szerkezetből következtettem. Lehet van a kamerában vmi felhúzó/lehuzó ellenállás is, majd kimérem ha lesz hozzá donor kábelem.
-
Teasüti
nagyúr
Csúnyán benéztem egy tervet: ESP32-n IO0-ra tettem egy MPU6050-es interrupt lábát, ami mint kiderült áram alá helyezve alapból pulldown módba kapcsol és ez download módba teszi a vezérlőt.
(Open-drain módban csináltam a tervet, be is lehet konfigurálni a modult erre, de azt nem tudtam, hogy push-pull módban hajlandó csak inicializálni.)
Sajnos a nyákot átkötni nem tudom, egyelőre kiforrasztottam a modulból ezt a tüskét.
Kérdés: át tudnám hidalni ezt a problémát egy ellenállással? Invertáláshoz túl sok alkatrész kellene és én csak arra gondoltam légszerelve ráakasztok egy 1M-ás ellenállást a nyák és a modul közt. Ez elvileg nem engedi lehúzni az IO0-át a saját felhúzójával szemben boot-kor (ami asszem 50k körül van). Viszont működésében ez vajon mennyire zavarja be a megszakítást? Lesz egy fel- és lefutása azoknak az éleknek, vagy ettől a komparátor még nem jön zavarba?
INT nélkül is megyeget a dolog polling-gal, viszont INT-el szeretnék ébreszteni majd alvó módból. -
Teasüti
nagyúr
Szintillesztésre én mosfet-eket használok egy marék felhúzóval. De a szintillesztett áramkör is open-drain módban működik. Ha találsz vmi kézzel beültethető olcsó IC-t aminek kisebb a footprint-je mint egy sot-23 fet és mellé két 0805-ös ellenállás, akkor írd meg kérlek!
-
válasz
LógaGéza #9960 üzenetére
Bocs, már én is fáradt vagyok és hülyeséget írtam, kimenetekre természetesen nem kell felhúzó ellenállás, csak a bemenetekre.
Valószínű a 4 relé összes áramfelvétele miatt válik instabillá az UNO működése. Próbáld meg külön táppal a relé modulnak, és szerintem az UNO is kaphatna egy kisebb, 7-9V közti tápot. -
válasz
LógaGéza #9957 üzenetére
"nincs közös testen semmi,"
Ezt fejtsd ki bővebben!" A relémodul egy ilyesmi, GND-t és 5V-ot, valamint a 4 PWM jelet az UNO adja neki,"
PWM a relé modulnak??
Az 5V-ot a relé tekercséhez az UNO regulátoráról veszed, miközben az UNO 12V tápot kap? Azon csodálkozom, hogy még nem durrant el a regulátor a terheléstől. Eredeti UNO, vagy kínai másolat? Utóbbiak terhelés nélkül sem nagyon bírják a 12V tápot, tartósan 9V körül lehet őket üzemeltetni.
A relét vezérlő lábakon van le- vagy felhúzó ellenállás? -
Teasüti
nagyúr
Ez a sztenderd bekötése a nyomógombnak. Azért nem lehet csak egyszerűen a nyitott/zárt áramköri kapcsoló példáját alkalmazni, mert nyitott állapotban a GPIO "lebeg" és bármilyen random értéket felvehet a zajtól függően. Ezért a GPIO lábakat fixen fel/le kell húzni Vcc-re/GND-re.
Ezért látsz egy felhúzó ellenállást 5V-ra, amit a nyomógomb lehúz GND-re. Rövidzártól nem kell tartani, egy 10k-s felhúzóval kb 0,5 mA áram lesz levezetve GND-re gombnyomás esetén. Ha meg nem nyomod a gombot, akkor meg még ennyi áram se lesz, mivel a GPIO bemenet úgy tudom MegaOhm nagyságrendű.Az meg hogy alapból fel vagy le van húzva, az szinte mindegy. Van aki inkább GND-re húzza a gombokat alapból, hogy ne legyen feszültség alatt az áramkör, csak a gombnyomás idejére. Na nem mintha 5V 0,5 mA olyan nagy kárt tudna tenni bármiben.
-
Tankblock
aktív tag
válasz
Janos250 #9283 üzenetére
Hmm,
most h van nálam gép is:
Datasheet:
RHCT Conversion Time(7)
8 bit resolution 2.50 ms
11 bit resolution 3.85 ms
14 bit resolution 6.50 msilletve
TEMPERATURE SENSOR
TEMPACC Accuracy(7) 5°C < TA< 60°C ±0.2 ±0.4 °C
TEMPREP Repeatability(7) 14 bit resolution ±0.1 °C
TEMPCT Conversion Time(7) 11 bit accuracy 3.65 ms
14 bit accuracy 6.35 mslássuk a könyvtárat:
double ClosedCube_HDC1080::readTemperature() {
uint16_t rawT = readData(HDC1080_TEMPERATURE);
return (rawT / pow(2, 16)) * 165.0 - 40.0;
}
uint16_t ClosedCube_HDC1080::readData(uint8_t pointer) {
Wire.beginTransmission(_address);
Wire.write(pointer);
Wire.endTransmission();
delay(9);
Wire.requestFrom(_address, (uint8_t)2);
byte msb = Wire.read();
byte lsb = Wire.read();
return msb << 8 | lsb;
}szóval ha itt minden ok --> cserélném a delayt:
delayMicroseconds(9000);
akkor még lehet akár HW issue is. A felhúzó ellenállások megvannak? Feszültség megvan? Milyen hosszú a vezeték? ...
-
válasz
Teasüti #9038 üzenetére
Nem ismerem az ESP8266-ot. Itt azt írták többen, hogy 5 V-ot tolerál, ebből indultam ki. De megjegyeztem, az ESP32-nél hogy ott 3.3 V a max. Én ESP32-t használok, oda írtam példának, hogy én 2 V-ra állítanám be az ellenállásosztót. Vagy én írtam kétértelműen vagy neked volt az, de a lényeg, hogy én csak viszonyszámokat írtam, hogy a max tolerálható feszültséghez képest hogyan válassza meg az ellenállásosztó értékét.
Máskor az ESP8266-ot inkább kihagyom példa esetén, nehogy hasonló félreértés legyen.I2C: alapból 10k felhúzó ellenállások voltak, a plusz random ellenállás csak egy próba volt, mert nem értettem miért nem jó a mérés és gondoltam felhúzó ellenállás pluszban segíthetne. A konklúzió szó helyett úgy mondanám, hogy leírtam egy tapasztalatot, ahogy azt már te is többször tetted. Mivel korábban szóba került az I2C és annak hatótávja ezért most egy friss tapasztalat alapján gondoltam megosztom, hogy akárhogy is van én hatótáv korlátba ütköztem. Nem mértem semmit, így igaz hogy a probléma okát nem tudom biztosra. Örülök, ha neked 10 méter se okozott gondot.
-
válasz
Teasüti #9026 üzenetére
Én nem mértem rá szkóppal. Nagyon más okát pedig nem látom azon kívül, hogy a vezeték hossza számít. Egyébként kínai jumper wire köteget használtam, aminek a minősége megkérdőjelezhető akár, illetve próbapanelen toldottam meg a 10 cm -10 cm távolságot, mert egyben nem volt 20 cm-es vezetékem. Elképzelhető hogy ezek együtt okozták a gondot.
(#9025) aryes
Azt is próbáltam hogy az első 10 cm és az utána lévő 10 cm közé próbapanelen kötöttem még egy-egy felhúzó ellenállást. Ez se igazán javított, igaz az ellenállás értékét nem tudom, panelen volt 2 egyforma, talán 1k lehetett. -
Teasüti
nagyúr
Akkor vmit rosszul csinálsz szerintem.
Több beszámoló szerint is működik néhány méterig, ha a busz kapacitása határértéken belül marad.
Csináltam egy gyors mérést 10cm-es és 10 méteres vezetékkel, 100 Khz-en. Felhúzó mindkét esetben az Uno belső ellenállása volt (50k körül, ha jól emlékszem).10 méter telefon vezeték (ez már nem működik):
Próbaképp beraktam egy-egy 10k-s külső felhúzót. Nem igazán láttam különbséget a felfutási és lecsengési időkben. Nem teszteltem sokáig, mert már késő van. De majd lesz kedvem játszadozok vele egy kicsit.
Mindenesetre nem tűnik annyira vészesnek, egy feszesebb felhúzóval talán életre kelthető.Ami nekem fura ezen, hogy a hosszú vezetéken hogy tud megjelenni 5,6V az 5V-os Unóról USB-ről táplálva?
Talán vmi indukció a vezetékben? Fel van tekercselve. -
Korábban szóba került az I2C, hogy mekkora távon működik. Akkor azt mondtam, hogy rövid 10 cm körül. Most teszteltem és 20 cm-en már nem működik, 10 cm-nél még igen, közteset nem teszteltem. Felhúzó ellenállás 10k. Ezt cserélni nem tudom, mert a hőmérő nyákon van rajta.
-
Teasüti
nagyúr
Nem tudom ez a programozó mennyivel jobb mint egy FTDI
Ha megfigyeled az ESP32 programozót, akkor azon rajta van az auto letöltéshez szükséges két tranyó is, ami lehúzza az EN és IO0 lábakat. Gyakorlatilag a Devkit áramköre egy az egyben CH340g-vel. Így mint írtam volt megspórolható még a két gomb is a NYÁK-ról.
Ezzel konkrétan nem kell semmi kiegészítő a modul mellé az EN felhúzó ellenállásán kívül. Kivezeted 6 tüskére a Vcc, GND, RX, TX, EN, OI0 lábakat, rá erre a programozóra és uccu neki!
Mondjuk a CP2102-es programozó szimpatikusabb lenne, ilyen van a devkit-en is, de az mellé kell egy auto-program áramkör még pluszban vagy a NYÁK-ra, vagy vhova (vagy hát különben nyomogatod a gombokat).
Talán az volna a legideálisabb, ha gyorsan összeraknék magamnak egy ilyen programozót a fenti mintájára CP2102-vel.szerk: hmm ami azt illeti nem is kell saját, találtam hozzá "eredeti" devkit programozót!
(#8925) tvamos
Nem lehet, hogy a fura program nyelv miatt?
Állítólag nem rég jött hozzá ki egy C fordító.
8 független mag azért elgondolkodtató.
De tényleg nincs elterjedve egyáltalán. Teljesen véletlenül találtam rá. -
Van külső felhúzó ellenállás? Mert a beépített nincs bekapcsolva a kód alapján.
Milyen gombot használsz az 5-ös porton?
A kód alapján, ha a gomb le van nyomva, a feltétel hamis lesz (feltételezem, hogy a gomb földre húzza a bemenetet!), így a kód pont a szándékoddal ellentétesen működik szerintem. -
Teasüti
nagyúr
Ez egy 4 MB-os ESP8266 usb csatlakozóval és ch340 vezérlővel? Hmm, tetszik.
Nem találok infót, hogy miben különbözik a V2 és V3. Nem feltételezem, hogy más lenne a lábkiosztás, de azért ellenőrizd, hogy az adatbusz ugyanúgy van-e bekötve! Van másik eszköz is az adatbuszon, vagy csak a hőmérő? A felhúzó ellenállásokban talán lehet eltérés, meg kéne nézni szkóppal milyen minőségű jelet ad az egyik és a másik. Ha programozható, akkor kikapcsolnám és csak a külső felhúzókat használnám. Ha több eszköz is lóg a buszon, akkor ott lehet, hogy túl feszesek a felhúzók így együtt. Vagy pont ellenkezőleg. Mérés nélkül nem fog kiderülni.
Esetleg próbáld meg 100 kHz-en járatni a buszt! -
-
Teasüti
nagyúr
I2C buszra próbált már vki felfűzni egynél több eszközt?
Egyszer egy gyors próba erejéig próbáltam még Uno-val, de plug&play nem működött. Akkoriban nem tudtam diagnosztizálni, így elfelejtődött. Most viszont nem kevesebb, mint 4 modult tervezek használni és érdekelne hogyan kell összerakni, hogy jó is legyen. 3,3V-os lesz a busz, bár még meg kell bizonyosodnom a modulokról is, ha megérkeznek (MPU-6050, 128x32 OLED, PCF8575C GPIO expander, SI1145 optikai szenzor).
A külső felhúzó ellenállásokat szkóppal fogom belőni. A busz meg 1 méteres lesz max.
Kell még figyelnem vmire?
Szoktak rakni vmilyen védelmet a buszra?
Felhúzó ellenállásokat mindkét végére illik rakni, vagy az mindegy? -
-
Vladi
nagyúr
válasz
ngabor2 #7395 üzenetére
Arduino és hasonszőrű mikrovezérlők topikja ?
Más:
Megint én.
Van ugye a kis projektem: egy vágókést vezérlek 2 gombbal kiegészítve. Hardver oké, szoftver oké, felszereltük, minden oké. Örülés. Akkor villany lekapcsol, mehetünk haza. Hopp kapcsol. Villany fel, megint.Elkezdtem a témában kutatni, kiderült, hogy tele van elektro-mágneses zajjal szerencsétlen.
Írtam debug szoftvert, pénteken azzal átnézem, meg multiméterrel áttapogatom, hogy hol kapja a zavart.
Erre írta anno egy bölcs előrelátó szakember, hogy vegyek oszcilloszkópot....Naperszeugye vettem.
Amit eddig információt összeszedtem a témában, s ezekkel kapcsolatban szeretnék némi iránymutatást:
1. Fém dobozban van a cucc (pc ház) plusz arduino egy másik fém dobozkában. Ezt földeljem le. Akkor a fémházat csatlakoztatom a táp gnd (zöld-sárga) ágához?
2. A kapcsoló üzemű táp felől is jöhet a zavar. Ezzel mit lehet kezdeni?
3. A relé visszarúg arduino felé: ez nem lehet, mert a relé kártya optoizolált.
4. A működtetett áramkörre (zárt-nyitott) tegyek diódát, hogy ne tudjon visszaáramlani a relé felé. schottky diódákról olvastam.
5. Az egész kócerájt kábelezzem át árnyékolt kábelekkel. Elég az adatkábeleket? Vagy a tápokat is? Esetleg a kapcsolókhoz menő hosszú kábeleket is?
6. A relé felé menő adatkábelen lehet némi zavar, elvileg felhúzón van, tehát ha jön az 5+ jel, akkor a relé nem csinál semmit. Ha megszakad akár egy pillanatra, akkor kapcsol. (Ezért időnként még duplát is üt!
) Ezt az adatfolyamot lehetne stabilizálni kondenzátor és ellenállás beiktatásával? Elektrolit vagy kerámia kondenzátor?
Ennyi így nagyhirtelen.
-
Teasüti
nagyúr
válasz
Gergosz2 #6571 üzenetére
Amúgy nem az áram a gond, hanem a lebegő port. A felhúzó lehetne akármekkora.
Persze értem, hogy néhány mA-t szokás ráereszteni a portra, de a te példádban is közvetlenül 5V-ra zárod a bemenetet. Amivel amúgy nincs semmi gond, hisz nagy impedanciás bemenetről van szó (ami megfelel egy 100M ellenállásnak).Vladi
Félve kérdezem, de az Arduino-s kezdő példákat te átnézted már? Pl a könyv ami a Starter Kit-ben van, benne a legelső lépésekkel.
Nem akarok senkit megbántani, de azért aki vesz egy Arduino-t, az vegye már a fáradtságot, hogy átnyálazza legalább a bevezetőt!
Nem tudom, hogy a weboldalukon fent van-e egy az egyben a könyv - én a tutorial részlegen még nem találkoztam ugyanazokkal a példákkal -, de az alapok ott is megtalálhatók.
Azért egy digitális kimenet alacsonyra vagy magas értékre állításához már had ne kelljen lib-et használni...
Meg egy nyavalyás nyomógombhoz, ami amúgy konkrétan a legelső tutorial. -
válasz
BlackPriest #6464 üzenetére
Most komolyan, tettél rá felhúzó ellenállást, vagy legalább bekapcsoltad a beépített ellenállást? A nyomógombok pergésmentesítve vannak?
-
Teasüti
nagyúr
válasz
BlackPriest #6439 üzenetére
Kösd a kapcsolót a bemenet és föld közé, majd a programban a bemenetet így inicializáld: pinMode(láb, INPUT_PULLUP)
Megspóroltál egy alkatrészt.
Amúgy a felhúzó ellenállás lehet akármekkora, de ajánlott lekorlátozni az áramot néhány mA-re. -
tibi-d
tag
válasz
gyapo11 #6318 üzenetére
A cél, hogy a fet nyitva maradjon bármi hiba adódik. Ha az N-csatornás fet a testet kapcsolja, akkor a gate-re kötött felhúzó ellenállás nyitja a fetet. A gate és a föld közé iktatott NPN tranyó pedig zárja a fetet. Az NPN tranyó bázisa és a föld közé beiktatott ellenállás vezérlés nélkül zárva tartja a tranyót. Az arduino kimenete és a tranyó közé kell a kondi (ha erre gondoltál, ez adja a monostabil multivibrátort) a védelmi alkatrészekkel ellátva. Ha az arduino bármilyen okból nem működik, és a kimenete stabilan valamelyik szinten ragad, a kondi vagy kisül, vagy feltöltődik, de az NPN tranyó egy pillanatnyi késéssel lezár, a fet kinyit. A kondit úgy kell megválasztani, hogy a PWM frekin közel rövidzárként viselkedjen. Ha a pozitív ágat vezérelné a fet, kéne még egy PNP tranyó szintillesztés céljából.
-
Teasüti
nagyúr
válasz
Janos250 #6280 üzenetére
"Normál" FET-et felhúzni 5V-ra alapból? Ez zseniális!
Miért nem jutott eszembe...
Open-drain (hú tavaly Arduinóztam utoljára) az milyen beállítás? Úgy emlékszem csak push-pull van.
Meg akkor méretezni kéne a felhúzó ellenállást is a PWM frekvenciájához.(#6281) Janos250
Igen, de érdekes témaköröket érint. Mind érdekel. -
-
válasz
DrojDtroll #5699 üzenetére
Pár oldallal ezelőtt beszéltünk erről és arra jutottunk, hogy az i2c open drain-t használ és elég egy felhúzó ellenállás a 3v3-ra. Ha elég a külső eszköznek a 3v3 mint magas jelszint.
Nekem l9110 dual h bridge-em van, annak elég 2,5V jelszint, moddolás nélkül menne a due-val. -
Nem gondolom sehogy, azért kérdeztem Tőletek, mert jobban tudjátok.
A 4,7k-t több helyen olvastam mint javasolt felhúzó ellenállást (igaz 5V-ra), azért írtam. Akkor te ha jól számolom 3V-hoz 100-600 ohmot javasolsz?
Jut eszembe, a panelt még meg sem néztem, szerintem van rajta eleve valami felhúzó ellenállás gyárilag.
Na meg mire kitalálom mit csináljak, végül lesz egy esp-m is. -
Tényleg, az nem jutott eszembe, hogy az i2c open drain-t használ.
Akkor egy-egy 4,7k ellenállás elég a 3,3V-ra, hogy működjön?
De az arduino scl sda lábain nincs bekapcsolva ilyenkor a belső felhúzó ellenállás? Mert akkor mégiscsak kimegy az az 5V, aminek nem kéne... Néztem a wire lib forrását, de nem látom nyomát, hogy bekapcsolná az beépített ellenállásokat. Erről mit tudtok? Gugliztam a témában, de nem találtam megnyugtató választ.
-
Sziasztok! Most a robotomnál 5 külön bemenetre 5 kapcsoló van kötve, mindhez van egy-egy pinchange interrupt. A bemeneteken belső felhúzó ellenállás, a kapcsolók földre húzzák a bemenetet. Hogyan tudnám ezt multiplexeléssel megtöbbszörözni? Tudom, hogy olyan megoldás kéne, mint egy billentyűzet-mátrixnál, de ott fordítva vannak a jelszintek, azon filózom, hogy hogy lehetne egy ilyen mátrixot felépíteni és utána beolvasni, hogy ne csináljak rövidzárlatot?
-
válasz
razorbenke92 #5296 üzenetére
Köszönöm a jótanácsot, ha tudom, megfogadom!
quint: ez egy l9110s dual H bridge, a bemenetein feszültségosztó van, hogy ne kelljen szintillesztés 12V tápfeszig. Erre nem hiszem, hogy tudok lehúzó ellenállást tenni.
Annyi problémám volt csak eddig vele, hogy programozáskor rá kellett kapcsolnom a 7,4V tápfeszt, különben leoldott az usb védő polyfuse, eddig nem tudtam, hogy ezért volt, így most már értem.
Szerk.: lehet, hogy ehhez felhúzó ellenállás kéne? Lényegében mindegy, hogy le vagy fel, csak valahova húzva legyen és mindkettő egyformán. -
fpeter84
senior tag
előkerül a 2 HTU21-es és egyből problémákba futottam...
Csak a 3.3V-ot komálja csak, az IO lábain is, úgyhogy az UNO/MEGA-hoz szintillesztésre volna szükség
Úgyhogy túrtam egy DUE-t gyorsan és arra dugtam rá. Viszont az adafruit-os lib-nek nem tudom hogyan lehetne megadni több instance-hoz különböző I2C buszokat - valószínűleg nem is lehet... Így 2 lehetőség marad: vagy maga olvassa ki az ember saját feldolgozó rutinokkal, vagy marad az 1 buszon tápcserélgetős eljárás. Ezzel viszont az a gond, hogy a nyákon lévő felhúzók miatt hiába próbálok váltani a 2 modul között - ha az elsőre tápot adok az ugye megpróbálja felhúzni az I2C buszt, viszont azzal hogy a másodiknak viszont lehúzom a tápját 0-ra, így annak a felhúzói így lehúzókká válnak, és meghülyül tőle a busz...
A megoldás az lenne, hogy leszedem mindkét modulról az onboard ellenállásokat, de nem akarom összegányolni őket mert más projektben meg megvan így a helyük...
-
fpeter84
senior tag
Most ezt mire érted, hogy "és ez az ajánlott?" ? Csak leírtam hogy nekem ez a 2 rokon típus picit furcsán viselkedik, mert annak ellenére hogy azt írja a doksija hogy L+L és H+H az mindig L kimenetet ad, valahogy mégis sikerült rövidzárlatba kapcsolnom... Plussz a modulon lévő felesleges felhúzó ellenállás miatt megütheti a uC kimeneti lábát, ha nagyobb tápfeszre van kapcsolva a motor mint a vezérlő...
-
Teasüti
nagyúr
válasz
gyapo11 #4415 üzenetére
Wow! És én még azt hittem fogom a tranzisztort - amit a starter kit-ben találtam - és jól bekötöm bármilyen nem nagy teljesítményű fogyasztó elé és az mcu egyik szabad portjára csak úgy a lá nature.
MÁS:
ATX tápegységnél a bekapcsoló vezetéket (földre húzva on, 5 voltra húzva vagy megszakítva off) ráhúzhatom a táp saját készenléti 5 voltos áramára egy felhúzó ellenállással, hogy alapesetben kikapcsolva maradjon áram alá helyezéskor? (Arduino a készenléti áramkörről üzemel majd.)
Vagy az MCU boot-olása előtt amúgy se kapcsolna be, amíg lebeg a port? Ha igaz az, hogy default bemenetként funkcionál a programfuttatás előtt, akkor elvileg az megszakításnak felel meg és kikapcsolva marad a táp.MÁS:
Szerintetek mennyire jó ötlet beépíteni a Nano-t az ATX tápba, mint készülékház? -
válasz
gyapo11 #4415 üzenetére
Köszönöm szépen a gyorstalpalót, igyekszem, de sajnos vallásos sosem tudok mindent egyszerre megtanulni a mikroelektronikából, mert ahogy vmi újat tanulok, kilök vmi régebbit a fejemből.
(#4412) FireKeeper: szerintem tévedsz, tudtommal az arduinonak open collector kimenetei vannak, belső felhúzó ellenállásokkal, mikor magas szintet ad, akkor ezeket kapcsolja be, vagy bemenetnél tudod te külön állítani. De szóljatok, ha hülyeséget írok!
És bocs mindenkitől a láma kérdéseimért...
-
Teasüti
nagyúr
Nincs felhúzó ellenállásod. Próbáld ki ezt:
pinMode(button, INPUT_PULLUP)
!
Valamint ugyan elektronikában analfabéta vagyok, de mitől lenne a jelenlegi felállásban HIGH, ha földre húzod a gombbal és alapból nincs felhúzva? Azon kívül, hogy nyitott áramkörnél lebeg a port és néha lehet pont átesik HIGH-ra. Vagyis, ha a lenyomást akarod vizsgálni, akkor az LOW lesz a gombnyomásra. -
zka67
őstag
válasz
World-Soft #3873 üzenetére
Szia, igen, mehet felhúzó ellenállással a venti vezérlésed. Ha esetleg mégse menne 10K felhúzó ellenállással, csökkentheted az értékét 1K-ig.
Az 5V toleráns lábakat az STM32F103C8T6-hoz ebben a doksiban találod meg, a nope által linkelt más kiosztású procikhoz van.
Egyébként a következő lábak 5V toleránsak: PA8-PA15, PB2-PB4, PB6-PB15, PD0, PD1
Igen. jó az FT232 bekötésed. A BOOT0 jumpert majd át kell tenned 1 állásba, a BOOT1-et pedig 0 állásba a programozáshoz, és resetet kell adnod neki előtte. A program futtatásához a BOOT0 jumpert 0 állásba kell rakni. (Az ST-LINK V2-vel nem kellenek ilyen macerák).
A Demonstrator GUI-t innen tudod letölteni. (Oldal alján a get software, kitöltesz pár adatot és letöltöd).
Bootloadert nem kell feltölteni, benne van a prociban.
Szükséged lesz még a Reference Manualra is, ebben találod a proci teljes leírását.
-
World-Soft
senior tag
Szia!
Köszi a választ.
Ledeket, ventiket MP3-met szeretnék vezérelni külső környezet és gesztusok alapján.A ventilátorokra ezt tervezték nekem és ez lett megépítve:[link]
Más esetben ezek a hall szenzoros ventik csak nyűszögetek (5V-on ezek az alul áteresztő szűrők és társai sem mentek).
Tehát valószínű ennél mint kimenetnél kérdéses a fránya 5V. Fe akkor azt meg 5V toleráns lábon felhúzó ellenállással még mehet is?A projet: [link]
A ledek is vagy a IRLR 024 NPBF-el, vagy az IRLML 2502-el szeretném illeszteni (2-10 led egy körön tehát olyan 5V 400mA-is nem át ha jó és remélem tényleg olyat mondtak amik erre jók).
Minden led egyesével 5V-ra van leellenállásozva.A bekötés így jó?
[link]
Így fel tudom tölteni amit kell?Amit nem találtam meg, hogy az eszköz tetején a két jumper mi?
Ami kérdéses még:
- hogy lehet a lapot azonosítani? Illetve ezt tudtam SOS-ben szerezni itthon: [STM32F103-MS]
Ez a jelölés alapján nem tudom beazonosítani melyik.
Nem tudom van -e jelentősége, mert ha jól értem kell valami bootloadert először feltölteni (hol találom meg az ami ebbe kell?), utána meg a progit.- Melyek az 5V toleráns lábak? Az egész googlet véginéztem, de egyik pinout ábrán amin a sajátomat látom ott nem találom az 5V toleráns lábak mivel vannak jelölve. Tud valaki ilyet?
- A 407-es mérete és a két lap fogyasztása.. 407 az tetszene (bár nem találtam meg mit fogyaszt a 103 és a 407-es és sajna korlátozottak a powerbankos lehetőségek), de nem találok méretet, és nem tudom beférne -e valahogy.
Köszönöm már sokadjára minden építő segítséget nektek.
-
World-Soft
senior tag
Köszi szépen a sok hasznos információt.
Sajna a méreteit nem láttam sehol, mert nekem az a baj, hogy na az nincs.
Ez a projetKözépen az a két hosszúkás az egy olyan épített egység, mely az 5V-os PWM-et feldolgozza, és a MOSFET-nen pont ugyanakkor feszültséget az PWM nélkül kis 5V-os ventijeimnek ami kell. (ha jól értettem a tevézőt
)
Elvileg 'nincs veszteség'.
Na most itt lehet nálam a gond, hogy ha 3V a PWM, akkor az nem biztos, hogy nem úgy fog megjelenni, hogy a vetik fel, hogy 3V kiment, és akkor igazából el sem indul a venti.
A többi ilyen gyári egység talán tolerálná a 3V-ot is. (Talán még a DS1821+ -os hőszenzor is.)De ha jól értelek, akkor ha csak ez a kimenetem lenne a gond, akkor akár ezt a kisebb modulnál is meg lehetne csinálni (ha ez nem férne el)?
Mármint ezt a felhúzó ellenállást.
Sajna én SW-ben vagyok jártas, ezrét ugye jól értem, a kimenetet rákötöm nem csak egy 5V-ot kívánó egységre, hanem az összeköttetést egy 10K-s ellenálláson keresztül az 5V-ra is rátöröm?
És ezt csak az 5V-ot amúgy is toleráló lábakon lehet gondolom elvégezni.Nekem FTDI232-m van a Moni Pro-hoz. Még nem is használtam.
Nem tudom ez valamire jó -e ide.
Most csak annyit kéne tudnom SOS-ben, hogy az egység jó lehet -e, úgy kéne kialakítani a helyét amit most kell befejeznem, mert borítani kéne már. Utána már ráérek szórakozni, kitapasztalni a lelki világát. -
zka67
őstag
válasz
World-Soft #3869 üzenetére
Szia, kész áramköröknél ez a legkisebb méretű:
Details about Mini core board STM32 minimum system version STM32F407VET6Igen, elviseli az 5V-os jelszinteket is. A bemenetet GPIO_Mode_IN -re kell állítani, ebben az esetben tökmindegy, hogy 3.3V vagy 5V-os a jeled. A kimenetnél pedig GPIO_Mode_OUT -ra és a típusát pedig GPIO_OType_OD -re kell állítanod, és külső (10K) felhúzó ellenállással kell az 5V-ra kötni.
Ha meg is kell hajtani vele valamit, akkor ajánlott valamilyen driver IC-t használni, pl. 74F573...
A programodat fel tudod tölteni USB-RS232 átalakítóval és a Demonstrator GUI nevű programmal, vagy ST-LINK V2-es adapterrel és az STM32 ST-LINK Utility nevű programmal. Ha van ST-LINK V2-es adaptered, akkor a Keil uVision4 (ARM) programmal is fel tudod tölteni a programodat, és valós időben tudsz vele debuggolni is. (Erre valók az SWCLK...SWDIO pinek, csak vigyázz, ha az ST-LINK 3.3V-ját is rákötöd, akkor nem szabad neki külső tápod ani, mert megkapja az ST-LINK-en keresztül. Ha külső tápról akarod járadni programozás/debuggolás közben, akkor ne kösd rá az ST-LINK 3.3V-ját, nem kell neki, csak a két SW... pin és a GND)
Ha van még kérdésed, csak bátran
-
Hát 3,1/6,2V az már a legalja, amikor már lemerült a cella, tehát akkor már nem is akarom, hogy működjön, mert tönkremenne. Tehát pontosítva a kérdést, 6,6 és 8,2V közt regulálja magának 5V-ra, 6,6-tól lejjebb pedig inkább stabil 5V-ot érdemes neki adni?
5V alá meddig lehet lemenni, ha a 3,3 már kevés? A li-ion cellák névleges feszültsége 3,6V. A fet-ek vezérléséhez szintén kevés lenne a 3,6 ha jól tévedek, ha az uno végül mégis 3,6V-ról menne, kellene felhúzó ellenállás a 7,2V-ra? -
zka67
őstag
válasz
Janos250 #3850 üzenetére
Szia, azért vigyázzatok a 103-assal, mert nem minden lába 5V toleráns! Az adatlapon 'F'-el jelölik az 5V toleráns lábakat a lábak leírásánál az IO Level oszlopban.
És igen, ki kell kapcsolni a belső felhúzó ellenállást és ha kimenet, egy külső ellenállással kell felhúzni 5V-ra (általában 10K-t szoktak használni).
-
Janos250
őstag
válasz
World-Soft #3846 üzenetére
Mi csak egyszerű dolgokra használjuk, én is innen nézem:
http://www.st.com/content/ccc/resource/technical/document/datasheet/33/d4/6f/1d/df/0b/4c/6d/CD00161566.pdf/files/CD00161566.pdf/jcr:content/translations/en.CD00161566.pdf"Up to 80 fast I/O ports
– 26/37/51/80 I/Os, all mappable on 16
external interrupt vectors and almost all
5 V-tolerant"
Tehát befelé elbírja az 5V-ot, kifelé pedig a 3.3V-os procik magas
szintjét - tapasztalatom szerint - az 5 voltosak is magasnak érzékelik.
Ha mégsem, párszáz Ft a szintillesztő.
Valaki ajánlotta, hogy belső felhúzó ellenállás kikapcs, és kinnről 5V ráad, de ezt nem próbáltam."16-bit, motor control PWM timer with deadtime
generation and emergency stop""There are up to three synchronizable general-purpose timers
embedded in the STM32F103xx performance line devices.
These timers are based on a 16-bit auto-reload up/down counter,
a 16-bit prescaler and feature 4 independent channels each for
input capture/output compare, PWM or one-pulse mode output."Az arduino framework probléma nélkül kezeli "ugyanúgy", mint bármelyik másik boardot.
-
Zahze
csendes tag
Sziasztok.
Kérnék egy kis segítséget a megszakításkezeléssel kapcsolatban.
Ami leírást találtam róla így első körbe, az alapján leírtam ezt a kódot.int led = 9;
volatile int state = LOW;
void setup() {
pinMode(led,OUTPUT);
attachInterrupt(0,blink,CHANGE);
}
void loop() {
digitalWrite(led,state);
}
void blink() {
state = !state;
}Nah most annyi lenne a bajom, hogy nem működik stabilan a Led ki/bekapcsolása amikor lenyomom a gombocskámat, amit a Mega 2-es lábára kapcsoltam, persze felhúzó ellenállást használva.
Ez mitől lehet ? A leírásokból úgy vettem ki hogy a CHANGE-el, akkor is változnia kéne a Led állapotának amikor lenyomom a gombot, és akkor is amikor felengedem a gombot. Ugyanakkor, van amikor nem veszi figyelembe valamelyik eseményt...
Ez mitől lehet ? -
ghostie
tag
válasz
FireKeeper #3299 üzenetére
Pont az a bajom, hogy használható ismeretekkel nem rendelkezem. Elméletben tanultam/olvasgattam már a témáról, de gyakorlati tapasztalatok alapján nem áll össze a kép. Pl. az meg van hogy tranzisztor: bázis, kollektor, emitter, pnp meg npn meg hasonlók, illetve hogy kondenzátor töltést tárol, de nem tudok ezekből alap áramköröket összehozni (nem csak gyakorlatban, elméletben sem tudnék felrajzolni semmi működőképest).
Rendeltem egy Aruinos kezdőcsomagot, pár ezer forint volt és küldtek egy szatyor alkatrészt, amiben még LCD kijelző, RFID-s olvasó, infravevő, távirányító és hasonló érdekességek is vannak.
Ezzel szerintem hónapokig ellennék, amíg mindent kipróbálok, összedugok, de arra gondoltam hasznosabb lenne ha előtte egy kicsit megismerkednék az alapokkal. Pl. hogy a gyakorlatban is lássam, hogy miért is kell ellenállást kötni a LED-del sorosan, illetve valóban értsem és ne csak tudjam, hogy mit és miért csinál a felhúzó ellenállás.Egy ilyen alap "kitnek" a költsége már minimális lehet, összehasonlítva a jóval bonyolultabb alkatrészeket tartalmazó Arduino csomagéval. És "károkozás" szempontjából is jobb lenne, ha a füstölős próbálkozásaim a néhány forintos alkatrészekben tennének kárt és nem az Unoban
Általános iskolások számára találtam már ilyen tanuló készleteket, de így 40 évesen már inkább valós ellenállást szeretnék a kezembe fogni és nem egy színes kis rudat
Az Arduino másik oldalával a programozással nincs problémám, évek óta programozok különféle nyelveken így az a rész tiszta és könnyen tanulható.
-
Lompos48
nagyúr
válasz
DrojDtroll #2876 üzenetére
Csak akkor mindegy, ha össze vannak kötve. Az összes elektronikától függ, hogy az árnyékolás a nullára van/lesz kötve vagy nem. A kollektorba pedig egy olyan bemenetet kell kötni, ahol létezik felhúzó (pull up) ellenállás.
-
Teasüti
nagyúr
De ha a kapcsoló nyitva van a bemenet előtt, akkor miért is lebeg? Nincs rajta semmi egy darab dróton kívül, max zajt szedhet össze azon a pár centin, nem?
Ha bármiféle bekötés nélkül beolvasok egy bemenetet, akkor is lebegni fog? A felhúzó és lehúzó különbsége gondolom csak annyi, hogy a földre vagy tápra van-e kötve az ellenállás túlsó vége.Hmm, ez segített kicsit a megértésben, köszönöm!
Az a task tiszta szégyen, mikor az egész letöltés pár sor javaszkriptben az XML tábla natív kiolvasásával mindenféle buta split helyett.
Mondjuk épp ezért az IDE kódolása egy kis könnyű olvasmány volt csak a projekt könyvben. -
bacus
őstag
válasz
Teasüti #2762 üzenetére
pedig ez sem bonyolultabb mint a tasker
, az időjárás taskod évek óta használom.
A lényeg, egy digit bemenet ne tudjon lebegni, ezért vagy le kell kötni a földre, vagy fel 5V-ra. Így, ha máshonnan nincs semmi jel, akkor is van határozott bemenete. Ne feledd, itt nem jó a nem értelmezett tartományba engedni egy bemenetet.
Nézzünk egy lehúzó ellenállásos példát. Adott egy bemenet, amire egy gombbal kapcsolsz 5V-t.
Amikor lenyomod a gombot, a bemenet határozottan 5V lesz, hiszen a gomb egy rövid zár. De mi van, ha nem nyomod a gombot? Akkor "lóg" a levegőbe, és ki van téve sok mindennek (csernobiltól barátnő hisztije), és hol 1V lesz rajta, hol 4V, hol 0V. Olyan ez mint egy nem inicializált változó, aminek nem adsz értéket, lekérdezed, számolsz vele és nem várt viselkedést kapsz. Itt jön képbe a lehúzó ellenállás, egyszerűen a bemenetet lekötjük a földre. Azért kell az ellenállás, hiszen a gomb lenyomásával nem szeretnénk a tápot rövidre zárni. Ezen az ellenálláson gomb lenyomása alatt áram folyik, Ohm bácsi akinek azért elég széles körben ismert a törvénye meg is határozta az összefüggést, ami alapján számolható.
A gomb felengedett állapotában az ellenálláson nem folyik áram (amíg bemenetnek van deklarálva a láb, meg amíg belül van még a füst az ic-ben, mert ha már kiszabadult onnan, akkor ez nem feltétlen igaz)Egy szó mint száz, az ellenállás meghatározásához figyelembe kell venni, hogy mennyi áramot akarunk átfolyatni az ellenálláson, ezt bírnia kell a tápnak, a kapcsolónak, a vezetéknek, és persze az ellenállásnak is. Nem érdemes sem túl kicsire méretezni, sem túl nagyra. Ha nincs kedved számolni, akkor 5V nál használj 10KOhmost.
Azt, hogy mikor le, mikor felhúzó ellenállást kell alkalmazni, az függ, hogy mi legyen pl az alapértelmezett bemenet. Ha gomb nyomáskor 0V-t akarok, akkor felhúzó kell, alapértelmezett 1 lesz, mikor nem nyomod a gombot. Vannak alkatrészek, pl egy 3 lábú hőmérő ic, aminél megmondja a gyártó, hogy a digit lábat fel kell húzni 5V-ra, hogy működjön..
Az analóg bemenethez nem feltétlen kell le v. felhúzó ellenállás, ez függ attól amit rákötsz. Ott nincs nem értelmezett szint, de ott sem jó, ha nincs jel !
A feszültség osztóhoz minimum elő kell venni egy 8. osztályos fizika könyvet és átlapozni soros, párhuzamos, vegyes kapcsolás, eredő ellenállás. Röviden: Adott egy egyszerű soros áramkör, amire feszültséget kapcsolva, az áram megindul, átfolyik mindkét ellenálláson. Megint csak Ohm bácsi tv szerint számolható, hogy adott ellenálláson mekkora feszültségek lesznek, de a sorba kapcsolt ellenállásokon eső feszültségeket összeadva megkapod a rá kapcsolt feszültséget, mondhatjuk fordítva is, hogy a rá kapcsolt feszültség megoszlik az ellenállásokon.
Miért kell két ellenállás? Az egyszerűbb válasz, hogy nem kell minden esetben. Az áramkörödnek (annak a résznek amit így bekötsz) is lesz egy ellenállása, ha ezt ismered, akkor a másik ellenállást ehhez méretezve is lehet feszültséget osztani. Példa, az áramköröd (fekete doboz, nem tudjuk mi az) 10KOhm ellenállású, 6V-t szeretnél rákapcsolni a 9V-os elemről. 5KOhmot sorba kötsz, feszültség megoszlik, áram folyik, happység van, a 9V táp 15KOhmot kap, le tudja adni az áramot elég tartósan, nem melegszik, stb.Általában azonban nem így van ! Egyrészt nem tudod az ellenállást, másrészt pl egy arduino bemenete nem úgy működik mint egy rezisztiv rész, pl egy analóg bemenetre akarsz adni 2-3V-t (ezt akarod tudni, hogy mekkora, de nem akarod, hogy ott áram folyjon). A csak sorba kötsz egy ellenállást, akkor oda igen nagy ellenállást kell sorba köss, és ráadásnak maga a bemeneti fesz sem lesz stabil, stb.
A párhuzamos kapcsolásnál, ha a két ellenállás nem egy nagyságrendbe esik, akkor bár a feszültség esés ugyanakkora a nagyobbik ellenálláson nagyságrenddel kisebb áram folyik, ami azt jelenti, hogy ez többé kevésbé elhanyagolható. (100x aránynál ugye 1% lesz). Nos ebből kifolyólag a méretezésnél nem foglalkozol vele, tisztán rezisztiv alkatrészekkel méretezed a feszültség osztót, majd a bemenetre kötöd az így osztott feszültséget, ami azonnal beleszól mindenbe, de jó méretezésnél csak 1% eltérés lesz... -
fpeter84
senior tag
válasz
Teasüti #2754 üzenetére
Szerintem ne relékben gondolkodj, nettó önszivatás - lassú, zizeghet (prell), csattog, fogyaszt, drága - félvezetőkkel sokkal egyszerűbb megoldani, de tényleg!
Kimenet: a fogyasztó pozitívja fixen a tápon (biztosíték persze kell valahová), a MOSFET pedig földre húzza és ezzel kapcsolja be
Ha egyéb félvezetős áramkört akarnál bekapcsolni arra nem feltétlenül használható, mert ha valami egyéb bekötésén keresztül kezd földelni az minimum parajelenséget okozhat, de akár tönkre is mehet. De LED/izzó/relé/motor stb stb ilyesmik kapcsolására ideális mert minimális a szivárgó áram, alig melegszik...
Digit és analóg bemenet: a kulcsszó a feszosztó! 2 ellenállás az egész, itt van egy kalkulátor hozzá... Ha autóról, vagy valami más külső jelforrásról van szó akkor ajánlott még 2 schottky-t is betervezni - ezek megeszik a túlfeszt, tüskéket...
Izolált digit bemenethez pedig opto:
A felhúzó ellenállás az arduinok bizonyos lábain el is hagyhatóak, mert van bekapcsolható belső felhúzó rajta...
-
gyapo11
őstag
válasz
TESCO-Zsömle #2687 üzenetére
Szerintem szét kell választani a projectet egységekre, és elkezdeni fölépíteni.
Pl. TSOP a távirányításhoz, próbáltam, működik.
Érintőt szerintem külső áramkörökkel a legkönnyebb, ha jól emlékszem
cmos ic-ből láttam rajzot, két oszcillátor, az egyikbe kapcsolódik az
érintőfelület, elhúzza a frekit, ebből kell csinálni jelet. Vagy két
felület, és az ujj vezetőképessége nyit mondjuk egy tranyót, ami a
felhúzó ellenállást testre húz. Ez már mehet is az arduinoba.
Ledsor sem bonyolult, csak ha sok a led, akkor meg kell gondolni, hogy
minden ledre jut-e arduino kimenet. Ha nem, akkor valami multiplexelés
kell, vagy shiftregiszter.
Ezekből már megy a vezérlés, a hangerő, hangszín és ki-bemenetek nem
tudom mivel lesznek, azokhoz kell illeszteni a jeleket. -
gyapo11
őstag
válasz
soldi3r #2524 üzenetére
Talán még abból az időből ered, amikor az npn tranzisztorok gyártása egyszerűbb volt mint a pnp-ké. Az npn-t pedig fölhúzó ellenállással jó kinyitni, és testre húzással lezárni.
Ha tápot kapcsolna a nyomógomb, akkor egy ellenállással több kellene, mert nem lehet a bázist a tápra kapcsolni, viszont kellene lehúzó ellenállás is. A lehúzó ellenállás nem lehetne nagyon kicsi, mert akkor nem tudná eléggé felhúzni a nyitáshoz a nyomógombbal sorbakötött ellenállás. Ha meg elég nagy a lehúzó, akkor szivárgás, koszolódás, pára miatt könnyebben ki tudna nyitni a tranyó, hamis jelet adva ezzel.
Az alacsony aktívnál viszont bármekkora felhúzó lehet, mert a nyomógomb közvetlenül a testre zár kb. 0 Ω-os ellenállással. -
gyapo11
őstag
Nem csak a diódán, hanem az ic sem tudja 0-ra húzni, ott is van egy tranyó, aminek a szaturációs feszültsége hozzáadódik a dióda nyitófeszültségéhez.
Ha ennél a kapcsolásnál akarsz maradni, akkor vagy feteket kell rakni a 138 kimeneteire, akkor közel 0 lesz a fesz, a dióda után 0.7, az már jó lesz LOW-nak. A diódát is cserélheted schottkyra vagy germániumra, ha még lehet kapni ilyet, ezeknek kisebb a nyitófeszültsége. Vagy az arduino input pinje elé teszel jelformáló kapcsolást, ami az 1.4-ből közel 0-át csinál. Ez lehet alkalmas ic, vagy két tranyós-zéneres áramkör.
De azt is lehet, hogy nem ezzel a módszerrel olvasod le a gombokat, hanem pl. shiftregiszterrel, és akkor nem kell dióda, csak felhúzó ellenállások és gombok testre, az garantáltan 0 lesz megnyomva. -
zka67
őstag
Szia, az alacsony szint 0.8V-ig tart. Használj schottky diódát, pl BAT54A-t, ebben kettő is van, neked megfelelő bekötéssel. A felhúzó ellenállás ne legyen kisebb 10k-nál.
(#2403) dave0825 Szfvár. Ha nincs szkópod, kérj kölcsön valakitől, ha tudsz vagy vegyél egyet
-
tvamos
nagyúr
válasz
Pubszon #1819 üzenetére
Ezt én értem. Nekem is volt ilyen gondom régen. Én kidobtam az összes shift regisztett a retekbe. Elavult technológia.
Tegyél kisebb értékű felhúzó ellenállásokat! Az szerintem segíteni fog valamelyest. Ha ront a dolgon, akkor meg legalább tudjuk, hogy földlelési, vagy táp gondod van. -
Pubszon
veterán
válasz
Gergosz2 #1780 üzenetére
Most kipróbáltam, hogy 50 méter (25 oda, 25 vissza )UPT kábelen mi történik az 5V-os jellel.
25 méterre vezettem el egy gombot.
Szépen visszajött ahogy kell, 10KOhm-os felhúzó ellenállást használva.
Össze hasonlítom még analóg bemeneten is, hogy mennyit esik a fesz a 20cm-es dupon kábelhez képest.
Csak érdekességképpen írtam le. -
gyapo11
őstag
válasz
dave0825 #1751 üzenetére
Nem látom a kapcsolást, amit megcsináltál. Találtam a neten persze, de nálad melyik van? Amit én láttam, abban van tápszűrés is, meg plusz felhúzó ellenállás is.
Mindettől függetlenül nehéz elképzelni, hogy egy villanykapcsolás befütyül egy hexa kódot az infravevőbe. Bentebb lesz az ok, amiért meghúz a relé. -
gyapo11
őstag
válasz
DougButabi #1402 üzenetére
A DHT22 adatlapja 20 m-t ír, van felhúzó ellenállás, jó lehet lakásba.
Azt, hogy mennyit kell fűteni nem időmérésre megy, hanem hőfokra. Olyan feladatnál gond az idő elvesztése, ahol időre megy. Pl. melegvízzel feltöltött puffer keringetése x ideig, keringető szivattyú leállítása kazán kikapcsolása után x idővel, kazán kikapcsolása és bekapcsolása között x idő várakozás minimum. De a keringetési feladatokat lehet hőmérsékletre is, és akkor az idő kiesett, szóval a megfelelő programozással is sokmindent meg lehet oldani. Viszont teljesülő feltételeket kell programozni, hogy ne fordulhasson elő a megfelelő hőfokot nem elérve a folyamatos szivattyúzás. Pl. a puffer induló hőfoka 30, a program elkezdi keringetni és vár egy 10 fokos hűlést, de azt nem éri el, ezért egész nap megy. Tehát jól kell meghatározni az értékeket. -
gyapo11
őstag
válasz
nemethbuda #1305 üzenetére
Szerintem jó ellenállás nélkül is a belső felhúzó ellenállásokat használva. Abban az esetben, ha ezek a kapcsolók nincsenek sehova bekötve, csak az arduinora. Ha mondjuk 12 V-ot, vagy 230-at kapcsolnak, az más eset, ott kell valami illesztés, esetleg galvanikus leválasztás.
pinMode(4, INPUT);
digitalWrite(4, HIGH);
Ezzel a felhúzó ellenállás bekapcsolva, a kapcsolót pedig a pin és a test közé kell tenni. Kikapcsolt állapotban high-t fog beolvasni, bakapcsolt állapotban pedig low-t. -
zka67
őstag
válasz
dave0825 #863 üzenetére
Hogy miért nem szimmetrikus a kapcsolás? Mert a proci kimenete sem szimmetrikus. A proci kimenetét úgy képzeld el, hogy van egy NPN tranzisztor (a valóságban mosfet), amelyiknek az emittere a gnd-re van kötve, a kollektora a kimenet, és a kollektor és a táp között van egy ellenállás (~20K-50K).
Nos, amikor a kimenet alacsony, azaz nyitva van a tranzisztor, azon elég nagy áram át tud folyni, és ez elég a PNP tranzisztorok kinyitásához. Amikor ez a kimenet magas, az ellenálláson keresztül tud annyi áram folyni, hogy teljesen le tudja zárni a PNP tranzisztort. De az NPN tranzisztorok vezérléséhez már nem elég a belső ellenálláson átfolyó áram. Azaz, ha a kimenet alacsony, akkor az NPN tranzisztort biztonsággal le tudja zárni, ezzel nincs is gond. Viszont ha magas a kimenet, a 20-50K közötti belső ellenálláson keresztül nem folyna annyi áram, ami a tranzisztort ki tudná nyitni. Ezért kell "rásegíteni" egy külső, u.n. felhúzó ellenállással. Az ellenállás értékét úgy kell megválasztani, hogy a proci kimenetét se terhelje túl, amikor az alacsony szinten van, de átfolyjon rajta annyi áram, ami bőven elég a tranzisztor teljes kinyitásához.
Ha komplementer tranzisztoros kimenete lenne a procinak, nem lenne semmi gond, meg tudná hajtani mindkét típusú tranzisztort. De nem ilyen a kimenete, hanem még a "régi időkből" megmaradt felhúzó ellenállásos módszert használják. Ennek is vannak előnyei, mert így egyszerre lehetett ki- és bemenetként is használni egy lábat. Hogy hogyan? Amikor a kimenetre 0-t írsz, akkor a láb kimenetként viselkedik, és lehúzza a vonalat nullára. Ha 1-et írsz a kimenetre, akkor a felhúzó ellenálláson keresztül jut magas szint a kimenetre. De kívülről is működik ugyanez a mutatvány: le tudod húzni nullára a kimenetet, vagy hagyod magasban. És kiolvasva a portot megkapod az így már bemenetként viselkedő láb állapotát.
Próbáltam mindenki számára érthetően leírni, remélem sikerült, és megértetted.
-
zka67
őstag
válasz
dave0825 #856 üzenetére
Jó is, hogy szóba került az 1K-s ellenállás, mert lemaradtak a rajzodról az 1K-s és a 4K7-es ellenállások.
A BC337-ek bázisa és az arduino kimenetei közé kell egy 1K-s ellenállás, és valószínűleg fog kelleni ezeknek az arduino kimenetek és a táp közé is egy 2K2, mert nem vagyok benne biztos, hogy az arduinoban levő felhúzó ellenállás elég lesz a tranzisztos kinyitásához.
A BC327-ek bázisa és az arduino kimenetei közé kell egy 4K7-es ellenállás, különben azonnal kinyírod az arduino kimeneteit.
Légyszíves javítsd a rajzodon és töltsd fel ide, hogy megnézhessem.
Továbbá te csak BC337-ek vásárlásáról beszélsz, remélem a BC327-ek helyett nem azt akarsz betenni, mert az egyik NPN, a másik PNP tranzisztor.
Új hozzászólás Aktív témák
- Arc összefoglaló szerkesztés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Itt egy pár fotó az iPhone 17 sorozatról
- Miért álltak az oldalak egy hétig, mi történt?
- Kerékpárosok, bringások ide!
- Milyen egeret válasszak?
- exHWSW - Értünk mindenhez IS
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Építő/felújító topik
- iPhone topik
- További aktív témák...
- ASUS TUF Gaming A15 FA507NUR - 15,6" FHD 144Hz - Ryzen 7 7435HS - 16GB - 512GB -RTX 4050 -3 év gari
- Telefon felvásárlás!! iPhone 16/iPhone 16 Plus/iPhone 16 Pro/iPhone 16 Pro Max
- Bomba ár! HP EliteBook 840 G4 - i5-7GEN I 16GB I 256GB SSD I 14" FHD Touch I Cam I W10 I Garancia!
- Telefon felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- MacBook Pro 16 2021 M1 Pro 16GB 512GB 1 év garancia
Állásajánlatok
Cég: FOTC
Város: Budapest