Skocz do zawartości

[Inne] - RoMek - worklog


Pomocna odpowiedź

Elektronika już niemal zmontowana. Pozostały mi jedynie do dobrania rezystory dzielnika pomiaru napięcia zasilania logiki VCC. Oczywiście poszukam na ten temat, ale czy ktoś na szybko rzuciłby wartościami R2 i R3?

Do schematu dodałem jeszcze dzielnik dla pomiaru napięcia zasilania (przed stabilizatorem), ale z uwagi na fakt, iż nie wiem jeszcze jakie zastosuję źródło zasilania, wartości dzielnika nie zostały jeszcze ustalone a rezystory nie wlutowane.

[ Dodano: 18-02-2012, 23:16 ]

Elektronika złożona. Wszystko zadziałało od pierwszego uruchomienia i działa dobrze, choć nie do końca.

Przy podpiętym podwoziu z dwoma silnikami układ resetuje procesor. Przy jednym podpiętym silniku i poborze prądu ~500mA całość mniej więcej zdaje się działać poprawnie.

Przy dwóch silnikach i poborze chwilowym prądu do ~1,2A następują resety.

Zauważyłem, że największe skoki prądu następują przy uruchamianiu obu silników i ich zatrzymywaniu. Nie wykorzystuję na razie PWM - kierunkami steruję przez wejścia input L298 a start/stop na Enable.

Czy PWM ze stopniowym wzrostem wypełnienia - soft start/stop mógłby pomóc w tej sytuacji?

Link do komentarza
Share on other sites

Dodałem to co miałem, czyli 100uF przed i 220uF za stabilizatorem. Nie wiem, czy to pomogło, raczej nie, gdyż również układ się resetował.

Dodałem za to po rezystorze 1om na wyjścia sense mostka i.... jakby pomogło! Nieobciążone silniki (tzn. w powietrzu), zasilanie póki co zasilacza, ale układ się nie resetuje.

Myślę, że PWM jeszcze mu pomoże. Robot wszak nie musi dostawać 100% prądu na silniki. W tej chwili max pobór prądu mierzony na wejściu zasilania to 1,2A przy obu pracujących silnikach. L298 nieznacznie się grzeje, ale jeszcze nie parzy. Grzeją się też rezystory na Sense, bo nie miałem innych niż 1/8 W 😳

Ostateczny w tej fazie schemat płyty głównej wygląda tak:

Płytki mostka tak:

A jeździ toto (jeszcze z błędem resetu, dlatego na jednym silniku) tak:

Teraz pora na zabawę z programowaniem PWM.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Jednostronna, bez solder masek, ale na grzyba mi to? Nie jest to płytka produkcyjna 🙂

Gdybyś miał cienkie ścieżki to z czasem mogą się przerwać, ponieważ miedź się utlenia, jeśli nawet się nie przerwie to przynajmniej brzydko będzie wyglądać. 🙂 Lepszym sposobem jest cynowanie chemiczne lub na gorąco.

Elektronika już niemal zmontowana. Pozostały mi jedynie do dobrania rezystory dzielnika pomiaru napięcia zasilania logiki VCC. Oczywiście poszukam na ten temat, ale czy ktoś na szybko rzuciłby wartościami R2 i R3?

Jeśli korzystasz ze wewnętrznego źródła napięcia odniesienia 2,56V, a na Vcc masz maksymalnie 5,5V to ja bym R2 i R3 kolejno 4,7kΩ i 3,3kΩ przy Vcc równym 5,5V na wyjściu dzielnika będziesz mieć ≈2,3V.

Link do komentarza
Share on other sites

Kadłubek robota jest już po pierwszych testach PWM. Tak jak podejrzewałem, "impulsowe" zasilanie silników pomogło mu znacznie.

Konfiguracja PWM (jeszcze na wewnętrznym oscylatorze 8MHz):

Config Timer1 = Pwm , Prescale = 256 , Pwm = 9 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down

Wypełnienie od 50 do 510 - start silników następuje ~50. Wygląda to mniej więcej tak:

