Wpis z mikrobloga

Zestaw: AM2302 (DHT22) + ESP8266, czyli na 3.3V. Jak w końcu z tym pullup'em SDA, jak wy stosujecie?
Przy bezpośrednim (no liczmy 10cm) wpięciu do mikrokontrolera chyba nie ma sensu?

Dokumentacja stanowi:
"1.Typical application circuit recommended in the short cable length of 30 meters on the 5.1K pull-up resistor pullup resistor according to the actual situation of lower than 30 m.
2.With 3.3V supply voltage, cable length shall not be greater than 100cm. Otherwise, the line voltage drop will lead to the sensor power supply, resulting in measurement error."

Ja to rozumiem, że przy ~30m powinien być rezystor 5.1kΩ i tutaj zapewne chodzi o domyślne sugerowane napięcie 5V oraz, że przy napięciu 3.3V nie powinno się przekraczać 100cm, bo nie wyda. Więcej informacji w temacie pullup'a nie ma.
Jest jeszcze tabela, która sugeruje 30kΩ dla 3.3V (ale dla condition VDD = 5V...)

#esp8266 #arduino #elektronika
  • 17
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@radekrad: Internal pullup w atmegach jest na poziomie co najwyżej 50-20k co jest wartością zbyt dużą, żeby stosować je z powodzeniem w komunikacji po I2C. Nie bez powodu nazywa się je "internal weak pull up resistors". Oczywiście niektóre urządzenia mogą działać, ale będzie to raczej przypadkiem niż regułą. Aby mieć pewność, że urządzenie będzie działać bez problemów należy stosować rezystory o średniej wartości ~5k. Podobnie ma się sprawa z ESP8266,
  • Odpowiedz
@redliquid: Dziękuję bardzo za odpowiedź :) Czyli zwykle urządzenia mają między 20-50k? Wydaje mi się, że ESP8266, a przynajmniej moja płytka (D1 R2) ma 10k - i to już jest wystarczające czy lepiej wrzucić własny na poziomie 5k? A jeśli mamy kilka urządzeń na magistrali, z których niektóre mają słabe pullupy do 5V, to wystarczy zastosować odpowiednio mocniejszy by zbić napięcie do bezpiecznego dla ESP - co teoretycznie znosi konieczność
  • Odpowiedz
@radekrad:
1. Nie wypowiadam się za wszystkie urządzenia, jakie są dostępne na rynku. Przytoczyłem tutaj atmegi oraz esp8266.
2. 10k jest ok.
3. Zastosuj konwerter napięć - to raptem jeden mosfet i dwa rezystory, więc nie są to wielkie pieniądze jak na stabilność układu w każdych warunkach. Nie wiem w jakiej konfiguracji chciałbyś zastosować ten rezystor, ale w jakiej byś go nie zastosował nie wyrówna on napięc pomiędzy dwoma układami
  • Odpowiedz
@redliquid: Te magistrale I2C to jednak są p------e. Testowałem wyświetlacz 1.2", który ma osobne wejście na zasilanie logiki (tu daje 3.3V) i osobne na podświetlanie (tu musi być 5V) oraz ma pullup 10k. Próbowałem to połączyć z ESP8266 D1R2, który ma kolejny pullup 10k... i nic! Jak wyświetlacz nie miał podłączonego podświetlania 5V to odpowiadał poprzez I2C, ale w momencie włączenia podświetlania to układ milknął. P--------ł pullup 1k i wreszcie
  • Odpowiedz
@redliquid: hmm, zasilałem przez USB z komputera (do ESP, korzystając z budowanego LDO). A później przez jakiś Chiński odpowiednik MB102 (ciągnąc z 5V i 3.3V - zanim nie zauważyłem, że Chiński MB102 się coś pieprzy, mocno nagrzewa i sieje większe napięcie niż powinien). Tak, wiem że 0.8k to stanowczo za mało (lub za dużo - zależnie jak patrzyć). Wkurzyłem się i wziąłem rezystor, który miałem pod ręką - później postaram
  • Odpowiedz
1117 ma dropout na poziomie 1.2V, więc każda z tych opcji będzie ok, oby tylko wydajność prądowa była uczciwa. Generalnie ja w swoich designach korzystam z trzech baterii AA + TPS73633 lub LiPo + TPS73633 i nie mam problemów. Korzystałem również z 5V i 1117 i też nigdy żadnych problemów nie było. Wszystko zależy od tego w jakich warunkach chciałbyś wykorzystywać swój układ.

Pamiętaj tylko o kondensatorach umieszczonych na szynie zasilania blisko
  • Odpowiedz
@redliquid: Dziękuję bardzo za pomoc :)

Tak, wiem że 1117 ma 1.2V (maksymalnie 1.3V jeśli przekracza się 0.5A) - więc nawet dodając diodę prostowniczą by się w polaryzacji nie pomylić, będzie ok (chociaż przy zasilaniu 5V lepiej użyć diody Schottkiego, bo się ciasno robi? A może zabezpieczenie przed odwróceniem polaryzacji jest przesadą?). Większość ładowarek USB daje przynajmniej 1A, co powinno wystarczyć w moim wypadku (0.5A@3.3V + 0.1A@5V)? Czy jednak lepiej
  • Odpowiedz
@radekrad:
1. Użyj Shottkiego.
2. Nie jest przesadą. Rób jak najbardziej idiotoodporne urządzenia, nawet jeżeli będziesz używał ich tylko ty.
3. Ładowarka USB wystarczy pod warunkiem, że będzie to dobrej jakości ładowarka, która daje sztywne napięcie nie tylko przy 10mA prądu, ale także przy 1A. Dave z EEVBlog mówił w którymś ze swoich videoblogów, że zasilacz, który stosujesz do urządzeń elektronicznych powinien móc zasilić urządzenie o dwa razy większym poborze
  • Odpowiedz
@redliquid: Jeszcze raz bardzo dziękuję za odpowiedzi i za wszelkie rady.

Shottkiego użyję - w razie odwrotnej polaryzacji odcinając część 3.3V układu. Ale to mi nie zabezpieczy kondensatorów umieszczonych na 5V, które nie lubię takich sytuacji (a tam już nie wepnę diody bo będzie spadek napięcia). Tutaj dioda montowana odwrotnie będzie odpowiednia? Zacznie się grzać ale kondensatory nie wybuchną? Czy przy 5V nie muszę się o to bać?

Czy stosując
  • Odpowiedz
@radekrad: Chodziło mi raczej o użycie Shottkiego właśnie na wejściu 5V - spadek napięcia na diodzie nie będzie większy niż 0.2V + 1.2V na 1117 da w sumie 3.6V, (0.3V zapasu) więc stabilizator będzie pracował poprawnie. Nie wiem, co dokładnie zasilasz z tych 5V, ale jestem przekonany na 95%, że układ będzie działał poprawnie również na 4.8V.

Jeżeli używasz NodeMCU to niepotrzebne są kondensatory 100nF przy jego wyprowadzeniach. Nie zaszkodzi
  • Odpowiedz