Skocz do zawartości

Elvis

Użytkownicy
  • Zawartość

    2027
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    142

Elvis wygrał w ostatnim dniu 8 grudnia

Elvis ma najbardziej lubianą zawartość!

Reputacja

515 Mistrz

O Elvis

  • Ranga
    8/10

Informacje

Ostatnio na profilu byli

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

  1. Elvis

    Modyfikacja systemu alarmowego na Arduino

    @Belferek char nie zawsze jest signed - to zależy od kompilatora, a nawet od opcji wybranych przy kompilacji (https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html). Nie zmienia to faktu, że zarówno signed char, jak i unsigned char w pamięci wyglądają tak samo - to po prostu 8 bitów. Różnica to jedynie interpretacja. Inna sprawa, że oryginalne kodowanie znaków ASCII było 7 bitowe, więc najwyższy bit w przypadku bajtu ma wartość zero - co zupełnie nieweluje różnice między tymi typami.
  2. Elvis

    Arduino - sterowanie silnikiem krokowym

    Ja już przestałem się na wszelki wypadek odzywać, ale może to faktycznie dobry pomysł żeby wrócić do tematu. Więc @Michal94, problem na który się natknąłeś nie dotyczy silnika krokowego, ale ogólnie błędów zaokrągleń. Podam Ci przykład z innej dziedziny. Wyobraź sobie że kupujesz w sklepie kilkogram czegoś-tam. I to kosztuje równo 100zł. Doszedłeś jednak do wniosku, że nie potrzebujesz całego kilograma, wystarczy 1/3. Więc cena to 33 zł 33 gr. Ale jak jednak dokupisz pozostałe 2/3 to zapłacisz nie 100zł, tylko 99 zł 99 gr. Interes może kiepski ale wyobraź sobie minę księgowej, gdy na fakturze mamy trzy pozycje po 1/3 ze 100zł i sumę 99.99. W każdym razie takie błędy są i musimy się nauczyć z nimi żyć. To co robią programy księgowe to zwiększenie liczby miejsc po przecinku - powiedzmy do 4, czyli setnych grosza. Wtedy nawet jeśli na fakturze podzielimy coś-tam na trzy, to każda pozycja będzie po 33 zł 33gr, ale suma 100 zł - księgowa zadowolona, chociaż matematyk pewnie miałby marną minę. Rozwiązanie w przypadku sterowania silnikami to najczęściej przechowywanie dwóch liczników. Pierwszy to pozycja zadana - z dokładnością jaką potrzebujesz. Możesz więc używać ułamków, czy setnych grosza. Drugi licznik, to aktualna wartość / pozycja. Czyli jeśli zadałeś 1/16 obrotu, ale wykonałeś 1/15.999 to w pierwszym liczniku masz 1/16, a w drugim to ile wyszło. Przy aktualizacji, zmieniasz wartość dokładną i na jej podstawie wyliczasz ile rzeczywistych kroków ma wykonać program.
  3. @Adikon, zrozum, że nauczyć musisz się sam. Nikt za Ciebie nie opanuje programowania - większość z uczestników tego forum kiedyś zaczynała, więc masz dowód przez przykład, że da się. Mogę Cię też zaskoczyć, ale niektórzy uczyli się programować kiedy jeszcze nie było internetu i nie można było przy każdym, prostym problemie prosić albo i żądać pomocy. Nie było też mody na korepetycje ze wszystkich przedmiotów, więc albo sami się czegoś nauczyli, albo zostali przy łowieniu ryb lub innym hobby. Moim zdaniem najlepsza pomoc jaką możemy Ci zaoferować to zamknięcie wszystkich tematów napisanych przez Ciebie oraz @xirtt -a oraz na przyszłość szybsze reagowanie w podobnych przypadkach. Wydaje mi się, że poziom forum i tak od dawna spada niemiłosiernie, coraz mniej osób o jakiejkolwiek wiedzy i doświadczeniu się wypowiada, a podobne tematy odstraszą ostatnich, którzy cokolwiek sensownego wnoszą. I jak tak dalej pójdzie, Forbot zmieni się w kolejną sciaga.pl i to jeszcze w wersji dla opóźnionych.
  4. Fakty, chodziło mi o sterownik - z rozpędu napisałem silnik, przepraszam. Cała reszta dyskusji nie ma najmniejszego sensu. Nikt nie konstruuje sterowników tak wielkiej liczbie kroków, bo to nie ma praktycznego sensu. Często 16 to wystarczająco dużo, a co dopiero 16mln. Ale tak dla ćwiczenia teorii. Załóżmy że mamy dwa sterowniki prądowe, które podają na wyjściu prąd o przebiegu sinusoidalnym, przesunięte w fazie o 90 stopnie. Jeśli podłączymy do nich uzwojenia silnika, to położenie wirnika będzie płynnie przemieszczało się między położeniami dla sąsiednich kroków? Dobrze kombinuję, czy coś pomieszałem?
  5. No i mamy kolejną gównoburzę. A tak z ciekawości, To takiego silnika nie da się, czy nie ma sensu skonstruować?
  6. Kiedy nazwa mikrokrok to takie ułatwienie. W rzeczywistości kolejne stabilne położenia określają kroki silnika - i ich położenie (kąt obrotu) wynika z konstrukcji samego silnika. Więc mamy np. krok 1.8 stopnia. Natomiast przejścia między krokami nie są atomowe - one trwają pewien czas, co więcej można silnik utrzymywać w położeniu pomiędzy. Wykonuje się to przez jednoczesne sterowanie dwóch uzwojeń - wówczas pod wpływem pola magnetycznego silnik będzie utrzymywał położenie pomiędzy krokami. To ile takich położeń podamy będzie zależało już nie od budowy silnika, ale od sterownika, a dokładniej od tego jak wiele poziomów prądu jest w stanie wysterować. Takie poziomy są potocznie i dla ułatwienia nazywane mikrokrokami. Ale to nic nie stoi na przeszkodzie w zbudowaniu sterownika, który będzie miał dużo takich poziomów (np. tysiące), co więcej możemy nawet zbudować układ, który będzie przejścia między stanami wykonywał płynnie, uzyskamy więc prawie nieskończenie wiele stanów pośrednich. Więc wracając do krowy - jak przeczyta co ludzie wypisują w internecie, to może się zatrzymać w pół kroku. Co więcej każdy krok wykonuje przez pewien czas, a nie przeskakuje z nogi na nogę. Ale faktycznie proste sterowniki nie pozwalają na tak wymyślne sterowanie i z punktu widzenia programisty mamy wtedy tylko pełne kroki do wykonania. Chciałem tylko zaznaczyć, że tak wcale nie jest i nie musi być. To tylko ograniczenie użytego układu.
  7. A słyszałeś o mikrokrokach? Oczywiście sterownik może nie dawać możliwości sterowania jednostką mniejszą niż krok, ale jak najbardziej jest to możliwe - chociaż wymaga odpowiedniego układu.
  8. Elvis

    Usunięto z: Sterowanie diodami

    @es2O tym już kiedyś było, wcale nie nikt tylko całkiem sporo osób uważa że się na elektronice nie znasz, nie opanowałeś nawet podstaw fizyki, więc głupoty wypisujesz, zakładasz dodatkowe profile itd. Do tego jak widać dochodzi wybiórcza percepcja. Ale w sumie to sam nie wiem co teraz jest gorsze na forum - nowi zupełnie zieloni użytkownicy, którzy oczekują że ktoś się za nich nauczy, czy starzy i niedouczeni, którym się wydaje że wszystkie rozumy pojedli. Przy okazji prośba do admina o wydzielenie i ubicie off-topica. Bo mój wpis, jak i dobre 10 powyżej nie ma związku z tematem ani wątku, ani w sumie forum.
  9. Elvis

    Usunięto z: Sterowanie diodami

    Administratorze, ratuj - za takie naruszanie regulaminu należy się dożywotni ban... Chyba prędzej uwierzę w jednorożce, niż to że przypadkiem ktoś pisze identyczny kod: delay(200);//Zatrzymujemy program przed wejsciem do pętli na 1 sekunde To samo było tutaj: Wniosek jest prosty xirtt uznał że skompromitował się na tyle, że nikt z nim nie chce pisać. Więc założył nowe konto i troluje w najlepsze.
  10. Elvis

    Usunięto z: Sterowanie diodami

    Tak z ciekawości, to przypadkowe podobieństwo kodu (Adikon ) while (digitalRead(7) == HIGH) {} //Jeśli przycisk jest wciśnięty Do (xirtt ) while (digitalRead(A0) == HIGH) {} //Jeśli przycisk jest wciśnięty Czy robisz z nas idiotów i założyłeś nowe konto?
  11. Jak chodzi o zrobienie z Odroid-a konsoli do gier to postanowiłem się nie poddawać. Androida zainstalowałem już poprzednio, niestety problemem było sterowanie. Brak panelu dotykowego mocno ogranicza możliwości takiej "konsoli", na szczęście niektóre gry działają z kontrolerem podłączanym przez Bluetooth. Odroid nie ma WiFi, ani BT, więc doszło kolejne urządzenie podpięte przez USB, ale tym razem się udało pograć. Po podłączeniu Odroid-a do telewizora efekt wyszedł całkiem fajny
  12. @FlyingDutch może zacznij od czegoś łatwiejszego. Na początek zostaw PLL w spokoju, nie używaj przerwań. Napisz program, który w pętli będzie machał testowym pinem najszybciej jak potrafi. Wtedy chociaż zobaczymy czy pomiary wychodzą zgodnie z oczekiwaniami.
  13. Aż musiałem sprawdzić, bo nie zwracałem wcześniej uwagi Po podłączeniu zasilania najpierw zapala się czerwona dioda, po chwili niebieska. Później niebieska zaczyna migać, czerwona świeci cały czas. Jak wyjmę kartę SD to jest dokładnie jak u Ciebie - zapala się czerwona dioda i nic innego się nie dzieje.
  14. I bardzo dobrze, nie można się poddawać
×