Skocz do zawartości

Jaki procesor do projektu?


Pomocna odpowiedź

Napisano

Witam. Tak jak w temacie szukam mikroprocesora do projektu. Planuje zbudować możliwie jak najtańszy układ który miałby na celu:

1)zapisywanie danych o danej godzinie raz dziennie :

- ilości impulsów na jednym z portów

-2 czujniki temperatury

-godzina z datą

2)komunikacja z telefonem

Co do do zbierania danych myślę że wiem jak się do tego zabrać. Gorzej sprawa wygląda z doborem procesora i komunikacją. Nie musi to działać kosmicznie szybko, sam układ miałby być podłączony na stałe do zasilania ( nie żadne baterie czy coś takiego).

Planuje zbudować możliwie jak najtańszy układ który miałby na celu:

Mowa o seryjnej produkcji, w której chcesz "urwać" z ceny mikrokontrolera każdego możliwego grosza, czy to jednorazowy projekt i zwyczajnie nie chcesz wydać dużo na uC? Pytam, bo w pierwszym przypadku należałoby się rozejrzeć za czymś "egzotycznym", a w drugim przypadku wystarczy pewnie dowolny mikrokontroler 😉

Zdecydowanie kilka sztuk chociaż tak jak wspomniałeś nie chce wydawać dużo. Zastanawiałem się nad AT89C52 Bo już troche na tym pisałem ale nie wiem jak wygląda sprawa z podłączeniem do tego mikroprocesora analogowych termometrów.

Przy wymaganiu na wejście analogowe musisz skupić się na kostkach mających wbudowany ADC. Owszem, zawsze możesz coś dospawać na zewnątrz, ale to zwykle będzie droższe. Nawet prosty przetwornik 10-bitowy z interfejsem szeregowym typu SPI czy I2C to koszt rzędu 5zł. A tyle to kosztuje cały mikrokontroler z ADC. Generalnie rodzina '51 jest droga, bo core tego procesora jest (stosunkowo) duży więc zajmuje dużo krzemu więc kosztuje. Być może w przypadku produktów ATMELa/Microchipa wchodzą w grę także opłaty licencyjne dla Intela.

Jeśli jesteś jakoś przyzwyczajony do 51 (co na tym zrobiłeś? napisz, to może być ciekawe) i nie chcesz uczyć się nowej architektury, to wybierz termometry z interfejsem cyfrowym. Może nie od razu megadrogi 18B20 - powinieneś znaleźć coś tańszego.

Rozwiązaniem pośrednim jest zrobienie przetwornika A/C na zewnątrz procesora z paru tanich elementów. Prymitywny "przetwornik" U/t wykonany z tranzystora i kondensatora ma szansę osiągnąć 6-7 bitów i będzie kosztował grosze.

Moim zdaniem, jeśli nie masz już tych procesorów w szufladzie i będziesz coś kupował, weż pod uwagę inne rodziny (AVR? ARM?) lub (od biedy) '51 z wbudowanym ADC. Już nawet szeregowo programowane 89S52 (wygoda) będzie lepsze. A w ogóle to w miarę dzisiejsza, kompletna kostka programowana na płytce (ISP) z wbudowanym generatorem taktującym, układem RESETu, 10-bitowym przetwornikiem A/C, UARTem, kilkoma timerami, szybsza i mniej prądożerna będzie tańsza niż kobylasta '51. Tego używają już chyba tylko ludzie do podtrzymywania starych projektów (i studenci na zajęciach w Polsce...).

Niestety moje doświadczenie to projekty na uczelni. Jakieś proste klawiaturki, liczniki, obsługa 7segmentowych wyświetlaczy albo lcd. Nie jest to jakiś kosmos ale zainteresował mnie ten temat.

Nie jestem zamknięty na coś nowego poprostu myślałem że łatwiej może być napisać coś na mikro na którym chociaż troche pisałem ale jeżeli są lepsze i nowsze rozwiązania to jak najbardziej będę się skłaniał do nich. Jeszcze nic nie kupowałem bo do tej pory bawiłem się w symulatorach więc będę musiał zainwestować w programator i tym podobne rzeczy. Oczywiście jakieś rady jaki zestaw kupić sobie na początek są baaaaaardzo mile widziane, bo można powiedzieć że jestem nowy w temacie ale z motywacją do działania 😋

Oczywiście, że łatwiej stworzyć projekt na procesorku, który już znasz i używałeś. Z tego co piszesz (i z typu procesora) obawiam się, że pisałeś swoje programy w asemblerze więc próg zmiany może być jeszcze wyższy zważywszy, że w dzisiejszych realiach standardem jest C lub C++.

