- Raspberry Pi
- Vezeték nélküli fülhallgatók
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Nvidia GPU-k jövője - amit tudni vélünk
- OLED TV topic
- Fujifilm X
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- ZIDOO médialejátszók
- ASUS blog: Ideális olcsó utazós gép lett az új Vivobook S14
- Azonnali alaplapos kérdések órája
-
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
-
Gergosz2
veterán
Ezek szerint a TIM2 és TIM3 timerek 4-4 független csatornát tartalmaznak, tehát meg tudom oldani úgy, hogy pl. a TIM2 timer 3 darab csatornáját 3 különböző fizikai lábhoz rendelem és azokon egymástól független kitöltési tényezőt állítok be?
Igen. Amúgy ajánlom hogy a Cubemx-re is nézz rá, az generál neked init függvényeket. -
Gergosz2
veterán
válasz
DrojDtroll #12360 üzenetére
azt már látom, hogy a regiszter camzés 8 biten megy, szóval
byte readbyteEEPROM(int deviceaddress, unsigned int eeaddress )
{
byte rdata = 0xFF;
Wire.beginTransmission(deviceaddress);
Wire.write(eeaddress);
Wire.endTransmission();
Wire.requestFrom(deviceaddress, 1);
if (Wire.available()) rdata = Wire.read();
return rdata;
}
Az első kód amit beraktam 24c16hoz készült, azért volt int a word address
-
Gergosz2
veterán
válasz
DrojDtroll #12358 üzenetére
Melyik regisztert akarod olvasni, mi a címe?
-
Gergosz2
veterán
válasz
DrojDtroll #12356 üzenetére
Milyen IC-ről van szó? Jó deviceaddress-t olvasol?
-
Gergosz2
veterán
válasz
DrojDtroll #12351 üzenetére
Nem.
Én valahogy így csinálnám:
byte readbyteEEPROM(int deviceaddress, unsigned int eeaddress )
{
byte rdata = 0xFF;
Wire.beginTransmission(deviceaddress);
// The address is an integer so we slit in into an MSB and LSB byte
Wire.write((int)(eeaddress >> 8)); // MSB
Wire.write((int)(eeaddress & 0xFF)); // LSB
Wire.endTransmission();
Wire.requestFrom(deviceaddress, 1);
if (Wire.available()) rdata = Wire.read();
return rdata;
}
Ami baj volt nálad, hogy szóltál a bus-on annak az eszköznek amiből olvasni szeretnél, meg is mondta, hogy melyik címről, de ilyenkor kell egy endTransmission, hogy az olvasott eszköz állapotgépe elkezdje kinyomni a busra a kért adatokat requestFrom után.
-
Gergosz2
veterán
1 ohm elég sok lenne, nem tenném oda. Egyrészt azért mert elpirítanál rajta I^2*R teljesítményt, másrészt a motor villamos időálandóját is eltolod vele.
Én tennék be egy pár milliohmos söntöt, amit egy rail-to-rail műveleti erőlködőbe kötnék be. Még itt kéne hozzá feszültség referencia is, de ha nem control a cél akkor 3V3 nagy impedanciás leosztásával is megcsinálhatod. Aztán az opamp erősítését úgy lőném be, hogy 0 és 3V3 közötti jelet kapjak. A végére meg mehetne egy aluláteresztő szűrő, amit beköthetnél az AD bemenetére.
Nem hiszem, hogy szar AD lenne az ESP-be, ezzel jól kéne mennie.
-
Gergosz2
veterán
válasz
tonermagus #11801 üzenetére
Page 6. Horizontal accuracy : 2.5 m
-
Gergosz2
veterán
válasz
Teasüti #11747 üzenetére
igen, a 127Unak van köze hozzá.
Milyen képet mutat a logic analizer más kitöltésnél? Mondjuk 25%-on?
A csatorana 25% duty-val menne,és mivel B a negáltja így az 75%-on.A célom az volna, hogy minél kevésbé rángassa meg a tápot, mert az meg nem tudja szabályozni a kimenetét és alkalmanként némi vibrálást követően le is kapcsol. Próbáltam default-nál (~500 Hz) gyorsabban is hajtani, de ez nem oldotta meg a gondot, ellenben csúnyán elkezdett forrósodni a pwm meghajtó.
Egy kapcsolási rajz nem ártana.
-
Gergosz2
veterán
válasz
Teasüti #11739 üzenetére
Szia!
Nem írtad milyen frekin szeretnéd járatni, de ha minden igaz ezt keresed:
50%-os kitöltési tényezőnél egymásnak az inverze legyen a két csatorna.
void PWM_setup(void)
{
TCCR0A = B10110001;
TCCR0B = B00000001;
OCR0A = 127U;
OCR0B = 127U;
}
void GPIO_setup(void)
{
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
}
void setup() {
// put your setup code here, to run once:
GPIO_setup();
PWM_setup();
}
void loop() {
// put your main code here, to run repeatedly:
}8 bites timerre húztam ezt fel, de van egy 16 bites is ha nagyobb felbontás kell. Nem pont 50%- ez, de almost, de az is pöccre re belőhető. Gyorsan ezt dobtam össze.
-
Gergosz2
veterán
válasz
zsolti_20 #11647 üzenetére
Persze, miért ne. Valami olyasmit csinálnék, hogyha "A" akar adatot küldeni "B"-nek, akkor először megpróbálja direktbe, ha nem megy neki akkor meg a repeater-en keresztül. Ha meg az se éri el akkor meg vagy "A" még messzebb van vagy vmi más baja van.
Szóval lehet, csak le kell programoznod.
-
Gergosz2
veterán
válasz
balintarduin #11612 üzenetére
Legalább háromszor olvastam el, de még most sem tudom mit akarsz megvalósítani.
-
Gergosz2
veterán
Ilyen dupont kábele, kb 30cm hosszú van valakinek elfekvőben : [link] ?
4 és 9 pin-es kéne.
-
Gergosz2
veterán
válasz
gyapo11 #10748 üzenetére
Pont ez történik. Amíg a bootloder nem indítja el a programot, addig a lábak össze vissza lebegnek, vannak valahogy. Ezért írtam az ISP-t, mert ilyenkor nincs bootloader, nincs emiatt késlekedés táp felállás, reset után. A program rögtön indul, így ennek a lebegés állapotnak nagyon kis esélye van.
-
Gergosz2
veterán
NEO-7M vagy NEO-6M GS modult használ/használt itt valaki?
u-center nevű progival próbáltam átállítani a baud rate-et de egyszerűen nem akarja megcsinálni. Nem tudom mit ronthatok el, de most elismerem, hogy lövésem sincs miért nem megy.
Gyorsítani szeretnék egy kicsit rajta, mert 9600 bps annyira nem tetszik.
-
Gergosz2
veterán
válasz
tvamos #10580 üzenetére
PCBway-ről rendeltem többször is. Ugyanez az ár, sőt a honlap is hasonló. De a minőséggel semmi bajom nem volt eddig és elég gyorsan meg is jönnek a csomagok.
(#10581) Janos250
A válasz mint elég sok esetben: attól függ.
https://www.7pcb.com/blog/enig-vs-hasl-different-surface-finish-techniques.php
-
Gergosz2
veterán
válasz
Scooter86101 #10000 üzenetére
Ennyi infóból kevés lesz debuggolni. DS3231-et használok, szerintem 1 év alatt szed össze 10 sec hibát.
Szokásos kérdések: hogy kötötted be, mire, milyen kód fut stb...
-
Gergosz2
veterán
válasz
adatfalo #9954 üzenetére
Én használtam anno. Tényleg jó cucc tanítani és kisebb projekteket megcsinálni. De elég hamar el is lehet érni a határait, pl, hogy az app fusson háttérben meg hasonló. Személy szerint itt tértem át az Android Studiora. Ha van programozési tapasztalatod, akkor a Java-t is érteni fogod. Persze szokni kell, hogy hogyan kell felépíteni a progit, de végtelen anyag van a neten.
-
Gergosz2
veterán
Nálam 10-20 rpm a tartomány nagyságrendileg.
Ezen a fordulaton üzemelsz? Milyen motort használsz?
Amúgy egy 1 uF kerámia kondenzátornak mennyi a feltöltődés és kisülés ideje nagyságrendileg?
Attól függ mekkor ellenállást lát. Ha ez megvan, legyen R, akkor az időállandó R*C-lesz. Nagyjából 5 időállandó alatt beáll a stacioner állapot, így ebben az esetben ez 5RC lesz.
-
Gergosz2
veterán
Nem tudom mi az applikáció de a négyszögjeles enkódert álatában így szokás feldolgozni:
Kis fordulaton a felfutó élek közötti időt szoktuk mérni, abból lehet megsaccolni a fordulatszámot. Gondolom egy Atmega328p-t használsz, ami ugyan nem cél hadrver, de megoldható vele a dolog. Ha nem fontos a forgásirány megállípátsa, akkor érdemes össze XOR-olni a két csatornát, így négyszeres freqis jelet kapsz.
Utána az interruptban a millis vagy micros aktuális értékét is lemented. Ha ez megvan akkor tudod két felfutó él között mennyi idő is telt el, amiből visszatudod számolni a szögsebességet.Nagyobb fordulaton meg a számolod a felfutó éleket és deltaT időkööznként megnézed a változást. Itt 1-2 ms-es kiolvasás, feldolgozás bőven jó lesz.
-
Gergosz2
veterán
válasz
gyapo11 #9879 üzenetére
Én Neo 7M modulokat vettem, nagyon egyszerűen kezelhetőek.
GPS kicsit többet eszik, kezelni kell az óraátállítást. De ezek abszolút nem vészes dolgok.
DCF77hez pedig fent írtam mik kellenek. Én mostanában ezt használtam mert tekertem pár ferrit antennát és ICm is van hozzá. Az a jó, hogy az időátállítást sem kell kezelni, mert alapból DST időt küld.
Én napi egy szinkronozást csinálok, mellé DS3231 RTCt használok. Az alapján dönts, hogy melyik működik a legmegbízhatóbban ott, ahova telepíteni szeretnéd.
-
-
Gergosz2
veterán
válasz
Vasinger! #7961 üzenetére
Jobban jársz, ha kinézel egy max két projektet előre magadnak és ahhoz rendelsz alkatrészt. Így legalább egy dologra tudsz majd koncentrálni és ha mégsem tetszik a dolog akkor nem marad rajtad egy rakat alkatrész.
Másrészt én is anno, régesrég rendeltem starter pakkot. A benne lévő dolgok nagy részéhez azóta sem nyúltam.
Szerk:
Ha a terv megvan akkor a topik népe szívesen ajánl alkatrészeket is.
-
Gergosz2
veterán
Úgy emlékszem nano is elég lehet, csak gyakorlatilag minden pint elvisz. Mega-t meg ebay-en, aliexpressen kb 12$-et kapsz.
Bekötést rögtön nem tudok mondani, mivel nem látom sehol a modul pinoutját. Ha valahonnan előkerül, akkor így kell bekötnöd: [link]
Szerk: azt ugye láttad, hogy ez nem touchscreen ?
-
Gergosz2
veterán
Szerintem sokan, köztük én is, azért nem válaszolt még neked teljesen mert mintha te sem tudnád pontosan mit akarsz.
Nekem kérdés lenne még, hogy milyen hosszú üzeneteket akarsz küldeni.
De leggyorsabban String-gel tudod kezelni az egészet
String myString="";
void setup() {
Serial.begin(9600);
}
void loop() {
while(Serial.available() > 0) {
myString=myString+Serial.read();
}
Serial.println(myString);
myString="";
} -
Gergosz2
veterán
válasz
távcsőves #7589 üzenetére
jaja, már emlékszem. Kb három éve vettem az enyémet, akkor is Adafruitost ajánlották hozzá, de senkinek sem ment.
(#7587) Imy
Még annyi, hogy nem árt ha legalább Mega-val állsz neki. Egy egyszerű projekthez, ahol pl csak kiírod mi van egy UNO is elég lehet, de egy több menüs, érintő funkciót használó projektben igen hamar elfogyhat a flash.
-
Gergosz2
veterán
Nekem van ilyenem és nem tudtam rendesen működésre bírni. Vagy csak a kijelző része ment, vagy csak az érintő. Azóta csak kijelzőként használom.
Helyette inkább ezt vedd: [link]
Ez nálam jól bevált, több projektben is ilyet használtam. UTFT és UTOUCH library-t ajánlom hozzá, azzal baromi gyorsan és egyszerűen tudod használni őket.
Elöljáróban annyit, hogy egyik sem fog olyan minőséget hozni, mint egy telefon. Nyílván, hiszen töredék az áruk. De ettől függetlenül jól használhatóak.
Kicsit drágábban meg itt vannak HMI-k, azok sem rosszak.
-
Gergosz2
veterán
válasz
gyapo11 #6992 üzenetére
DUE-ban van DAC.
(#6990) csubuka
A elég jól leírtad mi a feladat, nem is igazán értem mi a kérés. Nekem még talán annyi lenne, hogy CO2 szenzor mit ad vissza? Oké, hogy van PWM kimenet meg hasonló, de ebből nem nagyon vágom, hogy milyen szenzorral van is dolgunk.
Ennek függvényében akár egy szimpla műveleti erősítős kapcsolással is meglehetne oldani az egésze, mivel írtad, hogy analóg és PWM jelet is fogad a ventilátorod. De gondolom Arduinot szeretnél programozni és minél kevesebbet nyákolni, így marad a PWM bemenet.
-
Gergosz2
veterán
A kapcsolási frekvencia megválasztásánál alapvetően két fontos dolgot veszünk figyelembe: mekkora a tranziens időállandója az adott gépnek (legyen szó DC, szinkron aszinkron vagy éppenséggel reluktancia gépről), illetve, hogy várhatóan mi a legnagyobb frekvencia amivel forogni fog.
A példa kedvéért, egy sima, nem különleges aszinkrongép sztátor ellenállása olyan 1-3 ohm között szokott lenni, a tranziens induktivitása (én itt a négyelemű, fiktív menetszám áttétellel redukált modellt szoktam mindig használni, amiben nincs sztátor szórás), olyan 5-20 mH körül szokott alakulni. Innen nem nehéz meghatározni, hogy a gép tranziens időállandója nagyjából 5ms körül fog mozogni. Itt visszautalva rád, ha simán DC-vel mágnesezném fel a gépet, akkor nagyjából 5 időállandó alatt, kb 25ms múlva beállna a állandósultállapotbeli áram. És itt jön képbe PWM, mert mi szeretnénk szabályozni a gépeinket. Gondolj bele, hogy van egy folyamatod aminek nagyjából ismered az időállandóját. Azt csak akkor tudod kézben tartani, neked megfelelően szabályozni, ha annál gyorsabban avatkozol be.
Általában legalább egy nagyságrenddel gyorsabban akarunk beavatkozni, ami a fenti példánál olyan 2kHz körüli kapcsolási frekvenciát kívánna meg legalább. Így az pl. az áramot egy kapcsolási periódus alatt nem hagyjuk túlságosan növekedni, csak kis egységekben kvantumokban.
-
Gergosz2
veterán
Mi?
tápfeszültséget, vagy PWM-et alkalmazok.
PWM-mel is a kiadott fesz középértékét változtatod.
A PWM két előnye, hogy a kivánt fordulatszámot egyszerűen elő lehet állítani, valamint úgy lehet a fordulatszámot csökkenteni, hogy a forgatónyomaték megmarad.
? Ezzel minek PWM, ezt tudja a szögsebesség-nyomaték karakterisztika állandómágneses DC-nél.
Új hozzászólás Aktív témák
Hirdetés
- AKCIÓ! Dell Latitude 5440 14 FHD üzleti notebook - i5 1335U 8GB RAM 256GB SSD Intel Iris Xe
- Kaspersky, McAfee, Norton, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- ÁRGARANCIA! Épített KomPhone Ryzen 7 9700X 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
- ProCaster 50UNB800H 50" 127cm FULL HD üzleti kijelző
- 18 éve! Billentyűzet magyarítás magyarosítás. Festés vagy lézerezés és egyebek! 3 lehetőség is van.
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest