Skocz do zawartości

Karolus

Użytkownicy
  • Zawartość

    50
  • Rejestracja

  • Ostatnio

Reputacja

7 Neutralna

O Karolus

  • Ranga
    4/10

Ostatnio na profilu byli

Blok z ostatnio odwiedzającymi jest wyłączony i nie jest wyświetlany innym użytkownikom.

  1. Mam taki pytanko (jeśli głupie to wybaczcie).... Chcę zaprojektować swoją płytkę na której będzie upakowanych kilka "klocków" między innymi arduino pro mini (czuli atmega 328 z otoczką) i NRF24 SMD, czy jeśli moduł NRF24 będzie zawsze podłączony do szyny SPI atmegi to będą ją nadal mógł programować poprzez ten interfejs?
  2. Sprawdziłem jeszcze raz, czujnik z poprzedniej dostawy zachowuje się jak należy, tzn. wskazuje temperaturę zgodną ze wzorcem i pracuje bez problemu na podłączeniu dwu przewodowym. Wygląda na to że to jednak coś z tymi czujnikami jest nie tak, albo są bardziej wrażliwe na zakłócenia albo po prostu trefne. Oczywiście jeszcze pozostaje możliwość że to ten czujnik który podłączyłem jest wybitnie odporny na zakłócenia i dlatego działa... Jutro będę mógł podłączyć kolejny czujnik (tym razem samoróbka, właśnie schnie silikon) zobaczymy jak on się sprawdzi. Jeśli będzie ok to będzie chyba na 90% wskazywało na wadliwe czujniki. Szkoda tylko że nie tłumaczy to dlaczego na innych płytkach wszystkie czujniki pokazują prawidłową wartość, swoją drogą widzę że i tak muszę zrobić nową wersję PCB, wtedy przy okazji zrezygnuje z przetwornicy i dołożę filtr na zasilaniu DSa, na pewno nie zaszkodzi. Kolejna aktualizacja, wygląda jednak na to że z jakiegoś powodu ostatnia partia trzech DSów ze wschodu jest jakaś "inna": 1. nie działają w trybie dwu przewodowym 2. z niewiadomych przyczyn zaniżają pomiar w moim sterowniku. Podłączyłem dwa inne DSy, jeden z jakiegoś wcześniejszego zamówienia od żółtków, a drugi samoróbka tzn sam zmontowałem wodoodporny czujnik zamykając "gołego" DSa w aluminiową gilzę. Obydwa wskazują prawidłową temperaturę i bez problemu pracują w trybie dwu przewodowym. Ciekawe czy ktoś jeszcze spotkał się z podobnym problemem, chociaż myślę że wiele osób może go mieć tylko o tym nie wie, w sumie różnica między wskazaniem 27 a 26C to mało, gdybym nie miał innego czujnika w tym zbiorniku i nie przeprowadził kalibracji nowych DSów z miernikiem wzorcowym, to raczej nigdy bym się nie dowiedział że coś jest nie tak.
  3. Dziękuje bardzo za poświęcony czas i uwagi, niestety problem w tym że do czynnej elektroniki wróciłem po baaaardzo długiej przerwie, to niestety skutkuje zarówno brakiem sprzętu jak i czasem podstawowych elementów Jak dobrze pamiętam to dałem tam 100u, niestety nie przyszło mi do głowy żeby w pracy na oscyloskopie sprawdzić czy ona za bardzo nie śmieci, Nie jestem pewny czy mam w domu jakieś rezystory o tak małej wartości, a o konciołkach to nawet nie będę wspominał, w zasadzie kupuje to co w danym projekcie mi potrzebne i tyle, posiłkuje się czasem elementami z pracy, ale od dziś jestem na urlopie więc też dużo nie zdziałam. Prościej chyba będę miał zamienić przetwornicę na liniowy stabilizator, powinienem mieć jakiś moduł z LM1117, jeśli to śmieci z przetwornicy, to to powinno pomóc, a dodatkowo jeszcze raz sprawdzę czy mi się wydawało tylko czy naprawdę mam takie czujniki które działają dobrze. W sumie te DSy są jakieś "trefne" nie chcą działać w trybie dwuprzewodowym, nawet przy zmniejszeniu rezystora do 2k, to trochę podejrzane.
  4. to arduino pro mini 3V3 tam jest stabilizator LDO jak dobrze pamiętam w okolicy 0,3V, więc chyba zapas jest wystarczający
  5. Więc tak, żeby było jasne co i jak, urządzenie to sterownik do akwarium (kiedyś w DIY opisywałem go) mierzę temperaturę dwoma DSami, a dodatkowo ze starszego układu pomiarowego został mi DS podpięty do RBpi ) dlatego wykryłem te dziwne odczyty i rozpoczęło się tropienie problemu). Co do samej płytki to nie ma tam nic specjalnego, 3x kanał PWM na IRFie, 4x przekaźnik, wejście na DSy magistrala I2C na której wisi LCD, RTC i PCF8574 o sterowania w/w przekaźnikami, do tego kilka przycisków podpinanych bezpośrednio pod port arduino i buzzer (jak widać nie jest do zbyt skomplikowane urządzenie), acha łączność bezprzewodowa z otoczeniem poprzez NRF24 i bibliotekę mysensors. Na płytce jest przetwornica 12V/5V (chińszczyzna za 3PLN) ona zasila między innymi arduino (poprzez wejście RAW), być może to jej sprawka, muszę popatrzeć czy mam jakiś liniowy stabilizator może to dobry trop... ale przy niej dosyć duże elektrolity (może przesadziłem i coś się wzbudza...), zasilanie arduino i nrfa odsprzęglone elektrolitami, przy samych pinach. Dane z wszelkich czujników idą do domoticza i są tam logowane, jak podglądam historię pomiarów z DSów podłączonych do sterownika i nałożę je na historię pomiarów z DSa podłączonego do RBpi to wszelkie trędy temperaturowe są zachowana, widać tylko przesunięcie krzywych historii pomiarów. Więc wszystko wskazuje na stały błąd odczytu i zdecydowanie jest to zaniżenie pomiaru (więc grzanie mi tu nie pasuje....). Dodatkowo podłączyłem przed chwilą ten feralny czujnik trój przewodowo do "gołego" arduino pro mini 3V3 (dokładnie takie samo jak w feralnym urządzeniu) i.... wynik pomiaru prawidłowy. Jeśli chodzi o kondensatory to mogę spróbować podczepić coś tylko w okolicy złącza na płytce (ale wtedy i tak po drodze będzie 2m przewodu), przy samym czujniku nie ma mowy to wersję wodoodporne. EDIT: chyba znalazłem DSy (ze starszego zakupu) które działają poprawnie!!!, żeby być pewnym na 100% muszę przedłużyć im kable i "utopić" je w akwarium...
  6. Ech, nadal jestem głupi, żeby nie powiedzieć głupszy..... Ponieważ dręczy mnie trochę ten problem różnych odczytów (a lubię wyjaśniać takie sprawy :)) to dalej ciągnę eksperymenty.... Wczoraj zmontowałem na szybko małą płytkę i testowałem różne podłączenia DSa (w sensie różne piny arduino i różne wartości rezystorów), zawsze efekt ten sam, w gotowym urządzeniu mam zaniżony pomiar, na płytce zewnętrznej pomiar jest OK. Niestety nie znalazłem w domu żadnego tranzystora unipolarnego żeby na szybko zrobić konwerter poziomów, więc eksperymenty w domu zakończyły się bezowocnie. Potem wpadłem że na jednej płytce prototypowej zamontuje pro mini 3V3 i nano 5V, tak też dziś rano zrobiłem, w obu przypadkach zasilanie z portu USB (pro min zasilane poprzez stabilizator na konwerterze RSa, nano bezpośrednio z USB), do obydwu płytek podpinam naprzemiennie tego samego DS, podłączenie trój przewodowe, napięcie zasilające podane na sztywno z pinu VCC arduino (dla pewności zmierzone napięcia na VCC i DQ DSa przy pro mini 3V3, przy nano 5V), w obu przypadkach podciąg poprzez 4k7. Efekt .... w obu przypadkach w zasadzie IDENTYCZNE pomiary!!! zaczynam coraz bardziej wierzyć że albo jakaś trefna seria DSów mi się trafiła (może jakieś pseudo DSy od żółtych braci), albo coś jest nie tak na płytce mojego urządzenia (jakieś delikatne przywarcie, albo coś w tym stylu), niestety nie posiadam w domu oscyloskopu i nie jestem w stanie na szybko go załatwić, żeby zobaczyć czy po zasilaniach jakiś syf nie gania, ale nie bardzo wierze żeby to było to. Chyba zacznę montować drugą płytkę swojego urządzenia, niestety w tej co mam przez nie uwagę zamiast wlutować arduino w podstawkę, wlutowałem je bezpośrednio w płytkę, więc nie mam możliwości szybkiej podmiany Ręce opadają, niby problem prosty, a taki skomplikowany ....
  7. hmmmmm wydawało mi się że atmega toleruje na I/O poziom 5V przy zasilaniu 3V3, ale właśnie sprawdziłem w karcie katalogowej i niestety masz rację , czyli jeśli zmiana rezystora nie pomoże to pozostaje mi zasilenie z DSa z 5V i dodanie konwertera poziomu z 5 na 3V3 między DQ a wejściem procesora... tylko że dla 3V3 to chyba jednak rezystor powinien być mniejszy a nie jak napisałeś większy, z tego co znalazłem w necie wydajność prądowa zasilania DSa powinna być ~1mA, czyli przy 5V ~4k7, a przy 3V3 coś koło 3k , prawda?
  8. Ok, faktycznie troszkę z tego wyszło wróżenie z fusów. Więc po kolei,: 1. DSy zawsze podpięte trzema przewodami 2. zaniżone wyniki mam na płytkach pro mini w wersji 8MHz/3V3, w nich zasilanie na DSy podaje bezpośrednio z pinu VCC modułu arduino czyli idzie 3V3, sama atmega zasilana jest z 3V3 więc na pinach też więcej nie będzie, podsumowując DSy zasilane są z 3V3, z rezystorem podciągającym 4k7 (to chyba może być problem, 4k7 przy 3V3 chyba jest za duży, przetestuje jak wrócę do domu) 3. pozostałe pomiary robiłem na modułach nano i uno, zasilając DSy na wszystkie opisane w poprzednim poście sposoby. Myślałem że jak podpinam DSy trój przewodowo to zasilane są z napięcia podanego na VCC, jeśli mimo takiego podpięcia potrafią się zasilić z linii danych, to dzisiejsze sprawdzenie było g... warte, być może o to właśnie chodziło, DZIĘKI wielki za podrzucony trop, być może o to właśnie chodzi, bo też uważam że to nie problem z samym DSem ale właśnie z układem pomiarowym, tyle że nie wiedząc o tym jak działa układ zasilania w samym DSie, nie widziałem różnicy. Jak wrócę do domu zrobię dwa eksperymenty: 1. zmienię rezystor podciągający na 2k4 i zobaczę jak to wpłynie na wynik 2. ponieważ atmega "łyknie" na wejściu sygnały 5V to zmienię zasilanie czujnika na 5V (zachowując rezystor 4k7) Potem napiszę co z tego wyszło, może moje "badania" przydadzą się innym
  9. Zrobiłem właśnie mały eksperyment, wykorzystałem starą płytkę UNO, tam mam i 5 i 3V3, zasilałem tego samego DSa, leżącego w tym samym miejscu (nie dotykając go) , raz z 5V, raz z 3V3 a potem z wyjścia procesora (kluczując zasilanie tylko na czas pomiaru), efekt -> za każdym razem różnica w pomiarach zamyka się w +/- 0,1C, czyli dla 12bitowej rozdzielczości wygląda to na dwa bity. Więc albo płytka którą miałem szczęście wlutować jest trefna (tylko co może być trefnego na samej płytce..... ) albo wytłumaczenie jest bardzo banalne i dlatego go nie widzę :( acha, chcąc być pewnym że to nie jakieś nadpisanie zmiennych w programie, wgrałem wczoraj prościutki program który tylko inicjował DSy, odczytywał temperaturę i wyrzucał wynik na terminal, wyniki pomiarów takie same, tzn ~1 stopień niższe niż w drugim układzie. Jakieś inne pomysły?
  10. Że czujniki mają rozrzut to oczywiste i tak jak pisałeś ten problem zmniejszam przez kalibrację z czujnikiem wzorcowym, natomiast ja przepinam fizycznie ten sam czujnik z jednego układu do drugiego i wtedy mam różnice w odczycie (czas przepinania to pojedyncze sekundy, więc raczej czujniki nie zdążą się w tym czasie ogrzać/oziębić). Rezystor jest zamontowany na płytce, a czujniki wiszą na 2m kablach, więc podgrzewanie rezystorem to raczej nie jest. Rozumiem też że czujnik który jest zawsze zasilany może się podgrzewać, ale żeby było śmieszniej to wyższe wskazanie mam w układzie zasilanym z 3V3 i przy zasilaniu z nóżki procesora (zasilane pojawia się tylko na czas odczytu). Jak pisałem w obydwu przypadkach rozdzielczość jest 12bitowa (sprawdzałem też na niższej, wynik ten sam), korzystam ze środowiska IDE, w obu przypadkach oczywiście programy kompilowane z tymi samymi bibliotekami na tym samym komputerze. Więc tak naprawdę wszystko co napisałeś jest jak najbardziej sensowne i bardzo za nie dziękuje, ale.... u mnie wygląda to dokładnie odwrotnie, dlatego pisałem o "zębach na podłodze"
  11. Mam zbudowane dwa układy których jedna z funkcji jest pomiar temperatury, przy okazji kalibrowania nowo kupionych czujników odkryłem dziwną rzecz, tak dziwną że.... do tej pory zbieram "szczękę z podłogi" mierzę temperaturę w zbiorniku z cieczą, zakres pomiarowy to 20-35C, w obydwu urządzeniach wykorzystuje odczyt poprzez getTempCByIndex(i), rozdzielczość 12bit, oraz setWaitForConversion(1) różnica odczytów wynosi ~1C, niby nie tak dużo, ale nie rozumiem dlaczego te same czujniki podpięte do dwóch różnych procesorów dają inne odczyty?? W obydwu układach są dwa termometry i oba zachowują się jednakowo, jedyna różnica w sprzęcie jest taka że w pierwszym układzie każdy z DSów podpięty jest pod inną linię danych, a zasilanie jest również z pinu procesora (procesor zasilany 5V, więc zasialnie DSa coś w tej okolicy, oczywiście jest 4,7k między pinem zasilającym a danych), w drugim układzie oba DSy podpięte są na to samo wejście procesora a zasilane są bezpośrednio z VCC (3,3V), rezystor podobnie jak w pierwszym układzie 4,7k. Gdyby to była transmisja analogowa to te różne napięcia mogłyby być źródłem błędów transmisji, ale przy cyfrówce nie powinno to mieć znaczenia (chyba) długości przewodów nie przekraczają 2m, więc to raczej tez nie stanowi problemu. Macie jakieś pomysły??
  12. no właśnie mam tam kilka timerów odmierzających zadane czasy... w teorii powinno wszystko odbywać się 2x szybciej, ale może za krótko testowałem i nie zauważyłem, nie ważne, nie ma sobie co zawracać głowy, dzięki za wsparcie.
  13. Najważniejsze że się udało dojść do ładu, chociaż co ciekawe mimo skompilowania programu na procesor z innym kwarcem, przez 2 dni nie zauważyłem żadnych skutków ubocznych, układ działał jak należy
  14. Ha! udało się, zaktualizowałem kilka bibliotek poprzez IDE i poszło.... co ciekawe żadna z nich ni była używana w moim szkicu Ale najważniejsze że się udało i mogę kompilować na właściwy układ.
  15. Takie błędy najbardziej mnie wkurzają, tym bardziej że nadal mam stare wersje szkicu które kompilują się na układ 8MHz/3V3..... a różnice są tylko na poziomie nazw zmiennych i jakiś prostych zależności.... ech.....
×
×
  • Utwórz nowe...