SIM300CZ zasilanie

Aug 01, 2015 15 Replies

Niby mógłbym podpiąć to zagadnienie pod jedną ze wcześniejszych dyskusji, jednak dla utrzymania porządku na grupie wolę wyznaczyć nowy temat. A więc kontynuując rozważania na temat modułów GSM.



Załóżmy, że nie będę szukał czegoś, do czego da się wgrać własny soft (nieważne kompilowany czy interpretowany skrypt) tylko zamiast tego postawię na stare rozwiązanie z osobnym MCU (Atmega albo STM32). Ja powinien wyglądać obwód zasilania? Do tej pory specjalnie nie musiałem się tym martwić, bo z mikrosterownikiem nie pracowały żadne specjalizowane układy, które wymagałyby konkretnego napięcia zasilania. Na dobrą sprawę mogłem wszystko zasilić bezpośrednio z baterii przyjmując, że VCC będzie się zmieniało w czasie wraz z jej rozładowywaniem i ładowaniem.



W tym wypadku w układzie znajdą się jednak elementy, które wymagają konkretnego zasilania - około 3,3V (np. moduł RF, wyświetlacz LCD i karta SD). Moduł posiada niby pin VDD_EXT, z którego można pobierać



2,93V ale tylko max 60mA, a więc zdecydowanie za mało. Jak najprościej uzyskać wszystkie potrzebne napięcia?

Czy takie dwa podejścia będą prawidłowe?


1) Układ bez baterii. Całość zasilamy ze stabilizowanego zasilacza 5V. Na wejściu dajemy dwa stabilizatory liniowe na odpowiednio wyższe prądy, produkujące 4V-4,2V (podłączone do VBAT modułu) i 3,3V (linia zasilająca pozostałą elektronikę).


2) Układ z baterią, wykorzystujący układ ładowania wbudowany w SIM300CZ. Do pinu VCHG podłączam zewnętrzne zasilanie 5V. Do VBAT podłączona bateria litowo-polimerowa na jakieś 600-700 mAh. Z tego samego miejsca zasilam stabilizator liniowy LDO 3,3V dla reszty elektroniki. Zaleta takiego rozwiązania będzie taka, że uzyskam zasilanie buforowane



- w razie awarii sieci układ będzie jeszcze przez jakiś czas mógł pracować na baterii. Podłączanie LDO do linii 5V nie ma sensu, bo po co mi podtrzymywanie modułu GSM, jeśli nie będzie działała sterująca nim elektronika? Tutaj pojawia się jednak pewna wątpliwość - jaki LDO zastosować, żeby maksymalnie wykorzystać możliwości baterii? Jak układ zachowa się, gdy bateria będzie bliska rozładowania? Wiem, że istnieją dedykowane przetwornice impulsowe, które są w stanie dostarczać 3,3V aż do zadziałania zabezpieczeń przed głębokim rozładowaniem. Jednak ich cena jest dość wysoka, a praca na samej baterii nie będzie częstą sytuacją (widzę w niej rodzaj "UPS-a").


Tak jeszcze kilka pytań przyszło mi do głowy:

1) Czy przypadkiem przypadkiem fakt pobierania zasilania dla innych elementów z linii VBAT nie zakłóci w jakiś sposób pracy układu ładowania wbudowanego w SIM300CZ? Można jednocześnie ładować baterię i pobierać z niej zasilanie? 2) W datasheecie modułu pojawiła się informacja o ograniczeniu prądu na linii VCHG do 650mA. Wzmianka o tym została umieszczona w wymaganiach, a więc raczej nie chodzi o to, że takie zabezpieczenie jest umieszczone w module - raczej trzeba je samodzielnie zaimplementować. Ktoś może to potwierdzić? Jak taki układ mógłby wyglądać w najprostszej wersji? Jest może jakiś niedrogi i łatwo dostępny scalak, który realizowałby taką funkcję?

