Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Czy Arduino wystarczy do mojego projektu?

Crayou 18 Lip 2015 09:25 4296 40
  • #1 18 Lip 2015 09:25
    Crayou
    Poziom 12  

    Cześć.
    Mam do wykonania mały projekt, który z czasem pewnie ewoluuje o kolejne funkcje. Poczytałem trochę o Arduino i programowaniu i myślę, że powinienem dać radę a przynajmniej spróbować - w końcu koszta nie są wygórowane.
    Od razu zrodziło się mnóstwo pytań. Do Arduino dostępnych jest mnóstwo modułów typu: czujnik wilgoci, klawiatura, wyświetlacz, itp. Czy np. taki wyświetlacz czy klawiaturę podłącza się bezpośrednio pod np. Arduino Due do dostępnych portów I/O? Czy potrzeba jeszcze czegoś "pomiędzy"?
    Druga kwestia to wyjścia PWM. Potrzebuję na wyjściu uzyskać stałe napięcie lub stały prąd - zależnie od trybu pracy. Jakie napięcie/prąd ma być na wyjściu, uzależnione będzie od napięcia referencyjnego podanego na jedno z wejść analogowych (do 2V). Wyjściowe parametry to: prąd w granicach 100mA, napięcie do 10V. Rozwojowo: 10A, 30V.
    Czy Adruino to odpowiedni sprzęt do tego zadania? Może podpowiecie inne rozwiązania?
    Pozdrawiam.

    0 29
  • #2 18 Lip 2015 10:04
    dondu
    Moderator Mikrokontrolery Projektowanie

    Kopalnia na początek: http://mikrokontrolery.blogspot.com/p/spis-tresci.html

    Klawiatura ... zależy jaka.
    Wyświetlacz - z reguły tak, ale jaki?

    PWM 100mA - 10A - to już nie takie proste. 100mA zaprojektujemy inaczej niż 10A.

    Arduino odpowiedni? Do zakresu który podałeś wystarczą nawet uboższe wersje nawet Arduino Nano, Micro czy Mini.

    Generalnie zacznij od podstaw na module np. Arduino Mini, a dopiero później opiszesz dokładnie co chcesz zrobić i wtedy pomyślimy jak Ci pomóc.

    -1
  • #3 18 Lip 2015 10:36
    strikexp
    Poziom 27  

    Moduły dedykowane do Arduino podłącza się bezpośrednio do niego. Trzeba je tylko potem oprogramować samemu lub za pomocą gotowych bibliotek.
    Jest jeszcze haczyk ponieważ Arduino ma też różne interfejsy i np wyświetlacz podłącza się często za pomocą prostego kontrolera aby oszczędzać miejsce na portach Arduino.

    Prądu nie uzyskasz za pomocą Arduino chyba że będzie malutki, ale i tak są zawiłe ograniczenia. Musisz zastosować dodatkowy układ np z tranzystorem.
    Dowolne napięcie jak najbardziej można uzyskać, ale tylko w zakresie od 0V do napięcia zasilania czyli przeważnie do 5V. W przypadku wyższych trzeba też stosować zewnętrzny układ np z wzmacniaczem o wzmocnieniu x6.

    0
  • #4 18 Lip 2015 12:03
    Crayou
    Poziom 12  

    Dzięki za zainteresowanie.
    Oczywiście nie upieram się przy zastosowanie tylko i wyłącznie samego Adruino. Arduino może sterować dowolnym układem wykonawczym odpowiedzialnym za stały prąd/napięcie na wyjściu.
    Opcje do wykonania są takie:
    - Zadaję Arduino napięcie wyjściowe. Układ trzyma się tego niezależnie od zmiennej rezystancji podłączonej do wyjścia - może regulować prądem.
    - Zadaję stały prąd na wyjściu - układ reguluje napięciem
    - Trzecia opcja - na dalszy plan póki co.
    Myślicie, że da się to w miarę bezboleśnie ogarnąć?
    Aha - na wyświetlaczu zadany prąd/napięcie, napięcie referencyjne. Kilka klawiszy do wprowadzania zmian nastaw prądu/napięcia.

    0
  • #5 18 Lip 2015 12:09
    strikexp
    Poziom 27  

    U mnie Arduino steruje i prądem przemiennym 230V, kwestia optoizolacji i dopasowania układów.
    Do sterowania prądem potrzebne jest źródło prądowe, czyli tranzystor. Nie pamietam jak to dokładnie działało więc odsyłam do cyklu artykułów w PDF które znajdziesz na stronie elportal.pl
    Wyświetlacz i przyciski to jedynie kwestia napisania odpowiedniego programu.

    0
  • #6 18 Lip 2015 12:14
    Crayou
    Poziom 12  

    Jednym słowem: pora na zakupy i naukę :)
    Cieszę się, że jest to osiągalne dla przeciętnego człowieka.

    0
  • #7 19 Lip 2015 11:34
    Crayou
    Poziom 12  

    No i przy samych zakupach dylemat - poradźcie.
    Na początek chcę kupić któregoś z bazowych Arduino plus wyświetlacz LCD. I tak:
    - jest LCD moduł shield z keypadem wbudowanym ale z tego co rozumiem, to po wpięciu w Arduino UNO zajmie on wszystkie porty I/O
    - dołożyć PLNów i kupić wersję MEGA i po dodaniu LCD shield zostaną wolne porty I/O
    - kupić Leonardo z portami SCL SDA, LCD plus konwerter I2C i oszczędzić większość portów.

    0
  • #8 19 Lip 2015 11:39
    strikexp
    Poziom 27  

    W UNO też masz I2C, choć mniej portów.
    Możesz zamówić na aliexpress, wprowadzili ostatnio płatność w złotówkach a tam wyświetlacz z I2C kosztuje 10zł a tanie Arduino UNO 15zł.

    0
  • #9 19 Lip 2015 12:04
    dondu
    Moderator Mikrokontrolery Projektowanie

    Crayou napisał:
    No i przy samych zakupach dylemat - poradźcie.
    Na początek chcę kupić któregoś z bazowych Arduino plus wyświetlacz LCD. I tak:
    - jest LCD moduł shield z keypadem wbudowanym ale z tego co rozumiem, to po wpięciu w Arduino UNO zajmie on wszystkie porty I/O
    - dołożyć PLNów i kupić wersję MEGA i po dodaniu LCD shield zostaną wolne porty I/O
    - kupić Leonardo z portami SCL SDA, LCD plus konwerter I2C i oszczędzić większość portów.

    Najpierw podaj jaki budżet przewidujesz na początek.

    0
  • #10 19 Lip 2015 12:09
    piotrva
    Moderator na urlopie...

    Każde arduino ma magistralę I2C/TWI (czyli linie SDA i SCL).
    Zatem do każdego podepniesz LCD na module I2C.
    Dalej LCD nie zajmuje wszystkich portów, a jedynie 6 - pozostałe piny to zasilanie + stanowią mocowanie mechaniczne. Aby dostać się do pozostałych pinów możesz użyć np. proto shiled czy screw sheild.

    0
  • #11 19 Lip 2015 12:13
    Crayou
    Poziom 12  

    strikexp napisał:
    W UNO też masz I2C

    Najwyraźniej to przegapiłem.

    dondu napisał:
    Najpierw podaj jaki budżet przewidujesz na początek

    Wiadomo, jako świeżak w temacie nie chciałbym wydawać Bóg wie ile, bo nie wiem czy to ogarnę i czy Adruino faktycznie spełni założenia projektowe. Do nauki nie chcę szaleć z kasą ale skoro projekt ma (być może) w przyszłości przynieść wymierne korzyści, to można zajrzeć do skarbonki.

    EDIT: Kurde wybaczcie głupie pytania ale w UNO nie widzę pinów oznaczonych SCL SDA... Inna nazwa?

    0
  • #12 19 Lip 2015 12:38
    dondu
    Moderator Mikrokontrolery Projektowanie

    Kup sobie na początek taniutki Arduino Nano 3.0 za niecałe 2$ na Aliexpress z darmową dostawą:

    Czy Arduino wystarczy do mojego projektu?

    Taki moduł zawsze się przyda niezależnie od tego, czy go wykorzystasz w swoim projekcie.

    Jak to zrobić, o tak: http://mikrokontrolery.blogspot.com/2011/03/Jak-kupowac-elektronike-w-Chinach.html

    Możesz także kupić wyświetlacze i inne gotowe moduły.
    Poćwicz podstawy i dopiero decyduj się na realizację projektu jak pisałem w poście #2

    Przy okazji za około 1,7$ kup tam sobie USBasp, bo może się przydać.

    Crayou napisał:
    ... wybaczcie głupie pytania ale w UNO nie widzę pinów oznaczonych SCL SDA... Inna nazwa?

    Patrz na schemat danego Arduino - wyjście I2C to podstawa.

    -1
  • #13 19 Lip 2015 13:23
    strikexp
    Poziom 27  

    Podpisuje sie pod tym co napisał dondu.

    Co do pinów UNO to idąc prawą stroną kolejno po pinach to ...10, 11, 12, 13, GND, AREF, SDA, SCL

    0
  • #14 19 Lip 2015 14:08
    Crayou
    Poziom 12  

    strikexp napisał:
    Co do pinów UNO to idąc prawą stroną kolejno po pinach to ...10, 11, 12, 13, GND, AREF, SDA, SCL

    Właśnie patrzę, że są różne modele UNO. Oryginały/klony i kilku wariantach.
    W tym nie widzę SDA SCL
    Czy Arduino wystarczy do mojego projektu?

    Tu już jest...
    Czy Arduino wystarczy do mojego projektu?

    Chiny to dobra opcja - aż nie wierzę, że to się im jakoś opłaca. 7zł i Pan przynosi pod drzwi. Przecież tyle kosztuje sama obsługa Poczty Polskiej...
    Choć na pierwszy raz pewnie kupię w kraju, bo zależy mi na czasie (mam urlop i trochę czasu na takie eksperymenty). Jak nie pójdzie mi z wysyłką z Chin, to mi się urlop skończy zanim paczka dojdzie.

    0
  • #16 19 Lip 2015 14:22
    strikexp
    Poziom 27  

    O to mój błąd, klon okazał się lepszy od oryginału bo ma dodatkowe złącza a nie tylko wspólne na A4 i A5.

    Z Chinami to jest tak że oni mają umowy z PP i za grosze obsługiwane są paczki miedzynarodowe. Chinole robia też jakieś kombinacje przez różne rodzaje poczty, trudno mi nawet to wyjaśnić ale przysyłają zamówienia poniżej 2zł.
    Z tym że nie wszystko sie tam opłaca, a najtańsze oferty to najczęściej szajs. Np ja dostałem uszkodzone fabrycznie Arduino wiec trzeba sprawdzać zanim się kliknie potwierdzenie odbioru. Jednak Chińczyki też mają w tym interes i np mi zaproponował oddanie pieniedzy pomimo że już zatwierdziłem odbiór (miałem wielką paczkę i sprawdziłem tylko ilość).
    Dlatego trzeba tam kupować od dużych sprzedawców bo u małych jak sprawdziłem niedawno to i podrabiane układy scalone sie zdarzają. A nawet układy z demontażu sprzedawane jako nowe.
    Jednak osobiście i tak wolę kupić dwie kopie Arduino od Chinoli za 30zł niż kopie w Polsce za 40zł.

    0
  • #17 19 Lip 2015 17:25
    Crayou
    Poziom 12  

    Arduino Nano V3 zamówiony :) Plus póki co płytka stykowa i przewody. Jak opanuję włączanie Ledów, buzzerów i innych prostych operacji, to dokupi się LCD z I2C najprawdopodobniej (póki co nie będę się rwał, bo czytam i nawet nie rozumiem adresowania).
    Tak jak dondu pisałeś - Nano zawsze się do czegoś przyda. Nawet przyśniło mi się zastosowanie do auta: zaczyna padać - zamknij szyberdach :D Zawsze mam stres jak zaczyna padać, bo zawsze jest cień niepewności czy nie zostawiłem otwartego dachu :|

    0
  • #18 23 Lip 2015 20:08
    Crayou
    Poziom 12  

    W kooooońcu listonosz dotarł. Ostatnie 300m z poczty do mnie szedł 2 dni skubany :)
    Ale już jest - działa. Póki co zrobiłem wszelakiej maści lampki na choinkę :D A i PWM jako tako rozpoznałem.
    Kurde - potężne narzędzie. Szkoda, że tak późno się za to zabrałem...

    0
  • #19 23 Lip 2015 20:25
    strikexp
    Poziom 27  

    Crayou napisał:
    Szkoda, że tak późno się za to zabrałem...


    Łączę się w bólu :) I tylko pomysleć że około 10 lat temu zobaczyłem ATmega w jakimś schemacie z prasy i odrzuciłem jako coś niezwykle skomplikowanego...

    0
  • #20 23 Lip 2015 20:52
    Crayou
    Poziom 12  

    Dokładnie - czytałem o tym w EdW i tez pomyślałem - "Nie ogarnę". Potem większość projektów w EdW bazowało na tym, więc zaprzestałem kupować czasopismo ;)

    0
  • #21 24 Lip 2015 20:25
    Crayou
    Poziom 12  

    No to mam mały kłopot.
    Aktualnie robię przetwornicę step-down i jest mały zonk, którego nie umiem wyjaśnić.
    Na wyjściu PWM daję ok 170, co odpowiada jakimś 3V na obciążeniu, które stanowią potencjometr i kondensator 100uF połączone równolegle. Kwestia, żeby napięcie na wyjściu nie zmieniało się podczas kręcenia potencjometrem. Program OK, działa ale: jak odczytuję napięcie na potencjometrze/kondensatorze wejściem analogowym, to wartości są mooocno rozrzucone (w granicach 200 jednostek na 1023 możliwe). Jak nie kręcę obciążeniem, to pływa tak samo... Skąd to się bierze? Bo wydaje mi się, że przeszkadza mi to w kolejnym kroku (aby PWM sterować poprzez inne wejście analogowe i potencjometr jako dzielnik napięcia).


    Czy Arduino wystarczy do mojego projektu?



    Edytuj

    0
  • #22 24 Lip 2015 21:05
    strikexp
    Poziom 27  

    Próbujesz mierzyc napięcie PWM ? Przecież będzie ci pływać bo to sygnał impulsowy, to tego przetwornik A/C ma swój dość znaczny czas pomiaru.

    0
  • #23 24 Lip 2015 21:29
    Crayou
    Poziom 12  

    strikexp napisał:
    Przecież będzie ci pływać bo to sygnał impulsowy

    Rozumiem, że popełniam szkolny błąd.

    Z drugiej jednak strony - tak jest w "oryginale" na filmie instruktażowym na Youtube. Schemat taki jak u mnie i gość uzależnia PWM od wartości zmierzonej na A1 w tym punkcie.

    0
  • #24 24 Lip 2015 21:36
    strikexp
    Poziom 27  

    Może ma większy kondensator i mu rozmywa impulsy. Pozatym podłączanie kondensatora bezpośrednio do wyjścia mikrokontrolera może spalić ci wejście, powinieneś mieć drugi rezystor na pinie z PWM.
    Ogólnie Youtube to stos głupot tak jak Wikipedia. Ostatnio widziałem filmik jak gość załadował koszyczek na baterie i podpiął na krótko do telefonu jako powerbank. Ciekawe ile mu ten telefon jeszcze pochodził :D

    Jeśli szukasz dobrego źródła to jedynie książki, prasa branżowa i takie fora jak te gdzie fachowcy obalają wszelkie głupoty.
    Polecam też blog o atmega choć nie pamietam adresu.

    1
  • #25 25 Lip 2015 09:21
    Crayou
    Poziom 12  

    strikexp napisał:
    Może ma większy kondensator i mu rozmywa impulsy.

    Tak, w międzyczasie podmienił 100uF na 1000uF - przegapiłem.
    Czyli sygnał z PWM na kondensator i obciążenie dać poprzez np. 180ohm?
    Może da się jakoś inaczej monitorować to napięcie wyjściowe PWM (uśrednione czy coś)?

    EDIT:

    Pod hasłem PWM to Voltage, wujek google podpowiada najprostsze rozwiązanie.

    Czy Arduino wystarczy do mojego projektu?

    0
  • #26 25 Lip 2015 11:39
    strikexp
    Poziom 27  

    Jestem jeszcze początkujący w mikrokontrolerach ale wydaje mi się że jest możliwość podania dowolnego stałego napięcia nawyjściu analogowym. A PWM służy do sterowania a nie tworzenia napięć (chyba że to napięcie jest wyższe niż 5V).

    Dodatkowy rezystor musisz wpiąć na wyjściu sygnału PWM, musi być taki aby nie przekraczać katalogowego maksymalnego prądu (chyba 40mA?). Przy czym musisz byc świadom że rezystory węglowe mają sporo mniejszą rezystancję niż deklarowana i trzeba dać odrobinę większy rezystor, a najlepiej sporo większy.

    0
  • #27 25 Lip 2015 12:11
    Crayou
    Poziom 12  

    Z tego co czytam po paru stronach, to niestety mamy do dyspozycji TYLKO PWM :( I trzeba konwerter D/A, co w najprostszej postaci stanowi filtr dolnoprzepustowy.

    http://www.instructables.com/id/Analog-Output-Convert-PWM-to-Voltage/

    Poskładałem na nowo, owszem odczyt na pinie analogowym jest w miarę ustabilizowany. Niestety nie trzyma mi napięcia wyjściowego, gdy zmieniam rezystancję na wyjściu poniżej 5kohm. Powyżej jest OK.

    Założę temat w innym dziale, bo tutaj mieliście pomóc w wyborze urządzenia bazowego (nie chcę robić śmietnika) - dziękuję Wam za to.

    0
  • #28 25 Lip 2015 12:32
    strikexp
    Poziom 27  

    Doczytałem i faktycznie nie ma przetwornika D/A jedynie A/D ( czy tam po polsku A/C). Jak ci potrzebny do czegoś konkretnego to można kupić taki przetwornik oddzielnie, koszt 5-10zł.

    Dodano po 2 [minuty]:

    Crayou napisał:

    Niestety nie trzyma mi napięcia wyjściowego, gdy zmieniam rezystancję na wyjściu poniżej 5kohm. Powyżej jest OK.


    Chyba nie myślisz że w kondensatorze jest nieskończona energia. Użyj wzmacniacza na tranzystorze.

    0
  • #29 25 Lip 2015 12:42
    Crayou
    Poziom 12  

    @strikexp, wybacz moje banalne pytania ale czy mógłbyś wstawić prosty schemat jak to ma wyglądać?

    Na Allegro znalazłem moduł TCL5615 za 40zł, który ponoć robi robotę.

    Póki co nieco lektury do kawy ;) Link

    0
  • #30 25 Lip 2015 13:28
    dondu
    Moderator Mikrokontrolery Projektowanie

    W przypadku filtru RC do zastosowania z PWM należy dobrać filtr tak, by jego częstotliwość graniczna była co najmniej 2x mniejsza niż częstotliwość PWM. Częstotliwość graniczną (cut-off) określa się wzorem:

    Czy Arduino wystarczy do mojego projektu?

    Jeśli więc masz częstotliwość PWM wynoszącą np. 10kHz, to powinieneś przyjąć fc mniejsze od 5kHz. Jeśli więc przyjmiesz np. fc=2kHz, to z powyższego wzoru wyliczysz sobie R lub C w zależności, czy przyjmiesz początkową wartość (odpowiednio) kondensatora, czy rezystora.

    Możesz także wykorzystać gotowe kalkulatory - patrz 24 filtry: http://mikrokontrolery.blogspot.com/p/kalkulatory-elektronika.html

    Zacznij więc od tego zamiast wydawać 40zł :)

    1
  Szukaj w 5mln produktów