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   432 / 852
(#) gygy91 hozzászólása Márc 4, 2018 /
 
kaqkk:
A program részét megoldom nem is ott akadtam meg.
Lényegében itt van a windowsos verziója, nem egy bonyolult dolog (net framework 4 kell hozzá mert VB): https://drive.google.com/open?id=1N33CZwyUvTAiP24jZIoVNvPO82YGYnHT

tbarath:
Nem, jó lesz a c++ abban sem vagyok elveszve.
Azt írtad, hogy 3x2 digitális lábhoz nem kell trükközni. Mennyi az a maximum amit még le tud kezelni trükközés nélkül? Vegyük az uno-t, ha 14 digitális lába van, a kapcsolók egyik lába megy a földre és ugyan így a földre megy a led másik lába is, akkor maximum 5 ütőpontom lehet az unonál mert az első az a föld. A logika jó volt? Bocs a hülye kérdésért.
Nyilvánvalóan ez lesz a legegyszerűbb, venni egyet, aliexpressről szoktam rendelni, ahogy nézem ez ugyan az:
Bővebben: Link
Köszi szépen a választ!
(#) icserny válasza gygy91 hozzászólására (») Márc 4, 2018 /
 
Idézet:
„Vegyük az uno-t, ha 14 digitális lába van ...”
Ez tévedés. Az A0 - A5 kivezetéseket is lehet digitális módban használni.
A hozzászólás módosítva: Márc 4, 2018
(#) _BiG_ válasza gygy91 hozzászólására (») Márc 4, 2018 /
 
Idézet:
„Vegyük az uno-t, ha 14 digitális lába van, a kapcsolók egyik lába megy a földre és ugyan így a földre megy a led másik lába is, akkor maximum 5 ütőpontom lehet az unonál mert az első az a föld. A logika jó volt?”

Nem. Digitális lábak száma per kettő lehet az ütőpontok száma, egyszerűen kivitelezve. A földvezetéket nem az MCU adja, az a tápról megy.

Bonyolultabban kialakítva, ha 20 digitális láb van (icserny hozzászólását is figyelembe véve), akkor 16 ütőpontod lehet. A LED-ek felvillantását lehetne címzetten csinálni, 4 digitális kimenettel, de ehhez külső áramkört kell építeni. A 16 bemenet a kapcsolók.
(#) Kera_Will válasza _BiG_ hozzászólására (») Márc 4, 2018 /
 
IIC port bővítővel plusz 2 bemenet lesz szabad így már z 18 darab input van és 2 porton az I2C port bővítő icvel a kijelző ledeket lehet kapcsolni.
(#) tbarath válasza gygy91 hozzászólására (») Márc 4, 2018 /
 
A C/C++ nyelv nem fog problémát okozni, azt gondolom. Az IDE-re gondoltam, hogy arduino IDE helyett VS-t is lehet használni, de szerintem ez esetben bőven elég az, amit - az elég egyszerű - arduino ide nyújtani tud.

A földdel ne foglalkozz, az nem foglal lábat, az arduino föld pontja és a táp földpontja valahol csatlakozik, közös potenciálon van. Ahogy már mások is írták, az A0-A5 is használhatod digitálisként, azaz 20 lábad van. (Némi faragás után szerintem még az RX/TX-et is, de ezt hagyjuk.)
Ha mindegyik egyfunkciós, akkor 10 bemenet és 10 kimenet van.
Ha - külső áramkörrel - multiplexelsz vagy shift regisztert használsz, akkor 3-5 pinnel lekezelhető 15 vagy 16 kimenet, de a bemenetek is multiplexelhetők.

De össze is köthetsz két arduino uno/nanot, pl. I2C buszon, ezzel elbukod az A4/A5 pin-t, de nem kell trükköznön, hanem a "master" arduino kezel 18 bemenetet és átküldi a "slave arduino-nak, hogy a 18 LED-ből melyiket kell felkapcsolni. Vagy használhatsz megát is, ott van 70 analóg/digit pin ha jól emlékszem
A hozzászólás módosítva: Márc 4, 2018
(#) gygy91 hozzászólása Márc 4, 2018 /
 
Azt hiszem kezd összeállni a fejemben.

Érdekes volna többet összekötni, de szerintem felesleges is már annyi pont. Ha a realitás talaján maradunk és hobbista/amatőr sportolókat veszünk nem hiszem, hogy több percen keresztül menne a 6-8nál több pontos géppel való edzés, de annyi meg kell. Ha elképzelem magam előtt a gépet akkor 6 pontot raknék magamnak (három fejmagasságban, kettő borda, egy has). Vasanyagom van, hegeszteni tudok, rugót veszek a vastelepen, pontütőkre gondoltam (Link) alájuk pedig valami erősebb kapcsolót (vandálbiztosat vagy valamilyen pedál kapcsolót), a ledeket meg fölé valahogy.

Megerősítésnek:
Akkor beszerzek egy Arduino lapot (olyat amit nem kell forrasztani, mert ilyen apró dolgok nekem nem mennek, aki meg tud esetleg ilyenbe segíteni nekem az már 80 éven felül van és a szeme már nem az igazi), megveszem az IRF520 MOSFET-es meghajtókat, veszek 5 voltos ledeket (mert akkor nem kell ellenállás). A táp ami ellátja az egészet lehet gondolom nyugodtan egy régebbi PSU (a ledeket meg az Arduinot is ezzel gondoltam), mert azzal teli van a góré, annak az 5 voltja pont jó lesz ide. Az arduinonak 12 voltot adok a tápbemenetén keresztül.
Fogom felprogramozom az Arduinot, a kapcsolókat bekötöm a lábakhoz a másik végüket pedig a földre kötöm (az arduinon lévő GND-re). A ledeket akkor ezen keresztül (Link) úgy, hogy... a jobb felső sarokból haladva: a V+ és V- lesz a led, a VIN, GND lesz a PSU 5 voltja és földje, a lentiek közül pedig a SIG lesz az Arduino kimenetele a GND pedig szintén az Arduino GND-je.
Köszi a türelmeteket!

Ez amúgy tök jó dolog! Egy csomó mindent meg lehet ezzel csinálni... Ha ez sikerül akkor utána már a talpamra fogok tudni állni és lehet más cuccokat is ezzel fogok megoldani. Egy ideje úgy is akartam már csinálni zöldségszárítót, ezzel lehetne vezérelni a fűtőszálat, meg a ventilátort, sokkal hatékonyabb volna mintha folyamatosan menne mind a kettő. Kár, hogy a suliban nem ragadt rám ebből az irányból több dolog.
(#) Kera_Will válasza gygy91 hozzászólására (») Márc 4, 2018 /
 
Ha nagyon bele jönnél akkor akár mérhetnél időket (reakció).
A kijelzője 2 4 soros karakteres kijelző lehet.
Átlag ,max /min idő egy egy sorozat alatt (20-50-100) ütés után.
Versenyezhetnének is így. A port bővítőkkel érdemes lesz ismerkedni.
LCD kijelzőkben is van I2C típusú ami csak 2 vezetékes buszon beszélget a uControlerrel.
Vagy kiegészíthető a sok kivezetésű LCD egy I2C icvel ami 2 vezetékesre csökkenti.
Ugyanazon a 2 szálon a ledmeghajtó I2C port bővítő áramkör is lóg, mivel az I2C buszra rakott
eszközök saját egyedi címmel rendelkeznek.
(#) Bell válasza gygy91 hozzászólására (») Márc 4, 2018 /
 
A jobb visszacsatolás, a reális helyzet modellezése érdekében hasznos lenne a LED-eknél egy szabályozható időtúllépés, aminek hatására az adott LED pirosra vált és tovább nem érzékel.
Néhány piros után pedig vége a játéknak, kiírja az eltelt időt és csak reset után indul újra.
A hozzászólás módosítva: Márc 4, 2018
(#) tbarath válasza gygy91 hozzászólására (») Márc 4, 2018 /
 
Az arduino-t simán lehet 5V-ról hajtani, nem kell neki 12 (de mehet arról is).

És - bár én linkeltem, de - egyáltalán nem vagyok meggyőződve arról, hogy ez az IRF520-as modul jó ide. Mert az IRF520 (és minden "nem logikai" FET) nem nyit ki teljesen 5V VGS esetén. A datasheet szerint (Bővebben: Link) 10V VGS esetén lesz 0,27 Ohm az RDS(on), azaz a bekapcsolt ellenállása. 5V esetén nem nyit ki teljesen, lesz neki egy érzékelhető ellenállása, feszültség fog rajta esni és fűteni fog valamennyire. Minél nagyobb áram folyik rajta annál jobban.
Azt hiszem kallódik itthon egy ilyen modulom, megnézem majd hogy mit produkál VDS = VGS = 5V esetén. Lehet, hogy borda kell majd rá, ha egyáltalán jó. Én inkább 12V LED-et hajtanék, és valamilyen optós vagy logikai FET-es modullal kapcsolnám 5V-ról.

PC táp: némelyik nem szereti, ha valamelyik ág nincs terhelve, és vagy lekapcsol, vagy megszalad a terhelt ág. Nem tudom, hogy mekkora fogyasztású LED-eket akarsz használni, de én lehet hogy egy megfelelő terhelhetőségű 12 Voltos "LED tápegységet".
A hozzászólás módosítva: Márc 4, 2018
(#) vargham válasza gygy91 hozzászólására (») Márc 4, 2018 /
 
Idézet:
IRF520 MOSFET”

Minimum 10 Volt kell a vezérléséhez. Keress inkább logic level FET-et.

Idézet:
„veszek 5 voltos ledeket (mert akkor nem kell ellenállás)”

A LED áramgenerátoros táplálást igényel. Ha a mikrokontroller kimenetére közvetlenül kötöd, akkor vagy a mikrokontroller megy tönkre a túláramtól, vagy a LED, vagy mindkettő.
(#) tbarath válasza vargham hozzászólására (») Márc 4, 2018 /
 
A LED-et FET-tel akarja kapcsolni a uC kimenetéről. 5V LED alatt pedig szerintem valamilyen kész cuccot ért, ami tartalmazza az áramkorlátozó ellenállást (pl. LED szalag, USB-s lámpa, stb.)
(#) Bell válasza gygy91 hozzászólására (») Márc 4, 2018 /
 
Nyomógomb helyett masszívabb, ütésállóbb megoldás lenne a reed relé mágnessel.
(#) Kera_Will válasza Bell hozzászólására (») Márc 4, 2018 /
 
Vagy HALL érzékelő és mágnes.
(#) gygy91 hozzászólása Márc 4, 2018 /
 
Kera_Will, Bell:
Ezek jó ötletek, későbbi projektnek tökéletesek!

tbarath:
Okés tehát akkor 12v-os led tápegységgel jobban járok. De akkor ha az IRF520 10 volton nyit, akkor veszek olyan ledet ami 12Voltal megy, és akkor probléma megoldva, azt akkor megy minden 12voltról. 5 Voltos led alatt meg ezt értettem: Link pl, de találtam TME-n több ledet is amiknek az üzemi feszültségére 5v van írva. Ugyan így találtam 12voltosat is.

Bell, Kera_Will:
Nem rossz ez a megoldás sem, nézegettem őket, úgy kéne ezekkel akkor, hogy egy sima mágnest tennék a pontütőre és ahogy közeledik a mágnes a reléhez akkor nyitna igaz?
(#) vargham válasza gygy91 hozzászólására (») Márc 4, 2018 /
 
Idézet:
„ha az IRF520 10 volton nyit”

Ez azt jelenti, hogy a gate-re adott vezérlőfeszültségnek a source-hoz képest (Vgs) kell legalább 10 Voltnak lennie. Az Arduino max 5 Volttal fogja vezérelni. Ezért ide ez a FET nem jó. A drain-source feszültség (Vds) egészen mást jelent. Neked ide logic level FET kell.
(#) Bell válasza Kera_Will hozzászólására (») Márc 4, 2018 /
 
Igen, a hall stabilabb. Persze be kell játszani mindkettőnél a kiviteltől, anyagtól függő távolságot.
(#) gygy91 hozzászólása Márc 4, 2018 /
 
Leesett, nagyot is koppant.
Ez jó lehet? IRLZ34NPBF
(#) vargham válasza gygy91 hozzászólására (») Márc 4, 2018 /
 
Igen. Mekkora áramot kell kapcsolnod? Mert ez 16 Ampert tud.
Minél nagyobb áramot bír a FET, annál nagyobb áram kell a gate meghajtásához is. Nagyobb a gate felülete, nagyobb a feltöltendő kapacitás. Ha nagyon nagy áramú a FET, akkor áramkorlátozó ellenállás kell az MCU és a gate közé. Ez azt jelenti, hogy kapcsolni lehet vele, de nagyobb frekvencián kapcsolgatni nem, mert soha nem lesz teljesen nyitva. Ilyenkor meghajtó áramkör kell elé.
(#) gygy91 hozzászólása Márc 4, 2018 /
 
Összesen akkor első nekifutásnak 6 led volna, de mind külön körön szóval 1 FET 1db ledet kapcsolna, ami nem kell, hogy nagyon nagy teljesítményű legyen, de észrevehetőnek kell legyen egy átlagosan megvilágított helyiségben. A színnel tuti trükközök, fekete lesz a pontütő és piros a led kezdésnek, vagy kék olyan ami nagyon elüt.
Szóval nem terveztem nagy fogyasztókat.
(#) vargham válasza gygy91 hozzászólására (») Márc 4, 2018 /
 
Nem az számít, hogy éppen hány Ampert kapcsol a FET, ahnem az, hogy mennyit tud maximum. Ezért érdemes a feladathoz egy kis áramú logaikai FET-et választani, például BSS138 vagy AO3400.
(#) Kovidivi válasza vargham hozzászólására (») Márc 4, 2018 /
 
Engem az sem szokott érdekelni, hogy hány Ampert tud maximum egy FET. Megnézem, mekkora feszültséget tudok maximum a gate-re juttatni, megnézem ehhez mekkora RDS_on tartozik. Leellenőrzöm még, hogy tud-e megfelelő nagyságú áramot kapcsolni, de általában az RDS_on-ból következik minden. Az AO3400-zal jó tapasztalataim vannak. Eszméletlen olcsó, és nagyon jó minőségű, az adatlapi RDS_on-t garantálja. Meg is lepődtem, hogy 3A-t kapcsoltam vele 5V-os gate feszültséggel, és alig melegedett valamit a kis tokozás.
(#) devilke3000 hozzászólása Márc 4, 2018 /
 
sziasztok!

Szeretnék csinálni arduino alá egy wifis programozót ami szépen működik is ha én nyomok resetet az arduinon de ezt szoftveresen szeretném megoldani de nem tudom mit kellene figyelni ilyenkor soros porton hogy feltöltés elött az esp01 2lábát használnám resetnek az arduino resethez hogy aktív reset legyen!
esp01 wifi serial kod:

  1. int reset= 2;
  2. #include <ESP8266WiFi.h>
  3.  
  4. //how many clients should be able to telnet to this ESP8266
  5. #define MAX_SRV_CLIENTS 1
  6. const char* ssid = "A";
  7. const char* password = "1";
  8.  
  9. WiFiServer server(23);
  10. WiFiClient serverClients[MAX_SRV_CLIENTS];
  11.  
  12. void setup() {
  13. pinMode(reset, OUTPUT);
  14.  digitalWrite(reset, HIGH);
  15.  
  16.   Serial.begin(115200);
  17.   WiFi.mode(WIFI_STA);
  18.   WiFi.begin(ssid, password);
  19.   Serial.print("\nConnecting to "); Serial.println(ssid);
  20.   uint8_t i = 0;
  21.   while (WiFi.status() != WL_CONNECTED && i++ < 20) delay(500);
  22.   if(i == 21){
  23.     Serial.print("Could not connect to"); Serial.println(ssid);
  24.     while(1) delay(500);
  25.   }
  26.   //start UART and the server
  27.   Serial.begin(115200);
  28.   server.begin();
  29.   server.setNoDelay(true);
  30.  
  31.   Serial.print("Ready! Use 'telnet ");
  32.   Serial.print(WiFi.localIP());
  33.   Serial.println(" 23' to connect");
  34. }
  35.  
  36. void loop() {
  37.   uint8_t i;
  38.   //check if there are any new clients
  39.   if (server.hasClient()){
  40.     for(i = 0; i < MAX_SRV_CLIENTS; i++){
  41.       //find free/disconnected spot
  42.       if (!serverClients[i] || !serverClients[i].connected()){
  43.         if(serverClients[i]) serverClients[i].stop();
  44.         serverClients[i] = server.available();
  45.         Serial.print("New client: "); Serial.print(i);
  46.         break;
  47.       }
  48.     }
  49.     //no free/disconnected spot so reject
  50.     if ( i == MAX_SRV_CLIENTS) {
  51.        WiFiClient serverClient = server.available();
  52.        serverClient.stop();
  53.         Serial.println("Connection rejected ");
  54.     }
  55.   }
  56.   //check clients for data
  57.   for(i = 0; i < MAX_SRV_CLIENTS; i++){
  58.     if (serverClients[i] && serverClients[i].connected()){
  59.       if(serverClients[i].available()){
  60.         //get data from the telnet client and push it to the UART
  61.         while(serverClients[i].available()) Serial.write(serverClients[i].read());
  62.       }
  63.     }
  64.   }
  65.   //check UART for data
  66.   if(Serial.available()){
  67.     size_t len = Serial.available();
  68.     digitalWrite(reset, LOW);
  69.     uint8_t sbuf[len];
  70.     Serial.readBytes(sbuf, len);
  71.     //push UART data to all connected telnet clients
  72.     for(i = 0; i < MAX_SRV_CLIENTS; i++){
  73.       if (serverClients[i] && serverClients[i].connected()){
  74.         serverClients[i].write(sbuf, len);
  75.         delay(1);
  76.  
  77.        // ESP.reset();
  78.  
  79.       //  wdt_reset();
  80.       }
  81.     }
  82.   }
  83. }
(#) tbarath válasza tbarath hozzászólására (») Márc 4, 2018 /
 
Na leteszteltem az IRF520-as modult (Bővebben: Link), a helyzet jobb, mint vártam.

A terhelés egy 4 Ohm-os teljesítményellenállás volt, 5V a VIN lábon, és ezzel kapcsoltam a FET-et a SIG pinen keresztül. Bekapcsolva 1,2A ment keresztül a modulon, a V- lábon 0,15 Voltot mértem, a V+ lábon 4,9 Voltot. Szóval ez a FET modul alig zavart be.

Kipróbáltam 4 Volton is itt 0,95A mellett V- 0,17 V, V+ pedig 3,94V. A feszültséget tovább csökkentve kb. 3,7V alatt körül kezd el nagyon nőni az RDS(on) (V- 0.27V). Tovább csökkentve 3.2 V esetén már V- 1,9V, 3V-nál már szinte zárva van, I=0,144A, V-=2,51V.

Szóval nem reménytelen a helyzet ezzel sem, hiába nem ideális, de kínai barátaink nem véletlenül árulják Arduino-hoz ezt a cuccot. (A Pi-t hagyjuk, azzal csak vicceltek )

Csatolok egy fotót a teszt körülményeiről, banándugó banándugó hátán, illetve még egy Ampermérő állású multin is esett feszültség, szóval 1-2 tized voltos eltérések simán benne vannak a mérésben.
A hozzászólás módosítva: Márc 4, 2018
(#) gygy91 hozzászólása Márc 5, 2018 /
 
tbarath, vargham!

Köszönöm szépen még egyszer, hogy ennyit fáradtatok, látva azt, hogy kivitelezhető a dolog az én szintemen is így szépen lassan elindítom a projektet. Ismerve a körülményeket nem egy hét lesz amire készen leszek vele, de amikor az érdekes részhez érek feltétlen írok.
(#) GPeti1977 válasza tbarath hozzászólására (») Márc 5, 2018 / 1
 
Persze hobbinak, jó, de ha tényleg müködő áramkör kell akkor annak szélsőséges hőmérsékleten is kell üzemelni, pl az autórádiókat -20 és 60 fokon vannak tesztelve.
(#) vargham válasza GPeti1977 hozzászólására (») Márc 5, 2018 / 1
 
Pontosan. Ez a konkrét FET nálad (tbarath) a szobában így viselkedik. Ha azt akarod, hogy mindig jó működjön, akkor maradj a gyártó által megadott értékeknél.
(#) RoliNyh válasza gygy91 hozzászólására (») Márc 5, 2018 /
 
Szerintem a te projektedhez a legjobb ütés érzékelő, a nyomógomb és még a reed relénél is jobb az elhajlás érzékelő, vagy nyomásérzékelő bélyeg. Gyakorlatilag épp erőbehatásra van tervezve, nem kell mágnestávolságokkal kísérletezni, analóg jelet ad, ebből kifolyólag implementálhatsz egy új funkciót is, azaz ütés erősség mérést is meg tudod oldani vele...
A hozzászólás módosítva: Márc 5, 2018
(#) tbarath válasza vargham hozzászólására (») Márc 5, 2018 /
 
Abszolút igazatok van, én is logikai FET-et javaslok, vagy optocsatolón keresztül 12V-ról meghajtott IRFx-et. Leginkább kiváncsiságból csináltam ezt az egészet, de annyira nem meglepő amit tapasztaltam.

Vishay IRF520 adatlap a grafikon (3. oldal, Fig. 3 - Typical Transfer Characteristics) 5V VGS-re kb. 2-2,5A ID-t mutat, igaz 50V VDS és 20 usec pusle width mellett, 25 és 175 fokon is (nyilván core)
De ezen IRF520N van, az International Rectifier IRF520NPbF datasheet 4A fölötti ID-t mutat hasonló paraméterek mellett.
(#) jeges válasza tbarath hozzászólására (») Márc 5, 2018 /
 
Logikai fet nem nyit ki sajnos 3.3v teljesen ezért nöl az rds értéke (belsö ellenálás szinte ohmikusra képes megnöni!
3.3v i/o közé tegyél egy jel tranyot és azal kapcsold a power fet gate részt a jeltranyo tápfesze min 5v legalább ez nál nyitja a fet gate teljesre nem logic fetnél min 8..9v legyen!
A hozzászólás módosítva: Márc 5, 2018
(#) tbarath válasza jeges hozzászólására (») Márc 5, 2018 /
 
Köszi, ezt tudom, és nem is akarok most ilyet csinálni, csak gygy91 fórumtárs LED kapcsolásához csináltam egy tesztet - illetve a saját kedvemért is, mert érdekelt.
LED esetén pedig nem is feltétlenül akkora probléma az a pár Ohm ellenállás, jellemzően úgyis sorba van kötve egy 1-2 nagyságrenddel nagyobb áramkorlátozó ellenállással.
Következő: »»   432 / 852
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