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



Teraz jest 25 sty 2025, o 00:35


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 16 ] 
Autor Wiadomość
PostNapisane: 15 lis 2015, o 09:09 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 sty 2013
Posty: 435
Lokalizacja: Rybnik
Pomógł: 6

Hej,
Chce zrobić stan naładowania baterii.
Przez ADC odczytuję wartości.
Przy 970 - napięcie wynosi 4,2V i ma to być 100 % , a przy 2,8V to 630 i ma być 0%

To sobie mogę prosto zapisać

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


No ale jak bym chciał żeby to działało płynie to znaczy będzie stan zmieniał się wraz ze zmianą wartośći ADC (napięcia na baterii )
Będzie 3,3 V powiedzmy 750 ADC czyli 45 % baterii .
Mógłbym to każdego procentu przypisywać wartość ADC no ale to w tedy analogicznie będe miał 100 linijek kodu :O czy wie ktoś jak to zapisać prościej ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lis 2015, o 09:13 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8597
Pomógł: 337

zamiast się bawić skalowanie ADC , uzyj układu do zarządzania energią .... z maxima np
masz tam wyjście pomiarowe ... ponadto można odczytać z układu procent zużycia

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lis 2015, o 09:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 sty 2013
Posty: 435
Lokalizacja: Rybnik
Pomógł: 6

A jaki model scalaka ?? tak z ciekawości zobaczę
No ale niestety płytkę mam już zaprojektowaną także chyba za późno :(
No ale jest na niej moduł RFM12 a z tego co czytałem na forum to on może mierzyć stan naładowania no ale z obsłużeniem tego ustrojstwa to chyba będę miał trochę problemu :P



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lis 2015, o 09:30 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8597
Pomógł: 337

https://para.maximintegrated.com/en/res ... %20Monitor
https://para.maximintegrated.com/en/res ... ModelGauge
dobierz ....

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lis 2015, o 10:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 sty 2013
Posty: 435
Lokalizacja: Rybnik
Pomógł: 6

Dzięki,
To będę wiedział na przyszłość , w RFM12 jest tylko status że jeśli spadnie poniżej ustawionego napięcia to wyśle mi komunikat nie mam ciągłej kontroli stanu naładowania , więc nadal chciałbym zrealizować to tak jak napisałem w pierwszym poście , czy ktoś może mi podpowiedzieć ??



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lis 2015, o 11:14 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1967
Lokalizacja: Lipsko
Pomógł: 125

Czyli masz 340 jednostek przedstawić jako 0-100%. Pomyśl chwilkę :-)

Jeśli 340 to 100 % to jaki masz problem z wyliczeniem proporcji ?

------------------------ [ Dodano po: 11 minutach ]

Swoją drogą proponował bym Ci nieco podnieść próg z 2.8 do np.3.2V jeśli to li-jon, a wszystko na to wskazuje. Aku po pewnym czasie użytkowania bardzo szybko traci napięcie w końcowej fazie rozładowania i nagle z 20% w ciągu chwili będziesz miał 0....

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lis 2015, o 11:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 sty 2013
Posty: 435
Lokalizacja: Rybnik
Pomógł: 6

No tak masz rację to wychodzi 3,4 wartości ADC na 1 % jeśli przyjmę próg 2,8V .
No ale zrobię tak jak mówisz że podniosę go do 3,2 V czyli zakres zawęża mi się od 970 do 700 czyli 270 jednostek to wychodzi 2,7 na 1 % .

No ale jak to zapisać w C żeby chodziło to tak jak bym chciał

-------------------------

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


i wyświetlam "stan " działa to tak jak chciałem :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lis 2015, o 12:02 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1967
Lokalizacja: Lipsko
Pomógł: 125

Jest taki prosty wzór

wynik=adc*100/max
gdzie adc to twoja wartość odczytana z przetwornika, a max to maksymalna liczba jaka odpowiada za e 100% czyli w Twoim przypadku 340.

Z przeskalowaniem wyniku chyba nie będziesz miał problemu? :-)

------------------------ [ Dodano po: 3 minutach ]

Zapomniałe dopisać jeszcze, że to adc to właściwie będzie różnicą między najwyższą, a najniższą interesującą Cie wartością z adc, bo przy zwykłym odczycie to głupoty by wychodziły.

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2015, o 16:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 sty 2013
Posty: 435
Lokalizacja: Rybnik
Pomógł: 6

Hej,
Mam ponownie problem z ADC , cały czas testowałem na zestawie ATB i było okej, teraz przeszedłem na układ w którym jest atmega88 ...
No i ciągle pokazywało mi na LCD 1023 ... co się okazało atmega88 ma wewnętrzne źródło odniesienia albo VCC albo 1,1 V ... Ja zasilał będę układ baterią LI-ion o napięciu 4,2 V i takie napięcie chcę mierzyć.

Jakie źródło wybrać ? bo przy 1,1 V przy pomocy programu mkAvrCalculator nie umiem dobrać odpowiedniego dzielnika bo jeśli na wyjściu mam 1,1 V w dzielniku to zakres regulacji ADC mam od 0 do wartości około 500 ... a chciałbym mieć cała roździelczość 10 bitową ..



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2015, o 17:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1967
Lokalizacja: Lipsko
Pomógł: 125

No bez jaj... Przecież mierzone napięcie max możesz mieć troszkę wyższe choćby dla bezpieczeństwa:

Obrazek

zeszło mi z tym jakieś 20s, bo myszką w strzałki nie mogłem trafić :p

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2015, o 21:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 sty 2013
Posty: 435
Lokalizacja: Rybnik
Pomógł: 6

Kompletnie nie o to chodzi ... chyba nie czytasz ze zrozumieniem.. przy screenie ktory wrzuciles wynika ze jesli ustawil bym napiecie wejsciowe to adc= okolo 200 wiec mam bardzo mala rozdzielczosc .. a ja bym chcual miec okolo 1000



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2015, o 21:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1967
Lokalizacja: Lipsko
Pomógł: 125

:shock:

No przecież żeby zmierzyć napięcie 4,2V z rodziałką 1024 ten dzielnik spełni oczekiwania tylko trzeba adc czytać 10-bitów. Rozpatrzmy sytuację jeśli odczytasz ADCW w postaci tych 1024 (10 bitów) wartości:

5,4V / 1024 = 0,005273 V <- taką masz rozdzielczość czyli najmniejszą jednostkę woltową

czyli pełne napięcie baterii 4.2V będzie odczytane jako:

4,2V / 0,005273 = 796

natomiast niskie, np.

3,2V / 0,005273 = 606

To czego ja nie rozumiem, bo już nic nie rozumiem ?? :shock:

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lis 2015, o 07:27 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2591
Pomógł: 128

Koledze chyba chodzi o to, zeby skale pomiedzy 4.2v a 3.2v rozciagnac na caly zakres ADC?

Sent from my mobile.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lis 2015, o 08:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1967
Lokalizacja: Lipsko
Pomógł: 125

Jeśli tak to nie jest to takie proste choć możliwe z dodatkową elektroniką, natomiast kompletnie bezsensowne i niepraktyczne. Dla baterii nie robi się w ten sposób.

Dodano:

Dodam jeszcze, że nawet sprowadzając ten zakres 3,2-4,2V (czyli rozpiętość 1V) z rozdzielczością 1024 poziomy dokładność i tak nie będzie większa niż pozwalają na to możliwości przetwornika ADC, a to co podałem wcześniej czyli rozdzielczość 0,005273V na działkę to i tak w praktyce będzie obarczone błędem, którego się nie przeskoczy na gołym AVR.

I pytanko z czystej ciekawości, bo oczywiście jakieś powody pewnie masz ku takiej dokładności :

1V/0,005273V=189 (po zaokrągleniu) czyli Twój zakres 1V ma 189 poziomów. Dokładność (teoretyczna dla AVR jak wspomniałem) w tym przypadku była by na poziomie 0,005V. Co Ci da tak naprawdę jej zwiększenie do: 1V/1024=0,000976V? ...bo wydaje mi się (ale być może się mylę ;) ), że przy procentowym wskaźniku 0-100% nie ma to jakiegoś szczególnego znaczenia...


Autor postu otrzymał pochwałę

_________________
http://www.sylwekkuna.com



Ostatnio edytowano 18 lis 2015, o 10:27 przez SylwekK, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lis 2015, o 19:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 sty 2013
Posty: 435
Lokalizacja: Rybnik
Pomógł: 6

Tak kolega miał rację :)

Sylwekk:

Dokładnie nie jest mi zupełnie potrzebna taka dokładność przy tego typu pomiarze , nie zauważę różnicy żadnej jeszcze jeśli chodzi że mam to przedstawione w postaci procentowej . Zrobiłem tak jak też mówiłeś dzielnik 10 i 3k3 i działa to super tak jak zakładałem. Także dziękuję za pomoc :))

Pozdrawiam
Marcin



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lis 2015, o 19:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1967
Lokalizacja: Lipsko
Pomógł: 125

Proszę :)

_________________
http://www.sylwekkuna.com



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 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