Conectarea unui comutator și a unui MOSFET la un Arduino?

Am o bandă LED pe care încerc să o pornesc cu un întrerupător magnetic când se deschide o ușă. Vreau ca LED-urile să se aprindă atunci când deschid ușa și să se stingă când o închid, care este locul în care intră Arduino. Folosesc PWM pentru decolorare. Pot face ca fiecare componentă să funcționeze separat. LED-urile decolorate funcționează cu MOSFET fără comutator. Am testat comutatorul cu ieșire serială pe Arduino și funcționează decolorând un singur LED fără MOSFET.

Folosesc:

  • Arduino Uno R3
  • Comutator magnetic
  • MOSFET N-Channel IRLB3034
  • Banda LED albă de 5 metri
  • Sursă de alimentare 12VDC 30W
  • Rezistențe de 10 k Ohm

Configurarea mea arată astfel: diagramă de panou

Schematic: schematic

Cod (dacă ajută):

const int buttonPin = 2; // the number of the switch pin const int ledPin = 9; // the number of the LED pin // variables will change: int buttonState = 0; // variable for reading the switch status int brightness = 0; int fadeAmount = 5; void setup() { // initialize the LED pin as an output: pinMode(ledPin, OUTPUT); // initialize the pushbutton pin as an input: pinMode(buttonPin, INPUT); } void loop(){ // read the state of the switch value: buttonState = digitalRead(buttonPin); // check if the switch is ON. // if it is, the buttonState is LOW: if (buttonState == LOW) { // fade LED on: analogWrite(ledPin, brightness); if (brightness < 255) { brightness = brightness + fadeAmount; } } else { // fade LED off: analogWrite(ledPin, brightness); if (brightness > 0) { brightness = brightness - fadeAmount; } } delay(30); } 

Am impresia că problema este legată de terenul comun de pe MOSFET și de pe comutator. Orice soluție / sugestie este apreciată.

Comentarii

  • puteți activa FET prin pinul D9 continuu? Fără PWM .. Când D9 este ridicat, puteți măsura tensiunea pe scurgere și sursa NMOSFET? Verificați tensiunea la D2 când comutatorul este închis și deschis. Măsurați tensiunea la D9 când ieșirea pinului D9 este mare. puteți împărtăși detaliile benzii LED de 5 metri? Cum porniți Arduino? Am senzația că problema este cu LED-ul de 5 metri …
  • M-aș aștepta la R2, lângă MOSFET, în ordinea a 100 ohmi. ‘ îl veți face fierbinte în caz contrar. De asemenea, modificați testele minime și maxime de la 255 resp. De la 0 la 250 și 5.
  • Nu spuneți ce problemă aveți. Ce face? | Banda LED se va alimenta într-o gamă de tensiune de aproape 12V. adică este probabil oprit la aproximativ 9V și pornit la 12V. Deci, dacă tensiunea pe bandă este analogică datorită oricărei filtrări, aceasta va porni partea superioară a gamei PWM. Dacă circuitul este așa cum se arată, banda LED ar trebui să moduleze pornit și oprit la frecvența PWM. Acest lucru ar trebui să funcționeze. Circuitul așa cum se arată pare OK și codul pare OK, deci este posibil să nu faci ceea ce crezi că ești. Verifică totul. | Și, ce face, de fapt?
  • @Cum spune Jippie, rezistența la poartă MOSFET poate fi mică de 100 ohmi sau chiar 10 ohmi OK. 10k, așa cum este arătat, probabil că nu cauzează probleme, dar este prea mare.
  • ACEL ‘ este un FET MĂRITOR. Foaie de date aici

Răspuns

Cred că ar trebui să păstrați rezistorul R2, dar faceți-l 1k și puneți-l în față un rezistor de 10k astfel încât orice încărcare stocată în capacitatea NMOS Cgate să fie descărcată, ori de câte ori există High-Z la portul D9. De asemenea, nu uitați niciodată rezistența care limitează curentul direct al diodei, care este de obicei 20 mA, dar ar trebui să verificați asta de fiecare dată în foaia tehnică. În cazul benzii cu LED-uri există, de obicei, rezistențe interne, dar dacă utilizați o tensiune mai mare, trebuie să restricționați curentul. Ne-ați putea spune mai multe despre motivul pentru care utilizați PWM, nu un simplu port de ieșire cu un integrator, de exemplu, și ce observați și măsurați exact când porniți-dezactivați (fade-on-off) LED-ul?

schematic

simulează acest circuit – Schema creată utilizând CircuitLab

Cum se face diagrama puțin mai mică?

Comentarii

  • El ‘ conduce o bandă nominală de 12V cu rezistențe interne – nu este necesar un LED extern. El ‘ utilizează PWM pentru că dorește o soluție digitală și nu una analogică.
  • @lalamer Pentru a scala diagramele de pe ESE, trebuie să le lărgiți, Fac acest lucru plasând un punct / segment / text la stânga și / sau la dreapta, astfel încât să micșoreze întreaga diagramă, funcționează bine.
  • @RussellMcMahon da, ai dreptate, aceasta este o bandă LED și există un rezistor intern. Mi-am actualizat răspunsul. Vă mulțumim că v-ați angajat.

Răspuns

Nu este nevoie de 10KOhm. MOSFET-urile sunt dispozitive controlate de tensiune spre deosebire de tranzistoare care au nevoie de curent controlat. Cred că problema ta ar putea fi în dezbaterea comutatorului. Probabil că obțineți niște falsuri pozitive care ar putea face ca software-ul dvs. să meargă prost. Vă recomand să aveți o mică rutină de dezbatere. De exemplu – numai dacă găsiți 3 pozitive succesive, comutatorul va fi numit un adevărat pozitiv sau cam așa ceva.

Comentarii

  • Când comutatorul este văzut ca activ, face o acțiune și apoi întârzie 30 mS înainte de a re-testa, astfel încât are efectiv o retragere de 30 mS.
  • Este o bună practică să aveți un rezistor în serie cu poartă pentru a limita curentul de intrare. Amintiți-vă că poarta MOSFET acționează ca un condensator și trebuie încărcată / descărcată.
  • Pentru a realiza acest lucru, ar trebui să conectați poarta MOSFET la gnd (în cazul NMOS). Aceasta va descărca rapid capacitatea porții MOSFET. De asemenea, nu ar trebui să lăsați niciodată o poartă plutitoare, deoarece este susceptibilă la zgomot și poate porni provocând multe daune. Trageți întotdeauna în jos poarta NMOS.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *