Skocz do zawartości

marek1707

Użytkownicy
  • Zawartość

    6 619
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    566

marek1707 zajął 1. miejsce w rankingu.
Data osiągnięcia: 10 września 2023.

Treści użytkownika marek1707 zdobyły tego dnia najwięcej polubień!

6 obserwujących

O marek1707

  • Urodziny 17.07.1966

Informacje

  • Płeć
    Mężczyzna
  • Lokalizacja
    WAW
  • Zawód
    elektronik
  • Moje zainteresowania:
    modelarstwo, elektronika, rower

Ostatnio na profilu byli

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

Osiągnięcia użytkownika marek1707

Lokalny weteran

Lokalny weteran (17/19)

  • Za 25 postów
  • Za 5 postów
  • Za 100 postów
  • Za 1 tys. postów
  • Za 5 tys. postów

Odznaki

2,9 tys.

Reputacja

  1. To znaczy jak dużym zasięgu? Jakiego kodu? Jak szybko? Co będzie odbiornikiem? W jakich warunkach (dzień, noc, bezpośrednie światło Słońca, lampy wyładowcze)? Opornikami czy tranzystorami na razie się nie przejmuj - to rzecz wtórna, najpierw ustalmy co chcesz zrobić i po co. Pamiętaj, że tor transmisyjny ma nadajnik i odbiornik. Nie ma sensu wywalać amperów w nadajnik gdy odbiornik jest spaprany. Warto przyjrzeć się obu stronom. Czekamy na odpowiedzi.
  2. Istnieje cała klasa rozwiązań podajników wibracyjnych. To się świetnie sprawdza dla przedmiotów właśnie o nieregularnych kształtach czy nieznanej orientacji, dla których trudno zrobić dedykowany system, bo ciągle coś jest nie tak. Cukierki są tu świetnym przykładem. Nie mogą być lepkie rzecz jasna, ale dla opakowanych w dowolne papierki/sreberka to działa. Najpierw robisz "zbiornik" w postaci powiedzmy zwężającego się lejka o tak dobranych skosach, by drgające cukierki układały się w coraz węższy strumień. Pochylenie tego zasobnika także dobierasz, pionowe wcale nie musi być najlepsze - to zależy od masy, wielkości i "zadziorności" przedmiotów. Dalej masz poziomy "kanał" ze ściankami po bokach i zwykły silnik z masą na mimośrodzie (jeden lub więcej) tak zamocowany do tego wszystkiego, by drgania silnika (a co za tym idzie całej tej konstrukcji) powodowały ruch w jedną stronę. Na końcu jest przepaść do podstawionego pudełeczka oraz optyczny czujnik obecności i zniknięcia przedmiotu. Jeśli spadnie jeden zatrzymujesz silniki i czekasz na rozkaz. Potem włączasz prąd i czekasz aż podjedzie i spadnie następny. Zadziała i dla mentosów i dla orzeszków i dla ferrero i dla rafaello.
  3. https://www.mikroe.com/uart-mux-click https://www.tme.eu/pl/details/mikroe-3878/plytki-rozszerzajace/mikroelektronika/uart-mux-click/ Musisz tylko dodać dwa przełączniki ustawiające adres wybranego kanału (1 z 4). Jeśli potrzebujesz więcej linii, kupujesz takie trzy (i dodajesz jeden przełącznik), łączysz wszystko "w kaskadę" i masz 8 UARTów. Dla 4 modułów (i 4 przełączników) masz 12 a po zakupie 5 sztuk masz 16 kanałów. Można też połączyć moduły "równolegle" wykorzystuąjc wejście INH, ale wtedy będzie potrzebny dodatkowy dekoder bin->"1 z N". Wtedy jest wprost: N sztuk robi 4*N kanałów.
  4. https://www.pyroscience.com/en/products/all-meters/fdo2 https://www.mt.com/int/en/home/products/Process-Analytics/gas-analyzer/amperometric-sensor.html https://www.presens.de/products/o2/sensors
  5. Oczywiście masz rację, to nie miał być jakikolwiek zarzut. Po prostu pogadaliśmy o przetworniku a okazało się, że jednym prostym ruchem można usunąć większość problemów. To świetnie, że tak zdecydowałeś - ja też tak robię gdy z początku dobry pomysł zaczyna przy bliższym oglądzie sprawiać więcej problemów niż z niego pożytku. Szkoda jedynie, że od razu nie napisałeś jak wygląda pierwotny problem - brak pinów (patrz: zjem cokolwiek), wtedy dyskusja byłaby krótsza. Jakoś spodziewałem się, że proste metody (banan) wypróbowałeś (w myślach) wcześniej i na placu boju zostało tylko rozwiązanie z zewnętrznym ADC (naleśniki). Kosztownym i skomplikowanym, ale z jakichś powodów jedynym. Czy możesz napisać co robisz? Jeśli nie chcesz, to bez szczegółów, ale ciekaw jestem co to będzie za cudo z tyloma czujnikami nacisku i jeszcze paroma innymi wejściami analogowymi. Jakaś mata do tańca, coś do rehabilitacji, poduszka wykrywająca niespokojny sen czy dłoń robota niemiażdżąca podawanych szklanek? Może w innych fragmentach także popełniłeś już jakieś.. no, nieoptymalne decyzje? Chętnie wszyscy się temu przyjrzymy, poprawki na tym etapie nie kosztują prawie nic.
  6. Współczuję Twojej dziewczynie. - Proszę, powiedz mi jak zrobić naleśniki. - No @Zygzak, teraz chcesz robić, gdy mieliśmy usiąść do filmu? - Yhy, chodzą za mną od rana a i tak coś muszę zjeść, tylko na frytkach i kawie dziś jestem, pliiiz. - Rany, dobra, to szybko: odsyp szklankę mąki z tamtej szafki do miski i dolej tyle samo mleka. OK, teraz wbij dwa jajka, są w lodówce na górnej półce i dolej wodę. Jeszcze.. dobra, starczy. Ja posolę a Ty bierz się za mikser, trzeba to zmieszać na ciasto, takie bez klusków. No dawaj, dawaj, ruchy.. OK, wygląda nieźle. Masz tu patelnię, odpalaj gaz, gdzieś tu miałam olej, jest. Bierz dużą łychę, nie tę, większą, tam głębiej w szufladzie powinna być i dajesz ze dwie takie na patelnię. No co jest? Tłuszcz już gorący, dawaj.. - Ee nie, to ja już zjem banana. Nie bierz tego do siebie, to fikcja, wymyśliłem to na poczekaniu czytając ostatnią odpowiedź..
  7. Dziwne wnioskowanie. Moim zdaniem będzie wręcz odwrotnie. Właśnie "dzięki" przetwornicy problemy mogą być większe niż w innych rozwiązaniach zasilania. A jeśli brakuje pinów analogowych, to wolałbym użyć multipleksera za 1zł i wciąż używać wygodnego, 10-bitowego, wewnętrznego ADC niż kombinować z dodatkowym przetwornikiem gdzieś na I2C. https://www.tme.eu/pl/details/74hc4051d.652/dekodery-multipleksery-przelaczniki/nexperia/
  8. Być może w trybie half duplex jedyny pin UARTa jest mocnym wyjściem tylko w czasie nadawania znaku a podczas przerw w pracy nadajnika jest wejściem żeby w ogóle można było coś odbierać. Sprawdź jak HAL inicjalizuje ten pin albo doczytaj w Reference Manual jak wygląda sterowanie jego kierunkiem, bo możliwości jest wiele. Może to być (w czasie nadawania) wyjście OC, może być push-pull a i wejście może mieć (albo nie) podciąg. Jeśli linia nie ma podciągania do Vcc, to w zależności od tego co podłączysz to albo będzie wszystko dobrze (bo to coś co podłączyłeś wymusza sobie jedynkę) albo źle (bo coś ciągnie - nawet leciutko - do masy i między znakami widzisz po jakimś czasie od ostatniego bitu STOP stan zero więc nie rozpoznajesz poprawnie bitów START kolejnego znaku).
  9. @kaworu ma rację, obejrzyj to. Możesz przecież psuć ustawienia/konfigurację ustalone wcześniej dla SD, podczas inicjalizacji pracy z RAMem. STM32 mają wiele ustawień w bloku SPI, już pomijając te oczywiste typu polaryzacja czy faza zegara. Zmieniasz jakiś timing i kicha. Porównaj dokładnie jak ustawia SPI biblioteka dla SD a jak ta Twoja dla RAMu. Być może będziesz to musiał przestawiać "w locie".
  10. Tak, 5-woltowe I2C będzie działało przy 5-woltowym zasilaniu ADC i takim samym VREF. Tak, jeśli chcesz doprowadzić własne (o jakimkolwiek poziomie) napięcie odniesienia do pinu VREF to tak, musisz pracować z wyłączonym źródłem wewnętrznym, czyli z PD1=0, PD0=1. Swoją drogą, gdybyś tak ustawił napięcia tych swoich dzielników tak, by nie wychodziły poza 2.5V to mógłbyś pracować ze stabilną referencją wewnętrzną. To ma jeszcze tę zaletę, że na jednym z kanałów możesz wtedy mierzyć (przez dzielnik) np. napięcie zasilania czy napięcie baterii, bo masz wtedy odniesienie bezwzględne. Sekwencja pracy z tym ADC przez I2C jest prosta. Najpierw: START → zapis adresu I2C → zapis bajtu sterującego (numer kanału + bity trybu PD) → STOP a potem: START → zapis adresu I2C → odczyt wyniku → STOP ewentualnie, gdy potrzebujesz ciągu wielu odczytów z tego samego kanału możesz pójść na skróty. Po jednokrotnym wysłaniu pierwszej sekwencji ustalającej numer kanału i tryb, możesz pojechać tak: START → zapis adresu I2C → odczyt wyniku → → REPEATED_START → zapis adresu I2C → odczyt wyniku → → REPEATED_START → zapis adresu I2C → odczyt wyniku → ................... → REPEATED_START → zapis adresu I2C → odczyt wyniku → STOP I jeszcze na koniec: ponieważ scalak ma tylko jeden pin zasilania VDD i jest on wspólny dla części cyfrowej (rejestr SAR, sterowanie, interfejs I2C) oraz analogowej (multiplekser wejść, DAC i komparator) to tutaj także trzeba troszkę uważać na zakłócenia. Producent zaleca (jeśli nie możesz zrobić w ogóle osobnego stabilizatora dla ADC) choćby prosty filtr RC np. 5Ω/1uF (rys. 13) i tego bym się trzymał. Natomiast pokazane tam oporniki podciągające 2k przy Twoich 5V są trochę maławe. Pozostań przy typowym zakresie 4.7...10k, a jeśli nie będziesz żyłował prędkości interfejsu na maksa lub nie robisz 50cm drutów, to i coś większego (np. 22k) zadziała. Co Ty tam masz, zawziąłeś się na jakąś historyczną 8051, że masz 5V procesor bez ADC?
  11. Pin COM jak sam nazwa wskazuje jest wspólnym poziomem odniesienia dla wszystkich pozostałych wejść analogowych pod warunkiem, że go wykorzystujesz. W tabelce 2 (str. 14) karty katalogowej masz pokazane jakie kombinacje wejść są możliwe do wykorzystania przy startowaniu konwersji. Pierwszych 8 pozycji to pomiary różnicowe: przetwornik mierzy napięcie na wybranym pinie wejściowym względem sąsiedniego pinu. Jeśli np. wybierzesz tryb 0001 i podasz na CH2 napięcie +2V a na CH3 napięcie +0.2V to dostaniesz wynik 1.8V (wyrażony w LSB układu rzecz jasna). Masz cztery pary takich wejść na których możesz dokonywać pomiarów różnicowych (CH1/CH2, CH3/CH4 itd..) i dwie kombinacje polaryzacji dla każdej pary (np. CH1/CH2 i CH2/CH1). Osiem dolnych pozycji, to pomiary tzw. single-ended czyli wszystkie odniesione do wspólnego pinu COM. Jeśli podłączysz go wprost do masy, to w zakresie trybów 1000..1111 będziesz po prostu mierzył napięcia na 8 wejściach względem swojego GND. W tym akurat przetworniku możliwości pinu COM (a także każdego wejścia oznaczonego znakiem "minus" w trybie różnicowym) nie są zbyt duże, bowiem napięcie na tych wejściach musi się zawierać w przedziale -0.2V..+0.2V względem GND i służy to raczej kompensacji ew. spadków napięcia na masie niż prawdziwie różnicowemu pomiarowi. Na początku i w większości prostych przypadków (oraz dla bezpieczństwa - jeśli nie bardzo czujesz co robisz) podłączasz COM do GND. Zakres napięcia odniesienia jest taki jak zasilania układu. Jeśli chcesz mierzyć w zakresie 0..+5V to możesz dać VREF=+5V ale musisz jednocześnie zasilać ADC z +5V. Niestety, z drugiej strony interfejs I2C do poprawnej pracy wymaga stanów wysokich (podciągania opornikami) do min. 0.7*VDD, co w przypadku +5V daje min. 3.5V. Zatem w przypadku zapodania na przetwornik zasilania +5V nie może on współpracować z interfejsem (i procesorem) 3.3V chyba, że piny I2C tego procka (i wszystkich innych scalaków wiszących na tym I2C) są odporne na podciąganie do +5V. Jeśłi zapodajesz własne VREF (zamiast skorzystać z dobrego wewnętrznego) sam musisz zadbać o to by było czyste, bo śmiecie z odniesienia widać bezpośrednio w wynikach. Wejście odniesienia jest tutaj buforowane tj. pobiera znikomo mały prąd (20uA) i nie musisz kombinować z LC. W dodatku jest to tylko 8-bitowy ADC więc wystarczy, że zamiast bezpośredniego połączenia do VDD dasz opornik szeregowy np. 100Ω i kondensator 100nF-1uF do masy. Oczywiście jeśli na dostarczonym zasilaniu będą długie zapady/obniżenia związane np. z dołączaniem dużych obciążeń (silniki, serwa, przekaźniki, LEDy mocy) a nie szpilki od pracy układów cyfrowych, to żaden filtr nie pomoże i wyniki będą inne dla różnych poziomów VDD/VREF.
  12. Jeśli z jakiegoś powodu nie chcesz by prąd był ustawiony opornikiem szeregowym a aktywnie tranzystorem, to dodajesz drugi i robisz źródło prądowe. Wtedy układ sam sobie ustala jak wysterować główny tranzystor by płynął zadany prąd. Manipulowanie przy opornikach w bazie i próby ustawienia zadanego prądu kolektora z obciążeniem czystą diodą LED to prosta droga do porażki: ani zasilanie nie jest stałe, ani pin procesora nie jest idealnym źródłem napięcia, ani złącze BE nie ma stałego spadku w temperaturze (a tranzystor będzie się grzał), ani też wzmocnienie stałe nie jest. Zabawa w regulację prądu kolektora poprzez potencjometr w bazie jest może dobra do "eksperymentu naukowego" gdy uczysz się jak działa tranzystor, ale nie do praktycznego układu. Jak rozumiem, w stosowaniu banalnego opornika szeregowego boli Cię to, że nie wiesz jak bardzo dużo prądu musisz wpuścić w bazę (i trochę tego prądu szkoda) by wejść w głębokie nasycenie, ważne z punktu widzenia osiągnięcia małego napięcia UCE, czy tak? A jeśli tak, to użyj MOSFETa - oszczędzisz 100% statycznego prądu bazy a jeśli użyjesz odpowiednio dobrego tranzystora, RDS będzie znikomo mały i całość policzy się książkowo. I jeszcze: co czego potrzebujesz tak dużego prądu? Czy możesz napisać co konkretnie robisz? Bo może są inne pomysły na to, co chcesz przewalczyć brutalną siłą?
  13. Nie ma rady, musisz to dobrać indywidualnie. Dlatego nikt tak nie robi i nie bazuje na wzmocnieniach konkretnej sztuki tranzystora, bo to żadna stała, nawet dla tego samego egzemplarza.
  14. Oczywiście, przeglądanie "klawiatury" - nawet w postaci jednego przycisku w obsłudze przerwania okresowego to typowe rozwiązanie. Wręcz nikt normalny nie podłącza przycisków do przerwań sprzętowych. A czy zrobisz sobie period 1ms, 5ms czy 20ms to nie ma to większego znaczenia. I tak przecież procedura programowa wyznaczająca stan stabilny powinna bazować na swoich licznikach i co najwyżej ustawisz ją na 50, 10 czy 2 takie same odczyty. Dopiero tak odfiltrowany stan - już bez żadnych odbić - przekazujesz dalej, do detektora wciśnięć, puszczeń a nawet bardziej wyrafinowanych kombinacji (dwuklik, dłuższe/krótsze naciśnięcia itp). Na tym samym przerwaniu okresowym możesz też puścić proces/automat zapalania i gaszenia LEDów - może mieć swoje własne liczniki czasu i graf przejść wyzwalany zdarzeniem (zapaleniem flagi?) otrzymanym z procesu klawiatury. Wszystko robisz na jednym timerze i żadne więcej zasoby sprzętowe do tego nie są potrzebne.
  15. Nie, to oznacza tylko tyle, że w tym konkretnym potencjometrze nie możesz wydzielić więcej jak 2W w najbardziej sprzyjających warunkach, czyli przy dobrym chłodzeniu i zaprzęgnięciu do pracy całej ścieżki oporowej. To nie ma nic wspólnego z żadną zarówką czy innymi elementami dołączanymi z zewnątrz.
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.