Właściwie to nie wiem co jest grane i może mi to ktoś objaśni?

Jak widać, robot działa na 4 akumulatorach AA, zasilany jest więc max ~4,8V. W takiej konfiguracji reset uP działa bez zarzutu, silniki kręcą, nic się nie resetuje samo z siebie.

Natomiast gdy podłączę układ pod zasilacz i ustawię napięcie pow. 6,9-7,0 V, układ ma problem z uruchomieniem. Znów jakby następuje notoryczny reset. Obniżając płynnie napięcie zasilania do ~7,4 V układ odżywa i zaczyna pracować prawidłowo.

Zrobiłem małą kosmetykę płytek. Pousuwałem kalafonię, pocynowałem ścieżki.

Dzięki za podpowiedź w/s dzielnika. Jeszcze funkcja pomiarów nie jest aktywna, ale wkrótce się za to zabiorę, gdy minie mi pierwsza euforia z zabaw z PWM 🙂

Link do komentarza
Share on other sites

Jak widać, robot działa na 4 akumulatorach AA, zasilany jest więc max ~4,8V.

Te 4 aku podłączone są do wejścia 7805 ze schematu?

Nie odpowiedziałeś na moje poprzednie pytanie.

Link do komentarza
Share on other sites

Robot jeździ na 4 akumulatorach AA podpiętych pod stabilizator. Właściwie nie zauważyłem przekłamania na schemacie. Stabilizator to nie zwykły 7805, ale L4941BV.

Dondu, jak widać nie ma żadnego filtrowania a układ działa. Oczywiście na razie w wąskim zakresie zadań, tzn. jeśli idzie o sterowanie PWM i wystawianie stanów na 4 piny (led nie liczę). Być może wysypie się coś przy bardziej skomplikowanych zadaniach (pomiary ADC?), będę głowił się czemu działa niepoprawnie i popukam się w głowę przypominając sobie, że zwróciłeś na to uwagę. Jednak nie chce mi się póki co zmieniać płytki.

Właściwie na tym etapie powinienem zadecydować o przeznaczeniu platformy i dorabiać np. czujniki LF. Chciałbym jednak najpierw ubrać go jeszcze w enkodery silników (kół) bo nie da się tym prosto jeździć, zestawić komunikację z PC (mam już gotowy transceiver na USB od strony PC), popróbować odometrii i orientacji w przestrzeni (serwo+obrotowy sharp już czekają).

Link do komentarza
Share on other sites

Robot jeździ na 4 akumulatorach AA podpiętych pod stabilizator. Właściwie nie zauważyłem przekłamania na schemacie. Stabilizator to nie zwykły 7805, ale L4941BV.

przeczytaj pierwszą linijkę datasheet w Feature summary: http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00000443.pdf

I zastanów się jak ma zawarta tam informacja do oczekiwanego przez Ciebie napięcia wyjściowego oraz zasilania z 4 aku o łącznym napięciu 4,8V.

Dodatkowo zastanów się nad powyższym w przypadku gdy aku będą rozładowane np. w 1/3.

Dondu, jak widać nie ma żadnego filtrowania a układ działa. Oczywiście na razie w wąskim zakresie zadań, tzn. jeśli idzie o sterowanie PWM i wystawianie stanów na 4 piny (led nie liczę). Być może wysypie się coś przy bardziej skomplikowanych zadaniach (pomiary ADC?), będę głowił się czemu działa niepoprawnie i popukam się w głowę przypominając sobie, że zwróciłeś na to uwagę. Jednak nie chce mi się póki co zmieniać płytki...

Natomiast gdy podłączę układ pod zasilacz i ustawię napięcie pow. 6,9-7,0 V, układ ma problem z uruchomieniem. Znów jakby następuje notoryczny reset.

Jak widać nie masz doświadczenia, ani niezbędnej wiedzy. Jeżeli sądzisz, że dotyczy to nieprawidłowej pracy tylko części analogowej, to jesteś w błędzie.

