• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
[oddzielony]Czy warto się zajmować (bawić) Arduino?
#1
Z definicji słowa "oscyloskop", to coś na Arduino nim jest, ale nawet na ARM, bez dodatkowych obwodów jak przetworniki, pamięci, obwody wejściowe to tylko zabawka. Samplowanie max 2ms/s dla ARM i żałosne 10k/s dla AVR (rezygnując z rozdzielczości może być szybciej). Dla niezorientowanych, między bajki moza włożyć to, że przy samplowaniu x zobaczymy przebieg x/2. To jest prawdziwe dla przesyłania sygnału (np audio) a nie jego ogladaniu. Taki min to x/10 (10 próbek na przebieg) co jest i tak mało. Daje to możliwość zobaczenia przebiegu 200kHz dla ARM i tylko 1kHz dla AVR.
Już na tym etapie, można sobie darować ten "oscyloskop". To jak F126 czy Trabanta nazywać samochodem.

Pamięć próbek, dla najpopularniejszego Arduino UNO to niecałe 2kB. ŻENADA!
Implementowanie analizy protokołów nie ma sensu.

Obwody wejściowe a właściwie ich brak. Zakres napięć 0..5V lub 0,3V. ŻENADA! Można dołożyć, wystarczy zwykły oamp, bo pasmo ŻENUJĄCE.

Ten "oscyloskop" z nazwy, może mieć TYLKO walory edukacyjne, jak to można zrobić,, bo w praktyce, używa się FPGA/CPLD pamięci (czasem FIFO) a uC tylko czeka na gotowe i wyświetla na ekranie lub wysyła przez np USB.


PS
Diodę LED też można nazwać multimetrem.


PS2
Dla zainteresowanych mogę pokazać jak mozna zbudować oscyloskop 240ms/s dla 1ch, 120 dla 2 ch, 60 dla 4ch. Daje to niestety pasmo (naciągane) 24, 12, 6MHz). Pamięć próbek tylko 8kB/ch i same pamięci FIFO kosztują 400zł. Gdzie sens, gdzie logika? Za 1000zł mozna kupic Rigola DS1052, za 1800 DS1054.
 
Odpowiedź
#2
do kolegi es2,
zdaje się, że kolega zapomniał dlaczego się bawimy w Arduino.
Nie chodzi o to by za cenę modułu UNO czy NANO mieć takie czy inne urządzenie które kosztuje kilka tysięcy złotych.
W Arduino chodzi przede wszystkim o naukę przez zabawę!

Nikt nie będzie zainteresowany budową proponowanego przez Ciebie oscyloskopu 240 ms/s,
skoro najtańsze oscyloskopy na Allegro są do kupienia za ok. 80zł z pasmem co prawda tylko ok. 200kHz,
ale już Hantek - za 249 zł ma pasmo 20MHz. Z chińszyzną nie wygrasz.
A po za tym - kupując gotowe urządzenie nie mamy wpływu na jego działanie, nie możemy nic zmienić w jego oprogramowaniu.

Budując samodzielnie oscyloskop w oparciu o płytkę Arduino, poznajemy nie tylko możliwości procesora i samej płytki Arduino - ale też możliwości overclockingu. Na koniec - dostajemy możliwość podglądania kształtu sygnałów, co bez oscyloskopu nie jest możliwe. A że tylko w paśmie akustycznym - no cóż dla kogoś kto buduje nadajnik krótkofalarski to zdecydowanie za mało, natomiast dla kogoś kto buduje wzmacniacze m.cz. - w zupełności wystarczy. A już na pewno wystarczy dla kogoś kto w elektronice stawia pierwsze kroki.

Oscyloskop z zestawu ARDUINO-DEM ma podniesioną częstotliwość próbkowania A/C do 1MHz. Jednak biorąc pod uwagę, że pobiera on 128 kolejnych próbek - ten 1 MHz trzeba podzielić przez 128. Daje to pasmo ok. 8kHz.
Jest to 2x więcej niż wynosi tzw. pasmo telefoniczne.

Czy można podnieść pasmo w/w oscyloskopu. Tak ale kosztem jakości odwzorowania przebiegu, tzn. zmniejszając liczbę próbek. Teoretycznie w/g twierdzenia Kotielnikowa-Shannona pasmo mogłoby wynieść 1/2 częstotliwości próbkowania - ale jakość odwzorowania kształtu byłaby żadna.

