Cześć,
Zaczynam się wgryzać w temat programowania mikrokontrolerów ponieważ zrodziła się potrzeba wykonania konkretnego projektu. Przy okazji uważam, że zdobyta wiedza może mi się przydać w przyszłości. Otóż chciałbym zbudować wyświetlacz cen dla stacji paliw. Miałbym w związku z tym kilka pytań jednak najpierw dwa bardzo ogólne założenia:
- 2x 7 segmentowy wyświetlacz(3 cyfry, własnej roboty) z podświetleniem LED
- sterowanie z komputera oddalonego 15/20 m od wyświetlacza
Jako, że jest to mój pierwszy projekt(no oprócz migania diodą) myślę jak to wszystko ogarnąć, żeby w połowie nie okazało się, że czegoś nie da się zrobić, albo że dokonałem gdzieś złego doboru komponentów. Całość podzieliłbym na trzy etapy:
- komunikacja z PC
- budowa wyświetlacza LED
- obsługa wyświetlacza
Myślałem, żeby zacząć od czegoś co wydaje mi się prostsze czyli od komunikacji kontrolera z PC i tutaj będę miał pierwsze moje pytanie. Jednak proszę bardziej doświadczonych o rady czy przy moim kontrolerze da się ten cały projekt zrealizować. Żeby nie zaśmiecać forum myślę, że w tym jednym wątku będę ciągnął cały projekt i zadawał wszelkie pytania.
Pierwsza myśl to wykorzystać USB w komputerze. Dlaczego?
- bo już jeden port USART zgodny ze standardem RS232 mam w PC zajęty i musiałbym dokupić jakiś moduł rozszerzający(słyszałem, że można obsłużyć więcej urządzeń przy wykorzystaniu jednego portu, ale to wymaga odpowiedniej obsługi/adresacji urządzeń, a jako, że jest to mój pierwszy większy projekt to raczej nie będę się rzucał na głęboką wodę).
- gdybym chciał taki wyświetlacz wykonać dla kogoś to zapewne z wolnym portem USB nikt nie miałby problemu.
Pracuję na mikrokontrolerze ATMEGA16A i wiem, że nie ma wbudowanej obsługi interfejsu USB. Jest natomiast USART. Widziałem na forum, że zalecane są w tym przypadku różne opcje:
- wybrać mikrokontroler z obsługą interfejsu USB
- wykorzystać takie układy jak FT232RL
Druga myśl to pozostać przy standardzie RS232 i wykorzystać specjalny przewód-emulator(DE-9 > USB). Czyli podpinam przewód USB do PC a ten widzi to jako port COM. Za tym rozwiązaniem przemawia do mnie argument, że po pierwsze podobno okodowanie komunikacji po USB jest trudniejsze, a po drugie może warto zacząć od RS232 żeby się tego nauczyć w końcu jest to nadal powszechnie wykorzystywany rodzaj komunikacji.
Pytanie, które podejście byście mi radzili na początek. Wziąć jednak należy pod uwagę, że odległość urządzenia od komputera może wynosić ok 20m. Nie znam dokładnie specyfikacji wszystkich standardów, ale wydaje mi się, że chyba będę skazany przez to na standard RS. USB raczej na takie odległości nie pozwoli? Wydaje mi się, że mam trzy opcje do wyboru:
-urządzenie -> konwersja sygnałów UART na standard RS232(MAX232) -> przy komputerze wykorzystuję emulator portu RS232(DE-9 > USB)
-urządzenie -> konwersja sygnałów UART na standard RS232(MAX232) -> przy komputerze dodać jakąś kartę rozszerzeń z dodatkowym portem RS232
-urządzenie -> konwersja sygnałów UART na standard RS232(MAX232) -> przy komputerze wykorzystać konwerter USB -> UART RS232(widzę na allegro po 4zł)
A może RS232 będzie niewystarczający, żeby zaprogramować cenę z takiej odległości i muszę użyć RS485? Słyszałem, że stacje paliw korzystają z tego standardu przy systemach sterowania dystrybutorami. Proszę o ogólne porady jak odnosicie się do tego problemu. Na jakie rozwiązanie i dlaczego byście się zdecydowali.
Zaczynam się wgryzać w temat programowania mikrokontrolerów ponieważ zrodziła się potrzeba wykonania konkretnego projektu. Przy okazji uważam, że zdobyta wiedza może mi się przydać w przyszłości. Otóż chciałbym zbudować wyświetlacz cen dla stacji paliw. Miałbym w związku z tym kilka pytań jednak najpierw dwa bardzo ogólne założenia:
- 2x 7 segmentowy wyświetlacz(3 cyfry, własnej roboty) z podświetleniem LED
- sterowanie z komputera oddalonego 15/20 m od wyświetlacza
Jako, że jest to mój pierwszy projekt(no oprócz migania diodą) myślę jak to wszystko ogarnąć, żeby w połowie nie okazało się, że czegoś nie da się zrobić, albo że dokonałem gdzieś złego doboru komponentów. Całość podzieliłbym na trzy etapy:
- komunikacja z PC
- budowa wyświetlacza LED
- obsługa wyświetlacza
Myślałem, żeby zacząć od czegoś co wydaje mi się prostsze czyli od komunikacji kontrolera z PC i tutaj będę miał pierwsze moje pytanie. Jednak proszę bardziej doświadczonych o rady czy przy moim kontrolerze da się ten cały projekt zrealizować. Żeby nie zaśmiecać forum myślę, że w tym jednym wątku będę ciągnął cały projekt i zadawał wszelkie pytania.
Pierwsza myśl to wykorzystać USB w komputerze. Dlaczego?
- bo już jeden port USART zgodny ze standardem RS232 mam w PC zajęty i musiałbym dokupić jakiś moduł rozszerzający(słyszałem, że można obsłużyć więcej urządzeń przy wykorzystaniu jednego portu, ale to wymaga odpowiedniej obsługi/adresacji urządzeń, a jako, że jest to mój pierwszy większy projekt to raczej nie będę się rzucał na głęboką wodę).
- gdybym chciał taki wyświetlacz wykonać dla kogoś to zapewne z wolnym portem USB nikt nie miałby problemu.
Pracuję na mikrokontrolerze ATMEGA16A i wiem, że nie ma wbudowanej obsługi interfejsu USB. Jest natomiast USART. Widziałem na forum, że zalecane są w tym przypadku różne opcje:
- wybrać mikrokontroler z obsługą interfejsu USB
- wykorzystać takie układy jak FT232RL
Druga myśl to pozostać przy standardzie RS232 i wykorzystać specjalny przewód-emulator(DE-9 > USB). Czyli podpinam przewód USB do PC a ten widzi to jako port COM. Za tym rozwiązaniem przemawia do mnie argument, że po pierwsze podobno okodowanie komunikacji po USB jest trudniejsze, a po drugie może warto zacząć od RS232 żeby się tego nauczyć w końcu jest to nadal powszechnie wykorzystywany rodzaj komunikacji.
Pytanie, które podejście byście mi radzili na początek. Wziąć jednak należy pod uwagę, że odległość urządzenia od komputera może wynosić ok 20m. Nie znam dokładnie specyfikacji wszystkich standardów, ale wydaje mi się, że chyba będę skazany przez to na standard RS. USB raczej na takie odległości nie pozwoli? Wydaje mi się, że mam trzy opcje do wyboru:
-urządzenie -> konwersja sygnałów UART na standard RS232(MAX232) -> przy komputerze wykorzystuję emulator portu RS232(DE-9 > USB)
-urządzenie -> konwersja sygnałów UART na standard RS232(MAX232) -> przy komputerze dodać jakąś kartę rozszerzeń z dodatkowym portem RS232
-urządzenie -> konwersja sygnałów UART na standard RS232(MAX232) -> przy komputerze wykorzystać konwerter USB -> UART RS232(widzę na allegro po 4zł)
A może RS232 będzie niewystarczający, żeby zaprogramować cenę z takiej odległości i muszę użyć RS485? Słyszałem, że stacje paliw korzystają z tego standardu przy systemach sterowania dystrybutorami. Proszę o ogólne porady jak odnosicie się do tego problemu. Na jakie rozwiązanie i dlaczego byście się zdecydowali.