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



Teraz jest 28 kwi 2024, o 01:51


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 0 gości


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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO