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   638 / 848
(#) mateatek válasza pipi hozzászólására (») Júl 2, 2020 /
 
Ezt nem tudtam, de szerintem cirka 32 kbit adatot másodpercenként ebbe a szabályba bele lehet préselni.
(#) KoblogPerGyok válasza mateatek hozzászólására (») Júl 2, 2020 /
 
Szia!

Az ardu táplálja a rádiót? Nem jó szerintem, ez külön kellene. A másik, hogy szerintem a stab kockával összeraktál egy rádió adót, ami a hosszabb kábelezésnél nem okoz problémát, míg a közelség miatt és a nyák vezetősávjai miatt már okoz.

A másik, hogy a rádiós cuccoknak mindig külön táp kell és elég nagy kondi is kell bele, mert sokszor elég komoly áramtüskék jelennek meg adáskor. (GSM-nél tuti, ennél nem tudom) ami megfekteti a stabot. Próbáld meg a tápot messzebbre vinni az adótól és minden mástól. Az sem baj, ha másik pici nyákon van, de kellően vastag tápkábelekkel kapja az áldást.

De ez csak tipp. Szerintem jó kis rezgőkörök alakultak ki a nyákon.
A hozzászólás módosítva: Júl 2, 2020
(#) usane hozzászólása Júl 2, 2020 /
 
Van egy pár változó-érték párosom, mondjuk rá hogy JSON forma.
pl:
  1. érték1 = 20;
  2. érték2 = 255;
  3. érték3 = 2;
  4. érték4 = 45;
  5. érték5 = 0;

Egyenlőre 5 páros, de lehet, hogy több lesz majd. És ez az 5 páros 10x van különbözző értékekkel, mint egy 10-elemű tömb, csak itt az elemek-et az 5 páros teszi ki. Wifin érkezik az adat, és az arduinoJSON csak a párosokat adja meg. Valahogy csoportokba kellene őket rendezni. A legegyszerűbb az lenne, ha a JSON sorszám alapján csinálnám, de ez azt feltételezné, hogy mindig ugyanaz a csoport adat érkezik, viszont valószínűleg más adatcsoportokat is JSON formában küldenék. A legjobb ötletem eddig, hogy a JSON adásokknál valami azonosítót is küldök és az alapján csoportosítom őket. Ez annyi procedúra ahányféle adás érkezik. Másik ötletem, hogy a változó nevében helyezek el valami azonosítót de akkor minden párosra le kellene futtatnom az ellenőrzést. Az első kisebb macera. Egyéb ötlet?
(#) mateatek válasza KoblogPerGyok hozzászólására (») Júl 2, 2020 /
 
Most már én is erre gondolok. Egy csomó LDO-t kipróbáltam, mire egy régi, számítógép alaplapról kukázott jó lett benne. Amúgy, gyakorlatilag pont a rádiós modul alatt van. De viszont agyon pakolva kerámia SMD kondikkal.
Azért az ardu 5 voltjáról megy a 3.3 voltos LDO, mert az XC3206 nem bírná a bemenetén a nyers akku feszültséget.
(#) KoblogPerGyok válasza mateatek hozzászólására (») Júl 2, 2020 /
 
Az én elgondolásom olyan táp, ami szolgáltat 5V-ot, és 3.3V-ot is. Mindegyik közös GND-n van, de a tápok külön mennek az Arduino, lcd, szenzorok felé, így a teljesítmény nem megy át az Arduinon. A logikai szintek illesztéséhez egy szintillesztő, ami szintén kap a tápról egy külön forrást. Annyit lehetne még tenni, hogy minden fogyasztó elé egy nagyobb puffer kondi, illetve egy kisebb ami a magasfrekvenciákat levágja.

De ez még csak fejben van meg.
(#) KoblogPerGyok válasza KoblogPerGyok hozzászólására (») Júl 2, 2020 /
 
De gondolom neked is ilyesmi. Ezen a téren még csak próbálgatok. Összerakok egyet pár stab-al és tafóval, meglátom mi sül ( remélem nem füstöl el!) ki belőle.
(#) mateatek válasza KoblogPerGyok hozzászólására (») Júl 2, 2020 /
 
Próbálkoztam. Csináltam egy kiemelőt, ami 6-7 centivel kiemeli a rádiós modult a nyákon lévő tüskesor fölé.
Ha a nyákon van, sehogyan sem megy. Kiemelővel a rádióadó teljesítményszint MIN és LOW állásánál jó. HIGH állásnál instabil, és MAX állásnál csak tapival megy.
Ez azt jelenti, hogy újratervezés.
(#) KoblogPerGyok válasza mateatek hozzászólására (») Júl 2, 2020 / 1
 
Tegyél alá egy alufóliát, amit folpakba bugyolálsz, így nem vezet. Az alofóliát kösd rá a GND-re. Így mi lesz? Bár kicsit veszélyes, nem mondom...

Csak tanulsággként, ha meg mered tenni, többet tanulhatunk mi is a problémádból. Meg hát a kíváncsiság, ugye… Esetleg nem kell GND, mert túl nagy feszt indukál?
(#) KoblogPerGyok válasza mateatek hozzászólására (») Júl 2, 2020 /
 
Lehet a GND re kötés NEM JÓ ötlet, mert váltófesz lesz rajta!

Inkább ne próbáld ki!
A hozzászólás módosítva: Júl 2, 2020
(#) KoblogPerGyok válasza mateatek hozzászólására (») Júl 2, 2020 /
 
Remélem nincs gond, jelezz vissza, hogy nem csináltad meg amit javasoltam!
Nem gondoltam át rendesen!

Jelezz vissza lécci!
(#) mateatek válasza KoblogPerGyok hozzászólására (») Júl 2, 2020 / 2
 
Hát igen. Ennyi volt. Most jó. GND-n van.
A fóliát bevontam mindkét felén ragasztó szalaggal, tehát nem okoz zárlatot.
Csak azt nem értem, hogy az ellenállomást miért nem abajgatja ez a baj.
De mindegy, bugyolálni fogok.

IMG_1093.JPG
    
(#) KoblogPerGyok válasza mateatek hozzászólására (») Júl 2, 2020 /
 
Fú! Azt hittem gond lesz! Akkor megnyugodtam!
(#) mateatek válasza KoblogPerGyok hozzászólására (») Júl 2, 2020 / 2
 
Valaha Nobel is ilyesmi levélváltást intézhetett a kollégáival, mielőtt meglett a dinamit.
(#) mateatek válasza KoblogPerGyok hozzászólására (») Júl 2, 2020 /
 
Fólia nélkül nem megy.

IMG_1094.JPG
    
(#) KoblogPerGyok válasza mateatek hozzászólására (») Júl 2, 2020 /
 
Ilyen áramköröket szeretnék én is összerakni, de kellene egy maró gép hozzá. A vegyszerektől félek, mert ha a szembe mennek...

Épp a napokban szerzek be egyet, utána jöhetnek a kisebb/nagyobb áramkörök.

Örülök, hogy nem omlasztottuk fekete lyukká a világot, legközelebb többet gondolkodok...
(#) mateatek válasza KoblogPerGyok hozzászólására (») Júl 2, 2020 /
 
Vaskloriddal maratok és lézernyomattal "rajzolom" a nyákot. Amatőr körülmények közé megfelel. Nekem.
Egy védőszemüveg olcsóbb, mint egy CNC. Plusz a szoftveres része. De ez itt OFF.
(#) usane válasza mateatek hozzászólására (») Júl 2, 2020 /
 
Az antenna is miért az áramkör közepébe bámul? Alapból a szélére raktam volna. Mindegy, hibákból tanulunk csak néha sok bosszúság árán.
A hozzászólás módosítva: Júl 2, 2020
(#) mateatek válasza usane hozzászólására (») Júl 2, 2020 /
 
Azon egyszerű okból került így, mert a huzalozás így egyszerűbb lett. Érdekes, hogy az ellen-oldal ugyanolyan huzalozással jó.

IMG_1095.JPG
    
(#) icserny válasza mateatek hozzászólására (») Júl 3, 2020 / 1
 
Mint a robbanómellény: Jól figyeljenek, mert csak egyszer mutatom meg!
(#) usane válasza mateatek hozzászólására (») Júl 3, 2020 / 1
 
Nekem nem tűnik ugyanolyannak. A másik NYÁK 2-3-szor nagyobb, és rengeteg vezetősáv van rajta antennaként.
Idézet:
„huzalozás így egyszerűbb lett”

Rádiós áramköröket nem egyszerűségre tervezünk. Nem leszólásképpen, hanem, hogy legközelebb erre is figyelj. Én még a BT és WiFi modulokat is mindíg antennával szélre rakom, pedig azok kevésbé érzékenyek, valamint adobozban a táptól a lehető legmeszebb.
Marad az alufólia, vagy újratervezed. Nem túl éles a fotó, de ha jól látom egyoldalas? A felső oldalát megcsinálhatnád teleföldre és az RF modult is antánnaval kifelé kellene fordítani, és az antenna alatt ne legyen vezetősáv a másik oldalon.
(#) mateatek válasza usane hozzászólására (») Júl 3, 2020 /
 
Ez az első ilyen rádiós építményem. Egyrészt nem gondoltam, hogy az az 1 (vagy 5?) milliwatt nem okoz be ennyire. Másrészt pedig nem nagyon találni ezekhez semmiféle olvasnivalót, amiből kikupálódhatna a kezdő.
De gyakorlatban úgy nézem, hogy nem is valósítható meg az, hogy a nyákon legyen az adó. Árnyékolással és kiemeléssel sem szereti a max adóteljesítményt. A nyák marad, a rádiót meg száműzni kell valahová, messzebb az elektronikától. Az analóg részeknek is jót tesz a távoltartás.
(#) mateatek válasza usane hozzászólására (») Júl 3, 2020 /
 
A kísérletek közben megbukott az alufólia konstrukció is.
Hosszú vezeték alkalmazásával nagyon jó. Nagy távolságra is nagyon kevés adatvesztéssel megy.
Jó az neki, ha nagyobb induktivitásúak a lábak vezetékei? A képen neki van tolva az antenna a táp résznek és nem bántja..

IMG_1096.JPG
    
(#) KoblogPerGyok válasza mateatek hozzászólására (») Júl 3, 2020 /
 
A fóliás kísérlet sok mindenre jó volt, sokat tanulhattunk mindannyian belőle. Arra is jó volt, hogy a probléma gyökerét sikerült megtalálni.

A kérdésedre:

Szerintem a rádió modul I2C vagy SPI -vel kommunikál, szóval innentől csak azok számítanak a hosszban. Ezek azért 10-20 cm-ig menni fognak szerintem. Ezért is javasoltam korábban egy kisebb áramkört amin csak a rádió modul van, de látom nem is kell, mert kevés vezetékkel megy. Szerintem a korábbi hiba sokkal összetettebb. Nem csak a táppal lehetett gond, hanem a I2C, SPI vonalra is bezavart a rádió adó. (plusz a többi kis vezetősávban megjelentek a zavaró jelek) Ez gondot jelenthet, ha nagyon hosszú (de még jól használható) I2C, SPI kábelekkel dolgozol és egy szép kis körantennát hajtogatsz az adó alá. (Csak tipp, de ott nagyon bezavarhat szerintem) Ezt azért kipróbálhatnád, mert a tapasztalataid most elég fontosak lehetnek, nem csak nekem másnak is.
(#) mateatek válasza KoblogPerGyok hozzászólására (») Júl 3, 2020 / 1
 
A probléma gyökere a nyákban van, és annak a tudatos, vagy tudattalan tervezésével. A történet a következő:
A rádiós modul mindegyik lába 20 centiméteres vezetékkel volt bekötve, majd ezen visszahajtottam a modult úgy, hogy ugyanott legyen, mint ahol kb lenne, vezetékek nélkül. Elkezdtem a hosszú vezetékeket egyenként kiszedni és rövid vezetékkel helyettesíteni. Tápvezetékek kiestek. Megszakítás kiesett. MISO lábnál a hosszú zsinór kiszedése után már nem működött. Gondoltam semmi gond, a nyákon ez a szakasz 1 centis. Ezt átvágom, és ide beteszem ezt a 20 centis drótot. Betettem, de nem működött. A kiszedett hosszú vezeték rövidre záró drótjára rá kellett tenni egy ferrit gyöngyöt, plusz a nyákon át van vágva a fólia és egy 20 centis kunkor van helyette. Működik, örülök! A CSN lábon lévőt hosszú vezetéket rövidre zárva már megint nem ment. A nyákra hiába tettem rá a hosszú vezetéket, nem használt. A végén az használt, hogy a rövidre záró drót egy egy 3.3 mikrohenrys fojtó lett.
Erre tervezzen valaki nyákot. Iszok egy sört, meg ráalszok, mert nem tudom ezt földolgozni.
(#) sandor1632 hozzászólása Júl 3, 2020 /
 
Sziasztok Szakik!

Segítségetek szeretném kérni.

2 arduino uno között szeretnék soros kommunikációt létesíteni, oly módon, hogy az első arduino el kellene küldje a másodiknak 17 int változó értékét, ami csúszás nélkül megfelelő sorreneben kellene megérkezzen, hogy fel tudjam dolgoztatni, majd a második vissza kell küldjön 2 int változó értékét.

Próbálkoztam adat tömbként való küldéssel, de sajna vannak csúszások..
Tudnátok nekem erre ajánlani egy bevált megoldást, esetleg konkrét példával?

Leegyszerűsítve jelenleg így néz ki az adatcsere az 1-es és 2-es arduino között:

1-es arduino:

  1. boolean data = false;
  2.  
  3. long Timer;
  4.  
  5. int out1;
  6. int out2;
  7. int out3;
  8. int out4;
  9. int out5;
  10. int out6;
  11. int out7;
  12. int out8;
  13. int out9;
  14. int out10;
  15. int out11;
  16. int out12;
  17. int out13;
  18. int out14;
  19. int out15;
  20. int out16;
  21. int out17;
  22.  
  23. int in1;
  24. int in2;
  25.  
  26. byte transArray[17];
  27. int incomingBytes[2];
  28.  
  29. void setup() {
  30. Serial.begin(9600); }
  31.  
  32. void loop{
  33.  
  34. if(Timer < 2000){ Timer++; }
  35.  
  36. if(Timer == 2000){ data = true; }
  37.  
  38.         transArray[0] = out1;
  39.         transArray[1] = out2;
  40.         transArray[2] = out3;
  41.         transArray[3] = out4;
  42.         transArray[4] = out5;
  43.         transArray[5] = out6;
  44.         transArray[6] = out7;
  45.         transArray[7] = out8;
  46.         transArray[8] = out9;
  47.         transArray[9] = out10;
  48.         transArray[10] = out11;
  49.         transArray[11] = out12;
  50.         transArray[12] = out13;
  51.         transArray[13] = out14;
  52.         transArray[14] = out15;
  53.         transArray[15] = out16;
  54.         transArray[16] = out17;
  55.  
  56.  
  57. //--------------------------------------------------------------------------------
  58. if(data){
  59.         Serial.write(transArray, 17); data = false; }
  60.  
  61. if(Serial.available() >= 2){    
  62.         for(int i=0; i<2; i++) { incomingBytes[i] = Serial.read();  }
  63.         Timer = 0; }
  64. //--------------------------------------------------------------------------------
  65.  
  66.         in1 = incomingBytes[0];
  67.         in2 = incomingBytes[1]; }



2-es arduino:

  1. boolean data = false;
  2.  
  3. int in1;
  4. int in2;
  5. int in3;
  6. int in4;
  7. int in5;
  8. int in6;
  9. int in7;
  10. int in8;
  11. int in9;
  12. int in10;
  13. int in11;
  14. int in12;
  15. int in13;
  16. int in14;
  17. int in15;
  18. int in16;
  19. int in17;
  20.  
  21. int out1;
  22. int out2;
  23.  
  24. int incomingBytes[17];
  25. byte transArray[2];
  26.  
  27. void setup() {
  28. Serial.begin(9600); }
  29.  
  30. void loop{
  31.  
  32.    transArray[0] = out1;
  33.    transArray[1] = out2;
  34.  
  35.  
  36. //--------------------------------------------------------------------------------
  37.    if(Serial.available() >= 17){
  38.          for (int i=0; i<17; i++) { incomingBytes[i] = Serial.read();
  39.          data = true; }
  40.  
  41.          
  42.      if(data){
  43.          Serial.write(transArray, 2);
  44.          data = false; }  
  45. //--------------------------------------------------------------------------------
  46.                
  47.  
  48.     in1 = incomingBytes[0];
  49.     in2 = incomingBytes[1];
  50.     in3 = incomingBytes[2];
  51.     in4 = incomingBytes[3];
  52.     in5 = incomingBytes[4];
  53.     in6 = incomingBytes[5];
  54.     in7 = incomingBytes[6];
  55.     in8 = incomingBytes[7];
  56.     in9 = incomingBytes[8];
  57.     in10 = incomingBytes[9];
  58.     in11 = incomingBytes[10];
  59.     in12 = incomingBytes[11];
  60.     in13 = incomingBytes[12];
  61.     in14 = incomingBytes[13];
  62.     in15 = incomingBytes[14];
  63.     in16 = incomingBytes[15];
  64.     in17 = incomingBytes[16];
  65. }


Az adatküldést az 1-es arduino indítja 2 másodpercenként, majd miután az adat megérkezik a 2-esre, az visszaküld adatot az 1-esre.

Ez így ebben a formában működik is, de egy idő után vagy megakad a kommunikáció mindkét arduino-n, vagy elcsúszik az adat, és nem a neki kitalált tömbrészletbe kerül.

Mindkét arduinon 1-1 softwareSerial porton keresztül más egységnek ( 1-es arduinon egy gsm modul részére, 2-es arduinon egy nextion hmi részére) is történik adatküldés, ez a része rendben működik, csak a 2 arduino közti oda-vissza kommunikáció fogott ki rajtam.

Kérlek ha van ötletetek, hogyan kellene megoldani az oda vissza adatküldést, csúszások nélkül, vagy hogy mit nem csináltam megfelelően, akkor segítsetek!

Előre is köszönöm válaszotokat.
A hozzászólás módosítva: Júl 4, 2020
Moderátor által szerkesztve
(#) sargarigo válasza sandor1632 hozzászólására (») Júl 4, 2020 /
 
Csak egy ötlet! Esetleg más módon kommunikálni? Mondjuk spi-vel. A soros kapcsolat eléggé érzékeny, aszinkron, az időzítések kritikusak. Főleg hogy szoftvereset használsz. Megpróbálhatnád a hardvereset használsz, legalább próbára. Ide szerintem legjobb a szinkron átvitel lenne, és akkor nem lehet csúszás. Csak gondolat ébresztek..
(#) pipi válasza sandor1632 hozzászólására (») Júl 4, 2020 /
 
Soros átvitelnél én szoktam egy keretet adni az adatblokkhoz.
Célszerűen valamilyen spéci karakterrel kezd, utána hossz, ha változó hosszúságú lehet, a végén meg valami egyszerű checksum, vagy crc.
Vételnél figyelem a spéci karakter, amíg az nem jön addig eldobál/hibajelzés, majd adablokk levétel, hossz/checksum ellenőriz, és vagy örül, vagy hibajelzés...
Nézz meg pl egy intel hexa formátumot ötledadónak, ami igaz hogy ascii karakteres átvitel, emiatt lassúbb. Előnye is van, terminal progiban nem krixkraxot látsz, könnyebb hibátkeresni...
(#) sandor1632 válasza sargarigo hozzászólására (») Júl 4, 2020 /
 
Sajna az spi már foglalat, azon van az rfid író/olvasó.
Hardver soros porton menne a 2 arduino közt a kommunikáció, a softwareSerial-on más egységgel kommunikál.
(#) sandor1632 válasza pipi hozzászólására (») Júl 4, 2020 /
 
Még mélyrehatóbban csak nem rég kezdtem ismerkedni a soros kommunikációval, mint adatátviteli lehetőség, kérlek tudnál segíteni egy konkrét példával, hogy értsem miként történik a feldolgozás?
(#) vargham válasza sandor1632 hozzászólására (») Júl 4, 2020 /
 
Az SPI az egy busz, több eszközt is rakhatsz rá. Csak külön kell mindegyiknek CS (Chip Select).
Következő: »»   638 / 848
Bejelentkezés

Belépés

Hirdetés
XDT.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