Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[AVR/Atmega8] - Termometr bezprzewodowy - weryfikacja schematu

s1875 15 Sty 2014 16:04 2373 4
  • #1 15 Sty 2014 16:04
    s1875
    Poziom 7  

    Czy mógłbym poprosić szanownych forumowiczów o zweryfikowanie dwóch schematów?
    Pierwszy z nich w zamierzeniu ma umożliwiać bezprzewodową komunikację komputera z peryferiami. Został zbudowany w oparciu o:
    - mikrokontroler Atmega8 – odpowiedzialny za odbiór transmisji UART i przekazywanie jej do modułu komunikacji bezprzewodowej
    - układ FT231XS - odpowiedzialny za komunikację z komputerem
    - układ rfm12b – moduł bezprzewodowy
    - LDO – zamienia napięcie 5V z szyny USB na 3,3 potrzebne dla Atmegi i rfm12b
    Poniżej zamieszczam schemat:
    [AVR/Atmega8] - Termometr bezprzewodowy - weryfikacja schematu

    Drugi układ to bezprzewodowy termometr i barometr, który ma przesyłać dane do powyższego układu. Oparłem go o:
    - bliźniaczy rfm12b
    - Atmega 8 – odczyt temperatury i ciśnienia z czujników i wysyłanie ich przez rfm12b
    - TC74A0-3.3VAT - czujnik temperatury
    - HP01S1 – czujnik ciśnienia.
    - LDO 3,3v – zakładam zasilanie bateryjne, 4 popularne paluszki (AA). Pewnie można by mniej, ale akurat mam zbędny bank na takie baterie

    Poniżej zamieszczam schemat:
    [AVR/Atmega8] - Termometr bezprzewodowy - weryfikacja schematu

    I mam jeszcze parę pytań:
    - w obu układach używam rfm12b na 433Mhz, natomiast jeden jest obudowie SMD a drugi THT. Nie znalazłem w nocie informacji że mogą nie być kompatybilne, czy któryś z forumowiczów mógłby to potwierdzić?
    - w module podłączanym do PC przewidziałem docelowo wstawienie kwarcu, tak aby móc używać UART z większymi prędkościami (przy innych projektach), natomiast w chwili obecnej nie posiadam takowego i na początek chciałbym go nie wlutowywać (zakładam, że kondensatorów też w takim przypadku nie powinienem wlutowywać?). Czy może być z tym problem?
    - w module termometru założyłem, że będzie jeszcze istniała możliwość odłączenia rfm12 i korzystania z przewodowej transmisji po UART – takie wyjście do debuggingu. Ponieważ układ działa na 3.3V a posiadam przejściówkę USB<->UART na 5V, dla linii TX z komputera przewidziałem podzielnik napięcia. Czy dobrze dobrałem wartości i czy to wystarczy?

    Jest to mój pierwszy samodzielny projekt, a moja wiedza o elektronice i mikrokontrolerach w głównej mierze sprowadza się do przeczytania bloga mikrokontrolery.blogspot.com (świetna sprawa – polecam wszystkim początkującym) i oślej łączki z EP, więc proszę o wyrozumiałość.

    Z góry dziękuję za wszystkie uwagi.

    W załączeniu wrzucam też pliki z Eagle.

    0 4
  • Pomocny post
    #2 15 Sty 2014 23:32
    dondu
    Moderator Mikrokontrolery Projektowanie

    Witaj.

    To może ja zacznę, skoro taka cisza w Twoim temacie :)

    1. Ta wersja mikrokontrolera nie może działać z 3,3V.
    2. Schematy generalnie wyglądają OK, choć mogłem coś przegapić.
    3. Kwarc o który pytasz powinieneś zastosować, by mieć pewność komunikacji. Jeżeli go nie wlutujesz to nie ma sensu tych kondensatorów dodawać, ale nie będą przeszkadzać, bo tych pinów i tak nie wykorzystujesz inaczej.

    0
  • Pomocny post
    #3 15 Sty 2014 23:53
    lodrex
    Poziom 9  

    Tylko pamiętaj że atmega8 żeby chodziła na 3V3 musi mieć literkę L na końcu, ale wtedy jej max częstotliwosć to 8Mhz (1 strona datasheet'a atmegi). W sumie ciekawe jak by działała na np. 18,432Mhz

    0
  • #4 16 Sty 2014 09:20
    s1875
    Poziom 7  

    Dziękuję bardzo za te cenne uwagi!

    dondu napisał:
    1. Ta wersja mikrokontrolera nie może działać z 3,3V.

    lodrex napisał:
    Tylko pamiętaj że atmega8 żeby chodziła na 3V3 musi mieć literkę L na końcu

    Racja, zapomniałem napisać że dysponuję Atmegami8L Niestety nie miałem odpowiedniego urządzenia w Eagle, żeby to zaznaczyć.
    dondu napisał:
    2. Schematy generalnie wyglądają OK, choć mogłem coś przegapić.

    To bardzo pokrzepiająca wiadomość :D
    dondu napisał:
    3. Kwarc o który pytasz powinieneś zastosować, by mieć pewność komunikacji. Jeżeli go nie wlutujesz to nie ma sensu tych kondensatorów dodawać, ale nie będą przeszkadzać, bo tych pinów i tak nie wykorzystujesz inaczej.

    OK, w takim razie powinienem jeszcze dodać identyczny kwarc po stronie termometru. Z datasheet rfm12b wynika, że maksymalna transmisja to 115.2 kbps, więc UART nie powinien szybciej działać (a zapewne nawet wolniej?). Czy w takim razie kwarc 7.3728MHz będzie odpowiedni? Widzę, że w tabeli "Examples of UBRR Settings for Commonly Used Oscillator Frequencies (Continued)" dla tej wartości % błędów jest równy 0 dla wszystkich prędkości poniżej 230.4k. Zakładam że dla 3,3V taki kwarc też jest ok?

    I mam jeszcze jedno pytanie: nie chciałbym przy okazji moich eksperymentów spalić portu USB w komputerze. W jaki sposób powinienem zabezpieczyć łącze? Do głowy przychodzi mi zastosowanie jakiegoś rodzaju bezpiecznika, ale jak zabezpieczyć linie danych?

    0
  • #5 16 Sty 2014 11:01
    dondu
    Moderator Mikrokontrolery Projektowanie

    s1875 napisał:
    Zakładam że dla 3,3V taki kwarc też jest ok?

    Tak co sprawdzisz na odpowiednim wykresie w dokumentacji: http://mikrokontrolery.blogspot.com/2011/04/SmartPIP-wybor-mikrokontrolera.html

    s1875 napisał:
    I mam jeszcze jedno pytanie: nie chciałbym przy okazji moich eksperymentów spalić portu USB w komputerze. W jaki sposób powinienem zabezpieczyć łącze? Do głowy przychodzi mi zastosowanie jakiegoś rodzaju bezpiecznika, ale jak zabezpieczyć linie danych?

    Możesz na czas eksperymentowania zastosować jakiś HUB za kilkanaście złotych :)
    Takie zabezpieczenie powinno wystarczyć + sprawdzanie czy nie ma zwarć przed podpięciem do HUB-u.

    0