Fórum témák

» Több friss téma
Fórum » Arduino
 
Témaindító: groening, idő: Szept 28, 2008
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Lapozás: OK   541 / 573
(#) kapu48 válasza sector99 hozzászólására (») Jún 17, 2019 /
 
Ha analóg a jel, akkor már eleve csak az if jöhet szóba.

Mert ott nem kapsz fix értéket a zaj miatt.
És csak az if-ben van if( A>x && A <Y){akkor középnek elfogadjuk}
(#) sector99 válasza kapu48 hozzászólására (») Jún 17, 2019 /
 
Köszi ! Lehet digitális is, 2 pin bemenetként és azok kombinációja ha az célszerűbb - egyszerűbb ? Melyiket ajánlod kezdő(k)nek ?
A hozzászólás módosítva: Jún 17, 2019
(#) KoblogPerGyok válasza sector99 hozzászólására (») Jún 17, 2019 /
 
Két digitális pin. Swich case mert abban van default érték is. Ha egyik magas balra forog. Ha a másik akkor jobbra. Ha még egyik sem magas akkor a default jobbra balra. Így nem is kell a három állás csak kettő. Persze elsőnek jobb lenne ha három digitális pin el oldanád meg case-l. Annyit tegyél meg hogy utána nézel hogyan kell a prell elkerülése érdekében egy függvényt létrehozni ami kiolvassa a digitális labak értéket. Majd csak utána ez a feltétel. A prell-nek olvass utána!
A hozzászólás módosítva: Jún 17, 2019
(#) sector99 válasza KoblogPerGyok hozzászólására (») Jún 17, 2019 /
 
Ok, akkor ezzel a módszerrel kezdek neki. Majd biztos lesznek még kérdéseim, de először olvasgatom a referenciát és a hasonló programokat. Köszi ! -kapu48-nak is !
(#) kapu48 válasza sector99 hozzászólására (») Jún 17, 2019 /
 
És még vannak buktatók.

És a H hidat nem illik szembe kapcsolni, mert szétdurran.
A motornak van lendülete, előbb lekel fékezni, aztán illik elindítani a másik irányba.
Ha analóg mérést is akarsz, akkor a motort teljesen független tápegységről kel járatni.
A motor zajgenerátor, a digitális eszközök pedig hibásan működnek az elektromos zajtól.
A hozzászólás módosítva: Jún 17, 2019
(#) sector99 válasza kapu48 hozzászólására (») Jún 17, 2019 /
 
Köszi ! Ez egy mini teljesítményű 3 V-os kis motor, ami kinetikus karórát forgat amikor nincs a páciens kezén.... Így mehet egy tápról, hogy az Attiny 12 V-ot kap az in lábon, a híd pedig lecsökkentve (LM317) 3 V-ot ?
(#) zaza99 hozzászólása Jún 17, 2019 /
 
Sziasztok!
két kérdésem lenne:
1. A Nano Vin pinjére mekkora feszt lehet kapsolni és mire szolgál?
2. Hogyan tudok egy 3A /+-10%/ korlátot csinálni Nanóval 10-12V tápegységgel? Nem kell pontosnak lennie.

Köszi.
(#) andyka hozzászólása Jún 17, 2019 /
 
Sziasztok,

Egy 3.95-ös TFT LCD, amin „www.mcufriend.com” van irva, a kovetkező infót adja vissza soros porton:
  1. Read Registers on MCUFRIEND UNO shield
  2. controllers either read as single 16-bit
  3. e.g. the ID is at readReg(0)
  4. or as a sequence of 8-bit values
  5. in special locations (first is dummy)
  6.  
  7. reg(0x0000) 00 00       ID: ILI9320, ILI9325, ILI9335, ...
  8. reg(0x0004) 00 00 00 00 Manufacturer ID
  9. reg(0x0009) 00 00 00 00 00      Status Register
  10. reg(0x000A) 00 00       Get Power Mode
  11. reg(0x000C) 00 00       Get Pixel Format
  12. reg(0x0061) 00 00       RDID1 HX8347-G
  13. reg(0x0062) 00 00       RDID2 HX8347-G
  14. reg(0x0063) 00 00       RDID3 HX8347-G
  15. reg(0x0064) 00 00       RDID1 HX8347-A
  16. reg(0x0065) 00 00       RDID2 HX8347-A
  17. reg(0x0066) 00 00       RDID3 HX8347-A
  18. reg(0x0067) 00 00       RDID Himax HX8347-A
  19. reg(0x0070) 00 00       Panel Himax HX8347-A
  20. reg(0x00A1) 00 00 00 00 00      RD_DDB SSD1963
  21. reg(0x00B0) 00 00       RGB Interface Signal Control
  22. reg(0x00B4) 00 00       Inversion Control
  23. reg(0x00B6) 00 00 00 00 00      Display Control
  24. reg(0x00B7) 00 00       Entry Mode Set
  25. reg(0x00BF) 00 00 00 00 00 00   ILI9481, HX8357-B
  26. reg(0x00C0) 00 00 00 00 00 00 00 00 00  Panel Control
  27. reg(0x00C8) 00 00 00 00 00 00 00 00 00 00 00 00 00      GAMMA
  28. reg(0x00CC) 00 00       Panel Control
  29. reg(0x00D0) 00 00 00    Power Control
  30. reg(0x00D2) 00 00 00 00 00      NVM Read
  31. reg(0x00D3) 00 00 00 00 ILI9341, ILI9488
  32. reg(0x00D4) 00 00 00 00 Novatek ID
  33. reg(0x00DA) 00 00       RDID1
  34. reg(0x00DB) 00 00       RDID2
  35. reg(0x00DC) 00 00       RDID3
  36. reg(0x00E0) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00     GAMMA-P
  37. reg(0x00E1) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00     GAMMA-N
  38. reg(0x00EF) 00 00 00 00 00 00   ILI9327
  39. reg(0x00F2) 00 00 00 00 00 00 00 00 00 00 00 00 Adjust Control 2
  40. reg(0x00F6) 00 00 00 00 Interface Control

Akkor szerintetek ez mi lehet ? Vagy egyik sem ?
A hozzászólás módosítva: Jún 17, 2019
(#) KoblogPerGyok válasza andyka hozzászólására (») Jún 17, 2019 /
 
Szia!

Nem a rengeteg nulláknak kellene tartalmaznia az adatokat?
(#) andyka válasza KoblogPerGyok hozzászólására (») Jún 17, 2019 /
 
Az a helyzet hogy nem tudom
(#) KoblogPerGyok válasza andyka hozzászólására (») Jún 17, 2019 /
 
Mivel olvasod ki? Kód van? Nekem úgy tűnik ott kell keresni valamit, mert az adatok nem jönnek meg.
(#) andyka válasza KoblogPerGyok hozzászólására (») Jún 17, 2019 /
 
ezzel olvastam
  1. // adapted  LCD_ID_Reader  http://misc.ws/lcd_information
  2. // controllers either read as 16-bit or as a sequence of 8-bit values
  3.  
  4. //-- Arduino UNO or Mega 2560 Plugged as shield
  5. /*
  6. #define LCD_RST A4
  7. #define LCD_CS A3
  8. #define LCD_RS A2
  9. #define LCD_WR A1
  10. #define LCD_RD A0
  11.  
  12. #define LCD_D0 8
  13. #define LCD_D1 9
  14. #define LCD_D2 2
  15. #define LCD_D3 3
  16. #define LCD_D4 4
  17. #define LCD_D5 5
  18. #define LCD_D6 6
  19. #define LCD_D7 7
  20. */
  21. #define LCD_CS   33  // Chip  control pin (library pulls permanently low
  22. #define LCD_DC   15  // Data Command control pin - use a pin in the range 0-31
  23. #define LCD_RS  32  // Reset pin, toggles on startup
  24.  
  25. #define LCD_WR    4  // Write strobe control pin - use a pin in the range 0-31
  26. #define LCD_RD    2  // Read strobe control pin  - use a pin in the range 0-31   
  27. #define LCD_D0   12  // Must use pins in the range 0-31 for the data bus
  28. #define LCD_D1   13  // so a single register write sets/clears all bits.
  29. #define LCD_D2   26  // Pins can be randomly assigned, this does not affect
  30. #define LCD_D3   25  // TFT screen update performance.
  31. #define LCD_D4   17
  32. #define LCD_D5   16
  33. #define LCD_D6   27
  34. #define LCD_D7   14
  35. void setup()
  36. {
  37.     Serial.begin(9600);
  38.     while (!Serial) ;
  39.     Serial.println("Read Registers on MCUFRIEND UNO shield");
  40.     Serial.println("controllers either read as single 16-bit");
  41.     Serial.println("e.g. the ID is at readReg(0)");
  42.     Serial.println("or as a sequence of 8-bit values");
  43.     Serial.println("in special locations (first is dummy)");
  44.     Serial.println("");
  45.     lcdInit();
  46.     lcdReset();      //ensures that controller is in default state
  47. //    for (uint16_t i = 0; i < 256; i++) readReg(i, 7, "f.k");
  48.     readReg(0x00, 2, "ID: ILI9320, ILI9325, ILI9335, ...");
  49.     readReg(0x04, 4, "Manufacturer ID");
  50.     readReg(0x09, 5, "Status Register");
  51.     readReg(0x0A, 2, "Get Power Mode");
  52.     readReg(0x0C, 2, "Get Pixel Format");
  53.     readReg(0x61, 2, "RDID1 HX8347-G");
  54.     readReg(0x62, 2, "RDID2 HX8347-G");
  55.     readReg(0x63, 2, "RDID3 HX8347-G");
  56.     readReg(0x64, 2, "RDID1 HX8347-A");
  57.     readReg(0x65, 2, "RDID2 HX8347-A");
  58.     readReg(0x66, 2, "RDID3 HX8347-A");
  59.     readReg(0x67, 2, "RDID Himax HX8347-A");
  60.     readReg(0x70, 2, "Panel Himax HX8347-A");
  61.     readReg(0xA1, 5, "RD_DDB SSD1963");
  62.     readReg(0xB0, 2, "RGB Interface Signal Control");
  63.     readReg(0xB4, 2, "Inversion Control");
  64.     readReg(0xB6, 5, "Display Control");
  65.     readReg(0xB7, 2, "Entry Mode Set");
  66.     readReg(0xBF, 6, "ILI9481, HX8357-B");
  67.     readReg(0xC0, 9, "Panel Control");
  68.     readReg(0xC8, 13, "GAMMA");
  69.     readReg(0xCC, 2, "Panel Control");
  70.     readReg(0xD0, 3, "Power Control");
  71.     readReg(0xD2, 5, "NVM Read");
  72.     readReg(0xD3, 4, "ILI9341, ILI9488");
  73.     readReg(0xD4, 4, "Novatek ID");
  74.     readReg(0xDA, 2, "RDID1");
  75.     readReg(0xDB, 2, "RDID2");
  76.     readReg(0xDC, 2, "RDID3");
  77.     readReg(0xE0, 16, "GAMMA-P");
  78.     readReg(0xE1, 16, "GAMMA-N");
  79.     readReg(0xEF, 6, "ILI9327");
  80.     readReg(0xF2, 12, "Adjust Control 2");
  81.     readReg(0xF6, 4, "Interface Control");
  82. }
  83.  
  84. void loop()
  85. {
  86.     // put your main code here, to run repeatedly:
  87.  
  88. }
  89.  
  90. void printhex(uint8_t val)
  91. {
  92.     if (val < 0x10) Serial.print("0");
  93.     Serial.print(val, HEX);
  94. }
  95.  
  96. void readReg(uint16_t reg, uint8_t n, const char *msg)
  97. {
  98.     uint8_t val8;
  99.     lcdReset();
  100.     lcdSetWriteDir();
  101.     lcdWriteCommand(0xB0);     //Command Access Protect
  102.     lcdWriteData(0x00);        //looks wrong
  103. /*
  104.     lcdWriteCommand(0xF6);
  105.     lcdWriteData(0x01);
  106.     lcdWriteData(0x01);
  107.     lcdWriteData(0x03);
  108. */
  109.     lcdWriteCommand(reg);
  110.     Serial.print("reg(0x");
  111.     printhex(reg >> 8);
  112.     printhex(reg);
  113.     Serial.print(")");
  114.     lcdSetReadDir();
  115.     while (n--) {
  116.         val8 = lcdReadData8();
  117.         Serial.print(" ");
  118.         printhex(val8);
  119.     }
  120.     lcdSetWriteDir();
  121.     Serial.print("\t");
  122.     Serial.println(msg);
  123. }
  124.  
  125. void lcdInit()
  126. {
  127.     pinMode(LCD_CS, OUTPUT);
  128.     digitalWrite(LCD_CS, HIGH);
  129.     pinMode(LCD_RS, OUTPUT);
  130.     digitalWrite(LCD_RS, HIGH);
  131.     pinMode(LCD_WR, OUTPUT);
  132.     digitalWrite(LCD_WR, HIGH);
  133.     pinMode(LCD_RD, OUTPUT);
  134.     digitalWrite(LCD_RD, HIGH);
  135.     pinMode(LCD_RS, OUTPUT);
  136.     digitalWrite(LCD_RS, HIGH);
  137. }
  138.  
  139. void lcdReset()
  140. {
  141.     digitalWrite(LCD_RS, LOW);
  142.     delay(2);
  143.     digitalWrite(LCD_RS, HIGH);
  144.     delay(10);             //allow controller to re-start
  145. }
  146.  
  147. void lcdWrite8(uint16_t data)
  148. {
  149.     digitalWrite(LCD_D0, data & 1);
  150.     digitalWrite(LCD_D1, (data & 2) >> 1);
  151.     digitalWrite(LCD_D2, (data & 4) >> 2);
  152.     digitalWrite(LCD_D3, (data & 8) >> 3);
  153.     digitalWrite(LCD_D4, (data & 16) >> 4);
  154.     digitalWrite(LCD_D5, (data & 32) >> 5);
  155.     digitalWrite(LCD_D6, (data & 64) >> 6);
  156.     digitalWrite(LCD_D7, (data & 128) >> 7);
  157. }
  158.  
  159. uint16_t lcdRead8()
  160. {
  161.     uint16_t result = digitalRead(LCD_D7);
  162.     result <<= 1;
  163.     result |= digitalRead(LCD_D6);
  164.     result <<= 1;
  165.     result |= digitalRead(LCD_D5);
  166.     result <<= 1;
  167.     result |= digitalRead(LCD_D4);
  168.     result <<= 1;
  169.     result |= digitalRead(LCD_D3);
  170.     result <<= 1;
  171.     result |= digitalRead(LCD_D2);
  172.     result <<= 1;
  173.     result |= digitalRead(LCD_D1);
  174.     result <<= 1;
  175.     result |= digitalRead(LCD_D0);
  176.  
  177.     return result;
  178. }
  179.  
  180. void lcdSetWriteDir()
  181. {
  182.     pinMode(LCD_D0, OUTPUT);
  183.     pinMode(LCD_D1, OUTPUT);
  184.     pinMode(LCD_D2, OUTPUT);
  185.     pinMode(LCD_D3, OUTPUT);
  186.     pinMode(LCD_D4, OUTPUT);
  187.     pinMode(LCD_D5, OUTPUT);
  188.     pinMode(LCD_D6, OUTPUT);
  189.     pinMode(LCD_D7, OUTPUT);
  190. }
  191.  
  192.  
  193. void lcdSetReadDir()
  194. {
  195.     pinMode(LCD_D0, INPUT);
  196.     pinMode(LCD_D1, INPUT);
  197.     pinMode(LCD_D2, INPUT);
  198.     pinMode(LCD_D3, INPUT);
  199.     pinMode(LCD_D4, INPUT);
  200.     pinMode(LCD_D5, INPUT);
  201.     pinMode(LCD_D6, INPUT);
  202.     pinMode(LCD_D7, INPUT);
  203. }
  204.  
  205. void lcdWriteData(uint16_t data)
  206. {
  207.     lcdSetWriteDir();
  208.     digitalWrite(LCD_CS, LOW);
  209.     digitalWrite(LCD_RS, HIGH);
  210.     digitalWrite(LCD_RD, HIGH);
  211.     digitalWrite(LCD_WR, HIGH);
  212.  
  213.     lcdWrite8(data >> 8);
  214.  
  215.     digitalWrite(LCD_WR, LOW);
  216.     delayMicroseconds(10);
  217.     digitalWrite(LCD_WR, HIGH);
  218.  
  219.     lcdWrite8(data);
  220.  
  221.     digitalWrite(LCD_WR, LOW);
  222.     delayMicroseconds(10);
  223.     digitalWrite(LCD_WR, HIGH);
  224.  
  225.     digitalWrite(LCD_CS, HIGH);
  226. }
  227.  
  228. void lcdWriteCommand(uint16_t command)
  229. {
  230.     lcdSetWriteDir();
  231.     digitalWrite(LCD_CS, LOW);
  232.     digitalWrite(LCD_RS, LOW);
  233.     digitalWrite(LCD_RD, HIGH);
  234.     digitalWrite(LCD_WR, HIGH);
  235.     lcdWrite8(command >> 8);
  236.     digitalWrite(LCD_WR, LOW);
  237.     delayMicroseconds(10);
  238.     digitalWrite(LCD_WR, HIGH);
  239.     lcdWrite8(command);
  240.     digitalWrite(LCD_WR, LOW);
  241.     delayMicroseconds(10);
  242.     digitalWrite(LCD_WR, HIGH);
  243.     digitalWrite(LCD_CS, HIGH);
  244. }
  245.  
  246. uint8_t lcdReadData8()
  247. {
  248.     uint8_t result;
  249.     lcdSetReadDir();
  250.     digitalWrite(LCD_CS, LOW);
  251.     digitalWrite(LCD_RS, HIGH);
  252.     digitalWrite(LCD_RD, HIGH);
  253.     digitalWrite(LCD_WR, HIGH);
  254.  
  255.     digitalWrite(LCD_RD, LOW);
  256.     delayMicroseconds(10);
  257.     result = lcdRead8();
  258.     digitalWrite(LCD_RD, HIGH);
  259.  
  260.     delayMicroseconds(10);
  261.  
  262.     return result;
  263. }
  264.  
  265.  
  266. uint16_t lcdReadData16()
  267. {
  268.     uint16_t result;
  269.     result = lcdReadData8() << 8;
  270.     result |= lcdReadData8();
  271.     return result;
  272. }
  273.  
  274.  
  275. void lcdWriteRegister(uint16_t addr, uint16_t data)
  276. {
  277.     lcdWriteCommand(addr);
  278.     lcdWriteData(data);
  279. }
(#) andyka válasza andyka hozzászólására (») Jún 17, 2019 /
 
Van ilyen hogy
Idézet:
„RM68140 320x480 ID=0x6814 #define SUPPORT_68140”
???
(#) andyka hozzászólása Jún 17, 2019 /
 
Egy ilyent meg egy ilyent szeretnem osszehozni
(#) tbarath válasza zaza99 hozzászólására (») Jún 17, 2019 /
 
1. A hivatalos doksiban le van írva, hogy mire való a Vin és mekkora feszt tolerál.
2. Hacsak nem indokolt, akkor én ehhez nem használnék arduino-t. Ehhez kell egy sönt, egy dual opamp és egy FET, illetve analógban egy poti és valami referencia. Ez utóbbit ki tudod váltani analóg PWM kimenettel és egy (több) RC filterrel.
(#) andyka válasza tbarath hozzászólására (») Jún 17, 2019 /
 
Ez ESP32 nem UNO
(#) tbarath válasza andyka hozzászólására (») Jún 17, 2019 /
 
Akinek válaszoltam, az nanot kérdezett...
(#) suszitibi válasza kapu48 hozzászólására (») Jún 17, 2019 /
 
Igen, a munkahelyemen, a legnagyobb meló közben, mobilról, elég nehéz leírni. : )
Nincs semmilyen Hall, egyenlőre csak normál nyomógombok. A Hall és érintő szenzor, majd a kész változatban lesz.
Akkor kellene szólni egy akkordnak, ha a 12 hang közül egy és a 4 akkord bemenet közül egy, egyszerre alacsony szintre kerül. Mert ugye a bemenetek állandó magas szinten vannak, nyugalmi helyzetben.
Lehet, hogy az egygombos akkord vezérlő túl van bonyolítva, de az stabilan működik, mindegy, hogy Hall szenzorral húzom alacsony szintre, vagy egy darab vezetékkel.
Ezt szerettem volna elérni úgy, hogy egyszerre két bemenet kombinációja aktiválja az akkordokat, ezzel kibővítve a jelenlegi 13-at, 48 akkordra. Na ezt nem gondoltam, hogy ez a kis változtatás, ennyire bonyolult.
Már gondoltam arra, hogy minden bemenetet megcsinálok egy hangra és fizikálisan hozom össze az akkord vezérlést, diódákkal, tranzisztorokkal, de annyi időm mostanában nincs, meg a hely is kevés lenne hozzá.
Azért nagyon köszönöm, hogy ennyit foglalkoztál a dologgal.
(#) KoblogPerGyok válasza andyka hozzászólására (») Jún 17, 2019 /
 
Nem értem mi a gond. Azonban biteket tologat mikor a digitális lábakról olvas, de 16 bites változóban tárolja. 159.sorban nem lenne elég uint8_t lcdRead8()-ra változtatni? Azért gondolom, mert a 98. sorban egy 8 bites változó fogja ezt felvenni ami kiíratásra kerül majd.

De nem vágom ennyire ezt a kódot. A másik, hogy az ESP-hez illesztetted a lábkiosztást?
A hozzászólás módosítva: Jún 17, 2019
(#) ardukato válasza andyka hozzászólására (») Jún 18, 2019 /
 
Ez az esp32 nagyon lemarat könyvtár támogatás terén (borravaló)sem lett belőle!
(#) pipi válasza andyka hozzászólására (») Jún 18, 2019 /
 
A kijelző tipusa sem látszik... A chipsetet nézd meg mivel szerelt, ahhoz tudsz könyvtárat keríteni.
Jó eséllyel https://github.com/Bodmer/TFT_eSPI tudja. Én használtam ezt a könyvtárat jól működött. Azóta már jócskán bővült ez a lib, nem próbáltam.
(#) kapu48 válasza suszitibi hozzászólására (») Jún 18, 2019 /
 
Tulajdon képen érdekelt volna a téma, mert én is most készülök valami MIDI vezérlőt készíteni.
Sajnálom, hogy ilyen kevés időd van.

De ez így nem működik!
Azt mondod HAL kapcsolók, én erre kiszedem a prrelezés szűrést.
Erre elkezdesz panaszkodni, hogy veszettül prrelez az egész.
Most kiderül, hogy sima gombok vannak csak. Már fogalmam sincs, mit lehet neked elhinni?
Kívánok NEKED jó szórakozást!
(#) Pulyka válasza kapu48 hozzászólására (») Jún 19, 2019 /
 
..ne legyel akkor szabaduloszoba jatekelem készítő, ahol egyedi jatekelemek vannak, ezert nagyon sokszor utolag kell javitani, finomitani, visszabontani, es epiteni. + vandalbiztosra kell elkészíteni eleg sok mindent, kapcsolót, stb.
A hozzászólás módosítva: Jún 19, 2019
(#) kapu48 válasza Pulyka hozzászólására (») Jún 19, 2019 /
 
Ezt most nem értem, hogyan jön ide játék?

Itt kölcsönös egymás segítéséről lenne szó általában.
De ha csak én segítek, a partner viszont csak kavar, meg válaszhelyet nem ér rá.
Ne nézzenek már madárnak.
(#) Pulyka válasza kapu48 hozzászólására (») Jún 19, 2019 /
 
..csak egy viccel probaltam oldani a hangulatot, mert vannak olyan teruleteket, ahol sajnos sűrűn elofordul, hogy a megrendelő többször is gondol egyet, es atvarialja az addig megbeszélteket. ..de természetesen ertem, hogy per.pill. mire gondolsz.
(#) Balagemann2031 hozzászólása Jún 19, 2019 /
 
Sziasztok! Kezdő vagyok Arduino-ban. Az lenne a kérdésem hogy egy utasítással csak 1 pint lehet írni vagy olvasni? Egyszerre többet nem?
(#) pipi válasza Balagemann2031 hozzászólására (») Jún 19, 2019 / 1
 
(#) Peter65 válasza zaza99 hozzászólására (») Jún 19, 2019 / 1
 
Ahhoz, hogy segíteni tudjanak a többiek, több információt kellene adnod, amit ugyan leírtál a másik témában, de akik itt olvassák a kérdésedet, nem tudnak.
Eredetileg egy fűtőszálat szerettél volna 3A-rel használni.
1. Meg kell nézni, melyik fajta van neked, de általában LM1117 stabilizátorra megy a Vin, ami a spec. szerint Vin= 7...12V. Viszont az IC adatlapja szerint a 12V az abszolút határ, amin nem kellene üzemeltetni. Ha 10-12V-ról akarod használni, akkor tegyél be sorba még 2-3db diódát, hogy biztosan ne legyen baj.
2. Le kell mérned vagy ki kell számolnod a fűtőszál ellenállását.
Az elvárt áram igényből (3A) és az ellenállás értékéből ki lehet számolni mekkora feszültség szükséges hozzá. Leméred, hogy mennyi a 10-12V-od, és abból visszaszámolod, hogy mekkora kitöltési tényező kell hozzá. Ezt kiadod az egyik analóg kimeneten. Igazából nem áramgenerátor lesz ez így, hanem egy feszültség generátor, de mivel a terhelés nagyjából állandó, ezért a kialakuló áram is állandó lesz.
A hardverhez egy kb. 20-30A-es logikai szintű fetet választanék (pl.: IRLZ34N), egy gyors szabadonfutó diódával (pl.: MBR1045), az aurdino analóg kimenete és a fet gate-je közé meg illene még egy meghajtó fokozat, egy PNPés NPN emitterkövetőből és egy kb. 10R-os ellenállásból.
(#) Pulyka válasza Peter65 hozzászólására (») Jún 20, 2019 /
 
Nem is lattam a kérdező kérdését.

Én aramkorlatozasra ilyet hasznalnek, vagyis kiprobalnam.
..gondolom az a cél, hogy a 12v-ot ne tudja 3A-nel jobban terhelni.
..de ezt a hall elemes arammmerot meg nem probaltam, pedig van is otthon, csak idő nincs rá.
A hozzászólás módosítva: Jún 20, 2019
(#) Kovidivi válasza Pulyka hozzászólására (») Jún 20, 2019 /
 
Ezzel nem fogsz áramot korlátozni, csak mérni. Esetleg lehetne egy 0.1Ohm-0.3 Ohm-os sönt (1W/3W) ellenállás, meg az Arduino 10bites ADC-jét használni, 1100mV referenciával is bőven kielégítő eredményt hozna (persze az áram jelét ki kellene símítani egy RC taggal, hogy az átlagot tudjuk mérni). 0.1Ohm söntnél a 10bit-nek az 1/3-a lenne kihasználva, gondolom elég lenne az is. Vagy LM358-cal fel kell erősíteni egy még kisebb sönt jelét, ha spórolni akarunk az akku kapacitásával.
Következő: »»   541 / 573
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu