Co chciałbyś wiedzieć przed rozpoczęciem pracy z mikrokontrolerem?

17

Kiedy pracujesz z mikrokontrolerami AVR lub Arduinos, co byś wiedział, gdybyś wcześniej zaoszczędziłby dużo czasu lub frustracji?

NeedTungsten
źródło
Dlaczego teraz tu jest, zapytałem. wygląda Ach, Kortuk bawi się tagami. Wielkie dzięki :-).
Russell McMahon,
@RussellMcMahon, wybijam losowe wiadomości, aby ludzie mieli problemy. Publikowałem komentarz na temat przepełnienia stosu i było to najwyżej ocenione pytanie arduino. Chciałem to zmienić od pytania do dyskusji CW z dawno temu.
Kortuk
1
@Kortuk - (1) Mam nadzieję, że podoba ci się moja odpowiedź :-). (2) Myślę, że to zabawne, że został skutecznie umieszczony w tym obszarze przez świadome działanie, a następnie natychmiast zamknięty - promotor był jednym z najbliższych :-). (3) Fakt, że było to najwyżej oceniane pytanie Arduino, mówi coś o tym, co ludzie chcą usłyszeć. i może sugeruje, że nie zajmujemy się tym wystarczająco dobrze. (4) FWIW, początkujący, przepracowujący i rozumiejący wiele fragmentów, które podniosłem, znacznie poprawiłby ich bazę wiedzy i zrozumienie realnego świata. Niebezpieczne rzeczy!
Russell McMahon
Moja odpowiedź brzmiała prawie w 100% „wiedza specjalistyczna”, choć w formie skróconej. Rozwiń wszystko, a będziesz mieć książkę.
Russell McMahon
@RussellMcMahon, To nie było najważniejsze pytanie arduino, tylko bardzo stare pytanie, które miało tag arduino. Zniszczyłem go edycją, stosując moją standardową metodę unikania akcji bez flag społeczności, a następnie dlatego, że został zderzony otrzymane flagi. Często nie podejmowaliśmy działań w stosunku do wielu starych pytań, dopóki ktoś nie oznaczył wtedy flagą lub nie przedstawił ich jako dowodu, dlaczego powinno pozostać kolejne złe pytanie. Zamiast tego mogę to zablokować, co może być lepszym wyborem.
Kortuk

Odpowiedzi:

18

Dla mnie jest na odwrót: chciałbym wiedzieć o Arduino i AVR, zanim spróbują nauczyć mnie elektroniki w szkole średniej. Uczenie się prawa Ohma bez zobaczenia lub użycia rzeczywistego rezystora nie było ładnym ćwiczeniem. Wówczas byłoby idealnie mieć Arduino do zabawy.

Z tego powodu chciałbym wiedzieć więcej o podstawowej elektronice. Proste pytania: dlaczego powinienem przejmować się prądem? (bo rzeczy się wybuchają, jeśli nie) Dlaczego miałbym przejmować się rezystorami? (to samo tutaj i inne rzeczy) Dlaczego powinienem dbać o czapki? (wszystkie rodzaje powodów)

Umiejętność zabawy z mikrami (i smażenie ich w trakcie) zajęła mi większość tych rzeczy, ale szkoda, że ​​nie nauczyłem się ich wcześniej. (Chyba klasyczny problem z kurczakiem i jajkami)

bpijls
źródło
Bardzo dobrze mówiąc, widziałem wielu studentów, którzy biegle znają teorię działania diody, ale nie potrafią zidentyfikować jednego z wielu komponentów
Rick_2047
Wow ... próbują nauczyć Cię podstawowej elektroniki, nie pozwalając ci bawić się rezystorami i kondensatorami? Czy przynajmniej zastosowali analogię wody?
akohlsmith,
Prawdopodobnie pozwolili nam grać częściami elektronicznymi, ale nie tymi, które kupujesz, ale specjalnymi wersjami „edukacyjnymi”. Pamiętam, jak pracowałem z edukacyjną tablicą „logiki binarnej”. Wszystkie elementy były widoczne tylko jako symbole ze złączami do kabli połączeniowych. Edukacyjna wartość tego była jedynie symulacją komputerową. Byłoby fajnie móc grać prawdziwymi komponentami i przynajmniej mieć pomysł, że wszystkie rzeczy, których się nauczyłeś, miały gdzieś prawdziwą aplikację. I że komponenty są dość tanie i łatwo dostępne zamiast „specjalnych i drogich”.
bpijls,
12

Żałuję, że nie wiedziałem, że z każdej klasy matematycznej, którą kiedykolwiek podejmę, skorzystam jeszcze raz i więcej niż raz, i jestem pewien, że do diabła chciałbym poświęcić nieco więcej uwagi.

Chciałbym mieć dużo doświadczenia w programowaniu i korzystaniu z układów FPGA. Są nową falą rozwoju systemów wbudowanych i mam z nimi tylko podstawowe doświadczenie klasowe.

Żałuję, że nie nauczyłem się, jak używać wszystkich modułów mikrokontrolerów na zajęciach, zanim mój szef spodziewał się, że użyję ich wszystkich.

Z całą pewnością życzę sobie, aby wydział inżynierii elektrycznej mojego uniwersytetu rozpoczął zajęcia projektowe przed końcem roku.

Kortuk
źródło
2
+1 za „klasy projektowania przed rokiem seniorskim” - z perspektywy czasu projekt każdego roku nie byłby zły.
JustJeff,
tak, zrobiłoby mi to cuda. Nauczyłem się więcej w jednym projekcie niż w przypadku innych klas.
Kortuk
2
Uważam, że matematyka i inne „problemy”, które były poza mną, są teraz zrozumiałe, wykonalne lub nawet łatwe. Jest to zachęcające, gdy tak wiele innych elementów mechanizmu wydaje się poniżających :-).
Russell McMahon,
11

Chciałbym wiedzieć, ile to jest ZABAWY :) Gdybym to zrobił, zacząłbym grać z tymi rzeczami znacznie wcześniej!

Len Holgate
źródło
7

Żałowałem, że nie miałem lepszego zrozumienia bitów Fuse. Połowę czasu spędziłem wcześnie, przerażony, że zepsuje mój mega32. No i to samo w odniesieniu do seryjnego IO.

Bitshuffler
źródło
4
Ponieważ ktoś, kto obecnie spędza połowę swojego czasu, przerażony zamurowaniem swojego mega32, byłbym wdzięczny, gdybyś mógł to rozwinąć. : P
Gray
6

Chciałbym wiedzieć, jak przydatne byłyby imadło do deski i naprawdę dobra lutownica. Moja stacja lutownicza Panavise Jr i Aoyue kosztują razem mniej niż 100 USD, ale spłacili to wiele razy, czyniąc budowanie o wiele przyjemniejszym.

Nie potrzebujesz ich absolutnie, ale są one o wiele lepsze niż pomocne dłonie i 15 $ taniej lutownice.

Edebill
źródło
6

Myślę, że pętla jest substytutem arduino dla main w C. Więc zadeklarowałem niektóre zmienne na początku pętli. Zły pomysł, są one inicjalizowane za każdym razem w pętli. Zamiast tego zadeklaruj jako globalne przed jakimkolwiek podprogramem. Nie jest to wielka sprawa, ale zajęło kilka minut, aby dowiedzieć się, co się dzieje.

russ_hensel
źródło
5

Chciałbym mieć arduinos i „sprawić, żeby coś mówiło”, kiedy byłem dzieckiem. Zautomatyzowałbym wszystko!

Nikolaus Gradwohl
źródło
4

