Skocz do zawartości

Proszę o weryfikację schematu.


szklanka

Pomocna odpowiedź

Tak na szybko, bez uzasadnień ale jeśli jesteś ciekaw szczegółów, pytaj.

Zastosowanie silników krokowych jako napędu - nietypowe, choć możliwe, sam to robiłem.

1. Zasilanie. Jeśli masz na myśli baterię typu 6F22, 9V - zapomnij. Jedno uzwojenie jednego silnika pobiera więcej niż jest ona w stanie z siebie wypuścić.

2. Bezpieczniki, szczególnie na małe prądy mają swoją całkiem sporą rezystancję (sprawdź jaką). Nie wiem co chcesz nimi zabezpieczać, bo przecież stabilizatory mają swoje ograniczenia wewnętrzne a prąd płynący przez bezpiecznik powoduje spadek napięcia i cała stabilizacja idzie w diabły. W takim układzie sens ma stosowanie jednego bezpiecznika tuż przy zaciskach baterii - oczywiście nie tej. 6F22 jest tak słaba, że nawet zwarta na krótko sama nie umie sobie zrobić krzywdy..

3. Silniki krokowe które chcesz użyć mają rezystancję uzwojeń 50Ω czyli pobierają 100mA na fazę przy 5V. Spadek napięcia na driverach będzie wynosił dobrze ponad 1V i w rezultacie uzwojenia zobaczą <4V. I tak słabe silniki będą jeszcze słabsze. Ich duża indukcyjność powoduje, że ciężko będzie uzyskać (nawet bez obciążenia masą robota) szybkość większą niż - moim zdaniem - jakieś 300 kroków/s co daje niecały 1 obr/s (bo dzięki przekładni 1:64 mają przecież 512 kroków/obrót). To będzie żółw. Jeżeli chcesz te silniki rozkręcić do ich maksa wynikającego z mocy strat na ciepło, musisz je zasilać z wyższego napięcia, najlepiej przez drivery ze źródłami prądowymi. Żadna stabilizacja napięcia do silników nie jest Ci potrzebna - szkoda energii na grzanie stabilizatora.

4. Karta SD ma interfejs 3V - choćby z tego powodu zdecydowałbym się na zasilanie procesora z 3V. Unikasz wtedy kłopotliwej konwersji napięć a to co zrobiłeś teraz niestety nie zadziała. Przecież podciągasz wyjścia 74LS07 po stronie karty do 5V. Układ TTL w technologii LS nie jest dobrym pomysłem na przejście z powrotem z 3V na 5V (IC2C) bo jego wejście jest w naturalny sposób (wewnętrznie) podciągane do jego Vcc czyli do 5V a tego karta na pewno nie lubi.

5. Brak jakichkolwiek elementów wspomagających uruchamianie programu, diodek LED, ew. wyświetlacza, przycisków, a cenny UART zmarnowałeś na sterowanie silnikami mając inne porty wolne.

6. Czy na złączu KANDA nie powinno się znaleźć zasilanie procesora (Vcc)?

7. Gdybyś jednak pozostał przy (zupełnie nie sprawdzających się przy tak małych napięciach) driverach Darlingtona, to bardzo podobny 2803 ma 8 kanałów i załatwi oba silniki na raz.

Link do komentarza
Share on other sites

1. Co do zasilania. Nie miałem na myśli żadnych 6F22. Pewnie użyję modelarskich... nie myślałem jeszcze dokładnie nad tym.

2. Bezpieczniki.. no masz rację. Raczej nie są potrzebne.. Przy stabilizatorze byłaby w tym przypadku możliwość odłączenia zasilania od karty w czasie programowania atmegi

3. Silniki krokowe nie są dobrym rozwiązaniem jeżeli chodzi o napęd, ale dają mi możliwość kontroli położenia- a na tym mi zależy.. połączenie silnika DC i np. enkoderów jest droższe i bardziej kłopotliwe.

4. Wiem o różnicy napięć. Taki sposób połączenia znalazłem w necie. Podobno działa.. Podobno jest sprawdzony. Nie zmniejszałem napięcia na atmedze, bo zmniejszenie tego parametru obniża dość znacząco częstotliwość procka.

Jeżeli znasz jakieś inne rozwiązanie to chętnie je rozważę.

5. Dioda LED jest, przyciski też 😋... Uart nie jest mi potrzebny.

6. Dobre pytanie 😃 .. czy w przypadku gdy yP posiada własne zasilanie, zasilanie z programatora USBasp nie powinno być dostarczane. Sam programator nie ma możliwości odłączenia (chyba.. Bo jest to programator pożyczony, bez oznaczeń..)

7. Masz jakąś inną propozycję sterowania tymi silnikami bez użycia Darlington`ów?

Link do komentarza
Share on other sites

1. Nie wiem co miałeś na myśli. Pokazałeś schemat z opisem "9V" i prosisz o uwagi. 6F22 to jedyna standardowa bateria mająca takie napięcie. Jeśli chcesz użyć czegoś innego to nie mydl nam oczu tylko podawaj precyzyjne dane. Źródło zasilania to fragment schematu.

2. Po co chcesz odłączać zasilanie karty w czasie programowania???

3. Nie dyskutuję z silnikami tylko ze sposobem ich sterowania.

4. "Podobno" to nie jest żaden argument a "net" nie jest żadnym autorytetem. Rozumiesz jak działa to co narysowałeś czy nie? Błędy są trywialne i proste do poprawienia, ale musisz wiedzieć dlaczego ma być tak a nie inaczej.

5. Nie pokazuj mi języka Kolego - bardzo tego nie lubię. To Ty prosisz o pomoc i korzystasz z mojego czasu więc zachowuj się. Na schemacie ani przycisków ani diodek nie ma więc są uwagi. Albo dajesz porządny i prawdziwy schemat albo.. mam sobie wróżyć z fusów? Jeżeli zamiast UARTa planujesz JTAG do uruchamiania, musisz zmienić procesor.

6. Są programatory które wykorzystują otrzymane napięcie do zasilania swoich driverów i dzięki temu masz z automatu odpowiednie poziomy logiczne, zgodne z zasilaniem procesora.

7. Mam. Proponuję użycie zwykłych MOSFETów z 5V lub driverów ze źródłami prądowymi zasilanych wprost napięcia baterii.

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

2. A czy przy programowaniu procesora nie "zaprogramuje" też karty gdy ona pozostanie?

3. Silniki są 5V. Stąd osobny stabilizator.

4. Racja.. Rezystory przy 7407 są podciągnięte do złego napięcia. Powinno być tam 3.3V.

5. Nie rozumiem w czym jest mi potrzebny uart w tym przypadku..?

Pisałeś, że przeglądałeś układ "na szybko". Zwracam Ci tylko uwagę, że LED jak i przyciski są na schemacie.

6. Ok. Rozumiem. Dziękuję za wyjaśnienie.

7. Skorzystam z rady. Podrzucę schemat jak coś wymyślę.

Link do komentarza
Share on other sites

2. Wystarczy, że podciągniesz port procesora odpowiedzialny za sygnał wyboru karty opornikiem do plusa. Podczas programowania procesora (w stanie RESET) porty się odwieszają w trzeci stan a pullup zablokuje interfejs SD.

4. Brawo. Pomyśl jeszcze o IC2C - jego wejście samoistnie ciągnie do +5V. Gdyby nie 5-woltowy interfejs SPI wykorzystywany przez programator mógłbyś podłączyć tę linię karty wprost do MISO bo przecież 3.3V wystarcza procesorowi do interpretacji stanu jako wysoki. Proponuję użycie bramki 1G126 (lub łatwiej kupowalną 1G125 z inwerterem na wejściu OE) zasilanej z 5V. Od wejścia będzie spokojnie współpracowała z sygnałami 3.3V a wyjście będziesz jej odcinał stanem niskim na linii RESET podłączonej do jej OE. Dzięki temu nie będzie przeszkadzała programatorowi, który przecież odzywa się dopiero po wprowadzeniu procesora w RESET.

5. Wyjście uruchomieniowe (debug console) na którym możesz podejrzeć stany zmiennych programu przydaje się w każdym przypadku a ten nie wygląda trywialnie. Masz tu:

a) Silniki krokowe - popatrz jak wygląda ich sterowanie (obliczanie długości następnego kroku) ze stałym przyśpieszeniem kątowym bo przecież nie będziesz mógł wystartować od razu z maksymalną prędkością. Ten algorytm poważnie obciąża 8-bitowy procesor i wcale prosty nie jest. Wszystko jedno czy kroki stablicujesz czy będziesz wyliczał je w czasie rzeczywistym, warto wiedzieć czy timer odpowiedzialny za komutację faz dostaje dobre liczby.

b) Czujnik ultradźwiękowy - UART jest jedyną szansą podejrzenia wyników pomiarów odległości i kalibracji czujnika.

c) Serwo - czasem warto wiedzieć dlaczego wariuje i nie ustawia się w tak pięknie policzoną pozycję.

d) A gdzie następne warstwy programu? Gdzie interpretacja pomiarów, gdzie wypracowywanie decyzji o ruchach, gdzie strategia osiągania jakiegoś celu, omijania przeszkód itd..

7. Czekamy 🙂

Wyjście sygnału PPM do serwa uzbroiłbym w opornik szeregowy 100R. Zabezpieczy to wyjście procesora przed odwrotnym podłączeniem serwa lub np. zwarciem do masy.

BTW: Na moim pdf nie ma ani diodek ani przycisków 🙁 To jest jedna duża strona z procesorem w środku. Gdzie mam szukać reszty?

Link do komentarza
Share on other sites

Myślałem właśnie o jakimś rezystorze na PWM, ale pozostała wersja bez.

LED jest doprowadzona do nóżki nr.5 przez rezystor 330.

Włączniki są 3. Pierwszy przy c10 do nóżki 1.

Dwa pozostałe są doprowadzone do nóżek 12 i 13. Zastanawiam się teraz czy nie powinienem użyć tam diody i rezystora bo raczej tak nie powinno zostać.

Popatrzyłem na PDF`a którego wrzuciłem.. Faktycznie nic takiego tam nie ma. Nie rozumiem dlaczego. Musiałem w takim razie wygenerować go wcześniej.. mój błąd.

2.Dobry sposób. Chodzi o wyprowadzenie 16, prawda? Jest to pin, którym łącze się z pinem CS (Chip Select)..

5. Jedyna możliwość podejrzenia poprawienia działania programu jaką brałem pod uwagę to interpretacja wyników zapisanych na karcie i sam ruch robota. Nigdy nie robiłem takiej komunikacji..

Link do komentarza
Share on other sites

Wstaw rezystor, nigdy nic nie wiadomo.

Wstaw brakujące elementy i pokaż nowy schemat.

Tak, pin 16 podciągasz do Vcc.

Najpierw musisz te zapisy (i system plików) uruchomić a potem to już tylko przekładanie karty w jedną i drugą stronę, współczuję. Prosta komunikacja to nic wielkiego, przez UART wysyłasz teksty i wartości liczbowe zamienione na ciągi znaków ASCII za pomocą funkcji z biblioteki standardowej. Odbierasz na PC czymkolwiek, Hyperterminal lub 100 innych podobnych programów. Jak raz zaczniesz, to nie będziesz umiał bez tego pracować. No, może póki nie dorobisz się JTAGa.

Tak sobie myślę, że interfejs do karty możesz zrobić na jednym 74LVC126. Zasilaj go z 3.3V, jest odporny na napięcia wejściowe większe niż własne zasilanie (więc będzie łykał 5V z procesora jak masło), nie będzie problemu z szybkimi sygnałami interfejsu szeregowego (przepchniesz dużo więcej niż procesor jest w stanie wygenerować na SPI) w odróżnieniu od siermiężnych wyjść typu OC podciąganych opornikami, mniejsze straty mocy (brak 1k podciągów a każdy z nich to przecież zmarnowane 3 lub 5mA). Wszystkie bufory włącz na stałe oprócz tego skierowanego w stronę MISO - ten wyłączaj gdy RESET jest aktywny i już.

Gdy użyjesz LVC125 musisz odwrócić RESET np. jednym tranzystorem, bo 125 włącza się zerem.

Link do komentarza
Share on other sites

Duużo lepiej 🙂 ... ale:

1. Dziwne podłączenie C20 - szeregowo między szyną Vcc a pinem zasilania MAXa.

2. Brakuje mi rezystora w kolektorze T1.

3. Sam T1 wraz z jego rezystorem w bazie poważnie obciąża linię RESET. Popatrz: masz 10k do plusa (R1) i 6.2k (R3) do masy. Zrobiłeś dzielnik i napięcie na linii RESET nigdy nie urośnie powyżej 2.3V. Inwerter zrób z tranzystora pnp z emiterem na plusie (ciągnie do plusa) albo z małego MOSFETa np. BS170 (nie obciąża linii RESET).

4. Diody od drenów kluczy do plusa zasilania. Strasznie słabiutkie te BS170, ale przy tak delikatnych silniczkach powinny dać radę.

5. Używając 7805 musisz zapodać na wejściu min 2V powyżej 5V. Jakiego typu akumulatory przewidujesz? Zwykłe LiPole 2S tego nie zapewnią a 3S to już duża strata mocy na stabilizacji liniowej.

Link do komentarza
Share on other sites

1. heh.. no tak.. c20- nie wiem czemu tak narysowałem

2. T1 zamieniłem na BS170 z takim rezystorze jak jest na kluczach. Na dren wsadziłem mu rezystor 100R.

4. Jak dobrze liczę przy zasilaniu 5V i rezystancji cewki 50R to na tym tranzystorze zostaje jeszcze trochę zapasu. ... chyba, że źle liczę?

Diody wstawione, 1N4148 mogą być?.. Właściwie jaki jest ich cel?

5. Tak. Pamiętam o tej różnicy napięć na stabilizatorze. Brałem pod uwagę właśnie LiPol 7.4V

Link do komentarza
Share on other sites

2. Do zrobienia jedynki na wejściu bramki LVC wystarczy kilka uA prądu. Z powodu zakłóceń i nieakceptowalnie długich czasów narastania daje się trochę mniej, ale 100R to już przesada. R w granicach 10-22k będzie w sam raz. W bramce nic nie wstawiaj. Rezystory przy bramkach kluczy (do masy) są po to, by w sposób pewny wyłączać MOSFETy gdy procesor stoi w stanie RESET a porty dyndają w HiZ. Tutaj masz sterowanie w górę z rezystora R1 (i z pullupa wbudowanego w procesor) a zero przychodzi z programatora. Nic więcej nie potrzebujesz a każdy rezystor do masy tylko popsuje tę sytuację.

4. Liczysz OK choć jakoś mnie uwiera, że do sterowania uzwojeń silników wstawiasz tranzystorki w SOT23. Przy sterowaniu z 5V będą miały Rds rzędu 1.5Ω i to do uzwojeń pobierających 100mA na pewno wystarczy. Liczyłeś zgrubne osiągi Twojego robota przy tych silnikach? Jakie kółka (średnice) przewidujesz? Diodki równolegle do uzwojeń zabezpieczają tranzystory podczas wyłączeń faz, gdy na indukcyjnościach pojawia się napięcie L*dI/dt. Drivery typu 2003/2803 mają to wbudowane, ale tutaj musisz je zrobić sam. Szpilka w górę ponad 100V czy 200V nie jest niczym niezwykłym a diodka zwiera jej energię przez siebie i nie pozwala wyjść napięciu na drenie powyżej Vcc+0.7V

5. No ale LiPol 2S daje od 8.4 do 5.8V - popatrz na charakterystyki rozładowania pierwszego lepszego ogniwa LiPoly. Co zrobisz poniżej 7V?

Brakuje pomiaru napięcia akumulatora - przy LiPolach to obowiązkowe.

Zamiast stabilizatora dającego 5V na uzwojenia wstawiłbym coś regulowanego (1117-ADJ?). Przynajmniej miałbyś szansę podkręcania prądu gdyby okazało się, że silniki słabo ciągną. Z resztą dla prostoty wszystkie stabilizatory zamieniłbym na identyczne, choćby te regulowane 1117. Oporniki nic nie kosztują a kupujesz taniej trzy takie same sztuki i masz z głowy marny dropout serii 78xx.

Dwa duże elektrolity na baterii nie są potrzebne, za to jeden 220uF przeniósłbym na wyjście zasilania uzwojeń - tam przyda się bardziej. Na liniach 5V i 3V wystarczy po 10uF plus oczywiście kilka 100nF przy scalakach.

I dawaj nowy schemat po poprawkach.

Link do komentarza
Share on other sites

Z założenia ma być to konstrukcja względnie mała. Koła średnicą zbliżone są do średnicy silnika- ok 4cm. Pomiaru napięcia nie przewidywałem, po samym ruchu będzie widać, w jakim stanie jest bateria. Jeżeli napięcie spadnie poniżej tych 7V to bateria poleci na ładowarkę. Ładowanie nie trwa długo.. działać długo też nie będzie, ale wolę tak niż wygląd lodówki... 😉. Rozważę jeszcze kupno tej wersji o wyższym napięciu.

Skorzystałem z rady, wyrzuciłem 78xx. W jego miejsce wstawiłem lm1117 ale nie regulowane, ale wersje 5V. Z tym napięciem działa serwo, czujnik, wspomniane silniki. Wszystko nominalnie na 5V. Będzie bezpieczniej i stabilniej (według mnie) jeżeli zostanie to w takiej formie.

Dzięki za wyjaśnienie zastosowania tych diod. Faktycznie nie pomyślałem o tym. Podobnie rozwiązanie stosuje się przecież przy przełącznikach. BS170 będą w obudowie TO92.

schemat ideowy.pdf

Link do komentarza
Share on other sites

Nie wiem jak "po samym ruchu" coś poznasz, skoro napięcia do wszystkiego stabilizujesz. Silniki krokowe to są nie zwykłe DC i albo jadą jak im każesz albo gubią kroki i nawet nie startują. U Ciebie, żeby osłabły, napięcie akumulatora będzie musiało spaść poniżej jakichś 5.2V (bo dopiero wtedy zacznie spadać 5V na silnikach) a w takim przypadku możesz już swojemu 2S pomachać na do widzenia. Przynajmniej jedna cela, ta słabsza będzie skasowana. Nigdy nie zrozumiem takich pozornych oszczędności dwóch oporników...

Rzucanie hasłami w rodzaju "Jeżeli napięcie spadnie poniżej tych 7V to bateria poleci na ładowarkę" świadczy o tym, że jednak nie spojrzałeś do danych katalogowych dowolnego LiPola. Ułatwię Ci zadanie, niewielkie ogniwo pryzmatyczne Sanyo 750mAh - jest duża szansa, że podobne lub mniejsze będziesz miał w swoim pakiecie:

http://www.tme.eu/pl/Document/42a0c69b734c13d2bd8f337aec2b935d/SanyoUF463048F.pdf

Skup się na wykresie "Discharge rate characteristics" bo tam jest pokazane ile pojemności zużywasz a ile zostaje w ogniwie gdy ograniczysz się do pewnego napięcia wyjściowego. Sam oceń jak korzystasz z pojemności którą dysponujesz. Co więcej - teraz wykres Charge characteristics - ładowanie LiPola tylko w początkowej fazie (const_I) przeprowadzane jest dużym (tym nastawionym w ładowarce) prądem. Gdzieś od 60-70% władowanej pojemności prąd zaczyna spadać i mimo, że musisz doładować już tylko 40-30% pozostałej pojemności, faza const_V trwa drugie tyle. Tak więc ładowanie nie będzie szybkie - jak by to wynikało z wykorzystanej pojemności ogniwa, bo będziesz jechał prawie wyłącznie w strefie ładowania stałym napięciem constV.

Choćby w celach eksperymentalnych wstawiłbym dodatkowy, osobny stabilizator dla silników z możliwością regulacji napięcia. Nie będzie Cię korciło zmienić parametrów ich pracy i sprawdzić czy możesz jechać szybciej gdy już opanujesz samą komutację faz? Przecież po to chyba to coś budujesz - by dowiedzieć się jak najwięcej, prawda?

Myślałem raczej o wstawieniu opornika 100R szeregowo z wyjściem impulsów do serwa. Ono ma 3-pinowe złącze które bardzo łatwo odwrócić. Wstawiłeś do czujnika i OK, wszystkie linie procesora wychodzące na zewnątrz powinny być jakoś pozabezpieczane - może tam zostać, ale linii PB1 też się należy.

Nie zapominaj, że gdy nie używasz kwarcu, możesz normalnie używać linii portów PB6 i PB7 - to w kontekście pomiaru napięcia akumulatora, bo obecnie wszystkie wejścia ADC zmarnowałeś na sterowanie silnikami 🙂

Acha, byłbym zapomniał, opornik R15 tak wstawiony to zły pomysł - bramka IC2C nadal jest sterowana czystym plusem zasilania i jest zawsze wyłączona.

Link do komentarza
Share on other sites

Racja. Charakterystyk baterii nie oglądałem. W zasadzie nigdy na takie parametry baterii nie zwracałem uwagi.

Właśnie. Mam pytanie odnośnie kwarcu. Stosować, nie stosować? Podniesienie częstotliwości na takim procesorze przyniesie jakieś pozytywne rezultaty?

Jeszcze mam pytanie co do COM`a. Jako, że nie mam takiego portu u siebie patrzyłem za adapterem USB. Czy coś takiego zdaje egzamin ?

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • 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.