Skocz do zawartości

Linefollower - pierwsze podejście - schemat


karol93

Pomocna odpowiedź

Prawdę mówiąc... to jest świetny pomysł z tymi WS2812B ! 🙂

"Rozgryzałem" je już jakiś czas, co prawda tylko na papierze, ale co nieco poczytałem. Z nimi jest jedyny problem, że muszą mieć podawany cały czas sygnał z pinu mikrokontrolera, przez co w momencie gdy jest przestój i wykonuje sie jakaś inna czynność w procku, LEDy gasną. Można by do tego wykorzystać tak naprawdę małe ATtiny, do którego gadałaby duża Atmega i mówiła mu, jak ma zapalać te diody.

EDIT: np. poprzez I2C i spróbować zrobić to bez wykorzystywania przerwań - wtedy nie będzie "zakłóceń" w przesyłaniu danych do LEDów.

Link do komentarza
Share on other sites

Bawiłem się tym już jakiś czas temu, ale wydaje mi się, że nie masz racji. Dioda zatrzaskuje swoje 24 bity i świeci swoje RGB zgodnie z otrzymanymi wypełnieniami PWM aż do czasu otrzymania nowych danych. Przerwa w sygnale, czyli impuls RESET powoduje tylko restart transmisji więc najbliższe wysłane 24 bity trafią do pierwszej z brzegu diody, ale nie powoduje wyłączenia LEDów. Wysyłasz dane do łańcucha tylko wtedy, gdy chcesz coś zmienić. Inaczej to rzeczywiście byłoby strasznie niewygodne.

Link do komentarza
Share on other sites

Pewnie jak zacznę programować, to się dowiem dokładnie jak to działa 🙂.

Wrzucam schemat płytki z czujnikami - ostatecznie zostawiłem zwykłe rezystory - potencjometr cyfrowy jest max 2 kanałowy, a każdy kosztuje z 5zł, czyli tutaj potrzebowałbym ich 4 sztuki + podstawki....

Może przy innej okazji się nimi pobawię 🙂.

A tutaj wstępnie rozrzucone elementy - na płytkę prototypową. Powiedzcie - uda się to tak polutować, jak sobie porozmieszczałem ?

Zrobiłem też wersje do trawienia, którą w teorii miałbym jak wykonać, ale "przerzucenie" goldpinów na drugą stronę wymagałoby zrobienia przelotek i zmontowanie tego po drugiej stronie na zwykłych przewodach ( czerwone scieżki), chyba że zrobię płytkę dwustronną i żeby nie bawić się w przelotki, wykorzystam oporniki THT, których nóżki mogę wykorzystać jako przelotki 😉.

Cały "mózg" robota będzie już na pewno na prototypowej montowany.

Link do komentarza
Share on other sites

Możesz użyć jednorzędowych szpilek kątowych. Te są widoczne na płytce po obu jej stronach więc możesz je wykorzystać jak przelotki. Z resztą jeśli na zwykłych prostych (tylko trochę dłuższych) przesuniesz czarny pasek plastiku trochę wyżej, też możesz zrobić to samo.

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

W sumie racja 🙂 One mają dużo dłuższe te wyprowadzenia i można je po prostu lekko unieść, żeby wejść tam z lutownicą 😉.

Tutaj gotowy schemat w zasadzie do druku i trawienia - jedyny przewód, który będzie trzeba wykorzystać, to łącze pomiędzy diodami, pomiędzy pinami DATA_IN i DATA_OUT.

Czy ktoś jest w stanie mi potwierdzić, że jest to w ogóle wytrawialne w domowych, super amatorskich warunkach ? 🙂

Jutro pewnie pójdą pierwsze zamówienia na elementy SMD - ciekaw jestem, co mi z tego wszystkiego wyjdzie.... 😉

Link do komentarza
Share on other sites

