Archiwum kategorii: Arduino

Tester rezystancji wewnętrznej ogniw 18650

Ogniwa Li-Ion 18650 są głównym źródłem zasilania moich „zabawek”. Owszem – wymagają odpowiedniej ładowarki, trzeba kontrolować stan ich napięcia, są większe niż „normalne” paluszki. Za to dają duże prądy a nominalne napięcie pojedynczego ogniwa to 3.7 v – naładowanego nawet 4.2v.

Wbrew pozorom, 18650 są łatwo osiągalne. Pozyskuję je z baterii od laptopów czy power banków. Tuż po wyłuskaniu ich z „opakowania” konieczna jest ocena ich jakości. Pierwszy sprawdzian jest łatwy – wystarczy zmierzyć ich napięcie. Jeżeli jest zbyt niskie – nawet nie biorę się za ich ładowanie. Absolutną granicą jest dla mnie 3v. Ładowanie ogniw, które dłużej leżały rozładowane najczęściej nie daje dobrych rezultatów – będzie to trwało wieki (cykle ładowania i rozładowania), wymaga czasami „kopa” napięciowego – a na koniec wepchniecie w nie jedynie kilkaset mAh. Najbardziej lubię takie ogniwa, które mają 3.5v i więcej – dają najwięcej energii.

Napięcie to jednak nie wszystko. Jeszcze bardziej liczy się rezystancja wewnętrzna baterii.

Czytaj dalej Tester rezystancji wewnętrznej ogniw 18650

Pomiar natężenia prądu z użyciem bocznika, wzmaczniacza operacyjnego i Arduino

W kolejnym projekcie będę mierzyć natężenie przepływającego prądu… Napięcie wystarczy wprowadzić na piny analogowe Arduino. Z natężeniem jest trochę problemów. Matematycznie sprawa jest prosta. Pan Ohm jest tu dość konkretny:
 I = {U \over R}

Natężenie prądu I możemy łatwo obliczyć, jeżeli znamy napięcie U i rezystancję R. Trzeba to jednak zrobić tak, żeby nasz miernik nie wpłynął na mierzony układ. Jeżeli R będzie za duże – spadek napięcia (dodatkowe obciążenie) wpłynie na działanie mierzonego urządzenia. Rezystancja R powinna być więc możliwie jak najmniejsza. Jednak  wtedy spadek napięcia na niej będzie niewielki…. i trudno go będzie zmierzyć!

Czytaj dalej Pomiar natężenia prądu z użyciem bocznika, wzmaczniacza operacyjnego i Arduino

Ciekawy przypadek pewnego Nano… (piractwo i „kara” po latach)

Zdarzyło mi się pewne Nano… Wygrzebałem je z dna pudełka (przeleżało tam trochę czasu), podłączyłem do komputera. Niestety – nie odpowiadało na programowanie z Arduino IDE. Pierwsze podejrzenie padło oczywiście na bootloader. Szybkie wgranie nowego (sposób znany i opisany) – co zazwyczaj rozwiązywało problem. A tu niespodzianka – nic to nie dało. Co więcej:

Bricked Counterfeit FT232 Serial (UART) IC? What da hell?!

Czytaj dalej Ciekawy przypadek pewnego Nano… (piractwo i „kara” po latach)

Generator sygnału, port szeregowy i… Arduino

W poprzednim tekście o niewielkim generatorze przebiegów prostokątnych pisałem o możliwości konfigurowania go przez port szeregowy. Pokazałem, jak to można zrobić przez konsolę szeregową, np. Putty. Oczywiście nic nie stoi na przeszkodzie, żeby sterować nim z… Arduino.

Co więcej – GND, RX i TX generatora można wpiąć bezpośrednio do gniazd portów Arduino – GND, D13 i D12. Pozostaje podłączyć zasilanie VIN Arduino do VIN+ generatora… i gotowe!

Czytaj dalej Generator sygnału, port szeregowy i… Arduino

Arduino i pomiary napięcia z użyciem napięcia odniesienia AREF – LM336

Jedną z ciekawszych funkcji Arduino UNO R3 (a właściwie napędzającego go AtMega328) jest wbudowany przetwornik analog-cyfra. Przetwornik zamienia sygnał analogowy (napięcie) na postać cyfrową. Standardowo przetwornik może mierzyć napięcie w zakresie od 0 do Vcc voltów – gdzie Vcc jest napięciem zasilania AtMega. Podane zasilanie przetwornik dzieli na 1024 przedziały (stąd się bierze rozdzielczość 10 bitów – 2^10 = 1024) i ilość tych przedziałów zwraca w funkcji analogRead() (a dokładniej 0..1023).

Standardowo zakłada się, że Vcc=5v. Jeżeli więc funkcja analogRead() zwróci wartość około 511 – napięcie na takim pinie powinno wynosić około 2.5v. A tu niespodzianka: dla napięcia 2.5v moje Arduino zwróciło…  515 – czyli 2.5171. Skoro rozdzielczość przetwornika to 4.8mV (5v/1024), to skąd się bierze ta różnica, prawie 18mV?

Czytaj dalej Arduino i pomiary napięcia z użyciem napięcia odniesienia AREF – LM336

AtMega8 w Arduino UNO R3: operacja „przeszczep”

Podczasatmega8_00 budowania układu regulowanego obciążenia (Mocy ubywaj…) wymyśliłem, żeby docelowe urządzenie było zlutowane na niewielkiej płytce przewlekanej. Wykluczyło to użycie płytki Arduino UNO. Po prostu zajmuje za dużo miejsca. Dla wygody postanowiłem pozostać w świecie Arduino IDE, ale do projektu użyć znalezioną w szufladzie AtMega8. W tym celu „przeszczepiłem” AtMega8 na płytkę Arduino UNO, wgrałem bootloader i zaprogramowałem przez kabel USB.

Ale po kolei.

Czytaj dalej AtMega8 w Arduino UNO R3: operacja „przeszczep”

Konsola do gier video na Arduino

Tenis to najstarsza z gier video. Swoją premierę miała już w 1972 roku. Ja pamiętam ją jeszcze z mojego dzieciństwa  – w wersji na konsolę TVG-10. Spędziłem nad nią wiele godzin:)

pong_04Wspomnienia wróciły po wizycie w Muzeum Konsol Gier Video Karpaczu. Szybkie poszukiwanie w Sieci pokazało się, że w oparciu o Arduino można zbudować mini-konsolę podłączaną do telewizora. No to do roboty!

Czytaj dalej Konsola do gier video na Arduino

Arduino jako joystick USB (LUFA i HID) – cz. 3

W poprzednich odcinkach (część 1 oraz część 2) udało mi się przekompilować firmware czipu AtMega16U2 komunikującego Arduino UNO z arduino_joystick_shieldkomputerem. Teraz spróbuję zamienić Arduino z nałożnym rozszerzeniem Funduino w… kontroler do gier dla RetroPie:)
W tym celu wymienię firmware AtMega16U2 na taki, dzięki któremu Arduino będzie rozpoznane jako akcesorium USB typu joystick z przyciskami.
Czytaj dalej Arduino jako joystick USB (LUFA i HID) – cz. 3