Goto page 1, 2 Next
Atlantis
Guest
Sat Aug 01, 2015 6:10 am
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").
Atlantis
Guest
Mon Aug 03, 2015 10:53 am
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
Atlantis
Guest
Wed Aug 05, 2015 1:34 pm
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?
Marek
Guest
Wed Aug 05, 2015 5:17 pm
On Wed, 5 Aug 2015 15:34:26 +0200, Atlantis <marekw1986NOSPAM@wp.pl>
wrote:
Quote:
Można to jakoś obejść? Może coś przeoczyłem?
Po co? Czas masz w module.
--
Marek
Atlantis
Guest
Wed Aug 05, 2015 11:39 pm
W dniu 2015-08-05 o 19:17, Marek pisze:
Quote:
Po co? Czas masz w module.
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...
Marek
Guest
Thu Aug 06, 2015 8:00 am
On Thu, 6 Aug 2015 01:39:01 +0200, Atlantis <marekw1986NOSPAM@wp.pl>
wrote:
Quote:
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...
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ć.
--
Marek
Atlantis
Guest
Thu Aug 06, 2015 8:50 am
W dniu 2015-08-06 o 10:00, Marek pisze:
Quote:
Większość modułów gsm ma alarm, tym możesz wyzwalać/synchronizować
liczniki w mcu.
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.
Quote:
A btw po co Ci zew. mcu skoro chcesz programować moduł "wewnętrznie"?
Alarmy możesz też wew. obsłużyć.
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...
Pawel2420
Guest
Thu Aug 06, 2015 5:54 pm
W dniu 2015-08-06 o 10:50, Atlantis pisze:
Quote:
Zapytałem rozmówcy, czy posiada jakieś przykłady, opis SDK,
instrukcję konfiguracji środowiska programistycznego. I co? Cisza...
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
Marek
Guest
Thu Aug 06, 2015 8:08 pm
On Thu, 6 Aug 2015 10:50:50 +0200, Atlantis <marekw1986NOSPAM@wp.pl>
wrote:
Quote:
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ść
module najpierw będę musiał przeparsować komunikat przychodzący po
interfejsie szeregowym.
No to możesz używać do synchronizacji liczników raz na jakiś czas.
Quote:
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...
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.
--
Marek
Atlantis
Guest
Fri Aug 07, 2015 6:53 am
W dniu 2015-08-06 o 19:54, Pawel2420 pisze:
Quote:
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ć.
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...
Quote:
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.
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?
Atlantis
Guest
Fri Aug 07, 2015 6:59 am
W dniu 2015-08-06 o 22:08, Marek pisze:
Quote:
No to możesz używać do synchronizacji liczników raz na jakiś czas.
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.
Quote:
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.
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...
pawel2420
Guest
Fri Aug 07, 2015 8:13 am
Quote:
W Internecie już wstępnie szukałem, ale niczego nie widzę.
Chyba marnie szukałeś.
Np. tu są jakieś dokumenty:
http://hokee.com.ua/fibocom-g510/
Pamiętaj, że są to dość stare pliki. Aktualne SDK uzyskasz od dystrybutorów.
Quote:
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.
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.
Quote:
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?
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ę
Quote:
Jak obsługuje się SPI albo I2C?
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
https://inode.pl/
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.
http://www.ti.com/tool/cc2541dk-sensor
Paweł
Marek
Guest
Fri Aug 07, 2015 8:21 am
On Fri, 7 Aug 2015 08:59:31 +0200, Atlantis <marekw1986NOSPAM@wp.pl>
wrote:
Quote:
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.
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?
--
Marek
Atlantis
Guest
Thu Aug 27, 2015 2:59 pm
W dniu 2015-08-07 o 10:13, pawel2420 pisze:
Quote:
Pamiętaj, że są to dość stare pliki. Aktualne SDK uzyskasz od
dystrybutorów.
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?
Quote:
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.
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?
Quote:
W G510 nie ma obsługi tych interfejsów. I2C jest dostępny w G610.
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?
Quote:
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.
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.
Marek
Guest
Thu Aug 27, 2015 3:22 pm
On Thu, 27 Aug 2015 16:59:54 +0200, Atlantis <marekw1986NOSPAM@wp.pl>
wrote:
Quote:
Do tego dookoła mniejsze czujniki, zasilane bateryjnie,
komunikujące się
z główną stacją za pomocą modułów radiowych RFM69.
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?
--
Marek
Goto page 1, 2 Next