Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Szia!
Ezt most nem értem, kifejtenéd? Idézet: „Úgy tűnik, nem olvasta az okfejtésem, miszerint 8 cellánál 100mV, 15cellánál már csak 200mV pontossággal tudnánk feszültséget mérni cellánként...”
Üdv Mindenkinek!
Van egy csodás SIM800L GSM modulom, ami a linkben található. Ezt szeretném megéberelni egy egyszerű kóddal, hogy tudjon csörgetni, meg sms-t küldeni. Nem jutok vele dőlőre sehogyse és már nagyon ideges vagyok. AT parancsokkal megyen... hív is meg minden, de nem soroson keresztül akarom irsogálni, hogy mikor hívjon és mit küldjön... a példák nem mennek... úgyhogy kifogytam az ötletekből. Minden működik amúgy, csak a soros kommunikáció nélkül nem akar dolgozni a kis rohadék. Van valakinek ötlete, vagy esetleg használt-e már ilyet? Előre is köszönöm! SIM800L modul
Hasonló dolog csinálok (ugyanezzel a modullal), milyen könyvtárat használsz?
SIM800l és SIM800L Library Revised
Ez a két könyvtáram van feltéve.
Magyarul el akarod altatni, és amikor használni akarod felébreszted, és hívsz vagy SMS-ezel?
Nem érted amit írtam, nem kellene 63V-ot bírnia. De mindegy is, az alkotó majd eldönti hogy mit akar, én nem erőltetem, csak leírtam amit gondoltam, és ha őt érdekli majd bővebben kifejtem.
A hozzászólás módosítva: Aug 9, 2017
Leírhattad volna konkrétabban is, hogy ne kelljen találgatni. Tehát leosztanád a 63V-nyi akksipakk minden celláját mondjuk 5V-os tartományba, tehát egy cella feszültsége 5/63-ad részre csökkenne, vagyis 4.2V helyett 0.33V-os lépés jelentene egy cellát. Ebből 15db adja ki az 5V-ot. Koblog most figyelj: ha 10bites ADC-vel mérjük ezt (tegyük fel, hogy az 5V atomatabil), akkor a legkisebb mérhető feszültség változás 5V/1024 lesz, vagyis 5mV. Ez normális cellafeszültségre visszaszámolva 63mV (ugye 5/63-ad arányban csökkentettünk, most növelni kell). Az ADC nem profi szerkezet, ingadozik. +-2 bit-tel simán számolhatunk mint legrosszabb eset, tehát a mért értékünk +-126mV-ra közelíti meg a cella valós feszültségét. Ez lehet akár 0.256V hiba is, nekünk ennél pontosabban kellene mérnünk. Ha tbarath ezeket az értékeket szeretné felerősíteni LM358-cal, akkor 8db IC kellene, hozzá pedig legalább 15x3db ellenállás (kalibrálásról még nem volt szó). A cellák feszültségét jó lenne 10mV pontosan mérni, ami itt, az 5V-os tartományban már csak 0.8mV lesz. Tekintve az LM358 3-6mV-os offset hibáját, nehéz lesz a dolgunk... Más IC-t lehet használni, de drágul az egész. Esetleg 16bit-es ADC-vel jutnánk előrébb, de a balanszoláshoz még minsig kelleni fog vagy 15 optocsatoló (ami lehetne akár a kommunikáció optoja is), vagy meg kell oldani 15x tranzisztorral és ellenállásokkal a szintillesztést.
A hozzászólás módosítva: Aug 9, 2017
Itt a töltő, mint említettem elektromos kerékpár, Li-Ion -os akkuhoz való töltő, áramgenerátoros és feszültséggenerátoros funkcióval. És hidd el, töltöttem már pár cellát, tudom hogy kell őket tölteni.
A töltés ki és bekapcsolását a töltő elvégzi maga. És én egy szóval nem említettem, hogy túltöltöm a cellákat. Épp azt mondtam, amint a cellafeszültség eléri a 4.2V -ot valamelyík cellán, a hozzá tartozó SLAVE eszköz bekapcsolja a balanszálási funkciót, így az adott cellán nem alakulhat ki nagyobb feszültség, szoftverből lesz benne némi hiszterézis, ami pl 4.0V -nál meg kikapcsolja a balanszálást. A folyamat pedig addig folytatódik, míg a töltő úgy ítéli, hogy elég kis áram folyik és kikapcsol... A hozzászólás módosítva: Aug 9, 2017
A 3-5 cellás balanszer kevés 15 cella balanszálásához, és nem tudom, hogy lehet -e azokat sorba kötni. Egy 15 cellás 30A -es BMS pedig kb 40$, és ez még az adatgyüjtést nem oldja meg, tehát az plussz költség. A leosztott feszültségű arduinos analóg bemenetre kötött cellamérőt azért vetettem el, mert a legalsó cella mérése lenne így a legpontosabb, viszont a legmagasabb cella mérése pedig már sokkal rosszabb felbontással működne, tehát pontatlanabb lenne...
Én inkább attól tartok, hogy a soros kommunikáció két arduino között nem csak egy irányba történik. Pl ha a MASTER küld valamit, akkor a SLAVE visszafele is küld valamit...
Szóval ha a MASTER küld, és egyszerre 15 SLAVE kezd el visszanyugtázni (és itt most nem arról az adatokról beszélek, amit a szoftverből küldök vissza), akkor lőttek a pont multipont topológiájú soros adatátvitelemnek... Ezért kérdeztem, hogy konkrétan szoftveresen hogy is zajlik a két eszköz közt az adatfolyam?
Ha szoftveres soros portot használsz, akkor azt csak módosítani kell, hogy működjön. akár egyéni protokollt is kifejleszthetsz, hosszú-rövid fel-le húzásokkal küldhetsz adatot, a végén egy ellenörző összeget. Az is lehet, hogy az egyik Attiny automatikusan küld adatot, amit lát a többi, innetől tudja a 2., hogy neki kell küldenie, és így tovább. A mesternek meg se kell szólalnia, csak hallgatnia. Ha az első nem küld 2mp-en belül semmit, automatikusan ad a 2, és hibát jelez a mester is. Az adat lehet ilyesmi is. 2-es vagyok, 3.74V, 31dokC, balanszolás nem aktív, ellenörző összeg:xxx, hármas folytassa. Ezután jön a 3., és ugyanezt elmondja. Nincs nyugtázás, csak adás. Miért is kellene a mesternek a szolgákhoz szólnia? Mindegyik tudja mi a dolga.
Nem nem!
Jelenleg csak teszt lenne sms-re és hívásra. Majd ezután beleásom magam kicsit és kialakítom a saját kedvemre. Altatás kilőve... egyszerűen áramtalanítom és ha kell visszakapcsolom. Ez a tuti áramfogyasztás. ![]()
SMS-t tudok vele küldeni, ha írok neki válaszol is (csak az én számomra válaszol), de nem tudom rávenni hogy hívást indítson. "NO CARRIER" hibát ad.
https://github.com/VittorioEsposito/Sim800L-Arduino-Library-revised...endSms Ez a példa alapján küldök, ez működik nálam. Milyen paranccsal indítasz hívást?
Nekem ezzel semmit nem csinál, nem hogy sms-t.
Milyen formátumba kell a számot megadni? Én soros porton adom neki az AT parancsokat... azzal hibátlan, míg az ilyen progikkal nulla.
number="3630491xx63";
Ez az enyém.
Ha ez szivat...
Nem tudom jól fogalmaztam -e.
Tulajdonképpen én a hardveres soros portról beszélek, tehát pl az arduino nanon az 1-es TX, és a 2-es RX lábak. Az attiny85 -ön meg tegyük fel, az 5 -ös és 6-os lábak, bár ott valami uart van vagy mi a fene, konkrétan nem is tudom melyík annak a "hardweres" soros TX és RX port lábai. Én csak azért az 5 RX és 6 TX lábat választottam erre, mert más projektben azt láttam, hogy ezt a két lábat használják. De én akárhány attiny85 pinoutot megnéztem, egyiken sem láttam konkrétan TX és RX lábakat, szóval nem is igazán vagyok vele tisztába, hogy is megy ez, és miért pont ezt a két lábat használják. Persze az is lehet, hogy más lábakat is használhatnak, de én ezt találtam... A kommunikációval kapcsolatban pedig arra vagyok kíváncsi, hogy konkrétan hogyan is működik. Tegyük fel, a mester adni készül, (mintha úgy olvastam volna), hogy ez úgy történik, hogy a TX lábát alacsony szintre állítja, ez a start bit, és várja, hogy a drót másik végén lévő eszköz ugyanezt megtegye, tehát a szolga eszköz is alacsony szintre állítja a TX lábát, a mester ebből tudja, hogy küldheti az adatot. Ha viszont a mester nem érzékeli meghatározott időn belül, hogy a szolga alacsonyra állította volna a TX lábát, akkor a mester ismét magasra állítja a TX lábát, és bizonyos idő mulva megkísérli az adást ismét, ami szintén a start bittel kezdődik, ahogy az előzőekben leírtam... Szóval erről ha tudnátok adni valami magyar dokumentációt, hogyan is zajlik ez az nagyon jó lenne... A hozzászólás módosítva: Aug 9, 2017
Hát nem!
![]()
Nem megy?
Sehuva se. Totál halott. Nem értem meg esküszöm.
Próbáld meg visszaállítani az eredeti beállításokat a sim modulban, ATZ paranccsal.
A setup-ban ezek vannak nekem:
Én most így vagyok a hívás indítással, nem akar menni. Még azt nézd meg nincs nincs-e , azonos nevű (eltérő tartalmú) .h fent az arduino-ba, mert az is tud tréfás lenni. A hozzászólás módosítva: Aug 9, 2017
T85-ben nincs USART csak USI egység, ami 8-bites SPI. Mondjuk, 7-bites UART-nak épp használható lenne kifelé, de befelé nem, mert órajel vezérelt. Az általános soros nem bit, hanem byte-orientált, tehát a Startbit+adatbitek+Stopbit alkot egy frame-et. Ha kell kézfogásos üzemmód, akkor az vagy egy byte kiadása vagy külön hardver jel. Tehát kiadsz egy megszólító üzenetet és vagy jön válasz, vagy nem. Startbit idő alatt nem fog visszaszólni senki, várakozás meg meddő dolog, mert ha van egy startbited és utána sok 1-es, akkor az egy szabvány 0xFF adatot jelent kifelé. T85-nél a teljes soros üzenetet programból csinálják, tehát bármelyik láb lehet TX, RX meg (ajánlott) olyan, ami tud megszakítást kérni. Persze saját szabványt kitalálhatsz ezret, én is ácsoltam speciális célra furcsaságokat.
Sziasztok!
Automata ajtónyitót csináltam DC motorral és végálláskapcsolókkal ami a fényerőre vált. A problémám az, hogy néha ugál 2 érték között a fényerő, így meg megbolondul az egész. Van valakinek valami ötlete, hogy hogyan tudnám ezt kiküszöbölni?
Vigyél bele egy kis hiszterézist(nagyobb értéknél nyisson, kisebbnél zárjon, mint a jelenlegi) és szerintem próbáld ki ezt a libet, én szívesen használom analóg bemenetek zajszűréséhez.
Én egyértelműnek gondoltam, sajnálom hogy nem voltam az, csak épp rohantam.
És nem az lm358 a lényeg, hanem az elv. Tehetsz bele 4x OPA4317-et pl, vagy valami más low offset opampot. Kalibrálni természetesen kell, de ezt csinálhatod akár sw-ből is, mérsz multival, ezt összehasonlítod az ADC-ből kapottal, aztán megállapítod hogy mennyit csal. És igen, kell még mellé a 4 opa mellé 45 ellenállat is, és más passzív is jó eséllyel, de a másik módszerrel kell mellé kell 14 uC és 2x14 opto is, valamint mint a 15 uC-nek egymástól független táp. Szerintem ez a nehezebb út.
Köszönöm, holnap kipróbálom.
Miért kellene külön táp? Leírta már Roli, hogy ez egy akkupakk töltő, figyelő. Minden uC az akksiról megy, külön-külön celláról.
Jól van, saját szabványt eszemben sincs kitalálni hozzá. Jó az, hogy karaktert küldök át...
|
Bejelentkezés
Hirdetés |