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



Teraz jest 9 maja 2026, o 02:47


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
Autor Wiadomość
PostNapisane: 2 maja 2013, o 13:36 
Offline
Użytkownik

Dołączył(a): 17 lip 2012
Posty: 105
Pomógł: 0

Witam.

Próbuje rozwiązać problem z balanserem do ładowarki li-ion i niestety coś nie idzie po mojej myśli. Był bym wdzięczny jeśli rzucilibyście okiem na kod programu czy nie znajduję się w nim jakiś błąd.


uC Atmega8, 1MHz


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


Plik main.h

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 maja 2013, o 20:07 
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

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

Argumentem read_adc ma być liczba 0...7. A wykorzystując przesunięcie kolejne liczby będą znacznie większe.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 maja 2013, o 20:24 
Offline
Użytkownik

Dołączył(a): 17 lip 2012
Posty: 105
Pomógł: 0

Tak będzie działało ?
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 maja 2013, o 19:54 
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

To bez znaczenia. Chodzi o to, że PC0, PC1, PC2 i PC3 to liczby 0, 1, 2 i 3. Działanie 1<<PCx da w efekcie 1, 2, 4, 8. Natomiast argumentem read_adc ma być liczba 0...7. Tak bym to rozwiązał:

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

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 maja 2013, o 21:07 
Offline
Użytkownik

Dołączył(a): 17 lip 2012
Posty: 105
Pomógł: 0

Zrobiłem lekką modyfikacje kodu jednak przetwornik nadal nie działa jak powinien.

Kod wygląda tak:

main.c

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



main.h

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



Możecie powiedzieć czy kod jest prawidłowy? Za Chiny ludowe nie mogę odpalić pomiaru prądu. Schemat układu wygląda tak:
http://tomzb.w.interia.pl/schemat.png

Bocznik to rezystor 0.1oma przy przepływie prądu 1,5A odkłada się 150mV. Wzmacniacz operacyjny ma wzmocnić napięcie 11 razy po czym zostaje odczytane przez ADC.

Panowie pomóżcie, dopiero raczkuje z uC ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 maja 2013, o 22:02 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 mar 2013
Posty: 236
Lokalizacja: Warszawa
Pomógł: 5

Nie wiem czy to pomoże. NIe dawno robiłem obsługe 2ADC. Program nie jest jakiś full wypas, ale działa:
ADC.c:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

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


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


sam siedziałem na tym chyba cały dzień i nawet znalezłem bład z tym ADMUX, który jak sie okazało był juz wykryty przez któregoś bystrzaka.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 maja 2013, o 23:58 
Offline
Użytkownik

Dołączył(a): 17 lip 2012
Posty: 105
Pomógł: 0

Z tego co widzę konfiguracja ADC jest taka sama jak u mnie. Najprawdopodobniej ADC działa prawidłowo, a błąd jest w hardware. Muszę zrobić lepszej jakości PCB i sprawdzę jeszcze raz.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 maja 2013, o 12:52 
Offline
Użytkownik

Dołączył(a): 17 lip 2012
Posty: 105
Pomógł: 0

Witam po dłużej przerwie. :)

Zrobiłem nowe PCB jak to pisałem we wcześniejszym poście. Schemat wygląda tak: http://paladyn.elektroda.eu/img/schemat.png

Natomiast kod tak:

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


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



Problemy są następujące:

Mimo, że napięcia z dzielników napięciowych są w okolicach 2,10V czy nawet 2,18 to uC nie wysterowywuje tranzystorów.
Po przekroczeniu 2,1V z dzielnika napięciowego uC powinien bazy tranzystorów NPN podciągnąć do GND. Natomiast cały czas jest tam stan wysoki.

Dioda, która ma sygnalizować zakończenie ładowania mruga. Nie mam pojęcia jak to możliwe, ale zachowuje się jak by była sterowana PWM. Jednak pod koniec ładowania mruga coraz wolniej aż zgaśnie.


Ponowie doradźcie coś bo skończyły mi się już pomysły. Normalnie zachowanie uC ma się nijak do kodu programu...



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: 8 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO