Skocz do zawartości

Elvis

Nowy
  • Zawartość

    2722
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    201

Wszystko napisane przez Elvis

  1. Pamiętaj, żeby odłączyć przewód programujący - inaczej procesor będzie w trybie bootloadera. Czyli spróbuj tak: odłącz wszystkie przewody od płytki, następnie podłącz tylko zasilanie. [ Dodano: 17 Mar 10 10:53 ] Szkoda, że nie uruchomiłeś JTAG-a. Łatwiej jest diagnozować błędy. Na początek można uruchomić program w trybie debug i sprawdzić czy w ogóle działa. Przy okazji - na pewno masz LED podpięty tam gdzie był w module olimex-a?
  2. Prawdopodobnie najwięcej zajmuje biblioteka liczb zmiennopozycyjnych. Lepszym rozwiązaniem jest stablicowanie wyników, a następnie interpolowanie. Dokładność jest oczywiście mniejsza, ale powinna wystarczyć. Najprościej jest zrobić tak: 1) wybierasz liczbę punktów (czyli dokładność), np. 32 2) dzielisz przedział wyników na 32 równe (tak jest najłatwiej) części 3) w excelu wyliczasz ile wynosi wynik dla każdego przedziału 4) wyniki wstawiasz do programu jako tablicę liczb unsigned int Następnie odczytujesz dane z czujnika (dana[1]) i na jej podstawie wybierasz gotowy wynik z tablicy. Le
  3. Jakby co to mam program w C. W bascomie nie programuję, ale pewnie jest jeszcze łatwiej - wystarczy w module podłączonym do HM-T868S wysłać dane na uart, a w podłączonym do HM-R868S odczytać. HM_FSK.zip
  4. Dużo zależy od środowiska w którym zamierzasz programować. KT-LINK współpracuje z CrossStudio oraz OpenOCD. CrossStudio to całkiem rozsądny wybór, jeśli chodzi o relację jakość/cena. OpenOCD to jeszcze tańsze wyjście - współpracuje z darmowymi narzędziami (GNU). Natomiast narzędzia Keil-a są, delikatnie mówiąc, dość drogie. Kompilator to koszt rzędu 3000 euro.
  5. Logon, tutaj masz opis liczb binarnych http://pl.wikipedia.org/wiki/Dw%C3%B3jkowy_system_liczbowy Bit to cyfra w zapisie binarnym, może mieć wartość 0 lub 1. Najlepiej poproś nauczyciela matematyki, żeby ci wytłumaczył na czym to wszystko polega.
  6. Elvis

    Robotic Tournament

    Decado, do poukładania nazwisk zawodników użyj tabeli. Jeśli nie chcesz jej mieć na stronie to ustaw szerokość ramki na zero (border="0").
  7. Dżony, przeczytaj dokładnie instrukcję modułów mobota. $crystal = 8000000 $baud = 9600 Moduły pracują z prędkością 57600 nie 9600.
  8. 1wire na pewno da radę, ale jest dość skomplikowana. UART jest raczej do komunikacji 2 układów, przy większej liczbie trzeba się trochę nagimnastykować. Polecam I2C (inaczej nazywane TWI). Pozwala na łatwą współpracę do 32 układów i wymaga tylko 2 linii. Poza tym jest sprzętowo wspierana przez układy atmega. SPI jest najłatwiej zrealizować, ale wymaga więcej linii.
  9. Nie używałem tych modułów. O ile widzę zalecane jest użycie dodatkowego enkodera/dekodera. Inaczej działanie może wymagać programowego kodowania i dekodowania danych.
  10. Zobacz tutaj: https://www.forbot.pl/forum/topics20/radiowa-transmisja-danych-czyli-robot-zdalnie-sterowany-vt2207.htm?highlight=radiowa Najprościej podłączyć HM-T868S do nadajnika, HM-R868S do odbiornika. Będzie działać, chociaż lepiej w programie dodać kontrolę błędów - inaczej sporo zakłóceń może przechodzić. [ Dodano: 18 Lut 10 07:47 ] Jeśli koniecznie chcesz 433MHz zamiast 868MHz to musisz poszukać nieco innych modułów.
  11. Spróbuj zamienić kolejność instrukcji: WYSW_PORT&=akt_wysw[0]; LED_PORT=wysw_znak(sekundy%10); Ewentualnie dodaj małe opóźnienie
  12. Już sobie poradziłem. Przy podanych na schemacie elementach nie chciało mi za nic ruszyć. Zmieniłem wg. układu w AVT-2822 i poszło. Na pewno masz filtry dobrze policzone?
  13. regrom, miał rację. Pomogło wygaszanie przed przełączeniem do kolejnej cyfry. Nie jest prawdą, że: W programie najpierw przełączasz na kolejny segment: WYSW_PORT&=akt_wysw[5]; co powoduje, że na bardzo krótko, ale zawsze zapalasz na nim cyfrę z poprzedniego. Dopiero później wykonujesz: LED_PORT=wysw_znak(godziny/10); co ustawia poprawną wartość. Takie przełączanie jest krótkie, ale jak sam zaobserwowałeś widoczne. Pomysł 3) wcale nie jest zły - efekt byłby o wiele mniej widoczny, gdyby tranzystor przełączał się szybciej.
  14. A co program wyświetla? [ Dodano: 14 Lut 10 10:34 ] Próbowałeś w case 2: wyświetlać inne cyfry? [ Dodano: 14 Lut 10 10:34 ] Możesz jeszcze dodać volatile do deklaracji zmiennych, czyli volatile unsigned int godziny, minuty, sekundy,dziesiatki,jednosci;
  15. nes86, mam małą prośbę. Wykonałem układ wg. Twojego schematu, niestety mam problemy z uruchomieniem. Oscylogram mam daleki od tego co podałeś. Użyłem czujnika BPU-1640TOAH12, na pinach sygnał nadawania jest jak powinien. Nie bardzo natomiast mogę zobaczyć odpowiedź. Chyba tylko dzwonienie widzę na oscyloskopie. Mam taką prośbę, mógłbyś podać dokładniejszy opis, gdzie i jaki sygnał powinien się pojawić?
  16. Wydaje mi się, że tc4424 nie służy do sterowania silnikami. To sterownik mosfet-ów, więc dopiero do niego trzeba podłączyć tranzystory sterujące silnikiem. Te 3A to tylko parametr dla peak, czyli bardzo krótkiego impulsu. Chodzi o znaczne prądy przy przełączaniu tranzystora MOSFET.
  17. Tak jak na schemacie to próbuj. Uszkodzisz akumulator, a możesz nawet spowodować pożar lub eksplozję. Poszukaj na youtube jak wyglądają przeładowane akumulatory. Akumulatory NiMH oraz Li-Pol wymagają ładowarki - kontroli temperatury i prądu ładowania. Jedyne co można łatwo ładować to zabytkowe już dzisiaj Ni-Cd - wystarczy rezystor ograniczający prąd i dioda, ale też nie wolno bezpośrednio podłączać do 5V. Tak czy inaczej nie polecam takiego rozwiązania. LTC3553 to tylko przykład, możesz otworzyć datasheeta, i na podstawie opisu układu poszukać innego. Teraz jest tego pełno bo dużo urządze
  18. Są do tego gotowe układy. Na szybko znalazłem coś takiego LTC3553 (http://cds.linear.com/docs/Datasheet/3553f.pdf). Ma w sobie wszystko co potrzeba, stabilizator i jeszcze ładowarkę dla akumulatora.
  19. Ja stosuję nieco łatwiejszą opcję niż precyzyjne ustawianie potencjometru. Dla ruchu w jedną i drugą stronę generuję impulsy z dużym zapasem (daleko od obszaru zatrzymania) - wtedy dokładność rezystorów/ustawienia potencjometru nie ma dużego znaczenia. Aby zatrzymać serwo przestaję generować impulsy - jest to dużo pewniejsze niż ustalenie szerokości impulsu przy którym serwo jest zatrzymane.
  20. Zgadzam się z sobal44, najprościej użyć układów z mobot-u. Po stronie sterowania podłączyć laptopa i moduł po usb. Do sterowania silnikiem wykorzystać gotowy moduł. Takie moduły najczęściej wymagają tylko dwóch sygnałów: kierunku i impulsu generującego ruch. Wystarcz wiec jakikolwiek mały procesorek, np. atmega8. Uart spiąć z modułem mobota, sterownik silnika krokowego podpiąć pod dowolne piny IO i napisać program.
  21. Elvis

    PortD w atmega 32?!

    Nie wiem jak to wygląda w bascomie, ale w C można używać tylko wybranych pinów do odczytu ADC. Więc prawdopodobnie bascom ma taką samą możliwość. Ogólnie nikt nie każe używać wszystkich portów przypisanych do ADC. Spokojnie można używać np. tylko jednego pinu. Pozostałe mogą być wejściami, a nawet wyjściami.
  22. Spróbuj hyperterminalem spod windowsa. Jeśli nie pomoże to jeszcze wykonaj kabel null-modem: http://pl.wikipedia.org/wiki/Nullmodem Chodzi o połączenie RTS+CTS (po stronie PC). Czasem to pomaga.
  23. Elvis

    Programowanie PIC16F84A

    Coś tu nie tak, wg. datasheet-a PIC16F84A ma 1K pamięci Flash, naświetlać nie ma czego.
  24. To dziwne. U mnie działa nawet bez podłączonego uC. Jakie masz parametry portu COM? Wybrałeś brak sterowania przepływem?
  25. Terminal wyświetla to co odbiera, nie wyświetla wysyłanych danych. Dlatego jeśli zwierasz TXD i RXD pojawiają się dane - po prostu to co wysyłasz na TXD wraca na RXD i jest wyświetlane. Żeby uzyskać taki efekt z podłączonym uC, w programie dodaj odsyłanie otrzymanego bajtu. Nie wiem jak to w Bascomie uzyskać, ale jeśli udało się przesyłać dane uC->PC to powinno działać.
×
×
  • 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.