Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Ok, látom már leírtad.
Attiny85-ben is van belső 64 MHz órajel a PWM-nek.
Annyira nagy szórástól nem kell szerintem tartani! A segéd PWM ráadásul simán skálázható, így az ellenállás konkrét értékéhez jusztólható szoftveresen is...
Cserébe bármelyik procin megy alapfrekvencián a 2x akkora felbontás, amiben van 2 PWM erre a célra!
Pontosan mi a problema a gyari D/A konverterekkel? Milyen feltetelnek/elvarasnak nem felelnek meg? Csak kivancsi vagyok mi miatt eri megennyi energiat es plusz fejlesztest belerakni
Jelenleg egy gyári 16bites D/A van benne, +1 bittel kiegészítve (arányos ellenállásokkal). Arra jutottunk, hogy a labortáp kimenetén jelen levő alacsony frekvenciás zajt (1..2mV) ez a D/A okozza... Viszont a tesztként bekötött PWM-es megoldással, és 6,5 digites multiméterrel mérve a táp kimenetet a 100µV-os érték stabilan állt.
Lehet, hogy ez lesz, de kíváncsi vagyok a lehetséges alternatívákra.
Milyen D/A-at hasznaltok?
Tavaly en jatszottam 12 es 16 bitessel is. A Microchip 12 bitesnel mondjuk nem is a felbontas volt a lenyeg hanem a nyolc kimenet (oreg, nagyon ritka, Digivisor Mark 2 analog kijelzot vezerelt) Viszont a 16 bites LTC1655 az egesz jol muzsikalt. Zajra kihegyezve nem mertem, de nem is nagyon lattam a szkopon (Egy keszulo muterhelesben probalgattam, a zaj meg nem volt kerdes ebben a fazisban) Az arakra nem emlekszem, az LT talan nem a legolcsobb valtozat.
Akkor lehet, hogy csak a 8 bites adatokat igazítja 16 bites határra, de ezt egyformán teszi mindkét esetben, szóval ez rendben van. Az újraindulás viszont gyanus, esetleg nem elég nagy a stack mérete?
Az adatlapja eleg alacsony zajt iger. Azt irtad, hogy alacsony frekije volt a zajnak, ez mit jelent ?
Néhány Hz-es tartomány lehet, gyakorlatilag a multiméteren nézve imbolyog 1...2 mV-ot a táp kimenő feszültsége. Először azt hittük hogy a táp hibája, de kiderült, hogy a D/A ból jön...
Ez egy eleg erdekes problemanak latszik, kivancsi vagyok sikerul-e megoldanotok. A 100uV azert eleg ambiciozus es szep eredemeny lenne. Az R&S tapom (HMP2030) is billeg neha 1mV-on.
Úgy néz ki, hogy igen. 8ról 16 bitesig igazit.
Az MQTT typeefben 2db uint8_t változó van, a DDNS-ben meg csak 1, és ott csak 1-el több byte-ot foglal a kiszámítotthoz képest. A stack méretét, hol ellenőrizhetem/módosíthatom? Teszt: Az eszközök fülön, az MMU-t 32/32(balanced)ről 16/48(IRAM)-ra állítva nincs változás. Amit épp "javítok": Egész sok Serial.print()-eket használok, ezeket cserélem Serial.println( F("")); és Serial.printf_P( PSTR(""),);-ekre ezzel a ╠══ RODATA xxxxx constants-okat csökkentve. Hogy ezzel pontosan mit teszek nem tudom, csak dióhéjban, úgy gondolom, hogy RAM-ból rakok át adatot, amik konstansok (text/string) és mennek a Flash-be. Igaz valamivel lassabb a kód, de egy-egy String-et Serialon kiírni pár másodpercenként vagy akár csak percenként bőven megéri. Jelenlegi memória (RAM/FLASH) használat: . Variables and constants in RAM (global, static), used 55144 / 80192 bytes (68%) ║ SEGMENT BYTES DESCRIPTION ╠══ DATA 2704 initialized variables ╠══ RODATA 21176 constants ╚══ BSS 31264 zeroed variables . Instruction RAM (IRAM_ATTR, ICACHE_RAM_ATTR), used 45679 / 65536 bytes (69%) ║ SEGMENT BYTES DESCRIPTION ╠══ ICACHE 16384 reserved space for flash instruction cache ╚══ IRAM 29295 code in IRAM . Code in flash (default, ICACHE_FLASH_ATTR), used 370480 / 1048576 bytes (35%) ║ SEGMENT BYTES DESCRIPTION ╚══ IROM 370480 code in flash SB
Sziasztok
Ma, volt időm probálgatni a triak vezérlést, egyelőre müködik is Ha valaki érdekelt a témába és tökéletesítené, az jól jönne Ime a kódók MeLYiket ajáljátok használni ? A hozzászólás módosítva: Márc 24, 2024
Moderátor által szerkesztve
Szia, ahogy látom a stack mérete itt fix 4k, azt nem tudod növelni, viszont a konfigurációban be lehet kapcsolni a stack protection-t, ami stack overflow esetén exception-t generál. Az exception-ből kiderül, hogy a stack volt kevés.
De ha már exception, megnéztem az első üzenetedben lévő exception-t és annak a oka : 9 = Unaligned read/write operation addresses excvaddr=0x00000001 Ennek értelmezésében a Tools / ESP Exception Decoder segíthet, hogy a melyik kódrészlet végrehajtása során keletkezett az exception.
Ezt a procit nézegettük: STM32H503.
250MHz-en megy, van benne 32 bites timer, és az ára sem horribilis. Ezzel 18 biten kb. 1kHz, 19 biten kb. 500Hz lenne a PWM frekvencia. Ez utóbbi elvileg kb. 0,25mV körüli lépéseket tenne lehetővé a 120V kimenő feszültségig. Persze lehet, hogy a gyakorlatban nem, de majd kiderül.
Mar regebben is nezegetem ezt a tap projectet, amin dolgoztok, mar az eddigi eredemeny is kivalo.
Ezert mondtam, hogy ambiciozus a terv, 120V-os max kimeno mellett az a felbontas nagyon szep lenne.
A tegnapom ráment a Serial.print()-ek módosítására.
Ezen felül sok HTML oldalt, oldal részletet, tudtam Flash-be lementeni... A végeredmény... WTF? Első érdekesség ami feltűnt induláskor a Serial terminálban, hogy a 3.dik NTP szerver neve helyett, ami amúgy is üresen szerepel, azt írta ki, hogy: ESP8266HTTPClient Cntrl+F keresés az összes fülön, de sehol semmi. Ezt a text-et nem irtam be sehova, szóval ez is honnan jön? Most már a Webes felület nem nagyon megy, hacsak a Flash-ből vissza nem rakom a RAM-ba. Pedig már megpróbálkoztam a Serial.print()ek kikommentelésével is (kb 80%), de semmi. Sőt, már olykor a Serial is krix-kraxokat is kiköp, de nem csak 1-1 string/text között, hanem szövegen belül... Idézet: „2 networks found: 00: [CH 06] [Én töröltem ki] -90eBm * V 802.11b/g/nH�� �K��&{R� a01: [�H 50_ [Én töröltem ki] -37dBm * V 802�11b/g� ���$�(�%�IPV����$닁�������) �����ѥ� mDNS respo�YY.�.W�ѽ�5)�LLMNR responder started for: ESP82��00 ���-� �����ѥ���5)���Q���=��͕������jR���}����ѕ}����rval: 3600000 startNtPFoo() has Started�RBEEڹ�.W�.WVH�H�OTA Ready Init_HW_Timer0() I�ѥ���镑5)�D5� ds362��E����MՍ���́��Ɂ�����]��ṑ�����5)J�����L���r���r�ʢjR�Epoch Time: 171��ӓ'�O�Curren]HQX]�H&�.25 1 9:1:20:835 Current DateTime: 2024.03.25 1 09:01:20:836 Scanning... I2C devڬ�֫����с���ɕ�́���� jR�done ESP8266 Compiled: Mar 25 2024 08:42:04” Most két dologra tippelek. 1. ESP8266 flash kezdi megadni magát... 2. Compiler hiba. Az Flash-re azért gyanakszom, mert ezt az ESP-t nyúzóm amióta megvan (2-3éve), most kezdtem el az EEPROM könyvtárat is használni és lehet, hogy nem csak 1-2x futott le a EEPROM.commit(); parancs. Megnézem másik ESP-vel hátha... SB
A ESP8266HTTPClient text szerepel ITT:
Innen jön valószinüleg, de hogy kerül oda. ESP-n a PGM_P és PGM_VOID_P sima typedef:
Emiatt amikor egy _P végű függvényt felhívsz, nincs fordításkor ellenőrizve, hogy ott valójában flashre vagy ramra mutat a pointer, de nyílván csak a megfelelővel működik. Végig kellene nézned, hogy mindenhol korrekt a paraméter, azaz a megfelelő helyen használod a flash változókat.
Erre megvan a válasz...
Szimplán idióta vagyok... 3-mat írtam be 2 helyett a tömbbe... Ez megoldva. Viszont a weboldalak flashből egyáltalán nem mennek. Pedig tegnap még jók voltak. Visszaraktam mindent a RAM-ba és most megy. Persze az MQTT hiba is még fennáll, ami miatt kezdtem bele a Flash használatába. Én igy olvastam be az adatokat:
A Serial.printf_P()-eket megy így helyettesítettem, ahol lehetett: SB
Ez így biztosan nem jó:
Honnan tudná szerencsétlen fordító, hogy a flash-ből kellene kiolvasnia. Kap egy char* pointert amivel a flash helyett a RAM azonos címéről ad hozzá valamit, amit ott talál. Ez kellene:
vagy ez
Sziasztok!
Az Legacy Arduino IDE 1.8.19 alá szeretnék valamilyen dark témát feltenni, mert nagyon bántó a világos szín. Sajnos nekem az többszöri nekifutásra sem sikerült. Próbálkoztam a "Appdata" könyvtárba is tenni a témát, illetve a ProgramFiles(x86)-ba, az eredmény mindig az volt, hogy az egész IDE-t újra kellett húznom, és újratelepíteni az összes bővítményt, mert sérültnek mondta a fájlokat. Ezt már negyedik alkalommal tettem meg. Van valakinek ötlete, ahhoz, hogyan tudnám mégis sötétté tenni az IDE-t, úgy, hogy ne kelljen pilóta vizsgát sem tennem közben? (Már arra is gondoltam, hogy invertálom a színeket a monitoron valahogy...) Segítségeteket köszönöm! A hozzászólás módosítva: Márc 27, 2024
Gugli "arduino theme", pl. Bővebben: Link
Elvileg akkor a documents könyvtárba kell egy arduino könyvtárat létrehoznom és ott megtalálja? Kipróbálom hátha így.
Szerintem nézz utána hogyan kell portable módba telepíteni az arduinót, akkor egyszerre több egymástól független verzó is lehet telepítve, nálam pl a c: meghajtón ezek az arduinók vannak feltéve:
c:\Arduino167\ c:\Arduino169_230\ c:\Arduino184_ESP32_\ c:\Arduino185_8266_241\ c:\Arduino185_8266_242\ c:\Arduino185_8266_old\ c:\Arduino185_ESP32_ANET\ c:\Arduino188_8266_263\ c:\Arduino188_ESP32\ c:\Arduino188_ESP32_20200126\ c:\Arduino18p13_8266_202101\ c:\arduino18p13_ESP32_20200531\ c:\Arduino18p13_ESP32_202101\ c:\Arduino18p15_ANET\ c:\Arduino18p15_ESP32_202112\ c:\Arduino18p15_ESP32_20220224\ c:\Arduino18p15_ESP32_20220224_lcd\ c:\Arduino18p15_STM32\ c:\Arduino18p19_8266_202303\ c:\Arduino18p19_ESP32_202305\ c:\Arduino18p19_ESP32_20230905\ A projektjeimbe meg mindig beleírom melyik verzióval lett fordítva. Ezek a könyvtárak sima másolással archiválhatók, visszatölthetők az összes libraryjával sallangjával együtt. Egyszerűbb egy ilyenen kisérletezni... Sajnos az arduino2*-ba tudtommal még nem csinálták meg a normális portable változatot Egy macera van az .ino fájlon "nem illik" kattogni, mert ugye csak egy arduino verzió rendelhető hozzá, javasolt a megfelelő arduino exe verzió parancsikonját tenni a project mappába... A hozzászólás módosítva: Márc 27, 2024
Köszönöm szépen a javaslatokat! Így már megy a Flash-ből való betöltés.
Ami furcsa, hogy az én (nem jó) kódom is ment egy darabig, azért sem gondoltam, hogy hibás lenne. A másik Flash-el kapcsolatos problémámra. Default változók Flash-ből RAM-ba betöltése.
Viszont még az MQTT csak 1x tud elindulni... Ha egy úja indítássá (ReInit)-el próbálkozom, akkor az ESP rebootol. Ezért bekapcsoltam a ArduinoHADefines.h könyvtárban a #define ARDUINOHA_DEBUG -ot. Így megkapom induláskor ezt Serial-ban: Idézet: „AHA: init server tesztnet.ddns.net:1883 mqtt_flags: 7 // saját dedug MQTT is Inited // saját dedug AHA: MQTT state changed to -5, previous state: -1 AHA: MQTT connecting, client ID: XXXXXXXXXX AHA: MQTT state changed to 0, previous state: -5 AHA: MQTT connected” Viszont sehol sem kapok ilyesmit: AHA: MQTT state changed to -1, previous state: 0 AHA: MQTT disconnected[/quote] Tehát jelenleg úgy néz ki, hogy az HAMqtt könyvtár az ami nem fut le jól és a rossz state változó miatt omlik össze. SB
Kérjük, maradjatok a témánál! A helyesírás kérdése nem tartozik ide.
A hozzászólás módosítva: Ápr 2, 2024
Na jó, hagyjuk ami elmúlt.
Sikerült megzaboláznom az SDM630-at, nagyon jól működik <SDM.h> könyvtárral (egy kicsit lassúnak vélem - három érték kiolvasása kb. 1550-1600 msec, Serial kiírással együtt de azért remélem megteszi). Íme a három fázis Watt-ba. A hozzászólás módosítva: Márc 31, 2024
BluePill-t szeretnék programozni, de az ST-Link és a BluePill között viszonylag hosszú vezetéket szeretnék használni. ST-Link util esetében, (a hosszú vezeték miatt) csak akkor ismeri fel a processzort, ha a default 4,0MHz-es SWD frekvenciát kisebbre csökkentem.
Arduino esetében hogy lehet kisebbre állítani az SWD frekvenciát? |
Bejelentkezés
Hirdetés |