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   185 / 854
(#) kapu48 válasza atus1981 hozzászólására (») Jan 21, 2016 /
 
NEM!
(#) Galilei válasza Kera_Will hozzászólására (») Jan 21, 2016 /
 
Azt hiszem valamit nem jól írtam le.
Adott egy Arduino, benne egy futó sketch, ebben sok Serial.print() kiírás az UART0 soros portra. Erre a soros portra kiküldött adatokat kellene eltárolni egy átmeneti bufferba az Arduino programon belül!
(#) atus1981 válasza kapu48 hozzászólására (») Jan 21, 2016 /
 
Köszi Kera_Willnek is... Sajnálom, hogy nem lehet....
(#) rmis válasza Galilei hozzászólására (») Jan 22, 2016 /
 
Szia,

Talán a legegyszerűbb megoldás az az, ha teszel bele egy memoriakártyát 2-300 Ft+kártya (Bővebben: Link) és amikor a soros portra kiíratod, akkor ide is beírod. Ha pedig szükséged van rá, akkor akár a soros portra küldött tetszőleges paranccsal visszaolvasható...
(#) stroboszkop hozzászólása Jan 22, 2016 /
 
Egy arduino unoval vezérelt kisebb mono aktív hangSZÓRÓt. Amik rendelkezésre állnak: Arduino Uno, Hangszóró, Hangszóró doboz, poti,távirányító,ir vevő, egy rakás led és rgb led, 3.5 mm jack, arduino starter kit . Az lényeges hogy 3.5 ös jackel működjön. Vmi mukodés jelzō led legyen
(#) kaqkk hozzászólása Jan 22, 2016 / 1
 
Valahogy mindent leírtál csak azt nem hogy mit akarsz megvalósítani . Egy kicsit gondold át és ugorj neki újra . Az arduinóból nem lehet erősítőt csinálni azt nem arra tervezték ,ez olyan mintha azt mondanád hogy a laptopból akarsz háztájikocsit csinálni
A hozzászólás módosítva: Jan 22, 2016
(#) atus1981 hozzászólása Jan 22, 2016 /
 
Sziasztok!
Van ez a kódom, amiben a 2. FORM után szeretném megjeleníteni a soros portra érkező adatot. Félig sikerült is, de egy több karakteres infóból csak az utolsó karakter jelenik meg vagy még az sem...
Valaki tud megoldást?
Köszi.
  1. #include <SPI.h>
  2. #include <Ethernet.h> // Initialize the libraries.
  3. #include <Servo.h>
  4. Servo myservo;
  5.  
  6. byte mac[] = {  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
  7. IPAddress ip(192,168,1,121);//You will want to fill these in with your MAC and IP address.
  8.  
  9. EthernetServer server(8080); // Assigning the port forwarded number. It's almost always 80.
  10.  
  11. String readString; // We will be using strings to keep track of things.
  12. int val;    // Using val as a variable for the PIR status.
  13. int pir=3;
  14.  
  15.  
  16.  
  17.  
  18. void setup(){
  19.  
  20.   Serial.begin(9600);
  21.  
  22.   pinMode(2, OUTPUT);
  23.   pinMode(pir, INPUT);
  24.   Ethernet.begin(mac, ip);
  25.   myservo.attach(9);
  26.   myservo.write(45);
  27. }
  28.  
  29. void loop(){
  30.  
  31.  
  32.  
  33.  
  34.   EthernetClient client = server.available();
  35.   if (client) {
  36.     while (client.connected()) {
  37.       if (client.available()) {                     // This is all where we start up the server and strings.
  38.         char c = client.read();                    
  39.         if (readString.length() < 100) {
  40.           readString += c;
  41.         }
  42.         if (c == '\n') {
  43.          // Serial.println(readString);                      // And here we begin including the HTML
  44.           client.println("HTTP/1.1 200 OK");
  45.           client.println("Content-Type: text/html");
  46.           client.println();
  47.           client.println("<hmtl>");
  48. client.println("<head>");
  49. client.println("ARDUINO PAGE");
  50. client.println("</head>");
  51. client.println("<title>");
  52. client.println("ARDUINO + ETHERNET Page");
  53. client.println("</title>");
  54. client.println("<body bgcolor=black>");
  55. client.println("<font color=white>");
  56. client.println("<meta http-equiv=\"refresh\" content=\"4\">"); // This is used to refresh the page so
  57. client.println("<center>");                                      // we can see if there is Motion or not.
  58. client.println("<b>");
  59.  
  60. client.println("</b>");
  61. client.println("<p>");
  62. client.println("<table border=0 width=200>");
  63. client.println("<tr>");
  64. client.println("<td align=center>");
  65. client.println("<font color=white>");
  66. client.println("The Temperature is:");
  67. client.println("</td>");
  68. client.println("</tr>");
  69. client.println("<tr>");
  70. client.println("<td align=center>");
  71. client.println("<font color = turquoise size=10>");
  72. int temp = (((5*analogRead(5)*100/1024)));     // This replaces the 00 with a temperature in F.
  73. client.println(temp);
  74. client.println("* C");
  75. client.println("</td>");
  76. client.println("</tr>");
  77. client.println("</table>");
  78. client.println("<p>");
  79. client.println("<FORM>");
  80. client.println("<INPUT type=button value=LED1-ON onClick=window.location='/?lighton1\'>");
  81. client.println("<INPUT type=button value=LED1-OFF onClick=window.location='/?lightoff1\'>");
  82. client.println("</FORM>");   // Above and below you'll see that when we click on a button, it adds a little snippet
  83. client.println("<FORM>");    // to the end of the URL. The Arduino watches for this and acts accordingly.
  84. client.println("<INPUT type=button value=Servo-0 onClick=window.location='/?serv0\'>");
  85. client.println("<INPUT type=button value=Servo-45 onClick=window.location='/?serv45\'>");
  86. client.println("<INPUT type=button value=Servo-90 onClick=window.location='/?serv90\'>");
  87. client.println("<INPUT type=button value=Servo-135 onClick=window.location='/?serv135\'>");
  88. client.println("<INPUT type=button value=Servo-180 onClick=window.location='/?serv180\'>");
  89. client.println("</FORM>");
  90. client.print("<table border=1 width=200>");
  91. client.print("<tr>");
  92. client.print("<td align=center>");
  93. client.print("<font color=white size=3>");
  94. char inByte;
  95.    if (Serial.available()) {
  96.    
  97. inByte = Serial.read();
  98.    
  99.  
  100. client.write(inByte);
  101.    }
  102. client.print("</td>");
  103. client.print("</tr>");
  104. client.print("<tr>");
  105. client.print("<td align=center>");
  106. client.print("<font color=white size=3>");  // And below we will print Motion if there is, and No Motion if there's not.
  107. val = digitalRead(pir);
  108.           if (val == HIGH){
  109.            client.print("MOTION");
  110.           }
  111.          else {
  112.           client.print("NO MOTION");
  113.          }
  114. client.print("</td>");
  115. client.print("</tr>");
  116. client.print("</table>");
  117. client.println("</center>");
  118. client.println("</font>");
  119. client.println("</body>");
  120. client.println("</html>");
  121.  
  122.           delay(10);
  123.          
  124.           if(readString.indexOf("?lighton") >0)     // these are the snippets the Arduino is watching for.
  125.           {
  126.             digitalWrite(2, HIGH);
  127.           }
  128.           else{
  129.           if(readString.indexOf("?lightoff") >0)
  130.           {
  131.             digitalWrite(2, LOW);
  132.           }
  133.          
  134.           else{
  135.             if(readString.indexOf("?serv0") >0)
  136.             {
  137.               myservo.write(0);
  138.             }
  139.          
  140.           else{
  141.             if(readString.indexOf("?serv45") >0)
  142.             {
  143.               myservo.write(45);
  144.             }
  145.          
  146.           else{
  147.             if(readString.indexOf("?serv90") >0)
  148.             {
  149.               myservo.write(90);
  150.             }
  151.                       else{
  152.             if(readString.indexOf("?serv135") >0)
  153.             {
  154.               myservo.write(135);
  155.             }
  156.                       else{
  157.             if(readString.indexOf("?serv180") >0)
  158.             {
  159.               myservo.write(180);
  160.             }
  161.           }
  162.           }
  163.           }
  164.           }
  165.           }
  166.           }
  167.           readString="";
  168.           client.stop();            // End of session.
  169.  
  170.         }
  171.       }
  172.     }
  173.   }
  174.  
  175. }
(#) icserny válasza Galilei hozzászólására (») Jan 22, 2016 /
 
Idézet:
„a soros portra kiküldött adatokat kellene eltárolni egy átmeneti bufferba az Arduino programon belül!”

Ha úgyis kiküldöd, amikor is a PC-vel gond nélkül rögzíthető, akkor miért akarod az Arduinoban tárolni (ahol nyilvánvalóan nehezen fér el)?
(#) kapu48 válasza atus1981 hozzászólására (») Jan 22, 2016 /
 
Szerintem az '}else if {}" -eket nem jól zárojelezted!
Bővebben: Link

És ha Flasból kezeled a Stringeket, meg sporolsz 1000 Byte memoriát!

  1. #include <SPI.h>
  2. #include <Ethernet.h> // Initialize the libraries.
  3. #include <Servo.h>
  4. Servo myservo;
  5.  
  6. byte mac[] = {  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
  7. IPAddress ip(192,168,1,121);//You will want to fill these in with your MAC and IP address.
  8.  
  9. EthernetServer server(8080); // Assigning the port forwarded number. It's almost always 80.
  10.  
  11. String readString; // We will be using strings to keep track of things.
  12. int val;    // Using val as a variable for the PIR status.
  13. int pir=3;
  14.  
  15.  
  16.  
  17.  
  18. void setup(){
  19.  
  20.   Serial.begin(9600);
  21.  
  22.   pinMode(2, OUTPUT);
  23.   pinMode(pir, INPUT);
  24.   Ethernet.begin(mac, ip);
  25.   myservo.attach(9);
  26.   myservo.write(45);
  27. }
  28.  
  29. void loop(){
  30.  
  31.  
  32.   EthernetClient client = server.available();
  33.   if (client) {
  34.     while (client.connected()) {
  35.       if (client.available()) {                     // This is all where we start up the server and strings.
  36.         char c = client.read();                    
  37.         if (readString.length() < 100) {
  38.           readString += c;
  39.         }
  40.         if (c == '\n') {
  41.          // Serial.println(readString);                      // And here we begin including the HTML
  42.           client.println(F("HTTP/1.1 200 OK"));
  43.           client.println(F("Content-Type: text/html"));
  44.           client.println();
  45.           client.println(F("<hmtl>"));
  46. client.println(F("<head>"));
  47. client.println(F("ARDUINO PAGE"));
  48. client.println(F("</head>"));
  49. client.println(F("<title>"));
  50. client.println(F("ARDUINO + ETHERNET Page"));
  51. client.println(F("</title>"));
  52. client.println(F("<body bgcolor=black>"));
  53. client.println(F("<font color=white>"));
  54. client.println(F("<meta http-equiv=\"refresh\" content=\"4\">")); // This is used to refresh the page so
  55. client.println(F("<center>"));                                      // we can see if there is Motion or not.
  56. client.println(F("<b>"));
  57.  
  58. client.println(F("</b>"));
  59. client.println(F("<p>"));
  60. client.println(F("<table border=0 width=200>"));
  61. client.println(F("<tr>"));
  62. client.println(F("<td align=center>"));
  63. client.println(F("<font color=white>"));
  64. client.println(F("The Temperature is:"));
  65. client.println(F("</td>"));
  66. client.println(F("</tr>"));
  67. client.println(F("<tr>"));
  68. client.println(F("<td align=center>"));
  69. client.println(F("<font color = turquoise size=10>"));
  70. int temp = (((5*analogRead(5)*100/1024)));     // This replaces the 00 with a temperature in F.
  71. client.println(temp);
  72. client.println(F("* C"));
  73. client.println(F("</td>"));
  74. client.println(F("</tr>"));
  75. client.println(F("</table>"));
  76. client.println(F("<p>"));
  77. client.println(F("<FORM>"));
  78. client.println(F("<INPUT type=button value=LED1-ON onClick=window.location='/?lighton1\'>"));
  79. client.println(F("<INPUT type=button value=LED1-OFF onClick=window.location='/?lightoff1\'>"));
  80. client.println(F("</FORM>"));   // Above and below you'll see that when we click on a button, it adds a little snippet
  81. client.println(F("<FORM>"));    // to the end of the URL. The Arduino watches for this and acts accordingly.
  82. client.println(F("<INPUT type=button value=Servo-0 onClick=window.location='/?serv0\'>"));
  83. client.println(F("<INPUT type=button value=Servo-45 onClick=window.location='/?serv45\'>"));
  84. client.println(F("<INPUT type=button value=Servo-90 onClick=window.location='/?serv90\'>"));
  85. client.println(F("<INPUT type=button value=Servo-135 onClick=window.location='/?serv135\'>"));
  86. client.println(F("<INPUT type=button value=Servo-180 onClick=window.location='/?serv180\'>"));
  87. client.println(F("</FORM>"));
  88. client.print(F("<table border=1 width=200>"));
  89. client.print(F("<tr>"));
  90. client.print(F("<td align=center>"));
  91. client.print(F("<font color=white size=3>"));
  92. char inByte;
  93.    if (Serial.available()) {
  94.    
  95. inByte = Serial.read();
  96.    
  97.  
  98. client.write(inByte);
  99.    }
  100. client.print(F("</td>"));
  101. client.print(F("</tr>"));
  102. client.print(F("<tr>"));
  103. client.print(F("<td align=center>"));
  104. client.print(F("<font color=white size=3>"));  // And below we will print Motion if there is, and No Motion if there's not.
  105. val = digitalRead(pir);
  106.           if (val == HIGH){
  107.            client.print(F("MOTION"));
  108.           }
  109.          else {
  110.           client.print(F("NO MOTION"));
  111.          }
  112. client.print(F("</td>"));
  113. client.print(F("</tr>"));
  114. client.print(F("</table>"));
  115. client.println(F("</center>"));
  116. client.println(F("</font>"));
  117. client.println(F("</body>"));
  118. client.println(F("</html>"));
  119.  
  120.           delay(10);
  121.          
  122.           if(readString.indexOf("?lighton") >0)     // these are the snippets the Arduino is watching for.
  123.           {
  124.             digitalWrite(2, HIGH);
  125.           }
  126.           else{
  127.           if(readString.indexOf("?lightoff") >0)
  128.           {
  129.             digitalWrite(2, LOW);
  130.           }
  131.          
  132.           else{
  133.             if(readString.indexOf("?serv0") >0)
  134.             {
  135.               myservo.write(0);
  136.             }
  137.          
  138.           else{
  139.             if(readString.indexOf("?serv45") >0)
  140.             {
  141.               myservo.write(45);
  142.             }
  143.          
  144.           else{
  145.             if(readString.indexOf("?serv90") >0)
  146.             {
  147.               myservo.write(90);
  148.             }
  149.                       else{
  150.             if(readString.indexOf("?serv135") >0)
  151.             {
  152.               myservo.write(135);
  153.             }
  154.                       else{
  155.             if(readString.indexOf("?serv180") >0)
  156.             {
  157.               myservo.write(180);
  158.             }
  159.           }
  160.           }
  161.           }
  162.           }
  163.           }
  164.           }
  165.           readString="";
  166.           client.stop();            // End of session.
  167.  
  168.         }
  169.       }
  170.     }
  171.   }
  172.  
  173. }


Forditsd csak le mindkét beszúrt program kódot, meg látod a külömbséget!
A hozzászólás módosítva: Jan 22, 2016
(#) atus1981 válasza kapu48 hozzászólására (») Jan 23, 2016 /
 
Amit te szúrtál be, az 200 bájttal nagyobb fordítás után...
(#) kapu48 válasza atus1981 hozzászólására (») Jan 23, 2016 /
 
De viszont az SRAM foglalása 1600 helyett, csak 600 bájt!

És abból van kevesebb az AVRben.
(#) Galilei válasza icserny hozzászólására (») Jan 23, 2016 /
 
Köszi a válaszokat, megpróbálom még pontosabban megfogalmazni mi a cél.
Egy elágaztatásról van szó! Debug okok miatt pl. sok infót küldünk ki Serial.print(), Serial.println(), vagy Serial.prinf() segítségével. Ezek vagy csak egyszerűen karakterként megjelennek a soros port Tx lábán, vagy komoly feldolgozás, formázást követően. Tehát az Tx láb nagyon sok irányból és sok előfeldolgozás után jelenít meg adatokat, amiket aztán egy egyszerű soros monitor programmal bárhol megnézhet az ember. (Miért érdekes ez? mert pl egy float változó egyszerű kiírása mögött is komoly átalakító folyamatok vannak, mire pl 6 számjegyű, tizedesponttal ellátott ASCII formában jelennek meg a Tx lábon)
Mindez a Tx adópufferbe betöltött adatokból történik. Ha meg lehetne találni azt az (esetleg 1 konkrét sort amelyik ténylegesen a Tx pufferbe írást végzi, bármely irányból jött is a kérelem a Tx portra írásra) akkor ott talán a Tx bufferbe írás után azonnal be lehetne iktatni egy új programrészt, amely egy másik pufferbe is ír.
A cél hogy a Tx porton megjelenő infók egy másik pufferből bármikor kiküldhetők legyenek bárhova, pl Ethernet kártyán keresztül a világ végéra. Tehát most nem tárolási kérdésről van leginkább szó.
Az eddigi turkálásaim szerint a Tx buffer írását a ..Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\HardwareSerial.cpp végzi! Ebbe kellene belepiszkálni ha nincs jobb ötlet.
(#) GPeti1977 válasza Galilei hozzászólására (») Jan 23, 2016 /
 
Használj több serial portos kontrollert pl atmega2560 ez az arduino mega kontrollere, a TX lábat kösd a másik uart RX lábára és ezeket a vett adatokat mentsd el tömbbe.
(#) atus1981 válasza kapu48 hozzászólására (») Jan 23, 2016 /
 
Okés, de még mindig az alap problémám nem oldódott meg...
(#) jkornel hozzászólása Jan 23, 2016 /
 
Sziasztok!

Tudtok valami egyszerű megoldást arra, hogy a digitális portot leválasszam az arra bejövő jelről.
Úgy értem pár kHz-es bekövőjeleket dolgozok fel vele, de a jelfeszültség nem garantált, hogy 5v alatt marad és nem akarnám kiégetni a nano-mat
Relém van, de az lassú lenne gondolom, szóval valami IC-s kapcsolásra vágynék.

Köszi előre is!
(#) icserny válasza jkornel hozzászólására (») Jan 23, 2016 /
 
Ha csak néhány voltos különbségről van szó, akkor egy soros ellenállás és az Arduino beépített védődiódája is elég. Ha jól emlékszem, a PICAXE mikrovezérlők soros portra csatlakozó kábelénél egy 22 kOhmos ellenállással "intézik el" a szintillesztést (RS-232 szerint 12 V-os is lehet a jel...)
(#) kissi válasza jkornel hozzászólására (») Jan 23, 2016 /
 
Icserny kolléga megoldása jó, ha viszont "veszélyesebbnek" ítéled meg a bejövő jelet, akkor használj optocsatolót!
(#) kapu48 válasza atus1981 hozzászólására (») Jan 23, 2016 /
 
Rendbe szedted az: }else if() {} zárojelezést?

Egy if ágon belül csak 1 else lehet, mégpedig az utolsó!
(#) kegyetlen19 hozzászólása Jan 23, 2016 /
 
Sziasztok. Kérnék egy kis segítséget.
Nemrég kezdtem ismerkedni az Arduino-val. Egy stoppert kódot akarnék beilleszteni egy pár alapfunkciójú kódba. A letölthető stoppert kódot kéne egy kicsit leegyszerűsíteni, „kitakarítani”, csak a kijelző funkció kellene, semmi más. Ebben kérném a segítségeteket. A kódba kellene egy változó, ami ha 0 = áll a stopper, ha 1 = megy a stopper.
Ez egy LED-es, 4 digittes kijelző, (TM1637) amin a másodperc és a percet mérné. Ha még megoldható lenne az, hogy egy változóval ki-be kapcsolható lenne a LED kijelző fénye, az csak „hab lenne a tortán”. Előre is köszönöm.

TM1637.jpg
    
(#) GPeti1977 válasza jkornel hozzászólására (») Jan 23, 2016 /
 
74HC540 74HC541 jó megoldás leválasztásra, foglalatba rakod és egyszerűbb cserélni mint egy processzort, nem én találtam ki a "nagyoktól" lestem el. Mivel a HC ben is van védődióda így soros ellenállás is kellhet ha a feszültség magasabb mint a tápfeszültség.
A hozzászólás módosítva: Jan 23, 2016
(#) atus1981 válasza kapu48 hozzászólására (») Jan 23, 2016 /
 
Persze, kivettem mindet. Szerintem nem kell oda egy sem.
  1. if(readString.indexOf("?lighton") >0)     // these are the snippets the Arduino is watching for.
  2.           {
  3.             digitalWrite(2, HIGH);
  4.           }
  5.      
  6.           if(readString.indexOf("?lightoff") >0)
  7.           {
  8.             digitalWrite(2, LOW);
  9.           }
  10.          
  11.             if(readString.indexOf("?serv0") >0)
  12.             {
  13.               myservo.write(0);
  14.             }
  15.          
  16.          
  17.             if(readString.indexOf("?serv45") >0)
  18.             {
  19.               myservo.write(45);
  20.             }
  21.          
  22.          
  23.             if(readString.indexOf("?serv90") >0)
  24.             {
  25.               myservo.write(90);
  26.             }
  27.                      
  28.             if(readString.indexOf("?serv135") >0)
  29.             {
  30.               myservo.write(135);
  31.             }
  32.                      
  33.             if(readString.indexOf("?serv180") >0)
  34.             {
  35.               myservo.write(180);
  36.             }
(#) morzsa15 hozzászólása Jan 24, 2016 /
 
Sziasztok !
Építettem egy lézer gépet és olyan problémám van hogy több mintát szeretnék bele , meg van hogy a // Shape részbe keresgéljek , írogattam is három szöget, kört de valamiért nem jött össze. Arra jutottam hogy a két motor nem egyszerre és egymástól függetlenül mozog és így nem rajzolja ki a kört. A körhöz
  1. for (int i = 0; i < [somenumber]; i++)
  2.   {
  3.     angle = i*2*3.14/100;
  4.     Xpos = 250 + (cos(angle) * Rad);
  5.     Ypos = 250 + (sin(angle) * Rad);
  6.    
  7. //Move x motor to xpos
  8. //move y motor to ypos
  9. //it does this for each point of the circle, so you dont have to run them at the same time
  10.   }

kirajzolni ezzel a kóddal próbálkoztam, valaki tudna valami segítséget adni ? Vagy valami algoritmusos le írást ami ehhez jó .

ardulaser.rar
    
(#) atus1981 hozzászólása Jan 24, 2016 /
 
Sziasztok!
Arduino kimenetére ellenállással (330Ohm) vagy anélkül lehet működtetni egy Fotek 25A-s SSR-t?
Illetve PWM szabályozást hogy bírja az SSR?
Köszi.
(#) Bakman válasza atus1981 hozzászólására (») Jan 24, 2016 /
 
PWM-mel szabályozni SSR-t? Nagyon nem jó irány. A PWM frekvencia függvényében össze-vissza fog kapcsolni, már ha egyáltalán bekapcsol.

Ne közvetlen kösd a kontroller kimenetére a vezérlést, hanem legalább egy tranzisztoron keresztül.
(#) RoliNyh válasza atus1981 hozzászólására (») Jan 24, 2016 /
 
Tudtommal az SSR -t váltóáramhoz használják.

1. PWM -el nem szabályozunk váltóáramot.
2. Ha valóban váltóáramot akarsz vezérelni, azt SSR -el csak On vagy OFF lehet.

Jó lenne tudni, mi a konkrét feladat...
A hozzászólás módosítva: Jan 24, 2016
(#) atus1981 válasza Bakman hozzászólására (») Jan 24, 2016 /
 
Ha kell illesztés, akkor majdnem felejtős....
(#) atus1981 válasza RoliNyh hozzászólására (») Jan 24, 2016 /
 
Okés, akkor a PWM dolog kiesett.
Fűtőbetéteket szeretnék kapcsolni, csak nem relével meg mágneskapcsolóval. Jó, ha csendesen teszi a dolgát. Ez a feladat.
(#) RoliNyh válasza atus1981 hozzászólására (») Jan 24, 2016 /
 
Két lehetőséged van.

Ha nagy teljesítményű fűtőbetét, marad az SSR, és BE KI kapcsolgatod amikor épp kell, pl hőmérséklet függvényében, vagy idő függvényében.

Második, ha kis teljesítményű a fűtőbetét, egyenáramról táplálod, megfelelő tápegységről.
Szintén hőfoktól vagy időtől függően. Viszont itt képbe jöhet a PWM szabályozás is.
Így akár 0%-100% ig fokozatmentes vezérlés is megvalósítható egy kellő teljesítményű MOSFET -tel...
A hozzászólás módosítva: Jan 24, 2016
(#) atus1981 válasza RoliNyh hozzászólására (») Jan 24, 2016 /
 
DC nem jöhet szóba, mert 3kW teljesítményű betétekről van szó....
(#) Koleus válasza atus1981 hozzászólására (») Jan 24, 2016 /
 
Szia.

Két tipusu SSR van: Zero Crossing és Random Turn-On.
A ZC tipus az első nullátmenetnél kapcsol be, és az aktiváló jel megszünése után a nullátmenetnél kapcsol ki. Egész színusz félperiódusokat enged át, nem generál zajt. Neked ez lenne jó.
A randomos, az aktivációnál kapcsol be, ha te nem figyeled a nullátmenetet akkor vágja a színuszt (fázishasítás), nullátmenetnél kapcsol ki. Ez a fajta zajos, zajszűrnő beépításe ajánlott.
Mint ahogy írták, hagyományos PWM-mel nem lehet vezérelni (pár kHz), nincs is értelme, mert a 3 kW elég nagy melegítő, a rendszered holtideje is elég nagy lehet (több s vagy akár perc is).
A vezérlésed lehet PWM-szerű, ahol az alapidőd/periódusod pl 3 s, és itt változtatod a kitöltési tényezőt. Persze valójában ez csak ON/OFF mert lassú, de időkerettel
Következő: »»   185 / 854
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