Skocz do zawartości

Przeszukaj forum

Pokazywanie wyników dla tagów 'Zasilanie'.

  • Szukaj wg tagów

    Wpisz tagi, oddzielając przecinkami.
  • Szukaj wg autora

Typ zawartości


Kategorie forum

  • Elektronika i programowanie
    • Elektronika
    • Arduino i ESP
    • Mikrokontrolery
    • Raspberry Pi
    • Inne komputery jednopłytkowe
    • Układy programowalne
    • Programowanie
    • Zasilanie
  • Artykuły, projekty, DIY
    • Artykuły redakcji (blog)
    • Artykuły użytkowników
    • Projekty - DIY
    • Projekty - DIY roboty
    • Projekty - DIY (mini)
    • Projekty - DIY (początkujący)
    • Projekty - DIY w budowie (worklogi)
    • Wiadomości
  • Pozostałe
    • Oprogramowanie CAD
    • Druk 3D
    • Napędy
    • Mechanika
    • Zawody/Konkursy/Wydarzenia
    • Sprzedam/Kupię/Zamienię/Praca
    • Inne
  • Ogólne
    • Ogłoszenia organizacyjne
    • Dyskusje o FORBOT.pl
    • Na luzie

Kategorie

  • Quizy o elektronice
  • Quizy do kursu elektroniki I
  • Quizy do kursu elektroniki II
  • Quizy do kursów Arduino
  • Quizy do kursu STM32L4
  • Quizy do pozostałych kursów

Szukaj wyników w...

Znajdź wyniki, które zawierają...


Data utworzenia

  • Rozpocznij

    Koniec


Ostatnia aktualizacja

  • Rozpocznij

    Koniec


Filtruj po ilości...

Data dołączenia

  • Rozpocznij

    Koniec


Grupa


Imię


