Witam! W³a¶nie skoñczy³em robiæ schemat uk³adu (na zaliczenie) do pomiaru temperatury z dwóch czujników DS18B20. Niestety nie za bardzo siê na tym znam i nie wiem czy dobrze po³±czy³em procesor (ATMega8) z MAX232N i RS232. Dlatego te¿ bardzo proszê o wszelkie uwagi nt. tego projektu. Z góry dziêkujê. Pozdrawiam
ATMega8+DS18B20+RS232
Jun 11, 2004
11 Replies
U¿ytkownik "WJ" <wj78[NOSPAM]@wp.pl> napisa³ w wiadomo¶ci news:cadg98$m46$ snipped-for-privacy@news.onet.pl
To co zauwa¿y³em na szybko:
- uk³ady 1-Wire maj± unikalne numery seryjne i mo¿liwo¶æ adresowania. Dlatego mog± (choæ oczywi¶cie nie musz±) byæ wpiête na wspólnej magistrali.
- 1-Wire wymaga rezystorów _podci±gaj±cych_ do Vcc a nie obci±¿aj±cych do masy. W ka¿dym razie zwróæ uwagê na paragraf "Parasite Power" w PDF-ie DS18B20.
- pod¶wietlenie LCD to zespó³ led-ów bior±cy pr±d rzêdu 80..200mA. Zazwyczaj opornik ograniczaj±cy znajduje siê na module a wej¶cie LED(+) pod³±cza siê bezpo¶rednio do Vcc. Na pewno nie pobierzesz takiego pr±du z portu procesora (PC6). Musisz mieæ dodatkowy tranzystor wykonawczy.
- odwrócona numeracja linii danych LCD. Tzn. pod³±czy³e¶ PD[0..7] do DB[7..0]. Oczywi¶cie bajty danych da siê programowo odwróciæ, ale po co taka ekwilibrystyka?
- odwrócony LED przy czujnikach. Ew. podepnij go do Vcc i steruj stanem niskim linii portu.
- Standardowy MAX232 wymaga 1uF. Zdaje siê, ¿e do 0.1uF musi byæ MAX232A. Nigdy tego nie pamiêtam. Ja w ka¿dym razie u¿ywam wiêkszych pojemno¶ci.
- pomyli³e¶ wej¶cia i wyj¶cia w MAX232. Kierunek transmisji w uk³adzie jest nastêpuj±cy: T1in (TTL) -> T1out(v.24) T2in (TTL) -> T2out(v.24) R1in (v.24) -> R1out(TTL) R2in (v.24) -> R2out(TTL) Czyli na pewno T1 jest w³±czony ¼le. BTW: Nie sprawdza³em, czy zgadzaj± siê kierunki transmisji na pinach RS232 (DB9)
- wystêpuje konflikt pomiêdzy wyjsciem R1OUT MAX232 a lini± MOSI programatora. Musisz je jako¶ rozseparowaæ, bo nie uda siê zaprogramowaæ procesora.
- brak kwarcu? Rozumiem, ¿e korzystasz z oscylatora wewnêtrznego?
- strasznie du¿o zbêdnych kropek (junction) na schemacie, brak numeracji elementów, itd... Je¿eli bedziesz chcia³ z tego schematu wygenerowaæ netlistê i na jej podstawie projektowaæ PCB to czeka Ciê sporo poprawek.
-.... (pewnie co¶ jeszcze, ale na razie nie zauwa¿y³em)
U¿ytkownik "Marek Dzwonnik" <mdz@WIADOMO_PO_CO_TO.message.pl> napisa³ w wiadomo¶ci news: snipped-for-privacy@news.home.net.pl...
Bardzo dziêkujê! Pozdrawiam
U¿ytkownik "WJ" <wj78[NOSPAM]@wp.pl> napisa³ w wiadomo¶ci news:cadg98$m46$ snipped-for-privacy@news.onet.pl...
Polecam obejrzenie kitu AVT 2683. Tam na jednej p³ytce jest z³±cze RS i procek (coprawada AT90S2313). W³a¶nie bawiê siê w lutowanie (przy braku do¶wiadczenia to trudna sztuka ;P)
Mam chêæ z niego zrobiæ bufor do DS18x20, tak ¿eby mierzy³ temperaturê w momencie gdy komp jest wy³±czony. (wiem ciutek ma³o pamiêci na wyniki, ale na pocz±tek musi wystarczyæ :))
pozdrawiam Alek
U¿ytkownik "Marek Dzwonnik" <mdz@WIADOMO_PO_CO_TO.message.pl> napisa³ w wiadomo¶ci news: snipped-for-privacy@news.home.net.pl
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Wycofujê t± uwagê. ¦rodek nocy zrobi³ swoje i krzywo odczyta³em druciki. ;-( Wygl±da na to, ¿e pod³±czenie MAX-a jest Ok.
Po³aczenia na z³±czu RS232 równie¿ siê zgadzaj±, przy za³o¿eniu, ¿e pod³±czasz termometr jako DCE z ¿eñskim z³±czem DB9 i kablem bez przeplotu (czyli 1to1).
U¿ytkownik "Marek Dzwonnik" <mdz@WIADOMO_PO_CO_TO.message.pl> napisa³ w wiadomo¶ci news: snipped-for-privacy@news.home.net.pl...
Witam ponownie! Czyli to:
formatting link
powinno ju¿ dzia³aæ poprawnie? Oczywi¶cie korzystam z wewnêtrznego oscylatora. Mam jeszcze jedno pytanko: jak zmusiæ Protela (98,99) do automatycznego wygenerowania PCB? Z góry dziêkujê za odpowied¼! Pozdrawiam
U¿ytkownik "WJ" <wj78[NOSPAM]@wp.pl> napisa³ w wiadomo¶ci news:cag2jr$r0p$ snipped-for-privacy@news.onet.pl...
witam mam pytanie przy okazji jak eksportujesz schemat ideowy z protela do pdf'a?
pozdr Krzysztof
=_NextPart_000_00F3_01C450E9.95BDEA30 Content-Type: text/plain; charset="iso-8859-2" Content-Transfer-Encoding: quoted-printable
U=BFytkownik "Krzysztof Skoroniak" snipped-for-privacy@NospaM.polsl.gliwice.pl> = napisa=B3 w wiadomo=B6ci news:cag376$ifk$ snipped-for-privacy@atlantis.news.tpi.pl...
Ja to robi=EA przy pomocy eDocPrinter, ale w sieci pe=B3no jest takich = program=F3w (jak nie freeware, to przybajmniej Trial). Wystarczy w = google wpisa=E6 "make pdf" i ju=BF! Taki program instaluje si=EA w = systemie jako drukarka i po prostu drukujesz na tej drukarce i masz = pdf'a! Pozdrawiam
U¿ytkownik "Krzysztof Skoroniak" snipped-for-privacy@NospaM.polsl.gliwice.pl> napisa³ w wiadomo¶ci news:cag376$ifk$ snipped-for-privacy@atlantis.news.tpi.pl...
Ja to robiê przy pomocy eDocPrinter, ale w sieci pe³no jest takich programów (jak nie freeware, to przybajmniej Trial). Wystarczy w google wpisaæ "make pdf" i ju¿! Taki program instaluje siê w systemie jako drukarka i po prostu drukujesz na tej drukarce i masz pdf'a! Pozdrawiam
U¿ytkownik "WJ" <wj78[NOSPAM]@wp.pl> napisa³ w wiadomo¶ci news:cag2jr$r0p$ snipped-for-privacy@news.onet.pl
Lepiej, ale...
- gdzie wy³acznik zasilania?
- widzê, ¿e pod¶wietlenie LCD w³±czasz prze³±cznikiem. Nie lepiej by³o daæ jeden tranzystor sterowany z wolnej linii portu?
- RESET a konflikt z programatorem. Skoro STK200 ma umieæ sterowaæ lini± RESET to nie mo¿esz jej jednocze¶nie doci±¿yæ kondensatorem 10u. Odseparuj rêczny reset od programatora i CPU choæby rezystorem 1k. Poza tym niby nie jest to konieczne, ale niektóre AVRy maj± klopoty z powstaniem przy zbyt wolnym narastaniu napiêcia zasilania. Dlatego IMHO warto dok³adaæ jaki¶ zewnêtrzny uk³ad resetu. Choæby np. TL7705.
- Widzê, ¿e konfliktu na MOSI pozby³e¶ siê dedykuj±c wszystkie linie SPI programatorowi. Ale jednocze¶nie przenios³e¶ RS-a na PB6,7. Czemu nie na sprzêtowe linie UARTu (RxD i TxD)? Czy chcesz obs³ugiwaæ RS-a programowo? Hint: LCD na HD44780 i podobnych daje siê obs³u¿yæ w trybie 4-bitowym. Tzn wystarczy Ci pod³±czenie 4 starszych bitów danych w module LCD.
Zapomnij o "automatycznym generowaniu PCB". Autorouter mo¿e pomóc, ale p³ytkê projektuje cz³owiek a nie komputer. A zanim dojdziesz do projektowania p³ytki, to jeszcze d³uga droga przed tob±.
W ka¿dym razie musisz:
- Dok³adnie sprawdziæ po³aczenia. Po³±czenia nale¿y prowadziæ metod± "drut do aktywnego koñca pinu". Protel pokazuje (kursor - du¿a kropka) moment kiedy dotykasz aktywnego punktu pod³±czenia. Je¿eli przyczepisz drut do ¶rodka pinu to fizycznego po³±czenia nie uzyskasz. Kropka (junction) wskazuje po³±czenie pomiêdzy dwoma krzy¿uj±cymi (lub na³o¿onymi) drutami. Je¿eli usuniesz kropkê to po³±czenia nie bêdzie. Na poprawnie postawionym prostym po³±czeniu drut-pin kropki byæ nie powinno (tzn. nie szkodzi, ale zaciemnia schemat)
- Nadaæ unikalne numery wszystkim elementom (-> Annotate)
- Ka¿dy element musi mieæ przypisan± obudowê - wg. symboli dostêpnych w bibliotekach PCB. Dotyczy to _wszystkich_ elementów, m.in. ³±czówek, prze³aczników, kondensatorów, potencjometrów itp. Je¿eli jakiej¶ obudowy brak - np. nietypowej ³±czówki - to trzeba j± sobie namalowac samodzielnie. Zwróæ uwagê na zgodno¶æ numeracji/nazw pinów w sybolu schematowym i obudowie na pcb. Nie wiem jak w P99 ale w P98 stosowano w róznych miejscach ró¿ne oznaczenia (np. Cathode, Anode vs. A, K. lub t.p.) co skutkowa³o nisko lataj±c± serdelow± podczas wczytywania netlisty.
- Dobrze jest ponazywaæ po ludzku poszczególne po³±czenia/sieci po³±czeñ (NetNames). Je¿eli tego nie zrobisz to protel nada w³asne nazwy domy¶lne w postaci np. N00001. Przy projektowaniu PCB trudno bêdzie siê w tych cyferkach rozeznaæ.
- Maj±c gotowy, wyczyszczony schemat musisz wygenerowaæ Netlistê. Po wczytaniu netlisty do programu PCB zobaczysz widok elementów usypanych na jedn± kupkê i powi±zanych po³±czeniami logicznymi (connections, ratsnets). Wcze¶niej musisz jeszcze narysowaæ mechaniczny obrys p³ytki (layer: Mech..) i nieprzekraczalny obrys obszaru przeznaczonego na ¶cie¿ki (KeepOut layer). Nastêpnie rozmieszczasz elementy na p³ytce. Im sensowniej to zrobisz rêcznie tym ³atwiej bêdzie projektowaæ ¶cie¿ki. Zapomnij o rozmieszczaniu automatycznym (AutoPlace). Na koniec zostaje uk³ad ¶cie¿ek. IMHO zanim poustawiasz autorouter, to tej wielko¶ci p³ytkê lepiej i ³adniej zaprojektujesz rêcznie.
U¿ytkownik "WJ" <wj78[NOSPAM]@wp.pl> napisa³ w wiadomo¶ci news:cah7vb$htc$ snipped-for-privacy@news.onet.pl...
dzieki bardzo
pozdr Krzysztof
U¿ytkownik "Marek Dzwonnik" <mdz@WIADOMO_PO_CO_TO.message.pl> napisa³ w wiadomo¶ci news: snipped-for-privacy@news.home.net.pl...
Be¿ wy³±cznika - uk³ad bêdzie pracowa³ bez przerwy.
Pewnie tak zrobiê, ale póki co, to chyba jednak pozostanê przy prze³±czniku.
RS'a oczywi¶cie podepnê pod RxD i TxD. Co do trybu 4-bitowego, to jak siê potem tym steruje (na 99% program bêdê pisa³ w assemblerze)?
samodzielnie.
Jeszcze raz bardzo dziêkujê za pomoc! Pozdrawiam
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required