Jestem z Kortukiem. Szkoda, że ​​nie rozpoczęliśmy prostych zajęć z projektowania przed ostatnim rokiem studiów, ale szczególnie chciałbym, żebyśmy używali tablicy Arduino na moich zajęciach!

Użyliśmy specjalnie skonfigurowanej płytki zaprojektowanej na Uniwersytecie Wollongong w oparciu o stary układ Motoroli, wszystko zaprogramowane w asemblerze za pomocą aplikacji monitorującej. Coś uciążliwego!

Oczywiście sprawdzam teraz zawartość kursu pod kątem projektowania cyfrowego i wszyscy oni korzystają z układów Atmel AVR. westchnienie

Chciałbym też mieć więcej czasu na majstrowanie przy nich, bo to najlepszy sposób na naukę!

Sketchy Fletchy
źródło
3
Tak, wykonaliśmy tę samą pracę z Motorolą. W wielu szkołach istnieje duża zmiana w kierunku ACVR wśród majsterkowiczów / społeczności edukacyjnej, ale myślę, że PIC z Microchip są lepszym produktem osobiście. Myślę, że mają szerszy zakres aplikacji, ale przyznam, że w aplikacjach o niskim poborze mocy używam MSP430 stworzonych przez TI.
Kortuk
W ramach naszego projektu grupowego na trzeci rok zbudowaliśmy bezprzewodową platformę do elektrokardiogramu opartą na układzie PIC do gromadzenia danych i raportowania RS-232 na komputerze z aplikacją hosta. Ten, którego użyliśmy, był świetnym małym urządzeniem (nie pamiętam teraz specyfikacji, minęło trochę czasu) i naprawdę docenił Mikro w małych, skomplikowanych urządzeniach logicznych. : D
Sketchy Fletchy
1
Brzmi jak świetny projekt dla starszych projektantów. Przygotowuję się do zmiany sposobu, w jaki moja szkoła uczy PIC. Mam kilka profesjonalnych płyt rozwojowych i będę uczył studentów obsługi wielu interfejsów.
Kortuk
4

Schemat komunikacji magistrali CAN i CANOpen.

J. Polfer
źródło
Czy masz jakieś dobre linki?
Johan
@Johan - Z mojej odpowiedzi możesz powiedzieć, że nie wiem o tym wiele. W pracy mamy książkę na CANOpen, której używamy z canopenbook.com . Strony wikipedii nie wyglądają tak źle. Jeśli piszesz głównie oprogramowanie wyższego poziomu, ważne jest, aby uświadomić sobie, że wiadomość ma 11-bitowy identyfikator i 8-bajtowy segment danych. Będę pracował nad projektem CANOpen w nadchodzących dniach / miesiącach, być może mogę podać więcej linków później.
J. Polfer
Właściwie powoli pracuję nad projektem mającym na celu nauczenie się tego .... byłoby to bardzo pomocne (szczególnie projekty samochodowe)
onaclov2000,
4

Chciałbym wiedzieć, że mogę uzyskać bezpłatne próbki z wielu sklepów internetowych. Wtedy nie byłbym zmuszony wybierać, od którego projektu zacząć, na podstawie kosztów. I nie bałbym się kupować komponentów, których nie byłem w 100% pewien, że mógłbym pracować.

Wallacoloo
źródło
Jakie rzeczy możesz otrzymać za darmo? Jakieś przykłady części, które dostałeś z poszczególnych sklepów?
Gray
@Grey: Cóż, właśnie dostałem bezpłatny wyświetlacz LCD 2X40 od ​​Purdy Electronics. Dopiero niedawno odkryłem całą tę próbkę. Oto miejsce, w którym znajduje się wielu dostawców, którzy mają przykładowe programy: instructables.com/id/Free_Electronic_Samples
Ponkadoodle
3

Użyłem Arduino dość i chciałbym wiedzieć, jak trudne było szeregowe we / wy na dowolnych pinach. W końcu zdecydowałem się na bibliotekę innej firmy, ale dotarcie do tego punktu zajęło tygodnie, a nawet wtedy nie było to niezawodne.

