ethanak Lipiec 8, 2019 Udostępnij Lipiec 8, 2019 18 minut temu, InspektorGadzet napisał: Nie analizuję każdej biblioteki Arduino aha... to wszysto wyjaśnia. Na temat wyświetlania grafiki to się nawet nie wypowiem bo to bzdura. Bawiłem się w wyświetlanie na Arduino, problemem nie była obsługa wyświetlacza tylko wczytanie bitmapy. I tu nie mów że biblioteki są do niczego - prawdopodobnie po prostu nie potrafisz ich wykorzystać. A tak przy okazji... jakie jest zastosowanie bibliotek U8 do sterowania silnikami? Bo zawsze wydawało mi się że potrzebny jest sygnał PWM uzyskany właśnie ze sprzętu przez głupią funkcję analogWrite... no ale ja się nie znam, może znasz lepsze rozwiązania... Cytuj Link do komentarza Share on other sites More sharing options...
InspektorGadzet Lipiec 12, 2019 Udostępnij Lipiec 12, 2019 (edytowany) Dnia 8.07.2019 o 15:30, ethanak napisał: Na temat wyświetlania grafiki to się nawet nie wypowiem bo to bzdura. Bawiłem się w wyświetlanie na Arduino, problemem nie była obsługa wyświetlacza tylko wczytanie bitmapy. I tu nie mów że biblioteki są do niczego - prawdopodobnie po prostu nie potrafisz ich wykorzystać. Napisz, jak wykorzystać bibliotekę, która zamiast sprzętowo czyścić wyświetlacz wysyła tysiące danych? To samo z prostokątami, liniami. Ten konkretny przypadek miałem w Arduinowskiej bibliotece do SSD1331. Nie spotkałem też biblioteki, która rysując czcionkę, zwłaszcza 32x32, ustawiała okno i wysyłała dane zamiast stawiać piksel po pikselu. Podobne problemy jest opisany Arduino DUE wydajność wyświetlania. Jeśli w kolejnych wyświetlanych obrazach, nie zmienia się dużych ilości danych, można najpierw skasować poprzednie piksele. To może zadziałać w przypadku oscyloskopu ale już nie gdy będę chciał wyświetlać na IL9341 wielki napis z migającym tłem. Dnia 8.07.2019 o 15:30, ethanak napisał: jakie jest zastosowanie bibliotek U8 do sterowania silnikami? Nie ma, ale najwięcej bibliotek jakie przeniosłem z Arduino to obsługa wyświetlaczy. Teraz, na szczęście, w CUbeMX są dobre biblioteki, na których efekty dużo lepsze od tego co można uzyskać na FT801, 811, nie są problemem. Wracając do bibliotek PWM, które widziałem dla Arduino, nie używały sprzętowego PWM, tylko jakieś programowe kombinacje. Nawet się im nie przyglądałem, bo to strata czasu. Edytowano Lipiec 12, 2019 przez InspektorGadzet Cytuj Link do komentarza Share on other sites More sharing options...
Anonim Lipiec 14, 2019 Udostępnij Lipiec 14, 2019 Nie rozumiem w czym problem jest. Jeśli silnik Ci szarpie przy rozruchu to znaczy, że za szybko startuje. Nie ma chyba łatwiejszego sposobu, jak zwiększać prędkość skokowo wstawiając niewielkie opóźnienia pomiędzy skoki - trzeba to dobrać eksperymentalnie aby nie było szarpnięć bez różnicy czy w przerwaniu czy w pętli głównej. Teoretycznie znając typ silnika można nawet obliczyć krzywą przyśpieszenia ale z doświadczenia wiem, że i tak najczęściej trzeba wyliczenia kompensować aby zbliżyć się do optimum dlatego proponuję pokombinować - tak jest i szybciej i łatwiej. Kiedy już określisz zakres opóźnień na poszczególnych etapach nie będzie już trudno przełożyć tego do przerwania od timera. Wg. mnie najlepiej byłoby napisać procedurę od nowa tylko pod kątem sterowania silnikami i jak już wszystko będzie chodzić gładko dopisać resztę programu. Kiedy problem nie jest bardzo skomplikowany nie warto zagłębiać się w analizę cudzego oprogramowania tylko próbować do skutku napisać własne, dedykowane dla posiadanego sprzętu. Nie jest też konieczne używanie funkcji millis, pisząc w arduino można bez przeszkód (w większości przypadków) korzystać z bibliotek standardowych AVR dokładnie tak jakby frameworka nie było. Cytuj Link do komentarza Share on other sites More sharing options...
InspektorGadzet Lipiec 14, 2019 Udostępnij Lipiec 14, 2019 (edytowany) 2 godziny temu, atMegaTona napisał: Nie ma chyba łatwiejszego sposobu, jak zwiększać prędkość skokowo wstawiając niewielkie opóźnienia pomiędzy skoki - trzeba to dobrać eksperymentalnie aby nie było szarpnięć bez różnicy czy w przerwaniu czy w pętli głównej. Jakby był jeden silnik, to od biedy, można by zrobić zmiany w pętli głównej ale są dwa niezależne. Trzeba to zrobić w przerwaniach. Sam PWM najlepiej sprzętowy ale ze względu na to, że silniki najczęściej nie pracują z dużymi częstotliwościami może być programowy. Parę postów wcześniej dałem gotowca co prawda do serwonapędu, trzeba więc tylko zmienić zmianę częstotliwości na zmianę wypełnienia PWM. Co do 2 godziny temu, atMegaTona napisał: Teoretycznie znając typ silnika można nawet obliczyć krzywą przyśpieszenia ale z doświadczenia wiem, że i tak najczęściej trzeba wyliczenia kompensować Nie samym PWM silnik żyje. Aby wykorzystać wszystkie jego możliwości trzeba zmieniać nie tylko PWM ale także jego częstotliwość. Temat nie jest taki prosty jak się wydaje. Owszem, do sterowania wiatraczkiem nie trzeba kombinować ale tam gdzie są duże obciążenia już tak. Silnik nie ruszy z dużej częstotliwości więc na start trzeba dać np 100Hz. Wypełnienie od 0% nie ma sensu, najczęściej jest to 20..30%. Jak silnik już się rozpędzi, to zależnie od obciążenia, można zwiększyć częstotliwość. Trzeba sobie zapewnić jakieś sprzężenie zwrotne, najlepiej nie tylko prąd pobierany przez silnik ale także i jego obroty. W kodzie na początku postu żadnego sprzężenia zwrotnego nie ma. Dlatego, podobnie jak 2 godziny temu, atMegaTona napisał: nie warto zagłębiać się w analizę cudzego oprogramowania tylko próbować do skutku napisać własne, dedykowane dla posiadanego sprzętu twierdzę, ze kod należy napisać od zera, tym bardziej, że ten z pierwszego postu, w praktyce do niczego się nie nadaje. Takie demo, że można sterować silnikiem. 2 godziny temu, atMegaTona napisał: Nie jest też konieczne używanie funkcji millis, pisząc w arduino można bez przeszkód (w większości przypadków) korzystać z bibliotek standardowych AVR dokładnie tak jakby frameworka nie było. Wtedy, nie warto w ogóle korzystać z tego co oferuje arduino, zwłaszcza IDE. Na początek założenia co ma robić sterownik. Później wybór mikrokontrolera pamiętając o tym, że gdzieś jakąś diagnostykę trzeba sobie zapewnić (UART?) o debugerze nie wspominam bo to chyba normalna rzecz w dzisiejszych czasach. Przykładowo, w projekcie Wielokostki wybrałem wyświetlacz. On narzucił min 16kB RAM ale to ryzykowne, szukałem więc 20..32kB. Wybrałem nie najlepszy F103 bo można było wybrać coś z L, które pobierają mniej prądu i mają eeprom. Eeprom, zawsze mogę emulować a NUCLEO z L akurat nie miałem aby zrobić testy, więc wybrałem popularnego F103. Wygodniejszy byłby mikrokontroler z trzema SPI ale ze względu na to, że karta SD i datflash nie muszą pracować w tej samej chwili, wystarczyły 2. Można by pomyśleć o interfejsie dedykowanym do karty SD ale super szybko nie musi ona działać. Poza SWD do debugowania zapewniłem sobie UART1 do diagnostyki. W przypadku sterownika wózka, widziałbym to tak: Sprzętowe PWM, pomiar prądu, obrotów, napięcia akumulatora. Diagnostyka na USB lub UART. Poza joyami, wyświetlacz z ekranem dotykowym (a co będę sobie żałował) do diagnostyki. Typ wyświetlacza narzuci wymaganą wielkość RAM. Eeprom do nastaw (może być emulowany). Kilka LED w rodzaju tragedia, ok, alarm. Jakiś buzzer a może wyjście DAC do komunikatów audio, tu rośnie zapotrzebowanie na flash a może zewnętrzny dataflash. Jak komunikaty w dataflash to jakoś trzeba je wgrać w praktyce chyba tylko USB. Diagnostyka może przez BT? Łatwo robić logi, bez drutów, a może Wi-FI? Tak pewnie trzecia wersja PCB byłaby już ok. czas realizacji jakieś 6 miesięcy, chyba, ze praca 24/h 365/rok. Ja poszedłbym na całość i wybrał np F411 na płytce NUCLEO. Wyświetlacz: jakiś moduł z FT81x. Jeśli miałby być inny, to F411 może mieć za mało RAM bo tylko 128k. W każdym razie, jak wydaje się 1000..2000zł na projekt, który realizuje się kilka miesięcy, to różnica pomiędzy podróbką UNO za 30 zł a oryginalną NUCLEO za 55 czy 65zł nie jest zauważalna a jak porównać oryginalne UNO za ok 90zł w stosunku do NUCLEO z debugerem, z którego legalnie można zrobić SEGGERA, to o UNO trzeba zapomnieć. Edytowano Lipiec 14, 2019 przez InspektorGadzet Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
Anonim Lipiec 15, 2019 Udostępnij Lipiec 15, 2019 (edytowany) 22 godziny temu, InspektorGadzet napisał: Wtedy, nie warto w ogóle korzystać z tego co oferuje arduino, zwłaszcza IDE. Pytanie czy w ogóle warto. Napisałem, że korzystanie z bibliotek standardowych na ogół nie przeszkadza w korzystaniu z frameworka arduino więc nie wiem dlaczego wg. Ciebie nie warto kiedy warto. Z tego co ty tu wypisujesz wynika, że chcesz się pochwalić, że wiesz jak zbudować profesjonalny wózek naszpikowany różnymi bajerami a ze zwykłymi silnikami DC sobie nie radzisz. 22 godziny temu, InspektorGadzet napisał: Jakby był jeden silnik, to od biedy, można by zrobić zmiany w pętli głównej ale są dwa niezależne. Trzeba to zrobić w przerwaniach. 22 godziny temu, InspektorGadzet napisał: Aby wykorzystać wszystkie jego możliwości trzeba zmieniać nie tylko PWM ale także jego częstotliwość. Temat nie jest taki prosty jak się wydaje. Owszem, do sterowania wiatraczkiem nie trzeba kombinować ale tam gdzie są duże obciążenia już tak. Silnik nie ruszy z dużej częstotliwości więc na start trzeba dać np 100Hz. Wybacz ale to jakieś brednie. Jak by to @marek1707 określił: coś tam gdzieś czytałeś, coś gdzieś oglądałeś ale niewiele zrozumiałeś. Zamiast się zastanawiać jak wykorzystać wszystkie możliwości skup się raczej na tym jak sensownie wysterować te 2 silniki albo nie wprowadzaj nikogo w błąd. Nie jest konieczna zmiana częstotliwości PWM a im wyższa częstotliwość w tym przypadku tym lepiej bo silnikami steruje się za pomocą wypełnienia. Nie jest też konieczne wykorzystanie sprzętowego PWM aby tymi silnikami sterować choć zapewne będzie przydatne tym bardziej, że arduino posiada co najmniej 2 kanały PWM niezależnie sterowane czyli akurat jak dla Ciebie. Dałem kilka praktycznych wskazówek licząc, że skoro podejmujesz temat to masz przynajmniej podstawowe pojęcie a tym czasem wylewasz z siebie masę jakichś szczątkowych informacji na różne tematy z której nic konkretnego nie wynika. Dla Twojej wiadomości powiem Ci jeszcze, że w pętli głównej można sterować nawet 5 silników bez przerwań tylko trzeba umieć. Skoro tak się ten temat rozrósł to przydałby się tu jeszcze chociaż schemat elektryczny tego drivera. Kolejna odsłona przerostu ambicji nad umiejętnościami z postawą typu "wiem wszystko najlepiej" ze strony @InspektorGadzet . Skoro tak najlepiej wszystko sam wiesz to po co się tu udzielasz? Trzeba było samemu zrealizować projekt w całości i napisać posta do działu DIY autor tematu miałby ułatwione zadanie. Edytowano Lipiec 15, 2019 przez Anonim Cytuj Link do komentarza Share on other sites More sharing options...
Anonim Lipiec 15, 2019 Udostępnij Lipiec 15, 2019 Autorowi wątku proponuję poeksperymentować ze sterowaniem silnikami DC w mniejszej skali, pobaw się jakimiś małymi silniczkami za pomocą PWM będziesz miał punkt wyjścia do budowy wózka. Cytuj Link do komentarza Share on other sites More sharing options...
InspektorGadzet Lipiec 15, 2019 Udostępnij Lipiec 15, 2019 46 minut temu, atMegaTona napisał: Nie jest konieczna zmiana częstotliwości PWM a im wyższa częstotliwość w tym przypadku tym lepiej bo silnikami steruje się za pomocą wypełnienia Skoro tak piszesz, to z niewieloma silnikami miałeś styczność. 47 minut temu, atMegaTona napisał: Dla Twojej wiadomości powiem Ci jeszcze, że w pętli głównej można sterować nawet 5 silników bez przerwań tylko trzeba umieć. Chore! Jakakolwiek ingerencja w pętlę główną może spowodować, że wszystko "wysypie" się. Po to są rozwiązania sprzętowe aby z nich korzystać a nie używać programowych protez. Da się zrobić programowa klasę CDC dla USB na AVR? Da! Jak to działa w stosunku do rozwiązania sprzętowego? Polecam spróbować. 51 minut temu, atMegaTona napisał: Trzeba było samemu zrealizować projekt w całości i napisać posta do działu DIY Zapłać to opracuję projekt. Cenę wyliczysz sam, 6 miesięcy = 960h * 50..100zł daje 48'000..96'000zł. Chcesz numer konta? Cytuj Link do komentarza Share on other sites More sharing options...
Anonim Lipiec 15, 2019 Udostępnij Lipiec 15, 2019 Na podstawie twoich wynurzeń wnioskuję, że ci hormony buzują. Odpocznij trochę. 29 minut temu, InspektorGadzet napisał: 1 godzinę temu, atMegaTona napisał: Nie jest konieczna zmiana częstotliwości PWM a im wyższa częstotliwość w tym przypadku tym lepiej bo silnikami steruje się za pomocą wypełnienia Skoro tak piszesz, to z niewieloma silnikami miałeś styczność. 28 minut temu, InspektorGadzet napisał: Chore! Jakakolwiek ingerencja w pętlę główną może spowodować, że wszystko "wysypie" się. Po to są rozwiązania sprzętowe aby z nich korzystać a nie używać programowych protez. Nie trzeba być fachowcem żeby to zweryfikować. Niech sobie każdy sam odpowie gdzie i kto tu rację ma. 28 minut temu, InspektorGadzet napisał: Zapłać to opracuję projekt. Cenę wyliczysz sam, 6 miesięcy = 960h * 50..100zł daje 48'000..96'000zł. Chcesz numer konta? Wolał bym raczej dopłacić żeby czasem taki spec jak ty nie dłubał przy moim projekcie hah Wiele jeszcze nauczyć się musisz młody padawanie. Cytuj Link do komentarza Share on other sites More sharing options...
ethanak Lipiec 15, 2019 Udostępnij Lipiec 15, 2019 Panowie, odpocznijcie, walnijcie sobie po setce (albo jak blisko mieszkacie to po ryju) i sprawdźcie, czego dotyczy wątek. To ma być wózek inwalidzki a nie linefollower czy megasumo. Inne priorytety, inne wymagania, bezpieczeństwo przede wszystkim. Pisanie kodu od zera w takim przypadku to objaw megalomanii (chyba że ktoś jest super mistrzem od sterowania wózkami inwalidzkimi, a jakoś tego widząc poziom dyskusji nie stwierdziłem). Jeśli ktoś chce pokazać jaki jest mądry, to niech założy sobie nowy wątek na temat Karlssona z Dachu albo innego gościa ze śmigłem na głowie... Primum non nocere! Cytuj Link do komentarza Share on other sites More sharing options...
InspektorGadzet Lipiec 15, 2019 Udostępnij Lipiec 15, 2019 13 minut temu, atMegaTona napisał: Wiele jeszcze nauczyć się musisz młody padawanie. Co to "padawanie"? Cytuj Link do komentarza Share on other sites More sharing options...
ethanak Lipiec 15, 2019 Udostępnij Lipiec 15, 2019 Wikipedia Twoim przewodnikiem jest... Cytuj Link do komentarza Share on other sites More sharing options...
Elvis Lipiec 15, 2019 Udostępnij Lipiec 15, 2019 Jeśli wózek inwalidzki jest sprzętem medycznym to pisanie kodu od zera może nie być przejawem megalomanii, ale koniecznością. No chyba że biblioteki Arduino spełniają wymgania PN-EN 62304, w co akurat wątpię. Cytuj Link do komentarza Share on other sites More sharing options...
ethanak Lipiec 15, 2019 Udostępnij Lipiec 15, 2019 (edytowany) Zgodzę się z tym, jest jeden problem: trzeba się na tym znać. BTW wózek zalicza się chyba do sprzętu rehabilitacyjnego, ale nie jestem pewien. Edytowano Lipiec 15, 2019 przez ethanak Cytuj Link do komentarza Share on other sites More sharing options...
Anonim Lipiec 15, 2019 Udostępnij Lipiec 15, 2019 Oczywiście się zgadzam, lepiej nie ryzykować niczyim zdrowiem i życiem zdając się na amatorsko programowane arduino. Chyba, że nie ma to być sprzęt medyczny a konstruktor zdaje sobie sprawę z ryzyka. W necie jest sporo filmów dokumentujących skutki nieumiejętnego zaprojektowania np. deskorolek elektrycznych kiedy to jadąca z pełną prędkością deska nagle staje a amator skateboardingu i elektroniki leci dalej. Gorzej kiedy to wózek inwalidzki nagle stanie a inwalida poleci dalej lub kiedy nie stanie i wjedzie pod tira. Cytuj Link do komentarza Share on other sites More sharing options...
MarcinTe Wrzesień 27, 2019 Autor tematu Udostępnij Wrzesień 27, 2019 To moze inaczej, skoro juz sie wszyscy tak znaja i proponuja blyskotliwe rozwiazania technologiczne z wykorzystaniem wielu elementow o skomplikowanych nazwach, moze ktos jest w stanie dopisac do kodu demo z mojego oryginalnego posta cos rownie prostego, co bedzie zwiększać prędkość skokowo, z opoznieniem ktore bede mogl regulowac? Niczego mi wiecej nie trzeba. Zakladam ze dla kogos z tej grupy eksperckiej zmiana prostego kodu powinna byc znacznie nizszym wydatkiem energetycznym niz wypisywanie postow ktore mi nie pomagaja a niepotrzebnie podnosza cisnienie. Rozumiem ze raczej nikomu sie nie chce pomoc komus kto sie nie zn na rzeczy ale po co w takim razie w ogole cokolwiek odpisywac? Jesli ktos jest idiota albo ma odpowiedni nastroj to moze sobie wejsc pod tira rowniez piechota, nie prosze o kompletny soft to lazika marsjanskiego. Ludzie, co z wami? 🙂 Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!