-
PROHARDVER!
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
-
Tomika86
senior tag
Sziasztok
Mi okozhatja azt Esp32 esetén, hogy néha nem kell a boot gombot nyomni? Van hogy automatikusan csatlakozik, van hogy nyomni kell.
Illetve a GPIO2 láb, ezen van egy led alapból az esp panelen. Ez alapból piros, ha kapcsolok a 2es lábon akkor kéken világít. Tehát fizikálisan működik.
Programban megvan adva INPUTként.
Viszont ahol használom egy "if" feltételben, az nem akar jó lenni. Ha if (nyomogomb) ot írok akkor mindig végrehajtódik a feltétel. Ha !nyomogomb akkor soha.
Ha kapcsolom a bemenetet, ha nem. Programban végig true értékű.De akkor miért működik a lapon lévő led?
Le van húzva 0ra és akkor világít kéken a led ha 3,3vot adok rá.
#define nyomogomb 2, így van definiálva minden be/ki menet. Nodemcu 32s a panelKöszönöm
-
válasz
Tomika86 #16192 üzenetére
Megmondom őszintén, hogy mással is foglalkozom ezen kívül, így nem tudom az egész projekt összes darabját fejben tartani, csak annyit látok át egyszerre, amit akkor éppen megosztasz.
van egy osztó ami azt adja meg 1 fordulat alatt mennyi jel van.
Így elvileg kevesebb lesz 1 méternél.Úgy igen.
-
Tomika86
senior tag
A kommentben odaírtam igen, van egy érték amit meglehet adni képernyőn(kerékátmérő mondjuk mmben), van egy osztó ami azt adja meg 1 fordulat alatt mennyi jel van.
Így elvileg kevesebb lesz 1 méternél.A sebességes részét mindet felraktam, eeprom mentés és nullázást nem. Az egész program meg felesleges az 1200sorával felesleges lehet ide.
Köszönöm
-
válasz
Tomika86 #16190 üzenetére
Helyette, de mivel mindig csak egy-egy részletet mutatsz a programodból, nem igazán látom át, mi mit csinál benne, például milyen kód és milyen feltételek szerint növeli az
aktualis_tavolsag_mm
-t...Az a probléma, hogy a kereked 1 méternél nagyobb kerületű, nem? Tehát minden második fordulatnál túl fogja lépni a 2000mm-t...
-
Tomika86
senior tag
Ez az if blokk helyett vagy bele gondoltad?
Nem látom át mit csinál így.Most jelenleg az if blokkal ellenőrzöm hogy megvan az 1 méter és ekkor növelem a számlálókat. Az igaz, hogy nem működik ha 2000-es maradék lesz, de elvileg az le van védve, nem lehet akkora értéket beírni, hogy nagy legyen.
Köszi -
-
Tomika86
senior tag
Sziasztok!
Ez így működhet?
// Megtett távolság számláló
egy_fordulatra_tavolsag_mm = kalibralo_ertek_kiir / sebjela_ertek_kiir; // Egy fordulatra megtett távolság mm-ben = (d*pi)/jel 2826mm/10 = 282,6mm
aktualis_tavolsag_mm = aktualis_tavolsag_mm + maradek;
aktualis_tavolsag_mm = ford_szamlalo * egy_fordulatra_tavolsag_mm ;
if (aktualis_tavolsag_mm >= 1000.0) {
maradek = aktualis_tavolsag_mm - 1000.0;
megtett_meter++;
trip_szamol_meter++;
osszkm_szamlalo_meter++;
aktualis_tavolsag_mm = 0;
ford_szamlalo = 1;
// Megtett méter kiiratása a másodlagos kijelzőre méterenként
u8g2.setCursor(0, 50);
u8g2.print(megtett_meter);
u8g2.sendBuffer();
}
// Megszakításra hívódó függvény sebesség méréshez
void Sebesseg_esemeny () {
ford_szamlalo++;
static unsigned long elozo_micros = 0;
unsigned long akt_micros = micros();
eltelt_ido = akt_micros - elozo_micros;
elozo_micros = akt_micros;
millis_mentes = millis();
}Vagy nagy hülyeség így?
-
Tankblock
aktív tag
Általában a 2 nem hajtott kerék átlaga lesz a helyes megoldás az autó sebességére. Mivel nincs hajtva nem fog kipörögni.... Ezt lehet finomítani long acc szenzor figyelembe vételével.
1 forgás 1 jel nem ad megfelelő megfigyelési értéket : Nyquist kritérium figyelembe véve az autókban 42-44 mágnes olvas egy Hall Sensor ---> voala ABS sensor.....Remélem segítettem
-
Tomika86
senior tag
Szerintem a kipörgést, csúszást, egyebeket csak gps-el lehet pontosan kiküszöbölni.
Ezektől tekintsünk el, meg a guminyomástól is.Egyébként minden futam elött bekalibrálják, kardánon van figyelve a fordulat.
Megnézik 10méterre mennyit mutat, ha mást akkor elírják a kalibrálást. Aztmondja hogy működik. Csúszást egyebeket leszámítva.
Abs gyűrű nincs, csak a kardánon lehet figyelni, a váltóból kijövő tengelyt.Köszi
-
-
gyapo11
őstag
Az abs is a forgást figyeli nem a megtett utat. A gps-szel meg az a baj, hogy két mérés között nem lehet tudni mi történt, és nagyobb sebességeknél az 1 másodperc alatt megtett út már nem lényegtelen, lehet kanyarodás, a gps meg két pontot ad, közte semmit.
Szerintem jó kompromisszum a motor/féltengely/kardántengely fordulatszámának mérése. Ehhez le kell mérni az egy kerékfordulat alatt megtett utat. Nem lesz extra pontos, az állókerekes fékezést, broadside-ot, kerék kipörgést nem tudja mérni, a kerék nyomása nagyon sokat nem változik. -
biker
nagyúr
válasz
Tomika86 #16177 üzenetére
Jót nevettem volna, nekem mondja, történetesen mi van ha elpörög a kerék homokon/vízen/jégen? Hány méter a méter? Sárban dagasztáskor mennyi? Ha ledifferál az egyikk kerék és pörög míg a másik áll, vagy kanyarban más a kerék fordulat, mennyi méter a méter?
Plusz a kardántengely mérése nem veszi figyelembe a gumi kerületét ami nyomásra változik.
Ha nem összkerekes, akkor a 4 kerék 4 abs érzékelője jeleit összegezve ki lehetne számolni pontosan a sebességet, addig amíg nem 4 kerékkel állóra fékezve csúszik. -
Tomika86
senior tag
Ha eltekintünk, hogy gumin gördül az autó akkor hogy lehetséges?
Aztmondja munkatársam, hogy van neki egy olyan kütyüje, amivel métert számol.
Kardántengelyen vannak a csavarok figyelve és van egy kalibráló érték amivel betudják lőni és pontos az 1 méter. De nem tudom mi ez pontosan, nem gps-es -
válasz
Tomika86 #16175 üzenetére
Röviden: sehogy. Hosszabban: a hétköznapi autók sebességmérője is ± 5-10% pontossággal dolgozik, nem lehet előre beállított módon pontosan mérni az utat egy alapvetően nem fix kerületű, rugalmas abronccsal, hacsak nem veszed számításba a gumikopást és a keréknyomást. Szóval ne csinálj ebből nagy gondot.
Esetleg próbálkozhatsz beépített GPS-szel, ha már adott a mikrokontroller, nagyobb sebességen nagyobb pontossággal tudsz mérni sebességet és utat is. -
Janos250
őstag
válasz
Tomika86 #16169 üzenetére
A stack méretet szerintem csak próbálgatással lehet belőni. Adsz valami jó nagyot, aztán addig csökkented, amíg jó. Minél több változót definiálsz a függvényen belül, annál nagyobb kell. Ha globálisak a változóid, akkor kevesebb.
Igen, simán szétszedheted gyakorlatilag akárhány részre, és megszabhatod, hogy melyik rész hol fusson. -
Tomika86
senior tag
Sziasztok!
Megszakításban, ha ezt használom:void Sebesseg_esemeny () {
ford_szamlalo++;
static unsigned long elozo_micros = 0;
unsigned long akt_micros = micros();
eltelt_ido = akt_micros - elozo_micros;
elozo_micros = akt_micros;
}Ebből kettő megszakítás közötti idő lesz meg usec-ben, ha jól gondolom?
Sebesség értéket szeretnék számolni, de mellé kellene még, hogy számoljam azt is, hogy méterben mennyit haladtam. És minél pontosabban.
Ez ha jól gondolom, csak akkor kivitelezhető, ha 1 fordulatra több jelem van a tengelyen. De akkor is, hogyan a legpontosabb, mennyi jel kell?
1 fordulatra kb 2 méter adódik. Ha több jel van, akkor ez az érték osztódik a jelek számával, egy teljes fordulatra. De akkor meg miből számolok sebességet,vagy ezt csak vissza szorzom a jelek számával egy fordulatra?Igazából az elv is elég, hogy rájöjjek miként megy ez, aztán max kérdek még
Láttam olyan példákat ahol van trip számlálás, de nem egyesével nől az értéke és nem is méterben. Néztem olyat ahol a megszakításban van minden kiszámolva.
Köszönöm!
-
-
Janos250
őstag
válasz
Tomika86 #16165 üzenetére
Az egyik felét hagyod a loopban, az fut majd az 1-es magon.
Csinálsz egy függvényt, abba teszed a másik felét, és az megy ./*********
Rui Santos
Complete project details at https://randomnerdtutorials.com
*********/
TaskHandle_t Task1;
//TaskHandle_t Task2;
// LED pins
//const int led1 = 2;
//const int led2 = 4;
void setup() {
Serial.begin(115200);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
//create a task that will be executed in the Task1code() function, with priority 1 and executed on core 0
xTaskCreatePinnedToCore(
Task1code, /* Task function. */
"Task1", /* name of task. */
10000, /* Stack size of task */
NULL, /* parameter of the task */
1, /* priority of the task */
&Task1, /* Task handle to keep track of created task */
0); /* pin task to core 0 */
delay(500);
/*
//create a task that will be executed in the Task2code() function, with priority 1 and executed on core 1
xTaskCreatePinnedToCore(
Task2code,
"Task2",
10000,
NULL,
1,
&Task2,
1);
Ez nem kell, mert a loop automatikusan a 0. magra megy.
*/
delay(500);
}
//Task1code: blinks an LED every 1000 ms
void Task1code( void * pvParameters ){
Serial.print("Task1 running on core ");
Serial.println(xPortGetCoreID());
/*
for(;;){
digitalWrite(led1, HIGH);
delay(1000);
digitalWrite(led1, LOW);
delay(1000);
*/
// ide jön a 0-án futtatandó programrész
Serial.print("Task1 running on core ");
Serial.println(xPortGetCoreID());
}
}
/*
//Task2code: blinks an LED every 700 ms
void Task2code( void * pvParameters ){
Serial.print("Task2 running on core ");
Serial.println(xPortGetCoreID());
for(;;){
digitalWrite(led2, HIGH);
delay(700);
digitalWrite(led2, LOW);
delay(700);
Serial.print("Task2 running on core ");
Serial.println(xPortGetCoreID());
*/
}
}
void loop() {
// ide jön, ami az 1-es magon fusson
} -
PeterPH
senior tag
válasz
Tomika86 #16158 üzenetére
Arduino IDE esetén nincs jelentősége, PlatformIO+VSCode esetén mindenképp előbb kell deklarálni, vagy definiálni.
Valószínűleg a task watchdog indítgatja újra, mert az idle taskok nem jutnak szóhoz. Kis delay esetleg segíthet a loop illetve a 0. magon futó cikluson belül. Vagy tiltsd le a watchdog-ot. -
Tomika86
senior tag
Sziasztok
Mi a különbség ha a loop elött vagy után vannak deklarálva a függvények? Látom így is úgy is.Amúgy próbáltam a két magos programozást, de újraindul folyamatosan az esp32.
Köszönöm -
válasz
Tomika86 #16154 üzenetére
Hát nem akarok hülyeséget mondani, de ha jól tévedek, a legmagasabb, Mbit-es sebességhez talán 20cm a maximális vezetékhossz, de azt nem tudom, hogy a többi egységet is lassítja-e, ha egy egység valami miatt csak lassabb sebességre képes. 🤔
Hosszabb vezeték esetén csökkenteni kell a felhúzó ellenállások értékét, talán 2,7k-ra.Az autóban nem lesz CAN busz véletlenül?
-
Tomika86
senior tag
Sziasztok!
Autóban gyorsulást szeretnék mérni, erre ha a megfelelő pozicióban van akkor alkalmas egy MPU-6050 szenzor? Bekapcsoláskor kell kalibrálni?
Láttam van több típus is, i2c kellene nekem.I2c esetén ha a főegységtől 50cm-re lenne egy pici oled kijelző, amin 1db változó lenne kiiratva. Ez okoz gondot?
Köszönöm
-
Tomika86
senior tag
Működik
Ha valakinek kellene majd :
// 1001 0 A1 A0 R /W
void setup()
{
Wire.begin(); // I2C kommunikáció inicializálása MASTER-ként
Serial.begin(115200); // Soros kommunikáció inicializálása, baud rate beállítása = 9600
delay(300);
}
void loop()
{
int kiolvasott = ADS7828_olvasas (ADS7828_ADDRESS, CH0); // 0x8C 0b1000 1100 SD, C2, C1, C0, PD1, PD0, x, x
// 1: Single-End, 000: Ch0, 11: Int ref és AD bekapcsolva
Serial.print("Ch0 értéke : ");
Serial.println(kiolvasott); // Nyers analóg érték kiiratása soros monitorra
}
int ADS7828_olvasas (int Addr_byte, byte Cmd_byte) {
byte data[2];
Wire.beginTransmission(Addr_byte); // I2C átvitel indítása, az adott címen
Wire.write(Cmd_byte); // Command byte küldése
Wire.endTransmission(); // I2C átvitel megállítása
Wire.requestFrom(Addr_byte, 2); // 2 byte adatra várakozás
// 2 byte adat olvasása
if (Wire.available() == 2) // Ha megérkezett a 2byte
{
data[0] = Wire.read(); // Első byte tömbbe írása
data[1] = Wire.read(); // Második byte tömbbe írása
delay(5);
int adc = ((data[0] & 0x0F) * 256) + data[1]; // Adat konvertálás 12bit-re
return adc;
}
}Nem a legszebb, de jól működik, semmi akadás az analóg mutatóban
Köszönöm a segítséget!
-
And
veterán
válasz
Tomika86 #16148 üzenetére
Alapban jónak tűnik, bár a ciklusban így nem nagyon van késleltetés. A command-ként beküldött 0x0C viszont nem oké, ha single ended konfigurációban kapcsolod az ADC-re a mérendő feszültséget. Utóbbi esetben a COM-pin a negatív referencia (= GND), ehhez pedig az SD-bitet 1-be kell állítanod (COM = 0x8C).
-
Tomika86
senior tag
Szia!
Ez így jó lehet?
// 10010 A1 A0 R /W
void setup()
{
Wire.begin(); // I2C kommunikáció inicializálása MASTER-ként
Serial.begin(9600); // Soros kommunikáció inicializálása, baud rate beállítása = 9600
delay(300);
}
void loop()
{
int kiolvasott = ADS7828_olvasas (Addr, 0x0C); // Hex: 0x0C Bin: 0000 1100 SD, C2, C1, C0, PD1, PD0, x, x
// 0: Single-End, 000: Ch0, 11: Int ref és AD bekapcsolva
Serial.print("Ch0 értéke : ");
Serial.println(kiolvasott); // Nyers analóg érték kiiratása soros monitorra
}
int ADS7828_olvasas (int Addr_byte, byte Cmd_byte) {
byte data[2];
Wire.beginTransmission(Addr_byte); // I2C átvitel indítása, az adott címen
Wire.write(Cmd_byte); // Command byte küldése
Wire.endTransmission(); // I2C átvitel megállítása
Wire.requestFrom(Addr_byte, 2); // 2 byte adatra várakozás
// 2 byte adat olvasása
if (Wire.available() == 2) // Ha megérkezett a 2byte
{
data[0] = Wire.read(); // Első byte tömbbe írása
data[1] = Wire.read(); // Második byte tömbbe írása
int adc = ((data[0] & 0x0F) * 256) + data[1]; // Adat konvertálás 12bit-re
return adc;
}
}A 0x0C módosításával lenne kiválasztva a csatorna száma
-
And
veterán
válasz
Tomika86 #16143 üzenetére
(Ezt csak úgy megkérdezem: miért kell annyira library-függővé tenni ennek az ADC-nek a működtetését? Az összes I2C kommunikáció 2 byte /cím + parancs, utóbbi mindössze hat hasznos bitet tartalmaz/ beírásából majd 3 byte /cím + 2 byte eredmény/ kiolvasásából áll. Nem lenne egyszerűbb ezt natív I2C-parancsokkal megoldani? Tényleg nem tudom, mit ad még ehhez hozzá a library, mert nem ismerem. De az ADC nyers kezelése sem egy űrtudomány.)
-
Tomika86
senior tag
Hát kicseréltem a felhúzó ellenállásokat, de nem változott. Megpróbáltam 400kHzen az i2c-t, így sem.
Az a library a példaprogramot rátöltve is 800ms mire 8 csatornát kiolvas.
Egy másik library 1sec alatt 5x ad adatot a csatornákról, de viszont csak a ch0 csatorna működik, ez változik csak ☹️ -
válasz
Tomika86 #16136 üzenetére
Esetleg az i2c felhúzó ellenállásai 10kohmosak ez nem okoz gondot? Van ahol 2,7kohm vagy 4,7kohm van használva.
De bizony, a magas ellenállás pont alacsonyabb sebességet okozhat. Cseréld kisebbre! A szabvány úgy tudom, hogy 4,7k-t igényel, hosszabb vezetéknél akár kisebbet is. Milyen hosszú vezeték van a kettő közt?
-
gyapo11
őstag
válasz
tonermagus #16117 üzenetére
Ónozást nem javaslom, kontakthibás lesz. Még az ezüst sem elég ellenálló, az arany az jó, csak kicsit mérgező vegyszerek kellenek hozzá.
Ha nem férnek el a tüskék, akkor vidd el a doboz egy másik pontjára vezetékekkel. Csak nem tudom hogyan lehet rögzíteni. -
Tomika86
senior tag
válasz
Janos250 #16135 üzenetére
Setup blokkban van az inicializálás.
Azt megtudom csinálni a kettő maggal, hogy egyik akkor kiolvas és a másik mag ezt az értéket használja fel? Tehát csak fizikailag van kettő magon, de a programfutásban átlátni a változókkal egyikből a másikba?
Ha jól gondolom 2 loop blokk lesz a kettő maghoz?Esetleg az i2c felhúzó ellenállásai 10kohmosak ez nem okoz gondot? Van ahol 2,7kohm vagy 4,7kohm van használva.
Köszi
-
-
válasz
Tomika86 #16130 üzenetére
Mire gondolsz az ügyes képkocka számolas alatt?
Hát ha van mondjuk másodpercenként egy beolvasás. A két érték különbözetét elosztod mondjuk 12-vel, és 1/12-ed másodpercenként növelve/csökkentve újra küldöd a köztes értékeket. Igaz így lesz a folyamatban egy 1mp-es késés, de gyakoribb beolvasásnál ez csökken. 2-3 beolvasásnál szerintem már észre sem lehet venni.
Az egy ciklus lefutási idejét a micros vagy millis értékének a számolásával a loop elején és végén megtudom határozni a ciklusidőt?
Igen, de pontosabb értéket kapsz, ha mondjuk 1000 ciklust mérsz le és visszaosztod. Már ha van erre lehetőség.
-
Tomika86
senior tag
Mire gondolsz az ügyes képkocka számolas alatt?
Nextionban a mutatónak fokot küldök át.Át rendeztem a program struktúráját, a függvény hívásokat. Kiderül majd.
Az egy ciklus lefutási idejét a micros vagy millis értékének a számolásával a loop elején és végén megtudom határozni a ciklusidőt? Csak kíváncsiságból.
Mondjuk MEGA2560nál nem néztem meg.
Köszi -
válasz
Tomika86 #16124 üzenetére
A mutató sebességének a folyamatosságához elég 12-15 mintavétel is, de valójában akár másodpercenként 2-3 mintavétellel is meg lehet oldani a folyamatos mozgást mondjuk a sebességmérőnél vagy a fordulatszámmérőnél, csak a két érték közti "képkockákat" kell ügyesen kiszámolni.
-
Tomika86
senior tag
Igen még mindig 🙂
Jelenleg már esp32-vel. Azért jött az i2c ad hogy ne használjak el lábat az esp32ből. Hosszú project lesz ez.
Tehát akkor vagy csökkentek az ad bemenetein lógó impedanciákon, vagy követő opampot rakok plusszba be, de akkor új panel kell.
Nem tudom, hogy kell e nekem ez a túlzott dupla szűrőtag. Mennyire kell szűrnöm a bemenetet. Milyen frekvenciára kell szűrnöm? Mert ez a 10kohm, 100nf 160hz törésponti frekvenciát ad. -
And
veterán
válasz
Tomika86 #16125 üzenetére
Ja, hogy ez még mindig a mutatós / Nextion-os projekt
. Nem halott ügy, de akkor sincs szükséged sok ezer minta / szekundumos sebességre, maximum néhányszor 10-es nagyságrendben. Igen, az ADC maximális sebessége 50 kSps, de ez csak az általa támogatott legnagyobb I2C-órajelnél realizálható, mivel utóbbi gátat szab a nagyobb konverziós rátának. A standard 100 kHz-es I2C mellett a ADS7828 legnagyobb elérhető sebessége adatlap szerint 2000 sample/sec.
Az ADS111x-ek 16-bites, nem is túl gyors ADC-k, szerintem 'analóg' kijelzéshez túlzás ekkora felbontás. Jó az ADS7828 is, de nagyobb sebességnél valóban kis forrásimpedanciát igényel, vagy egy külső követő / puffererősítőt (pl. 1x-es rail-to-rail OPA-kapcsolás formájában). -
Tomika86
senior tag
50ksps a mintavételi sebesség, 1sec alatt 50000mintát tud? Az i2c kommunikáció standard, az 100khz ha jól tudom.
Az is elképzelhető hogy a library rossz nekem?Az ADS111x sorozat amit szoktak használni, de csak 4 csatornás, bár 2db jó lett volna.
Ez max 860sps sebességű szigma delta.
Ez jobb lett volna?Vagy az ads7828 is jó lesz, csak elötte a szűrés nagy impedanciás?
-
And
veterán
válasz
Tomika86 #16122 üzenetére
Az adatkiolvasás (amit megelőz a command byte beküldése, ami ténylegesen indítja a konverziót) sebessége annyi, amennyit az I2C-master konfigurációnál megadsz. Valójában nem a kiolvasás sebessége az érdekes, hanem a teljes A/D-konverziók egy másodperc alatti száma, bár lehet, hogy te eleve ezt értetted alatta. Ez egy SAR-regiszteres ADC belső pufferfokozat nélkül, vagyis a bemeneti mintavevő és -tartó kapac töltési / kisütési rátája határozza meg a bemenőáramot - ez a túlságosan nagy forrásimpedancián keresztül meghamisíthatja a mérés eredményét -, ami így végső soron az SPS-értéktől függ. Te eleve egy lassan változó DC-szintet szeretnél konvertálni, nincs szükséged őrületes mintavételi sebességre.
#16115: mivel az A/D-konverziónak része a mintavétel, ami egy konverziós ciklus alatt egyszer történik meg, ezért a kettő ekvivalens. Az ADC adatlapja is hol így, hol úgy hivatkozik rá. -
Tomika86
senior tag
A többit 5v-al és potenciometerrel kipróbáltam, 3,3kohm - 3,3kohm osztóval. Ezek jó értéket adtak.
Az akksihoz 8,2kohm - 1,6kohm(ez nincs) rakok akkor a 2,5v-max bemenethez és így skálázom be majd.Az i2c adatkiolvasás sebességét vagy az egész program futását láthatom abban, hogy olyan az értékkiolvás mintha 1s-ként lenne adat olvasva?
Ki kell próbálnom csak magát a kiolvasást -
válasz
tonermagus #16119 üzenetére
Értettem én, hogy később újra használnád, azért kérdezem, hogy mekkora tüskének van hely a dobozban? Ha lehúzod róla a fekete távtartót és elvágod kb. felébe a tüskéket, akkor sem férnek be?
-
válasz
tonermagus #16119 üzenetére
Egy ilyen csipeszt rendeltem valamikor réges régen, de még sosem próbáltam ki. Most elővettem, hogy lefotózzam, és tényleg, ez SMD chipekhez való
Olyat akartam venni, amivel egy 8 lábú DIP chipet, mint mondjuk egy Attiny85, beforrasztva fel lehet programozni.
-
tonermagus
aktív tag
jaj igen, elfelejtettem írni azt fontos dolgot, hogy elképzelhető hogy később újra programozni kell, így a levágást nem annyira preferálnám..
Mindenesetre az a csipesz amit linkeltél elég érdekes... sosem láttam még ilyet. Viszont nem tudom hogy ez a 4*2-es ICSP tüskékre rá lehet-e rakni... -
válasz
tonermagus #16117 üzenetére
-
tonermagus
aktív tag
Sziasztok!
Ti hogy oldanátok meg?:
Az Arduino Mega mini-t az ICSP lábain keresztül programozom. Gyárilag ezekbe a típusokba nincsenek beforrasztva az ICSP tüskék. Nyilván be tudom forrasztani, de a feltöltés után le kell vágnom a lábait mert ha rajta vannak a tüskék akkor nem tudom visszatenni a dobozba (fordítva beforrasztva sem). Forrasztás nélkül meg hiába tudom beledugni a lyukakba a programozó kábelét amibe előzőleg bedugtam a tüskéket az nyilván nem kontaktol.
Milyen más lehetőségeim vannak? gondoltam rá hogy a tüskéket bevonom vékony ónnal, hátha jobban kontaktolnak, de szerintem esélyeteln olyan vékonyan és szépen megcsinálnom hogy belemenjenek a foglalatokba... -
MrChris
nagyúr
Van olyan távolságmérő modul, ami ~1m-től mér 10-20 méterig, cm pontossággal, viszonylag szűk sugárban?
-
And
veterán
válasz
Tomika86 #16110 üzenetére
Azért én csak megnézném, mit produkál tized akkora ellenállásokkal (így az osztó árama még mindig csak 1mA körüli lesz). Ha a konverziós ráta alacsony, vagy relatív hosszú időközönként veszel csak egy-egy mintát, akkor nem ezzel lehet a fő probléma. A bemeneti COM és a táp GND-je amúgy össze van kötve?
-
And
veterán
-
And
veterán
válasz
Tomika86 #16105 üzenetére
Ha belső referenciát használsz, mindenképp 2,5V lesz a mérés vége. Viszont konfigurálható pl. a bemenet típusa (szimpla vagy differenciális) a referenciaforráson felül. Pontosan milyen értéket küldesz be a command byte-on keresztül? [mod: valamint melyik pin-ekre van kötve a bemeneti forrás?]
Az adatlapon nem látok követelményt vagy ajánlást a forrásimpedanciára vonatkozóan, de kicsit túlzónak érzem a külső feszültségosztó - ha jól értem, az van a bemenet előtt - és az azt követő RC-szűrő ellenállásértékeit. Annyit említ, hogy a bemeneti áram a konverziós ráta függvénye, és hogy a belső mintavevő kapacitás 25 pF értékű. -
stopperos
senior tag
válasz
Tomika86 #16103 üzenetére
Én nem ismerem, de az adatlapja alapján van neki egy 2,5V-os belső referenciája. A kérdés, hogy te mit csinálsz a REF_in/REF_out lábbal, van rá kötve valami? Vagy úgy programoztad, hogy a belső referenciát használja?
-
Tomika86
senior tag
Sziasztok
Belekeveredtem a külső AD konverterbe 😀
Ads7828 i2c-ről van szó. 3,3vról működik. 12bites.
Itt akkor a skálázása 0-3,3v 0-4095 - ig van igaz?
Mert van egy 22kohm/82kohm feszültségosztó a 12Vos bemeneten, utána 10kohm/100nF aluláteresztő szűrő.
De nem jön ki a matek amit szeretnék.Csak nem tudom hol rontom el.
-
Undoroid
őstag
Már hogyne lenne!
hogyan?
...de félre a tréfát! Agyaltam egy kicsit a feladaton és arra jutottam, hogy ugyan nem ilyen elegánsan, de nagyon egyszerűen meg tudom oldani a feladatot a jó, öreg 555-ös IC-vel! A kimenetére -a szokásos módon- egy minirelé és máris dombon a tanya!
Új hozzászólás Aktív témák
Hirdetés
- Napelem
- Mibe tegyem a megtakarításaimat?
- Rágyúr a macOS-re a 3DMark
- Milyen légkondit a lakásba?
- Gyúrósok ide!
- Counter-Strike: Global Offensive (CS:GO) / Counter-Strike 2 (CS2)
- Fortnite - Battle Royale & Save the World (PC, XO, PS4, Switch, Mobil)
- Előrendelhető a OnePlus Pad 3
- Milyen monitort vegyek?
- Hívószám-hamisítás
- További aktív témák...
- Eladó konfig! Ryzen 7 7800X3D 2TB SSD 64GB DDR5 RX9070XT 16GB!
- Új, makulátlan állapotú Samsung Galaxy Buds FE, fehér, fél év garancia
- Új, makulátlan állapotú Samsung Galaxy Watch7 44mm ezüst, 2 év garancia
- Új, makulátlan állapotú Samsung Z Fold 6 256GB Tengerészkék, független, 2 év garancia
- Használt TP-Link Deco M4 - AC1200 Router (Mesh-ként is használható)
- 10% -tól elvihető. Országosan a legjobb BANKMENTES részletfizetés! Lenovo Legion Pro 7
- Telefon Felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- AKCIÓ! ASRock Z390 i7 8700K 32GB DDR4 500GB SSD RTX 3050 8GB Zalman i3 Edge Seasonic 650W
- 2db Dell PowerEdge R740 2U Rack Szerver és 3db Netapp FAS2040 NAS
- ÁRGARANCIA!Épített KomPhone i5 13400F 16/32/64GB RAM RTX 4060 Ti 8GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: Promenade Publishing House Kft.
Város: Budapest