Nie namawiam do niczego. Ludzie startują od Arduino opartego (z nielicznymi wyjątkami) na rodzinie AVR i z powodzeniem realizują proste projekty. Krzywa nauki jest stroma i korzystając z ogromnej literatury, forów, samouczków, gotowych bibliotek i mnóstwa przykładów - także wbudowanych w samo środowisko IDE - możesz w miarę bezboleśnie w ciągu miesiąca opanować podstawy i budować za chwilę całkiem spore urządzenia. Nawet gdzieś tu na Forbocie leży seria kursów Arduino wraz z rekomendowanym zestawem startowym.

Możesz jednak spróbować rozwijać swoją dotychczasową ścieżkę i bazować na '51 - w końcu to też działa, choć asortyment układów i ich ceny nie są argumentem za. Z drugiej strony sentymentu i już zdobytej wiedzy nie sposób przeliczyć na pieniądze.

Wiesz, święta wojna o wyższości jednych architektur, środowisk czy języków nad innymi to niekończąca się historia. Nie dostaniesz porady: zrób tak i tak, bo tylko tak będzie dobrze, no chyba że od fanatyka a wiadomo - lepiej od nich z daleka. W sumie ciekaw jestem Twojego wyboru 🙂

2)komunikacja z telefonem

Zgaduję, że bierzesz pod uwagę tylko opcję bezprzewodową.

Propozycje:

- dodanie modułu BT (np. HC-05) do układu i komunikacja bezpośrednio z telefonem

- wykorzystanie układu z WIFI (np. NodeMCU)

Osobiście spróbowałbym tego drugiego. Koszt NodeMCU z Chin to ~2-3€ i nie potrzeba programatora. Jeśli układ miałby stały dostęp do Internetu np. przez domowe WIFI to może pobierać godzinę z serwera NTP. Cyfrowe czujniki temperatury DS18B20 mogą się komunikować po 1-Wire. Impulsy to zwykłe wejście I/O. Telefon też będzie mógł się z nim skomunikować.

Tak raczej komunikacja bezprzewodowa, jednak wygoda jest większa i łatwiej to zainstalować.

Akurat te programy które pisałem były pisane w C, a i zabawa z arduino nie jest mi obca kompletnie obca.

Tak jak wspominałem chodzi o cenę projektu, bo budowa tak prostego układu na arduino wydaje mi się bezsensowna i za droga. Dlatego też postanowiłem to zrobić na mikro. Jestem świadomy że na uczelni mogą być przestarzałe rozwiązania dlatego właśnie chce się poradzić 😃 co do dostępnych rozwiązań.

To zapytam inaczej marek1707, jaki Ty byś wybrał mikroprocesor ? I który termometr wybrać ? Bawić się w cyfrowe czy analogowe (Jak narazie miałem styczność tylko z analogowymi i działało super) ?

Dziękuję bardzo za dotychczasowe rady i wskazówki.

Arduino za drogie... no tak, płytka klon Pro Mini kosztuje ok. 9 PLN na Allegro, goła ATmega jest nieco droższa.

Powiem co ja bym zrobił:

ESP8266 (do eksperymentów ESP12E/S, do projektów sam układ lub właśnie ESP-12E z uwagi na łatwość lutowania/wymiany).

Termometry DS18B20 - ESP bardzo ładnie je obsługuje.

Łączność - ESP ma wbudowane WiFi, powinno wystarczyć.

Nie jest potrzebny programator, wystarczy konwerter USB/UART (w Botlandzie ok. 7 PLN, ale to drogi sklep).

Godzina z datą - zegarek w kuchni na ESP działa mi już drugi rok, polega wyłącznie na danych pobranych z internetu. Przy czym trzeba pamiętać, że nawet w uśpionym ESP układ RTC pracuje, czyli synchronizacja nie musi się odpywać przy każdym wybudzeniu układu.

Programowanie - do wyboru: albo C++ i Arduino IDE (całkiem porządnie działa), albo oryginalny C od Chińczyków (nie próbowałem, ale w Arduino czasem trzeba użyć funkcji z chińskiego standardu, czyli warto przynajmniej pobieżnie się z nim zapoznać).

Jak dla mnie najtańsze rozwiązanie.

ethanak, w sumie powiedzieliśmy o tym samym 🙂

NodeMCU v3 zawiera ESP8266 w module ESP-12E.

Wgrywając soft NodeMCU można kodzić układ w języku Lua.

ethanak, Czyli układ ESP-12E będę mógł wykorzystać do komunikacji z (powiedzmy) telefonem i przesyłać przez niego dane z mini pro ?

Tedy23, ten uklad możesz wykorzystać samodzielnie bez użycia Arduino. W jego skład wchodzi ESP8266 o taktowaniu 80MHz (chyba tyle) i zintegrowanym module WiFi. Na tym można nawet webserwer postawić. Tylko brać i programować 🙂

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...