Diody WS2812 są scalakami cyfrowymi i jako takie wymagają kondensatorów blokujących zasilanie. Nie widzę na płytce takowych. Owszem, są jakieś (nie widzieliśmy schematu więc pokazywanie płytki z prośbą o ocenę jest trochę podstępne ale załóżmy, że domyślam się idei) łączące Vcc z GND ale to jakieś Vcc z jakimś GND. Z blokowaniem zasilania układów cyfrowych nie ma to nic wspólnego.

A teraz, zanim zaczniesz cokolwiek trawić usiądź spokojnie, podświetl na ekranie cały net GND i zastanów się jaki prąd będzie płynął każdym jej odcinkiem, w którą stronę i jakie zakłócenia będzie ze sobą niósł. Niestety nie wystarczy jakoś to połączyć. Ma to być zrobione z sensem. A robisz płytkę analogowo-cyfrową, więc trudną. Będziesz chciał dostawać poprawne wyniki (względem której masy?) z niskoprądowych czujników analogowych, będziesz wysyłał szybkie sygnały cyfrowe do diodek (względem której masy?) a one będą szarpały duże prądy impulsowe (przez którą masę?) przy modulacji PWM swoich struktur RGB. A na koniec masz jeszcze diody IR które dodają swój stały offset do (której?) masy przez jaką są zasilane. Czy mam pytać dalej?

EDIT: I jeszcze jedno: po co w ogóle wyniosłeś tyle dużych LEDów na płytkę czujników? Estetyka? No nie wiem. To raczej choinka. Ta płyteczka jest daleko od osi obrotu dwukołowego robota. Dlatego musi być lekka i zawierać tylko to co niezbędne. Zamontowanie kilku wskaźników/LEDów (niech będzie, że nawet 10 - użycie WS2812 nie zwiększa liczby potrzebnych sygnałów) tuż obok procesora daje ten sam efekt informacyjny, a eliminuje kilka problemów: dodatkowe sygnały na tasiemce, masa płytki czujników, duże prądy impulsowe na GND i Vcc zakłócające delikatne sygnały z fototranzystorów. Poza tym wstawienie LEDów na tej płytce jakoś podświadomie wiąże ich zapalanie ze stanem czujników a przecież one nie są do tego (a może są?). One są do pokazywania stanów wielu różnych rzeczy w programie. Alarmowych przekroczeń zakresów zmiennych, stanu algorytmu detekcji linii, stanu regulatorów PI(D) silników itd.

Jeżeli naprawdę chcesz te diodki tu zostawić, dodaj jedną linię GND i Vcc na złączu i w tasiemce, przeznaczone wyłącznie do zasilania 2812, umieść kondensatory 100nF (wystarczą dwa-trzy) między LEDami bezpośrednio na ich szynie zasilania. Niech GND i Vcc układów WS2812 i czujników opto łączą się ze sobą dopiero gdzieś na płycie procesora.

Jeżeli masz jakieś fajne pomysły, pokazuj najpierw schemat - to podstawa do wszelkich rozważań i uniwersalny język przekazywania sobie idei rozwiązania. Nad tym trzeba i można dyskutować bez straty czasu np. na robienie bezsensownej płytki. Wiem, że się palisz do roboty, ale rysowanie ścieżek zaczynasz dopiero wtedy, gdy jesteś absolutnie pewien co do poprawności schematu. Inaczej szkoda Twojego czasu. I naszego.

Link do komentarza
Share on other sites

To prawda, zasugerowałem się od razu estetyką, ale nie przemyślałem sprawy, że bezwładność całej płytki znowu wzrośnie 😉.

Wylądują najpewniej gdzieś blisko procesora.

Od wczoraj ogarnąłem te materiały (dla mnie baaardzoooo przydatne):

http://www.elektroda.pl/rtvforum/viewtopic.php?p=11160928#11160928 - na samym dole PDF do pobrania.

http://mikrokontrolery.blogspot.com/2011/03/avr-adc-podlaczenie.html

I doszedłem właśnie do tego samego wniosku 🙂. Czyli osobne linie AGND i DGND, gdzie DGND włączy się w obwód dopiero przy samym stablizatorze, a AGND wyląduje przy GND modułu ADC Atmegi. Teraz poprawiam schematy, uzupełniam o wszystkie uwagi itd - tak więc pewnie chwilę mi to zajmie.

Powiedzcie mi proszę jedną rzecz - aby ADC działał w miarę precyzyjnie, zaleca się używanie dławika i kondenstora na linii AVCC. Z tego co widzę tutaj:

"Promocja na moduł ARDUINO PRO MINI z atmega328 AVR" sprzedającego "telmal_store"

http://allegro.pl/promocja-na-modul-arduino-pro-mini-z-atmega328-avr-i5952892570.html

takich elementów nie ma.

Czy polecacie teraz dłubać na gotowe płytce i "wlutowywać się" jakimś sposobem w ścieżki, żeby dołożyć dławik i kondensator, czy pozostać w kwestii uC w wersji TH i samemu sobie zrobić zasilanie i wyprowadzenia ?

EDIT: Wydaje mi się, że przy mojej zabawie napięcie odniesienia z osobnego stabilizatora to lekka przesada ?

__________

Komentarz dodany przez: Sabre

_allegro

Link do komentarza
Share on other sites

Wpływ AVCC na wyniki ADC jest pewnie ze 100 razy słabszy niż zakłóceń na VREF, które wpływają na wynik bezpośrednio. Przy AVCC mamy do czynienia z tzw. PSRR (Power Supply Rejection Ratio) a ten może wpływać na działanie bloków analogowych na dwa w zasadzie różne sposoby: stałoprądowo - przez zmianę punktu pracy wzmacniaczy, komparatorów itp (ale tego ATMEL nie podaje), wysokoczęstotliwościowo - przez przenikanie zakłóceń impulsowych z szyny zasilania do sygnałów w bloku ADC (tego oczywiście też nie znamy). Takie parametry liczbowo podaje się dla wszelkich scalaków typowo analogowych lub ew. osobnych ADC. Tutaj możemy tylko dmuchać na zimne i wstawiać filtr. Na szczęście płyteczka Arduino mini/nano ma swój własny stabilizator na pokładzie, który separuje zewnętrzne, ew. zapaskudzone zasilanie systemu od zasilania procesora. On sam sobie krzywdy nie zrobi bardziej niż i tak to się dzieje przy wstawianiu bloku ADC na strukturę krzemową procesora. Tak więc nie tnij ścieżek i nie wstawiaj żadnych dławików.

Zewnętrzna referencja jest używana w przypadku gdy chcesz mieć np. wysoką powtarzalność wyników (od sztuki do sztuki urządzenia) bez kalibracji podczas produkcji i testowania płytek. Napięcie odniesienia wbudowane w procesor ma wystarczającą stabilność (od temperatury, od zasilania i od czasu) dla prawie 10-bitowego ADC, ale ATMEL nie zapewnia powtarzalności (od sztuki do sztuki układu) tego napięcia. Dla Ciebie nie ma to kompletnie znaczenia bo nie robisz serii urządzeń pomiarowych tylko robocika, a z resztą i tak musisz skorzystać z Vcc jako referencji, bo sygnały z czujników mają rozpiętość 0-Vcc.

Nie musisz fanatycznie trzymać się zaleceń - to nie 16 bitowe audio tylko z ledwością 9-10 bitowy sygnał. W przypadkach drastycznych (płytka czujników na długiej taśmie plus istotnie różne sygnały) zalecam rozdzielenie, a na płytce procesora? Cóż, zobaczymy jak zaczniesz się do niej przymierzać. Co tam nawsadzasz i w jakich ilościach. Każdy przypadek jest inny.

Link do komentarza
Share on other sites

