• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Pomoc w znalezieniu błędu w kodzie
#19
Korzysta.
Mówiąc o wewnętrznym napięciu odniesienia 1.1V vs VCC miałem na myśli UNO/NANO/PRO MINI. ESP ma raczej tylko wewnętrzne, ale niektóre płytki ESP mają od razu dodane takie dzielniki, że zachowuje się jak VCC. Tzn, ESP jest zasilane 3.3V no i przy takim napięciu podanym na A0 odczyt jest dopiero w okolicach 1000. Przykładowo daj napięcie 1V na PIN ADC płytki NODE MCU. Na pinie chipa 12E jest już 0.3V (pierwszy na rogu jest RST, następny to A0, inaczej niż na pinach płytki NODE). Także musi być dzielnik rezystorowy. Odczyt przy tym mam 325/1023. Co ciekawe nie ma 0, najniższy odczyt mam 1 po złączeniu z GND. Także jest to wewnętrzne źródło odniesienia około 1V. Sprawdzisz to podając napięcie na A0 samego chipa ESP12E i robiąc odczyt, bez dzielników 1V powinien przy odczycie dawać coś w okolicach MAX, czyli 1023. Jak jest znacznie mniej to jest wbudowany dzielnik. Generalnie dużo czytałem, że ESP ma  słaby ADC. Wg mnie przede wszystkim należy wyłączyć modem na czas pomiaru. A najlepiej wyłączyć wszystko jak w trybie tłumienia szumów ADC na AVR. Niestety ja tak głęboko w to nie grzebałem. Możesz poprawić stabilność wyłączając modem, robiąc odczyt np. 8 razy i wyciągać średnią. A najlepiej 9  i wywalić  pierwszy. Ale generalnie wszystkie moje próby doprowadziły mnie do wniosku, że ADC jest lepsze w Atmedze (używając wewnętrznego Vref). A jak go użyć w Atmedze to załączyłem przykład. W ESP w sumie używam go tylko do pomiaru napięcia zasilania by ewentualnie podjąć decyzję o uśpieniu ESP na amen gdy bateria jest bliska padnięcia.
Jeśli potrzebujesz robić coś dokładniejszego na ESP to lepiej zaopatrzyć się w jakiś zewnętrzny ADC np. na I2C. Gdzieś czytałem, że w nowej wersji IDE jest lepiej, w sumie dzisiaj sobie podłączyłem, bez uruchamiania WIFI i odczyty z precyzyjnego potencjometru są stabilne, 326+/-1. Potem to samo zrobiłem z odczytem przez WWW na serwerze wbudowanym w ESP, co 1s i dalej odczyty są w miarę ok, 324+/-2. Może dołożyli gdzieś wewnątrz funkcji to usypianie. Niestety wyłączenie i włączenie modemu funkcjami, które ja znam i używam przy usypianiu całego ESP, to ponowne łączenie z WIFI, a to trwa parę sekund, resetują się połączenia.
Jak chcesz porównać wskazania to wgraj sobie ten załączony szkic do UNO i porównaj. Ja mam takie pomiary:
Kod:
Pomiar ADC (0-4095): 53 - Voltage: 320 - Dust Density: 54
Pomiar ADC (0-4095): 69 - Voltage: 417 - Dust Density: 70
Pomiar ADC (0-4095): 47 - Voltage: 284 - Dust Density: 48
Pomiar ADC (0-4095): 59 - Voltage: 356 - Dust Density: 60
Pomiar ADC (0-4095): 62 - Voltage: 374 - Dust Density: 63
Pomiar ADC (0-4095): 65 - Voltage: 393 - Dust Density: 66
Pomiar ADC (0-4095): 61 - Voltage: 368 - Dust Density: 62
Pomiar ADC (0-4095): 66 - Voltage: 399 - Dust Density: 67
Pomiar ADC (0-4095): 74 - Voltage: 447 - Dust Density: 75
Pomiar ADC (0-4095): 56 - Voltage: 338 - Dust Density: 57
Pomiar ADC (0-4095): 67 - Voltage: 405 - Dust Density: 68
Pomiar ADC (0-4095): 67 - Voltage: 405 - Dust Density: 68
Pomiar ADC (0-4095): 55 - Voltage: 332 - Dust Density: 56
Pomiar ADC (0-4095): 61 - Voltage: 368 - Dust Density: 62
Pomiar ADC (0-4095): 54 - Voltage: 326 - Dust Density: 55
Pomiar ADC (0-4095): 51 - Voltage: 308 - Dust Density: 52
Pomiar ADC (0-4095): 22 - Voltage: 133 - Dust Density: 22
Pomiar ADC (0-4095): 62 - Voltage: 374 - Dust Density: 63
Pomiar ADC (0-4095): 47 - Voltage: 284 - Dust Density: 48
Pomiar ADC (0-4095): 65 - Voltage: 393 - Dust Density: 66
Pomiar ADC (0-4095): 69 - Voltage: 417 - Dust Density: 70
Pomiar ADC (0-4095): 44 - Voltage: 266 - Dust Density: 45
Pomiar ADC (0-4095): 57 - Voltage: 344 - Dust Density: 58
Pomiar ADC (0-4095): 34 - Voltage: 205 - Dust Density: 34
Pomiar ADC (0-4095): 58 - Voltage: 350 - Dust Density: 59
Pomiar ADC (0-4095): 62 - Voltage: 374 - Dust Density: 63
Pomiar ADC (0-4095): 54 - Voltage: 326 - Dust Density: 55
Pomiar ADC (0-4095): 85 - Voltage: 513 - Dust Density: 87
Pomiar ADC (0-4095): 40 - Voltage: 241 - Dust Density: 40
Dmuchnięcie chmurą:
Pomiar ADC (0-4095): 523 - Voltage: 3162 - Dust Density: 537
Pomiar ADC (0-4095): 524 - Voltage: 3168 - Dust Density: 538
Pomiar ADC (0-4095): 437 - Voltage: 2642 - Dust Density: 449
Pomiar ADC (0-4095): 525 - Voltage: 3174 - Dust Density: 539
Pomiar ADC (0-4095): 492 - Voltage: 2975 - Dust Density: 505
Pomiar ADC (0-4095): 469 - Voltage: 2836 - Dust Density: 482
Pomiar ADC (0-4095): 472 - Voltage: 2854 - Dust Density: 485
Pomiar ADC (0-4095): 521 - Voltage: 3150 - Dust Density: 535
Pomiar ADC (0-4095): 447 - Voltage: 2703 - Dust Density: 459
Pomiar ADC (0-4095): 381 - Voltage: 2303 - Dust Density: 391
Pomiar ADC (0-4095): 457 - Voltage: 2763 - Dust Density: 469
Pomiar ADC (0-4095): 495 - Voltage: 2993 - Dust Density: 508
Pomiar ADC (0-4095): 356 - Voltage: 2152 - Dust Density: 365
Pomiar ADC (0-4095): 230 - Voltage: 1390 - Dust Density: 236
Pomiar ADC (0-4095): 147 - Voltage: 888 - Dust Density: 150
Pomiar ADC (0-4095): 340 - Voltage: 2055 - Dust Density: 349
Pomiar ADC (0-4095): 311 - Voltage: 1880 - Dust Density: 319
Pomiar ADC (0-4095): 64 - Voltage: 387 - Dust Density: 65
Pomiar ADC (0-4095): 387 - Voltage: 2340 - Dust Density: 397
Pomiar ADC (0-4095): 163 - Voltage: 985 - Dust Density: 167
Pomiar ADC (0-4095): 222 - Voltage: 1342 - Dust Density: 228
Pomiar ADC (0-4095): 123 - Voltage: 743 - Dust Density: 126
Pomiar ADC (0-4095): 98 - Voltage: 592 - Dust Density: 100
Pomiar ADC (0-4095): 61 - Voltage: 368 - Dust Density: 62
Pomiar ADC (0-4095): 66 - Voltage: 399 - Dust Density: 67
Pomiar ADC (0-4095): 65 - Voltage: 393 - Dust Density: 66
Pomiar ADC (0-4095): 257 - Voltage: 1554 - Dust Density: 264
Pomiar ADC (0-4095): 195 - Voltage: 1179 - Dust Density: 200
Pomiar ADC (0-4095): 44 - Voltage: 266 - Dust Density: 45
Pomiar ADC (0-4095): 69 - Voltage: 417 - Dust Density: 70
Pomiar ADC (0-4095): 63 - Voltage: 380 - Dust Density: 64
Pomiar ADC (0-4095): 64 - Voltage: 387 - Dust Density: 65
Pomiar ADC (0-4095): 126 - Voltage: 761 - Dust Density: 129
Pomiar ADC (0-4095): 83 - Voltage: 501 - Dust Density: 85
Pomiar ADC (0-4095): 183 - Voltage: 1106 - Dust Density: 188
Pomiar ADC (0-4095): 84 - Voltage: 507 - Dust Density: 86
Pomiar ADC (0-4095): 62 - Voltage: 374 - Dust Density: 63
Pomiar ADC (0-4095): 66 - Voltage: 399 - Dust Density: 67
Pomiar ADC (0-4095): 59 - Voltage: 356 - Dust Density: 60
Pomiar ADC (0-4095): 67 - Voltage: 405 - Dust Density: 68
Pomiar ADC (0-4095): 24 - Voltage: 145 - Dust Density: 24
Jak chcesz monitorować coś w ug/m3 to nie jest super wiarygodny czujnik, może i dałoby się go skalibrować, a bez kalibracji skąd będziesz widział co mierzysz? Zerknij sobie w podanym linku na krzywą kalibracyjną. Trochę gruba ta kreska na malutkim obrazku. Jak chcesz go położyć w kuchni i monitorować czy parówki nie uciekają z garnka to na pewno się przyda. Wystarczy ustawić alarm w okolice 200-300. W wydruku powyżej widać wyraźnie dmuchnięcie chmurą w okolice czujnika. Wyniki w okolicach 60, ale raz na kilkadziesiąt wpadnie i taki poniżej 10. Czy powinno tak skakać? Wg mnie tak. W powietrzu cały czas coś lata, widać to czasami w promieniach słonecznych przebijających się przez mrok. To czy laser w coś trafi to matematyczne prawdopodobieństwo. Powinno się pewnie wyciągać średnią z kilkudziesięciu pomiarów, ale wtedy nie zauważy takie skoku jak to widoczne dmuchnięcie.
Ja sobie tak dobrałem przeliczanie, by nie było wyników poniżej 0.
Kiedyś bawiłem się laserowymi licznikami cząstek do pomiarów skuteczności filtrów HEPA i były kalibrowane raz czy dwa do roku, koszt z wysyłką gdzieś w Europie 1000$. I to było gdzieś z 10-20% kosztów samego licznika. Także nie wymagam od czegoś za 5$ pomiarów jak z profesjonalnej stacji monitorującej jakość powietrza. Jak chcesz potwierdzić czy wyniki spadną w okolice 0 to możesz poszukać znajomej aptekarki, mają tam zazwyczaj na zapleczu w recepturze  loże laminarne z filtrami HEPA H14. Tam powietrze powinno być niemal idealnie czyste.
Położyłem go teraz w okolice otwartego okna, tereny z czystym powietrzem, przynajmniej o tej porze roku i pomiary oscylują wokół 50, ale skaczą mocno.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
  


Wiadomości w tym wątku
Pomoc w znalezieniu błędu w kodzie - przez dawidd - 01-09-2018, 14:44
RE: Pomoc w znalezieniu błędu w kodzie - przez es2 - 01-09-2018, 19:58
RE: Pomoc w znalezieniu błędu w kodzie - przez es2 - 01-09-2018, 21:00
RE: Pomoc w znalezieniu błędu w kodzie - przez es2 - 02-09-2018, 12:41
RE: Pomoc w znalezieniu błędu w kodzie - przez es2 - 02-09-2018, 21:47
RE: Pomoc w znalezieniu błędu w kodzie - przez kaczakat - 04-09-2018, 03:46

Skocz do:


Przeglądający: 1 gości