Co do napięć wejściowych. Tę funkcję w profesjonalnych oscyloskopach pełnią wzmacniacze pomiarowe i dzielniki napięć. To są kolejne pieniądze które trzeba by dołożyć do budowanego samodzielnie oscyloskopu. Tu znowu kłaniają się Chińczycy - ich cen nikt nie przebije.
Tymczasem budując układy w Arduino - najczęściej mamy do czynienia z przedziałem napięć 0-5V. Biorąc pod uwagę zakres przetwarzania A/C - 1024 bity - daje to rozdzielczość wizualizacji mierzonych przebiegów ok. 4.9 mV/bit.
W praktyce oznacza to, że możemy oglądać przebiegi od około 50mV-5V.

Dlatego uważam, że budowa oscyloskopu w oparciu o moduł Arduino ma sens!
 
Odpowiedź
#3
Oscyloskop na Arduino nie ma ŻADNYCH walorów użytkowych.
Co do poznania budowy też nietrafione bo w praktyce tak się oscyloskopów nie buduje. Tak można zbudować analizator widma sygnału akustycznego.
Oscyloskop na ARM to już co innego, tam jest DMA i konstrukcja taka odpowiada bardziej rzeczywistym konstrukcjom. Gdyby do ARM dołożyć zewnętrzny, szybki przetwornik (np ADS830) to już byłby to w miarę użyteczny oscyloskop.

Na łamach EdW lub EP pojawi się zaawansowana sonda logiczna z funkcją prostego oscyloskopu na STM32F103 i prawdopodobnie oscyloskop na ADS830 + STM32F4xx. Będą to urządzenia przydatne w warsztacie amatora a nie jakieś zabawki na UNO.

Arduinowcy, na siłę realizują projekty na UNO, na zasadzie: "zbuduj coś na tym", zamiast "wybierz sprzęt (uC) do zadania".
Zamiast dać Arduino Mega, do UNO podłączają prehistoryczne ekspandery I2C.
Zamiast użyć LCD z I2C lub większy uC, beznadziejne konwertery na PCF8574.
Zamiast wybrać uC z większą liczbą PWM, zewnętrzne PWM.
To jest BEZ SENSU! Koszt wysoki, zawodność większa!

UNO ma jednego UARTA i został zużyty na debugowanie. Gdzie sens? Gdzie logika? Nie można było użyć FT201 ewentualnie F220?
W projektach na AVR często używałem FT20x i 22x dzięki czemu nie traciłem drogocennych UART, albo mogłem używać uC bez kwarcu.
 
Odpowiedź
#4
Masz rację i zarazem jej nie masz!

Zapomniałeś, że piszesz na forum poświęconym ARDUINO !

Zadaniem tego forum jest zachęcać młodych ludzi (nie tylko wiekiem ale i doświadczeniem) do zabawy z elektroniką.
Pokazanie, że elektronika i pisanie programów na procesory nie jest aż takie trudne.

Zauważ, że do zabawy w Arduino nie jest nawet wymagana umiejętność lutowania. Większość "urządzeń" składa się "na pająka". Zresztą do lutowania potrzebny jest specjalny sprzęt, który też kosztuje kilkaset złotych. Młody człowiek , jeżeli ma takie pieniądze, woli je wydać na nowe czujniki i osprzęt do Arduino.

Owszem, z czasem Ci ludzie przekonają się, że nie wszystko da się zrobić na prostym ośmiobitowym procesorku i wówczas zaczną się uczyć jak wykorzystać poważniejsze mikroprocesory.

Tymczasem Ty piszesz: "wybierz sprzęt (uC) do zadania" oraz "To jest BEZ SENSU!".

Skoro tak uważasz , to co robisz na forum Arduino? Udzielaj się na forum Elektrody.pl!

I na koniec. Znam producenta mierników teletechnicznych. Urządzeń zaawansowanych technicznie.
Jednak ostatnio wdrożył nowy projekt którego sercem jest ... właśnie Arduino.
Właśnie wyprodukował kolejnych 500 urządzeń.
Czy dalej będziesz twierdzić, że to jest bez sensu!
 