Dzięki za rady 🙂 Rozrysowałem wszystko na schemacie, ale według ustaleń - zapewne do robota trafi gotowa płytka z procesorem, czyli wszystkie wyprowadzenia już będą gotowe.

"Promocja na moduł ARDUINO PRO MINI z atmega328 AVR" użytkownika: telmal_store

http://allegro.pl/promocja-na-modul-arduino-pro-mini-z-atmega328-avr-i5952892570.html

Do tego drivery silników:

http://botland.com.pl/sterowniki-silnikow-dc/4200-max14870-jednokanalowy-sterownik-silnikow-36v17a-modul.html

LUB

http://botland.com.pl/sterowniki-silnikow-dc/2695-drv8838-jednokanalowy-sterownik-silnikow-modul.html

Silnik:

http://botland.com.pl/high-power-hp/730-silnik-pololu-hp-30-1.html

Napięcie zasilania: 3-9V, przy czym znamionowe to 6V, a prąd przy zatrzymanym wale to 1,6A.

Nie wiem na ile zastosowanie drivera, który ciągły prąd ma równy 1,7A, a chwilowy tylko o 0,1A większy będzie dobre. Wtedy będzie trzeba wykorzystać tego MAXa z prądem ciągłym 1,7A ale chwilowym już 2,5A.

Wskaźnik zasilania zrobiłem z komparatorem i dzielnikiem. Przy napięciu zasilania w wysokości 6V z dzielnika uzyskamy 5V i porównamy to z 5V ze stabilizatora.

Czy jest jakiś sposób na to, aby komparator nie oscylował wokół tej wartości ? Nagłe zmiany prądy mogą "rzucać" napięciem w okół tych 6V i w sumie bedzie piszczeć, zgrzytać, i się co chwile włączać i wyłączać, zanim napięcie nie spadnie poniżej 6V.

Jakiś przerzutnik może ?

Co do buzzera - czy są mniejsze ? Ten który ja znalazłem, z wbudowanym generatorem to conajmniej 10mm średnicy.

W kwestii zasilania - zrobiłem zasilanie na stabilizatorze impulsowym, dobrałem aż 3A, ponieważ w teorii same LEDy mogą pociągnąć przy zaświeconych wszystkich modułach 20mA * 3 (w jednym LEDzie) * 10 (np. ilość ledów) = 600mA, do tego prąd IRów, zasilanie układów scalonych, driverów, buzzera itd, a nie umiałem znaleźć nic na 2A, żeby nie było tak dużego Vdropout (trochę ponad 1V przy poborze prądu około 2A).

Chyba że wtedy takie zasilanie robi się na dwóch stabilizatorach ?

Wrzucam linka do dropboxa, z którego można pobrać schemat. Niestety, nie działa aktualnie dodawanie fotek na forum (jakiś "błąd serwera").

https://www.dropbox.com/s/1g1yx0jexecu4tv/schemat_all.png?dl=0

Link do komentarza
Share on other sites

Żeby ostatecznie zweryfikować całość będziesz musiał narysować schemat z modułem procesora. Zrób sobie symbol płytki małego Arduino i wstaw. Dociągnij wszystkie sygnały i rozplanuj czy na nic nie zabraknie pinów.

Zastanów się co podłączysz do UARTa procesora. Konwerter na RS232 (masz port COM w kompie?), przejście na USB czy po prostu zostaną 4 piny do czegoś w przyszłości?

Ja bym wziął silniejszy driver. Jeśli zakładasz przenośność modułów, zostaną z Tobą na dłużej a za chwilę będziesz robił coś następnego - nie wiadomo na jakich silnikach. Albo wybierz coś z TME:

http://www.tme.eu/pl/katalog/#id_category=113328&page=1&s_field=niski_prog&s_order=ASC

Niestety bipczaki są duże, a 10mm to i tak niezły wynik.