Czy masz inny system szukania problemów, niż eliminowanie wszelkich możliwych powodów takich resetów o jakich piszesz? Jeżeli tak, to z chęcią poznalibyśmy.

Dolutuj więc kondensatory do płytki. którą masz - zawsze da się jakoś to rozwiązać - dopiero testuj swój projekt.

Link do komentarza
Share on other sites

Dzięki za cierpliwe zainteresowanie. Oczywiście wiedzy nie mam żadnej i już chyba nie zdążę jej nabyć 🙁

Zachciało mi się LDO.... choć z drugiej strony chciałem możliwie najmniejsze Vin. Nie mam pojęcia jak się zachowa układ wraz ze spadkiem napięcia aku i jak długo będzie działał. Z ciekawości w najbliższym czasie to przetestuję empirycznie.

Co do filtowania... sugerujesz dodatkowe kondensatory na liniach VCC? czy jeden (niebieski) i czy 100n wystarczy?

Link do komentarza
Share on other sites

Teraz piszesz z sensem 🙂

LDO oczywiście dobry wybór. Ale problem polega na tym, że ten LDO by gwarantować stabilne 5V na wyjściu musi mieć o conajmniej 0,45V wyższe napięcie na wejściu. Ponieważ ten LDO ma dawać 5V, stąd:

5V + 0,45V = 5,45V (w praktyce przyjmij co najmniej 6V)

i tyle musi być zawsze na jego wejściu jeżeli chcesz być pewien, że 5V będzie stabilne, a na pewno chcesz tego 🙂

Wprawdzie w tabeli znajdziesz info, że typowo jest 0,25V, ale powinieneś przyjąć max, czyli 0,45V.

Co do baterii, to zapewne wiesz, że wraz z jej rozładowaniem napięcie się zmniejsza. Dodatkowo, przy nagłych wzrostach prądu, spadek napięcia może być spory (oczywiście zależy od rodzaju aku i jego stanu).

Innymi słowy, nie możesz zasilać tego LDO z aku o napięciu 4,8V.

Co do filtowania... sugerujesz dodatkowe kondensatory na liniach VCC (czerwone), czy jeden (niebieski) i czy 100n wystarczy?

Obrazek

Blisko, ale z błędem 🙂

Tak, każdy pin Vcc osobny kondensator 100nF, ale zwierający do masy, a nie w szereg do Vcc.

http://mikrokontrolery.blogspot.com/2011/04/zasilanie-mikrokontrolera.html

Link do komentarza
Share on other sites

Aj.... palnąłem babola z rozpędu z tym filtrem. Poprawiłem poprzedni obrazek.

Ten LDO jeszcze nie daje mi spokoju. Podłączam zasilacz stabilizowany i układ działa bez zakłóceń w zakresie Vin ~4,4 - ~7,3V (z grubsza). Jak więc wytłumaczyć działanie w zakresie <5,45 i brak działania w zakresie >7,3V?

Czy pakiet Li-po 7,2V byłby w takiej aplikacji właściwy?. Czy pozostać przy AA i dorzucić ze 2 szt. jeszcze?

Przyznam, że AA mam i mam ładowarkę, Li-po nie mam i nie mam ładowarki - nie uśmiecha mi się zakup 🙁

Link do komentarza
Share on other sites

Jak więc wytłumaczyć działanie w zakresie <5,45 ?

To zależy jeszcze od takich czynników, jak pobór prądu oraz magazyny energii w postaci sporych elektrolitów. Ale nie ryzykuj, bo zgodnie z prawem Murphiego polegniesz w najmniej odpowiednim momencie 🙂

Jak więc wytłumaczyć ... brak działania w zakresie >7,3V?

To bardzo ciekawy problem. Tutaj może być bardzo wiele przyczyn. Ale najpierw trzeba ustalić, czy aby na pewno nie działa. Innymi słowy po czy, stwierdzasz, że od tego progu przestaje działać? Sprawdź z i bez podłączonych silników, zmierz napięcie zasilania na uC, itd... więcej danych nam trzeba, by sprawę wyjaśnić.

Czy pakiet Li-po 7,2V byłby w takiej aplikacji właściwy?. Czy pozostać przy AA i dorzucić ze 2 szt. jeszcze?

Przyznam, że AA mam i mam ładowarkę, Li-po nie mam i nie mam ładowarki - nie uśmiecha mi się zakup 🙁

Li-pol 7,2V - najlepsze rozwiązanie.

Dorzucić 1 lub 2 aku - także akceptowalny sposób.

Można jeszcze kombinować z puszczeniem mikrokontrolera na niższym napięciu (zmiana LDO) ale wtedy trzeba będzie pokombinować z zasilaniem logiki L298. Tutaj trzeba opinii kolegów robotyków, oni mają własne doświadczenia w tym względzie.

Link do komentarza
Share on other sites

rezolut : Między VCC i GND wpiąłbym 100nF (albo nawet 2\3 sztuki) . Reset nie musi być podłączony do kondensatora (nie jestem pewien czy w ogóle powinien). Dobrze by było jak byś zaznaczył wartości rezystorów na schemacie to pomogłoby nam w szukaniu problemu.

Mam jeszcze jedno pytanie : Jakie kondensatory podłączyłeś bezpośrednio do silników ?

Link do komentarza
Share on other sites

Uaktualniłem trochę schemat:

Wartości rezystorów jeszcze nie nanoszę bo ich po prostu nie ma jeszcze. Pomiary napięć jeszcze nie są zaimplementowane.

Innymi słowy po czy, stwierdzasz, że od tego progu przestaje działać? Sprawdź z i bez podłączonych silników, zmierz napięcie zasilania na uC

Cały program to:

1) długie led na dzień dobry

pętla główna

2) led zielony

2) silniki przód

3) krótki led czerwony

4) silniki tył

5) krótki led czarwony

.... i tak w kółko z różnymi kombinacjami przód, tył, skręty...

Po led poznaje, że układ robi coś spoza pętli głównej, więc się zresetował i mryga mi led na dzień dobry po raz kolejny.

Podlutowałem 3 kondensatory do linii VCC procesora. Żadnych zmian w działaniu.

Układ podłączam do 6xAA - 8,33V. Bez silników działa stabilnie - tzn. mryga mi tylko ledami.

Przy jednym podpiętym silniku układ zaczyna pracę, pkt 1), pkt 2) i przy próbie uruchomienia silnika reset. Silnik dygnie jeszcze przed resetem odrobinkę.

Przy zasilaczu, schodzę płynnie z 8,30V do ~6,00V i dopiero wtedy zaczyna działać.

Z dwoma silnikami zapiętymi: na aku sytuacja identyczna, na zasilaczu schodzę z 8,3V do ~7,3V i wtedy zaczyna działać poprawnie.

Minimalny zakres przy którym układ działa jeszcze, choć silniki kręcą się na max PWM jakby chciały a nie mogły, ale program się nie resetuje to ~3,4V. VCC procesora jest wtedy równe Vin, czyli 3,4V. Na jednym silniku mogę zjechać do 2,7V. Potem uP staje, bo to Atmega16A i min VCC to 2,7V

Jeszcze prądy układu. Prąd mierzony na wejściu przy 6,00V

- bez silników - marginalne 0,06V

- na jednym silniku - max 0,81A

- z dwoma silnikami - max 0,98A

Wychodzi na to, że co? Że układ może pracować na max 5xAA a Li-pol to już dla niego za dużo?

Zrozumiałbym, że jeśli chwilowy pobór prądu przekroczy 1A, zabezpieczenie LDO odetnie zasilanie i stąd resety, ale przy max napięciu przy którym układ działa max prąd nie przekracza 1A.

Prąd mierzony na wyjściu silnika max 0,37A.

Na koniec dodam, że na silnikach mam przylutowane zwykłe ceramiczne kondensatory 100nF.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • 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.