thisismyrobot
źródło
3

Chciałbym wiedzieć, że lepiej jest teoria obwodów analogowych. Zera 1 i 0 są łatwe ... zaczepić pin 1 urządzenia A do pin 2 urządzenia B.

Filtr pasmowy drugiego rzędu Butterwortha z wielokrotnym sprzężeniem zwrotnym ... nie tyle. A potem trzeba się martwić o charakterystykę wzmacniacza operacyjnego, na przykład o to, czy obciążenie pojemnościowe na wyjściu w połączeniu z impedancją wyjściową wzmacniacza operacyjnego tworzy biegun, który powoduje oscylację mocy wyjściowej.

Lub powiedzmy, że chcesz wysłać sygnał audio do słuchawek. Musisz ostrożnie wybrać czapkę blokującą napięcie stałe, ponieważ połączy się ona z impedancją słuchawek, tworząc jednobiegunowy filtr dolnoprzepustowy. Wybierz niewłaściwą czapkę, a wyregulujesz częstotliwości basów.

ajs410
źródło
2

Podobnie do zaakceptowanej odpowiedzi, chciałbym wiedzieć wcześniej o Arduino. Było kilka projektów, które chciałem zrobić w domu. Nie mam problemu z projektowaniem własnych płyt z układami UC, ale po prostu nie chciałem wtedy płacić za koszty PCB, a potem montować układy SMT. Tak więc te projekty upadły na bok. Jednak teraz, gdy wiem o Arduino i wszystkich jego tarczach, rozważam je jeszcze raz.

Jay Atkinson
źródło
2

Ta odpowiedź jest daleka od ścisłego pytania, ale jest zgodna z większością innych odpowiedzi - powinna być zabawna i przydatna:

RS232 jest odwrócony

Większość wszystkiego, z czym będziesz mieć problemy, będzie spowodowana przez „warunki brzegowe” - rzeczy, które zdarzają się, gdy wszystko zaczyna się dziać lub zaczyna się zatrzymywać.

Zawsze inicjuj swoje zmienne. ZAWSZE.
I twoje wektory przerwań.

Mały Endian.
Big Endian.
Najpierw wysoki / niski bajt.
Wyreguluj w lewo N bitów.

Flagi pozostały ustawione po zakończeniu pracy (np. Flagi IRQ).

Stack overf
ck .

RTS kontra RTI

Watchdog co?

Prosty harmonogram robin oparty na czasie rzeczywistym, sterowany przerwaniami, który wygląda jak pełny RTOS, ale można go zrozumieć i napisać na bieżąco. Trywialne i niesamowite.

Specyfikacje pinów mikrokontrolera - relacje Vout / Iout. Limity Vin. Trzymanie szpilek w pobliżu środkowej szyny.

Zawsze definiuj wszystkie styki we wszystkich warunkach.

Odporność termiczna.

NIGDY nie pozwól, aby dioda ciała prowadziła (lub może mieć kilka uA, jeśli naprawdę musisz), aby twoje życie było długie na powierzchni ziemi - nawet gdy przyjdą wielcy szatani i powiedzą ci, że będzie dobrze i że możesz bezpiecznie używać je do zaciskania wejścia.

Parametry bezwzględne i parametry operacyjne w arkuszach danych oznaczają zupełnie różne rzeczy i NIGDY nie należy ich używać zamiennie (a przynajmniej nie tych pierwszych w przypadku tych drugich), aby twoje dni mogły być długie ... itd.

V = I x R. V nie dzieje się, jeśli ja się nie dzieje, więc wyciąganie wniosków dotyczących V bez I jest bezcelowe lub gorsze.

Falowniki Hex Schmitt !!!! Boski dar dla DIY cyfrowej i analogowej elektroniki. (74xx14, CD40106, ...).

Logika CMOS !!!

Zakres trybu wspólnego Opamp.

Wysokość wyjściowa opampa - wysoka i niska.

Przerwanie regulatora napięcia - NA GÓRĘ Vout min.

Regulator napięcia Iput min, jeśli dotyczy.

Zasiarczenie akumulatorów ołowiowych. Nie pozwól na to !!!

Całkowita magia akumulatorów LiIon, pomimo ich wad.

Całkowicie nieprzyjemne szykany akumulatorów NimH, pomimo ich licencjonowań.

LSD NimH (nie, nie lizergiczny ...)

Regulowane ograniczenia prądu zasilacze o regulowanym napięciu dla utrzymania żywotności prototypu.

MOSFETY !!!!!!!!!!!!!!!!!!! Tak, ha

Niskie Vgsth MOFETY i elektronika cyfrowa oraz duże obciążenia. Yee Ha.

MOSFET, 2-żelowe sterowniki bram tranzystorowych.
Dlaczego POTRZEBUJESZ sterownika bramy.

Kondensatory tantalowe umierają !!! (i robią)

Wejściowy prąd upływu. Co to jest?
Wejście co?

Dokładność / rozdzielczość / liniowość / monotoniczność / ...

Izochroniczny.
Asynchroniczny?
Nie, izochroniczny.

Asynchroniczny. 1 bit 2 bity 1,5 bitu więcej.
LSB pierwszy !. Pierwszy? TAK! Bit startu, bit stopu, bit parzystości, wymuszona parzystość, brak parzystości, czy wiesz, czy parzystość jest włączona?
Próbkowanie bitów - środek bitu, liczba próbek na bit.
Dokładność z RC - błąd bezwzględny na koniec, wspólny dryf (temperatura), rezonator, wewnętrzny zegar kryształowy - stary i nowy.
Zawsze więcej !!!

Kryształy pękają na wysokim g. / Lub po prostu dryfuj i skacz.
Albo się roztrzaska.

Klej topliwy zawodzi. Zawsze. Zawsze ? Zawsze ! Od tygodni do miesięcy, a może nawet lat.
Kauczuk silikonowy utwardzany kwasem to nie nie nie nie.
Termicznie lub elektrycznie przewodząca żywica epoksydowa jest wypełniona X - można ją również wypełnić.

Kauczuk silikonowy i chaber mówią, że 50-50 na początek. Spróbuj, spodoba ci się.

Podgrzewanie dużego garnka żywicy z włókna szklanego w zimny poranek może sprawić, że wybuchnie szybciej, ale TAKIE szybko ??? !!!!

Blaszane wąsy.

Jeśli powie ROHS, ich magiczna maszyna natychmiast wykryje twoją niezgodność.

Larn do lutowania. Dobrze.
Pamiętaj, że lutowność może się bardzo różnić.
Zły lut jest marnotrawstwem kalorii i nie warto z nim dzielić życia.
ZAWSZE czyść / ścieraj gołe deski, które stały przed lutowaniem - zaoszczędzony czas i stres mogą być monumentalne.
Naucz się NIE łapać spadających lutownic.
Naucz się kopać spadające lutownice, chwytając za sznury, jeśli takie mają.
Naucz się nie upuszczać lutownic.

Magnesy Nd2Fe14B są świetną zabawą, ALE -
mogą wyrządzić ci bardzo poważne obrażenia.
Dobry może wyjąć portfel kart magnetycznych za jednym razem. Rozbijają chip i łamią się z łatwością.
Procesy amerykańskie są znacznie gorsze pod względem siły pola niż te procesowe japońskie.
Zapewnić do około 0,5 Tesli na szczelinie o grubości około połowy grubości materiału.
Pole magnetyczne spada jako odwrotny KWADRAT odległości od jednego bieguna, ale zawsze są zaangażowane dwa bieguny, więc wygląda jak 1 / d ^ 3 na odległość.

Wiele więcej ... :-)

Russell McMahon
źródło
1

Wszystko.

(Tak, to nierealne)

(Również lepiej).

Connor Wolf
źródło
0

Chciałbym wiedzieć, jak łatwo jest zrobić programistę BSD i zacząć. To zaoszczędziłoby wiele czasu na szukanie narzędzi. Oczywiście żałuję też, że nie miałbym wcześniej pirata autobusu :)

I nadal chciałbym wiedzieć, gdzie tanio zdobyć więcej żetonów ( łącznie z dostawą ).

XTL
źródło
0

Chciałbym, aby wielu moich stażystów wiedziało, jak trudna i demoralizująca może być elektronika. Widzę, że wielu nie-inżynierów próbuje dodać migające światła i czujniki do projektu modowego lub czegoś takiego, nie zdając sobie sprawy, że zmierzają do koszmaru debugowania.

Gdybym miał napisać książkę o elektronice, dołożyłbym wszelkich starań, aby odstraszyć ludzi w rozdziale 1. Każdy, kto został, prawdopodobnie byłby w stanie znieść debugowanie.

Rocketmagnet
źródło
2
Całkiem zdecydowanie się z tym nie zgadzam. Elektronika nie jest bardziej demoralizująca niż nauka dziania lub gra na instrumencie muzycznym. Jeśli chcesz czegoś niestandardowego i nie masz cierpliwości i spokoju ducha, aby nauczyć się, zamiast stosować rozwiązanie do cięcia ciastek, to tak, czeka cię niegrzeczne przebudzenie. Udaj się do SparkFun i weź moduły flasherowe, jeśli to wszystko, czego potrzebujesz, ale bądź przygotowany na pozostanie w granicach tego, co zapewniają. Nie możesz mieć obu. :-) To tak, jak mówię moim dzieciom ... większość rzeczy, które warto się nauczyć, wymaga praktyki i cierpliwości do opanowania.
akohlsmith,
Nie, elektronika różni się od robienia na drutach. Oba te tematy są trudne, ponieważ wymagają wprawy, aby się w nich dobrze posługiwać, ale wełniany sweter nigdy nie przestaje w tajemniczy sposób działać, gdy machasz ręką w pobliżu. Elektronika ma dla ciebie całą „nową arenę” zabawy, nawet jeśli masz duże doświadczenie. Jestem w branży od 17 lat i wciąż mnie gryzą.
Rocketmagnet
Mam sympatię do pierwszego akapitu, jako hobbysta nie stać mnie na wysokiej jakości komponenty i sprzęt testowy, który sprawiłby, że niektóre z moich wielu bólów głowy zniknęły. Ale drugi akapit jest po prostu błędny
David Sykes,
Spróbuj kiedyś pomóc grupie studentów mody w projekcie elektronicznym. Wtedy zobaczysz.
Rocketmagnet
Elektronika jest łatwa, jeśli jesteś przygotowany do pracy nad nią krok po kroku. Łatwo, jeśli jesteś przygotowany do zastosowania logiki, aby dowiedzieć się, jak się rzeczy mają, a nie próbuj zamiast tego życzyć im, aby istniały tak, jak chcesz. Debugowanie jest łatwe. Naprawdę. Po prostu ściągasz wszystkie nogi, części ciała itp., A następnie odbudowujesz kawałek po kawałku i widzisz, co się stanie. Trudne dzieje się tylko wtedy, gdy jest niepodzielną całością - np. Smps wysokiego napięcia ze sprzężeniem zwrotnym, w którym wszyscy muszą lecieć jednocześnie, aby ktokolwiek mógł latać. Wykonanie błyskawicznego błysku lub sygnału dżersejowego zwykle nie wymaga tak zamkniętej pętli. Rozbij to krok po kroku i wszystko jest w porządku.
Russell McMahon,