Fórum témák

» Több friss téma
Fórum » Arduino
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Lapozás: OK   834 / 834
(#) pipi válasza gaspa hozzászólására (») Márc 9, 2024 /
 
https://forum-photovoltaique.fr/viewtopic.php?f=110&t=62475 JSY francia fórum, vannak jó linkek. Én nem beszélni FR, de google segít
(#) gaspa válasza pipi hozzászólására (») Márc 10, 2024 /
 
Köszi,megnéztem, egyenlőre ebben sem találtam a 3 fázisúról.Különben "a kocka el van vetve", megrendeltem a 3 db 2 csatornásat jó lesz az úgy.
(#) HA2SR hozzászólása Márc 12, 2024 /
 
Tiszteletem a fórum társaknak. Segítséget szeretnék kérni, a mellékelt program futtatásában. Program LCD hibával tér vissza. Vagy négy különböző könyvtárat is letöltöttem, de egyiket sem fogadja el, a zip könyvárba feltelepülnek. Nevezett program mellékletben található. Sajnos a programozáshoz nem értek, csak használni tudom, ha hibátlan a program. Segítséget előre is köszönöm.
A hozzászólás módosítva: Márc 12, 2024
(#) Ragathol válasza HA2SR hozzászólására (») Sze, 3:22 /
 
Tessék.

Bővebben: Link
(#) kameleon2 válasza HA2SR hozzászólására (») Sze, 16:01 / 1
 
Nem tudom, ki, hogy van vele, de egyre inkább megkedvelem a WOKWI oldalát. Egy fillér befektetés nélkül összerajzolom, amit csinálni szeretnék, megírom online a szofvert, a libeket is jól kezeli és leszimulálom a működést. Amikor már minden stabil, jöhet a hardveres szüttyögés. Igazából akkor döbbentem le, amikor soros párhuzamos átalakítót készítettem és a kommunikációt is tudtam tesztelni vele. Míg előfordult, hogy belenyúltam a Kínai únókba, aminek kisebb a memóriája. Aztán agyalhattam, hogy ugyanaz a szoftver az egyiken miért fut, a másikon meg nem.
(#) HA2SR válasza kameleon2 hozzászólására (») Sze, 16:58 /
 
Köszönöm a tippet, de teljesen kuka vagyok a program-hoz. Nem valószínű, hogy így 7xx -en túl már megtanulom. Ott maradtam 74xx sorozati IC-nél.
(#) HA2SR válasza Ragathol hozzászólására (») Sze, 17:00 /
 
Köszönöm, sajnos a LCD16x2 cpp hibás. Inkább ezt használom <LiquidCrystal_I2C.h>, de máshol is elakad.

Progi 0.jpg
    
(#) KoblogPerGyok válasza HA2SR hozzászólására (») Sze, 17:06 /
 
Szia!

Írja is, hogy miért. Lefelejtettél egy ";" karaktert az előtte lévő sor végéről. Az lcdwrite() -nak mit kellene csinálnia?
(#) pipi válasza HA2SR hozzászólására (») Sze, 17:07 /
 
Írja a hibát... az lcdwrite elől hiányzik a pontosvessző, vagyis igazából az előző sor végéről...
Ez nem az lcd lib hibája
(#) KoblogPerGyok válasza HA2SR hozzászólására (») Sze, 17:12 /
 
No meg halvány emlékeim szerint (5+ éve) az LCD init-nél kell a cím is. Az I2C kommunikációhoz kell. De ezt nem látom, vagy félreértem, akkor bocsánat. Azonban mi az LCD I2C címe? Ha nincs meg, akkor az I2C scennner ino-val meg lehet keresni. De nekem ez már régen volt, lehet félreértettem.
(#) KoblogPerGyok válasza KoblogPerGyok hozzászólására (») Sze, 18:23 /
 
Valami ilyesmi kellett, nem az init-ben volt:

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

De ez másik lib, nem az amit használt, de nem látom a címet egyelőre a kódodban sehol. Megjegyzés:
Nálam ennyi sem kellett. Cím, meg még más és ment.

Megtaláltam:

  1. #include <Wire.h>
  2. #include <LiquidCrystal_I2C.h>
  3.  
  4. LiquidCrystal_I2C lcd(0x3F,16,2);  // set the LCD address to 0x3F for a 16 chars and 2 line display


Nálam ez a lib vált be és így el is indult. De a tiédnek is mennie kellene, de szerintem a cím nem jó.
A hozzászólás módosítva: Sze, 18:24
(#) Jonni válasza HA2SR hozzászólására (») Csü, 12:32 /
 
A rózsaszin csik fölötti sor így kéne kinézzen -> lcd.setCursor(0, 0); ahogy pipi is írta.
(#) Ragathol válasza KoblogPerGyok hozzászólására (») Csü, 15:23 / 1
 
Nem szabványos LCD shield van használva a projektben.
LCD Shield sch pdf
LCD Shield oldala

Arduino ELS github
(#) pipi válasza gaspa hozzászólására (») Csü, 16:20 /
 
Hali!
Ma megérkezett a jsy194 villany mérőkém Gyorsan ideért, márc.1.-én rendeltem. Korrekt csomagolás két papírdobozban benne a panel szivacsban, és úgy pukizacsiban.
(#) gaspa válasza pipi hozzászólására (») Csü, 16:57 /
 
Én 9.-én rendeltem,de az Ali mostanában gyorsabb,nemrég rendeltem pár dolgot,hiába tettem egy kosárba,mindet külön hozták és sokkal előbb.Kíváncsi vagyok milyen libet használsz,amiket néztem nem minden funkció volt bennük.
(#) pipi válasza gaspa hozzászólására (») Csü, 19:04 /
 
Én is úgy látom, össze lehet ollózgatni, bár nekem valószinűleg elég az árammérés
(#) HA2SR válasza KoblogPerGyok hozzászólására (») Pé, 22:21 /
 
Köszönöm a segítségeket. Valamiért nem indul el, minden javaslatot kipróbáltam. Valószínű, le teszek erről, és egy másikat keresek. Ennek volt egy előnye a többi hasonlóval szemben, hogy a vágandó menet hosszát is programozta, automatikusan visszaáll, így a szinkronizálás kényelmes lenne.

Mindenkinek köszönöm a segítő szándékot.
(#) HA2SR válasza HA2SR hozzászólására (») Szo, 16:36 /
 
Nem hagyott a dolog pihenni, egy másik program szerkezete adta az ötletet. Az ino elindítása után kéri, hogy könyvtáron belül legyen, ez rendben, de a többi alkönyvtárt nem hívja, meg kézzel kel bemásolni. Másolás után elindul, problémát az a frxncos kijelző okozza, mert a gyári letöltés, amit ajánlottatok biztosan hibás, mert nem ismeri fel a zipet, azt mondja, nem tartalmaz megfelelő könyvtárat. Másik könyvárral (16x2) elindul, de egy ponton, amikor a gombokat keresi, elakad, mert ebben nincs gomb definiálva. Most már csak az a kérdés honnan lehet hibátlan OLIMEXINO-328-LCD16x2 könyvtárat letölteni.
Még egyszer köszönöm a hasznos információkat.
A hozzászólás módosítva: Szo, 16:39
(#) Ragathol válasza HA2SR hozzászólására (») Szo, 17:36 /
 
Üdv.

Pedig de, lefordul. Nincs semmi hiba sehol.

  1. Encoder-master könyvtár használata a(z) 1.4.4 verzión ebben a mappában: C:\Nextcloud\Dokumentumok\Arduino\libraries\Encoder-master
  2. LCD16x2 könyvtár használata a mappában: C:\Nextcloud\Dokumentumok\Arduino\libraries\LCD16x2 (legacy)
  3. Wire könyvtár használata a(z) 1.0 verzión ebben a mappában: C:\Users\B0nsh44\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire
  4. "C:\\Users\\B0nsh44\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-size" -A "C:\\Temp\\arduino_build_561178/ArduinoELS.ino.elf"
  5. A vázlat 13384 bájt (41%)-ot használ a program tárhelyből. A maximum 32256 bájt.
  6. A globális változók 985 bájt (48%)-ot használnak a dinamikus memóriából, 1063 bájtot hagyva a helyi változóknak. A maximum 2048 bájt.


Összecsomagoltam egybe az egész projektet.
Bővebben: Link

Kicsomagolni a Dokumentumok > Arduino mappába kell.

Az LCD16x2.cpp - ben lett "javítva" egy sor, ami nem "hiba", csak kényelmi dolog.
  1. Az #include "../Wire/Wire.h" lett "javítva" a #include "Wire.h" -ra.
(#) HA2SR válasza Ragathol hozzászólására (») Szo, 20:16 /
 
Köszönöm, a segítséged. Így már nekem is megy.
(#) andyka hozzászólása 8:44 /
 
Sziasztok
Három fázisra szeretnék fázishasitással melegitő ellenállásokat üzemeltetni, váltakozó intenzítással.
A terv egy Lolin32Pro -ra épülne, Dual-Core beállítással. Az egyiket csak a triákok müködtetésére használnám. A másik kérdezgetne egy SDM630 -at, beállítási felület, kb ennyi.
Probáltam összehozni egy kódot, sima időzítökkel, mellékelem.
A kérdésem az lenne hogy esetleg hiányzik-e valami belőle, vagy van-e benne valami felesleges ?
Életképes lenne ?
Lehetne még gyorsítani ?
  1. #define TrPin_1 27
  2.       #define Zcr_1  14  
  3.   #define TrPin_2 26
  4.       #define Zcr_2  12
  5.   #define TrPin_3 25
  6.       #define Zcr_3  15  
  7.  
  8. int dimm_1 = 5000;
  9. int dimm_2 = 5000;
  10. int dimm_3 = 5000;  // majd változnának
  11.  
  12. hw_timer_t *Timer_1 = NULL;
  13. hw_timer_t *Timer_2 = NULL;
  14. hw_timer_t *Timer_3 = NULL;
  15.  
  16. void ISR_1(); void onTimer_1();
  17. void ISR_2(); void onTimer_2();
  18. void ISR_3(); void onTimer_3();
  19.  
  20. void IRAM_ATTR onTimer_1(){ digitalWrite(TrPin_1, HIGH);
  21.                             timerAlarmDisable(Timer_1); }
  22. void IRAM_ATTR onTimer_2(){ digitalWrite(TrPin_2, HIGH);
  23.                             timerAlarmDisable(Timer_2); }
  24. void IRAM_ATTR onTimer_3(){ digitalWrite(TrPin_3, HIGH);
  25.                             timerAlarmDisable(Timer_3); }
  26.                            
  27. void IRAM_ATTR ISR_1(){ digitalWrite(TrPin_1, LOW);
  28.                         timerWrite(Timer_1, 0);
  29.                         timerAlarmWrite(Timer_1, dimm_1, true); }
  30. void IRAM_ATTR ISR_2(){ digitalWrite(TrPin_2, LOW);
  31.                         timerWrite(Timer_2, 0);
  32.                         timerAlarmWrite(Timer_2, dimm_2, true); }
  33. void IRAM_ATTR ISR_3(){ digitalWrite(TrPin_3, LOW);
  34.                         timerWrite(Timer_3, 0);
  35.                         timerAlarmWrite(Timer_3, dimm_3, true); }
  36.                        
  37. void setup(){
  38. pinMode(TrPin_1, OUTPUT);  pinMode(TrPin_2, OUTPUT);  pinMode(TrPin_3, OUTPUT);
  39. pinMode(Zcr_1, INPUT);     pinMode(Zcr_2, INPUT);     pinMode(Zcr_3, INPUT);
  40.  
  41. attachInterrupt(digitalPinToInterrupt(Zcr_1), ISR_1, RISING);
  42. attachInterrupt(digitalPinToInterrupt(Zcr_2), ISR_2, RISING);
  43. attachInterrupt(digitalPinToInterrupt(Zcr_3), ISR_3, RISING);
  44.  
  45. Timer_1 = timerBegin(0, 80, true);
  46. Timer_2 = timerBegin(1, 80, true);
  47. Timer_3 = timerBegin(2, 80, true);
  48.  
  49. timerAttachInterrupt(Timer_1, &onTimer_1, true);
  50. timerAttachInterrupt(Timer_2, &onTimer_2, true);
  51. timerAttachInterrupt(Timer_3, &onTimer_3, true);
  52. //timerAlarmWrite(My_timer, 1000000, true);
  53. //timerAlarmEnable(My_timer); //Just Enable
  54. }
  55. void loop() {
  56. }
A hozzászólás módosítva: 8:47
(#) asch válasza andyka hozzászólására (») 9:34 /
 
Ránézésre ésszerűnek tűnik, nyilván a dimm értékek állítgatása hiányzik. Feleslegesnek tűnik három különböző értéket számontartani, a három fázist egyformán terhelném, és akkor elég egy dimm változó.
Lehetne-e gyorsabb? Nyilván lehetne, mert az ismert, hogy az Arduino könyvtár pont a pin állítgatásnál és a timernél is jókora overheadet (idő) ad a rendszerhez. De ebben az időléptékben szerintem ez semmit nem számít. (Pl. Atmega esetén egy pin állítása ~3 helyett ~100 órajel, de a 100 órajel még mindig csak ~6 mikroszekundum, tehát itt mindegy.) Szóval lehetne gyorsabb, de egyáltalán nincs szükség rá. És úgy lehetne csak gyorsabb, ha az Arduino lib helyett a hardvert közvetlenül programoznád, ami nem éri meg a fáradságot.
A tirak vezérléséhez nem értek, de ez nem olyan, hogy a 0 átmenetnél tudja csak kioltani az áramot? Mert akkor inkább úgy vezérelném, hogy T/2-kicsire is tennék egy időzítőt, hogy a félperiódus végén mindenképpen kikapcsolt legyen már a vezérlés, nehogy lekéssük a kikapcsolás lehetőségét. Tehát valami ilyesmi: PIN ISR ->timer x idő múlva bekapcs -> timer T/2-x-bizonsági_tartalék kikapcs.
A hozzászólás módosítva: 9:35
(#) Massawa hozzászólása 9:42 /
 
Szakik, egy programozási eljárásra kérnék ötleteket.
2 kimenetet kell meghajtani D4 és D5, amik egy nagyteljesitmenyü H hid két bemenetet hajtják.
Kb 50 Herzes (20ms) váltoáramot kell egyenáramból elöállitanom. A képen az elsö két piros és kék vonal.
A teljesitményt kell szabályozni, de megtartani az alapfrekit, azaz csökkenteni kell a két aktiv állapotot.
A megszakitás 20 ms-ként inditja a folyamatot [az IRQ 1 kHz és minden 20.-ra indul)).
A második 2 rajzon kb 1/5 teljesitményt ad ki.
A kérdés mivel jobb az impulzusszélességet kezelni egy delay funkcioval vagy azt is az eredeti megszakitásbol számoljam.
Azaz ha az IRQ hivja a makrot ( bal oldali függöleges vonal) a t legyen valamilyen Delay.

A következö kihivás ( also két grafika), a kimeneti váltoáramhoz bizonyos esetekben némi DC komponenst kell adnom ( 5-10%), de közben meg kell tartani a váltoáram teljesitményét. Ezt ugy gondoltam elérni, hogy egy w koeficienssel megváltoztatom a két kimenet ( piros meg kék ) arányát - pirosat megnyujtom a kéket meg ugyanolyan arányban röviditem .
A két kimenet összegezve max 20 ms lehet, akkor amugy is a megszakitás ujra inditja.

Kösz az ötleteket meg a segitséget.

IMG_7171.jpeg
    
(#) andyka válasza asch hozzászólására (») 9:46 /
 
Hello
Igen a dimm értékek állítgatása hiányzik, az menne a másik „Core”-ba.
A három fázis különböző értékét számontartani szükségesnek látom, mert ...
Napelemes rendszerre szeretném alkalmazni és egy magánháznál szinte sosem egyformán terhelődnek a fázisok, így mindegyiket külön-külön érdemes terhelni hogy a lehető legtöbbet kihozzak belőle és a lehető legkevesebbet adjak a hálozatba (nálunk amikor visszaveszem a hálózatból kell fizessem az ilyen meg olyan illetékeket). Végűl is hőenergia formájába szeretném tárolni.
A másik ok amiért jó lenne a három fázis különböző értékét számontartani az lenne hogy már nem egyszer-kétszer történt meg hogy a kedves hálozatkezelők összecserélgették a fázisokat.
Idde:
Idézet:
„PIN ISR ->timer x idő múlva bekapcs -> timer T/2-x-bizonsági_tartalék kikapcs”
, még egy egy időzítőt javasolnál ?
A hozzászólás módosítva: 9:52
(#) andyka válasza Massawa hozzászólására (») 9:49 /
 
Csak nem motor teljesítmény kezelő lenne ?
Következő: »»   834 / 834
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem