Skocz do zawartości

Tolo

Użytkownicy
  • Zawartość

    799
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    17

Tolo wygrał w ostatnim dniu 30 sierpnia 2014

Tolo ma najbardziej lubianą zawartość!

Reputacja

57 Bardzo dobra

O Tolo

  • Ranga
    7/10
  • Urodziny 25.03.1996

Informacje

  • Płeć
    Mężczyzna
  • Lokalizacja
    Warszawa
  • Zainteresowania
    Modelarstwo
  • Zawód
    Uczeń :-)
  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
×
×
  • Utwórz nowe...