Zajrzyj do danych tego LM311. Skąd Ty bierzesz te starocie? Ten ani nie będzie działał przy tym podłączeniu, ani nie będzie działał kiedy już podłączysz go dobrze. Zwróć uwagę na zakres jego napięć wejściowych, poczytaj o histerezie (to lekarstwo na losowe zachowanie w stanach przejściowych), policz i wstaw odpowiedni opornik dodatniego sprzężenia zwrotnego i dzielnik także na wejście +5V. Ja bym dał też możliwość bipczenia procesorowi. Skoro już ma na pokładzie taki alarm, niech z niego korzysta gdy mu przyjdzie ochota. Dwie diody (lub jedna podwójna, np. BAT54C) mogą sumować sygnały sterujące: z komparatora i z procesora do bazy tranzystora i gotowe.

Widziałeś kiedyś dławik 100uH na 3-4A? Gdybyś miał go w ręku, nigdy nie chciałbyś go tu użyć. Znalazłeś kolejny zabytek. LM2576 to chyba pierwszy, historyczny już dziś układ z serii SimpleSwitcher ówczesnego Nationala. Pracuje w okolicach 50kHz i z tego powodu wymaga olbrzymiej indukcyjności i wielkich kondziołów na wejściu i na wyjściu. Jest oparty na bipolarnym kluczu i wespół z diodą ma taką sprawność, że zaczyna się opłacać dopiero przy Vin rzędu 12V. Spróbuj czegoś nowszego. Dość popularnym jest ST1S10 od ST. Ma prostowanie synchroniczne (brak diody!), małą obudowę SO8 i pracuje gdzieś pod 1MHz więc zadowala się dławikiem kilka uH:

http://www.tme.eu/pl/details/st1s10phr/regulatory-napiecia-uklady-dc-dc/st-microelectronics/

Z resztą przy zjeżdżaniu z 6 czy 7.5V do 5V przewaga przetwornic impulsowych jest naprawdę tak niewielka, że pomyślałbym o jakimś Low-drop LDO. Mniej elementów, mniej zakłóceń i nie trzeba tak rozmyślać o prowadzeniu mas... Całkiem fajnie przy takich prądach i niskich różnicach we-wy sprawują się Micrel'e, np. seria MIC29xxx:

http://www.tme.eu/pl/details/mic29302wu/stabilizatory-napiecia-regulowane-ldo/microchip-micrel/

A gdybyś chciał użyć dwóch takich samych ale słabszych, to kultowe 1117 robione we wszystkich wersjach napięciowych i wielu obudowach chyba się nadadzą:

http://www.tme.eu/pl/katalog/#search=1117&s_field=accuracy&s_order=DESC&id_category=100283&page=1&products_with_stock=on

Pamiętaj, że moduł procesora ma już swój stabilizator.

Link do komentarza
Share on other sites

Sporo się znowu nauczyłem 🙂

Elementy, które stosuję często wynoszę z różnych poradników znalezionych "w internetach". Część elementów wiem jak się nazywa i szukając jakiegoś modelu np. w botlandzie, czy electroparku znajduję właśnie te modele.... Wydawało mi się, że sklepy zajmujące się robotyką będą sprzedawać porządne elementy - myliłem się 😋.

Wrzucam nowy schemat, z poprawiony komparatorem i nowym stabilizatorem.

Pętla histerezy ma szerokość ~0,28V i jest symetryczna (po 0,14V od Vref w lewo i prawo).

Vref = 2,5V.

"V low to high" = 2,36V

"V high to low" = 2,63V

Dzielnik napięcia prosto z baterii daje nam 2,36V przy zasilaniu 6,25V.

Zastanawiałem się, czy by nie dać potencjometru montażowego do dzielników napięć, tak żeby wysterować sobie napięcie dokładnie tak jak chcę (w razie jakiś niedokładnosci wykonania rezystorów).

Patent z diodami jest sprytny ! 😃