Może w ogóle nie warto się bawić w zasilanie bateryjne i lepiej doprowadzić zasilanie przed osobne stabilizatory LDO o odpowiedniej wydajności prądowej:

1) 4V-4,2V podłączony do VBAT modułu GSM. 2) 3,3V dla całej reszty elektroniki

I jeszcze jedno pytanie odnośnie tego modułu. Z tego co widzę w dokumentacji, to posiada on wbudowany RTC z podtrzymywaniem bateryjnym. Nigdzie jednak nie widzę wyjścia sygnału zegarowego, które można by sprząc z przerwaniem zewnętrznym MCU. Wychodzi więc na to, że można co najwyżej odczytywać aktualną datę i godzinę przez UART, ale nie da się wykorzystać tego zegara do synchronicznego wykonywania określonych zadań przez mikrokontroler. Żeby cyklicznie odczytywać godzinę i tak będę potrzebował sprzętowego timera, który w dodatku nie będzie zsynchronizowany z tym taktującym RTC. Można to jakoś obejść? Może coś przeoczyłem? Czy jednak najlepszym rozwiązaniem będzie odpuszczenie sobie tego RTC wbudowanego w moduł i podłączenie kwarcu zegarkowego bezpośrednio do MCU?

W dniu 2015-08-05 o 19:17, Marek pisze:

Czas tak, ale o ile mi wiadomo moduł nie generuje sygnałów zegarowych, pod które mógłbym podpiąć jakieś przerwanie i wykorzystać do obsługi liczników. To i tak będę musiał zrobić na MCU. A ponieważ zależy mi na jak najdokładniejszym odliczaniu sekund, równie dobrze mogę zrobić sobie uniksowy zegar...

zegarowych,

Większość modułów gsm ma alarm, tym możesz wyzwalać/synchronizować liczniki w mcu. A btw po co Ci zew. mcu skoro chcesz programować moduł "wewnętrznie"? Alarmy możesz też wew. obsłużyć.

W dniu 2015-08-06 o 10:00, Marek pisze:

No tak, niemniej czas reakcji będzie różnił się o całe rzędy wartości. W przypadku linii podającej sygnał na zewnętrzne przerwanie całość zadziała niemal natychmiast. W przypadku alarmu zaprogramowanego w module najpierw będę musiał przeparsować komunikat przychodzący po interfejsie szeregowym.

SIM300CZ też zaprogramuję w ten sposób? Możesz podesłać jakąś dokumentację? Bo z tym jest największy problem. Jeśli da się w ten sposób programować SIM300, to chyba producent się nie chwali za bardzo tą możliwością. W Internecie bez trudu można znaleźć listę komend AT, parę przykładów ich obsługi i PDF z poradami odnośnie projektowania części sprzętowej. Nic poza tym. Albo zobacz parę wątków wyżej. Jeden z kolegów podrzucił link do modułu w ofercie Maritexu. Modułu, który ponoć da się programować. Problem w tym, że na stronie sklepu znajdują się jedynie materiały związane z korzystaniem tego sprzętu jako ze zwykłego modemu, sterownego komendami AT. Zapytałem rozmówcy, czy posiada jakieś przykłady, opis SDK, instrukcję konfiguracji środowiska programistycznego. I co? Cisza...

W dniu 2015-08-06 o 10:50, Atlantis pisze:

To ja wspomniałem o tym G510 Open CPU. Żadne zapytanie do mnie nie dotarło. Do modemu oczywiście jest SDK zawierajace środowisko do kompilowania, przykłady, opisy itd. Poproś o to jakiegoś dystrybutora lub poszukaj w Internecie. Ja nie jestem właścicielem tych dokumentów nie mogę więc ich publicznie udostępnić. Mało wygodny okazał się oryginalny program do wymiany firmware.. Napisałem więc własny. Jeśli kogoś on interesuje to mogę go udostępnić. Wymaga on jednak zamontowania na płytce układu FT2320X.

Podstawowe informacje o G510 Open CPU poniżej. Główny procesor prawie w

100% może się zająć obsługą aplikacji użytkownika. Wewnątrz układu jest drugi specjalizowany uC zajmujący się wyłącznie częścią radiową. Nie wiem czy celowo czy przez przypadek do pakietu dodane jest też jakieś bardzo potężnie narzędzie do debugowania procesora na najniższym poziomie. Poraża ono jednak mnogością okienek i nie mam pojęcia jak się nim posługiwać.

Hardware: Base Band RDA8851(MIPS), 208MHz Flash Code Space(BYTE) 512K Flash Data Space(BYTE) 512K RAM(BYTE) 512K UART 3 GPIO 5 INT 2

Software: File System No limits with file number. File storage space is

512k; each file cannot exceed 100k. Software Timer Unit: ms(higher than 500ms is recommended) You can enable at most 25 software timers at the same time. Thread 5 Watchdog Supported TCP Server Supported

Support: UART1 Upgrade module firmware Provided UART1Upgrade customer software Provided Remote Upgrade customer software Supported Debug Method UART1, UART2 print and HOST UAR trace

No to możesz używać do synchronizacji liczników raz na jakiś czas.

Większość modułów gsm ma podobny lub identyczny zestaw komend (dot. gsm), jeśli dokumentacja do simcoma jest niekompletna użyj dokumentacji np. od jakiegoś telefonu ericssona np. t68 ma dobrą dokumentację komend AT , wypróbuj je. Komendy obsługi zegara i alarmu powinny być te same.

W dniu 2015-08-06 o 19:54, Pawel2420 pisze:

W Internecie już wstępnie szukałem, ale niczego nie widzę. Spodziewałem się, że sytuacja będzie wyglądała podobnie, jak w przypadku ESP8266. Jeśli skądś można ściągnąć te materiały, to producent dobrze je schował... Do kogo mogę się odezwać w tej sprawie? Gdzie Ty dostałeś swoje kopie? Najchętniej rzuciłbym okiem na przykłady jeszcze przed zakupem samych modułów...

Może być FT232RL? Do większych projektów i tak zwykle go dodaję, nawet jeśli urządzenie nie musi zbyt często komunikować się z komputerem przez USB. Zawsze trochę ułatwia to konfigurację i wgrywanie oprogramowania.

Mogę jeszcze zapytać jak wygląda obsługa TCP/IP w tym SDK? Coś podobnego do socketów POSIX czy przyjęta została inna filozofia? Jak obsługuje się SPI albo I2C?

W dniu 2015-08-06 o 22:08, Marek pisze:

Jak dla mnie gra niewarta świeczki, bo w takim wypadku tak czy inaczej będę musiał mieć działający niezależnie RTC na Timer2 AVR-a. W równoległym korzystaniu z zegara wbudowanego w SIM300 widzę tylko jedną zaletę - podtrzymywanie bateryjne, dzięki któremu mógłbym pobierać czas nie mając połączenia z siecią. Obydwa zegary można by synchronizować przy okazji pojedynczego zapytania NTP. Tyle tylko, że to jednak zbytnia komplikacja.

No ale my teraz przecież nie mówimy o komendach AT. Zapytałeś dlaczego w ogóle chcę korzystać z zewnętrznego MCU, skoro mogę kod odpalić na samym module. Zdziwiłem się, bo nigdy nie spotkałem się z wzmianką o takiej możliwości w przypadku SIM300 (a to jego dotyczy ten wątek). Pomyślałem, że jeśli producent przewidział taką opcję, to się nią nie chwali w dostępnej dokumentacji. Bo same komendy AT są dobrze opisane. Tyle tylko, że do nich już potrzebuję zewnętrznego mikrokontrolera...

Chyba marnie szukałeś. Np. tu są jakieś dokumenty:

formatting link
ętaj, że są to dość stare pliki. Aktualne SDK uzyskasz od dystrybutorów.

Ja użyłem FT230X. Poza interfejsem UART obsługuje on również sygnał reset. Oryginalne oprogramowanie wymaga ręcznego wywołania resetu. To mi najbardziej przeszkadzało.

Taka jak w każdym innym modemie. Sprawdziłem, że modem obsługuje też protokół SSL jakim interesowałeś się wcześniej. Są też bardzo proste w użyciu instrukcje do wysyłania/pobierania danych przez HTTP i HTTPS.

Jak obsługuje się

W G510 nie ma obsługi tych interfejsów. I2C jest dostępny w G610. Tak jak już wcześniej napisałem modem ma mało wyprowadzeń. Zupełnie to nie przeszkadza w zastosowaniu jakie chyba chcesz zrealizować czyli zbierania danych z bezprzewodowych czujników. Początkowo myślałem, że chcesz komunikację oprzeć o moduły ESP. Co ze względu na pobór prądu wydawało mi się to złym pomysłem. Wskazałem więc adres

formatting link
z rozwiązaniem opartym właśnie na G510 i interfejsie BLE, który moim zdaniem jest idealny do takich zastosowań. Prosty czujnik temperatury/wilgotności ma wielkość monety a bateria wystarcza na rok pracy. Są też bardziej wyrafinowane czujniki zawierające wiele sensorów np.
formatting link
Paweł

Skoro sim300 nie ma możliwości pracy standalone z "wew. softem" to i tak musisz użyć zew. mcu. A skoro musi być zew. mcu to w czym problem użyć jego timerów do implementacji odliczania czasu?

W dniu 2015-08-07 o 10:13, pawel2420 pisze:

Hmnm... Wracając do tematu: Do kogo trzeba by się odezwać, żeby otrzymać SDK? Na jakich zasadach jest ono dystrybuowane? Trzeba je kupić, czy producent udostępnia narzędzia zainteresowanym?

Standardowy FT232 nie udostępnia przypadkiem pozostałych linii interfejsu RS232, poza RX i TX? A może udostępnia, ale steruje nimi samodzielnie, zgodnie z ich funkcją przewidzianą przez standard?

Hmm... G610 jak rozumiem nie posiada interfejsu SPI? Pytam, bo nie widzę o nim wzmianki w dokumentacji, jest za to wymieniony na stronie przedmiotu w TME. Najbardziej prawdopodobnym wyjaśnieniem będzie jednak tutaj pomyłka obsługi sklepu. ;) W każdym razie, czy programowe SPI na pinach GPIO sprawdzi się tutaj? Chciałbym podpiąć do tego modułu takie elementy jak RFM69 (radio) i kartę pamięci. Odnośnie karty pamięci. Da się ją w jakiś prosty sposób zintegrować z istniejącym systemem (w materiałach dotyczących modemu widziałem opis funkcji służących do obsługi plików -jak mniemam tworzonych w jakiejś wewnętrznej pamięci). Może dałoby się użyć tego samego mechanizmu do obsługi karty pamięci? Czy też jedynym wyjściem będzie niezależna implementacja FatFS?

Mam trochę inny pomysł - jedno centralne urządzenie wyposażone w moduł GSM, zasilane z sieci lub akumulatora doładowywanego panelem słonecznym. Do tego dookoła mniejsze czujniki, zasilane bateryjnie, komunikujące się z główną stacją za pomocą modułów radiowych RFM69.

komunikujące się

Ile już w końcu uruchomiłeś tych modułów rfm69? Chętnie wysłucham doświadczeń. Były może w wersji H (jak jej zasięg wypada)? Jak sprawuje się w nich kryptografia?

W dniu 2015-08-27 o 17:22, Marek pisze:

Jak na razie tylko sprawdziłem, czy działają posiłkując się opisem z nowego wydania "Green Booka" M. Kardasia. Mogę powiedzieć tyle, że działają. A ponieważ w tej chwili nie potrzebuję zasięgu mieszonego w setkach metrów, postanowiłem je wykorzystać.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required