Skocz do zawartości

adamsm

Użytkownicy
  • Zawartość

    7
  • Rejestracja

  • Ostatnio

Reputacja

0 Neutralna

O adamsm

  • Ranga
    2/10
  1. Wielkie dzięki za tą sugestię Jamik ! Miałem akurat pod ręką zasilacz 12V co prawda mały prąd 0,25A, ale wentylator śmiga aż miło i płynnie się reguluje prawie w całym zakresie potencjometru. Kupię jakiś porządny zasilacz 12V i wtedy już w ogóle myślę, że będzie idealnie. Pozdrawiam
  2. Podłączenie wentylatora jest tak jak w kursie : https://forbot.pl/blog/kurs-arduino-sterowanie-silnikami-dc-petla-for-id8311 Do pomarańczowych przewodów jest podłączony wentylator, do tego jest jeszcze potencjometr podłączony w roli dzielnika napięcia do wejścia analogowego A0.
  3. Ok, właśnie przetestowałem zmianę pinu PWM na 6 w programie tak jak pisaliśmy wyżej i regulacja prędkości działa, tylko nie idealnie tak jak sobie to wyobrażałem. Mianowicie dopiero gdy ustawie potencjometr na max wskazanie 5V to po chwili startuje, natomiast przy zmniejszaniu napięcia jest OK - powoli płynie zmniejszają się obroty i poniżej 2V wentylator się zatrzymuje, jeśli jest w tym zakresie 2-5V to regulacja działa super w obie strony, problem jest jednak taki, że jak już się zatrzyma przy wartości poniżej 2V to nie startuje z powrotem powyżej tej granicy, lecz dopiero jak dam potencjometr na max w prawo do 5V i po chwili rusza. Myślicie, że jest to kwestia napięcia progowego tego wentylatora? Jego parametry to DC 5V, 0.7W
  4. Czyli ten fragment kodu ma wyglądać w ten sposób? : int pwm = analogRead(A0); //regulacja pr. obr. za pomocą potencjometru pwm = map(pwm,1023,0,0,255); analogWrite(6, pwm); digitalWrite(7, LOW); digitalWrite(8, HIGH); delay(25); } O to chodzi?
  5. Dzięki za odpowiedź ! W przypadku programu z pętlą for z kursu z płynnym przyspieszaniem i hamowaniem silnika gdzie prędkość obrotowa była regulowana przez PWM - pin 6 w programie wszystko było OK, jednak przy pomocy potencjometru już nie mogę uzyskać tego efektu. "Czy próbowałeś wypisać sobie wartość zmiennej pwm (przed i po użyciu funkcji map)? Możesz do tego wykorzystać podłączony LCD lub np. UART. Daj znać jakie wyniki " Możesz wytłumaczyć co dokładnie masz na myśli na przykładzie kodu? Dzięki z góry !
  6. Witam, Piszę program, który ma na celu płynną regulację prędkości silnika dc(wentylatora 5V) za pomocą potencjometru oraz wyświetlanie napięcia regulowanego przez potencjometr na lcd, jednak napotkałem na problem, który nie wiem jak rozwiązać - przy regulacji potencjometrem silnik nie przyspiesza i hamuje płynnie, tylko skokowo(0,1)załącza się przy ok. 2,5V i do 5V prędkość jest bez zmian, przy zejściu poniżej 2,5V silnik po prostu się wyłącza. Prośba o pomoc, wielkie dzięki z góry. Kod : #include <LiquidCrystal.h> //Dołączenie bilbioteki LiquidCrystal lcd(2, 3, 4, 5, 11, 12); void setup() { lcd.begin(16, 2); //Deklaracja typu lcd.clear(); lcd.setCursor(0, 0); //Ustawienie kursora lcd.print("VOLTAGE"); //ustawienie lcd lcd.setCursor(0,1); lcd.print("0.00V"); pinMode(6, OUTPUT); //Sygnal PWM silnika nr1 digitalWrite(6, HIGH); //ustawiamy na stale stan wysoki na 6 pinie pinMode(A0, INPUT);//potencjometr pinMode(7, OUTPUT); //Sygnaly sterujace kierunkiem obrotow silnika pinMode(8, OUTPUT); } double odczyt; void loop() { odczyt = analogRead(A0)*5.0/1024.0; //Wartość napięcia lcd.setCursor(0, 1); //Ustawienie kursora w odpowiednim momencie lcd.print(odczyt); //Wyświetlenie tekstu delay(250); //Opóźnienie int pwm = analogRead(A0); //regulacja pr. obr. za pomocą potencjometru pwm = map(pwm,1023,0,0,255); analogWrite(7, pwm); digitalWrite(8, HIGH); delay(25); }
×
×
  • Utwórz nowe...