Płytkę z Arduino porównałem i jedyne porty, które na gotowej płytce są zajęte to te, do których montuje się rezonator (je zostawiłem specjalnie wolne na schemacie).

Tutaj schemat:

https://www.dropbox.com/s/poy2u6zhxam9164/schemat_gotowy.png?dl=0

PS. Nadal nie mogę wrzucać zdjęć na serwer.....

Link do komentarza
Share on other sites

Nie, nie, w żadnym razie nie można powiedzieć, że nie są to porządne elementy. Stosowałem go wiele razy i jest naprawdę dopracowanym i mającym całkiem dobre parametry statyczne i dynamiczne komparatorem. Sprawdza się świetnie a na dodatek dzięki wyprowadzonym wejściom kompensacji offsetu i pełnemu tranzystorowi na wyjściu można wykorzystać go w wielu ciekawych i precyzyjnych układach. Problem jest taki, że trzeba wiedzieć jak to zrobić oraz to, że wymagania które trzeba spełnić by 311 mógł się wykazać nie przystają do prościutkich układzików jakie tutaj budujemy. Ma być pojedyncze zasilanie +5V, wejścia mają działać od GND do Vcc a nawet troszkę szerzej, wyjście powinno byś silne, niekoniecznie open collector i jeszcze byłoby fajnie, gdyby komparator nie pobierał prądu, był szybki i miał wbudowaną histerezę. Acha, jakby miał też wewnętrzne napięcie odniesienia, to już pełnia szczęścia. I takie układy też są, ale nie kupisz ich w DIP8 tylko w SOT23-5 lub 6 i w polskim sklepie musiałyby kosztować 5x więcej niż 311. Przykładowy Botland to nie jest sklep dla konstruktorów elektroników tylko dla amatorów robotyki i okolic. Nie ma szans konkurować asortymentem z dystrybutorami podzespołów typu Farnell czy DigiKey, więc skupia się na tym co "schodzi" na polskim rynku hobbystów. A to są - właśnie z uwagi na ceny, technologie montażu i zaawansowanie konstrukcji - stare (z konieczności) układy w DIP, gotowe moduły oparte na nowych układach ale z wyprowadzeniami w rastrze 100mils plus oczywiście trochę "nowości" w SMD. Nie piszę tu o mechanice, bo na tym się po prostu nie znam. Moim zdaniem to bardzo dobrze dobrana oferta.

To tyle porannych "mądrości". A teraz schemat.

Oczywiście, potencjometr to dobry pomysł. Wstaw go tak, nie można było zrobić krzywdy komparatorowi, np. zamiast opornika R8 i dobierz tak wartość R10, by można było regulować próg w granicach ±0.5V od np. 6.5V - wystarczy, a dokładność ustawienia będzie większa. Dałbym też kondensator 100nF-1uF równolegle do wejścia (-) komparatora. Trochę to zmniejszy czułość na krótkie zapady napięcia i ustabilizuje pomiary ADC. Histereza trochę dużawa, ale zawsze można wstawić większy R13.

Multiplekser analogowy będzie podawał do przetwornika to co zobaczy na swoim wejściu, ale gdy któreś wejście nie będzie podłączone, zmierzysz tam coś podobnego do poprzednio mierzonego kanału (pojemności wejściowe) to trochę ogłupi algorytm. Dużo lepszą detekcję błędów dostaniesz wtedy, gdy dasz na każdym wejściu 4051 opornik, np. 100k do masy. A najlepiej, gdybyś przeniósł oporniki emiterowe czujników wprost na wejścia multipleksera. Wtedy czujnik któremu urwie się kabel, tranzystor lub nie będzie stykać złącze itp, na pewno odpowie napięciem 0V. Acha, i poszukaj jednak multipleksera w wykonaniu 74HC4051 - znacznie lepiej sprawuje się przy zasilaniu 5V (rezystancje załączonych kanałów) od historycznej serii 4000.

Nie wiem, czy R12 nie jest trochę za duży do dobrego wysterowania bipczaka.

Widzę, że zgodnie z DS obciążyłeś stabilizator minimalnym prądem przez zrobienie niskorezystancyjnego dzielnika na sprzężeniu zwrotnym. Może zamiast bezproduktywnie napędzać małe oporniki, zrób dzielnik na dziesiątkach kΩ a na zasilanie +5V wstaw diodkę LED? Zawsze to jakiś pożytek i widać od razu, że "mamy moc".

Zastanowiłbym się też nad oszczędzeniem szyny I2C. To cenny zasób procesora a może da się przepiąć sterowanie 4051 gdzieś indziej? Do tego interfejsu możesz podłączyć mnóstwo fajnych rzeczy, a gdy już minie ekstaza pierwszych udanych jazd po linii, będziesz miał szansę dospawać jakieś ciekawe czujniki i pobawić się płytką już niekoniecznie jako LF'em. A mając już jeżdżący na kółkach procesor można rozkminiać akcelerometry, żyroskopy, termometry, GPSy itp wynalazki.

Wydaje mi się, że przycisk RESET w obecnej wersji nie zadziała.

Jeżeli zostanie Ci wolny pin (znaczy procesorowi..), pomyśl nad prostym kluczem pnp włączającym zasilanie +5V dla płytki czujników. To bardzo zmniejszy pobór prądu gdy podczas długotrwałych prób na biurku będziesz np. testował napędy lub sterowanie diodek LED a czujniki nie będą akurat potrzebne. Niech program sam sobie włącza ich zasilanie gdy zapragnie dowiedzieć się na czym stoi. Fototranzystory i tak są źródłami prądowymi więc spadek napięcia na kluczu (0.2V?) nie wpłynie na napięcia czujników.

Link do komentarza
Share on other sites

Wrzucam poprawiony schemat 🙂.

https://www.dropbox.com/s/dvydbhsk02iza4p/schemat_all2.png?dl=0

Wymyśliłem, że może dać jeszcze potencjometr ( może wieloobrotowy?) przy ustalaniu dzielnika napięć ustalającego napięcie wyjście na stabilizatorze - będzie można dokładnie "wycyrklować" w 5V.

Zastanawia mnie również sprawa buzzera - czy mogę w ten sposób (jak podłączyłem) sterować go przez tranzystor zmieniając częstotliwość, a nie wypełnienie ? Wtedy będzie mógł całe melodyjki wygrywać.

Podłączyłem również wyjścia do multiplexera przez złącza ISP. Według tutoriala p. Kardasia można tam podłączyć odbiorniki, które pobierają bardzo mało prądu. Dlatego też wpiąłem tam rezystory.

Czy na zasilanie komparatora i multiplexera dawać kondensatory filtrujące ?

Link do komentarza
Share on other sites

Nieźle Ci idzie. Szczerze mówiąc całkiem dobrze, ale.. to jeszcze nie koniec. No więc tak:

Jeżeli przeniosłeś oporniki emiterowe do multipleksera, to dlaczego zmieniłeś je na 100k? To znacznie zwiększyło czułość detektorów. To celowe? Ja pisałem o 100k, bo te moje miały być równolegle do tamtych na płytce czujników, a 100k niewiele by tę czułość obniżyło, chroniąc jednocześnie ADC przed mierzeniem jakichś duchów z ew. urwanych wejść.

