Skocz do zawartości

LPT - jakie są jego możliwości? USB? COM?


Pomocna odpowiedź

Napisano

Witam

Mam parę pytań;]

Tak więc..

Chciałbym np. obsłużyć 1 silnik napędzający 12[v] i np.9 serw 5[v] łącznie [10 wyjść] i 6 czujników łączenie [6 wejść]. Ma to być na bazie laptopa lub stacjonarki.

Jakie porty użyć aby obsłużyć tyle wejść i wyjść? LPT? COM? USB? Bardzo byłbym wdzięczny gdyby ktoś uzasadnił np. pod względem łatwości programowania itd. [znam delphi].

Myślałem o LPT. Lecz nie wiem jaki układ zrobić itd.

Napiszę ktoś parę słów:)

Z góry dziękuję

W Delphi łatwo obsłużysz rs232 (komponent cport), czyli rs232 i komunikacja z jakimś avr'em który dalej będzie zarządzał silnikami, lub jeszcze można dać przejściówkę usbrs232, aby całość działała na nowszym sprzęcie (nowych PC'tach i laptopach, które nie mają rs232).

Spełni napewno. Możesz albo wykorzystać rs-232 alb usb przez moduł FT232R. Później podłączasz mikrokontrolerka z rodziny AVR a do tego podpinasz silniki, czujniki i inne rzeczy.

Tak więc przez port komputera wysyłam sygnał 0 lub 1 do np atmegi a ona załącza np silnik? Ale jak to zrobić przecież każda nóżka nie może odpowiadać każdemu wejściu i wyjściu bo nóżek za braknie rs232 czy to trzeba wysyłać w jakiś pakietach? Proszę o wytłumaczenie..

Rs232 jest w tym przypadku nośnikiem informacji do układu wykonawczego jakim może być mikro kontroler który wydaje rozkazy serwom. Jeśli chcesz wykonać to na LPT to musisz na wyjścia dać najlepiej bufory ( 2 razy bramkę not) a z buforem sterować tranzystorem który przejdzie już na napięcie zasilania serw. Z tym, że z lpt nie obsłużysz tej ilości urządzeń we/wy. Tak więc prostym rozwiązaniem będzie wysyłanie informacji po np rs232, do mikrokontrolera a on zajmuje się wykonywanie reszty, bądź, zastosowanie lpt z rejestrem szeregowo-równoległym który umożliwi rozszerzenia wy do tylu ilu chcesz, podłączanym miedzy buforem a tranzystorem, program w tym przypadku jest banalny bo pisany tylko na PC.

Wytłumaczę Ci podstawy rs232, bo chyba jej nie pojmujesz. Do transmisji nie używasz wszystkich pinów tego portu tylko dwa: RXD i TXD, jeden służy do wysyłaniu danych drugi to odbierania. Przez nie wysyłasz sobie dane w taki sposób jaki sobie to zaprojektujesz (jak zaprojektujesz ramki danych).

  • Lubię! 1

Czyli wysyłam np iloś bajtów i podąża ona do bramki która wychwyci dany pakiet? Rozumiem że wyszłam z np. Poziomu delphi a bramki napisane są np w bascomie i i umieszczone np w atemedze? Ciężko napisać takie bramki w bascomie? Dziękuję za zainteresowanie i przydatne info.🙂

w art. znalazłem

" Niestety nie doświadczeni pewnie będą próbować podłączać mikrokontroler do wejścia RS-232 w komputerze a niestety trzeba wiedzieć że trzeba zastosować konwerter napieć aby transmisja się dokonała." o co dokładniej chodzi? 😳

Niektóre "osobniki" z grupy mikrokontrolerów AVR posiadają bardzo przydatną rzecz,[.]

.. moduł UART, "

Atemegi posiadają ten moduł? mam atmega 8 ale chce kupić coś lepszego,.

[.]Komenda baud umożliwia ustalenie dokładności przesyłu (wartość zależy od utawionego kwarcu). [.] ... to tylko kwarc przy atmedze?

Konwerterem napięć jest właśnie układ MAX232. Jeśli wszystko dobrze podłączysz to nic się nie spali i komunikacja odbędzie się. Zamiast atmegi 8 możesz zastosować atmege 32 lub 16. No i trzeba zastosować kwarc z odpowiednią konfiguracją fuse bitów.

  • Lubię! 1

Dzięki wam!🙂

Na razie wszystko rozumiem poza jednym.. "No i trzeba zastosować kwarc z odpowiednią konfiguracją fuse bitów."

z odp. fuse bitów? nie rozumiem..

np. znalazłem takie coś:

1. 0000 = częstotliwość z zewnętrznego generatora,
2. 0001 = oscylator w wewnątrz procesora o częstotliwości 1MHz,
3. 0010 = wewnętrzny oscylator 2MHz,
4. 0011 = wewnętrzny oscylator 4MHz,
5. 0100 = wewnętrzny oscylator 8MHz,
6. 0101 = zewnętrzny oscylator RC 1MHz,
7. 0110 = zewnętrzny oscylator RC 2MHz,
8. 0111 = zewnętrzny oscylator RC 4MHz,
9. 1000 = zewnętrzny oscylator RC 8MHz,
10. 1001 = zewnętrzny kwarc z kondensatorami 2MHz,
11. 1010 = zewnętrzny kwarc z kondensatorami 2-4MHz,
12. 1011 = zewnętrzny kwarc z kondensatorami 4-6MHz,
13. 1100 = zewnętrzny kwarc z kondensatorami 6-8MHz,
14. 1101 = zewnętrzny kwarc z kondensatorami 8-10MHz,
15. 1110 = zewnętrzny kwarc z kondensatorami 10-16MHz.

Czyli np. jeżeli przy mojej atmedze będzie kwarc dajmy 14Mhz wtedy mam zaprogramować go na 1110 w bascomie?

Owszem, chociaż uważam, że najlepiej użyć do tego celu burn-o-mat'a - ustawianie fusów jest tam bajecznie proste - nie podajemy, które bity mają być zaprogramowane, tylko z listy wybieramy źródło taktowania, a wbudowany kalkulator przelicza nam to.

  • Lubię! 1

Teraz się troszkę pogubiłem.

Przecież jak mam kwarc 14Mhz to ustawiam na 1110. i po co jakieś kalkulatory?

Kurde nie mogę załapać właśnie czytam o tym burn-o-mat ale nie rozumiem .. jeśli przecież ustawię to po co się męczyć kalk.?

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...