Strona

  1. Jestem laikiem i niestety nie udało mi się znaleźć w internecie odpowiedzi na moje pytanie. Mam 1m taśmy LED czerwonej i 8m taśmy LED białek. Taśmy 10W/m. Chcę to zasilić z jednego zasilacza 100W. 1) Czy 100W wystarczy? 2) Jak podłączyć zasilanie do taśm? Wiem, że nie powinno się łączyć szeregowo różnych kolorów i nie wiem jak to obejść... Nie mogę skopiować linku do allegro więc wrzucam screena zasilacza. Będę wdzięczny za pomoc, Łukasz
  2. Witam Mam pytanie odnośnie doboru części do robota. Sytuacja wygląda tak mam zakupione podwodzie do robota z kołami mecanum, silnikami DC z przekładnią jeden do 1:48, Napięcie zasilania 3V-6V, Pobór prądu 170 mA. W robocie mam zamiar użyć Arduino i sterować nim z telefonu przez Bluetooth. Pytanie pierwsze: Czy jeśli chce użyć sterowników L298N do sterowania silnikami to potrzebuję jakiś przetwornic step down, żeby nie spalić silników i sterowników, jeżeli wymagane źródło napięcia okazałoby się większe niż 6V? Pytanie drugie: Jakiego źródła zasilania najlepiej użyć do tego przedsięwzięcia? Pytanie Trzecie: Jakiego modułu Bluetooth użyć do tego najlepiej (chodzi mi o to żeby sterować silnikami z telefonu)? Widziałem że większość projektów z Arduino, bo korzysta z HC-05. Czy HC-05 to dobory wybór dla laika?
  3. Mam pytanie dotyczące podłączenia wyświetlacza LCD i silnika krokowego. Czy mogę zasilać wyświetlacz LCD z 5v a silnik krokowy z Vin? Czy lepiej podłączyć baterie bezpośrednio do płytki stykowej a wyświetlacz LCD zasilać z portu usb? Nie do końca rozumiem jak działa Vin.
  4. Robot który zbudowałem na sobotnie zawody okazało się że w losowych momentach na trasie przestaje jechać. Zatrzymuje się na kilka sekund i czasem rusza znowu a czasem słychać tylko pyknięcie, robot minimalnie drgnie i dalej się zawiesza. Podczas tych zawieszeń diody rx, tx i wbudowana przestają migać, świeci się dioda ON oraz diody sygnalizujące prawidłowy przepływ prądu w 2 miejscach na 2 płytkach. Zwykle pomaga reset ale muszę rozwiązać problem jak najszybciej bo zawody są już w tą sobotę a muszę jeszcze przeprowadzić testy. Więcej o robocie: Typowa konstrukcja z dwoma kołami z tyłu i platformą z 8 czujnikami z przodu Silniki to polulu hp micro z przekładnią file:///C:/Users/Admin/Downloads/Photo-1.jpeg1:10 Zasilane akumulatorem lipo 500mah 11,1V po stabilizatorze na 6V Użyty jest sterownik silników 2-kanałowy sparkfun Algorytm to zwykły PID (po odkryciu problemu zredukowany do samego P i sprawdzony, problem raczej nie leży po stronie programu) Sprawdziłem: po podpięciu przez kabel (bez akumulatora) - działa gdy koła są w powietrzu- działa gdy zablokuję koła- działa gdy zablokuję koła i przyłożę do podłoża czujniki- nie działa PS testy powyżej są dla bardzo niskiej prędkości, około 25% maksymalnej prędkości silników. Po zwiększeniu zadanej prędkości silniki kompletnie odmawiają współpracy.
  5. Cześć, zrobiłem taki układ: Jednak, gdy podłączam silniki, niezależnie czy z podłączoną baterią czy bez, Arduino przestaje wykonywać kod i zanika pomarańczowa dioda. Gdy odłączę silnik lub go zatrzymam wszystko wraca do normy. Moje silniki to MT84. Używam dokładnie tego samego mostka H jak na rysunku: L293D. Miał ktoś może podobny problem i mógłby się podzielić swoją wiedzą?
  6. Cześć, w moim projekcie miałem losowe przerwania. Rozkładając problem na czynniki pierwsze doszedłem do (chyba) źródła. Na Arduino Nano (chińskie na ch340) wrzuciłem ten kod (proszę nie prawić morałów o digitalPinToInterrupt(), nie w tym problem 😉) void blink(){ digitalWrite(LED_BUILTIN, HIGH); } void setup() { pinMode(2, INPUT_PULLUP); pinMode(LED_BUILTIN, OUTPUT); attachInterrupt(0, blink, FALLING); } void loop(){} Gdy czymś metalowym (zaizolowanym lub nie) dotykam pinu 2, +5V lub masy wyzwala się przerwanie, a oscyloskop widzi szpilkę na linii +5V. Próbowałem zewnętrznego pull-up 2k, kondensatorów na pinie 2 i na zasilaniu, ale to nic nie dało. Na zasilaniu z baterii (4xAA; 4,9v) bezpośrednio do +5V jest to samo. Sprawdziłem na kilku Nano (wszystkie chińskie na ch340). Jak to możliwe że dotykając nożem masy wyzwala się przerwanie? Co to w ogóle za zjawisko fizyczne, jakaś pojemność? I jak zapobiec?
  7. Witam, chcąc połączyć arduino uno, klawiaturę i 5 serwomechanizmów MG996R występują dziwne wariacje niektórych serwomechanizmów (nie zawsze tych samych).Po kilkukrotnym szybkim kliknięciu przycisków, zaczynało wariować. Miałem zaprogramowany przycisk, w którym wszystkie 5 serw pracuje w jednym momencie, wtedy jest największe zapotrzebowanie na prąd i po kilkukrotnej pracy serwomechanizmów, któreś (lub dwa) zawsze zaczynało się kręcić wokół własnej osi, bez końca. Początkowo zasilałem to baterią 9V (poprzez regulator napięcia 5V), wariowały. Stwierdziłem że potrzebny jest większy prąd, to podpiąłem to wszystko pod akumulator od ciągnika (oczywiście przez regulatory 5V), nadal to samo [w załączniku wstawiam zdjęcie połączenia, mam nadzieję że dobrze podłączam, albo tu tkwi problem?]. Potem, aby wyeliminować błędny kod, podpiąłem jedno serwo i potencjometr, na nowym kodzie (prostym) kręcąc potencjometrem, wszystko działało pięknie, lecz po jakichś 2 minutach zaczęło się kręcić w kółko. Nie mam pojęcia co może być przyczyną. Koncepcją główną jest sterowanie serwomechanizmami za pomocą zmiany rezystancji, więc w jednej chwili zazwyczaj będą pracowały wszystkie na raz. Potrzebuję pomocy i z góry dziękuję!
  8. Cześć, potrzebuję zasilić układ EMG napięciem symetrycznym -9 i 9V. Najlepiej jakby napięcie ujemne było stabilizowane. Przez chwilę używałem układu NE555 do otrzymania napięcia ujemnego ale zwykle dostaje z tego od -7,5V do -8V. Układy z wirtualną masą też odpadają. Znalazłem układ Lmc 7660 ale nie jestem pewien czy się nada do tego. Czy jeżeli ustabilizuje napięcie wejściowe na taki scalak dajmy na to układem 7809 do 9V to czy ujemne napięcie wyjściowe z tego układu też będzie ustabilizowane, tzn czy będę miał spadki napięcia jak podłączę układ EMG? Może wie ktoś coś o jakimś innym scalaku, który od razu da mi na wyjściu ustabilizowane napięcie ujemne? Wszystkie płytki/układy większe niż 1cmx1cm odpadają.
  9. Cześć, Chciałbym Wam zademonstrować, jak niewielkim kosztem można zbudować wydajny zasilacz warsztatowy. Prezentowany zasilacz został oparty o gotowe moduły dostępne na AliExpres. Celem zasilacza nie jest dostarczanie zasilania, do układów wymagających stabilnego źródła zasilania, a jedynie zasilanie urządzeń prototypowych oraz elektronarzędzi. W głównym założeniu projektu to zasilacz uniwersalny. Założenia projektowe: Zasilanie urządzeń/prototypów realizowanych przeze mnie prywatnych projektów. Tu jest dla mnie bardzo istotny zakres regulowanego napięcia oraz wydajność prądowa, Maksymalnie niski koszt budowy i eksploatacji, Maksymalnie niewielkie rozmiary i waga. Dlatego m.in rezygnowałem z klasycznego transformatora, Aktywny system chłodzenia składający się z dwóch wentylatorów sterowanych termostatem. Zadaniem jednego wentylatora jest wtłaczanie powierza a drugiego wypychanie, Odłączane wyjścia za pomocą przekaźnika. W zasilaczu można najpierw ustawić napięcie, a dopiero później załączyć je na wyjście układu, Diody LED sygnalizujące pojawienie się napięcia na wyjściu. Technicznie sygnalizują stan pracy przekaźnika, Wyjście USB m.in. do podłączenia Arduino oraz dedykowane złącza bananowe dostarczające napięcie 5V i prąd 1A, Cyfrowy Amperomierz i Woltomierz. Paramtery techniczne: Regulacja napięcia w zakresie od 1 do 24V, Wydajność prądowa do 8A. Celowo rezygnowałem z funkcji regulacji natężenia prądu. Schemat blokowy: Na schemacie pominięto zasilanie mierników. Wykonanie: Powodzenia w konstruowaniu własnych wersji i ulepszaniu. W razie pytań zapraszam do dyskusji 😉 Wykorzystane gotowe moduły: https://www.aliexpress.com/item/1005001665864650.html https://www.aliexpress.com/item/4000411636926.html https://www.aliexpress.com/item/4000064597454.html https://www.aliexpress.com/item/1005001831017918.html https://www.aliexpress.com/item/32225252366.html https://www.aliexpress.com/item/4001018463151.html
  10. Tytuł dość długi, ale i sam projekt trzykołowej platformy do przewożenia ciężarów w bardzo trudnym terenie, też nie jest prosty. Każde koło z silnikiem DC 250W 24V posiada przekładnię zmniejszającą obroty, ale za to zwiększającą ich moment obrotowy. Materiały do wykorzystania: 1/- 3 silniki DC 250W 24V ze sterownikami, na moje szczęście, w wersji bez odzyskiwania energii, 2/- Akumulatory żelowe 12V 7 Ah, 3/- Akumulatory żelowe 12V 12 Ah, 4/- Akumulatory wysokoprądowe od elektronarzędzi 14V - 36V li-ion 18650 3Ah - 6Ah, 5/- Akumulatory średnioprądowe li-ion od deskorolek i rowerów 24V - 36V 18650 4,4Ah - 15Ah , 6/- Ogniwa średnioprądowe li-po 3,6V 10Ah - 14Ah (od rowerów elektrycznych) , 7/- Ogniwa średnioprądowe li-ion 3,7V 18650 2,0Ah - 3,4Ah (z rozbiórki bateri do laptopów) , 8/- Ogniwa średnioprądowe lifepo4 3,2V 3,5Ah - 7Ah, 9/- Przetwornice step-up od 300W do 1800W, 10/- Przetwornice step-down od 150W do 600W, 11/- Przetwornice step-up step-down 150W do 300W, 12/- Wszystko co okaże się niezbędne. Oryginalnymi źródłami zasilania dla tych silników są łączone w szereg po 2 akumulatory żelowe. 2x 7Ah zasila jeden silnik, a 2x12Ah zasila dwa pozostałe silniki. Oba układy pracują niezależnie, a ja chcę je połączyć, ale tak, żeby była możliwość podłączenia do nich, każdego innego akumulatora z już posiadanych lub, które wykonam z posiadanych ogniw. Oczywiście każdy nowy akumulator będzie wykonywany zgodnie z wszystkimi zasadami i z ogniw tego samego rodzaju i pojemności. Z uwagi na fakt teoretycznego rozwiązywania problemu, pomijam ciężar akumulatorów. Przyjąłem założenie, że średnim napięciem będzie 29V, a wszystkie źródła zasilania podzielę na 3 grupy, różniące się złączmi i sposobem podłączenia do układu: 1- akumulatory żelowe - podłączane bezpośrednio tak jak obecnie, złącza wsuwane 6,4mm 2- akumulatory do 7s o napięciu niższym od 28V, złącza EC3 i przetwornice step-up do 29V 3- akumulatory 10s o napięciu wyższym od 31V, złącza EC5 i przetwornice step-down do 29V Dlaczego 29V, bo założyłem, że to akumulatory żelowe, najlepiej przystosowane do pracy pod ciągłym ładowaniem, jako ostatnie będą mogły oddać całą nagromadzoną w sobie moc, gdy już wszystkie przetwornice zostaną odłączone przez BMS-y zabezpieczające akumulatory litowe przed nadmiernym rozładowaniem. Dodatkowo w drugim etapie, tym wykonawczym, dopuszczam z uwagi na ciężar całkowite wyeliminowanie akumulatorów żelowych i wtedy 29V wydaje się bezpiecznym wyborem zarówno dla li-ion i li-po 4s-7s i przetwornicy step-up, jak i dla li-ion i li-po 10s i przetwornicy step-down, zapewniając odpowiednią różnicę napięć niezbędną do prawidłowej pracy przetwornic. Przetwornice będą zabezpieczone diodami przed prądem zwrotnym, które dodatkowo o 0,6V zwiększą różnicę napięć, szczególnie przydatną przy strukturze 7s i przetwornicy step-up. Przy sterownikach silników, napisałem, że na moje szczęście, nie posiadają one funkcji odzyskiwania energii, bo na Forum Elektroda natrafiłem na burzliwą dyskusję, wywołaną napędem roweru elektrycznego z silnikiem BLDC, poprzez równoległe połączenie ze sobą dwóch akumulatorów, średnio i wysokoprądowego. Sednem dyskusji,był właśnie wpływ funkcji odzyskiwania energii, na działanie takiego układu. Okazywało się, że przy sinusuidalnym sterowniku, na oscyloskopie przebiegi były dalekie od sinusoidy i pomógł dopiero specjalnie dobrany dławik. Z uwagi na niższą cenę przetwornic step-up, akumulatory z posiadanych ogniw, będę w miarę możliwości budował w strukturze 5s-6s przy równoległym połączeniu 1p-5p. Największy kłopot mam z już posiadanymi akumulatorami li-ion 7s2p, bo takie z reguły były w deskorolkach, ale po prostu będę je ładować tylko do 28V, a dioda przy przetwornicy zwiększy minimalną różnicę napięć do 1,6V. Tyle tytułem bardzo długiego wprowadzenia, oczekuję od Was oceny mojego rozwiązania, wytknięcia popełnionych błędów oraz wskazówek jak to powinno prawidłowo wyglądać. Głównie chodzi mi o ocenę, czy ustalenie zasilania na 29V jest rzeczywiście dobrym rozwiązaniem oraz jakie warunki muszą spełniać akumulatory, żeby podłączyć je do jednej dużej przetwornicy step-up 1800W?
  11. Pojazd składa się z podanych elementów: Arduino UNO, MOTOR Shield L293D, Moduł Bluetooth HC-05, 4x silniki 5V 1:48 z podwójnym wałem /PLY153. Zbudowany jest na platformie ze sklejki, do tego ma dojść jeszcze cała obudować. Razem będzie ważył z 3 kg. Na ten moment zasilam go 3x 18650 i na wyjściu mam 11.95V - 12.15V. Kiedy trzymam go w powietrzu wszystko jest ok. Jednak jak dochodzi tarcie w czasie jazdy, to napięcie potrafi spaść do 8-9V i rozłącza mnie z nim. Tak się dzieje jeszcze z samą płytą dolną, a co dopiero jak dojdzie obciążenie. Na ten moment mój pomysł to, zrobienie koszyka na baterie 8x sztuk dzięki czemu wyjdzie mi 33V przy pełnym naładowaniu i ok 27V w normalnej jeździe. Czy jest to dobra koncepcja? Jak można ustabilizować napięcie do 12V by nie spalić płytki?
  12. Witam Kupiłem ostatnio servomechanizm(https://botland.com.pl/pl/serwa-typu-standard/16493-serwo-powerhd-wh-65kg-standard-6929130065656.html). Chciałem uruchomić servo więc podłączyłem je do arduino przez wyjście "vin" i przez złącze DC podpiąłem 4 baterie aa (silnik jest zasilany od 6 - 8.4V) dla testu żeby zobaczyć jak działa. Servomechanizm nie drgnął tylko było słychać cichy terkot. Pomyślałem że 4 baterie AA są za słabe aby uciągnąć tak duże servo. Więc kupiłem akumulator SLA 6V 1.3Ah i podłączyłem do gniazda DC arduino. Sytuacja się powtórzyła i silnik tylko cichutko terkotał. Więc mam pytanie: czy coś jest nie tak z zasilaniem czy silnik jest zepsuty(jest nowy). Dodam że przy takim samym podłączeniu i programie w arduino inny servomechanizm(https://botland.com.pl/pl/serwa-typu-standard/6633-serwo-towerpro-mg-946r-standard.html) działa bez zarzutu przy podłączonych 4 bateriach AA. Z góry dziękuje
  13. Hej, Zacznę od swojego backgroundu w temacie - skończyłem infę dobre kilka lat temu, ale tak naprawdę zgłębiam ten fascynujący świat elektroniki od stosunkowo niedawna. Jestem w trakcie wykonywania projektu - zdalnie sterowanej rolety wewnętrznej w kuchni. Celem nadrzędnym jest wykorzystanie jak najbardziej podstawowych elementów, by żona nie krzyczała, że zagracam jej kuchnię 😉 schemat poglądowy wygląda tak: Oraz filmik jak to wygląda na żywo: Filmik jest nagrany dla poprzedniej wersji, w aktualnej zastąpiłem szybkozłączki lutami oraz dołożyłem 2 kondensatory do układu, jak na schemacie. W kwestii zasilania rozciąłem walający się w domu kabel USB i połączyłem czerwony i czarny kabel, pozostałe tj. białe i zielone uciąłem (nie zabezpieczając ich w żaden sposób). Jako zasilacz użyłem zwykłą ładowarkę do telefonu bodajże Samsunga dającą 2A. Wszystko działało dobrze, zarówno w wersji z filmiku jak i z lutami i kondensatorami. Schody zaczęły się, gdy podłączam przedłużacz usb 5 metrowy (potrzebuję przeciągnąć do bo wtyczkę mam trochę dalej od okna). Właściwie, to próbowałem z dwoma przedłużaczami, również z "aktywnym" (https://allegro.pl/oferta/kabel-usb-5m-przedluzacz-aktywny-9272337651) . Próbowałem również 2 różne łatowarki, bez zmian. Rezultat jest identyczny - wygląda na to, że kontroler nodeMCU się resetuje (nie łączy się do sieci WiFi). Czy dodatkowa ilość kabla powoduje jakieś zakłócenia/spadki napięcia układu? Czy powinienem dorzucić jakiś jeszcze stabilizator do tego układu? Myślałem, że kondensator załatwi tę sprawę, ale nie daje on praktycznie różnicy. Pewnie popełniłem dużo błędów przy tym projekcie, więc jeśli macie jakieś sugestie to chętnie posłucham 🙂
  14. Cześć, jestem początkujący, jestem w trakcie budowy czteronożnego robota kroczącego, używam Arduino Uno oraz 16 kanałowego sterownika PWM do sterowania 12 serwomechanizmami Tower Pro 9g. Problem pojawił się z doborem odpowiedniego zasilania dla serw. Potrzebuję w miarę kompaktowego zasilania 5/6 V oraz 4/5 A. Bardzo proszę o pomoc. Zastanawiam się nad użyciem dwóch ogniw litowo-jonowych 18650 (3,7V maksymalny prąd rozładowania 4A), tylko w jaki sposób doprowadzić do odpowiedniego napięcia,?
  15. Witam. Mam problem z zasileniem arduino nano i sewomechanizmów z powerbanka, a mianowicie, zrobiłem przejściówkę z USB na dwa żeńskie wtyki plus i minus do których podlaczone są przewody zasilajace od serwa. Gdy arduino i serwo są podłączone do oddzielnych gniazd USB w laptopie (arduino poprzez gniazdo miniUSB) to wszystko działa jak należy. Problem pojawia się gdy któreś z nich podłączam do powerbanka , wtedy serwo zaczyna wariować tzn. drży i nie może ruszyć się z pozycji 0. Nie wiem w czym problem , rozebrałem powerbank i w środku są dwa ogniwa lipo 18650 3.7V , na wyjsciu USB do którego podłączam np. serwo jest 5.1V więc wszystko moim zdaniem powinno być ok. Poniżej zamieszczam zdjęcia powerbanka . Czy jeśli zbudował bym swój uklad na tych ogniwach i użyłbym przetwornicy step-up , ładowarki do li-xx , oraz stabilizatora napięcia to bylo by to samo? Docelowo ma to zasilać robota 4-nożnego z 12toma serwami sg90. Pozdrawiam 😉
  16. Witam, posiadam 8x Akumulatorki AA R6 Green Cell 2600mAh, są to akumulatorki typu Ni-MH połączone szeregowo. Czy istnie sposób doładowania ich bez wyciągania z koszyka w którym są umieszczone? Czy jednak niezbędna jest ładowarka i wyciąganie ogniw do ładowania.
  17. Wprowadzenie W artykule zostanie przedstawiony sposób na optymalizację układów mikroprocesorowych pod względem wykorzystania zasilania. Celem jest przedstawienie prostych metod, które nie wymagają znacznych ingerencji w konstruowany układ, a jednocześnie dających wymierne korzyści. Efekty uzyskane na podstawie lektury tego artykułu pozwolą na lepsze zrozumienie konstrukcji procesora w kwestii budowy układu zegarowego. Ten wpis brał udział konkursie na najlepszy artykuł o elektronice lub programowaniu. Sprawdź wyniki oraz listę wszystkich prac » Partnerem tej edycji konkursu (marzec 2020) był popularny producent obwodów drukowanych, firma PCBWay. Zaczynamy na 8 bitach Na potrzeby zobrazowania toku myślenia zostaną wplątane w rozważania losy hipotetycznego młodego człowieka, którego nazwiemy Adam. Adam jest młodym elektronikiem, z pewnością przyszłym inżynierem, który od swoich rówieśników słyszał, że oni projektują, programują i uruchamiają. Adam zasięgnął informacji o co tu chodzi. Zakupił płytkę Arduino UNO, zasilacz sieciowy i pełen zapału zainstalował środowisko Arduino IDE. Chcąc wiedzieć jak pokierować swoim rozwojem, zapisał się do odpowiedniej grupy dyskusyjnej i zadał pytanie „mam arduino i co mogę na nim zrobić?” . Odpowiedź pełna sarkazmu, którego nie wyczuł, brzmiała: „Zamrugać diodą LED”. Ów młody człowiek znalazł przykład „blink.ino”, wczytał, skompilował i wgrał do płytki. Ku swemu wielkiemu zaskoczeniu na płytce zaczęła migać dioda LED. Z uśmiechem na twarzy, nie wiedząc tak naprawdę co zrobił, stwierdził: „Jestem programistą”. setup(){ pinMode(13, output); } main() { digitalWrite(13, HIGH); dely(1000); digitalWrite(13. LOW); delay(1000); } Rysunek 1. Arduino UNO Na listingu nr 1 znajduje się cały program, napisany w Arduino (zobacz ramkę „Dlaczego Arduino?”), mrugający diodą LED. Czy ten kod jest optymalny? Patrząc z punktu widzenia programisty, który nie wie jak jest zbudowany mikroprocesor: TAK, ten kod jest optymalny. Z punktu widzenia inżyniera, dobrze znającego architekturę wewnętrzną procesora oraz możliwości jakie daje programowanie niskopoziomowe: NIE, ponieważ to co powstanie po kompilacji będzie bardzo nadmiarowe. Prześledźmy co procesor będzie robić: W funkcji setup zostaje skonfigurowany pin nr 13 procesora jako wyjście. Nr 13 to tylko symboliczna nazwa jednego z wyjść płytki Arduino UNO. Nr 13 odnosi się w tym przypadku do PortB.5 procesora. Do tego pinu jest podłączona dioda LED poprzez rezystor o wartości 500 Ohm. W funkcji main, w pierwszej linii pin 13 jest ustawiany w stan wysoki, dioda LED świeci. Następnie, przez 1000 ms, procesor czeka, aż upłynie 1000 ms. Procesor zajmuje się tylko sobą, czekając aż upłynie 1000 ms. Po tym czasie pin 13 ustawiany jest w stan niski, dioda LED gaśnie. I znowu procesor nic innego nie robi, tylko czeka aż upłynie kolejne 1000 ms. I tak na okrągło, przez ponad 99,9% czasu procesor nic nie robi, tylko sprawdza, czy skończyło się 1000 ms. Schemat nr 1. Zobrazowanie podłączenia diody LED na płytce Arduino UNO W czasie oczekiwania na upłynięcie 1000 ms procesor mógłby robić pożyteczniejsze rzeczy niż tylko zajmowanie się samym sobą. Jeżeli już nie damy mu żadnego konkretnego zadania, to niech nic nie robi, dosłownie nic. Młodzi ludzie, tacy jak Adam, mając nikłą wiedzę elektronika, nie zważają na wykorzystanie energii. Podłączają zasilacz sieciowy do Arduino i nie przejmują się ile to zużyje energii. Płytka arduino UNO sama z siebie, bez procesora, pobiera 19,2 mA. Gdy włożymy procesor, który nie był jeszcze zaprogramowany, pobór prądu wzrośnie do 36,7 mA, a podłączona diod LED będzie pobierała kolejne 2,7mA. W tym momencie Adam się relaksuje. Natomiast my zajmiemy się optymalizacją układu, to będzie praca dla inżyniera. Wykorzystamy przy okazji notę katalogową naszego procesora. Optymalizacja W celu optymalizacji zużycia energii możemy zastosować diodę LED, która potrzebuje mniejszy prąd by świecić, możemy zmniejszyć zużycie energii przez procesor, a nawet możemy wymontować zbędne elementy z płytki Arduino UNO. To ostatnie nie jest wskazane, bo płytka ta jeszcze nie raz zostanie zapewne użyta. Z diodą LED jest tak, że została ona wlutowana z rezystorem na płytce i jej wymiana będzie kłopotliwa. Pozostaje nam zoptymalizowanie procesora, zmontowanie układu np. na płytce stykowej. Będziemy potrzebować procesor, rezonator kwarcowy 16MHz, diodę led, kilka rezystorów o różnej wartości, oczywiście płytkę stykową, kabelki, zasilacz, stabilizatory i programator AVR ISP lub dowolny inny pozwalający na programowanie procesora. Schemat nr 2. Podłączenie samego procesora Ale dlaczego prowadzimy takie rozważania? Nie zawsze będziemy mieli obok naszego urządzenia gniazdko zasilania o nieograniczonej energii i napięciu 230V. Wtedy zasilimy nasze urządzenie z baterii lub akumulatora. Co zrobić, żeby urządzenie pracowało nieprzerwanie przez 1 miesiąc? Należy dać taką baterię, która ma odpowiednią pojemność. To prawda. A co zrobić, żeby urządzenie pracowało przez cały rok? Czy należy dać 12 takich baterii? Po dobrej optymalizacji może się okazać, że nie musi to być konieczne. Przeanalizujemy, na przytoczonym wcześniej przykładzie Blink, jak optymalizacja programowa i sprzętowa przyczyni się do zmniejszenia zużycia energii. W tym celu zamiast używać płytki Arduino UNO użyjemy samego procesora Atmega328 i zasilimy go napięciem 6V poprzez stabilizator 5V, a wszystko będziemy montować na płytce stykowej. Pobór prądu w naszym układzie będzie wyglądał jak przebieg prostokątny o wypełnieniu 50%. Dolny poziom prądu będzie odpowiadał stanowi, gdy dioda LED jest zgaszona (poziom L), natomiast poziom górny będzie odpowiadał stanowi, gdy dioda LED świeci (poziom H).Sam procesor pobiera 14.5 mA, a dioda LED 2.7 mA. Będą to dla nas dane odniesienia. Średni prąd pobierany przez układ to 15,8mA. W ciągu doby układ pobierze 380 mAh. Chcąc zasilić układ z baterii 4 x 1.5V (np. AA o pojemności ok 2000 mAh) układ będzie pracować 5dni i 6 godzin. (dla płytki Arduino będzie to 2 dni i 4 godziny). W ten oto prosty sposób wydłużyliśmy czas pracy o ponad 100%. Optymalizacja nr 1: zmieniamy diodę LED na bardziej energooszczędną, zastosujemy inny rezystor. Zastosujemy diodę, która by świecić potrzebuje zaledwie 0,15 mA. W ten sposób zmniejszyliśmy prąd pobierany przez diodę. Czas pracy na baterii wydłuży się do 5 dni i 16 godzin. W ten sposób, niejako w gratisie, otrzymaliśmy 10 godzin pracy w stosunku do układu podstawowego na płytce stykowej oraz 84h w porównaniu do układu na oryginalnym Arduino. Wykres nr 1. Zależność prądu zasilania od napięcia zasilania dla dwóch przykładowych częstotliwości zegara Optymalizacja nr 2: zmniejszamy napięcie zasilania do 4.5 V, czyli wykorzystamy tylko 3 ogniwa AA. Nie używamy w tym momencie już żadnego stabilizatora Zwiększamy wartość rezystora zachowując parametry świecenia diody LED, możemy zauważyć że zmniejszył się prąd pobierany przez procesor. Teraz nasz układ pobiera średnio 11,35 mA i będzie pracował 7 dni i 8 godzin. Optymalizacja nr 3. Przełączymy pracę procesora na wewnętrzny układ zegarowy 8MHz. Wcześniej oczywiście należy zmodyfikować parametr funkcji delay, aby zachować odpowiednią częstotliwość migania diody LED. W tym przypadku, ponieważ zmniejszyliśmy częstotliwość o połowę, więc musimy ten parametr także zmniejszyć o połowę, czyli użyjemy delay(500). Nasz układ będzie pobierał średnio 7,55 mAh, a czas pracy na bateriach wydłuży się do 11 dni i 1 godzinę. Wykres nr 2. Pobór prądu w zależności od częstotliwości zegara i napięcia zasilania Optymalizacja nr 4. Procesor atmega328 ma możliwość zmiany konfiguracji, aby częstotliwość rezonatora była zmniejszona ośmiokrotnie. Wymagana jest tylko odpowiednia konfiguracja Fuse bitów. W tak prostym programie jak blink, nie musimy mieć tak szybkiego procesora. Ustawmy Fuse bit CKDIV8 na aktywny. Spowoduje to, że procesor będzie pracować z częstotliwością ośmiokrotnie mniejszą. Aby uzyskać tę samą częstotliwość migania diody LED musimy troszkę zmienić nasz program. W miejsce oryginalnego delay(1000) wstawmy delay(500/8) lub delay(65). Po kompilacji, wgraniu i przestawienie fuse bitu, dioda nadal miga, tak jak wcześniej, ale średni prąd pobierany przez układ zmniejszył się do 3.7 mA . W efekcie optymalizacji nr 4 nasz układ będzie pracować 22 dni i 13 godzin W nocie katalogowej, wykres powyżej, możemy zobaczyć, że napięcie zasilania możemy zmniejszyć aż do 1.8V. Niestety nie mamy takiej baterii, ale możemy odłączyć kolejną. Wykres nr 3. Maksymalna częstotliwość w zależności od napięcia zasilania Optymalizacja nr 5. Zasilamy nasz układ tym razem z dwóch baterii AA, czyli napięciem 3V. Oczywiście zmieniamy rezystor przy diodzie, aby zasilać ją tym samym prądem co poprzednio. Program, zegar i fuse bity zostawiamy niezmienione. Tym razem otrzymujemy zapotrzebowanie na prąd przez procesor na poziomie 1.1 mA. Nasz układ będzie pracować przez 75 dni i 22 godzin. Optymalizacja nr 6. Wykorzystamy wbudowany w procesor wewnętrzny układ zegarowy o częstotliwości 128kHz. W naszym przypadku, po korekcie w funkcji delay, nadal układ będzie migać diodą LED. Oczywiście pozostawiamy CKDIV8 aktywny uzyskując częstotliwość zegara 16kHz. Średni pobór prądu przez nasz układ wyniesie 0,5 mA, a czas pracy na dwóch bateriach AA, wyniesie 166 dni i 15 godziny. Można wykonać optymalizację nr 7 poprzez zmniejszenie napięcia zasilania do 2.4V, wykorzystując dwa ogniwa akumulatorków o pojemności 2000 mAh. Dioda LED już przestanie prawie świecić, ale układ nadal będzie pracować pobierając średnio 0.35 mA, a czas pracy osiągnie 238 dni i 2 godziny. Idąc dalej można wykonać optymalizacja nr 8. I wykorzystać wbudowany w procesor tryb zmniejszonego pobory prądu poprzez jego usypianie. Taki zabieg spowoduje, że procesor będzie pobierać jeszcze mniej prądu, ale to zadanie pozostawiam czytelnikowi. Krótkie podsumowanie tego co zrobiliśmy Tabela nr 1. Podsumowanie optymalizacji Atmega328 Dzięki zastosowaniu kilku optymalizacji wydłużyliśmy czas pracy naszego, bardzo prostego, układu. Poza tym zmniejszyliśmy o połowę ilość potrzebnych ogniw do zasilania, co zmniejszyło koszty eksploatacji. Wydłużyliśmy czas pracy naszego urządzenia 76 krotnie, wykorzystując o połowę mniej baterii. A jeżeli już kupimy 4 baterie, tak jak to miało miejsce w pierwszej wersji, ale podłączając je równolegle w pakiecie 2 x 2 baterie, to uzyskujemy ponad 150 krotne wydłużenie czasu pracy naszego układu w porównaniu do użycia oryginalnego Arduino UNO. Czytelnik może pokusić się o zgłębienie wiedzy o możliwościach procesorów w omawianej kwestii. Jest dostępna literatura omawiająca to zagadnienie. Ten artykuł ma za zadanie tylko przybliżyć to zagadnienie szerszemu gronu odbiorców, którzy dopiero zaczynają przygodę z mikroprocesorami. Można jeszcze zastosować bardziej ambitne metody zarządzania energią[ii], ale to już zostawiam czytelnikowi. Rozwinięcie na 32 bitach Nasz Adam o tym wszystkim co zrobiliśmy nie wiedział. Ale jego ambicja przerastała jego wiedzę. Napisał, czyli przekopiował swój pierwszy program i stwierdził: „ale przecież to tylko 8-bitowy procesor, użyję 32-bitowego”. Jak pomyślał, tak zrobił, zakupił Arduino M0, skorzystał ze swojego pierwszego programu, skompilował go, wgrał i…. dioda LED miga. Radość wielka, Adam „napisał” swój pierwszy program na procesor 32-bitowy. Znów jest szczęśliwy, choć nadal nie wie co robi procesor. Program wygląda identycznie jak poprzednio. Więc przypomnę co robi procesor. Procesor w funkcji main, w pierwszej linii pin 13 ustawia w stanie wysokim, dioda LED świeci. Następnie, przez 1000ms, procesor SAMD21G18 czeka, aż upłynie 1000ms, robi to szybciej, bo jest szybszy od Atmega328. Procesor zajmuje się tylko sobą, czekając aż upłynie 1000ms. Nudzi się. Po tym czasie pin 13 ustawiany jest w stanie niskim, dioda LED gaśnie. I znowu procesor nic innego nie robi, tylko czeka aż upłynie kolejne 1000ms. I tak na okrągło, przez 99,99% czasu procesor nic nie robi, tylko bardzo szybko sprawdza, czy skończyło się 1000ms. Rysunek 2. Arduino M0 Płytka Arduno M0 została zasilona z 4 baterii AAA, tak jak poprzednio. Średni pobór prądu wynosił 26.8 mA, a czas pracy układu, na używanych wcześniej bateriach, wynosi 3 dni i 2 godzin. Optymalizacja W przypadku procesora SAMD21G18 również możemy przeprowadzić podobną optymalizację. Ograniczymy się tylko dwóch etapów, w którym zasilimy płytkę z 2 baterii AAA . Optymalizacja nr 1. Aby ograniczyć zużycie prądy przez elementy dodatkowe na płytce wykorzystamy podobnie jak poprzednio sam procesor oraz tylko te elementy, które będą niezbędne do pracy. Po optymalizacji otrzymaliśmy średni prąd zasilania wynoszący 9,6 mA. Nasz układ będzie nieprzerwalnie pracować przez 8 dni i 14 godzin. Optymalizacja nr 2. Przy użyciu trybu pracy SLEEP dla omawianego procesora możemy obniżyć pobór prądu do ok 6uA. Mając takie możliwości możemy w czasie gdy dioda LED ma być zgaszona uśpimy procesor. Przy wcześniejszej optymalizacji osiągnęliśmy średni pobór prądu na poziomie 9,6 mA, teraz usypiając procesor przez połowę czas uzyskamy 4,8 mA. Wynik może nie powala bo i tak spora wartość, ale pamiętajmy, to jest o 50% mniej. Po tej optymalizacji otrzymaliśmy średni prąd zasilania wynoszący 4,8 mA. Nasz układ będzie nieprzerwalnie pracować przez 17 dni i 4 godzin. Jeżeli chodzi o optymalizację częstotliwości zapraszam do analizy noty katalogowej producenta i wykonania własnych testów. Krótkie podsumowanie tego co zrobiliśmy Tabela nr 2. Podsumowanie optymalizacji SAMD21G18 Podsumowanie Porównajmy teraz obie płytki Arduino. Obie posiadają podobną ilość pinów do wykorzystania, obie można zasilić albo z USB, albo z zewnętrznego zasilacza, obie pracują na maksymalnych prędkościach zegara jakie udostępnia producent. Procesor w Arduino Uno ma piny, które można obciążyć większym prądem niż w procesor w Arduino M0. Oba procesory mają możliwość korzystania z metod zarządzania zasilaniem, tym samym zmniejszania prądu zasilania procesora. Dla naszego Adama, jest bez znaczenia, która płytkę wykorzysta, ale dla czytelnika tego artykułu zapewne już nie. Nie zawsze jest sens używać najmocniejszy procesor, skoro słabszy i tańszy zrobi dokładnie to samo. Dla prostych aplikacji, które nie wymagają „super szybkości” procesor Atmega328 wydaje się być lepszym rozwiązaniem w porównaniu do SAMD21G18. Natomiast gdy budujemy aplikację bardzo skomplikowaną, wymagającą szybkich operacji i krótkich czasów reakcji to SAMD21G18 tym razem będzie lepszy od Atmega328. Wszystko należy przekalkulować. Jeżeli zoptymalizujemy nasz układ sprzętowo i programowo, to możemy podkusić się o zrobienie układu, który będzie niezależny od zasilania zewnętrznego. Możemy zasilać układ np. z energii słonecznej, która zostanie dostarczona przez ogniwo słoneczne. Podczas dnia nadmiar energii wytworzonej przez ogniwo można gromadzić w akumulatorze, z którego układ będzie zasilany nocą. Dobór ogniwa i akumulatora zależy już od tego jak skomplikowany mamy układ i jakie ma zapotrzebowanie na energię, ale ważne jest by układ działał cały czas. Ktoś mógłby powiedzieć perpetuum mobile, ale my powiemy że korzystamy z energii odnawialnej. Dlaczego Arduino Nie ma wątpliwości, że rozwój elektroniki sprawił, że wiele narzędzi i produktów stało się bardziej dostępnych dla zwykłego użytkownika. Idea Arduino doprowadziła to stanu, w którym to każdy może spróbować, w naszym przypadku, programowania i konstruowania elektroniki. Programowanie w Arduino jest bardzo proste, a programista nie musi znać budowy wewnętrznej procesorów, co w przypadku innych środowisk jest konieczne. Samo środowisko jest bezpłatne. Moduły Arduino stały się bardzo dostępne na naszym rynku, a za sprawą „specjalistów” z Chin również cenowo bardzo atrakcyjne. Wsparcie producenta i dostępność dokumentacji jest szczególnym ułatwieniem w budowaniu i programowaniu układów. Rozpowszechnienie Arduino na całym świecie sprawiło, że użytkowników i osób w nim programujących jest wielu. Jest bardzo wiele grup dyskusyjnych, forum internetowych czy repozytoriów na których jest omawianych całe mnóstwo problemów i ich rozwiązań, bibliotek napisanych przez użytkowników, czy po prostu opisów typu „jak zrobić…”. To wszystko sprawia, że zamieszczony w tym artykule opis dotyczy Arduino, od którego to zaczyna przygodę z programowaniem najwięcej osób.
  18. Witam, przychodzę z pytaniem, gdyż posiadam silnik krokowy bipolarny zasilany napięciem 10 V o poborze prądu 500 mA na cewkę i chciałbym go zasilić za pomocą akumulatora Li-Pol o napięciu nominalnym 11,1 V, pojemnoćsi 1800 mAh i prądzie rozładowania 30C (54A). Jak należy podpiąć, aby silnik działał poprawnie? Z góry dziękuje za odpowiedzi.
  19. Cześć wszystkim 😁 Czy jest ktoś w stanie mi powiedzieć jak podłączyć zasilanie do części logicznej Modułu PCA9685 Shield Arduino. Wydaje mi się że samo nałożenie shielda na arduino nie wystarczy. Na dolnej części płytki pisze "VCC select" i mam do wyboru 3V i 5V. Jest ktoś w stanie mi powiedzieć jak mogę wybrać czy chce zasilać poprzez 3V czy 5V?🧐
  20. Silnik DC na 6V można podłączyć do zasilania 12V z pwm o wypełnieniu 50%, pwm o częstotliwości 30kHz. Przeprowadzał ktoś takie próby? Teoretycznie powinno działać. Pozdrawiam
  21. Witam! Budując swoje dotychczasowe układy, jako zasilanie wykorzystywałem zwykłe baterie i chciałbym w końcu 'pójść krok dalej' i zamienić jednorazowe ogniwa na odnawialne akumulatorki 🙂 Tylko problem w tym, że nie mam zielonego pojęcia jak się z nimi obchodzić, w sensie jaki rodzaj akumulatora dobrać do urządzenia? W jaki sposób je bezpiecznie naładować i czym? Jak je przechowywać? itd. Mógłby ktoś mnie trochę wprowadzić w ten temat, albo chociaż odesłać do odpowiednich materiałów? Z góry dziękuje i pozdrawiam!
  22. Witam, jestem nowy w temacie Raspberry Pi i elektroniki ogólnie, ostatnio zamówiłem moduły: DFRobot MP2636 i DFRobot Gravity. Chciałem ich użyć do zasilania mini-komputerka i mierzenia poziomu rozładowania baterii li-pol jednocześnie. Napotkałem dziwny jak dla mnie problem, a mianowicie: gdy podłączam baterię do modułu ładowania/power-booster'a przez krótsze przewody (+ i -) Raspberry Pi włącza się tak jak powinien, ale gdy użyję dłuższych przewodów, albo spróbuję podłączyć baterię przez płytkę prototypową Raspberry Pi włącza się, ale się nie boot'uje. Nic nie pokazuje się na ekranie, serwer ssh się nie aktywuje, ale napięcie na pinach jest bliskie 5V - tak jak powinno. Poza tym byłbym bardzo wdzięczny, gdyby ktoś wytłumaczył mi jak podłączyć baterię do obu modułów jednocześnie, by całość po prostu działała - bateria zasilała Raspberry Pi przez moduł zasilania, miernik rozładowania mierzył poziom rozładowania baterii. :)
  23. Witam, mam problem z zasileniem arduino oraz serwomechanizmu. Otóż wymyśliłem to tak, że użyję akumulator Li-Po 1s w połączeniu z przetwornicą step-up (maksymalny prąd to 2A). Jednak po włączeniu wszystkiego serwo oraz arduino wariują. Natomiast gdy podłącze arduino do komputera poprzez usb a serwo do baterii lub zasilacza to wszystko działa poprawnie. Dodam też, że prędkość i kąt wychylenia serwa są sterowane poprzez moduł BT i gdy wszystko jest zasilane jest właśnie z baterii lub jednego zasilacza(atx) to moduł wysyła informacje z dużo wyższą częstotliwością (dioda TX miga znacznie szybciej i widać to na monitorze portu szeregowego).
  24. Dzień dobry Dzisiaj chcę się z wami podzielić moim trzecim już projektem opisywanym na tym forum. Jest to zasilacz idealnie nadający się do majsterkowania czy warsztatu sprawdzi się też w roli zasilacza laboratoryjnego. Mimo że mam już dwa zasilacze jeden to zasilacz 16a nie regulowany, a drugi 3a regulowany. Brakowało mi jednak zasilacza regulowanego o większym amperażu jak pisałem we wcześniejszym projekcie miałem dorobić regulator napięcia do zasilacz 16,5a jednak stwierdziłem, że zrobię nowy zasilacz regulowany o prądzie ok 8a. Kupiłem więc zasilacz modułowy 12.5a 150w według mnie taki zasilacz ma dużo zalet np. jest impulsowy więc lekki, możliwość zasilania 110v lub 230v AC, małe rozmiary. Zasilacz zamontowałem w plastikowej obudowie do obudowy zasilacza przykleiłem termistor który steruje obrotami wentylatora jako sterownik użyłem potencjometru 150k oraz stabilizatora LM317. Wszystkie te elementy przylutowałem na pcb i przykręciłem z tyłu nad wentylatorem. Obok wentylatora zamontowałem regulator napięcia. Z tyłu zamontowałem wentylator 4 cm który chłodzi mi wszystkie podzespoły. Zamontowałem także gniazdo 230v z wyłącznikiem oraz bezpiecznikiem. Tak wygląda przód całego zasilacza. Z przodu od lewej czerwona kontrolka informuje o zasilaniu 230v, gniazda bananowe 2 kanały i pomiędzy gniazdami kontrolki o zasilaniu kanałów, woltomierz oraz gałka do sterowania napięciem, a na końcu gniazda bananowe z napięciem regulowanym oraz wyłącznik z podświetleniem który włącza regulator napięcia. Do całego opisu dołączam schemat wszystkich połączeń: Parametry zasilacza 2 kanały 12 v 1 kanał regulowany 0-11.4 v 12.5a na 3 kanały Dziękuje za przeczytanie i proszę o komentarz.😀
  25. Witam, ostatnio wszedłem w posiadanie czterech 13,5 V paneli słonecznych i chcę z nich zrobić zasilanie do stacji pogodowej arduino. Rozumiem że będę potrzebować zasilania kiedy pogoda nie będzie sprzyjać. Jestem zielony jeżeli chodzi o elektrotechnikę i mam parę pytań: Jaką baterię polecacie do utrzymania takiej stacji pogodowej? W jaki sposób powinienem połączyć panele tak aby były w stanie najwydajniej ładować baterię? Jaki moduł ładowania byłby odpowiedni do mojego zastosowania? Czy ten moduł byłby ok gdybym zastosował przetwornicę step-down (do 5,5 V) gdy panele generują 13,5 V przy maksymalnym słońcu? Wiem że te panele mogą być trochę za mocne na ten projekt, ale na prawdę nie mam na nie pomysłu. Może zamiast stacji pogodowej powinienem coś innego z nimi zrobić?
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.