Wejścia adresowe 4051 nie pobierają prądu więc wszystkie trzy rezystory szeregowe są zbędne i zupełnie nie wpływają na pracę programatora. Jak już podglądasz, to ze zrozumieniem. Trochę to niefortunne z tym SPI, ale zadziała. Mogłeś też wykorzystać wejście Y7 układu 4051 do pomiaru napięcia akumulatora. Wtedy zostają akurat 3 linie PC1..3 do sterowania multiplekserem. Jeśli absolutnie nie musisz, nie wykorzystuj takich dedykowanych interfejsów do nietypowych zastosowań. W procesorze mającym 144 nóżki, 5 UARTów, 3xI2C i ze sto timerów można szaleć i rozdawać piny na prawo i lewo, ale tutaj zalecam wstrzemięźliwość. Być może przyjdzie Ci za miesiąc do głowy, by podpiąć, tak na próbę coś korzystającego z SPI (rejestr przesuwający jako ekspander portów, wyświetlacz OLED czy TFT itp. i wtedy szybki, sprzętowy interfejs SPI się przyda.

Do prostego alarmowania są bipczaki z generatorkami. Do muzyczek są głośniczki: piezo lub dynamiczne. Te niestety potrzebują wygenerowania sygnału audio. O ile procesor zrobi np. falę prostokątną spokojnie, o tyle za komparatorem będziesz musiał postawić generator by alarm był autonomiczny od procesora. Nie wiem czy warto. Możesz wtedy posadzić komparator lub wzmacniacz operacyjny podwójny (np. w SO8). Wtedy pierwszy robi to co teraz a drugi jest generatorem. Akurat to jest bardzo proste - kondensator i kilka oporników.

Niestety głośniczek lubi być sterowany trochę inaczej (w dwie strony bez składowej stałej) więc wypadałoby wbudować jakiś wzmacniacz z odpowiednim wyjściem. W przypadku przebiegów prostokątnych, to mogą być nawet zwykłe bramki 74HC, ale gdybyś myślał o jakichś brzmieniach, samplach itd to wtedy bez normalnego wzmacniacza audio się nie obejdzie. Co prawda najprostsze to jakieś grosze kosztują:

http://www.tme.eu/pl/katalog/#search=lm386&s_field=accuracy&s_order=DESC&id_category=100219&page=1

no ale trzeba to gdzieś wstawić. Jak chcesz, zdecyduj.

Acha, R11 jest zbędny. Bipczak na 5V czy 6V podłączasz wprost do zasilania przez tranzystor.

5V jest OK na dzielniku. Jeżeli nie wyciągniesz oporników ze śmietnika, będą miały 5% lub lepiej. Nie potrzebujesz lepszych dokładności.

Miał być klucz pnp. Teraz tracisz na zbudowanym wtórniku npn z definicji 0.6-0.7V a biorąc pod uwagę to, że napięcie wyjściowe portu procesora będzie w tym układzie nie większe jak ok. 4.5V, czujniki dostaną poniżej 4V. Nie tragedia, ale sztuka cierpi. Postaraj się bardziej 🙂

Multiplekser nie ma w sobie przerzutników więc nie jest czuły na zakłócenia impulsowe a z uwagi na swoją małą prędkość, nie generuje też takowych. Komparatorowi 100nF należy się z uwagi na jego szybkie przerzuty wsparte histerezą. Kondensator też daj obwodowi głośniczka/bipczaka.

R1 podłącz wprost do wejścia procesora.

Jeśli w układzie pojawiają się elementy niepopularne, np. potencjometry i masz dowolność w wyborze ich wartości i wartości otaczających oporników to spróbuj sprawić (i przeliczyć układ), by potencjometry były takie same - łatwiej kupić. Choć moim zdaniem R30 to już kwiatek do kożucha.

Link do komentarza
Share on other sites

Nie bardzo rozumiem problem z kluczem NPN. 4,5V z portu procesora - 0,6Vbe, ale to jest przecież tylko napięcie prądu sterującego, a przecież na kolektor podane jest 5V wprost ze stabilizatora i to nimi się napędza całą płytkę.

Sama zmiana na tranzystor PNP da tylko to, że aby zamknąć obwód będzie trzeba wystawić stan wysoki na pinie uC, a "strata" napięcia będzie pochodzić z 5V, czyli za tranzystorem będzie 4,4V kontra nasze 4,5V z uC. O taką zmianę chodzi ?

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.