- Mobil flották
- Yettel topik
- Egy szenzor, két zoomkamera: újraírta a Huawei a mobilfotózás történetét
- Bemutatkozott a Poco X7 és X7 Pro
- Xiaomi 11 Lite 5G NE (lisa)
- Samsung Galaxy A56 - megbízható középszerűség
- Samsung Galaxy S22 Ultra - na, kinél van toll?
- Google Pixel topik
- Samsung Galaxy A55 - új év, régi stratégia
- Milyen okostelefont vegyek?
-
Mobilarena
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
Janos250
őstag
válasz
Ton-ton #16998 üzenetére
Ez olyasmi, mint a jelenleg is alkalmazottak közül pl. a panelokra alkatrészeket beültető robot, vagy ami pár patikában van, gyógyszert kiszedő automata.
Pár megjegyzés, de természetesen te döntesz, én csak azt mondom el, én hogyan csinálnám.
A legjobban akkor jársz, ha nem forgó mozgást végző robotkarral, hanem derékszögű rendszerrel dolgozol. Ebben az esetben az ortogonális (az egyik megváltozása nem vonja maga után a másik változását) adatok kezelése sokkal könnyebb.
Elkészítesz megfelelő méretben egy 3D nyomtatóhoz hasonló, le-föl mozgó keretet, és arra csukló-nyagló kar helyett egy ilyen szisztémájú, derékszögben mozgó kart:
https://www.banggood.com/New-NEJE-Master-2S-30W-Powerful-Laser-Engraver-and-Cutter-2-In-1-Adjustable-Variable-Focus-Lens-and-Fixed-Focal-Laser-Support-Wireless-APP-Operation-or-32-bit-MCU-Banggood-Exclusive-World-Premiere-p-1778874.html
A keret megfelelő magasságra emelkedik, az X tengelyen a kar megfelelő X pozícióba áll, majd az Y kar benyúl a megfelelő helyre. Persze a kar végén nem egy lézer fej van, hanem egy Z irányban mozgó újabb kar, a végén a csőrrel, ami megfogja pl. a gyógyszeres dobozt, felemeli, és onnantól kezdve már mehet vissza, és a megfelelő, helyre lerakja, leejti, attól függ, hogy ez csak gyűjtés, vagy beillesztés. A csőrt Z irányban mozgató kar akár el is hagyható, a keret mozgatásával kiváltható.
Ez esetben a PI végzi a számításokat, a GRBL adatok generálását, a RAMP-on lévő Mega a saját (Arduino, vagy egyéb) programjával a kapott GRBL adatok alapján vezérli a léptetőmotorokat.CAD céljára én a Fusion 360-ot használom, mert annak van ingyenes verziója, bár azt csak magán célra szabad használni. Minden relatív benne, korábbi síkokhoz képest, a maga előnyeivel és hátrányaival.
-
Ton-ton
tag
Nem teljesen.
Grbl adatokat küld. Tehát annyit mond csupán, hogy menj abba a pozícióba, adott sebességgel. Esetleg adott -pl. kör- pályán. A többi a kontroller dolga, ami mással nem foglalkozik.
Ráadásul ha jól tudom (aki jobban ért hozzá megerősít, vagy megcáfol), több utasítást tárolni is tud a kontroller... Egyfajta pufferként is funkcionál. -
válasz
Ton-ton #16990 üzenetére
Értem, mire gondolsz. Viszont a stepper vezérlés a fenti hardverrel is indirekt módon történik, tehát nem közvetlenül küldi a léptető impuzusokat (pwm), hanem az i2c buszon regisztereket tölt fel, irány és sebesség adatokat küld. Ez persze nem zárja ki az időzítési problémákat, de valószínűleg mégis működik a módszer, különben nem létezne a fenti hardver.
-
Ton-ton
tag
Köszönöm az eddigi segítséget.
Nos amit szeretnék megvalósítani. Valójában csupán mindenben megfelelő analógia, nem pontosan ezt a feladatot fogja végrehajtani.
Tehát adott egy állvány, amin tálcákban vannak az alkatrészek. Az alkatrészek picik, könnyűek (pár gramm), azonban előfordul, hogy beszorul kicsit a helyére.
Ez előtt az állvány előtt függőlegesen kell mozgatnom egy keretet. Amin vízszintesen fut egy kocsi, s azon van maga a robotkar. A kocsin található még egy lap, amire az állványról kivett alkatrészek kerülnek, rendezett formában. (Adott rendszer szerint, nem egymás után)
A kártyagépen futó program feladata, az arduinók (robotkarok) vezérlése.
Ám ezen kívül, a raspberry feladata, hogy kiszámolja, melyik alkatrésszel teli tálca magyjából mikor fog kifogyni, hogy legyen idő előkészíteni a következőt (ne álljon a gép).
Ezek (alkatrésztálca neve, idő) lennének oldalt. Jobb oldalon a jobb oldali gépé, bal oldalon értelem szerűen a bal oldali gépé. Középen szerepelne, hogy az elkészült alkatrészes tálca csomagolására mit kell írni...
A mozgatandó keret kb. 130 cm széles. Egyszerre a gépbe maximum 70 féle alkatrészes tálca kerülhet (előfordul, hogy kevesebb, ám több semmiképp)Még gondolkodom az elkészült tálca optikai ellenőrzésén, ám az már biztosan meghaladja a képességeim... :)
Az eddig leírtak is úgy 1,5-2 évig fognak tartani...
(Nem főállás, plusz korlátozott anyagiak) -
Ton-ton
tag
A servoban kevésbé bízom. (tudom, hogy sokszor azt szokás használni)
Drágább is.
A léptetőmotor hátránya, hogy be kell állítgatni a vezérlőt (időveszteség), valamint az esetleges lépésvesztés.
Ez utóbbi nálam kiküszöbölhető, hisz két optikai kapuval tudom ellenőrizni, hogy előfordult-e. Ugyanis egy elméleti vonalon keresztülhalad minden esetben a kar.Mindjárt leírom a projectet, talán úgy érthetőbb lesz. :)
-
Ton-ton
tag
Régebben (vagy 15 éve) szórakoztam léptetőmotorokkal. Persze még kidobásra ítélt 386-on, nyomtatóport, tranzisztoros erősítés, stb).
Sajnos a multitasking oprendszerek bezavarnak. Tehát hiába írok a programba időzítést. Amennyiben a rendszer foglalt, akkor a program nem kap processzoridőt. A léptetőmotor megáll. Tehát rángatva fog menni. S ez a jobbik eset. Ugyanis utána viszont a kártyagép egymás után kiad tucatnyi lépést, olyan ütemben amit a mechanika nem tud lekövetni, tehát garantált a lépésvesztés...
Gyakorlatilag az arduino foglalkozik a hardverrel (motorok, ledek), a raspberry végzi a számításokat, és adja az utasításokat.
Mindkettő azt a geladatot végzi amelyik az erőssége. -
Ton-ton
tag
válasz
Janos250 #16975 üzenetére
A programom a Pi-n futna. Tehát a raspberry kártyáján lenne, s azon kell minden alkalommal az adatfájlt is újraírni, vagy csak mellé bemásolni.
Az arduinokon gyakorlatilag egy (szinte) gyári grbl értelmező lenne csupán.
Legalábbis ez az elképzelés.A compiler kérdés megoldódott, mert elkezdtem olvasni egy C++ tananyagot. :)
-
Janos250
őstag
Megjöttek a JLCPCB paneljaim.
Kétféle, 2 * 5 db.
Gyártás 6 $, szállítás 16 $. összesen 22 $.
Még így is sokkal olcsóbb, mint itthon.
Viszont a története elég érdekes.
18-án hajnalban megérkezett a rendelés, délben elkezdték gyártani, 20-án reggel postára adták.
SHENZHEN - HONG KONG - BANGKOK, majd 23-án reggel megérkezett Frankfurtba, majd délután Lipcsébe.
Febr. 1-én sikerült is hatalmas gyorsasággal levámolni, és már küldték is tovább Kölnbe, onnan 2-án tovább Düsseldorfba, majd még aznap a DHL-hez, ott kapott egy új nyomkövetési számot, és még aznap átment Bochumba, majd 3-án Feuchtba. 4-én megérkezett kicsiny hazánkba, ma, 7-én kihozta a Magyar posta.
Korábban azért ez egyszerűbb volt! -
Janos250
őstag
Nem ismertem, megnéztem, de én a másikban jobban bíznék. Azt írja, a micro stepet is megoldja, azt nem tudom, hogy PWM-mel. Továbbá a másikakból az újabbnak van olyan előnye, hogy nem ránt rajta akkorát sem induláskor, sem megálláskor. Ez nem csak a hangját csökkenti drasztikusan, de a kar sem rángatódzik annyira, bár nem vagyok szakértő, csak amiket korábban olvasgattam.
-
válasz
Janos250 #16985 üzenetére
Én stepper drivert kerestem, valamiért félrehordott a Google, én meg a buszon állva elnéztem.
Nyilván tudom, hogy stepper drivert keres, hiszen a RAMPS is az. Bár jobban meggondolva robot karokhoz inkább servo-t szokás használni 🤔
Ha nem elírás, akkor itt van ez a stepper driver HAT. -
sisi22
aktív tag
Leirtam 16959-ben, koszonom a segitseget, akkor keresek valakit a helyi butykolos elektronikusok kozul. Ahogy korbekerdeztem, itt a Raspberry pi a kedvelt hasonlo kutyu.
-
válasz
sisi22 #16981 üzenetére
Ennél egyszerűbb a helyzet: 1db kütyü kell, meg két gomb.
Sokkal könnyebb lenne, ha mondanál valami konkrétumot a projektről, annak függvényében javasolnám az Arduino pro micro-t, illetve esetleg a Sparkfun Digispark-ot, amihez még külön usb kábel se kell, és olcsóbb, cserébe néha elég esetleges a működése. -
Janos250
őstag
válasz
Ton-ton #16973 üzenetére
A Ramp az jó, bár Megaval megy, de nem tudok olyan, nagy szériában gyártott panelről, ami korszerűbb procival (STM, ESP) megy. Utólag szokták hozzá mókolni az ESP8266-ot, akinek kell.
A programodat hova akarod tenni? A RAMP Megájába? Vagy külön panel lesz rá?
USB ügyben elég gyenge vagyok.
"Esetleg tudnál compilert javasolni?"
Ha az Arduino IDE-t letöltöd, abban minden benne van, szőrötül-bőröstül.
Megnyomot a feltöltés menüt, és mindent elintéz.
Van olyan IDE, ami régebbi fordítót tartalmaz, de pl. az ESP32-höz ami van, az már tudja a C++11-et, bár az alapesetben nem szükséges. -
Ton-ton
tag
válasz
Janos250 #16972 üzenetére
Köszönöm.
Igen, uno vagy mega a terv ramp 1.4 panellel és pár szinkron motorvezérlővel (van ahová nem elég egy motor).
Bár még az m545 sem kizárt.Úgy tudom usb-n keresztül a legegyszerűbb öszekapcsolni a raspberryt és az arduinot (nincs szintillesztés pl.) Mivel két kontrollel lesz így két usb minimum szükséges.
Mivel termelőeszköz, nem szeretnék semmiféle rádiót, s nem lesz netre sem kapcsolva (legalábbis ez a terv).
Az usb madzag nem törik meg, mert egy dobozban lesznek. Jó nagy dobozban (LED mátrix vezérlés, tápegységek, később ups, stb)Megnézem a C++ -t.
Esetleg tudnál compilert javasolni? (Bodhi 5.1 van a gépen)
Mondjuk megnézem a raspbiant is... -
Janos250
őstag
válasz
Ton-ton #16971 üzenetére
"Az arduino vezérelné a léptetőmotorokat (robotkar)"
Valamelyik korszerűbb Arduionot használd! Korszerű léptetőmotor vezérlő IC-vel! Pl. TMC 21xx, 22xx. Ne akarj vérd izzadni a nem elég korszerú eszközökkel.Minek ennyi USB? (WiFi, BT nem jó? nem törik el a madzag, nem fékez.)
"Egyáltalán jó helyen járok, vagy máshol kérdezzek?"
A PI részét itt szerintem kevesen értik, de az Arduinoban páran jól benne vannak.
"Programozás szempontjából mi lenne az ideális?"
Az Arduinot C++ nyelven programozzuk, ez biztosan ingyenes marad, jó fordítóval egyetemben.
Ez megy PI-n is.
Ha PHP-t használtál, akkor a C++ 1-2 óra tanulás, mert a PHP az tulajdonképpen C++ kiegészítés. (Na, jó, nem teljesen, de majdnem). -
Ton-ton
tag
Sziasztok.
Segítséget szeretnék kérni.
A fejembe vettem, hogy építek egy ipari robotot, s ezzel kapcsolatban kérdezősködnék.
Az eljépzelésem az, hogy egy raspberry kezelné a billentyűzetet, monitort, mikro SD kártyát, és kiosztaná a feladatokat két arduinonak (s fogadná is az adatokat, elakadás, letudva a feladat, stb)
Az arduino vezérelné a léptetőmotorokat (robotkar)
S igen, két egymástól független robotkar lenne.
A kérdéseim:
-Egyáltalán jó helyen járok, vagy máshol kérdezzek?
-Programozás szempontjából mi lenne az ideális? Ha jól tudom a pithon fizetős ha nem magán felhasználásra szánom (termelő munkára szeretném használni)
-Melyik raspberry alkalmas erre a feladatra? (Arduino-t tudom) Pl. több usb az egyszerű csatlakozáshoz, stb.A léptetőmotorokkal tisztában vagyok, programozás alapjaival is (php), bár nyilván tanulnom kell majd... :)
S igen, ez elég soká fog tartani mire elkészül, ezt is tudom...Előre is köszönöm a segítséget.
-
válasz
sisi22 #16965 üzenetére
Adatok mentésére én még egy ilyet is kitaláltam: Arduinoval lehetséges usb billentyűzet emulálása. Mi lenne, ha az eszköz gépre dugva az előzőleg megnyitott Word dokumentumba / Notepadba egyszerűen begépelné a mérési eredményeket.
Ennél egyszerűbbet nem tudok elképzelni.
Valójában mi lesz ez a cucc, valami játék, vagy valamilyen edzéshez kell?
-
válasz
sisi22 #16965 üzenetére
Ez a soros port nem az a soros port, amire te gondolsz, ez usb-n keresztüli (virtuális) soros port emuláció. Vagyis usb-vel rádugod a gépre, csak kell valami, ami tudja kezelni. Valószínűleg a legjobb megoldás Janos250 javaslata alapján egy esp32, ami egy önálló webszervert képes megvalósítani. Felkapcsolódva vele az otthoni wifi hálózatra, gépről rá tudsz kapcsolódni és megnézni rajta az adatokat.
20 forintos kérdés: Arkagyij Rajkin
Jó lenne, ha megmásznád ezt a spanyol hegyet, különben kell valaki, aki megmássza helyetted.
Lehet önálló kütyü is, van mindenféle kijelző, karakteres vagy grafikus, pénz kérdése.
-
sisi22
aktív tag
Koszonom a sok reagalast, probalok egyben valaszolni:
Fogalmam sincs, mi az az arduino, a neve alapjan akar egy spanyolos nevu hegy is lehet szamomra.Az idealis egy onallo kutyu lenne, csak felteteleztem, hogy jobb lenne pc-n tarolni az adatokat, az inditas utan adjak az impulzust a nyomogombok es a gep szamitja ki a ket gomb megnyomasa kozti idot es kiirja egy listaba.
Programozoi tudas: "van valami, de nem az igazi" (ez a 20 forintos kerdes, ha erti valaki.)
Zx Spectrum Basic volt utoljara, illetve, amikor nyustoltek, hogy adatbaziskezelesre szukseg van, akkor alapszintu sql dolgok voltak, de az is regen.Ha soros port kell hozza, akkor passz, nagyon regota nem lattam olyat, egy jo ideje keresek parhuzamos port megoldast egy kutyuhoz, de olyat se talalok.
-
Janos250
őstag
válasz
sisi22 #16959 üzenetére
Ha nem üzemszerű működésre kell, akár a Serial monitoron is ki lehet íratni.
Például:uint8_t kapcsoloPin = 5;
uint8_t kapcsolo ;
uint32_t kezdo_millis ;
uint32_t veg_millis ;
void setup() {
Serial.begin(115200);
delay(2000) ;
pinMode(kapcsoloPin, INPUT_PULLUP);
} ; // end setup
void loop() {
while(digitalRead(kapcsoloPin)) {} ;
kezdo_millis = millis();
delay(10); // prell mentesites, de hw kell
while(!digitalRead(kapcsoloPin)) {} ;
veg_millis = millis();
delay(10); // prell mentesites
Serial.print("kezdo_millis = "); Serial.print(kezdo_millis);
Serial.print(" veg_millis = "); Serial.print(veg_millis);
Serial.print(" idotartam_millis = "); Serial.print(veg_millis-kezdo_millis);
Serial.println();
} ; // end loopEzt írta ki:
kezdo_millis = 8069 veg_millis = 10698 idotartam_millis = 2629
kezdo_millis = 13376 veg_millis = 15973 idotartam_millis = 2597
kezdo_millis = 16130 veg_millis = 18695 idotartam_millis = 2565
kezdo_millis = 19155 veg_millis = 20738 idotartam_millis = 1583
kezdo_millis = 21394 veg_millis = 22556 idotartam_millis = 1162
kezdo_millis = 22994 veg_millis = 24997 idotartam_millis = 2003
kezdo_millis = 25233 veg_millis = 26612 idotartam_millis = 1379A prell (pergés) mentesítés delay()-el is megoldható, ha nagyon jó a kattanós kapcsoló, de a hw prell mentesítés a jobb, (kondi+ellenállás), már párszor volt itt rá példa.
Ha elegánsabb kell, akkor lehet gondolkodni milyen kijelzés legyen
-
válasz
sisi22 #16959 üzenetére
Szia! Ez egy egyszerű feladat és hardver szempontjából is szinte bármivel meg lehet oldani. Így inkább az a kérdés, hogy van-e otthon bármilyen Arduino kompatibilis eszköz, illetve milyen programozói tapasztalatod van?
Ez egy játék lenne? Csak hogy megfelelő teherbírású és lehetőleg pergésmentes nyomógombot is kell hozzá találni.
A kijelzés csak PC-n fog történni, vagy szóba jöhet valamilyen LCD kijelző? Előbbi esetben szükség lesz egy PC oldali programra, ami képes soros porton érkező adatokat megfelelő formában kijelezni.
-
sisi22
aktív tag
Ide lettem iranyitva ezzel a problemaval:
Ket nyomogomb bekapcsolasa kozott eltelt idot kellene merni egy percen at, talan 10-30 periodus lehet. Vagyis az egyik nyomogomb megnyomasara indul a stopperora es a masik megnyomasara megall es ez ismetlodik adott ideig. A nehezseg az, hogy a mert ido idealis esetben tizedmasodperces hosszusagu lehet, mig az elso nyomogomb ujboli megnyomasaig varhato ido talan 2-5 mp is lehet.
Az adatokat az egy perc letelte utan kell latni legalabb szazadmp pontossaggal.
Idealis megoldas lenne egy PC-hez csatlakoztathato kis programozhato kutyu. -
Janos250
őstag
Német barátaink elég sokat tököltek Lipcsében a JLCPCB-s panelommal.
A lényeg kigyűjtve:
2022-02-01 01:35:00 Customs status updated
2022-01-31 17:23:49 Customs status updated
2022-01-27 21:32:03 Customs status updated
2022-01-25 19:47:41 Customs status updated
2022-01-24 14:34:38 Customs status updated
2022-01-23 19:28:48 Customs status updated
2022-01-23 03:38:57 Customs status updated
2022-01-20 18:35:34 Customs status updatedEnnyit kínlódni egy vámolással! Ennyiszer kérni új adatokat, igazolást a feladótól, ez már csak szívatás!
Most Lipcséből megérkezett Kölnbe, remélem, idővel Magyarország felé veszi az irányt! -
vegyszer
addikt
-
Janos250
őstag
A Bangood is átállt a magyarításra:
"Szállítás: Ft150 nak nek Hungary keresztül Banggood Express" -
Dißnäëß
nagyúr
válasz
vegyszer #16946 üzenetére
Igen, pontosan erre gondoltam, a MicroPython-ra. Köszi !
Ki is tér rá az Arduino nagy központi doksi... asszem egyelőre nem feszegetem a dolgot. -
vegyszer
addikt
válasz
Dißnäëß #16944 üzenetére
Azt láttam, hogy ESP32, illetve ESP8266 esetén van MicroPython használati lehetőség.
Getting started with MicroPython on the ESP8266De hogy ez azt az érzést, élményt hozza, amit te szeretnél, azt már nem tudom. Én megragadtam a kapott kódok alantas igényeimre formálásának a szintjén.
-
Dißnäëß
nagyúr
Urak !
Van ez az Arduino IDE ugyebár. Most egy nagyon fura kérdést hoznék, nem ér kiröhögni
Szóval: jó ez a C++, de én amúgy így egyébként udemy-ről meg innen-onnan python-t tanulok épp.Van rá lehetőségem, IDE, akármi, hogy python-ban fejlesszek a kütyükre ? Gondolok a Leonardo-imra arra a kettőre, meg az ESP8266-omra.
Nem is maga a nyelv érdekel, hanem a library-k széles választéka. Gondolom, C++ -ra van a legtöbb, nem ? (Van ugye az OLED kijelzőm). Végülis tök jó nekem a C++ mert nem egy világvége, de ha már amúgy egyébként python-ozok, miért ne használjam itt is azt.
Csak elfilóztam, nem nagy dolog. Köszi.
-
Janos250
őstag
Megszívatott ez az Easyeda.
Kedveskedni akart nekem, és átállt magától magyar nyelvre, gondolom a Google fordítás segítségével. Kínlódtam, de se visszaállni nem tudtam angolra, se a "magyar" megfelelőkkel használni.
Az új alkatrész felrakása a tervrajza : Place component. Ez így érthető.
"Magyar" menüben: helyösszetevő.
Végül sikerült visszaállnom angolra. -
Janos250
őstag
Hogy a franc megenné ezt az új szállítási rendszert. A panelomat hiába csinálta meg a JLCPCB egy nap alatt, ha január 23 óta Lipcsében várja jobb sorsát!
-
Tankblock
aktív tag
válasz
gyapo11 #16936 üzenetére
Nem tudjuk mi a célfüggvény, csak találgatunk. Természetesen 12 V esetén nem ok.
Én nem vagyok híve az egy ellenállásnak, mégpedig azért mert ha 1 LED elhalálozik, akkor a többlet áram a másik 4 LEDen fog folyni, amitől azok is szépen egyesével megfőnek....Csak halványan merem leírni, hogy az elején én POWER LED láttam a szemem előtt amit 3A kellene maxban hajtani és dimmelni, már fejben összedobtam egy PWM bemenetes áramnyelő kapcsolást.....
-
gyapo11
őstag
válasz
Tankblock #16934 üzenetére
Ha 12 V-ról mennek a ledek, akkor már a közvetlen pinről kapcsolás nem OK.
Párhuzamosan kötve a ledeket nem jó? Nincsenek olyan közel a nyitófeszültségek? És akkor egy ellenállással 5-ször akkora áramot adni nekik. Vagy akkorát, hogy a legnagyobb áramot felvevő led se olvadjon el. -
válasz
Tankblock #16934 üzenetére
Én is éreztem némi zavart az erőben, de volt egy ilyen:
De mivel én csak egy szálhoz férek hozzá
Gondolom a ledek és a mikrovezérlő nem tud egy helyen lenni, és nem vihető több vezeték sem a kettő között. Mondjuk a 3A akkor is indokolatlan továbbra is 5 normál ledhez.
-
Tankblock
aktív tag
válasz
tonermagus #16932 üzenetére
Szerintem túlgondoltam a projectet....
Ha 5 LED van akkor miért kell neked 12V + FETekkel játszani?
Arduino 5db pin + (5V-3.2V) /0.02 A = 100 Ohm ellenállás aztán mehet az AnalogWrite fnc.
12V esetén nem 100 Ohm kell, hanem (12-3,2)/0,02 = 440 azaz 430 v 470 ohm utóbbit preferálva.Természetesen ellenállást LED ill LED stringenként illene tenni..
-
válasz
tonermagus #16932 üzenetére
5db fehér ledet az alábbi konfigurációkban tudsz használni 12V-ról
feltételezve, hogy sima fehér ledek, (tipikusan 3.2V és 20mA)
https://www.amplifiedparts.com/tech-articles/led-parallel-series-calculator -
tonermagus
aktív tag
válasz
Tankblock #16931 üzenetére
Na még ez is érdekes lehet.
Gyakorlatilag 4-5 db hagyományos 5mm-es LED. Ezek közös szálon lesznek megtáplálva.
Amíg teszteltem, és a LED-eket külön tudtam venni, addig minden LED elé tettem egy 100ohm-os ellenállást. De mivel én csak egy szálhoz férek hozzá, amire több LED is főzve van akkor én használhatok az elején egy "közös ellenállást"? Ha igen akkor hogy kell betervezni? Sima hagyományos LED, 5 db... -
Tankblock
aktív tag
válasz
tonermagus #16916 üzenetére
Még lenne pár kérdésem, milyen LED lesz meghajtva?
Miért szükséges a 3A?
A 12V ágat mi adja? Az Arduinot mi fogja meghajtani? -
And
veterán
válasz
razorbenke92 #16921 üzenetére
Kösz (gyapo11-nek is), ma is okosabb lettem. Látszik, hogy Arduino-val még nem PWM-eztem sosem
..
-
gyapo11
őstag
válasz
tonermagus #16925 üzenetére
Az analogwrite egy szerencsétlen névadás, ez kavart meg mindent, semmi analóg jel nincs ott, csak 0 vagy 1 megfelelő kitöltési tényezővel. Jobb lett volna pl. a pwmwrite név. És még akkor sem analóg, hanem diszkrét lépcsőkben állítható a kitöltési tényező.
Ezzel szemben az analogread az valóban analóg jelet olvas, pl. egy potméterről és a beépített A/D átalakítóval alakítja számmá.A #16922 rajzhoz még annyit, hogy csak akkor jó, ha a fogyasztó 12 V-on egy adott áramnál nem vesz föl többet, pl. ledszalag, ami tartalmazza a soros ellenállást is. Egy led magában elég szűk feszültségtartományban működtethető, alatta nem világít, fölötte meg gyorsan elfüstöl, és elég esélyes, hogy nem pont 12 V-on érzi jól magát.
-
Janos250
őstag
válasz
tonermagus #16927 üzenetére
Ugyanaz!
-
tonermagus
aktív tag
válasz
Janos250 #16926 üzenetére
Én sajna csak IRLZ44NPBF-t találtam, ez is megfelel nekem?
-
Janos250
őstag
válasz
tonermagus #16922 üzenetére
Korábban Weiss ajánlotta neked az IRLZ44N-et. Én akkor mértem, kissé elmaradnak a paraméterei az általam használt IRLB4030-tól, de nem sokban. Szerintem próbáld ki!
https://prohardver.hu/tema/arduino/hsz_15562-15562.htmlOK, így stimmel, szerintem.
-
válasz
tonermagus #16922 üzenetére
A PWM-es meghajtásnál nincs - jelentős - disszipáció és a vezérelt eszköz átlagárama is lineáris összefüggésben marad a PWM kitöltési tényezőjével.
Ez arra vezethető vissza, hogy eredetileg analóg szabályozást említettél.
Analóg szabályozás esetén az elektronika (ez általában több, mint egy FET) egy parancsjel alapján kimeneti feszültséget szabályoz. Egyszerű, egy IC-s elektronika esetében ez úgy történik (egyszerűen magyarázva), hogy az IC változtatja a saját ellenállását, ezzel engedve nagyobb áramot/feszültséget a fogyasztóra. Ezekkel az a gond, hogy a fölös energiát - mint egy ellenállás - elfűti (disszipálja).
A PWM meghajtásnál az IC (esetünkben a FET) csak full bekapcsolt, és csak full kikapcsolt állapotban működik. Tehát vagy végtelen az ellenállása, és egyáltalán nem folyik rajta áram (emiatt nem disszipál), vagy közel nulla az ellenállása, ezért minimális a disszipáció rajta. -
Janos250
őstag
válasz
tonermagus #16922 üzenetére
Nem hiányzik, hanem sok!
A felső GND a D-nél törlendő. Én nem szoktam tovább cicomázni, én így szoktam használni.
"ebből a mondatból nem sok mindent értek"
Ha logikai szinttel, és nem analóg hajtod meg, akkor az vagy magas, vagy alacsony szint a Gate-en, ebből adódóan a FET mindig vagy nyitott (vezet, mint egy drót) vagy zárt (nem vezet, mint egy elvágott drót) állapotban van, és mivel a FET melegedése (disszipáció) a rajta lévő feszültség * áramerősség , egyik esetben az áramerősség, másikban a D és S közötti feszültség közel nulla, ezért a melegedés sem számottevő.
-
tonermagus
aktív tag
válasz
razorbenke92 #16921 üzenetére
Teljesen elképzelhetőnek tartom hogy valamit helytelenül írtam le, a tévedés jogát fenntartom
Teljes mértékben laikus vagyok a téren (pl. ebből a mondantból nem sok mindent értek: A PWM-es meghajtásnál nincs - jelentős - disszipáció és a vezérelt eszköz átlagárama is lineáris összefüggésben marad a PWM kitöltési tényezőjével.
)
A sok-sok info alapján az alábbi kapcsolást szűrtem le:
Természetesen az arduino megtáplálása is megtörténik, jelenleg csak a releváns részét rajzoltam le a kapcsolásnak.1. Ez így megfelelő lehet? hiányzik valami a kapcsolásról?
2. Láttam egy Zéner diódát a S-D között, az szükséges, ajánlott? Ha igen milyet?
3. Melyik az a FET, ami TO220-as tokozású, HESTORE-ban elérhető, és alkalmas a feladatra? (Logikai vezérlésű, feszültség tartomány 5-12V max, áramerősség 3A max)Köszönöm mindenkinek addig is a segítőkész hozzászólásokat
-
Szerintem az analogWrite alatt a PWM-et értette (az Arduino legalábbis analogWrite használatakor PWM-et generál).
tonermagus
Csak hogy ne zavarjunk össze, a PWM tehát továbbra is jó neked arra a célra, amire szeretnéd. Csak a megfogalmazás volt nekünk félreérthető (ahogy ezt már kitárgyaltuk).
A low-side jelentését, és a gate-lehúzó ellenállást And kolléga megválaszolta. Ha van még kérdésed, tedd fel nyugodtan. -
And
veterán
válasz
tonermagus #16917 üzenetére
Még mindig nem világos, hogy pontosan mit (milyen megoldást) szeretnél. Dimmeléssel indítottál, amiből ezen hsz-ed alapján kapcsolgatás lett - bár az igaz, a PWM-es dimmelés is 'kapcsolgatás' -, eggyel előtte pedig analogwrite-os lehetőség. Tehát: analóg vagy PWM? A közvetlen mosfet-es analóg vezérlés több okból is problémás, a lehetséges erős disszipáció miatt és az átviteli karakterisztika nem teljesen lineáris jellege okán sem tökéletes. A pozitív ág vezérlése sem előny, mert a rendelkezésre álló uC kimeneti feszültségnél nagyobb vezérlő (gate-) feszültséget és / vagy p-csatornás mosfetet igényel külön meghajtással, vezérlőszint-eltolással. A PWM-es meghajtásnál nincs - jelentős - disszipáció és a vezérelt eszköz átlagárama is lineáris összefüggésben marad a PWM kitöltési tényezőjével.
"Továbbá az ellenállás/kondi méretezés sem annyira világos."
Itt milyen ellenállásra vagy kondenzátorra gondolsz? Alapesetben (lásd a #16910-es rajzot) egy mosfethez egyik sem kell. Kapac kifejezetten hátrány egy PWM-es vezérléshez, nagyobb frekvenciájú vezérlésnél eleve probléma lehet a mosfetek gate-kapacitása, mert meghajtóáramot igényelhet. Mod: gate-source (n-csatornás gate-et GND felé húzó) ellenállás nagyságrendileg 100 kΩ.
Mosfet típus nagyon sokféle szóba jöhet határadatok (disszipáció, Uds_max, Id_max), Rds_on érték, kivitel, tokozás, vezérlési mód szerint. -
tonermagus
aktív tag
válasz
razorbenke92 #16918 üzenetére
Szia!
A biztonság kedvéért azt mondanám max. 3A-t kell elbírnia, de a gyakorlatban ez nemigen megy fel 1A felé. Mindenképpen TO220-as tokozású kellene.
Mekkora ellenállást javasolsz a GND-re húzásnál?
Mit jelent az hogy low-side? -
válasz
tonermagus #16916 üzenetére
Szia!
Teljesen jó az irány, már csak egy kérdés van: mekkora áramot kell tudnia?
Én az irlml2502-t szoktam használni, hasonló ahhoz amit Janos250 kolléga használ. Amire figyelj, hogy a FET-ek low-side szoktak lenni inkább (tehát a földre szaggat).
Ami még esetleg fontos lehet: A Gate lábat érdemes lehúzni a földre egy nagyobb ellenállással: A uC-k induláskor nagyimpedanciás módban indulnak, ilyenkor az áramkör zajból összeszedett néhány elektronja elég lehet, hogy a FET analóg módban elinduljon (azaz sem teljesen bekapcsolva, sem teljesen kikapcsolva nincs) - ez néha meg tudja őket füstöltetni. -
tonermagus
aktív tag
Időközben átnyálaztam pár leírást, most már a nagy része világos számomra.
Tudnátok ajánlani olyan FET-et, ami HESTORE-ból beszerezhető és 12V-ot illetve 5-6V-ot kapcsolgathatok vele logikai szintű vezérléssel max. 2-3 A áramerőség mellett? Ha ezt egy FET-el meg lehet oldani az is jó, de ha külön-külön van rá megoldás az is érdekel.
(Sajna IRLB4030-t a HESTORE-nál nem látok)
Továbbá az ellenállás/kondi méretezés sem annyira világos. Milyen értékűeket érdmes a kapcsolásba tenni? Nem kell hogy olyan nagyon részletes legyen a halványítás/erősítés -
tonermagus
aktív tag
válasz
Tankblock #16915 üzenetére
Szia
Rajzot nem tudok sajnos adni, mivel pont ez a problémám, hogy nem tudom milyen elemeket kell hogy tartalmazzon feszültségszabályzás részen, inkább részletesen leírom:
Van egy HC-05 Bluetooth modul, amire egy érzékelő van felpárosítva ami egy értéket ad neki. Ezt az értéket átadja a modul az arduinonak, ami kiszámítja hogy mennyire kell hogy világítson a LED. Ennek megfelelően az Arduino egyik kimenete vezérelné a FET-et. A FET pedig a 12V-os áramkör pozitív szálát szakítaná.
Mivel laikus vagyok elektronika témában, ezért én úgy képzeltem el, hogy az ardu kimenetén van egy FET, aminek az egyik lábára rákötöm az ardu egyik kimenetét(Analóg?) és azon a kimeneten analogwrite paranccsal tudom vezérelni a FET-et, hogy mennyi áramot engedjen át ezáltal a nagyobb átengedett feszültség miatt a LED jobban világítana.
Bár azt már most látom gyapo11-nak hála, hogy én a PWM-el nem a feszültséget csökkentem hanem "gyorsan ki-be kapcsolgatom" így a teljes 100%-os ciklus csökkentésével csökken a fényerő.
Ezek szerinte nekem tényleg csak egy FET kell ami elbírja az áramerősséget, és az analogwrite-al parancsot küldök neki a GATE-re, és már tudom is fadelni a LED-et? -
Tankblock
aktív tag
válasz
tonermagus #16908 üzenetére
Szia,
Le tudnád rajzolni, hogy megértsük/sem? Jelenleg nekem nem tiszta a feladat.
Ez egy step down converter lenne ? -
gyapo11
őstag
válasz
tonermagus #16912 üzenetére
Jó a fet, csak nem jól érted a pwm-et. A pwm-nek nem a mérete szabályoz, hogy nagyobb vagy kisebb a fesz, hanem a pulzus szélességével. Egységnyi időből mennyit van földön vagy tápon a kimenet. Led vezérléshez ez pont jó, mert a szemünk integrálja a bekapcsolt és kikapcsolt állapotot, és kijön belőle egy a pwm %-ával arányos fényerő.
János250 rajzán ott van a kapcsolás, processzor kimenete a fet gate-jére, source a földre, a drainre meg mehet a led a megfelelő tápra kötve és áramgenerátorral vagy ellenállással sorbakötve. -
Janos250
őstag
válasz
tonermagus #16912 üzenetére
Ha 5V-os is lehetne, akkor WS2812. Sokkal kényelmesebb. Kiküldöd neki a három szín fényerejét, és ő megjegyzi, csak akkor kell újra küldeni, ha változik. Mellesleg 3.3V-ról is elmegy, csak kisebb lesz a fényerő. (Igen, kipróbáltam)
-
tonermagus
aktív tag
válasz
razorbenke92 #16911 üzenetére
Igazából az sem biztos hogy nekem erre van szükségem.
A helyzet a következő: Egy érintkezőtől kapok egy jelet ami lényegében a fényerőt jelenti. És én csak azt akarom elérni, hogy ettől a jeltől függően világosodjon, vagy halványuljon a LED. Azt gondoltam erre jó lehet egy FET, mert gondolom azzal tudok feszültséget is szabályozni: kisebb átengedett feszültség -> kis fényerő. Nagyobb átengedett feszültség --> nagy fényerő. Ehhez gondoltam hogy jó eszköz lehet egy PWM vezérelhető FET.
De ha tudtok rá jobb megoldást akkor vevő vagyok rá.
Maradjunk egyenlőre a 12V-os LED fényforrásnál. -
válasz
tonermagus #16908 üzenetére
Nem tudom mi az alkalmazás, de PWM-nek definícó szerint pont az a lényege, hogy nem analóg feszültségszabályzással éred el a kívánt teljesítményt, hanem a max és a min teljesítmény időarányainak beállításával nagy frekvencián.
Persze előállítható PWM segítségével feszültségszabályozás is megfelelő szűrőelektronika és visszacsatolás használatával, de ez nem csak a FET paramétere lesz. Ideális esetben PWM használatakor a FET egy nagy kapcsoló, és a kimenetén csak a 0 és a táp jelenik meg. A többit a szűrés oldja meg.
Ha tehát a terhelésed nem bírja az 5V-ot (legalább impulzus szerűen) akkor nem ajánlott 0-3.3V között PWM-el szabályozni.
-
Janos250
őstag
válasz
tonermagus #16908 üzenetére
Én ajánlani már semmit senkinek nem ajánlok, csak azt mondom el, én hogyan csinálom/csinálnám.
Én az IRLB4030-at használom, ez nagyon jól bevált, kivétel, amikor az Aliról használhatatlan példányokat kaptam.
Gyakorlatilag tökéletesen nyit, zár, nem melegszik, nagyon kicsi az ellenállása az ESP32 kimenetével hajtva a gate-et.
A vásárolt példányoknak kb. a fele rossz volt, nem nyitott ki teljesen, és nagyon melegedett.
Amit megbízhatóbb eladótól vettem az mind jó, de volt 2 olyan rendelésem is, hogy mind rossz volt. Kénytelen voltam az összes példányt lemérni, és a rosszakat kidobni.
Részlet, hogy én hogyan használom: (Csak a FET-eket és az ESP32-t nézd, mert van ami el van rontva, de nem találom a javítottat) -
Gergosz2
veterán
válasz
tonermagus #16908 üzenetére
Ha PWMezed akkor az áramiránytol fuggően a DC fesz plusz mínusz dióda nyitó fesz megy ki. Amit leírtál az igaz lesz az effektív értékre ha változtatod a kitöltési tényezőt.
Keresésre ajánlom az ST, Ti és infineon vagy egyéb gyártók keresőjét, ahol nagyjából minden paraméterre szűrni lehet.
-
tonermagus
aktív tag
Sziasztok!
Tudnátok ajánlani egy olyan FET-et, ami Logic-Level, elbír 3A-t és PWM jellel vezérelhető és a kimenete eszerint változik? Tehát minél nagyobb PWM értéket küldünk rá annál nagyobb feszültséget enged át magán. Nem tudom hogy ez így önmagában működik-e, vagy kell hozzá valami még? Az egyik forrás 5V lenne a másik 12V. Az 5V-os ágon pl. 0V-tól 3,3V-ig kellene átengedjen feszültséget attól függően hogy emelem vagy csökkentem a vezérlő PWM értéket. -
Undoroid
őstag
Szia!
Így már világos!
Pontosan így próbálkoztam, mert János250 pontosan odaírta azt, amit tudnom kellett! Első körben csak azt a két hívást használtam (volna), de valahol hibázhattam, mert feltöltés előtt hibát talált a program!
" megjegyzem a hibaüzenet nem a te bosszantásodra van, hanem leírja, mit csinálj máshogy
"
Világos! Jelenleg annyira értem ezeket, mint a kiselefánt a zongorahangolást
Rengeteg dolgot kell még megismernem erről a témáról!
-
Ha módosítod a color () függvényt erre:
void color (unsigned char red, unsigned char green, unsigned char blue,
int redPin, int greenPin, int bluePin);
{
analogWrite(redPin, 255-red); // PWM signal output
analogWrite(greenPin, 255-green); // PWM signal output
analogWrite(bluePin, 255-blue); // PWM signal output
} ;akkor a kódodban már meglévő összes color () hívást hozzá kell módosítani.
Tehát ehelyett:void loop() // run over and over again
{
// Basic colors:
color(255, 0, 0); // turn the RGB LED red
delay(1000); // delay for 1 second
color(0,255, 0); // turn the RGB LED green
delay(1000); // delay for 1 second
color(0, 0, 255); // turn the RGB LED blue
delay(1000); // delay for 1 seconderre:
void loop() // run over and over again
{
// Basic colors:
color(255, 0, 0,11,10,9 ); // turn the RGB LED red
delay(1000); // delay for 1 second
color(0,255, 0,11,10,9); // turn the RGB LED green
delay(1000); // delay for 1 second
color(0, 0, 255,11,10,9); // turn the RGB LED blue
delay(1000); // delay for 1 secondkülönben hibát fog jelezni (megjegyzem a hibaüzenet nem a te bosszantásodra van, hanem leírja, mit csinálj máshogy
)
-
Undoroid
őstag
válasz
razorbenke92 #16900 üzenetére
Az első eljárást választottam. Sikerült úgy beilleszteni a meglévő kódba az általad leírtat, hogy végre nem sikított valami hibával! Szépen villantja a rögtönzött színeket! Köszönöm a segítségedet!
Nagy vagy!
********************************************************************************
Biztos, hogy Én ronthattam el valamit (rossz helyre helyeztem el a kódodat) mert nem tudtam beindítani a folyamatot! Alapból nagyon tetszett a megoldás és ezért ezzel kísérleteztem elsőre...sikertelenül.
Majd mennem kellett a város másik végébe egy kis feladat miatt! Addig agyaltam azon, hogy mit- és hol rontottam el?! Sajnos nem jöttem rá és ezért a másik lehetőséggel próbálkoztam! Viszont nincs végleg elásva a kódod, mert a működő vezérlőre majd December elején lesz csak szükségem! Addig lesz időm próbálgatni azt, hogy hol rontottam el?! Ezzel is tanulva ezt a remek kis vezérlőt és a programozását!
Köszönöm a rá(m)fordított időtöket!
********************************************************************************
János250 kolléga megoldására gondolsz
Nem egészen értem. Most próbálkozni fogok és "jól" telepakolom a már eldöcögő kódot fix
color-color2-delay
értékekkel és ezzel totál elpocsékolom a rendelkezésre álló tárhelyet! Ugyan nem lesz szép megoldás, hanem egyenesen ronda, de legalább működni fog! -
Undoroid
őstag
válasz
razorbenke92 #16900 üzenetére
Szia!
Köszönöm az ötleteket és a segítségedet!
" ...void color2 (unsigned char red, unsigned char green, unsigned ch
a
... " Ezt a verziót még nem próbáltam ki!A zárójelen belül változtattam meg a színek nevét (red-red2) és nem a color-color2 -t . Látszik, hogy teljesen kezdő vagyok még, mert ennyire nem ismerem még az utasítások kezelését!
Mindenképpen kipróbálom mindkét megoldást!
********************************************************************************
Janos250
Szia!Ez már igazán rafinált megoldás!
Tetszik, mert teljesen világos számomra, hogy mikor és mit csinálok az aktuális kimenetekkel?!
Korábban ekkold kolléga is valami hasonló irányba terelgetett, próbálkoztam is a példájával, de valamit elronthattam, mert sajnos hibákat adott fordítás / feltöltés közben a program.
Pedig az nagyon leegyszerűsítette volna a dolgokat! (a rendelkezésre álló tárhelyet sem pocsékolta el, mint ahogyan azt Én teszem
)
-
Janos250
őstag
válasz
Undoroid #16899 üzenetére
Például egy lehetséges megoldás:
void color (unsigned char red, unsigned char green, unsigned char blue,
int redPin, int greenPin, int bluePin);
{
analogWrite(redPin, 255-red); // PWM signal output
analogWrite(greenPin, 255-green); // PWM signal output
analogWrite(bluePin, 255-blue); // PWM signal output
} ;hívás:
color(255,255,0,11,10,9);
color(255,255,0,6,5,3);
stb.
Új hozzászólás Aktív témák
Hirdetés
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Háborog az Apple az iPhone-ra írt első pornóapp miatt
- Autós topik
- Counter-Strike: Global Offensive (CS:GO) / Counter-Strike 2 (CS2)
- CPU léghűtés kibeszélő
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Path of Exile (ARPG)
- TCL LCD és LED TV-k
- Milyen TV-t vegyek?
- Milyen légkondit a lakásba?
- További aktív témák...
- RTX 4080 SUPER,16GB. Ryzen 7 7800X3D, 32 RAM Fury RGB! Garancia!
- Asztali PC , i7 9700K , RX 5700 XT , 32GB DDR4 , 500GB NVME , 1TB HDD
- Dell Inspiron 5406 2-in-1i5-1135G7 16GB DDR4 3200 512GB NVME 14" FHD Érintőkijelző W11Pro
- Eladó MacBook Pro 14" M1 Pro (2021) 16/512 99% akku Makulátlan állapotban!
- Újszeru GIGABYTE G5 - 15.6" FullHD 144Hz - i7-13620H - 48GB - 1TB - RTX 4050 - Win11 - 1,5 év gari
- AKCIÓ! Gigabyte H510M i5 10400F 16GB DDR4 512GB SSD GTX 1070 8GB Rampage SHIVA Zalman 600W
- AKCIÓ! Apple MacBook Pro 13 2022 M2 8GB 256GB SSD garanciával hibátlan működéssel
- Dell Latitude 5300 5310, 5400, 5410, 5420, 5430, 7480, 7490
- BESZÁMÍTÁS! MSI B550M R7 5800X 32GB DDR4 512GB SSD RX Nitro+ 6700XT 12GB Corsair 4000D ASUS ROG 650W
- ÁRGARANCIA! Épített KomPhone Ryzen 7 9700X 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged