Skocz do zawartości

Regulacja fazowa wentylatora 230


Pomocna odpowiedź

(edytowany)
17 minut temu, Rikardo napisał:

_delay_us  wyskakuje u mnie błąd kompilacji dla płytki, czemu ?

Telepatycznie zgaduję, że coś robisz źle. Ale wiesz jak to jest z tą telepatią... pokaż ten kod.

 

17 minut temu, Rikardo napisał:

nic nie wychodzi

A przynajmniej wiesz, co Ci nie wychodzi?

Oscyloskop albo przynajmniej sonda (link przypadkowy, tam kupiłem) do wyjścia Arduino i patrz na przebieg.

Edytowano przez ethanak
2 minuty temu, Rikardo napisał:

gdzie ją znajdę ?

Na własnym dysku - to standardowa biblioteka dołączana do kompilatora.

3 minuty temu, Rikardo napisał:

oscyloskopu i sondy nie mam

Bez tego sprawdzanie przebiegów graniczy raczej z wróżeniem z kart ew. fusów...

Na upartego możesz podpiąć wyjście arduino przez jakiś potencjometr do wejścia karty dźwiękowej i odpalić np. audacity - do tego celu wystarczy.

Może po kolei. Aby układ mógł zadziałać, musi być prawidłowo skonstruowany tak sprzętowo, jak i programowo.

Pisałeś, że dałeś nieco inne elementy bo nie masz innych. Aby optotriak MOC3021 zadziałał, jego dioda, musi być zasilona typowo prądem 8mA (MAX 15mA). Dla logiki 5V to opornik szeregowy ok 480Ω, a dla 3,3V to ok 260-270Ω. I = Uz-Udiody(typ 1,15V dla MOC3021) / I-diody (0,008A). Oczywiście nie są to wartości krytyczne. Jeżeli sobie wsadzileś tam 1KΩ lub więcej nie wyzwolisz układu Triaka za Chiny Ludowe.

Gość

Po chińskiego wirusa się z tym męczysz w ogóle nie mając nawet czym badać układu. Kup sobie gotowca np. takiego jak w tym linku który Ci podałem i z bani - "będzie działało" z arduino.

a i polutujesz sobie dla przyjemności bo to zestaw do samodzielnego montażu 🙂

W obwodzie optotriaka i triaka są oporniki 330Ω, aż takich głupot to nie robię.

Widzę że brak mi wiedzy, sprzętu, chyba nie ma sensu zawracać Wam głowy. Popróbuję jeszcze, a jak się nie uda spróbuję coś łatwiejszego.

Dzięki za pomoc i zaangażowanie, dam znać jak się coś uda

Gość

Nie rzecz w tym, że nam głowę zawracasz bo forum po to jest, a w tym, że jest zbyt wiele niewiadomych w tym Twoim projekcie więc warto by było ustanowić jakieś stałe np. gotowy regulator, który można podłączyć bezpośrednio do arduino. Jeśli wtedy nadal będzie coś nie tak to będzie wiadomo , że nie z Twojej winy.

Gość

Rikardo! Zacznij od końca czyli stopnia mocy.Masz zapewne zbudowany układ optotriak -triak .Jako obciążenie niech będzie ten wiatrak ale lepiej będzie jak podłączysz żarówkę z włóknem wolframowym 50-100W.Na wejście optotriaka do pin 1 przylutuj rezystor 500-600 Ω do rezystora(dwa rezystory 1k połączone równolegle w razie braku ) dołącz +5V a pin 2 podłącz do masy.Silnik powinien  ruszyć albo zapalić się żarówka.Jeśli wiatrak zacznie się kręcić to znaczy,że moduł mocy jest ok.W ten sposób zawęziłeś problem do sterowania opartego o arduino uno. W programie wydłuż impuls do 1000µs.Zamiast delayMicroseconds(200);  zrób delayMicroseconds(1000); 

W moim przekonaniu modyfikacji powinna ulec linijka  kodu   delayMicroseconds((analogRead(0) * 6) + 1000); // read AD1  na

 delayMicroseconds((analogRead(0) * 1) + 1000); // read AD1

Czy Arduino IDE już kompiluje ten program, nadal masz problem z bibliotekami?skompiluj program  blink w celu sprawdzenia.Jeśli działa to wgraj program do obsługi triaka a dalej  połącz moduły i włącz. 

Gość
(edytowany)

Jeśli blok mocy nie działa to zamień końcówki A1,A2 triaka to znaczy tam gdzie było przylutowane A1 przylutuj A2 a A1 tam gdzie było A2.

Jeśli po połączeniu obu bloków układ zadziała to w programie wróć do ustawień  sprzed zmian.Możesz się wtedy pokusić o zmianę w linijce

delayMicroseconds((analogRead(0) * 6) + 1000); // read AD1  na delayMicroseconds((analogRead(0) * 8 + 1000); // read AD1   ale wydaje za daleko posunięte przesunięcie raczej powinno być delayMicroseconds((analogRead(0) * 7) + 1000); // read AD1. Druga linijka to  zrób  delayMicroseconds(300); 

Edytowano przez szymonw

szymonw  podłączając oporniki jak mówiłeś dmuchawa i żarówka działa na max, to jest ok, sprawdzałem już wcześniej kilka razy.

jeśli zamieniam delayMicroseconds(1000);    na  _delay_us(1000);  to jest OK, natomiast jeśli delayMicroseconds((analogRead(0) * 😎 + 1000);  zmieniam na  _delay_us((analogRead(0) * 😎 + 1000);  to mam Błąd kompilacji dla płytki Arduino Uno.

Przy ustawieniu jako jedyne przy którym cokolwiek się dzieje to *8 oraz  _delay_us(1000);  żarówka mruga wolno lub bardzo wolno z pełną mocą przy zmianie potencjometrem, napięcie wyjściowe z arduino na transoptor wynosi od 0,45V -  0,47V  i 3,1mA. Moim zdaniem albo ta detekcja zera słaba lub program

Jest jakaś ograniczona ilość wgrywania programu na arduino ? Dam sobie kilka dni spokoju, może na coś nowego wpadnę 

 

2 minuty temu, Rikardo napisał:

jeśli delayMicroseconds((analogRead(0) * 😎 + 1000);  zmieniam na  _delay_us((analogRead(0) * 😎 + 1000);  to mam Błąd kompilacji dla płytki Arduino Uno.

A zadałeś sobie trudu, aby przeczytać dokumentację do funkcji?

Po pierwsze: _delay_us przyjmuje jako argument stałą.

Po drugie: Więcej się nie będę wypowiadał o pomysłach typu "odczekaj kilka milisekund w przerwaniu". Może to i zadziała... ale przecież chciałeś jeszcze jakieś czujniki odczytywać, to co, same się odczytają jak procek będzie międlił delaya?

Gość

Jak pisałem do Ciebie  ostatniego posta to też mi wyskoczyło emoji  i bardzo się zdziwiłem.

No to teraz należy skupić się na sterowaniu.W programie z tej strony co Ci podałem nie ma delay_us jest  delayMicroseconds((analogRead(0) * 6 + 1000) ;i delayMicroseconds(200);Zwróć uwagę na emoji,której nie powinno być,Wytnij i wpisz z klawiatury cyfrę a następnie skompiluj.Niestety trzeba popracować nad udoskonaleniem ,pozbyciem się jakichś ukrytych makr bo to co wyskoczyło w poście o tym świadczy .Prawdopodobnie będziesz musiał przepisać ręcznie ten program by być pewnym,że gdzieś coś.Ma być czysty kod.To co Ci mogę zaproponować to skompiluj tylko ten program bez tych różnych dodatków o których pisałeś wcześniej.Tylko obsługa triaka.A tak na marginesie to mruganie to na Twoje oko  to 50Hz?

Mrugnięcia około 4 -5 razy sekundę i mniej

Rozmawiałem z pewnym producentem sterowników na serwisie i mam już pewność że używają regulację fazową.

Gość

No w czym problem,trzeba zakasać rękawy i do roboty.Nic innego Ci nie pozostało.

Gość

Rikardo. Mam pytanie co z włącznikiem power on. Czy DP4 jest otwarty czy zamknięty.Jeśli nie zamknąłeś  power on to nie będzie mocy na wyjściu.

 

 

obraz.thumb.png.0266f1aba373c626c22342466baf48cc.png

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...