Skocz do zawartości

ModelAXE

Użytkownicy
  • Zawartość

    62
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    4

ModelAXE zajął 1. miejsce w rankingu.
Data osiągnięcia: 22 maja 2021.

Treści użytkownika ModelAXE zdobyły tego dnia najwięcej polubień!

O ModelAXE

  • Urodziny 18.04.1977

Informacje

  • Płeć
    Mężczyzna
  • Lokalizacja
    małopolska
  • Zawód
    informatyk
  • Moje zainteresowania:
    modelarstwo

Ostatnio na profilu byli

1 242 wyświetleń profilu

ModelAXE's Achievements

4/10

4/10 (4/10)

58

Reputacja

  1. Teraz jestem jeden maleńki kroczek do przodu. Stan "wiem, że nic nie wiem", to i tak więcej niż poprzedni stan "nie wiem nawet tego, że jestem totalnym ignorantem, ponieważ nic nie wiem"
  2. No dobra, fajne to i ciekawe, ale znacząco przekracza moje potrzeby "początkującego elektronika hobbysty". Wspaniały jest ten nasz świat i wychodzi na to iż właściwie to niewiele z niego rozumiemy.
  3. Posunąłem nieco do przodu prace modelarsko-lutownicze. Zamontowałem główny wyłącznik zasilania, zlutowałem światła stop oraz przednie światła mijana i drogowe. Zrobiłem też wstępną wersję schematu całej instalacji. Wszelkie uwago co do schematu mile widziane. Odezwę się wkrótce jak będzie coś więcej do pokazania.
  4. Zrobiłem testy z przetwornicą Pololu S7V7F5 i wyniki są następujące. Baterie już nieco osłabły do 6.01V, ale zgodnie z obietnicą producenta napięcie zasilania jest stabilne u mnie 5.13V. Zużycie prądu w zależności od ilości świecących diod wacha się od 5.24mA do maksymalnie 14.86mA. Wychodzi na to iż mam już trzy możliwości wyboru zasilania mojego modelu. Przetwornica wydaj się być najbardziej rozsądna, ponieważ podobno będzie również "podciągać" napięcie kiedy baterie zostaną już rozładowane. Tylko faktycznie cena w porównaniu do diod i stabilizatora jest jakby nieco wygórowana. Fajnie, że jest tyle możliwości. Odezwę się wkrótce jak będę miał coś nowego do napisania.
  5. Dzięki @matsobdev popatrzę na te akumulatory. Zaskoczyłeś mnie, że ktokolwiek jeszcze czyta ten mój worklog
  6. Bardzo miła niespodzianka proszę kolegi. Okazuje się, że taka przetwornica jest dołączona do FORBOT - podstawy elektroniki 2 - zestaw elementów, więc już mam jedną sztukę To jest faktycznie maleństwo, które powinno się już zmieścić w moim modelu. Zaraz wezmę się do eksperymentów, tylko poczytam ten kawałek kursu aby dowiedzieć się więcej o tym wynalazku Za to właśnie lubię FORBOT, że tolerujecie takich nowicjuszy jak ja i za każdym razem mogę się czegoś nowego dowiedzieć. Nie znalazłem tylko żadnego systemu "plusów na profil" lub innej możliwości docenienia najbardziej pomocnych użytkowników forum. Odezwę się wkrótce co mi wyszło z eksperymentów.
  7. Dotarłem już z pomysłami do przetwornic DC-DC Step-Up/Step-Down tylko rozmiary mnie niestety trzymają. Model motocykla w skali 1:12 ma na tyle mało miejsca, że nie upchnę czegoś tak wielkiego, a nie szukałem jeszcze, czy są jakieś mniejsze przetwornice. Nad akumulatorkiem LiPo też już myślałem, ale z tego co wstępnie patrzyłem rozmiary są zupełnie poza dostępnym miejscem w tej skali. Ten projekt motocykla to nie jest jednak koniec moich pomysłów. Aktualnie mam w planie trzy inne projekty, które powinny zmieścić zarówno akumulatorek jak i przetwornicę. To będzie jednak dość odległa przyszłość, ale na zachętę mogę podać iż myślę o takich trzech modelach: Enzo Ferrari w skali 1:12 Harley-Davidson FLSTFB w skali 1:6 HONDA CRF1000L w skali 1:6 Wracając jednak do stanu obecnego muszę zdecydować, czy użyć zestawu diod, czy stabilizatora. Martwi mnie jednak odpowiedź @ethanak, z której zrozumiałem iż po pewnym czasie regulator zacznie bardziej szkodzić niż pomagać. Może jednak pomysł z diodami będzie lepszy? Zużywa mniej prądu, a zmiany napięcia są w sumie do zaakceptowania. No i jak z czasem będzie spadać napięcie to cały układ powinien ciągle działać (według specyfikacji ATtiny25 do 2.7V a nawet 1.8V). Będę czytał, myślał, kombinował i dam znać co mi wyszło w kolejnym wpisie.
  8. Kolega @ethanak napisał, że można użyć LDO tylko nie napisał co to takiego jest. Wpisałem więc w "popularny sklep internetowy" tekst "LDO 5V" i znalazłem stabilizator liniowy LM2931, a przy okazji okazało się, że LDO to znaczy Low DropOut Zakupiłem więc kilka stabilizatorów LM2931AZ-5 (5V) w obudowie TO-92 (a przy okazji poznałem kolejną tajną nazwę). Czekając na przesyłkę w specyfikacji wyczytałem, że ten cały dropout jest faktycznie niski ponieważ w przedziale od 0.05V do 0.30V. Zabrałem się więc do eksperymentów, a na początek porównałem sobie ten nowy stabilizator z tym z kursów Forbot'a LM7805 (5V). Przy zasilaniu z baterii 9V oba stabilizatory dają faktycznie idealne napięcie 5V. Jednak ja chcę zasilać mój model z dwóch baterii 3V ukrytych pod siedzeniem, które mają razem nominalnie 6V. Tutaj okazuje się, że LM7805 jednak nie działa jak należy (zapewne z powodu swojego minimalnego dropout'u 2V). Skoro stabilizator LM2931AZ dział jak należy, to mogłem przejść do dalszej części eksperymentów. Zrobiłem pomiary mojego układu testowego z wymyślonym wcześniej zasilaniem składającym się z trzech diod 1N4148. Tak jak się spodziewałem w tym przypadku napięcie na ATtiny25 nie jest stabilne i ciągle się zmienia podczas pracy (minimalnie ale jednak). Najwyższe zużycie pądu jakie zaobserwowałem to było nieco ponad 9mA. Po przerobieniu mojego układu testowego na korzystanie z zasilania LM2931AZ okazało się iż wyniki są inne w obu mierzonych aspektach. Dzięki stabilizatorowi zasilanie na ATtiny25 jest ciągle idealnie 5V (no tak faktycznie to zmienia się od 5.01V do 5.02V). Za to maksymalne zużycie prądu jakie zaobserwowałem niestety wzrosło do ponad 15mA (to jest wzrost o prawie 70%). Z wcześniej robionych kursów Forbot'a zrozumiałem, że układy scalone lubią mieć jednak stabilne zasilanie. Tak sobie więc wykombinowałem, że to powinno być jednak warte poświecenia tych kilku dodatkowych mA. Docelowo ilość diod w całym modelu będzie większa niż w układzie testowym, wiec ta różnica 6mA nie powinna być tak znacząca. Na razie to tyle z moich eksperymentów. Odezwę się znowu jak wymyślę coś nowego. ps. Do testów użyłem kondensatora 220uF, a w specyfikacji LM2931 jest, że powinno być 100uF. Mam nadzieję, że to nie "zepsuło" moich testów oraz wniosków. Kupię sobie kilka kondensatorów 100uF i ewentualnie powtórzę testy.
  9. To ja też się pochwalę moją wersją zadania domowego numer 4.6 Właściwie to ten mój cały program w pętli loop() ma raptem sześć linijek i gotowe. #define foto_Gorny A4 // Wejście dla fotorezystora górnego #define foto_Dolny A5 // Wejście dla fotorezystora dolnego #define PIN_GornyMax 13 // Numer PIN dla diody górnej mocnej #define PIN_Gorny 12 // Numer PIN dla diody górnej #define PIN_Srodek 11 // Numer PIN dla diody środkowej #define PIN_Dolny 10 // Numer PIN dla diody dolnej #define PIN_DolnyMax 9 // Numer PIN dla diody dolnej mocnej int OdczytRoznica = 0; // Różnica w odczytach void setup() { // Konfiguracja wyjść pod diody LED pinMode(PIN_GornyMax, OUTPUT); pinMode(PIN_Gorny, OUTPUT); pinMode(PIN_Srodek, OUTPUT); pinMode(PIN_Dolny, OUTPUT); pinMode(PIN_DolnyMax, OUTPUT); } void loop() { // Pobieramy odczyty, dzielimy przez 100 i liczymy różnicę w odczytach (wszystko po to aby porównywać różnice w "setkach") OdczytRoznica = ( analogRead(foto_Dolny) / 100 ) - ( analogRead(foto_Gorny) / 100 ); // Ustalamy, które diody mają świecić digitalWrite(PIN_GornyMax, OdczytRoznica <= -3); digitalWrite(PIN_Gorny, OdczytRoznica == -2); digitalWrite(PIN_Srodek, (OdczytRoznica >= -1) && (OdczytRoznica <= 1)); digitalWrite(PIN_Dolny, OdczytRoznica == 2); digitalWrite(PIN_DolnyMax, OdczytRoznica >= 3); // Czekamy nieco aby za szybko nie zmieniać świecenia diod delay(100); } Oczywiście na początku zrobiłem wielowariantowego if {} else {} Później wykombinowałem sobie, że przecież HIGH == 1 == TRUE oraz LOW == 0 == FALSE I tak doszedłem do tego, że warunki mogę zamieścić już w samej funkcji digitalWrite()
  10. Pokombinowałem nieco z ustawieniami menedżera płytek oraz z parametrami kompilacji. Osiągnąłem wyniki nawet "niższe" niż @ethanak, więc jednak umożliwiające wykorzystanie ATtiny13 (gdybym tylko takie miał). ATtiny25 - dla wersji V3a, sprawdzone i nawet działa Szkic używa 1506 bajtów (73%) pamięci programu. Maksimum to 2048 bajtów. Zmienne globalne używają 20 bajtów (15%) pamięci dynamicznej, pozostawiając 108 bajtów dla zmiennych lokalnych. Maksimum to 128 bajtów. ATtiny25 - dla wersji V4a, sprawdzone i nawet działa Szkic używa 948 bajtów (46%) pamięci programu. Maksimum to 2048 bajtów. Zmienne globalne używają 17 bajtów (13%) pamięci dynamicznej, pozostawiając 111 bajtów dla zmiennych lokalnych. Maksimum to 128 bajtów. ATtiny13 - dla wersji V3a, nie ma jak sprawdzić, czy działa ponieważ nie mam ATtiny13 Szkic używa 922 bajtów (90%) pamięci programu. Maksimum to 1024 bajtów. Zmienne globalne używają 11 bajtów (17%) pamięci dynamicznej, pozostawiając 53 bajtów dla zmiennych lokalnych. Maksimum to 64 bajtów. ATtiny13 - dla wersji V4a, nie ma jak sprawdzić, czy działa ponieważ nie mam ATtiny13 Szkic używa 364 bajtów (35%) pamięci programu. Maksimum to 1024 bajtów. Zmienne globalne używają 8 bajtów (12%) pamięci dynamicznej, pozostawiając 56 bajtów dla zmiennych lokalnych. Maksimum to 64 bajtów. Na razie chyba wystarczy kombinowania z kompilacjami. Przy okazji robiąc pomiary spaliłem bezpiecznik w mierniku i będę musiał teraz z tym sobie poradzić Dam znać jak będę miał jakieś nowe postępy prac.
  11. Kompiluję na Arduino Uno R3 aby orientacyjnie zobaczyć jaki ten program będzie miał rozmiar. Tego nie rozumiem jak zrobiłeś 384 bajtów, ponieważ wgrywając wersję V2a oraz V3a na ATtiny25/ATtiny85 dostawałem znacząco większe wyniki. @ethanak napisz coś więcej, którą wersję programu kompilowałeś (V2a, V3a, czy V4a) i jak to robiłeś? Odnośnie tego tematu: To wiem już, że powinienem użyć regulatora napięcia, ale nie mogłem znaleźć takiego co by mi zrobił z nominalnych 6.0V oczekiwane 5.0V. Teraz ewentualnie poszukam takiego co robi z nominalnych 6.0V oczekiwane 3.3V, ale jeszcze nie wiem, czy takie w ogóle istnieją. Będę się uczył i kombinował dalej. Wkrótce dam znać co mi z tego wyszło w kolejnej części mojej opowieści. ps. Widziałem, że są możliwości "usypiania" mikrokontrolera, ale na razie to jest poza moimi umiejętnościami. No chyba, że to jakaś prosta sprawa zamiast delay(ms) jest coś w stylu "zaśnij_i_oszczędziaj_prąd(ms)" (doczytam sobie jeszcze).
  12. Niesamowita sprawa ten cały prąd. Sam jestem zupełnie początkujący, ale artykuł jest bardzo ciekawy i nawet dla mnie bardzo pomocny.
  13. Potrzebuję odrobiny wsparcia bardziej doświadczonych elektroników. Proszę @Treker, @ethanak lub kogokolwiek innego o pomoc i komentarz, czy to co kombinuję poniżej to ma w ogóle sens. Zrobiłem sobie pomiary mojej instalacji i wychodzą mi następujące wyniki: Napięcie zasilania: 6.16V (tyle daje nowy komplet baterii) Napięcie za diodą: 5.45V (akurat tyle ile potrzeba do maksymalnego zasilania ATtiny25) spadek napięcia na diodzie to 0.71V, czyli właściwie idealny wynik Prąd całego układu: 15,33mA (i tutaj zaczynam kombinowanie, czy można jakoś "zaoszczędzić" na zużywanym prądzie) Według dokumentacji ATtiny25 zasilanie może być z zakresu od 2.7V do 5.5V. Skoro zwykłą diodą krzemową mogę zmniejszyć napięcie o 0.7V, to czemu by nie zmniejszyć o 4 x 0.7V, czyli o 2.8V (nominalnie z 6.0V do 3.2V)? Zamieniłem jedną diodę na cztery diody w mojej instalacji i porobiłem kolejne pomiary: Napięcie zasilania: 6.19V (tym razem nieco więcej, ale rozumiem, że to jest OK) Napięcie za diodami: 3.36V (akurat z lekkim zapasem ile potrzeba do minimalnego zasilania ATtiny25) spadek napięcia na czterech diodach to 2,83V, czyli właściwie idealny wynik Prąd całego układu: 6,60mA (ponad połowę mniej niż poprzednio z jedną diodą) wychodzi 57% "oszczędności", czyli jeśli dobrze kombinuję dwa razy dłuższe działanie na tych samych bateriach. Tutaj właśnie pojawia się pytanie do bardziej doświadczonych elektroników, czy ja prawidłowo sobie tutaj kombinuję? Po pierwsze, czy to tak można sobie zmniejszać napięcie diodami? Po drugie czy to faktycznie oznacza, że pobór prądu jest ponad połowię mniejszy, czyli będzie dwa razy dłuższe działanie układu? Jeśli bateria nieco się rozładuje, to 4 diody mogą dać napięcie za bardzo na granicy minimalnego zasilania. Kombinuję więc dla bezpieczeństwa, czy nie dać jednak 3 diody jeśli cały pomysł ma w ogóle sens. Czekam na jakąś poradę, a w tak zwanym międzyczasie kombinuję sobie dalej.
  14. Osobiście nieco "zaszalałem" i zrobiłem zadanie 2.5 z dodatkowymi wariantami komend: lewy, prawy, oba, razem. Chodziło mi o to aby można było sterować każdą diodą osobno oraz wspólnie zmieniać "oba" jednocześnie lub zapalać/gasić "razem". #define PIN_Lewy 8 #define PIN_Prawy 7 #define TXT_Lewy "lewy" #define TXT_Prawy "prawy" #define TXT_Oba "oba" #define TXT_Razem "razem" String odebraneDane = ""; bool swieciLewy = false; bool swieciPrawy = false; bool swieciRazem = false; void setup() { Serial.begin(9600); pinMode(PIN_Lewy, OUTPUT); pinMode(PIN_Prawy, OUTPUT); digitalWrite(PIN_Lewy, LOW); digitalWrite(PIN_Prawy, LOW); } void loop() { if(Serial.available() > 0) { odebraneDane = Serial.readStringUntil('\n'); if (odebraneDane == TXT_Lewy || odebraneDane == TXT_Oba) { if (swieciLewy) { digitalWrite(PIN_Lewy, LOW); swieciLewy = false; swieciRazem = false; } else { digitalWrite(PIN_Lewy, HIGH); swieciLewy = true; swieciRazem = swieciLewy && swieciPrawy; } } if (odebraneDane == TXT_Prawy || odebraneDane == TXT_Oba) { if (swieciPrawy) { digitalWrite(PIN_Prawy, LOW); swieciPrawy = false; swieciRazem = false; } else{ digitalWrite(PIN_Prawy, HIGH); swieciPrawy = true; swieciRazem = swieciPrawy && swieciLewy; } } if (odebraneDane == TXT_Razem) { if (swieciRazem) { digitalWrite(PIN_Lewy, LOW); digitalWrite(PIN_Prawy, LOW); swieciRazem = false; swieciLewy = false; swieciPrawy = false; } else{ digitalWrite(PIN_Lewy, HIGH); digitalWrite(PIN_Prawy, HIGH); swieciRazem = true; swieciLewy = true; swieciPrawy = true; } } if (odebraneDane != TXT_Lewy && odebraneDane != TXT_Prawy && odebraneDane != TXT_Oba && odebraneDane != TXT_Razem) { Serial.println("Nie ma takiej diody: \""+odebraneDane+"\" !"); } delay(1000); } }
  15. @ethanak spróbowałem zmniejszyć program wywalając funkcję random(), ale osiągnąłem tylko taki efekt: Szkic używa 1282 bajtów (3%) pamięci programu. Maksimum to 32256 bajtów. Zmienne globalne używają 17 bajtów (0%) pamięci dynamicznej, pozostawiając 2031 bajtów dla zmiennych lokalnych. Maksimum to 2048 bajtów. Z tego co wiem ATtiny13 ma tylko 1KB pamięci FLASH, więc ten mój program HONDA-CBR1100XX-V4a.zip by się jednak nie zmieścił. Trzeba by popracować nad zmianą koncepcji samego programu, ale taka optymalizacja to jeszcze nie jest zabawa dla mnie. No chyba, że komuś się nudzi i zechce zaproponować lepszą (czytaj mniejszą wersję) tego samego programu aby zmieścił się w 1KB pamięci. Jeśli znajdzie się taki "atrysta" to chętnie zapoznam się z takim programem.
×
×
  • 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.