Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 5 kwi 2025, o 19:48


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 
    Autor Wiadomość
    PostNapisane: 3 kwi 2014, o 12:51 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 03 mar 2014
    Posty: 55
    Lokalizacja: Wrocław
    Pomógł: 0

    Witam!
    Chciałbym zbudować sterownik, który w założeniach będzie sterował chłodzeniem w komputerze, a odczytane dane wysyłał do programu w windows.
    Nie wiem czy da się to zrobić za pomocą 1 mikrokontrolera bo będzie co robić.
    Sterownik miałby :
    - odczytywać temperaturę z 2-3 czujników DS18B20, temperatura wody / temperatura powietrza / ...
    - sterować osobno 3 wentylatorami 4-pin na chłodnicach poprzez PWM i odczytywać liczbę obrotów,
    - odczytywać liczbę impulsów z pompy wodnej i prezentować wynik w postaci L/h.
    - sterować 3 linijkami LED poprzez PWM
    - sterować 20ma wyświetlaczami 7-seg LED na których wyświetlane byłyby najważniejsze informacje wewnątrz obudowy.
    - podłączenie do linii PWR żeby w razie/w zrobić hard power off.
    -pewnie coś jeszcze wymyślę, na razie to tyle

    Trochę PWMów i timerów będzie potrzebne. Na razie jest plan i pomysł a teraz będę myślał czy to da się zrealizować.
    uC o jakim myślałem to ATmega64A-AU TQFP64.
    na płytce będzie układ FT232RL do komunikacji przez usb / złącze na płycie głównej.

    Program będzie pisany w BASCOM, jestem dopiero na etapie czytania Bluebooka, jak rozwinę skrzydła w C to spróbuję napisać program na nowo.

    Pierwszy problem - wg. specyfikacji 4_Wire_pwm częstotliwość sterowania wentylatora powinna mieścić się w przedziale 21 - 28 kHz
    Nie wiem jak uzyskać taką częstotliwość dzieląc:
    kwarc / prescaler / rozdzielczość przetwornika

    Kwarc 16 Mhz
    timer1:

    Składnia: [ Pobierz ] [ Ukryj ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    w obecnej konfiguracji wychodzi 16000000 / 1 / 510 wychodzi ok. 31.3kHz

    Poniżej zrzuty z oscyloskopu przy różnym wypełnieniu PWM

    PWM = 21/255
    12.1V / 0,01A / 321 obr/min


    Obrazek


    PWM = 60/255
    12.1V / 0,05A / 642 obr/min


    Obrazek


    PWM = 127/255
    12.1V / 0,12A / 987 obr/min


    Obrazek


    PWM = 200/255
    12.1V / 0,165A / 1137 obr/min


    Obrazek


    PWM = 255/255
    12.1V / 0,23A / 1317 obr/min


    Obrazek



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 kwi 2014, o 08:45 
    Offline
    Uzytkownik zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 16 lip 2012
    Posty: 2088
    Lokalizacja: Leżajsk / Kraków
    Pomógł: 411

    MaciejF napisał(a):
    Pierwszy problem - wg. specyfikacji 4_Wire_pwm częstotliwość sterowania wentylatora powinna mieścić się w przedziale 21 - 28 kHz
    Nie wiem jak uzyskać taką częstotliwość dzieląc:
    kwarc / prescaler / rozdzielczość przetwornika

    Możesz użyć rezonator 12MHz.
    Timer1 ma też więcej możliwych ustawień niż te, które są w ujęte w CONFIG TIMER1, Można zmieniać dowolnie częstotliwość PWM za pomocą rejestru ICR1. CONFIG TIMER1 przesłania operacje na rejestrach (nie musisz znać ich nazw i bitów które tam są), ale zawsze możesz sobie skonfigurować procesor w ten sposób. To nic trudnego i ułatwi ci przesiadkę na C. Przykładowo tak możesz konfigurować port na 2 sposoby:
    Składnia: [ Pobierz ] [ Ukryj ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Zamiast stada wyświetlaczy LED wygodniejszy będzie jakiś wyświetlacz alfanumeryczny LCD np. 4x20.

    _________________
    Dragonus Cracovus: Biomagia



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 kwi 2014, o 19:35 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 03 mar 2014
    Posty: 55
    Lokalizacja: Wrocław
    Pomógł: 0

    Udało mi się zrobić zliczanie obrotów wentylatora, timerem0 jako counter. Teraz chcę aby uC zliczał obroty dla 3 wentylatorów i pompy wodnej.
    Wymyśliłem coś takiego, ale nie wiem czy zadziała:
    Obrazek
    Idea jest podobna jak przy multipleksowaniu:
    Z każdego wentylatora obroty będą podawane na T0, ale żeby sygnały się nie zlewały ze sobą to będą podawane po kolei przez tranzystory. Nie jestem tylko pewien czy jest to dobrze zrobione, a może da się jakoś inaczej?

    ------------------------ [ Dodano po: 58 minutach ]




    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 kwi 2014, o 18:20 
    Offline
    Uzytkownik zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 16 lip 2012
    Posty: 2088
    Lokalizacja: Leżajsk / Kraków
    Pomógł: 411

    R1-R4 powinny być do masy a nie +5V. Wyjście impulsów prędkości jest w takim wiatraczku typu otwarty kolektor i dopiero na płycie głównej jest podciągane do 12V. W pompie może być inaczej.

    _________________
    Dragonus Cracovus: Biomagia



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 kwi 2014, o 18:05 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 03 mar 2014
    Posty: 55
    Lokalizacja: Wrocław
    Pomógł: 0

    Wiem, że dla przeciętnej osoby problem będzie trywialny, ale ja mam z tym problem.
    Chcę mierzyć prąd w układzie i potrzebuję wzmocnienia 10x. Padło na wzmacniacz operacyjny. Czy w takiej postaci układ zadziała jak należy. I jak wpiąć R3 czyli rezystor pomiarowy żeby podać sygnał na wejście nieodwracające wzmacniacza, skoro ma on być wpięty szeregowo w linię 12V układu :cry:
    Obrazek



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 kwi 2014, o 19:01 
    Offline
    Uzytkownik zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 16 lip 2012
    Posty: 2088
    Lokalizacja: Leżajsk / Kraków
    Pomógł: 411

    Obrazek
    W taki sposób.
    Nie każdy wzmacniacz może pracować z sygnałem wspólnym bliskim ujemnemu napięciu zasilania. LM358 się nada, a TL072 musiałbyś zasilić dodatkowo napięciem ujemnym.


    Autor postu otrzymał pochwałę

    _________________
    Dragonus Cracovus: Biomagia



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 sty 2016, o 20:36 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 03 mar 2014
    Posty: 55
    Lokalizacja: Wrocław
    Pomógł: 0

    Witam!
    Wracam z projektem po dłuższej przerwie.
    Mam problem na który napotkali inni ale nie znalazłem odpowiedzi.
    Mam do wysterowania wentylator 4 pinowy PWM.
    Jak zczytuję obroty przez T0 na timerze to wszystko jest ok, wynik jest prawidłowy i przewidywalny.
    Sterowanie PWM odbywa się na timerze2, taktowanie 11059200 prescaler 1, częstotliwość wychodzi 21.684kHz czyli mieści się w specyfikacji 21-28kHz.
    PWM i liczenie impulsów działają prawidłowo, osobno. Jak podłączę PWM to zliczane impulsy szaleją i pokazują wartości losowe, 5-10x większe niż powinny być.
    Pomocy ;/



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 sty 2016, o 21:12 
    Offline
    Uzytkownik zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 16 lip 2012
    Posty: 2088
    Lokalizacja: Leżajsk / Kraków
    Pomógł: 411

    MaciejF napisał(a):
    Jak podłączę PWM to zliczane impulsy szaleją

    Pytanie pomocnicze. Jak PWM wynosi 99% (prędkość prawie równa maksymalnej) to też to się objawia?

    _________________
    Dragonus Cracovus: Biomagia



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 sty 2016, o 21:45 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 03 mar 2014
    Posty: 55
    Lokalizacja: Wrocław
    Pomógł: 0

    Właśnie sprawdziłem, przy 100% PWM obroty wskazuje prawidłowo. Już w zasadzie przy 90% zaczyna być normalnie.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 sty 2016, o 23:00 
    Offline
    Uzytkownik zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 16 lip 2012
    Posty: 2088
    Lokalizacja: Leżajsk / Kraków
    Pomógł: 411

    Może to być coś takiego, że obliczenia związane z timer0 są dla małych wartości niedokładne. Przykładowo za często zerujesz licznik i wartości są małe, a dla mniejszych prędkości jeszcze mniejsze, a to niekiedy prowadzi do błędów, bo 2,5 po zaokrągleniu to 2 i błąd wynosi 20% podczas, gdy 10,5 da 10 i błąd w takim przypadku to 5%. Więcej będzie można powiedzieć jak opiszesz metodę pomiaru obrotów i przedstawisz przykładowe obliczenia.

    _________________
    Dragonus Cracovus: Biomagia



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 sty 2016, o 13:31 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 03 mar 2014
    Posty: 55
    Lokalizacja: Wrocław
    Pomógł: 0

    Musi być coś innego bo przy odłączonym PWM licznik wskazuje 20 impulsów/sek czyli 600obrotów/min. A przy podłączonym PWM i tej samej prędkości licznik pokazuje przypadkowe wartości z przedziału 1000-7000 impulsów/sek.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 sty 2016, o 20:48 
    Offline
    Uzytkownik zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 16 lip 2012
    Posty: 2088
    Lokalizacja: Leżajsk / Kraków
    Pomógł: 411

    Może jakieś przesłuchy. Właściwie to nie pokazałeś ostatecznie jak to podłączasz. Wyjście impulsów z wentylatorka PC jest typu otwarty kolektor, a to oznacza, że musisz je podciągnąć do plusa.

    _________________
    Dragonus Cracovus: Biomagia



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO