Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Computer ControlsComputer Controls
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Praca przy tworzeniu systemów opartych o urządzenia elektroniczne

25 May 2013 22:33 1773 8
  • Level 8  
    Cześć,
    Aktualnie studiuję informatykę na czwartym roku. Po studiach (za rok) chciałbym pracować w sektorze związanym z systemami opartymi o urządzenia elektroniczne - chyba mogę to ogólnikowo nazwać systemami wbudowanymi.

    Czy informatyk ma szanse na taką pracę ? Na studiach głównie programowanie obiektowe (java, .net) oraz poruszanie innych aspektów związanych z informatyką, mało wspólnego mieliśmy z mikrokontrolerami, elektroniką, elektrotechniką - podstawy. Oczywiście znam C, C++ oraz asembler nie jest mi raczej obcy (RISC/CISC).

    Systemy (informatyczne) oparte o systemy wbudowane to bardzo szerokie pojęcie i zahacza o wszelkie możliwe dziedziny, bo przecież budując ultrasonograf (usg), to wymagana jest wiedza z kilku dziedzin (nie wspominając o medycynie, ale to pomijam, bo to już aspekt współpracy ze specjalistami z tej dziedziny, czyli inżynieria wymagań). Budowa systemów (informatycznych?) dla przemysłu (związanych z automatyką), to kolejne zagadnienia, których nie poznaję na studiach.

    Proszę o jakiekolwiek informacje dot. tego jakie umiejętności powinienem posiadać starając się o stanowisko, które opisałem powyżej. Ponadto niewiele ofert pracy dla tego typu stanowisk jest raczej czymś demotywującym. Praca z tego typu systemami raczej kojarzy mi się z osobami, które ukończyły Elektronikę, czy osoby na elektronice są uczone tego typu rzeczy ?

    Dziękuje bardzo! :)
  • Computer ControlsComputer Controls
  • Level 39  
    genio21 wrote:
    Systemy (informatyczne) oparte o systemy wbudowane to bardzo szerokie pojęcie i zahacza o wszelkie możliwe dziedziny, bo przecież budując ultrasonograf (usg), to wymagana jest wiedza z kilku dziedzin (nie wspominając o medycynie, ale to pomijam, bo to już aspekt współpracy ze specjalistami z tej dziedziny, czyli inżynieria wymagań). Budowa systemów (informatycznych?) dla przemysłu (związanych z automatyką), to kolejne zagadnienia, których nie poznaję na studiach.
    Sam sobie odpowiedziałeś na pytanie.

    genio21 wrote:
    Proszę o jakiekolwiek informacje dot. tego jakie umiejętności powinienem posiadać starając się o stanowisko, które opisałem powyżej. Ponadto niewiele ofert pracy dla tego typu stanowisk jest raczej czymś demotywującym. Praca z tego typu systemami raczej kojarzy mi się z osobami, które ukończyły Elektronikę, czy osoby na elektronice są uczone tego typu rzeczy ?
    Osoby które kończą studia o profilu elektronicznym znają podstawy. Jeśli ktoś się ograniczy do tego, co wykładają na studiach - wie trochę z każdej dziedziny, ale nic "perfect".
    Równie ważny jest wybór uczelni.

    Poza tym, że najbardziej pożądaną znajomością w pracy (każdej) jest umiejętność logicznego myślenia - myślę, że znajomość elektroniki jest nieodzowna.
    Sama umiejętność programowania na niewiele się zda (jest pożądana, ale nie wystarczy).
    Nikt cię nie posadzi do pisania aplikacji - bez znajomości jak działa (ma działać) urządzenie, które musisz oprogramować.
    W tym sensie musisz być Alfą i Omegą.

    Temat "systemy wbudowane" jest dość szeroki. W czym konkretnie chciałbyś się specjalizować?
  • Computer ControlsComputer Controls
  • Level 43  
    Programowanie systemów wbudowanych nieco się różni od programowania PC, niby ten sam język C, ale trzeba nauczyć się nowych rzeczy, na PC masz wszystkie niskopoziomowe rzeczy poukrywane i nie musisz wiedzieć np. jakie są rejestry RTC, żeby odczytać czas, albo co powoduje że printf wyświetla tekst na ekranie, na mikrokontrolerze zazwyczaj musisz musisz napisać obsługę sprzętu samemu.

    Jeśli chcesz pracować w tym fachu, musisz się douczyć, kupić jakąś płytkę prototypową i poznać jak się obsługuje typowe peryferia - wyświetlacze, klawiatury, przerwania, timery, pamięci itp. W zasadzie wystarczy poznać sposób pracy, trzeba czytać i rozumieć dokumentacje hardware'u, potem to oprogramować, reszta tak jak na PC.

    W systemach wbudowanych układy elektroniczne są zazwyczaj proste, bo cyfrowe, sprawa się komplikuje przy układach analogowych, tu wielu "mikroprocesorówców" ma braki.

    Quote:
    Ponadto niewiele ofert pracy dla tego typu stanowisk jest raczej czymś demotywującym.
    Dopóki istnieją firmy, które projektują własne urządzenia, praca będzie, a że prawdziwa produkcja wymaga większych nakładów i umiejętności niż usługi, albo programowanie gotowego sprzętu, to i firm i pracowników jest mniej w tej dziedzinie.

    Quote:
    Praca z tego typu systemami raczej kojarzy mi się z osobami, które ukończyły Elektronikę, czy osoby na elektronice są uczone tego typu rzeczy ?
    Uczelnie nie kierują się potrzebami rynku pracy, studia w tym kierunku na pewno pomagają, ale sama wiedza ze studiów nie wystarczy, żeby budować układy.
  • Level 30  
    Wiadomości jakie pochłaniasz na wykładach to są bardzo istotne podstawy. Najważniejsza jednak trudna do zdefiniowania umiejętność myślenia. Uczysz się jej codziennie być może nawet zupełnie o tym nie wiedząc. To czy skończysz informatykę czy elektronikę ma tak naprawdę znaczenie drugorzędne.
  • Level 8  
    mickpr wrote:
    Temat "systemy wbudowane" jest dość szeroki. W czym konkretnie chciałbyś się specjalizować?


    Szczerze to nie wiem jakie są kierunku rozwoju. Chciałbym brać udział, jak wspomniałem wcześniej, przy budowie takich systemów, a co dokładnie, to nie zastanawiałem się. Jakie są możliwości wyboru ?

    jarek_lnx wrote:
    Jeśli chcesz pracować w tym fachu, musisz się douczyć, kupić jakąś płytkę prototypową i poznać jak się obsługuje typowe peryferia - wyświetlacze, klawiatury, przerwania, timery, pamięci itp. W zasadzie wystarczy poznać sposób pracy, trzeba czytać i rozumieć dokumentacje hardware'u, potem to oprogramować, reszta tak jak na PC.


    To o czym wspomniałeś, to akurat miałem na uczelni, przerobiliśmy różne płytki pisząc zarówno w c jak i asemblerze. Myślałem raczej nad czymś trudniejszym.
  • Level 39  
    genio21 wrote:
    Szczerze to nie wiem jakie są kierunku rozwoju. Chciałbym brać udział, jak wspomniałem wcześniej, przy budowie takich systemów, a co dokładnie, to nie zastanawiałem się. Jakie są możliwości wyboru ?
    Wybierasz sobie kierunek wg własnych zainteresowań. Inny wybór - podyktowany rynkiem, możliwością znalezienia pracy czy wysokością zarobków "na start" - jest zawsze sztuczny.
    Co ci po pracy - w której będziesz robił coś, czego nie cierpisz?
    Jeśli czegoś nie będziesz lubił - jak możesz być w tym dobry? Nie możesz.
    Jeśli zaś będziesz robił rzeczy, które cię pasjonują, pochłaniają i (dodatkowo) dają możliwość rozwoju oraz zarabiania pieniążków (w dłuższej perspektywie czasu) - wróżę ci sukces.
    Oczywiście najlepiej byłoby - jak kierunek, który wybierzesz stanowił swoistą niszę na rynku (ale niszę osobową, a nie finansową). Inaczej twoje zainteresowanie będzie "fajnym hobby".

    Co do kierunków rozwoju - zaczął bym od rozejrzenia się na rynku - jakie są firmy dookoła, jakie są ich potrzeby.
    Czy potrzebują fachowców od FPGA, czy może bardziej od MCU, a może od elektroniki samochodowej.
    Swego czasu miałem dobrą propozycję pracy od firmy chip-tuningowej. Ale odmówiłem (nie znam się na tym kompletnie). Wszak to też system wbudowany. :)
    Nie znam aż tak wielu firm, które od ręki zatrudnią kogoś (tym bardziej do przyuczenia).
    Znam np. firmę z Częstochowy - produkującą maszyny przemysłowe (cięcie materiałów wodą, laserem itd).
    Nie wiem czy zatrudniają - czy nie (pracuje w niej kilku moich znajomych).

    Aby załapać się do jakiejkolwiek firmy potrzebujesz się czymś wykazać.
    Jeśli problemem jest brak doświadczenia - startujesz od zera (takie są realia).
    A ludzie młodzi czasem chcą - żeby za papierek ze studiów dostać 4000 na łapę.
    Gdyby choć skończyli MIT :)

    Pamiętam swego czasu - że każdy kandydat na dyrektora w IBM musiał przejść wszystkie szczeble ścieżki zawodowej - od sprzedawcy w sklepie, przez serwisanta itd...
    Tak wykształcony dyrektor ma pojęcie - czym kieruje.
    Ty również musisz wiedzieć - o czym mówisz.
  • Level 43  
    Quote:
    To o czym wspomniałeś, to akurat miałem na uczelni, przerobiliśmy różne płytki pisząc zarówno w c jak i asemblerze. Myślałem raczej nad czymś trudniejszym.
    To już coś, masz podstawy, mam nadzieję że na współczesnych procesorach, spróbuj zbudować jakieś urządzenie samemu, na zajęciach część była przygotowana wcześniej.

    Jeśli chcesz być dobry, musisz dużo umieć, nie zaszkodzi poszerzyć swoje horyzonty nawet jeśli dana wiedza nie wygląda na potrzebną na "jutro"

    Przydaje się umiejętność projektowania płytek drukowanych.
    A czy używaliście jakichś systemów operacyjnych czasu rzeczywistego, temat wart ogarnięcia jeśli ktoś chce być programistą systemów wbudowanych.
    Albo FPGA w bardziej zaawansowanych konstrukcjach się spotyka.
  • Level 15  
    genio21 wrote:
    Szczerze to nie wiem jakie są kierunku rozwoju. Chciałbym brać udział, jak wspomniałem wcześniej, przy budowie takich systemów, a co dokładnie, to nie zastanawiałem się. Jakie są możliwości wyboru ?


    Absolwent elektroniki jest w zasadzie lepiej przygotowany do tego typu pracy niż absolwent informatyki, zwłaszcza jeśli taka osoba mniej więcej wie, że chce coś konstruować ale tak do końca nie wie co. Tak jak w twoim przypdaku. Co nie znaczy, że informatyk nie może brać udziału przy konstrukcji. Jednak jego droga do tego celu może być dłuższa. Oprócz poznania technologi FPGA, DSP, MCU, analogówki potrzebne są jeszcze teorie do ich użycia (teoria cyfrowego przetwarzania sygnału, teoria sterowania, itd) i wiedza po co to robić.

    Mówiąc nieco filozoficznie na temat elektroniki i całej inżynierii to całą inżynierię można porównać nieco do modelu warstwowego OSI lub TCP/IP sieci. Pierwszą warstwą jest warstwa aplikacji czyli tego co chcemy zrobić plus założenia (radar, usg, sterownik silnika, silnik, rozeznanie rynku), potem warstwa teorii (teoria sterowania, cyfrowego przetwarzania sygnałów, teoria wielkich częstotliwości, modulacje, transmisja infromacji), potem jest warstwa technologii i jej użycia(FPGA, analogówka), najniższą warstwą jest po prostu rzeczywisty świat z prawami fizyki, który chcemy kontrolować. Oczywiście ten model jest wielkim uproszczeniem (trzeba tam uwzględnić języki programowania, wytwarzanie urządzeń elektronicznych itd,), ale pozwala na wstępne rozeznanie się w temacie inżynierii (czyli kontrolowania i poporządkowywania materii człowiekowi). Każda wyższa warstwa korzysta z niższej. Wg mnie fizycy świetnie znają warstwę realnego świata, elektronicy mają opanowaną świetnie warstwę technologi (choć nie znają się świetnie na fizyce), automatycy mają opanowaną świetnie warstwę teorii (choć nie muszą znać świetnie elektroniki i fizyki) itd. Żeby budować urządzenia trzeba znać lub orientować się nieco we wszystkich tych warstwach. W realu jest to raczej ciężkie choć możliwe, bo np. takie usg zawiera i zasilacz, sondę, algorytmy cyfrowego przetwarzania sygnałów, skomplikowane układy analogowe, normy które trzeba zapewnić. Specjalistą w inżynierii można zostać w poszczególnej warstwie, jego kawałku (specjalista poziomy mówiąc o tym modelu, np. automatyk, elektronik, czyli dajemy komuś takiemu projekt do zrobienia o zadanych parametrach i tyle) jak i specjalistą od np. tylko usg lub urządzeń medycznych (specjalista pionowy (pasjonat jakiejś gałęzi) bo trzeba mieć wiedzę ze wszystkich tych warstw od aplikacji do praw fizyki). Oczywiście te wszytskie specjalności się nazwajem przenikają. To tyle na temat filozofii (bardzo to uprościłem żeby pokazać ideę). Myślę, że stworzenie takiego modelu we własnym zakresie powinno pomóc w rozeznaniu się.

    Wracając do twojego problemu. Wg mnie musisz znaleźć swój obszar zainteresowania ( a jest tego od groma i samo przeanalizowanie możliwości to nie lada wyzwanie), tak zwaną swoją pasję a reszta przyjdzie sama. Przykładowe działanie pasji na rozwój: ktoś interesuje się energoelektroniką np. prostownikami aktywnymi. Jest coś takiego jak trójfazowy prostownik/inwerter aktywny na tranzystorach IGBT (voltage source rectifier/inverter), który dostarcza energii z sieci trójfazowej do banku kondesatorów, ale robi to tak żeby współczynnik mocy był równy 1. Żeby to zrozumieć potrzebna jest znajomość kilku matematycznych transformacji, teorii sterowania (żeby zaprojektować układ sterowania, który zamieni np. ilość ładunku zgromadzonego w tych kondesatorach na odpowiednie ciąg sygnałów bramkowych, które w odpowiednim momencie załączą tranzystory i pozwolą na pobór prądu w fazie z napięciem), techniki modulacji PWM (w tym przypadku modulacja wektorem przestrzennym SVPWM). A więc już tutaj, na tym etapie jesteś wciągany w DSP, teorie sterowania, filtrację sieciową, układy analogowe, modulację PWM itd. Po drodze napotykasz jednak problemy, np. cyfrowe sterowanie takim procesem jak wyżej opisałem mimo sowich ogromnych zalet ma wady, np. ograniczone pasmo całego systemu sterowania przez same układy DSP, które pozwalają na próbkowanie sterowanego sygnału co najwyżej dwa razy w jednym okresie przełączania tranzystorów (chociaż w niektórych zastosowaniach jest to zaleta). Mówiąc w skrócie twój układ nie będzie natychmiast reagował na zaburzenia (zwłaszcza gdy przesyłamy duże moce to częstotliwość SVPWM jest niska, rzędu kHz). Czy można to poprawić ( tzn. dojść do natychmiastowego reagowania na zaburzenia tak jak w analogowym sterowaniu)? Można się zbliżyć do ideału stosując np. multipróbkowanie, ale żeby to zrobić to już musisz użyć FPGA. I tak wchodzisz w temat FPGA. Też jest to prosty przykład ale pokazuje jak zainteresowanie pozwala rozwijać dalej swoje umiejętności. We własnym rozwoju ważna jest teoria jak i jej praktyczne użycie. Powtarzając za Kelvinem czy Thompsonem: Nie ma nic praktyczniejszego niż dobra teoria.
  • Level 8  
    Dzięki Panowie za wypowiedzi, widzę że sporo nauki przede mną, jednakże czuję się na siłach aby temu podążyć i w domu zdobyć co najmniej te podstawy.

    Z drugiej strony trochę żałuję, że równolegle nie studiowałem elektroniki, ale na informatyce miałem i tak dużo pracy, a tematy były tak rozległe, że często były omawiane ogólnikowo, bo brakowało na to czasu na zajęciach, no cóż kiedyś był brak informacji, teraz jest jej nadmiar ;)

    Jeżeli ktoś ma coś do dodania, to proszę o wypowiedzi, dzięki.