Skocz do zawartości

Tolo

Użytkownicy
  • Zawartość

    799
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    17

Wszystko napisane przez Tolo

  1. Nie chcę nic mówi ale na schemacie nie widzę żadnego oscylatora tym bardziej krzemowego. Jest to oczywiście rezonator kwarcowy, najczęściej stosowany jako źródło taktowania. Porprawiłem i przepraszam za błąd. Aczkolwiek jeśli chodzi o wypowiedź kolegi to nie jestem pewien poprawności przecież rezonator w sam w sobie niczego nie generuje jest wykorzystywany do stabilizowania generatora Pierce'a który w z tego co pamiętam jest źródłem taktowania w uC Atmela.
  2. Proponuje coś klasycznego to znaczy ATmega 8 przewlekana w jak najprostszej konfiguracji. Oczywiście pewnie część z was będzie narzekać że nie podłączyłem dławika do zasilania części analogowej albo ,że jest tam za mało kondensatorów. Jednak ten schemat był wielokrotnie sprawdzony w "boju" i nie miałem z nim żadnych problemów. Inną sprawą jest fakt, że płytka przygotowana według tego schematu mieści się na bardzo małej przestrzeni co w robotyce jest niewątpliwą zaletą. Opis układu: Oprócz samej ATmegi 8 na schemacie widnieje kilka elementów. Kondensatory C1 , C2 , C3 mają za zadanie odfiltrowanie napięcia zasilającego układ. C1 powinnien mieć wartość od 4,7 do 47uF (choć można zatosować znacznie większe pojemności to jednak gabaryty takie kondensatora bedą znaczne a dla obwodu który pobiera maksymalnie kilkanaście miliamperów jest to zupełnie zbędne.) Kondensator ten powinien być przystosowany do napięcia nieco wyższego niż napięcie zasilania (w praktyce i tak nie uda się zakupić kondensatora elektrolitycznego na mniej niż 16V) ten parametr również nie jest krytyczny i równie dobrze możemy zastosować kondensatory nawet na 35V czy nawet 50V ale wiązać się to będzie ze wzrostem rozmiarów kondesatora. Kondensatory C2 oraz C3 to zwykłe kondensatory ceramiczne o pojemności 100nF. Kolejnym elementem jest rezystor R1 który podciąga nóżkę resetu do + zasilania zapobiegając tym samym samoczynnemu resetowaniu się mikrokontrolera. Wartość tego rezystora również możemy zmienić możemy zastosować rezystory o większym oporze nawet 10k należy jednak pamiętać że większa wartość tego rezystora może powodować samoczynny reset pod wpływem silnych zakłóceń. Kondensatory C4 i C5 wraz z rezonatorem kwarcowym Q1 stabilizują zegar układu. Wartość tego rezonatora również możemy zmienić i nie ma to wpływu na wartości kondensatorów C4, C5. Kondensator C6 stabilizuje napięcie odniesienia układu co przydaje się przy pomiarach ADC. ATmega8.sch
  3. W sumie pewnie nie pownienem zakładać tego tematu ponieważ problem wydaje się być oklepany i teoretycznie powinienem znaleźć gdzieś odpowiedzi na moje pytania w rzeczywistości nie udało mi się tego dokonać tak więc piszę. W czym rzecz ? Chodzi o to że napisałem regulator PD w BASCOM-AVR rzecz jednak w tym ,że nie jest on chyba napisany prawidłowo. Problem polega na tym że bez względu jakie wartości współczynników dobieram robot nie potrafi pokonać kątów prostych. W zasadzie to wogóle mam wrażenie że mój człon D nieczego nie daj Kod wygląda tak: $regfile = "m8def.dat" '**********Konfiguacja ADC********** Config Adc = Single , Prescaler = Auto , Reference = Avcc '**********Konfiguacja PWM********** Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up Pwm1a = 0 Pwm1b = 0 '**********Konfiguacja Przełącznika************** Config Pinc.5 = Input Set Pinc.5 Sw Alias Pinc.5 '**********Konfiguacja diód sygnalowych********** Config Portd.2 = Output Config Portd.3 = Output Led1 Alias Portd.2 Led2 Alias Portd.3 Led1 = 0 Led2 = 0 '**********Konfiguacja silników********** Config Portd.5 = Output Config Portd.6 = Output Config Portd.7 = Output Config Portb.0 = Output 'Silnik prawy M1a Alias Portd.7 M1b Alias Portb.0 'Silnik lewy M2a Alias Portd.5 M2b Alias Portd.6 '**********Konfiguacja kierunku silnikow********** 'Silnik prawy M1a = 1 M1b = 0 'Silnik lewy M2a = 1 M2b = 0 '**********Konfiguacja stalych i zmiennych********** Const Granica = 900 Dim Czujnik1 As Single Dim Czujnik2 As Single Dim Czujnik3 As Single Dim Czujnik4 As Single Dim Czujnik5 As Single Dim W As Word Dim X As Integer 'Zmienna opisujaca ilosc czujnikow na linii Dim A As Integer 'Wga czujnika Dim Er As Integer 'Srednia waga czujnikow Dim K As Integer 'Współczynnik członu P Dim Tp As Integer 'Docelowa prędkość Dim Zmiana As Integer Dim Kd As Integer 'Współczynnik członu D Dim Zmiana2 As Integer 'Zmienne pomocnicze Dim Zmiana3 As Integer Tp = 90 Kp = 4 Kd = 4 '**********Oczekiwanie na naciśnięcie przełącznika******* While Sw = 1 Led1 = 1 Wend Waitms 500 Toggle Led1 Waitms 500 Toggle Led1 Waitms 500 Toggle Led1 Waitms 500 Toggle Led1 Waitms 500 Toggle Led1 Waitms 500 Led1 = 0 Pwm1a = 0 Pwm1b = 0 Do Led2 = 1 '**********Zerowanie wartosci zmiennych po kazdymsprawdzeniu czujnikow********** X = 0 A = 0 '**********Sprawdzanie czujnikow********** Gosub Wczytaj_stany_przetwornikow '**********Liczymy blad oraz wartosci PWM********** Er = A / X D = Er - Erp Erp = Er Zmiana = Er * Kp Zmiana2 = Erp * Kd Zmiana3 = Zmiana + Zmiana2 Pwm1a = Tp - Zmiana3 Pwm1b = Tp + Zmiana3 Loop End Wczytaj_stany_przetwornikow: Start Adc W = Getadc(4) Stop Adc Czujnik5 = W If Czujnik5 > Granica Then A = A - 8 X = X + 1 End If Start Adc W = Getadc(3) Stop Adc Czujnik4 = W If Czujnik4 > Granica Then A = A - 4 X = X + 1 End If Start Adc W = Getadc(2) Stop Adc Czujnik3 = W If Czujnik3 > Granica Then A = A - 0 X = X + 1 End If Start Adc W = Getadc(1) Stop Adc Czujnik2 = W If Czujnik2 > Granica Then A = A + 4 X = X + 1 End If Start Adc W = Getadc(0) Stop Adc Czujnik1 = W If Czujnik1 > Granica Then A = A + 8 X = X + 1 End If Return Bardzo proszę o pomoc i wyrozumiałość
  4. A u mnie to wygląda tak : Mam nadzieje że widać naklejkę na lampie
  5. obszerny opis robota został opublikowany w najnowszym numerze miesięcznika elektronika dla wszystkich. Zapraszam do lektury
  6. Dobra to już sobie zamówie i tak miałem jeszcze jakieś popierdółki kupić to już nie będę głowy zawracał nawiasem mówiąc to te przelotki to faktycznie był zły pomysł Ale przekonałem się to SMD jednak fajnie się to montuje i nie jest aż tak trudno jak myślałem [ Dodano: 28-01-2015, 17:47 ] To szukam tego licznika i projektuje płytkę główną ale w między czasie zrobiłem jeszcze jedną Chodzi o to że zbuduje robota przy użyciu HL149 coś takiego jak mój poprzedni robot https://www.forbot.pl/forum/topics7/line-follower-snab-i-vt9719.htm przetestuje sobie ten sposób działąnia tak żebym miał już zalążek porgramu kiedy dojdzie ten licznik Więc jutro postaram się to odpalić zobaczymy co wyjdzie...
  7. Problem leży w tym że tam też jest tylko w DIP więc chyba wersja w SMD jest niedostępna najgorsze jest to że ten układ ma nietypowyrozkład nóżek zasilający (gdzieś w środku układu są a nie po przekątnej) więc nawet nie idzie zamiennika znaleźć Ale to może dobrze spróbuje zrobić te ścieżki tak jak radzisz
  8. Wydziergałem coś takiego. Muszę tylko plecionkę kupić i "gluty" pozbierać. A no i oczywiście w całej warszawie nie mają 7493 SMD Więc trochę lipa trzeba będzie zamawiać. Narazie waga czujnika to 5g w porównaniu do 15g starego to całkiem niezła redukcja To teraz trzeba płytę główną zrobić. Tu chyba nie będzie żadnych niespodzianek. Co do wypowiedzi Mirka to wydaje mi się że lepiej jednak będzie jak multiplkser będzie załączał czujniki po kolei Wydaje mi się to prostsze do ogarnięcia programowo. PS Ale kaszana nawet w TME tego układu nie ma i co teraz ?
  9. Dzięki bardzo za wytłumaczenie ! Po trzy to kiespko się dzieli może dać 4x2 ? Wtedy opornik będzie miał 120Ω czyli akurat wartość z szeregu. Jeśli ma taki sam rozkład nóżek to poszukam na razie mam na stanie 4051 więc do testów pójdzie ten.
  10. Postanowiłem wykorzystać pomysł z multiplekser i licznikiem na razie w małej skali (8 czujników) wygląda to tak: A mam jeszcze takie pytanie wyczytałem że CNY70 ma spadek na diodzie 1,25 jak podłączyłem 4 szeregowo 4x1,25=5 to jaki rezystor zastosować ? Czy wogóle jest on tutaj konieczny ?
  11. Ta jakbym miał tokarkę to pewnie byłoby to takie proste Dobra to zabieram się do odchudzenia konstrukcji. 1. Zamienie dystanse na polamidowe (aktualnie same dystanse waża 20g) a plastiki ważą mniej niż 2g 2. Podłącze diody czujników do +7,4V dzięki temu ograniczę prąd pobierany z stabilizatora bedę mógł go dać w mniejszej obudowie i wyrzuce radiator. 3. Zamienie elementy na SMD ale na zastosuje chyba duże obudowy 1206 i procek zostawie przewlekany bo jak zablokuje to kaplica 4. Dam 7 czujników łatwiej się to opisuje bo wiadomo gdzie jest środek po za tym podłącze je w sposób mieszany. (jaki proponujecie ?) Mam nadzieje że 70g zgubie albo i więcej
  12. Mam problem wydaje mi się konstrukcja jest za ciężka na niskich prędkościach 15% PWM ledwie się toczy. Z drugiej strony na wyższych robot jest nie do opanowania nie wiem czy nie stane przed konicznością zrobienia nowej mniejszej płytki i zmiany akumulatora na 150mAh Aktualnie robot waży 170g to dużo ? Jak na silniki 10:1 HP pololu i standardowe koła ?
  13. Chyba nie będę miał wyjścia chociaż strasznie nie lubię projektować obwodów dwuwarstwowych i jeszcze SMD no ale perpektywa braku koniezności wiercenia tych wszystkich dziurek jest bardzo zachęcająca. Ale zabiorę się za to jak dokończe tego robota. Akumulator będzie położony na płycie i przyciśnięty gumką recepturką już sprawdzałem trzyma się nieźle. Mam zamiar wymienić jeszcze te listwy trzymające moduł czujników na płaskowniki węglowe. Dzisiaj jeszcze zrobie moduł do wyświetlacza na I2C bo ciężko się bez tego pisze. [ Dodano: 22-01-2015, 16:39 ] Dobra zrobiłem prosty interfejs LCD na I2C nic odkrywczego ale może komuś się przyda wygląda to tak. Płyteczka nie duża zawiera w sobie w zasadzie tylko układ PCF8574 i złącze wyświetlacza. Program do obsługi napisany w bascom: $regfile = "m8def.dat" $lib "Lcd_i2c.lib" Const Pcf8574_lcd = 112 'Ustawienia expandera I2C czyli co do czeog podłączone Const Pcf_d4 = 0 Const Pcf_d5 = 1 Const Pcf_d6 = 2 Const Pcf_d7 = 3 Const Pcf_rs = 6 Const Pcf_rw = 5 Const Pcf_e2 = 7 Const Pcf_e1 = 4 'Konfiguracja portów Config I2cdelay = 5 'ustawienie prędkości magistrali Config Scl = Portc.5 'ustawienie pinów magistrali I2C Config Sda = Portc.4 Config Lcd = 16 * 2 'ustawienie typu wyowietlacza Dim _lcd_e As Byte _lcd_e = 192 'Adress LCD Do Cls 'czyocimy ekaran z krzaków 'współrzędne wyświetlanego tekstu 1 kolumna 1 wiersz Lcd "www.forbot.pl" 'jakis tekst Waitms 500 Loop Jedyne co to musimy sobie wrzucić odpowiednią bibliotekę (w załączniku) komentarze chyba rozwiewają wszystkie wątpiwości. I2C.pdf I2C lcd.sch I2C lcd.brd
  14. Dobra czyli tak będzie jeden 4067 do odczytu czujników. Dwa 74ls138 połączone kaskadowo do sterowania diodami plus 74ls197 do liczenia z podłączonym zerowaniem do uC. I jakiś komparator do zamiany sygnału na cyfre. Jedyny problem to taki że wszystkie te układy trochę ważą a jak wiadomo moduł z czujnikami powinnien być jak najlżejszy
  15. O faktycznie ciekawe czemu jest taka duża różnica między. W takim razie dam 2x74LS138plus 2x74LS151 do wyboru czujnika jako licznika chyba użyje 74LS197 jako ,że ma standardowy rozstaw wyprowadzeń zasilania więc łatwiej będzie płytkę zrobić tylko jakoś nie widzę trybu zaliczania 3 bitowego wiem że 7493 na pewno taki miał a tu są tylko dwie tablice prawdy i w obu przypadkach są wykorzystywane wszystkie wyjścia ? W sumie takie rozkład jest też chyba bardziej korzystny dla płytki po elementy można rozstawić bardziej horyzontalnie co w przypadku długich płytek z czujnikami powinno być lepszym rozwiązaniem.
  16. Uch ale ten układ kosztuje majątek (13zł w AVT) może lepiej zrobić to tak że do 4067 dołączyć dwa drivery ULN2003 ? Wyjdzie taniej a efekt podobny Co do resetu to fakt, że podłączenie do pinu uC to chyba najprostsze wyjście.
  17. Zasadniczo to wogóle o nie myślałem o tym zerowaniu (dzięki za tą uwagę) w takim razie faktycznie można by było dać tak jak mówisz jedną nóżkę zerowania podłączyć do proca (z tego co mi się wydaje to wszystko jedno którą) a drugą dać do + wtedy jak dam na tą złączoną z procem - to zacznie liczyć. Innym pomysł to taki żeby może zrobić układ zerowania sprzętowo. Jakiś układ po podłączeniu zasilania dał by krótki impuls zerujący (np. NE555 astabilny) A kolejna rzecz jest taka że 16 czujników to stasznie dużo ciągnie prądu (16x20mA=320mA w przypadku KTIR i 800mA w przypadku CNY70) dla porównania nieobciążony pololek 10:1 ciągnie około 100-150mA. Myślałem więc nad tym aby dać drugi multiplekset i załączać tylko ten czunjnik który aktualnie sprawdzamy (nóżki aderesowe obu układów były by podłączone ze sobą)
  18. Dawno nie pisałem więc czas to zmienić Otrzymałem od mikołaja wszystkie potrzebne części (enkodery,silniki itp. ) więc dokończyłem budowę jak narazie wszystko idzie całkiem nieźle. Kilka fotek i mam nadzieje już niedługo filmik z jazd
  19. Ale estetyka leży już nawet nie chodzi o samą konstrukcję mechaniczną ale chociażby o schemat czy płytkę nie widać, że pracowało nad tym 5 osób Ale grunt, że jeździ więc życzę powodzenia !
  20. Nie wiem nie mogę dodać zdjęcia więc daje plik w załączniku. No więc tamtą płytkę zasadniczo zrobiłem ale wymyśliłem jeszcze jedno rozwiązanie. Nie wiem czy pomysł jest dobry ale wydaje mi się że tak. Otóż chciałem wykorzystać multiplexer 16 kanałowy oraz licznik dwójkowy. Dzięki temu obsługuje 16 czujników przy pomocy jedynie 2 linii czyli łącze się za pomocą płytki złączem 4pin (masa i +) Jedyne co to muszą zapamiętywać liczbę impulsów które wysłałem do licznika ale to akurat jest proste. Co myślicie ? Miałem jeszcze taki pomysł aby w ramach oszczędzania energii zrobić tak aby w czasie sprawdzania linijki święcił się tylko czujnik aktualnie sprawdzany. Myślałem żeby wykorzystać dekoder BDC lub coś podobnego bo drugi multiplexer zajmie za dużo miejsca.
  21. Posiedziałem trochę nad tym wyszło tak : Poprawiłem trochę prowadzenie ścieżek i zmiejszyłem całość
  22. Chodziło mi o to zdanie z twojej poprzedniej wypowiedzi: Myślałem, że sugerujesz zanegowanie sygnału. Nie bardzo. Wolałbym dać jednak przetwornicę impulsową myślę, że LM2596 byłby niezły (niska cena, montaż przewlekany, istnieje wersja z ustawionym napięciem, tylko 4 elementy zewnętrzne)
  23. Odwracanie każdego sygnału byłoby trochę kłopotliwe z uwagi na brak miejsca. Czy jeśli zamienią te układy na LM393 (identyczny pin-out ) to wszystko będzie ok ? To super będę miał więcej miejsca na płytce Z racji zastosowania enkoderów nie potrzebuje chyba dodatkowej stabilizacji obrotów. Więc silniki będą zasilane prosto z akumulatora. Przecież pisałem ,że jeszcze nie dokończyłem jak widzisz gdybym dalej szedł tą drogą to dokończył bym płytkę napracowałbym się a potem by wyszła z tego kicha. Więc wolałem wstawić to co mam i mieć pole do zmian. Skoro ta przetwornica jest taka dziadowa (przynajmniej z punktu widzenia wad które wymieniłeś) to czy lepszy będzie układ LM2576 lub LM2596 ? Patrzyłem do noty katalogowej ale z tego co widzę to pracują one na 50khz czyli o połowę mniej niż ten 35063 więc ten dławik będzie miał kolosalne rozmiary. Ale w takim razie pytanie jakim cudem ludzie używaj do stabilizowania silników tych przetwornic i dają dławiki SMD ?
  24. Chyba masz rację pomyślę nad tym ... swoją drogą czy dobrze rozumiem że ten enkoder daje synał cyfrowy ? http://botland.com.pl/enkodery/2755-zestaw-enkoderow-optycznych-do-micro-silnikow-pololu-wersja-5v-2-szt.html
×
×
  • Utwórz nowe...