Fórum témák

» Több friss téma
Fórum » Arduino
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Lapozás: OK   663 / 845
(#) Peter65 válasza szikorapéter hozzászólására (») Nov 20, 2020 / 1
 
Szia!
Fel hívom a figyelmed néhány dologra, ami nekem a rajzon nem tetszik:
-Már Bakman is írta a túl nagy gate köri ellenállást
-nagyon lassú optocsatolót választottál, és a sebességet illetően előnytelen a bekötése, akár 20-30usec is lehet bármely irányú kapcsolás
-A félhídmeghajtó felső oldali táp szűrőnek nem lesz elég csak egy elkó, kerámia kondi is kellene mellé
-hiányoznak a hidegítő kondenzátorok is
A gate meghajtás jó rajzolat tervezése legalább olyan fontos, mint a jó kapcsolási rajz
(#) majkimester válasza szikorapéter hozzászólására (») Nov 20, 2020 /
 
Szia,

Ezzel a kapcsolással és programmal azért elég sok gond van szerintem.

A kapcsolásban IRF2101 van, aminek HIN és LIN bementete van, a 2109-nek meg IN és -SD, azaz a kettő nem lábkompalibitis. A 2109 egyébként jobb választás, mert ott a IRF-en belül meg van oldva a holtidő kezelés, ezért nem kell Bakman által említett holtidő kezelése kódból. 2101-nél ez mindenképpen kellene (a lassú optók miatt valószínűleg elég nagy).

Bakman által is említett gate ellenállás nagyon nagy. Itt valami 22 ... 100 Ohm körül gondolkodj, mert egyébként nagyon lassan nyitnak zárnak az IGBT-k.

1N4004 helyett mindenképpen 600V-os és ultra gyors diódát kell berakni. UF4007 vagy HER108. Ez az utánozós táp része, ezen keresztül töltődik fel a 10µF kondi a felső IGBT meghajtás lebegő tápfeszültségének, akkor, amikor az alsó IGBT nyitva van. Lassú diódánál az alsó IGBT lezárása után a dióda lassan zár le, még kicsit nyitva marad ellenirányban is. Ekkor a 320V fele van a a kondi egyik végén és egy még nem lezárt dióda keresztül a 12V_2 a kondi másik végén. Csak egy pillanat, de ugye max 25V-os kondid lesz ott, amit ezzel éppen kisütsz valamennyire. Szoktak még egy mondjuk 10 Ohm-ot sorba tenni a diódával, hogy az áramot korlátozza.

Hidegítő kondi sehol nincs. Minden IRF tápfesz lábához 1-4 közé 100..220nF kerámia. Ugyanez a utánozós táp 10µF-jával párhuzamosan. De még a 320V-ra is kellene az IGBT-khez minél közelebb 100 ... 470nF 1000V impulzus tűrő fólia kondi (MKP).

Az IGBT meghajtásra a 12V OK, de jobb választás a 15V. AZ IFRxxx-en belül van undervoltage lockout, ami 9,8V felett engedi bekapcsolni a kimenetet. a Felső oldalon a 12V - dióda fesz esésről nem teljesen feltöltődő kondi az még éppen benne lehet, de a 15V tápfesz emiatt inkább ajánlott.

IGBT-k G-E közé is érdemes berakni egy 18V-os zénert a kapu védelme miatt.

Nincs biztosíték, zavarszűrés, túláram védelem.

A programban mindig az alsó oldali IGBT-t kell először kinyitni, mert akkor töltődik fel a felső oldali IGBT meghajtás kondija. Fordítva az első periódusban az az undervoltage lockout miatt nem nyílik. Igaz a második periódustól már menni fog.

A programban a potméter állásától függően változik a kimeneti négyszög frekvenciája. Ennyi.
Ezzel több gond is van. A motorok nem szeretnek négyszögről üzemelni. Az ilyen négyszög effektív értéke nagyobb mint a hasonló csúcsfeszültségű szinuszé, túl nagy feszültség jut a motorra. Ha ilyen meghajtást akarsz akkor szinuszt közelítő négyszög kell. (Nagyon hosszú holtidő a pozitív és negatív váltás között, úgy hogy a négyszög effektív értéke megegyezzen a szinusz effektív értékével.) De a szinuszosan modulát PWM lenne a tuti megoldás.

A másik gond, hogy a frekvenciával arányosan a kimeneti feszültség effektív értékét is csökkenteni kellene.

Nincs lassú felfutás sem.
(#) szikorapéter válasza majkimester hozzászólására (») Nov 21, 2020 /
 
Huhh, hát igen sejtettem az elején több sebből is vérzik a kapcsolás (a védelmek hiánya úgy kb mindenhol, túláram, hőmérséklet,zavarszűrés és még sorolhatnám).
Így ez a kapcsolás ebben a formájában arra lesz jó hogy maximum tanuljak belőle a lentebb említett törpefeszültség környékén, aztán óvatosan fejlesztem.

Igazából csak tanulás céljával, maximum elkészítek egy komolyabb modellt ha sikerül és annyi, csak meg szeretném ismeri ennek a szabályozástechnikának ezt az oldalát is.

Egyébként nagyon köszönöm mindenkinek hogy ilyen részletesen leírta mi az amire oda kell figyelnem, így még az alkatrészek megérkezte előtt áttervezem a kapcsolást hogy valamivel jobb védelmet adjon az alkatrészeknek.
(#) Jonni hozzászólása Nov 22, 2020 /
 
Valaki help please
Gyakorlatoztam ,hogy kiváltom a delay-t millis-el de nem azt csinálja amit kéne. Csak 1 lednek kéne lassan elhalványulnia meg visszaerősödnie de az csak világít meg néha vibrál egy kicsit (ki tudtok javítani?)
  1. const int ledPin = 10;    // LED connected to digital pin 3
  2. int ledState = LOW;    // ledState változó tárolja a LED állapotának értékét        
  3. long previousMillis = 0;  // a LED frissítésének utolsó időértékét tárolja      
  4. long interval = 5000;     // a következő változónk egy long less, mivel az érték gyorsan akkorára nő hogy integerben nem tudjuk tárolni  
  5.                           // villogáshoz intervalluma (milliszekundumban
  6. void setup()
  7. {
  8.  pinMode(ledPin, OUTPUT);                          
  9. }
  10. void loop()  {
  11.     for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5) {  
  12.     analogWrite(ledPin, fadeValue);
  13.       unsigned long currentMillis = millis();
  14.         if(currentMillis - previousMillis > interval) { // elmenti a LED felvillanás utolsó időértékét
  15.       previousMillis = currentMillis;  
  16.  
  17.       if (ledState == LOW)  // ha a LED ki van kapcsolva, akkor bekapcsolja és fordítva:
  18.           ledState = HIGH;
  19.       else
  20.           ledState = LOW;
  21.         digitalWrite(ledPin, ledState); // a ledState változóval beállítjuk a 13 pin állapotát:
  22.     }
  23.    
  24.   }
  25.   for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 5) {
  26.     analogWrite(ledPin, fadeValue);
  27.         unsigned long currentMillis = millis();
  28.         if(currentMillis - previousMillis > interval) { // elmenti a LED felvillanás utolsó időértékét
  29.       previousMillis = currentMillis;  
  30.  
  31.       if (ledState == LOW)  // ha a LED ki van kapcsolva, akkor bekapcsolja és fordítva:
  32.           ledState = HIGH;
  33.       else
  34.           ledState = LOW;
  35.         digitalWrite(ledPin, ledState); // a ledState változóval beállítjuk a 13 pin állapotát:
  36.     }
  37.      
  38.     }
  39.  
  40. }
(#) GPeti1977 válasza Jonni hozzászólására (») Nov 22, 2020 /
 
A 13 pin nem megy az analogwrite
Uno, Nano, Mini
3, 5, 6, 9, 10, 11
490 Hz (pins 5 and 6: 980 Hz)

Tedd a ledet ezek közül az egyikre az if (ledState... meg törölni kell.
Ide nem kell for ciklus csak mikor elérted az időpontot, egy számláló: fadeValue += 5

Van egy magyon egyszerű megoldás:


  1. if(millis() % 100 == 0){
  2. fadeValue += 5;
  3. analogWrite(ledPin, fadeValue);
  4. }
A hozzászólás módosítva: Nov 22, 2020
(#) Jonni válasza GPeti1977 hozzászólására (») Nov 22, 2020 /
 
10-es pinen van a led. Pontosan mit kell törölni?
(#) Jonni válasza GPeti1977 hozzászólására (») Nov 22, 2020 /
 
Valamit nagyon nem jól csináltam. Nem tudnád a tejes kódot visszaküldeni lécci
(#) GPeti1977 válasza Jonni hozzászólására (») Nov 22, 2020 / 1
 
  1. const int ledPin = 10;    // LED connected
  2. byte fadeValue = 0 ;
  3. bool dir = false;
  4. const unsigned long sebesseg = 100;
  5. void setup() {
  6.   // put your setup code here, to run once:
  7. pinMode(ledPin, OUTPUT);  
  8. }
  9. void loop() {
  10.   // put your main code here, to run repeatedly:
  11. if(millis() % sebesseg == 0){
  12.  
  13.   if(fadeValue==255){
  14.     if (dir == false )dir = true;
  15.   }
  16.    if(fadeValue==0){
  17.     if (dir == true )dir = false;
  18.   }
  19.  
  20.    if(dir == false){
  21.     fadeValue++;
  22.    }
  23.    else
  24.    {
  25.     fadeValue--;
  26.    }
  27.   analogWrite(ledPin, fadeValue);
  28. }
  29. }
(#) Jonni válasza GPeti1977 hozzászólására (») Nov 22, 2020 /
 
Ez nagyon szuper!!! Müködik!!!
Köszi szépen
(#) GPeti1977 válasza Jonni hozzászólására (») Nov 22, 2020 / 1
 
Még egyszerűsítettem
  1. const int ledPin = 10;    // LED connected
  2. byte fadeValue = 0 ;
  3. bool dir = false;
  4. const unsigned long sebesseg = 100;
  5. byte minl = 1;
  6. byte maxl = 250;
  7. void setup() {
  8.  
  9. pinMode(ledPin, OUTPUT);  
  10. }
  11. void loop() {
  12.  
  13. if(millis() % sebesseg == 0){
  14.  
  15.   if(fadeValue>=maxl){
  16.     dir = true;
  17.   }
  18.    if(fadeValue <= minl){
  19.     dir = false;
  20.   }
  21.  
  22.    if(dir == false){
  23.     fadeValue++;
  24.    }
  25.    else
  26.    {
  27.     fadeValue--;
  28.    }
  29.   analogWrite(ledPin, fadeValue);
  30. }
  31. }
A hozzászólás módosítva: Nov 22, 2020
(#) Jonni válasza GPeti1977 hozzászólására (») Nov 22, 2020 /
 
Köszi! Ez is teljesen jól működik
(#) GPeti1977 válasza Jonni hozzászólására (») Nov 22, 2020 /
 
  1. if(dir == false){
  2.     fadeValue++;
  3.    }
  4.    else
  5.    {
  6.     fadeValue--;
  7.    }


helyett lehet rövidíteni:

  1. dir ? fadeValue-- : fadeValue++;


Van mikor az elterjettebb previousMillis megoldás jó csak, mert ez ha valami mással van elfoglalva a kontroller akkor később de végtehajtja, próbáld ezt megírni azzal a megoldással
(#) Jonni válasza GPeti1977 hozzászólására (») Nov 22, 2020 /
 
OK. Próbálkozok vele.
(#) GPeti1977 válasza Jonni hozzászólására (») Nov 22, 2020 /
 
Írtam egy 3 fázisú futófényt, érdemes nem három hanem több ledből összerakni:
  1. const int ledPin1 = 3;    // LED connected
  2. const int ledPin2 = 6;    // LED connected
  3. const int ledPin3 = 10;    // LED connected
  4. int interval = 1000;
  5. long previousMillis = 0;
  6. byte stepp = 0;
  7. byte stepp0 = 0;
  8. byte stepp1 = 0;
  9. byte stepp2 = 0;
  10. byte sintable[] = {
  11. 128,131,134,137,140,143,146,149,
  12. 152,156,159,162,165,168,171,174,
  13. 176,179,182,185,188,191,193,196,
  14. 199,201,204,206,209,211,213,216,
  15. 218,220,222,224,226,228,230,232,
  16. 234,235,237,239,240,242,243,244,
  17. 246,247,248,249,250,251,251,252,
  18. 253,253,254,254,254,255,255,255,
  19. 255,255,255,255,254,254,253,253,
  20. 252,252,251,250,249,248,247,246,
  21. 245,244,242,241,239,238,236,235,
  22. 233,231,229,227,225,223,221,219,
  23. 217,215,212,210,207,205,202,200,
  24. 197,195,192,189,186,184,181,178,
  25. 175,172,169,166,163,160,157,154,
  26. 151,148,145,142,138,135,132,129,
  27. 126,123,120,117,113,110,107,104,
  28. 101,98,95,92,89,86,83,80,
  29. 77,74,71,69,66,63,60,58,
  30. 55,53,50,48,45,43,40,38,
  31. 36,34,32,30,28,26,24,22,
  32. 20,19,17,16,14,13,11,10,
  33. 9,8,7,6,5,4,3,3,
  34. 2,2,1,1,0,0,0,0,
  35. 0,0,0,1,1,1,2,2,
  36. 3,4,4,5,6,7,8,9,
  37. 11,12,13,15,16,18,20,21,
  38. 23,25,27,29,31,33,35,37,
  39. 39,42,44,46,49,51,54,56,
  40. 59,62,64,67,70,73,76,79,
  41. 81,84,87,90,93,96,99,103,
  42. 106,109,112,115,118,121,124,128
  43. };
  44.  
  45. void setup() {
  46. Serial.begin(115200);
  47. analogWrite(ledPin1, 128);
  48. analogWrite(ledPin3,128);
  49. analogWrite(ledPin2,128);
  50. delay(100);
  51. pinMode(ledPin1, OUTPUT);
  52. pinMode(ledPin3, OUTPUT);  
  53. pinMode(ledPin2, OUTPUT);
  54. delay(100);
  55.  
  56. }
  57. void loop() {
  58.   if(millis() % 50 == 0) {
  59.     int val = analogRead(1);
  60.     interval = map(val, 0, 1023, 1000, 10000);
  61.   }
  62. unsigned long currentMillis = micros();
  63.  
  64. if(currentMillis - previousMillis > interval){
  65.  analogWrite(ledPin1, sintable[stepp1]);
  66.  analogWrite(ledPin3, sintable[stepp2]);
  67.  analogWrite(ledPin2, sintable[stepp0]);
  68.  stepp++;
  69.  stepp0 = (stepp);
  70.  stepp1 = (stepp+85);
  71.  stepp2 = (stepp-85);
  72.  previousMillis = currentMillis;
  73. }
  74. }
(#) Jonni válasza GPeti1977 hozzászólására (») Nov 22, 2020 /
 
Egyszer én is próbálkoztam ilyennel , de az nem lett ilyen jó és a loop tele volt delay-al.
(#) Jonni hozzászólása Nov 24, 2020 /
 
Találtam az arduino nano-hoz "hasonló" hardvert de nem ismerem . A neve STM32F103C8T6 fejlesztő modul. Ismeri valaki? Nagyba eltér a nanó-tól ? Mik a különbségek?
(#) benjami válasza Jonni hozzászólására (») Nov 24, 2020 /
 
32 bites ARM magos 72MHz-es processzor van benne, "kicsit" nagyobb teljesítményű mint a 8 bites AVR-ek. Van saját topikja is a ennek a modulnak.
(#) enter1 hozzászólása Nov 24, 2020 /
 
Megpróbálom az egyszerübb utat...
Virtuino-t használnám a <VirtuinoCM.h> erre már össze ollóztam
az arduino Mega + ESP01-serial1 módosítást AP módba. így az működik.
Viszont nem világos hogy mit kell még beírkálnom hogy a T0 T1... szőveges üzenetek is szinkronizálódjanak. Erre nem találtam példát. Csak Ethernetest de az annyira más volt hogy nem tudom mi kell.
Kérlek csak olyan írjon akinek van működő kódja.
Kezdőként nekem napok míre kitalálom hogy kell.
A sallang mentesített kódomat ami T0, T1.. nélküli azt mellékelm ebbe kérnék egy működő kiegészítést.

Köszönöm

  1. #define APkey "1234";
  2. #include "VirtuinoCM.h"
  3. VirtuinoCM virtuino;              
  4. #define V_memory_count 16          // the size of V memory. You can change it to a number <=255)
  5. float V[V_memory_count];           // This array is synchronized with Virtuino V memory. You can .
  6.  
  7. void setup() {
  8. Serial1.begin(115200);
  9. Serial1.setTimeout(50);
  10.  
  11. virtuino.begin(onReceived,onRequested,256);
  12. virtuino.key=APkey;
  13.  
  14. connectToWiFiNetwork();
  15. }
  16.  
  17. void loop() {
  18.  
  19. virtuinoRun();
  20.  
  21. }
  22.  
  23. void connectToWiFiNetwork(){
  24.  //   Serial.println("Server init...");
  25.     while (Serial1.available()) Serial1.read();
  26.     Serial1.println("AT+GMR");       // print firmware info
  27.     waitForResponse("OK",1000);
  28.     Serial1.println("AT+CWMODE=2");  // configure as client
  29.     waitForResponse("OK",1000);
  30.    
  31.    Serial1.println("AT+CIFSR"); // IP lekérdezés
  32.      waitForResponse("OK",1000);
  33.      
  34.    Serial1.print("AT+CWSAP=\""); // szerver ap adatok
  35.      Serial1.print("valtoAA");
  36.      Serial1.print("\",\"");
  37.      Serial1.print("aabb1234");
  38.      Serial1.println("\",2,3"); // 2. csatorna 3-as kódolás
  39.      waitForResponse("OK",5000);
  40.  
  41.  
  42.        
  43.  //   Serial1.print("AT+CWJAP=\"");    // connect to your WiFi network
  44.  //   Serial1.print("valtoAA");
  45.  //   Serial1.print("\",\"");
  46.  //   Serial1.print("aabb1234");
  47.  //   Serial1.println("\"");
  48.  //   waitForResponse("OK",10000);
  49.  //   Serial1.print("AT+CIPSTA=\"");   // set IP
  50.  //   Serial1.print(serverIP);
  51.  //   Serial1.println("\"");  
  52.  //   waitForResponse("OK",5000);
  53.  //   Serial1.println("AT+CIPSTA?");
  54.  //   waitForResponse("OK",3000);
  55.  //   Serial1.println("AT+CIFSR");           // get ip address
  56.  //   waitForResponse("OK",1000);
  57.     Serial1.println("AT+CIPMUX=1");         // configure for multiple connections  
  58.     waitForResponse("OK",2000);
  59.     Serial1.print("AT+CIPSERVER=1,");
  60.     Serial1.println(8000);
  61.     waitForResponse("OK",1000);
  62. }
  63.  
  64.  
  65. //============================================================== onCommandReceived
  66. //==============================================================
  67. /* This function is called every time Virtuino app sends a request to server to change a Pin value
  68.  * The 'variableType' can be a character like V, T, O  V=Virtual pin  T=Text Pin    O=PWM Pin
  69.  * The 'variableIndex' is the pin number index of Virtuino app
  70.  * The 'valueAsText' is the value that has sent from the app   */
  71.  void onReceived(char variableType, uint8_t variableIndex, String valueAsText){    
  72.     if (variableType=='V'){
  73.         float value = valueAsText.toFloat();        // convert the value to float. The valueAsText have to be numerical
  74.         if (variableIndex<V_memory_count) V[variableIndex]=value;              // copy the received value to arduino V memory array
  75.     }
  76. }
  77.  
  78. //==============================================================
  79. /* This function is called every time Virtuino app requests to read a pin value*/
  80. String onRequested(char variableType, uint8_t variableIndex){    
  81.     if (variableType=='V') {
  82.     if (variableIndex<V_memory_count) return  String(V[variableIndex]);   // return the value of the arduino V memory array
  83.   }
  84.   return "";
  85. }
  86.  
  87.  //==============================================================
  88.   void virtuinoRun(){
  89.   if(Serial1.available()){
  90.         virtuino.readBuffer = Serial1.readStringUntil('\n');
  91.     //    if (debug) Serial.print('\n'+virtuino.readBuffer);
  92.         int pos=virtuino.readBuffer.indexOf("+IPD,");
  93.         if (pos!=-1){
  94.               int connectionId = virtuino.readBuffer.charAt(pos+5)-48;  // get connection ID
  95.               int startVirtuinoCommandPos = 1+virtuino.readBuffer.indexOf(":");
  96.               virtuino.readBuffer.remove(0,startVirtuinoCommandPos);
  97.               String* response= virtuino.getResponse();    // get the text that has to be sent to Virtuino as reply. The library will check the inptuBuffer and it will create the response text
  98.      //         if (debug) Serial.println("\nResponse : "+*response);
  99.               if (response->length()>0) {
  100.                 String cipSend = "AT+CIPSEND=";
  101.                 cipSend += connectionId;
  102.                 cipSend += ",";
  103.                 cipSend += response->length();
  104.                 cipSend += "\r\n";
  105.                 while(Serial1.available()) Serial1.read();    // clear Serial1 buffer
  106.                 for (int i=0;i<cipSend.length();i++) Serial1.write(cipSend.charAt(i));
  107.                 if (waitForResponse(">",1000)) Serial1.print(*response);
  108.                 waitForResponse("OK",1000);
  109.               }
  110.               Serial1.print("AT+CIPCLOSE=");Serial1.println(connectionId);
  111.          }// (pos!=-1)
  112.            
  113.   } // if Serial1.available
  114.        
  115. }
  116.  
  117.  
  118. //=================================================== waitForResponse
  119. boolean waitForResponse(String target1,  int timeout){
  120.     String data="";
  121.     char a;
  122.     unsigned long startTime = millis();
  123.     boolean rValue=false;
  124.     while (millis() - startTime < timeout) {
  125.         while(Serial1.available() > 0) {
  126.             a = Serial1.read();
  127.      //       if (debug) Serial.print(a);
  128.             if(a == '\0') continue;
  129.             data += a;
  130.         }
  131.         if (data.indexOf(target1) != -1) {
  132.             rValue=true;
  133.             break;
  134.         }
  135.     }
  136.     return rValue;
  137. }
  138.  
  139.  
  140.  //============================================================== vDelay
  141.   void vDelay(int delayInMillis){long t=millis()+delayInMillis;while (millis()<t) virtuinoRun();}
(#) pisti hozzászólása Nov 24, 2020 /
 
Hogyan tudnék 20 Khz-es TTL jelet adni a kimenetre. Egy vezérléshez ekkora kellene.

digitalWrite(pin,HIGH);
delay(1);
digitalWrite(pin,LOW);

megoldás kevés. Ez csak 1 kHz. J
(#) superuser válasza pisti hozzászólására (») Nov 24, 2020 /
 
Vedd ki a delay-t.
Gondolom van egy while ciklus, vagy valami kívül.
(#) pipi válasza pisti hozzászólására (») Nov 25, 2020 /
 
1. A delay millisec-et időzít, az nem jó neked, Bővebben: Link
2. a digitalwrite nagyon lassú, helyette direct írd a portot. Bővebben: Link
(#) Bakman válasza pisti hozzászólására (») Nov 25, 2020 /
 
PWM használata?
(#) mateatek válasza pisti hozzászólására (») Nov 25, 2020 /
 
  1. void setup() {  
  2.   DDRB |= _BV (1);
  3.   TCCR1A = 0;
  4.   TCCR1B = 0;
  5.   TCCR1A = _BV(WGM11) | _BV(COM1A1);
  6.   TCCR1B = _BV(WGM13) | _BV(CS10) | _BV(WGM12);
  7.   ICR1   = 799;
  8.   OCR1A = 399;
  9. }
  10.  
  11. void loop() {
  12. }


Ez 20 kHz a 9-es lábon, 50-50% kitöltéssel.
(#) jeges válasza pisti hozzászólására (») Nov 26, 2020 /
 
Mondjuk erre van lib ami kulturáltan konfigurálható...pwm
A hozzászólás módosítva: Nov 26, 2020
(#) Jonni válasza Jonni hozzászólására (») Nov 27, 2020 /
 
Rendeltem egy ilyent. Csak az a baj , hogy senki nem mondta, hogy ezt nem lehet simán csak usb-n programozni , kell hozzá valami st-link programozó kiegészítő. A kérdésem az volt , hogy
" Mik a különbségek? " Gondolom az st-link nélkül kirakhatom egy kiállításra, hogy jól meg lehessen csodálni
(#) jeges válasza Jonni hozzászólására (») Nov 27, 2020 2 /
 
Jobban jársz EGY esp8266-TAL. tTöbb platform és lib van hozzá, 160_MHz-ENmhz tudod tornázni, ÉS 32_bit-ES szintén. müxik MŰKÖDIK ideIDE alatt is fejlesztés!
Ha még több kell: esp32....

Stm32 nehéz platform lesz, ha AZ atmegáATMEGA-val is elakadsz!
A hozzászólás módosítva: Nov 27, 2020
Moderátor által szerkesztve
(#) kapu48 válasza Jonni hozzászólására (») Nov 27, 2020 /
 
Lehet azt USB->Soros Port átalakítóval is programozni!
Találsz rá több példát is a netten, ha keresel!
Pl.: STM32 Arduino IDE Tutorial Getting started with stm32
Bővebben: Link
(#) Jonni válasza jeges hozzászólására (») Nov 27, 2020 /
 
Köszi a választ. Amúgy vannak nano-im meg egy mega is csak gondoltam megnézem ez milyen.
(#) Jonni válasza kapu48 hozzászólására (») Nov 27, 2020 /
 
Köszi. Nem akarok programozót venni mert nem használnám minden nap. Na meg sokat kell bajlódni a jumperekkel meg ide oda kötözgetni meg bootloaderekkel bajlódni stb nincs kedvem.
A hozzászólás módosítva: Nov 27, 2020
(#) kapu48 válasza Jonni hozzászólására (») Nov 27, 2020 /
 
Akkor nem nézted végig a linkelt bemutatót!

A STM32 beépített botloader használatához, csak soros port kel!
Az felhasználhatod debugolásra is.
Bővebben: USB to TTL

Valamit kel választanod mert különben nem tudod használni.
Következő: »»   663 / 845
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem