Skocz do zawartości
Ahmed

Linefollower prośba o sprawdzenie schematu

Pomocna odpowiedź

Witam

Popełniłem właśnie schemat linefollowera opartego na stm i prosiłbym Was o sprawdzenie, czy nie ma na nim żadnych błędów.

Kilka danych odnośnie robota:

silniki pololu 10:1 przedłużony wał

bateria li-pol 2S

tarcze od enkoderów 90 sygnałów/obrót, montowane na przedłużonej osi

Jeśli jest to możliwe, szczególnie proszę o zwrócenie uwagi na kilka rzeczy, co do których nie jestem pewien:

1. Czy buzzer jest dobrze podłączony (schemat projektowałem pod taki element: http://botland.com.pl/akustyka/1321-buzzer-z-generatorem-5v-5mm-tht.html)

2. Czy takie komparatory wystarczą, czy potrzebne będą szybsze? Z moich obliczeń wynika, że przy maksymalych obrotach sygnał z enkoderów będzie następował co ok 22us.

3. Czy układ mpu-6050 jest dobrze podłączony? pierwszy raz stosuję takiego scalaka, więc nie jestem pewien..

4. Czy jest jakaś różnica pomiędzy jtagiem, a swd? Który jest lepiej wyprowadzić?

Z góry dziękuję za odpowiedź i pozdrawiam

Udostępnij ten post


Link to post
Share on other sites

Looks good.

Buzzer ma tranzystor nad sobą zamiast pod sobą.

Jeden rezystor ten od ktirów jest luzem... w sumie może zastosuj tam resistor array ( nie wiem jaka polska nazwa... kilka rezystorów w jednej obudowie) - przy 16 będzie to się dużo łatwiej lutowało i układało.

PS. Nie sprawdzałem co robią poszczególne piny w procesorze, bo tego cpu nie znam...

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Buzzer: tak jak napisał Mirek, w tej konfiguracji tranzystora (wtórnik emiterowy) na bipczaku w stanie załączenia dostaniesz ok. 0.6V mniej niż zapodajesz z procesora. Tak więc będziesz go zasilał z 2.5V niezależnie od tego jakie napięcie doprowadzisz do kolektora. Jeśli tranzystor postawisz emiterem na masie (konfiguracja wspólny emiter) a buzzer włączysz w kolektor, zobaczy on napięcie Vcc - 0.05V a to jest znaczna poprawa.

MPU6050: niepotrzebnie dajesz AD0 do procesora. To jest pin ustalający adres układu na szynie I2C. Możesz go raz na zawsze podpiąć do GND lub Vcc. Gdybyś miał rozbudowaną szynę i groziłby konflikt adresów (np. z drugim MPU lub innym scalakiem) to wtedy trzeba na to zwrócić uwagę i odpowiednio ten pin ustawić. Tutaj nie ma to znaczenia. Dałbym małe złącze wyprowadzające sygnały I2C + 3.3V + GND. Będziesz mógł wtedy łatwo podłączyć coś jeszcze, co Ci przyjdzie do głowy w chwilę po otrzymaniu gotowej płytki (inne MEMSy, sterowanie dodatkowymi LEDami, jakiś wyświetlacz itp).

Komparatory: wybrałeś dość ekstremalne, przeznaczone do zastosowań wybitnie bateryjnych. Mały prąd zasilania układu (<1µA!) prawie zawsze skutkuje ograniczeniem pasma i nie inaczej jest w tym przypadku. 4µs to w tej aplikacji jeszcze nie jest tragedia, ale po co masz się zastanawiać, skoro tuż obok leżą MCP6561 mające czas propagacji w granicach 50ns. Kosztują tyle samo, taka sama obudowa i tylko prąd 100µA. Coś za coś, ale tutaj - przy procesorze, mostkach i silnikach takimi poborami mocy w ogóle bym się nie przejmował. Acha, 6541 mają "normalne" wyjście dwustanowe, więc zasilane z 5V dają na wyjściu 0 lub 5V. Co prawda porty STMa są odporne na 5V, ale tylko w pewnych konfiguracjach i tylko niektóre. Zwróć na to uwagę. Zawsze możesz dać komparatory z wyjściami typu otwarty-kolektor (6546?). Nie wiem jakiego typu wyjście ma "SHARP 40cm".

JP5 - jeżeli ma być złączem do czegoś na zewnątrz, obowiązkowo musi mieć GND. Czasem warto też dać któreś z zasilań (3.3 lub 5V), bo np. moduły radiowe BT trzeba karmić mocą.

Zrobiłbym wyłączanie diodek w KTIRach. Jeden tranzystor niewiele kosztuje, a teraz masz 120mA wypływające bez przerwy niezależnie od tego czy testujesz akurat czujnik odległości czy bawisz się w obsługę przycisków. Ten prąd to pewnie z 80% mocy pobieranej z Vcc.

  • Pomogłeś! 1

Udostępnij ten post


Link to post
Share on other sites

Jaką rolę w tym przypadku pełni rezystor 1M wpięty równolegle do rezonatora Q4?

Udostępnij ten post


Link to post
Share on other sites

Zamienia wewnętrzny inwerter we wzmacniacz liniowy, dzięki czemu ze zwykłej bramki NOT robi się oscylator kwarcowy tzw. Pierce-Gate pracujący na częstotliwości rezonansu równoległego kwarcu.

Udostępnij ten post


Link to post
Share on other sites

Witam

Jeden rezystor jest dodany właśnie dlatego, że jest to drabinka rezystorowa 🙂

Do rad się zastosowałem, mam nadzieję, że wszystko jest dobrze, jednak mam pytanie w jaki sposób dobrać rezystory R29 i 22 (przy komparatorach)?

Pozdrawiam

Edit

Jeśli jeszcze ktoś się orientuje to prosiłbym o sprawdzenie, czy przypadkiem nie pominąłem jakiegoś ciekawego peryferium procka, gdyż chciałbym z niego wycisnąć ile się da 🙂

Udostępnij ten post


Link to post
Share on other sites

Trochę schemat pokręciłeś, nie wiem czy zamierzenie więc znowu kilka uwag:

Jeżeli fragment z czujnikami KTIR będzie osobną płytką (a na to wskazuje złącze K3/K4) to nowym tranzystorem odciąłeś masę nie tylko od diodek, ale także od czujników. To chyba zły pomysł, bo co prawda diodki przestaną świecić, ale czujniki mogłyby wtedy działać. Miałbyś szansę pomiaru bez oświetlenia. Szczególnie gdy masz pomiary ADC to jakaś forma autokalibracji czujników itp. Generalnie odłączanie masy od dużych fragmentów układu nie jest polecane. To samo z umieszczeniem kilku osobnych fizycznie płytek na jednym schemacie. Jak rozumiem teraz masa nie "przeniesie się" przez same symbole GND z płytki na płytkę, bo są to różne GND a tego program w obecnej formie schematu nie ma szans wykryć. Szybko się zapomina co przechodzi przez złącza a co nie no i można się obudzić z brakującymi sygnałami. Proponuję regułę: jeden schemat - jedna lista połączeń - jedna płytka.

Zmieniając zasilanie fototranzystorów w enkoderach, możesz też zmienić zasilanie ich diodek oświetlających. Będziesz miał mniej ścieżek zasilań do dociągnięcia do tego elementu.

Jaki był cel zastosowania nowych rezystorów R22/R29? Obecnie łączą wyjście komparatora w jego wejściem (-) więc robią ujemne sprzężenie zwrotne tym samym linearyzując wzmacniacz i kasując wbudowaną "komparatorowość" układu (duże wzmocnienie, histereza). Tak miało być?

Udostępnij ten post


Link to post
Share on other sites

No tak, tak prosty sposób kalibracji nawet mi do głowy nie przyszedł.. Zatem rozumiem, że powinienem odcinać VCC, jednak mam pytanie, jak to zrobić? mosfetem? (sytuacja jak na początku przy buzzerze)

Co do rezystorów były one podane na "typowym schemacie" noty katalogowej, więc doszedłem do wniosku, że należy się tego trzymać.

A tak z innej beczki, wie ktoś może, czy isnieje jakieś ulp albo funkcja w eaglu licząca pole powierzchni płytki/ rozlanej masy oraz długości ścieżek?

Udostępnij ten post


Link to post
Share on other sites

Ahmed, popatrz jeszcze raz dokładnie na rezystory R22, R29 oraz notę katalogową. Nie podłączyłeś ich przypadkiem do złego wejścia? Ich zadaniem jest dodanie zewnętrznej histerezy, natomiast podłączając rezystor do V- zamiast V+, zrobiłeś dokładnie odwrotnie. Przy odrobinie szczęścia taki układ może tylko zmniejszyć histerezę, ale może też się wzbudzać i będziesz miał bardzo ciekawy generator.

Udostępnij ten post


Link to post
Share on other sites

Nie, odpowiedzią nie jest Vcc czy GND. Głównym zadaniem jest wyłączanie tylko diodek. Nie ma znaczenia jak to zrobisz: czy przez odcinanie od dołu czy od góry. Jeśli dobrze rozumiem Twoje intencje, SHARP będzie miał swoje gniazdko (JP6/JP1) dopiero na płytce czujników. A więc jeśli zrobisz odcinanie czegokolwiek na płycie głównej, odetniesz i jego. Jeśli muszę się tego domyślać to znaczy, że schemat jest kiepski bo nie pokazuje idei projektu. Nie, przerywane ramki nie załatwiają sprawy bo by oznaczały, że np. złącze JTAG jest na innej płytce.

Wygląda na to, że musisz poświęcić jeden pin złącza na przesyłanie albo sygnału sterującego tranzystorem umieszczonym już na płytce czujników albo na osobną GND/Vcc dla diodek. Wtedy tranzystor może być jak jest - przy procesorze.

Oczywiście zawsze bardziej elegancko jest odłączać zasilanie niż masę. Najprościej jest użyć tranzystora pnp przy założeniu, że załączasz ten sam potencjał którym sterujesz bazę, tj: baza przez opornik do procesora, emiter do 3.3V a kolektor do anod diodek.

Ponieważ jednak mniejsze straty mocy będą przy napędzaniu oświetlaczy z 5V (a jeszcze mniejsze wprost z baterii, ale tam zasilanie przysiada w trakcie rozładowania) to musisz użyć 2 tranzystorów: pierwszy npn aby przenieść poziom odniesienia sygnału sterującego z GND do Vcc a drugi pnp by to Vcc załączyć do diodek. Zawsze możesz też użyć jakiegoś specjalnego scalaka klasy high-side switch który wszystko załatwi za Ciebie. Weźmie sygnał 3.3V z procesora i załączy zasilanie +5V na diodki. Jest tego pełno, bo dzisiaj inteligentne zarządzanie zasilaniem systemu (power management) stało się bardzo pożądaną cechą projektów.

Udostępnij ten post


Link to post
Share on other sites

Witam ponownie

Schemat poprawiłem, mam nadzieję, że teraz jest przejrzyściej, jeśli nadal nie to proszę o jakąś podpowiedź jak to robić. Jeśli chodzi o wyłączanie diodek to myślę, że coś takiego powinno działać (diody będą włączone przy stanie niskim), choć nie jestem pewien wartości rezystorów (R4 powinien być chyba mniejszy?), a także, czy rezystor R5 jest potrzebny?

Udostępnij ten post


Link to post
Share on other sites

Strasznie przekombinowane z tym pnp. Nie łatwiej zamiast sterować VCC dla diod, sterować GND? Wtedy wystarczy jeden tranzystor npn i po kłopocie.

Udostępnij ten post


Link to post
Share on other sites

Kolega bardzo dobrze sobie poradził z załączaniem diodek. Konkretne rozwiązanie może się podobać a może nie, to już kwestia gustu. To jego projekt, uznał pomysł wyłączania za wart zrobienia i zrealizował to prawidłowo. Dla wielu początkujących nawet taki układ nie jest oczywisty. Moim zdaniem nie ma tu przesady, to tylko dwa tranzystory. Czyżbyśmy doszli do czasów, gdy trywialne połączenie dwóch takich elementów jest już układem przekombinowanym? Bez przesady, nie warto czepiać się czegoś tylko dlatego, że nie pasuje do schematu czujnik-scalak-scalak-scalak-silnik.

OK, układ jest w porządku. Wszystkie rezystory są potrzebne. Zacznijmy od R5: służy do ograniczania prądu bazy Q2 w momencie, gdy T1 przewodzi. Ponieważ Q2 ma wypuszczać z siebie ponad 100mA, to zakładając jego wzmocnienie w tych warunkach nawet na 50, potrzebuje w bazie 2mA. Przy 5V zasilania R5 może być nawet 2.2k. Dalej mamy R4 który wyłącza Q2 gdy T1 nie przewodzi. Do wyssania ładunku z bazy Q2 i jego wyłączenia nie potrzeba praktycznie żadnego prądu (przy żadnych wymaganiach na szybkość - to nie klucze w przetwornicy 500kHz) więc coś w granicach 10-51k wystarczy. Ponieważ T1 będzie w takim razie włączał głównie prąd bazy Q2, jego prąd kolektora wyjdzie lekko powyżej 2mA. Nawet przy wzmocnieniu 100 (a przy 2mA na pewno będzie to dużo więcej) w jego bazie wystarczy 20uA. Przy sterowaniu z 3.3V mamy więc R3 = (3.3-0.6V)/20uA. Jeśli dasz 51k a nawet 100k - powinno działać. Ważne jest by tranzystory wchodziły w nasycenia, ale z drugiej strony szkoda prądu na oporniki. Oczywiście diodki zapalą się gdy załączony zostanie Q2, ten odpali gdy zacznie przewodzić T1 a ten z kolei ruszy gdy podasz stan wysoki na R3. Wniosek: zapalasz jedynką.

Wciąż pozostaje sprawa dziwnie włączonych rezystorów R65/R66. Widzę, że to zmieniłeś, ale wciąż chyba nie czujesz po co to jest. Napisz jasno jaki był cel ich wstawienia. Przypominam, że te komparatory mają już wbudowaną histerezę.

Udostępnij ten post


Link to post
Share on other sites

Marku, mi nie chodzi o powielanie schematu, tylko o to, że to samo zadanie można zrealizować łatwiej. Nie ma nic złego w upraszczaniu układów. Oczywiście można mówić, że dodatkowy tranzystor to niewielki koszt, ale tu chodzi raczej o nabranie pewnych nawyków. Jeśli można ukłąd zrealizować za pomocą jednego, to po co wykorzystywać dwa? W układzie bardziej skomplikowanym łatwiej o błędy, jest droższy i zajmuje więcej miejsca na płytce.

Co więcej w takim połączeniu tranzystorów (npn sterowany z procesora, pnp z VCC), kryje się pewna pułapka. W tym przypadku układ zadziała, ale ani Ahmed, ani Ty nie wspominaliście o tym, więc zakładam, że zadziała trochę przypadkiem.

Problem jest taki, że tranzystor T1 zawsze przewodzi pewien prąd. Typowo będą to nA, ale w temperaturze 100 st C prąd baza-kolektor to nawet 20uA. W układzie całą sytuację ratuje R4. Inaczej T2 wzmocniłby prąd i diody świeciłyby cały czas. Spotkałem się z takim układem w praktyce więc jestem przeczulony.

Dlatego piszę, że lepiej stosować rozwiązanie proste - wtedy jest mniej miejsc gdzie możemy się pomylić.

A dla diod led nie ma różnicy, czy będziemy im odcinać VCC, czy GND.

Udostępnij ten post


Link to post
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...