Skocz do zawartości

marek1707

Użytkownicy
  • Zawartość

    6013
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    510

Wszystko napisane przez marek1707

  1. Po pierwsze nie napisałem, że nie, tylko że nie teraz. Po drugie nawet nie wiesz co chcesz zrobić. Tak, jasne, przyciski, przełączniki, potencjometry bla bla bla. Czy w ogóle zastanowiłeś się nad moim pytaniem, czy jednak nie bardzo rozumiesz o co chodzi? Ten motyw o wirtualnym porcie szeregowym lub urządzeniu klasy HID a jeśli tak to jakim? Wiesz z czym może współpracować Twój program a z czym na pewno nie? To dowiedz się, bo to jedno z kluczowych założeń a od odpowiedzi zależy m.in. wybór płytki. A kiedy powinieneś uznać, że możesz zacząć to robić? Gdy Twoje własne programy będą obsługiwać dowolne klawiatury mechaniczne a Ty sam będziesz umiał narysować ich schematy i je rozumiał, gdy będziesz wiedział jak oprogramować wybraną klasę USB od strony urządzenia, gdy zrozumiesz jak wygenerować jakieś przerwanie okresowe (timery?) i jak w nim obsłużyć ADC, jak filtrować jego wyniki, jak obsługiwać serwomechanizmy itd itp. Nie twierdzę, że w asemblerze - to byłoby przegięcie, ale swobodne korzystanie z języka i gotowych bibliotek choćby i na Arduino byłoby wskazane. Dlatego wspomniałem o kursach i zestawach do prób własnych a jeśli masz już jakiś sprzęt, to na co czekasz? Za miesiąc intensywnej nauki nie powiesz o sobie "początkujący" lub "zielony", choć będzie to dopiero początek długiej drogi i może zaczniesz dostrzegać ile nie wiesz. A konkretne przełączniki czy potencjometry? Wybieraj do koloru, bo nikt tego nie zrobi za Ciebie. Sklepy z elektroniką czekają. Sam musisz określić czy duży czy mały, czy gruby czy chudy albo czy drogi lub tani, bo żadne parametry elektryczne oprócz konfiguracji styków nie są tu ważne. Do tego jakieś gałki (jest kilka typowych średnic - tak wałków jak i otworów w gałkach, ale wiele elementów ma "autorskie" pomysły), być może nakładki na dźwigienki jeśli dany typ jest fajny (bo np. tani), ale źle wygląda na tablicy z powodu wielkości. https://www.tme.eu/pl/katalog/przelaczniki-i-kontrolki_100232/ https://botland.com.pl/pl/70-przelaczniki-i-przyciski https://www.piekarz.pl/przelaczniki-i-kontrolki/ https://slawmir.com.pl/przelacznik-inny-c-100_102.html https://pl.farnell.com/c/przelaczniki-i-przekazniki/przelaczniki https://lispol.com/oferta/przelaczniki-przyciski/dzwigniowe-mts
  2. Witamy. Wybacz, ale wygląda to jak przypadek który coraz częściej się tu pojawia: nic nie mam, nic nie wiem ale chcę zrobić coś jak na obrazku. Marzenia to nic złego, ale jakiś kontakt z rzeczywistością by się przydał, nie sądzisz? Dorosły człowiek swój rozwój umie zaplanować a i sam proces kosztuje: zarówno czas jak i pieniądze. Rozumiem, że nie chcesz uczyć się na własnych błędach - i słusznie, tylko dlaczego uważasz, że znajdziesz ludzi gotowych poprowadzić Cię za rączkę od zera do bohatera? Ten projekt będzie wymagał od Ciebie przyswojenia mnóstwa wiedzy, bo Forum jest od dawania porad i ew. wyznaczania/korygowania kierunków a nie robienia projektu równolegle z Autorem. Zatem jeśli jesteś gotów na całe tygodnie (a raczej miesiące) nauki, to do dzieła. Po pierwsze w tego typu opisach używaj wypunktowania, ew. numeracji. To wszystko jest dostępne w panelu edytora a bardzo ułatwia odpowiadanie i precyzuje dyskusję. Pozwoliłem sobie na edycję Twojego tekstu: czerwone - przełączniki ON/OFF, które po przełączeniu pozostają w danej pozycji zielone - przełączniki 3-pozycyjne, które pozostają w zadanej pozycji ciemno niebiesko - przełączniki ON/OFF/ON, ustawione są w pozycji środkowej, po przełączeniu w którąkolwiek stronę wracają na środek żółte - przełączniki obrotowe wielopozycyjne (dwa 7-pozycyjne i cztery 4-pozycyjne), jasny niebieski - potencjometry obrotowe pomarańczowe - potencjometry wieloobrotowe różowy - przełączniki gdzie górna i środkowa pozycja działa jak ON/OFF jednak dolna odbija po puszczeniu na środek Wygląda lepiej, prawda? No to po kolei. Przełączniki 2- i 3-pozycyjne w zasadzie w dowolnych konfigurtacjach stabilności-niestabilności są do kupienia. Typowe potencjometry mają ok. 270° obrotu a wieloobrotowe, 10 obrotów. Czy to jest OK? Punkt ostatni - w razie kłopotów możesz zrealizować umieszczając dodatkową sprężynę powrotną na jednej z pozycji skrajnych. Przełączniki obrotowe:możesz kupić większe (w sensie liczby pozycji) a potem tak zaprojektować ich montaż (np. poprzeczka umieszczona za tablicą i przełożona przez średnicę osi opierająca się o ograniczniki mechniczne) by uzyskać mniejszy zakres ruchu. W ten sposób bierzesz np. popularne 8-pozycyjne (kilka takich samych jest tańsze w zakupie) i robisz z nich cokolwiek mniejszego. Najgorzej będzie z tymi elementami które muszą same coś robić samodzielnie. Przełącznik przechylany możesz popchnąć jakimś serwomechniazmem (juz czytaj jak się je podłącza i obsługuje) na żądaną pozycję (choć sprzęgło umożliwiające jednoczesną pracę ręczną też nie będzie trywialne), ale żeby obrotowy ustawił się sam w którejś (skrajnej) pozycji to będzie wyższa szkoła mechaniki. Masz jakieś warsztat, rysujesz w CADzie, projektujesz tego typu mechanizmy? To m.in. miałem na myśli mówiąc o nauce. Bo jak rozumiem pozyskanie oryginalnych manipulatorów z 737 nie wchodzi w grę? A teraz elektryka. Ze swojej strony propoponowałbym wybór mikrokontrolera (a zatem całej płyteczki) takiego w którym USB jest obsługiwane przez niezależny układ, niechby i konwerter UART/USB (FT? CH-cośtam?) bo w małych i prymitywnych prockach obsługa endpointa USB może wiązać się ze sporym narzutem czasowym i nieuniknionymi przerwami w dostępnie do CPU. Tak więc już lepszym rozwiązaniem z punktu widzenia komfortu pracy programu będzie poczciwe UNO. Z drugiej strony jeśli układzik ma się przedstawiać jako klawiatura czy coś-tam-innego HID to własne USB będzie konieczne, chyba że dostępne są jakieś programy podpinające np. wirtualny port szeregowy do Twojego symulatora latania a on sam umożliwia dowolne skonfigurowanie przychodzących kodów do funkcji w kokpicie. Kolejna sprawa to sposób podłączenia tego wszystkiego do Arduino(?). Każda rzecz z osobna jest podpinana do mikrokontrolera w sposób trywialny, ale gdy masz tego tyle, zaczyna istnieć problem ograniczonej liczby pinów i konfiguracji układów pośredniczących. Jestem pewien, że dostaniesz tyle diametralnie różnych porad ilu będzie chętnych do dyskusji. Począwszy od użycia Arduino serii mega i wiąchy kabli (jeden pin to jeden zestyk przełącznika), poprzez rejestry przesuwające, a skończywszy na multiplekserach (analogowych i/lub cyfrowych) czy nawet kilku małych Arduino Mini połączonych ze sobą przez I2C czy Bóg wie jak. Acha, są jeszcze dedykowane scalaki do obsługi klawiatur - zapomniałem. Każde z tych rozwiązań ma swoje zady i walety a nikt za Ciebie ich nie rozważy więc to kolejny punkt w Twoim planie prac. A kiedy już coś postanowisz, przyjdzie czas na rysowanie schematu (programy do tego to osobny czas na naukę a pierwszy projekt robisz zwykle dla wroga), jego uzgodnienie i weryfikację przez Forum (bo sam nie jesteś w stanie ocenić jego sensowności) i zakupy - cała masa sklepów i ciągłe wybory tego zamiast tamtego. Czy masz jakiś zestaw narzędzi, mierników, lutownic, oporników, kabelków, złącz, innych drobnych elementów itp? Bo jeśli nie, to to także trzeba pozyskać a spróbuj zapytać (dla eksperymentu) jaką lutownicę/stację kupić.. Do tego (być może) jakieś płytki uniwersalne do montażu dodatkowych elementów pośredniczących, sam montaż (niektóre elementy - także przełączniki - sa naprawdę delikatne i warto mieć trochę doświadczenia aby ich nie popsuć), samo mozolne uruchamianie by upewnić się krok po kroku, że wszystko polutowane jest a) zgodnie ze sztuką, b) zgodnie ze schematem i wreszcie pisanie programu. Do tego czasu powinieneś już umieć pisać programy obsługujące przyciski, przetwornik ADC i komunikację. Wypadałoby więc od razu klupić jakies tanie Arduino (wcale niekonicznie docelowe) i zacząć trenować: począwszy od instalacji IDE, poprzez gotowe wprawki dostarczane "na gotowo" i ich modyfikacje do coraz bardziej samodzielnych programów - to są miesiące dłubania i rozkminiania nowych dla początkującego koncepcji.. Nie napisałeś nic o wyświetlaczach, LEDach itp. Jak rozumiem, to wszystko będziesz miał na ekranie a panel ma być tylko "wejściem", bez żadnych sygnalizacji stanu, czy tak? Podsumowując: i tak nie zrobisz tego z marszu więc cała sprawa rozmyje się na spory kawał czasu sprowadzając się do normalnego toku przechodzenia przez kolejne kursy "Lutowanie dla opornych" czy "Elektronika dla przedszkolaków" (dostępne na Forbocie na pasku tytułowym powyżej, może pod trochę innymi nazwami) więc dlaczego planowo nie zacząć właśnie od tego (plus zakup Zestawu, bo bez własnych eksperymentów zniechęcisz się po jednym dniu czytania) mając wciąż z tyłu głowy odległy cel? W tym sensie mówiłem o planowaniu własnego rozwoju - do tego etapu raczej nie potrzebujesz pomocy Forum a gdy przyjdzie czas na pierwszy samodzielny projekt -jesteśmy do dyspozycji. To jeszcze nie ta chwila, wierz mi.
  3. OK, tylko że nawet w tak prostym układzie każdy element zależy od pozostałych (jak na talerzu makaronu: tu pociągasz a gdzieś się rusza). Skoro przeniosłeś sterowanie ręczne do kolektora, to przestała być potrzebna dioda w bazie a opornik do masy (nowy R4), który wcześniej był wymagany z uwagi na odcięcie bazy tranzystora przy obu diodach zablokowanych teraz będzie pełnił rolę jedynie ustalania Ube=0V w przypadku gdy powyższy driver zostanie odłączony z jakiegoś powodu (podczas testów? uruchamiania? pomiarów?) od pinów procesora. W przeciwnym razie procesor steruje albo do +5V albo aktywnie do masy i opornik może być spokojnie zwiększony np. do 22-100k. Niemniej powinien zostać, bo sytuacja braku sterowania (porty na wejście) zachodzi także podczas wielu sekund programowania procka nowym kodem.
  4. Tak, właśnie o dodanie R4 mi chodziło. Ażeby być dokładnym: przy obliczeniach prądu dla obwodu bazy zaczynasz od napięcia z portu procesora (które nie będzie równe 5V jeśli tylko jakikolwiek prąd z pinu pobierasz a im go więcej tym napięcie niższe - odsyłam do karty katalogowej procesora, tutaj możesz bezpiecznie przyjąć np. 4.5V), od tego odliczasz nie tylko napięcie diody szeregowej (0.3V - może być) ale i napięcie Ube tranzystora (0.7V?) i dopiero to co zostaje odkładasz na rezystorze ograniczającym/wyznaczającym prąd. Na szczęście przyjęty "mnożnik" (czyli wzmocnienie prądowe tranzystora) = 10 jest na tyle pesymistyczny, że naprawdę nie robi różnicy czy przy 5V Arduino użyjesz opornika 2k, 2.2k czy nawet 3.3k lub 5.1k bo tranzystor z przekaźnikiem w kolektorze i tak wejśdzie w nasycenie a różnica będzie polegała jedynie na jego głębokości, czyli na tym czy stracisz na przejściu C-E 100mV czy 300mV z 12V zasilania. Moim zdaniem nie ma to znaczenia dla poprawnej pracy przekaźnika a moc strat w tranzystorze w każdym przypadku jest tak minimalna, że także w jej kontekście nie ma się czym przejmować.
  5. Wartości oporników nie muszą być tak małe. Zauważ, że jeden taki dzielnik będzie pobierał ok. 3.5mA przy 12V. Jeśli zrobisz tego kilka (nie wiemy ile sygnałów z instalacji chcesz wpuścić do sterownika) to łatwo zrobi się kompletnie zmarnowane 10mA albo więcej. Nawet jeśli zasilanie głównej przetwornicy będziesz odcinał kluczykiem/zapłonem (czy tak?), to sprawdź czy sygnały sterujące 12V także wtedy znikają (bo np. niektóre lampy mogą byż włączane zwieraniem od strony masy). Szkoda prądu. W każdym razie kilkukrotne zwiększenie rezystancji w dzielniku - przy zachowaniu stosunku - niczego nie popsuje a pozwoli zaoszczędzić trochę prądu. W wojsku mówiło się o "elementach" takich jak proponowana przetwornica "Odporny na naukę i trudny do zajeb..nia" co oznaczało gości idealnie pasujących do warunków życia na kompanii. Maks. napięcie wejściowe tej płyteczki (30V) dobrze pasuje do zastosowań automotive, choć niestety układ ma jedną podstawową wadę: potencjometry. Te elementy zupełnie nie sprawdzają się w środowisku narażonym na drgania, wilgotność, spore zmiany temperatur i ich zakres. Dlatego poszukałbym czegoś nieregulowanego 5V, gdzie nic nie może łatwo tego napięcia zmienić. W przeciwnym razie możesz pewnego razu ze zdziwieniem stwierdzić, że nic nie działa bo albo masz 3V zamiast 5V albo wręcz przeciwnie, wszystko jest spalone bo i diody i procesor dostały nagle 8V z powodu głupiego niekontaktu na ścieżce oporowej potencjometru. Pewnym wyjściem jest zakup tej płytki i wymiana wszystkich potencjometrów na oporniki stałe, ale to już wymaga trochę roboty i posiadania bazy elementów. A wejście układu zasilania koniecznie powinieneś ochronić a) przed zakłóceniami impulsowymi z alternatora, b) przed odwróceniem polaryzacji baterii, c) przed syfem RF generowanym w instalacji (zapłon), d) przed śmieciami produkowanymi przez Twoją własną przetwornicę wysyłanymi do szyny zasilania. Warto też wspomnieć, że dobrze byłoby sprawdzić jak zachowuje się konkretny zasilacz w warunkach samochodowych, np. czy szybki/impulsowy spadek zasilania z 13 do 7V (np. w chwili załączenia rozrusznika) albo ciąg szybkich impulsów 11V/15V (start alternatora) nie skutkuje dziwnymi zamianami napięcia na wyjściu. No, trudny temat sobie wybrałeś.. Do tego typu zastosowań istnieją specjalne elementy, np. https://www.tme.eu/pl/katalog/?search=rbo08 (lub jakaś inna, ale raczej potężna 1.5kW dioda transil 20-24V) plus do tego jakiś filtr EMI bo na pewno nie chcesz, by po użyciu chińskiej przetwornicy niespełniającej żadnych norm RF Twój motocykl stał się jeżdżącą zakłócarką wszystkiego co radiowe: https://www.tme.eu/pl/details/emi222t-rc/filtry-przeciwzakloceniowe-tht/bourns/ plus kilka (100nF/50V + 1uF/50V) kondensatorów ceramicznych uzupełniających ten filtr (po obu jego stronach) i jeden dobry elektrolit min 220uF/50V. Wszystko to rzecz jasna za diodą (diodami) zabezpieczającą.
  6. Teoretycznie wystarczy, ale zakres napięć może być sporo szerszy. Przecież podczas odpalania po zimnej nocy napięcie może chwilowo spaść podczas pracy rozrusznika nawet poniżej 8V a wtedy dzielnik powoli przestaje dawać radę i sterownik zgłupieje. Lepszym pomysłem jest policzenie dzielnika tak, by dawał np. 4.5..5V dla 8V a następnie wstawienie diody Zenera (np. 4.3V) równolegle do dolnego opornika. To znacznie rozszerza zakres napięć dla których procesor dostanie poprawne napięcie w stanie wysokim. Dla pewności możesz tam jeszcze dorzucić (równolegle do diody) kondensator (100nF?) bo instalacja pojazdu pełna jest strasznych rzeczy. Tak samo dobrze musisz zabezpieczyć wejście ew. przetwornicy/stabilizatora zasilającego całość, bo ciągi impulsów 20-30V na linii 12V to normalka.
  7. No to po kolei (szkoda, że nie numerowałes pytań, byłoby łatwiej do nich się odnosić): Sterowanie ręczne jest oczywiście w ten sposób możliwe. Jeśli tylko źródło prądu bazy ma wspólną masę ze źródłem zasilania przekaźników tj. oba prądy (Ib i Ic) spływają do tej samej szyny GND na której stoi emiter, to jest OK. W szczególności może to być jedno źródło 12V albo tak jak tutaj 12V i 5V. Moim zdaniem prościej byłoby wstawić sterowanie ręczne poprzez zwykłe zwieranie kolektora na krótko do masy (oszczędzając diody i opornik) co tranzystorowi w niczym nie przeszkadza ale tak, na diodoej bramce OR też można. Tak, układ wokół cewki przekaźnika (sygnalizacja i zabezpieczenie) ma sens i jest poprawny. Diody są w porządku, choć nie muszą być diodami Schottky. Istnieją diody podwójne np. BAV99, BAV70 czy BAW56 w małych obudowach, które są idealne do tego typu małosygnałowych/logicznych zastosowań. Oczywiście istnieją też wersje Schottky w SOT23 (BAT54A, BAT54C, BAT54S). Nie wiem z jakich wyliczeń a raczej z jakich do nich założeń korzystasz więc trudno ocenić wyniki. Skoro potrzebujesz ok. 25mA w kolektorze to spokojnie możesz założyć 1-2mA w bazie. To przy sterowaniu z 5V wymaga (5V-0.2V-0.7V)/2mA=2k, a przy 12V: (12-0.2-0.7)/2mA=5.6k. Wygląda, że założenia co do tranzystorów mamy podobne Wszystko w okolicach tych rezystancji zadziała. Jedyna uwaga: nie masz żadnego elementu który wymuszałby wyłączenie tranzystora, bo gdy Arduino poda stan niski a switch będzie wyłączony, to baza zaczyna wisieć w powietrzu (nie, diody nie zwierają do masy w tę stronę) a tego bardzo nie lubimy. Pojawia się wtedy niesterowany węzeł o sporej impedancji, który chętnie łapie wszelkie zakłócenia a tych w środowisku maszynowo-samochodowym nie brakuje. Dlatego opornik bezpośrednio od bazy do masy (np. 10k) jest konieczny. Ponieważ przy 0.6V..0.7V na bazie pochłonie on trochę prądu (dla 10k to tylko 60uA ale nie wiemy ile wstawisz), trzeba przeliczyć oba oporniki sterowania tak jakby prądu Ib było potrzeba odrobinę więcej.
  8. Kolega miał chyba na myśli, że konwersję 12V sygnałów sterujących na 5V wejścia procesora (zapłon, stop, kierunki itp) zrobi poprzez wstawienie stabilizatorów po drodze To się robi na opornikach. Stabilizator co prawda wypuści 5V gdy dostanie 12V, ale nie zapewni stanu niskiego - przecież nie zwiera swojego wyjścia do masy gdy Uin=0V. Przeczytaj rozdział podręcznika podstaw elektroniki pt. "Dzielniki napięcia" i może jeszcze coś o diodach zabezpieczających lub chociaż Zenera.
  9. Widzisz tylko zdjęcia i opis, nie wiesz jak działa. Mając swój rozumek możesz spokojnie wyciągać wnioski zamiast wierzyć we wszystko co wciskają w sklepach. Samo ramię Vellemana jest zrobione ledwo-ledwo po kosztach (wszystko plastik, zero precyzji, napędy bez żadnych marginesów mocy) więc dlaczego ten sterownik miałby być inny? Jeżeli zamiast komputera z USB podłączysz tam np. mocny (2A?) zasilacz z taką samą wtyczką, wtedy jest szansa na sensowne działanie kilku silników na raz. No i nie wiesz jakich driverów tam użyto. W drugim przypadku autor wstawił potężne 4xD o wydajności nawet i 2A , co jest znacząca różnicą względem rachitycznych paluszków czy nawet wtyczki USB z kompa. A widząc ile te baterie kosztują i ile ich będziesz zuzywać do zabawy zanim napiszesz cały program i nie znudzi Ci się ta działalność, to od razu zainwestowałbym w zasilacz i zapomniał o problemie albo kupił 2xLipol, niechby i jakieś dobre 2x18650 (będzie jak znalazł do następnych projektów) w koszyczku lub spakietowane na gotowo do 2S/7.2V. Nie Ty pierwszy i zapewne nie ostatni na tym Forum próbuje jechać po kosztach ślepo naśladując instrukcje z internetu. Przecież to ma jedynie fajnie wyglądać na pierwszy rzut oka, być "klikalne" i zadziałać do zdjęcia/filmiku, ale z ekonomią i dobrą praktyką inżynierską wspólnego ma niewiele. Przy okazji: właśnie decydując się na zasilanie bateryjne, gdzie cena każdej mAh jest na wagę złota, powinieneś dobrze przemyśleć lepsze drivery. Tracąc na nich np. 30% mocy tracisz dokładnie tyle samo pieniędzy na grzanie scalaków. Układ będzie działał, ale czy fajnie jest jechać na 3 działających cylindrach zamiast na 4 i zostawiać za sobą pióropusz dymu z benzyny wylanej bezpowrotnie na asfalt? Oczywiście to Twój projekt, zrób jak uważasz. Jeśli Twoim podstawowymn ograniczeniem są np. koszta wytworzenia bo zwyczajnie nie masz więcej kasy, to nie ma o czym dyskutować - jesteś skazany na rozwiązania budżetowe a szybka nauczka z tego będzie taka, że to drogie hobby i dobrych podzespołów i projektów nie robi się za kilka złotych, jak próbuje nas do tego przekonać wielu sprzedawców.
  10. No to jeśli istnieje program w którym wyświetlacz działa poprawnie, to znaczy, że sam hardware jest OK a problem leży w tym drugim kodzie. Może pokaż jeden i drugi program (za pomocą tagu "Wstaw kod") i daj nam szansę oceny Twoich wysiłków i w ogóle jakiejkolwiek pomocy bez konieczności czytania w Twoich myślach. Czy przed wysłaniem swojego postu czytałeś obowiązujące tu zasady zakładania wątków z prośbami o pomoc?
  11. A to może prościej otworzyć wkrętaczkiem obudowę klawiatury i podlutować się dwoma kabelkami pod klawisz "A"?
  12. Na to bym stawiał, choć może nie tyle "prądu" co elementów których próbujesz używać. Kondensator naładuje się przez diodę LED (i przez diodę zabezpieczającą wejście bramki bo w środku scalaka zamiast trójkącika z kółkiem jest kilkanaście osobnych elementów - może warto dowiedzieć się jak taka bramka jest zrobiona?) przy pierwszym stanie wysokim na wyjściu i tyle. Zmiany stanu wyjściowego na niski nie spowodują już niczego więcej, bo LED będzie w stanie zaporowym. Układ działa w najlepszej wierze tak jak go zrobiono, nie wie przecież jaki był Twój zamiar. A jaki był?
  13. No i..? Jakieś wnioski z tego co napisałem wcześniej? Podsumowałeś prądy na linii +5V? Starczy wydajności stabilizatora pokładowego? Czekamy na odpowiedź. A teraz sprawa głównego źródła zasilania: masz 5 silników z których każdy bierze w czasie pracy "w powietrzu" ok 1W a przy obciążeniu (tym słabo zaprojektowanym mechnicznie i ciężkim ramieniem) pewnie z 3-4W i planujesz zasilać całość z USB dającego wszystkiego razem 2.5W? Masz już jakieś doświadczenia w zakresie takich projektów "na oparach"? Próbowałeś swoich sił np. w przejeździe samochodem z Wawy do Gdańska na 1 litrze paliwa albo przejechaniu etapu Tour de France na 1 batoniku i szklance wody? Wtedy można by uznać, że w trudne rzeczy pakujesz się świadomie ale jeśli nie (a na to stawiam), to wygląda na mocne niedoszacowanie potrzeb, nie uważasz? Od razu radzę kupić mocny zasilacz min. 6..7.5V/4..5A i przestać sie cackać, bo inaczej cały czas włożony w projekt, jego planowanie, montaż i oprogramowanie zmarnujesz już na etapie nierealnych założeń. https://www.tme.eu/pl/details/rps-30-7.5/zasilacze-otwarte/mean-well/ Pamiętaj, że te silniki mają sensowną moc przy napięciu 5-6V a na tanich mostkach jakie wybrałeś spada z 1.5V grzejąc je przy okazji niemiłosiernie. Także nawet jeśli przy nich zostaniesz, zacznij myśleć o płytce drukowanej z dużymi polami miedzi lub blaszkach na radiatory. Niestety, jeśli zaoszczędzisz w jednym miejscu to w drugim przepłacisz. Na Twoim miejscu zmieniłbym niewygodne scalaki (których jedyną zaletą jest dziś cena) wymagające wlutowania w dobrze zaprojektowaną termicznie płytkę (bo chyba nie sądziesz, że zrobisz układ mocy na płytce stykowej?) na gotowe moduły nowoczesnych driverów, np. takie: https://botland.com.pl/pl/sterowniki-silnikow-dc/546-pololu-drv8833-dwukanalowy-sterownik-silnika-108v-12a.html Acha i jeszcze sprawa PWM: będziesz potrzebował mnóstwa sygnałów do sterowania silnikami. Jak chcesz rozwiązać płynne sterowanie prędkością przy 5 mostkach i 10 PWMach za pomocą tego małego Arduino? Nie skupiaj się jedynie na połączeniach elektrycznych ale także myśl o tym, jak ma to działać gdy już to zmontujesz hardware i przyjdzie do pisania programu.
  14. Skoro zmieniasz sposób zasilania to wypadałoby przeliczyć od nowa bilanse prądów: w szczególności czy stabilizator +5V na płytce Nano wystarczy dla procesora, USB, modułu BT, trzech mostków i diody LED - bo to wszystko będzie na nim wisiało. Co to za silniki (napięcie, prąd, moc albo wielkość lub chociaż typ)? Jak bardzo będą obciążone albo co chcesz nimi poruszać?
  15. Tak na pierwszy rzut oka to ani samo Arduino nie potrzebuje stabilizatora (bo ma własny) ani mostki również (bo nawet te teoretyczne 6V to dla nich za mało do sensownej pracy). Tym bardziej, że żaden 7805 nie zrobi z 4 marnych paluszków obciążonych silnikami w jakiś magiczny sposób 5V. Użyte tu L293 to czysta strata - napięcia, pojemności baterii, czasu na kupowanie czy montaż oraz pieniędzy. Z resztą za 1.5zł trudno spodziewać się wodotrysków. Czy wszystkie silniki muszą pracować w dwie strony? Może nie we wszystkich czterech przypadkach potrzebujesz mostka H?
  16. Bardzo to dziwne. Jeśli coś takiego dzieje się także gdy odłączysz sygnały STEP i DIR to raczej problem leży w samym sterowniku a raczej w sytuacji, gdy dostaje zasilanie VMOT a brakuje mu (przynajmniej na początku) 5V. Po dołączeniu wtyczki USB zasilanie się pojawia, ale albo jest złe/słabe/dziwne bo np. notebook nie podaje od razu poprawnego i silnego 5V ale dopóki Arduino się nie zenumeruje wysła coś słabego, co nie wystarcza do pracy drivera i procesora jednocześnie. Ja bym sprawdził co dzieje się na Vcc podczas tych kilku sekund drgawek. Być może też scalak drivera zwyczajnie nie lubi sytuacji gdy brakuje mu zasilania logiki i gdy ono wstaje później niż to główne, głupieje. Podłącz się czymś do +5V o popatrz czy tam jest wszystko stabilnie od samego początku. Dobrym testem byłoby odpalenie konfiguracji z dodatkowego, pewnego zasilacza 5V (zamiast z USB) albo z jednego 12V podłączonego także do VIN.
  17. Tak, oba oporniki powinny wychodzić bezpośrednio z pinu Arduino. Teraz jeden masz tam co prawda podpięty, ale drugi jest "za nim".
  18. To jest własnie ten błąd. O ile segmenty są tu (jeśli dobrze pamiętam) sterowane wprost z pinów FPGA, o tyle anody mają tranzystory. Ich prąd nie narasta do 100% i nie opada do zera w czasie zerowym więc musisz wstawić przerwy. Poprawna sekwencja przełączenia wyświetlacza na kolejną cyfrę powinna wyglądać jakoś tak: Wystawiasz stany nieaktywne na wszystkie segmenty Wyłączasz driver cyfry N. Czekasz kilka µs (5-10) Wystawiasz nowy stan na segmenty kolejnego znaku Włączasz driver cyfry N+1 Przy czym ponieważ operacje 1 i 4 są szybkie, możesz je robić jednocześnie z odpowiednio 2 i 5. Kluczowy jest natomiast okres gdy jeden driver cyfry jest wyłączony a drugi jeszcze nie włączony. W tym czasie nie wolno włączyć żadnego segmentu bo nie wiesz który tranzystor już się włączył a który jeszcze nie wyłączył. Przy jednoczesnej zmianie, ich narastające/zanikające przewodzenia zachodzą na siebie i masz "duchy" na segmentach. Zauważ, że jest to zwykle powtórzenie poprzedniej cyfry na kolejnym wyświetlaczu albo następnej na poprzednim (w sensie koleności multipleksowania a nie fizycznego położenia). To typowe gdy układ nie przewiduje niezerowych czasów przełączania kluczy.
  19. Czy możesz to dokładniej opisać? Bo jak rozumiem raczej na pewno nie wykonuje kilku kroków - to wymaga sensownych impulsów STEP, a jeśli masz na myśli drgnięcie +/- 1..2 kroki to to może oznaczać cechę samego sterownika pozbawionego(?) zasilania 12V. Poza tym w driverze jest licznik określający aktualną fazę ruchu, liczący np. 0..3 (0..7, 0..15 itd w zależności od wybranego trybu mikrokroków) i to od jego zawartości sterowane są mostki obu faz silnika. Po włączeniu zasilania (którego?) powinien się zerować z automatu, ale to oznacza, że silnik w zależności od tego gdzie stanął po poprzednim wyłączeniu zawsze będzie "ściągany" do fazy/kroku nr. 0 i to czasem może spowodować jego drgnięcie i "podjazd" w dowolną stronę (gdzie bliżej względem aktualnego położenia wału) do tej pozycji. EDIT: No nie, to wygląda tragicznie i coś jest nie tak z zasilaniem. Pokaż rysunek jak to podłączyłeś, w szczególności zasilania i z czego (dokładnie) bierzesz 12V dla drivera silnika.
  20. No ale przecież celem programu który pokazałeś jest kręcenie silnikiem zaraz po włączeniu zasilania (a robisz to przez włączenie wtyczki USB) to czego się dziwisz? Rozumiesz w ogóle co wgrywasz do Arduino? Silnik krokowy nie będzie kręcił się sam z siebie, musisz mu generować impulsy STEP i właśnie to robisz natychmiast jak tylko procesor wystartuje. Może napisz jak chcesz żeby to działało.
  21. Niezły odkop, wątek zdechł miesiąc temu - nie zauważyłeś, czy chęć dodania swoich 3 groszy OT była silniejsza? A wracając do meritum. Biblioteki? Ano jakieś trzeba, bo przecież Autor chce podłączyć pamięć nieulotną a nie zwykły RAM. O ile interfejs dużej ATmegi rzeczywiście pasuje do zewnętrznej pamięci równoległej, to: Kolega Wrona używa m328, interfejs ten umożlwia bezpośrednie adresowanie tylko małego obszaru (60K) a w praktyce 32K jeśli chcesz mieć duży, ciągły obszar adresowy, zapis musi być uwzględniać gotowość pamięci jakimś bitem RDY/BUSY czytanym z rejestru pamięci lub pinu. Z powodu (2), chcąc mieć więcej pamięci musisz zrobić stronicowanie najstarszych bitów jakimś innym portem a z (3) i tak nie działa to jak bezproblemowy dostęp do RAMu. Poza tym tak egzotyczne (ilu amatorów tego używa?) podłączenie wymaga mnóstwa drutów, sam scalak pamięci jest wielki a żadna biblioteka organizująca np. system plików nie zadziała wprost. Tak więc tak czy inaczej bez sporego nakładu własnej pracy albo skorzystania z ew. bilioteki obsługującej zewnętrzne pamięci równoległe EEPROM/FLASH raczej się nie obejdzie, nie sądzisz? O wydajności trudno tu dyskutować, bo jest to względne i zależy od sposobu w jaki wyższe warstwy traktują pamięć i od tego czego oczekuje Autor wątku. W każym razie zapis poniżej kilku us/bajt raczej nie wyskoczy a do tego trzeba doliczyć czas kasowania sektorów czy stron.
  22. Ale taki monopol wychodzący z malutkiej płytki jest nic nie wart gdy nie ma płaszczyzny masy albo przynajmniej przeciwwag w postaci kilku prętów.
  23. Oczywiście możesz zrobić zasilanie symetryczne +/-8 czy tam +/-12V za pomocą prostych w sumie układów, ale w ogóle tego nie potrzebujesz. Przedstawiony projekt jest tak prymitywny, żeby nie powiedzieć prostacki, że zasilanie symetryczne jest kompletnie niepotrzebne. Ktoś (nie pierwszy raz) nie miał bladego pojęcia o projektowaniu tego typu rzeczy a narysował to chyba z podręcznika dla młodych skautów przygotowujących się do sprawności "elektronik". W poprzednim rozdziale było pewnie o rozpalaniu ogniska lupą a w następnym o wzywaniu pomocy latarką.
  24. Cóż, z rzeczy pewnych to: zasilanie modułu podłączasz do zacisków "V+" i "GND", swój RS485 podłączasz do "A" i "B" oraz ew. masę do GND i tyle. Reszta zależy od specyfikacji urzadzenia. O ile wielkość zasilania widać na naklejce (7-30V o ile dobrze odczytuję pixelozę), o tyle już prędkość (baudrate) czy sam protokół RS485 są zagadką. To może być Modbus RTU jak w przypadku który pokazałeś, ale wcale nie musi. Widzę jeszcze tzw. DIP-switch po prawej - to na nim zapewne ustawiasz adres modułu na magistrali szeregowej. Bez opisu do tej konkretnej chińszczyzny będzie ciężko, bo ramki komend mogą wymagać sum kontrolnych i bez spełnienia podstawowych reguł protokołu (wysłając bajty "na głupa" z losowo wybranymi prędkościami) możesz nigdy nie dostać jakiejkolwiek odpowiedzi z modułu, nie mówiąc o wykonaniu jakiegokolwiek polecenia. ------------------------------------------------------------------- Edit: Po 5 sekundach przy wyszukiwarce (wpisałem "ZY-K416 relay module") znalazłem coś takiego: https://pl.aliexpress.com/item/32757520568.html Jeżeli masz zdolności językowe i żyłkę lingwistyczno-detektywistyczną, na pewno coś zrozumiesz, bo posunęli się nawet do opisu struktury ramki danych i przykładów binarnych(!). Format bajtu to 9600, 8,1,n. Przejście z tego na funkcję robiącą komunikację w Arduino powinno być kaszką z mleczkiem Powodzenia.
×
×
  • Utwórz nowe...