Odpowiedź
#5
(29-12-2018, 21:47)blaberk napisał(a): Zadaniem tego forum jest zachęcać młodych ludzi  (nie tylko wiekiem ale i doświadczeniem)  do zabawy z elektroniką.
Pokazanie, że elektronika i pisanie programów na procesory nie jest aż takie trudne.
Nie jest łatwa, tylko propaganda Arduino tak wmawia. Widać to na forach, gdzie banalny problem dla Arduinowca jest ścianą nie do przebicia.

(29-12-2018, 21:47)blaberk napisał(a): Tymczasem Ty piszesz: "wybierz sprzęt (uC) do zadania" oraz "To jest BEZ SENSU!".
Jaki problem zamiast przestarzałego AVR o małych możliwościach użyć np https://kamami.pl/stm32-nucleo/557904-ka...&results=8
STM także produkuje płytki ze złączem Arduino i wbudowanym programatorem od F0xx, przez F1, F2, do F4. Arduino IDE obsługuje F1, F4, nie pamiętam czy F2, F3.


(29-12-2018, 21:47)blaberk napisał(a): I na koniec. Znam producenta mierników teletechnicznych. Urządzeń zaawansowanych technicznie.
Jednak ostatnio wdrożył nowy projekt którego sercem jest ... właśnie Arduino.
Właśnie wyprodukował kolejnych 500 urządzeń.
Czy dalej będziesz twierdzić, że to jest bez sensu!
Napisane w ArduinoIDE czy użyte płytki Arduino? Zrobiłem kilka projektów na ARM jak i AVR na płytkach Arduino ale używając "normalnych" narzędzi, bez uciekania się do beznadziejnych bibliotek Arduino. W Arduino nawet obsługa GPIO jest spier.... po co tylke wywołań funkcji, przeliczeń i magii gdy wystarczy proste
Kod:
PORTx |= _BV(y);
Co w tym trudnego?
Na Forbocie ciągnie się temat 14 przycisków, autor tematu ma problem jak na raz ustawić 12 portów, jaki probem
Kod:
PORTx = xx; PORTy |= zz;
Co prawda 8+4 bo VR to nie ARM gdzie na raz można i 16 ustawić. Niestety, po Arduinowemu się nie da.

Większość projektów na Arduino jestem w stanie położyć w kilka sekund, bo praktycznie nigdy nie sa sprawdzane błędy, nie ma reakcji na nie. Sztandarowy przykład wszystko z 1-Wire, gdzie zwarcie magistrali do masy zwraca 0 (np zero stopni).
Gdzie jest więc czekanie na H po reset?
Gdzie sprawdzanie czy slave nie przedłużył resetu zgłaszając przerwanie?
Gdzie jest czekanie na H po presence?
Gdzie sprawdzanie CRC?
To samo gdy wypnę termometr mamy magiczne -127stopni

O WDG to chyba Arduinowcy wcale nie słyszeli i uważają ten układ za zbędny bajer.
Nadużywanie liczb zmiennoprzecinkowych to norma!
To samo z klasą String. Program pochodzi kilka godzin i się wiesza. Dlaczego w tak małym uC używane są klasy String? Dlaczego w ogóle C++? C++ rzadko używa się na uC z kilkudziesięcioma kB RAM a co dopiero w malutkim AVR z 2kB RAM.
To jest po prostu chore!
A wystarczyłoby użyć C, uC z min 4 czy 8kB RAM, kilkoma UART, mostek USB na FT20x lub FT22x albo uC z USB.
Z AVR godne uwagi są Mega1284, Mega1281/1280.
Bilioteki pisane z głową, testowanie błędów a użytkownicy bibliotek reagować na błędy.
BEZWZGLĘDNIE używać WDG!

Wiele potrzeba? Nie!
 
Odpowiedź
#6
No cóż - obecnie dyskutujemy nie na temat.

Obecnie temat powinien brzmieć "Czy warto się zajmować (bawić) Arduino?"

Dlatego proszę Admina o założenie takiego tematu w odpowiednim dziale i przeniesienie tam fragmentów dyskusji związanych z nowym tematem.

Może inni uczestnicy tego forum przekonają Cię, że nie masz racji. 
A być może okaże się, że to ty masz rację.
Mnie nie przekonałeś.

Tak, czy owak - poruszyłeś temat o wiele szerszy niż temat wyjściowy.
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości