Skocz do zawartości

marek1707

Użytkownicy
  • Zawartość

    5690
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    479

Wszystko napisane przez marek1707

  1. A dlaczego miałby ruszyć nawet gdyby cała reszta była poprawna? Moim zdaniem powinien stać pod prądem, dawać ten swój moment moment zatrzymania i czekać na impulsy STEP. Rozwiązanie zasilania opisane tutaj jest chyba najgłupsze o jakim słyszałem. Czy zastanowiłeś się ile prądu próbujesz pobrać z akumulatora? No to spróbujmy oszacować. Zakładając 2A w sumie na silnik przy 12V masz 24W. Do tego sprawność przetwornicy i potrzebujesz powiedzmy 28W. To przy napięciu akumulatora np. 4.0V daje 7A a przy lekko rozładowanym do 3.4V to już potrzeba 8A. Co to za akumulator? Bo mam nadzieję, że jakiś modelarski mocarz a nie zabawkowe 18650 w koszyczku.. Zatem multimetr do ręki mi mierzysz wszystkie napięcia, dobierasz mocniejszy akumulator lub dajesz 4 ogniwa 18650 równolegle, lub po prostu bierzesz taki 3S bez żadnej głupiej przetwornicy. A gdy już uzyskasz 12V na włączonym driverze i zasilanym silniku to pukasz się w głowę i zaczynasz wszystko od początku, bo silnik krokowy 12V potrzebuje do zasilania drivera co najmniej 30V, chyba, że będzie używany głównie do ozdoby biurka jako przycisk do papierów albo robił maks. kilka kroków/s.
  2. Moim zdaniem silnik praktycznie nie widzi prostokątnego napięcia podawanego z mostka, bo przecież karmi się prądem a ten - jak to w indukcyjności jest bardzo "płaski". Typowy silniczek DC, mimo strat na rezystancji uzwojeń ma raczej charakter obciążenia indukcyjnego a wahania prądu (przy PWM idącym w kHz) są rzędu 5-20% wartości średniej prądu. Dlatego dywagacje o tym czy dostaje w impulsie więcej czy mniej napięcia niż jego znamionowe są pozbawione sensu. Dopóki nie przekraczamy możliwości izolacji silnika i jego uzwojeń, zupełnie nie ma znaczenia czy impulsy mają 6V czy 20V. Ważny jest średni prąd. Jeżeli w czasie impulsu nie rośnie on ani nie maleje do zera w czasie przerwy tylko waha się niewiele wokół wartości ustalonej, to sterowanie działa poprawnie. Oczywiście można się zastanawiać nad problemami w przypadku, gdy częstotliwością zjeżdżamy do setek Hz lub nawet poniżej, ale to już jest zupełnie inne zagadanienie. Zmieniają się wtedy ch-ki samego napędu, bo silnik rzeczywiście wtedy dostaje potężne kopy prądu w każdym impulsie, moment drga bardzo i zachowanie szczególnie przy starcie i małych prędkościach jest zupełnie inne. Dopóki jednak prąd jest uśredniany przez indukcyjność możemy spokojnie założyć, że mostek udaje regulowane źródło napięcia stałego - ze wszystkim zaletami i wadami takiego rozwiązania. PS: Jestem w głębokim lesie i moje odpowiedzi mogą być mocno spóźnione albo od czapy. Internet tu chyba jest dostarczany wiadrarmi..
  3. Trochę Kolegę bełkocik rozumiem. Nie chce zrobić niczego głupiego i oczywiście sposób z opornikiem zamiast silnika jest OK. Jednakże w tym przypadku, gdy masz zasilanie co najwyżej 8V, silnik znamionowo na 6V a po drodze jeszcze mostek to nic się nikomu nie stanie. Piszesz o tylu różnych ordzajach mostków że w sumie już nie wiemy z czym będziesz eksperymentował. W tytule był jakiś, teraz piszesz o zabytkowych L-cośtam, to robi sporą różnicę, bo na tytułowym DRV.. mógłbyś spodziewać się straty jakichś setek miliwoltów a na L2xx to i ponad 2V spadną jak go dociążysz. Niezależnie jednak od użytego mostka, w przypadku silnika 6V możesz go wysterować na 100% z 8V i nic mu nie będzie. Dopóki nie zmusisz go do ciężkiej pracy przy takim napięciu albo go nie zatrzymasz, na pewno się nie spali. Podłącz zatem i napisz program np. ustawiający PWM na 0%, potem na 10% i tak dalej aż do 100% np. co 2 sekundy. Zobaczysz kiedy silnik startuje, zdążysz pomierzyć napięcia i zrobisz pierwsze próby. I obowiązkowo napisz jak poszło
  4. Koledze zapewne chodziło o nierówną pojemność ogniw.. Tak, oczywiście możesz łączyć akumulatory szeregowo nawet jeśli są nieidentyczne pod warunkiem, że zadbasz o ich stan (napięcia poszczególnych celi) w czasie wyładowania. W tym konkretnym przypadku, gdy masz pakiety tego samego typu i z tego samej dostawy to w ogóle bym się nie przejmował tylko używał. Ładowanie w postaci rozpiętych, osobnych stosów 2S także jest jak najbardziej poprawne. A jeśli na dodatek ta ładowarka wyrównuje cele to już pełnia szczęścia. Wtedy w systemie wystarczy jedynie zrobić pomiar (ograniczenie) napięcia minimalnego całości 4S, poniżej którego urządzenie odmawia współpracy. Warto ustawić je troszeczkę wyżej niż wynikałoby to z przyjętych napięć minimalnych jednego ogniwa (np. 3.0V) choćby z uwagi na nieuchronne starzenie się akumulatorów i powolny rozjazd ich pojemności. Nie warto jednak tego demonizować, przy takim sposobie używania jak mówisz, spokojnie po roku będą jeszcze praktycznie identyczne. Tak więc ustaw próg odcięcia na powiedzmy 4x3.3V=13.2V i śpij spokojnie. Jeżeli Twoja ładowarka nie pokazuje po zakończeniu pracy wepchniętej pojemności, od czasu do czasu (co kilka cykli ład/rozład) możesz dla pewności zmierzyć napięcie każdej celi po rozładowaniu w urządzeniu. Wtedy ew. różnice będą największe i szybko przekonasz się czy i która sztuka jest słabsza.
  5. Jeżeli skupiamy się na zasilaniu i śmieciach po nim chodzących, to ta 3zł przetwornica jest niezłym kandydatem na kozła ofiarnego. W wypadku takich układów zwykłe elektrolity są bez sensu, a im większe (>100uF) tym sensu jeszcze mniej. Nie dość, że przestają działać już przy częstotliwościach akustycznych (a mają walczyć z dziesiątkami lub setkami kHz) to jeszcze zaburzają działanie pętli sprzężenia zwrotnego. Jeśli nie wstawisz tam ceramicznych 1-10uF to jakbyś nic nie wstawił. Tylko proszę nie mów, że dałeś tam 1000uF i wciąż śpisz spokojnie.. W każdym razie, w celu poprawy zasilania czujnika możesz zrobić tak: zamiast doprowadzać do niego zasilanie (w wersji 3-przewodowej) wprost z Vcc otrzymywanego z przetwornicy, daj szeregowo opornik rzędu 10-22Ω a za nim, od strony czujnika kondensatory 100nF i 10uF do masy. Nawet jeśli będą tuż przy płytce a nie przy czujniku, znacznie poprawi się jakość zasilania po tej stronie i może coś się zmieni na lepsze. Mały pobór prądu przez czujnik (1.5mA) nie spowoduje praktycznie żadnego spadku na oporniku a wszelkie śmiecie zostaną po stronie procesora.
  6. Rzeczywiście, dziwna sprawa. Czyli wiesz już, że problem przenosi się z Twoją tajemniczą płytką, a w zasadzie występuje tylko z nią, czy tak? Jak rozumiem jest to jakiś "mainboard" niosący na sobie płytkę Arduino (jakie?) i pewne otoczenie: zasilanie(?), złącza(?), inne czujniki(?), interfejs użytkownika(?) itd. Zastanawiam się jaki jest model błędu. Jeżeli jest to problem zakłóceń i wpływają one w sposób tendencyjny na wyniki obniżając mniej więcej równomiernie pomiary o ten 1°C, to w dłuższych seriach powinno być średnio to samo. Natomiast jeśli to jakieś przywarcie wymuszające przepływ prądu przez czujnik i grzanie się jego struktury to powinien być widoczny trend. Jakie są wyniki serii 20 czy 100 pomiarów w odstępach np. 1s? Próbowałeś to robić? Czy widać jakiś wzrost i dochodzenie do wartości ustalonej? Acha, czy już wiesz na pewno, że ta feralna płytka+czujnik daje wyniki zmniejszone względem wszystkich innych układów i czujników czy jest odwrotnie: "podejrzany" układ daje więcej niż średnia ze wszystkich "dobrych" zestawów? Bo jeśli mniej, no to dodatkowe grzanie można, wbrew moim/naszym podejrzeniom wykluczyć. Pozostaje wtedy wpływ zakłóceń impulsowych/szumowych lub przynajmniej na tyle szybkich, że nie widzisz ich multimetrem zapiętym na zasilaniu czujnika. Czy w konfiguracji 3-przewodowej próbowałeś blokować zasilanie tuż przy czujniku kondensatorami np. 100nF+10uF? Jak rozumiem kable też można wykluczyć włącznie z zakłóceniami generowanymi przez inne urządzenia i wpływającymi na te przewody, bo mierzyłeś ten sam czujnik w tym samym środowisku na tym samym przewodzie zmieniając tylko płytkę procesora, czy tak?
  7. No jasne, przy 3.3V rezystor powinien być mniejszy Jeśli chcesz wiedzieć ile DS jest w stanie pochłonąć prądu z opornika, to musisz spojrzeć na wiersz "Sink current" i masz tam 4mA. To jest gwarancja producenta, że przy wpychaniu tych 4mA napięcie w stanie niskim na linii DQ nie będzie większe jak 0.4V, co zupełnie spokojnie wystarcza do identyfikacji stanu 0 przez drugą stronę. Niestety to oznacza także, że 4mA*0.4V daje 1.6mW mocy w samym tranzystorze wyjściowym w czujniku. Dlatego prąd ten także powinien być minimalizowany i tylko tak duży jak tego wymaga okablowanie. Opornik podciągający odpowiada za "parkowanie" linii DQ w stanie wysokim. Ponieważ druty mają swoje pojemności tworzy się układ RC: im więszy opornik (a więc im mniejszy prąd ładujący pojemność kabla) tym czas "dojazdu" sygnału DQ z aktywnego zera do pasywnej jedynki jest coraz dłuższy i przy pewnej wartości prądu zaczynają łamać się reguły czasowe protokołu 1-wire. Przy 5V ograniczenie prądu pinu DQ zostaje zachowane aż do wartości 1.2kΩ, ale jeśli te 2m przewody dobrze działają z 4.7k to ja bym zostawił. Ewentulanie zmienił na jakieś 3.3k dla 3.3V. Przy pracy 2-przewodowej, do pojemności kabla dochodzi jeszcze wewnętrzny kondensator samego czujnika - on też "wciąga" ładunek podczas narastania napięcia na linii DQ i dlatego producent rekomenduje tam 4.7k. Teoretycznie w konfiguracji 3-przewodowej i krótkich połączeniach (czujnik na tej samej płytce co procesor?) mógłby wystarczyć sam opornik podciągający pin procesora - jak czasami robi się w I2C. Ew. konwerter musi być dwukierunkowy, ale ja zamiast tego wziąłbym jakąś płytkę typu Nano Pro w wersji 3.3V/8MHz (goły procesor) i zasilił ją "od tyłu" czyli przez pin Vcc raz z 3.3V a raz z 5V. Wtedy masz czystą sytuację. W drugą stronę (procesor 5V/16MHz) będzie trudniej, bo AVR może nie zadziałać z taką prędkością na Vcc obniżonym do 3.3V.
  8. Dobra, widzę, że będziesz sobie już dalej radził. Na pewno wynik pomiaru jest poprawny w tym sensie, że struktura czujnika grzeje się naprawdę. Z jakiego powodu - to musisz odkryć. Pierwszym strzałem jest oczywiście wyższe zasilanie lub.. większy prąd płynący przez rezystor podczas transmisji. Co prawda większość energii wydziela się na nim, ale przecież tranzystor na krzemie nie robi dokładnie 0V w stanie niskim więc trochę ciepła też dostaje. Dlatego żeby było "sprawiedliwie" system pracujący na 3.3V powinien mieć trochę większy rezystor. Niepokoi mnie zdanie: Łyknie gdy sama ma zasilanie 5V. Absolutnie nie możesz jej podawać sygnałów wejściowych wyższych niż jej własne Vcc. Z powodu tego, że podczas komunikacji z DS18B20 pin procesora pracuje w każdym możliwym stanie (wejście, wyjście w stanie 0 i silne wyjście w stanie 1 czyli de facto zwarcie pinu do własnego Vcc) nie możesz mieszać tu napięć. Musisz zrobić środowiska homogeniczne (procesor = czujnik): albo wszystko na 5V albo całość na 3.3V. No i czekamy na wnioski
  9. Chciałbym dobrze zrozumieć co tam ostatnio robiłeś, bo trochę to skrótowo opisane. Wziąłeś więc UNO - tam wyprowadzony jest tylko procesor 5V. Standardy wszystkich sygnałów są 5V a masz tylko dodatkowe wyjście zasilania 3V - czy tak? Podłączałeś do tego czujnik w konfiguracji 2- czy 3-przewodowej? Zmieniałeś tylko zasilanie? Bo jeśli zapodałeś mu 3V na VDD a sygnał z pinu procesora był 5V na DQ to czujnik zasilał się z tego wyższego, bo zawsze tak robi (ma w środku diody od DQ i VDD). Skoro szukasz po omacku, to musisz mierzyć i weryfikować napięcia na pinach czujnika - bez tego możesz wyciągać tzw. ruskie wnioski. Co to konkretnie za płytka? Spróbuj pisać bardziej konkretnie, nie widzimy co masz na biurku a do tej pory o żadnym z układów używanych w eksperymentach (oprócz UNO ale tu też bez schematu można tylko się domyślać co tam namotałeś) nic nie wiemy. Wygląda, że problem leży poza samym DS18B20 i być może dotyczy konfiguracji jego otoczenia. Opisuj całe układy pomiarowe (także z czego je zasilasz) a nie tylko samo podłączenie czujnika.
  10. Być może to jest problem, bo moim zdaniem jest istotna zmiana trybu pracy. Taki czujnik musi mieć w środku jakieś referencje, źródła prądowe zasilające wzmacniacze analogowe itd itp. I teraz to wszystko pracuje dobrze gdy temperatura struktury jest stabilna i nie ma gradientów na samym krzemie. Być może włączając czujnikowi zasilanie tuż przed pomiarem nie dopuszczasz do stabilizacji termicznej chipu a być może są też zjawiska wolniejszego dochodzenia punktów pracy pewnych bloków do stanu stabilnego (takie czysto prądowo-napięciowo-czasowe typu RC). Spróbuj zatem a) nie wyłączać zasilania wcale lub b) załączać np.na 5/10/30s przed wystartowaniem pierwszego pomiaru, c) włączyć zasilanie i wykonać serię powiedzmy 100 pomiarów co 2s logując wyniki. Czy w takich wypadkach widzisz jakąś stopniową poprawę lub choćby dryft wyników? EDIT: A swoją szczękę oszczędzaj, przyda się do innych celów. Tu nie ma żadnej magii, tylko zwykłe pomiary. Prędzej czy później znajdziesz rozwiązanie zagadki. To równie dobrze może być np. znacznie gorsze (w sensie zasyfione) zasilanie w jednym z przypadków, bo jest inny zasilacz, stabilizator czy dochodzi rezystancja wewnętrzna pinu procesora pracującego jako zasilanie.
  11. Czujniki mają rozrzuty produkcyjne więc każdy może pokazywać trochę inną temperaturę w tych samych warunkach. Jak rozumiem to uwzględniłeś albo przez kalibrację albo przez zamiany krzyżowe czujników i to nie jest główny problem. Czujniki pobierają prąd: mało gdy nic nie robią, dużo więcej gdy mierzą. Jeżeli każesz im mierzyć i wysyłać wyniki dość często, moc wydzielana w nich w czasie pracy podgrzewa strukturę i temperatura jedzie w górę. Jeżeli opornik 4.7k jest blisko czujnika to przy 5V i stanie niskim linii danych wydziela się na nim 5mW - to sporo i też jest cieplejszy niż otoczenie. Czujnik zasilany z 5V będzie w czasie pomiaru grzał się bardziej niż ten wiszący na 3V - to chyba jasne? Zajrzyj do danych katalogowych DS18B20 i napisz nam tutaj ile one biorą prądu w obu stanach. Jeśli uwzględnisz rezystancję termiczną obudowy, wyznaczysz sobie średni prąd zasilania i tym samym moc strat przy danym napięciu (sam wiesz jak często każesz im mierzyć i przeczytasz jak długo trwa konwersja) to masz jak na dłoni rezultat: o ile wzrośnie w środku temperatura w czasie takiej pracy.
  12. Nikogo nie wprowadziłeś w błąd. Opisałeś co zrobiłeś i że nie działa a ja tylko zdziwiłem się, że można z tak zerową wiedzą startować do procesorów i radia. No cóż, widocznie można. Sprawdź czy moduły w ogóle są zasilane: zmierz multimetrem napięcie zasilania 5V na ich pinach. Może coś nie dochodzi przez płytkę stykową? Sprawdź, czy nie zamieniłeś programów, tj, czy każde Arduino dostało swój skrypt: nadawcze nadający a odbiorcze odbierający.. Czy dioda LED w nadajniku mruga? Możesz zmierzyć multimetrem napięcie na wejściu danych nadajnika: powinno być trochę większe niż 0V, bo krótkie ramki wysyłane 5 razy na sekundę powinny dawać jakieś widoczne napięcie DC. To samo zrób po stronie odbiornika. O ile pamiętam on odwraca fazę tj. sygnał z nadajnika powoduje wysłanie stanu niskiego do procesora. Zmierz napięcie na pinie procesora na który przychodzą dane odbierane, powinno być delikatnie niższe niż Vcc płytki. Możesz też napisać prosty skrypt odbiornika przepisujący stan pinu 11 na diodkę LED (pin 13) i zobaczyć czy w ogóle coś przychodzi. Generalnie sprawdź kabelki, mierz napięcia a przede wszystkim zrób anteny. Do zabawy na biurku wystarczy jakikolwiek kawałek drutu, na 433MHz idealnie będzie ok 17cm.
  13. To oczywiście kompletna bzdura. "Śrubka" to kondensator którym producent delikatnie dostraja obwód rezonansowy do konkretnej częstotliwości na jaką został wykonany moduł, ale na pewno nie służy do jeżdżenia między odległymi pasmami. Jakiekolwiek samodzielne gmeranie przy tym obwodzie w zasadzie niszczy odbiornik a jego czułość (i tak marna) spada jeszcze bardziej. Trochę śmieszne, trochę straszne.. Aż tak bardzo nie rozumiesz co robisz, czy zwyczajnie liczysz na jakąś magię? Intrygujące. Czy mógłbyś rozwinąć temat dopasowania anten? Jakich anten użyłeś (w sensie rodzaju: dipol, GP, whip itd) i jak je stroiłeś? Ogólnie: te moduły są rzeczywiście słabe, ale z powodzeniem działają na ponad 20 metrów w wolnej przestrzeni, oczywiście z antenami. Z moich doświadczeń wynika, że odbiornik jest bardzo czuły na zakłócenia przychodzące po zasilaniu, choćby z USB komputera. Zasilanie części odbiorczej (Arduino+moduł odbiornika) z baterii (LiPol 2S) dawało kilkukrotne zwiększenie zasięgu w mieszkaniu.
  14. Co znaczy "przycisk cyklu zegarowego"? Chodzi o sygnał zegarowy? W omawianym w tym wątku układzie nie ma mikrokontrolera więc dlaczego narysowałeś "uC"? Scalaki serii 4000 nie mają żadnych rezystorów podciagających, więc wewnątrz obudowy chipu nie ma opornika ciągnącego w stronę zasilania. I właśnie dlatego by zapodawać stan wysoki musisz mieć zewnętrzny opornik R1. Opornik R1 jest także częścią filtra. Kondensator ładuje się stałą czasową C1*(R1+R2) a rozładowuje ze stałą (C1*R2). Oczywiście można ten fragment rozwiązać na wiele sposobów, ale w zasadzie układ który narysowałeś powinien być stosowany tylko do wejść wyposażonych w przerzutnik Schmitta, takich jak RESET mikokrontrolera.
  15. Wszystko jedno gdzie ten kabel podłączysz. Zrób tak żeby pakiet wyglądał schludniej i miał mniej przewodów a całość była spójna i sztywna. Pamietaj, że kabelek z wtykiem XH służy tylko i wyłącznie do ładowania/wyrównywania ogniw. Aby płytka zabezpieczeń mogła pełnić swoją rolę obciążenie (czyli wszystkie napędy, elektronika itd) musi być podłączone przez pady P+/P-. To będzie jedyne wyjście z pakietu - tam musisz przylutować inny, (być może grubszy) dwużyłowy kabel zakończony wtyczką doprowadzającą zasilanie do całego robota i oczywiście uniemożliwiającą odwrotne podłączenie.
  16. Ostatnim razem gdy nie działało prosiłem o schemat, ew. zdjęcia i kod lub chociaż bibliotekę jakiej użyłeś. Wyszło, że użyłeś bilbioteki do innego drivera LCD: na pokładzie masz ILI9225 a u Ciebie była popularna Adafruit, ale dla ILI9341. Nie, to nie jest wszystko jedno. Dalej w odpowiedziach na pytania @ethanak piszesz jakieś niezrozumniałe rzeczy więc nie wiem czy załadowałeś tę dobrą, czy piszesz wciąż o instalacji jakiejś innej, czy podmieniłeś bibliotekę na poprawną czy nie? Jak teraz wygląda kod? Co wgrywasz? Czy możesz to wyprostować żebyśmy mówili o tym samym projekcie? Schemat wygląda na OK, jeżeli nie użyłeś metrowych drutów to powinno działać. Dlaczego wciąż przewija się tu duch I2C? ILI9225 tego nie umie. Producent tego wyświetlacza wyprowadził na złącze jedynie minimum niezbędnych sygnałów, z SPI tylko SCK i MOSI (nazwane tu SDA).Nie ma nawet MISO wymaganego do odczytu pixeli, ale to wystarczy do podstawowej pracy i rysowania wzorków.
  17. Oczywiście najprościej powiedzieć: wadliwy i nie wnikać. Czasem rzeczywiście elementy psujemy w czasie jakichś nieprzemyślanych eksperymentów, ale mimo wszystko najczęściej niedziałanie wynika z innych, prozaicznych zupełnie przyczyn typu zły kablek albo schemat jednak inny niż miał być. Jeśli jeszcze masz ochotę, to opisz dokładnie co zrobiłeś: jakiej biblioteki użyłeś, co wgrałeś, do jakiej płytki Arduino i jak to połączyłeś - schemat + zdjęcie. Jedyny wyświetlacz, który po kupieniu u mnie nie działał (a prywatnie przewinęło sie kilkadziesiąt różnych) to taki, w którym kurier zgniótł szkło rzucając jedną paczkę na drugą i pech chciał, że ten był zapakowany jedynie w kopertę bąbelkową. Wszystkie pozostałe były OK. To nie przesądza, ale jest dobrym argumentem za tym, że elementy raczej przychodzą sprawne. A co do I2C to brawo. Czyżby nie taki diabeł straszny?
  18. Przykro mi. Jeśli rzeczywiście tyle przeczytałeś, przejrzałeś gotowe programy, tutoriale, obejrzałeś przykłady z bibliotek np. Arduino i nadal tego nie rozumiesz, to może to Cię na obecnym poziomie przerasta? Nie wiem jak Ci pomóc, przecież nie ma sensu robić specjalnej szkółki dla jednej osoby. Poleciłbym artykuły czy kursy na Forbocie albo jakieś strony typu"Magistrala I2C dla opornych" lub nawet przykłady z biblioteki "wire.h" , ale pewnie też już próbowałeś i nadal kicha.. Cóż, spróbuj zacząć pisać programy na rzeczywistym sprzęcie, uruchamiać, wyciągać wnioski i może zadawać bardziej precyzyjne pytania. Wtedy szansa odpowiedzi gwałtownie rośnie. Metoda" jeden problem na raz" też jest niezła. Może dokończ ten TFT? Co na nim będzie?
  19. "Robienie projektu" nie polega na skleceniu paru drutów wg tutoriala więc może poświęć trochę czasu i poczytaj o protokole I2C. Zostanie Ci na dłużej. Potem już tylko ponowny rzut oka do kart katalogowych elementów na które się zdecydowałeś (bo przecież oglądałeś jakieś dokumenty zanim uznałeś, że te a nie inne moduły się nadają, czy.. jednak.. nie?) i zaczniesz rozumieć zawarty w tym protokole mechanizm adresowania. https://www.nxp.com/docs/en/user-guide/UM10204.pdf
  20. Moim zdaniem U1 to stabilizator 3.3V więc możesz spokojnie do Vcc podłączyć 5V. Z wyjścia tego stabilizatora zasilany jest kontroler wyświetlacza i konwerter poziomów LVC245 więc wszystko się zgadza, sygnały wejściowe także mogą być 5V. Czy z 3.3V będzie działało? Stabilizator przepuści wtedy dalej wszystko co podasz minus jakiś mały spadek więc od biedy zadziała, tylko co niby? Nie wiemy jak jest zrobione podświetlanie ekranu, bo ono często potrzebuje trochę wyższego napięcia i wtedy z 3.3V może świecić bardzo słabo lub wcale. W każdym razie, jeśli nie podłączysz żadnych sygnałów cyfrowych a tylko 3.3V lub 5V na Vcc, to chociaż powinno być widać światło z diod LED. Słaby to eksperyment, bo niczego nie sprawdza, ale jeśli bardzo Cię ręce swędzą - próbuj. Powinieneś wciągnąć z sieci bibliotekę do ILI9255 i wgrać sobie do Arduino pierwszy z brzegu przykład. Jeśli podłączysz piny tak jak jej autor sugeruje i nie popsułeś niczego wcześniejszymi eksperymentami, to demo ruszy z kopyta, to żadna magia. Przykładowe podłączenie dla biblioteki wskazanej w poprzednim poście to: #define TFT_RST 8 #define TFT_RS 9 #define TFT_CS 10 // SS #define TFT_SDI 11 // MOSI #define TFT_CLK 13 // SCK Oprócz tego oczywiście obowiązkowo masa GND i zasilanie VCC +5V i jedziesz. Linia SDI (11) to u Ciebie SDA. Biblioteka używa jeszcze pinu 3 Arduino do kontroli podświetlania LED, ale Twój wyświetlacz nie ma takiego wejścia więc ignorujesz to.
  21. Brakuje mi ładowarki, złącza robot↔otoczenie, zasilacza zewnętrznego w bazie itp. To ma być szkic idei a nie od razu szczegółowy plan. Rysuj bloczki tak jak bedą fizycznie połączone i jak sobie to wyobrażasz lub przynajmniej jak chciałbyś żeby to działało a jeśli nie wiesz co w którym będzie, nie pisz typu. Właśnie o ogólnym schemacie połączeń, zasadzie pracy całości i typach bloczków mamy dyskutować żeby wszystko do siebie w końcu pasowało. Możesz też nanosić napięcia i inne wielkości, które już znasz (prądy? moce?) lub planujesz. To może być odręczny rysunek ołówkiem na papierze - na wstępnych etapach takiego planowania poprawki wnoszone są co chwila a czysta forma graficzna jest sprawą drugorzędną. To co widzimy jest OK pod warunkiem, że balanser został tak zaprojektowany by brać 0mA prądu gdy napięcie ogniwa jest <4.20V. Pewnie tak jest, ale i tak jest to niestety poważna wada tego typu układów pasywnych (w sensie: niewspółpracujących z ładowarką), mogą zapobiegać wzrostowi napięcia dopiero powyżej 4.2V i dopiero wtedy zaczynać bocznikować celę opornikiem by pochłonąć nadmiar prądu. Jeżeli ładujesz prądem 0.5A a mały opornikowy balanser może wciągać "bokiem" np. 50mA to całe to równoważenie jest trochę udawane. Cela której szybciej napięcie narosło do maxa i tak będzie dalej przeładowywana. Tak naprawdę powinien tam włączać się tranzystor pochłaniający cały prąd, ale wtedy dostałby kilka Watów (2A*4.2V=8.4W) mocy i spłynął z płytki przy okazji grzejąc akumulator. Dlatego ładowarki modelarskie mają zwykle balanser wbudowany do śordka i poracuje on cały czas podczas ładowania. Wtedy możena pochłaniać ten dodatkowy prąd z aktualnie najwyższej celi przez cały czas trwania ładowania co daje dużo lepsze rezultaty. No ale to wymaga sprzężenia jednego z drugim i wspólnego algorytmu. Totylko tak na marginesie, żeby uzmysłowić Ci potencjalne problemy. Dorysuj brakujące bloczki tak by wyglądało to na pełny schemat zasilania (łącznie z ew. zarządzaniem/komutacją zasilań po stronie procesora i jego przetwornicą) i czekamy na schemat 2.0. Rysuj bez uprzedzeń, najwyżej będziemy poprawiać. To właśnie jest etap, gdy jest to zupełnie bezbolesne Pamiętaj, że odbiorniki za przetwornicami step-down DCDC biorą z pierwotnego źródła mniej prądu bo masz konwersję mocy. Malina potrzebująca 5V/200mA z w miarę naładowanego akumulatora 2S będzie ciagnąć trochę mniej, choć pod koniec możesz mieć kłopoty z utrzymaniem 5V. Konwertery obniżające lubią miec zapas (min. 2V?) a optimum pracy to Vin=2*Vout więc ideałem byłby to jednak 3S. Pytanie co z silnikami i resztą mocnych odbiorników - to pod nie trzeba optymalizować zasilanie.. Cele 18650 mogą być bez problemu ładowane prądem 1C więc dla ogniw 2.5Ah masz możliwość wpychania aż 2.5A co daje czas ładowania ok 1.5h od 0 do 100%. Te proste ładowarki liniowe mogą dawać ponad 1A (choć wtedy grzeją się niemołosiernie i czasem wyłączają się termicznie ale to jest przewidziane w ich konstrukcji) więc jeśli boisz się o bilans, być może trzeba zadbać o mocniejsze źródło na ich wejściach.
  22. Ten sterownik nie ma nawet trybu pracy I2C więc nie sugeruj się dziwnymi nazwami pinów. Przede wszystkim wrzuć czytelne zdjęcie odwrotnej strony tego wyświetlacza albo chociaż spisz i zapodaj nazwy wszystkich sygnałów na złączu. Wtedy uradzimy jak to podłączyć i który sygnał do którego pinu Arduino przy użyciu wskazanej biblioteki. Której używałeś do prób? Koniecznie musi obsługiwać LCD z ILI9225, tu jest jakaś: https://www.arduinolibraries.info/libraries/tft_22_ili9225 i ona faktycznie korzysta tylko z zapisu do wyświetlacza. Jeśli dobrze podłączysz, powinno zadziałać od pierwszego razu. Wydaje mi się, że te dzielniki skopały sprawę. Scalak widoczny na zdjęciu ze sklepu to prawdopodobnie konwerter poziomów i na 95% możesz spokojnie pracować z sygnałami 5V. No, ale zdjęcie (i nazwa tego chipu) konieczne.
  23. OK, to teraz najważniejsze: takie cudo to de facto miernik prądu czyli mili(mikro)amperomierz z rezystorem szeregowym. Samego miernika i jego czułości nie zmienisz, tj. on zawsze będzie miał ileśtam mili(mikro)amperów przy pełnej skali bo to wynika z samej konstrukcji "hardware'u". Jedyną możliwościa zmiany zakresu na większy jest dodanie własnego opornika szeregowego i to jest łatwe. Natomiast jeśli chcesz zmniejszyć zakres, musisz bardzo ostrożnie dobrać się do środka i wypatroszyć istniejący tam rezystor. Potem, po kilku pomiarach i obliczeniach (musisz mieć multimetr żeby zmierzyć prąd pełnego zakresu) wstawisz jakiś inny i będzie OK. Może się jednak okazać, że to nie wyjdzie i minimalnym zakresem gołego ustroju wynikającym z samej jego rezystancji wewnętrznej, nawet bez żadnego opornika są np. 2V. Jeśli nie masz wprawy w precyzyjnych pracach mechanicznych lub nie widzisz prostej metody rozmontowania tego ustroju pomiarowego, to rozszerzenia zakresu możesz dokonać metodami elektronicznymi (wzmacniacz), ale wtedy musielibyśmy więcej wiedzieć o tym co chcesz zrobić.
  24. Czy "panleowe" oznacza magnetoelektryczne ustroje pomiarowe z posobnikami? Bo wtedy sprawa jest prostsza, choć zawsze zmiana zakresu na mniejszy jest problematyczna. Pokaż dokładnie jakie to sa mierniki. Zmniejszneie zakresuu woltomierza polega na zmniejszeniu opornika szeregowego lub stopnia podziału jakiegoś wewnętrznego dzielnika a nie przez dodanie nowego. Wcale nie jest powiedziane, że te Twoje mierniki mogą w ogóle mierzyć tak małe zakresy. Być może w środku są na 5V i wtedy trzeba już się trochę postarać.
  25. Co to znaczy "losowo"? A jak szybkie jest to "gładziutkie" zbocze opadające? Ząbków w okolicach progu przełączania na jakie może zareagować wejście możesz na osyloskopie nie zauważyć. Jeżeli zbocze poprawnego sygnału cyfrowego,ma powiedzmy 5ns to w tym czasie nic się nie może wydarzyć. W Twoim przypadku, gdy rampa z powodu filtra RC ma np. milisekundę to przejście przez krytyczny zakres napięć bufora wejściowego może trwać np. 20us a w tym czasie może zostać rozpoznanych i zgłoszonych np. 5 albo 17 zboczy interpretowanych jako przerwania. EDIT: Jeżeli masz gdzieś w szufladzie jakiś bufor z wejściem Schmitta, np. 74HC14 lub 74HC132 lub 74LVC2G17... to wstaw go między filtr RC a wejście procka i sprawdź czy sytuacja się poprawiła. Nawet jeśli od ręki nie dysponujesz takim scalakiem, możesz taki dyskryminator śmieci zrobić z dwóch głupich inwerterów typu 74HC04 lub dwóch jakichkolwiek innych bramek odwracających np. 74HC00, 74HC02, 74HC86 itp i dwóch oporników.
×
×
  • Utwórz nowe...