Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Automatyczne PWM
#41
Dałem na wejście pomiędzy INP1 a GND kondensator 100n i niestety dalej są zakłócenia.
Mimo, że zrobił się filtr odcinający częstotliwości powyżej 7,2Hz to niestety DTH22 jak nie działały tak nie działają.
Filtr się zrobił RC bo opornik przy dzielniku jest 220k.
Dawałem też większy kondensator i elektrolit 4,7u ale też bez rezultatu.
[Obrazek: Low_pass_filter.png]
Dodatkowo spróbowałem dać kondensator szeregowo na INP1, ale napięcie wtedy = 0
<t></t>
Odpowiedz
#42
dobierz kondensator co odetnie wszystko powyzej 2khz
pozdrawiam
tomek
Odpowiedz
#43
Już pisałem parę dni temu, że PWM działa ładnie ale jednak coś dalej jest nie tak.
Dzisiaj akurat jest mocne słońce i silny wiatr który co jakiś czas nadgania chmury. Tak, że w szybkim czasie nasłonecznienie gwałtownie spada.
Otóż przy mul=1 powoduje to ciągłe załączanie się i wyłączanie Mosfeta.
Dałem mul=10, ale jeszcze częściej się wyłącza bo częściej przechodzi przez granicę histerezy.

Dodatkowo EVENTS ma błąd jakiś.
Mianowicie ustawione jest OUT1 (załaczający Mosfeta) na zakres od 28 do 100V na INP1) i czasami mimo, że pokazuje napięcie = 37V to OUT1 się wyłącza.
<t></t>
Odpowiedz
#44
Jeśli przyjmiemy że zmienna Napiecie jest odczytem z INP1 a Trzymaj to ustawiona przez nas napięcie które powinno być utrzymywane to w kodzie C możnaby to tak zapisać i działałoby bez zarzutu. i jest określone jako uint8_t. OCR1A określa wartość wypełnienia
Kod:
if (Napiecie > Trzymaj) {
                        if( 255 == i ) OCR1A=100;
                        else {
                        i++;
                    OCR1A=i;
                        if( 255 == i ) i--;
                        }
                }
                if (Napiecie < Trzymaj) {
                        if( 0 == i ) OCR1A=0;
                        else {
                        i--;
                    OCR1A=i;
                        }
                }

                if (Napiecie == Trzymaj) {
                 OCR1A=OCR1A;  //nie rób nic
                }

ten kod można oczywiście rozbudować jeszcze o przedziały. Że jeżeli napięcie jedno od drugiego jest dużo większe to szybszy skok itp.
Tak to zrobiłem na AVR Atmega8 i działa ładnie.
Zrobiłem też dzielnik częstotliwości żeby zmniejszyć z 2553Hz na dowolną inną częstotliwość PWM - po testach na stykówce robię teraz podejście do solarów Smile i próba w terenie.
<t></t>
Odpowiedz
#45
wilkxt napisał(a):dobierz kondensator co odetnie wszystko powyzej 2khz
Niestety nie działa. Sprawdzałem dla częstotliwości odcięcia 1kHz, 2kHz, 3kHz i to samo.
Zastanawiam się jeszcze nad jednym. Skoro na INP1 ma być 220k to czy czasami nie można zrobić filtru pasywnego złożonego z kilku oporników o sumie 220k
np w taki sposób [Obrazek: image012.jpg] i tylko jak dobrać te pojemności i czy to może coś dać?
tzn jedna para RC to jest filtr - czy np tak dobrać, aby filtrować dla 1kHz, 2kHz, 3kHz itp?

Znalazłem jeszcze taki wątek o optoizolacji analogowej - i chyba trzeba będzie to wypróbować - wtedy będę mógł rozdzielić masy obu układów
http://www.elektroda.pl/rtvforum/topic741552.html
Układ L300 kosztuje około 10zł (z wyjściem fotodiody), a układ z VTL5C7 (lub końcówka9) kosztuje około 30zł i zakończony jest fototranzystorem.
i przykładowa aplikacja z użyciem tego tańszego

.jpg   lm300.jpg (Rozmiar: 42.09 KB / Pobrań: 3,034)
<t></t>
Odpowiedz
#46
co do pierwszego rysunku to nie wiem, specem w tej dziedzinie nie jestem, moze zapodaj temat na elektrode.
Drugi schemat z transopotrem analogowym moze warto przetestowac.
A czy testowałeś uklad z duzo nizsza czestotliwoscią uzywajac atmegi? Czy dalej zakłoca? A co przy wyższych czestotliwosciach?
pozdrawiam
tomek
Odpowiedz
#47
Witajcie.
Z grubsza to działa w takim układzie
[Obrazek: 2152922000_1386671062.jpg]
Co prawda jeszcze gubi odczyty z DTH22, ale na tyle rzadko, że można to pominąć. Wczęśniej w ogóle ich nie było, a teraz są tylko, że na wykresie nie jest linia ciągła tylko widać co jakiś czas odbicia od zera.
<t></t>
Odpowiedz


Skocz do:


Użytkownicy przeglądający ten wątek: 2 gości