![]() |
Pic e GSM salve a tutti, ..vorrei iniziare a realizzare una allarme basato su un Pic + dei sensori ad infrarosso e infine una scheda-modem GSM, oppure se qualche esperto mi sa consigliare utilizzando direttamente un cellulare. Se qualcuno ha esperienza in questo campo, chiedo consigli, e/o conferme su quello che sto leggendo in rete qua e la. faccio una premessa, ho realizzato un circuito che invia una luce infrarosso e un circuito che la riceve basata su him602, qui il primo problema. L'integrato quando riceve la luce ad infrarosso, sul pin Vout abbassa la tensione portandola a 0 Volt, solo che dopo un secondo ritorna a 5 Volt sebene la luce ad infrarosso sia ancora puntata al ricevitore. [quindi se qualcuno ha informazioni su questo fatto o consigli ??] o eventualmente conosce qualche integrato alternativo. Adesso il tema centrale : COME FAR DIALOGARE UN MODULO GSM CON UN PIC ??? allora per quello che ho capito un modulo GSM comunica con la modalità F-BUS, che prevede un bus per TX un bus per RX, e GND, la comunicazione è di tipo classica seriale 9600 bps, chiedo conferma ... per questo non serve niente perchè la seriale è di tipo TTL quindi i livelli di tensione sono uguali , cosa diversa se invece volessimo portarli in un PC dove invece serve il max232. quindi il PIC in teoria può comunicare l'avvenuta ricezione di passaggio ladro attraverso l'infrarosso ... e inviare alla scheda GSM i comandi AT opportuni per inviare un SMS ad un numero prefissatto. Perchè uso i sensori ad infrarosso e non i soliti? perchè siccome nell'ambiente in esame ci sono dei cani, passando potrebbero far scattare l'allarme, invece con l'infrarosso c'è la possibilità di poter leggere solo ad una determinata altezza , in questo modo l'allarme scatta solo se passa un soggetto alto più di un metro e venti !!!! ritorniamo al tema i comandi AT possono essere inviati attraverso la classica procedura in assembler : message movlw 'A' call send movlw 'T' call send movlw 'D' call send movlw '3' call send movlw '9' call send movlw '3' call send movlw '4' call send movlw '7' call send movlw 'x' call send movlw 'x' call send movlw 'x' call send movlw 'x' call send movlw 0x0D ; CR call send movlw 0x0A ; LF call send return ; __________________________________________________ ________ ; ; SEND CHARACTER IN W VIA RS232 AND WAIT UNTIL FINISHED SENDING ; ------------------------------------ send MOVWF TXREG ; send data in W TransWt BSF STATUS,RP0 ; RAM PAGE 1 WtHere BTFSS TXSTA,TRMT ; (1) transmission is complete if hi GOTO WtHere BCF STATUS,RP0 ; RAM PAGE 0 RETURN |
Citazione:
http://www.pctunerup.com/up/results/...modulatore.jpg quindi è normale che il tipo di trigger che gli dai tu non genera una lettura pulita, prova a collegare il tuo raggio infrarosso ad un NE555 che genera 38 kHz secchi e vedrai che dovrebbe migliorare il risultato (mi pare infatti che il tuo sensore ha anche uno stadio di ingresso che filtra l'onda quadra), occhio però deve essere una quadra simmetrica !! Citazione:
MODEM GSM WAVECOM WM15410 INTEGRA M2106B | eBay [/QUOTE] Citazione:
Citazione:
|
grazie per avermi scritto.. sono contento di aver ricevuto la tua risposta, l'ho letta e devo dire che le tue osservazioni sono interessanti . In merito al N555 già in uso però , mi sono accorto che il TX infrarosso invia a 37,5 e non a 38... facendo i calcoli devo cambiare resistenze.. anczi se avevi uno schema che trasmette a 38 Khz mi faresti una cortesia.. in ogni caso immagino che sulla rete si trovino. Per la velocità d comunicazione ho appena letto che può essere regolata con i comandi AT. ma adesso questo è l'ultimo dei problemi per completezza mi veniva in mente di manomettere un vecchio cellulare Nokia per cercare di capire se è possibile utilizzarlo al posto di un modulo GSM, abbatterei i costi completamente. a dopo Citazione:
Esatto, solitamente questi moduli hanno una memoria fisica nella quale memorizzare il testo del messaggio, oppure lo memorizzi nella memoria EEPROM dello stesso PIC, ma assicurati di avere memoria sufficiente per tutti i messaggi che vuoi. Questa parte, almeno a prima vista sembra corretta.[/QUOTE] |
continua 1 Allegato/i nel frattempo.. mi sono documentato e ho trovato un immagine che spiega i pin di un nokia 1616 semplice telefono GSM.. ..però potrebbe essere interessante collegare il cell al PC con un Hyper terminal, fare le prove e capire facilmente i parametri attraverso i quali lavora la rs232 del 1616. fatto qusto lavoro svelati tutti i parametri.. si può procede con la stesura del firmware per un PIC 16F876 che in automatico invia SMS in caso il sensore infrarosso dovesse rilevare il passaggio di qualcuno Citazione:
|
L'avevo fatto qualche anno fa con un vecchio telefono C35 Siemens, questo Siemens C35 - Schede-cellulari.it I comandi AT si trovano qui http://amber.feld.cvut.cz/user/pokorny/bpdp/S35_ATC.PDF Non è difficile ma c'è da perderci un pò di tempo e un pò di credito della sim perchè quando sbagli magari ti partono chiamate o sms a numeri che non vorresti, :lol: Per provare con l'hyperterminal devi fare un interfaccina con max232 perchè di solito i livelli dei telefoni sono TTL a 5 o anche a 3.3V. Di tutti quei comandi te ne servono solo 3 o 4 ma adesso non mi ricordo quali erano, se cerchi in rete progetti fatti con il C35/S35 trovi diverso materiale, anche perchè quello della siemens è stato il modem più diffuso anche sulle centraline di allarme, per un bel periodo di tempo. |
-- si ho la idee chiare, serve avere i comandi AT della Nokia, o dell'eventuale cellulare usato. Mi pare già di aver trovato un link interessante. L'idea è quella di riciclare i vecchi cellulari che nn si usano più, e un him602 da pochi euro , qualche resistenza e un N555 un led infrarosso infine un 16F876 basta! a dopo fausto Citazione:
|
Con questo puoi provare i comandi AT, dopo basta ripeterli sul pic Alberto Alessi - Home Page |
primi problemi, le saldature oggi volevo inziare a metterci le mani, ma non trovo una soluzione per saldare i tre cavetti TX,RX e GND al cellulare! dall'immagine precedente si vedono bene i pin-out ma il vero problema è come portare fuori i tre collegamenti! , forse dovrei smontare il case e beccare nel retro i tre collegamenti, oltre tutto sopra ci deve scorrere la Sim. ai ai ai ai.. ci sono proposte suggerimenti? a dopo fausto |
smontato, ma niente da fare detto, fatto.. ho smontato il Nokia 1616, tutto per intero, ma nel retro niente non c'è appiglio! come faccio a saldare dei cavetti ai pin-out? porca miseria, per una fesseria devo stare a guardare! lunedì vado da un negozio di componenti elettronici, parlo con un tecnico , vedo un po cosa mi consiglia.. a dopo vi faccio sapere sempre su questo canale fausto Citazione:
|
forare con punta da 1mm? un ipotesi, potrebbe essere forare con una punta da 1 mm il pin-out? fatto il foro cosi come una basetta 1.000 fori si ci salda il cavetto? no troppo semplice vero? cosa ne penate? o c'è il rischio che il foro vada a danneggiare i collegamenti? Citazione:
|
1 Allegato/i ecco una nuova immagine fedele al mio cellulare.. alla situazione in cui è tutto smontato, quindi la mia idea è forare con punta da 1mm il pin-out del GND del TX e del RX, fatto questo mettero un cavetto che esce fuori per ognuo , fatto questo porterò i pin fuori collegandoli al max 232 quindi al PC attraverso la seriale, fatto questo ecc.. Citazione:
|
soluzione allora eccomi ritornato dal negozio di componenti elettronici, mi hanno dato come soluzione una vernice elettro conduttrice, su come prepararla c'è qui un link Come si usa la vernice elettroconduttiva a base di argento | Ephestione's HQ in modo che a chiunque venisse in mente di fare la stessa cosa che voglio fare io trova una soluzione. Quindi stasera qunado avrò il tempo farò il lavoro di portare le connessioni fuori con i tre relativi cavetti. La vernice speciale servirà per evitare di fare la saldatura direttamente sui pin, che per prima cosa nn si fanno attaccare e poi sopra scorre la Sim, per cui anche nella migliore delle ipotesi fisicamente darebbe fastidio. L a vernice in causa permette le saldature. Incrociamo le dita e proseguo per l'avventura. a dopo Citazione:
|
1 Allegato/i ho fatto le piste per i tre cavetti, me piste mi sono venute una schifezza, spero che funzioni ! Citazione:
|
ok con il tester sembra funzionare, però adesso devo saldare all'estremità un cavo che comunichi con l'esterno, Per la cronaca userò MBUS per cui costruirò una quarta pista, appunto per MBUS, perchè MBUS ha una velocità di 9600 bps, va bene il PIC 16F876 con quarzo da 4 Mhz invece con FBUS TX e RX occorre il quarzo da 20 Mhz. L'MBUS è un cavo solo che se connesso alla RX della seriale, ovviamente attraverso un MAX232 riceve.. oppure sulla TX per trasmettere.. Siccome nel mio caso devo far funzionare come allarme, deve solo poter trasmettere... spero di essermi spiegato, per qualunque dubbio conttatemi. |
deludente deludente, mi sono accorto che MBUS e GND sono cortocircuitati! ho fatto la prova con un Nokia 1616 nuovo , lo stesso discorso! adesso mi son stancato. credo che la cosa più giusta da fare sia rivolgere l'attenzione ad un cellulare dodato di cavetto apposito, e prendere i segnali dal cavetto, altrimenti prendo un prodotto come questo, e con 29 euro me ne esco.. poi alla fine delle prove fatte con il PC, prendo l'ingresso del max232 e lo invio al Pic. MODEM CON TC35 SIEMENS L' idea del cellulare era per avere un sistema compatto che non richiede alimentazione da 12 Volt... Citazione:
|
-- ecco qui' '+' se trovassi un cellulare nokia in commercio magari economico che abbia lo stesso cavetto potre fare un buon lavoro. All'auchan ho acquistato dei pannelli fotovoltaici che caricano qualunque cellulare, per cui prendedone due potrei realizzare questo sistema assieme ad una barriera IR per poter funzionare in aperta campagna, autonomamente il sistema si ricaricherebbe. a dopo fausto Citazione:
|
ai ai ai mi rispondo da solo, ... in giro c'è gente veramente più pazza! ecco www.pacca.it - Cavetto FBUS per cellulari Nokia questo tipo è riuscito a realizzare il sistema che stavo cercando di impiantare, devo ammettere con una idea semplice ma geniale, si è costruito con plexiglas un parallelepipedo a dimensione di batteria! Geniale !! semplicemente Geniale!! detto questo però mi sono reso conto che il nokia 1616 è inutilizzabile perchè nasconde i connettori sotto la sim, quindi va bene Nokia ma non il 1616. Altro problema, spazzolando il datasheet del 16F876 non trovo la velocità di 115,200bps ...che è la velocità usata da Nokia per l' F-BUS Embedtronics - Nokia F-Bus Protocol made simple Qualcuno ha qualcosa da dire in merito? oppure misteri della fede? a dopo |
Basta usare la formula appropiata per settare il registro del divisore SPBRG, avendo cura di settare anche il birt BRGH. la formula è: Baud Rate = FOSC/(16 (X + 1)) risolta per X: X=((FOSC/Baud Rate)/16) - 1 nel caso di FOSC = 16MHz e Baud rate = 115.200 avrai SPBRG = 8 ( errore di br accettabile, divisore teorico sarebbe 7,68) Se hai FOSC = 4 MHz non puoi usare i 115.200 Baud. :yeah: |
uart da 115.200 come fare? oppure andare a realizzare una UART software da 115.200 con quarzo da 4 Mhz qui c'è un esempio: il calcolo dovrebbe essere fatto come segue 1.000.000 / 115.200 = 8.6 uS quindi potremmo arrotondare con 9 uS per cui dobbiamo far passare tra un bit e l'altro 9 uS oppure se utilizziamo un quarzo da 20 Mhz 43,4 ovvero 43 uS secondo me è ideale questa soluzione che adopera il 20 Mhz cosa ne pensate? txbyte movwf temp movlw d'10' ; 1 start + 8 data + 1 stop movwf cnt bcf status,c ;start bit movf portb,w txloop andlw 0ff-(1<<seroutbit) skpc iorlw 1<<seroutbit movwf portb sec rrf temp ; carry shifted in as stop bit decfsz cnt goto txloop return Citazione:
|
!!! si è vero c'è una formula, devo andarla a rivedere.. e applicarla, l'avevo rimossa, o meglio ricordavo erroneamente che SPBRG influiva in modo standard con le velocità espresse nella tabella, invece esso può generare dei valori di bps opportuni, comppresi ovviamente nel range descritto dalla tabella. ogni tanto un ripasso, non fa male! comunque pian piano cercherò di costruire quest soluzione che è veramente interessante, ma quante applicazioni si possono fare ? a dopo e grazie Citazione:
|
ok .... sono andato a leggere il datasheet allora Fosc=16.000.000 baud Rate = 115.00 = _______________ 16( X +1) per cui 1 16 * X + 16 __________ =__________________ 115.200 16.000.000 16.000.000 __________ - 16 = 16 * X 115.200 16.000.000 _____________ - 16 115.200 HBRG X= ___________________ = 7.68 16 ma deve essere un numero intero quindi 8 però in realtà se facciamo gli stessi calcoli usando 4.000.000 e un baud rate di 9600 X = 25,04 che arrotondato con 25 rappresenta un dato quasi esatto, con una differenza meno di 0.06 in questo caso invece abbiamo uno scarto di 0.32 , ben più grande... forse e ripeto fors,e potrebbe essere meglio usare un 20 Mhz magari otteniamo un' arrotondamento meno aggressivo? faccio una prova... Citazione:
|
Più è alta la frequenza del quarzo minore è l'errore percentuale del generatore di baud-rate. La massima precisione però non è strettamente necessaria, la USART hw dei PIC, se non ricordo male, fa 3 (5?) campionamenti per ogni bit quindi il rischio di perdita dati è decisamente ridotto. Come standard io tendo ad usare la massima frequenza di funzionamento dei PIC, usando oscillatori esterni ed il PLL interno, l'uso di un oscillatore esterno garantisce una migliore precisione di frequenza, anche con variazioni di temperatura, inoltre libera un piedino del micro che io in genere dedico per il debug. :yeah: |
ok ok allora vado a prendere adesso un quarzo da 20 Mhz poi faccio il calcolo per ottenere il HBRG corretto per avere i 115200 baud.. che dici.. ogni sera per un motivo o l'altro sto scendendo a catania centro... è un casino ogni volta! a dopo fausto Citazione:
|
Occhio ho comprato due quarzi uno da 20 e l'altro da 16 Mhz, il risultato è che funzionano solo nelle velocità indicate nel datasheet, per cui la mia considerazione iniziale era corretta, per avere USaRT hardware da 115200 occorre passare al 18F2320 e quarzo da 40 Mhz a pagina 200 trovi la soluzione. quindi non mi resta che passare alla UART software se voglio rimanere con 16F876. Ho com test solo la TX.. perchè a me interessa in futuro inviare SMS.. quindi quei calcoli vanno bene ma solo nell'ambito delle velocità prestabilite. a dopo Citazione:
|
Funzionaa allora ci siamo questo primo ste è superato, il pic 16F876 con quarzo da 16 Mhz trasmette ee riceve a 115200 quindi conpatibile con l' FBUS dei cellulari.:D ti chiedo scusa, :fiu:, la mia "supposta" era errata, per scrupolo ho rifatto la prova ci siamo funziona con un applicazione in JAva che legge e scrive su seriale.. devo vedere forse nel'Hyper terminal avevo qualche impostazione errata. Adesso ho sonno vado a dormire.. il set delle variabili eccolo: MOVLW 8 MOVWF SPBRG MOLW b'00100100' MOVWF TXSTA MOVLW b'1001000' MOVWF RCSTA insomma nel registro TXSTA il bit BRGH=1 8 in SPBRG come da calcolo, daltronte 57600 x 2 = 115200 era quasi scontato che da 16 si passi a 8 !!! Ho già realizzato la sagoma in plexiglas per connettermi al cellulare, dovrei usare un alcatel.. ha i pinout fuori dalla sim.. per cui lunediì ci rimettero mani, girando per i negozi stasera ho notato che tutti i nuovi Nokia hanno i pin sotto la sim... insomma strateggico, per non farsi fregare.. ...bha , ...adesso mi riposo per qualche giorno. ti ringrazio, se non avessi avuto il tuo sprono mi sarei rassegnato, su quello che leggevo nel datasheet... invece un tarlo in testa mi diceva, "prova figliuolo, prova, chi sa se quel buonomo nel forum di barone rosso la racconta giusta... abbi fiducia figliuolo ..prova" :icon_rofl e così provo pure in java e scopro che ok, ok a dopo fausto Citazione:
|
Visto che hai i due quarzi, ti conviene usare quello da 20 Mhz, dato che con 20Mhz e 0x0A come divisore ottieni 113.636 con un errore pari a 1,37%, mentre con 16Mhz e 0x08 come divisore ottieni 111,111 con il 3.6% di errore. Michele |
ok si ok già fatto! Citazione:
|
ostacolo il primo ostacolo è superato.. ma il secondo NOO!! se qualcuno ha spunti? allora sono riuscito a portare i pin del Nokia 1616 fuori dal cellulare, ho testato un nokia 1616 nuovo usando il tester.. per cui metto un puntale su GND e uno su TX, e ppoi su RX rilevo, i dati OK, poi faccio lo stesso sul Nokia modificato attraverso i pim esterni, ok gli stessi valori del primo. LA soluzione è stata la vernice elettroconduttrice, solo che anzichè saldarla con i cavetti esterni , li ho connessi con l'attack, nella guaina, mentre il contatto con una seconda "colata" di vernice che unisce le piste disegnate con i cavetti. Sono contento del risultato, sembra piuttosto solido. Adesso ho appena realizzato un semplice circuito, il classico con Max232 e i 5 condensatori, testato con il Pic funziona, funziona anche con i 115.200 bps. Ok quindi collego direttamente gli ingressi del circuito al Nokia 1616, su Hyper terminal scrivo AT [invio] ,niente elettroencefalogramma piatto! nessuna risposta... io mi aspettavo un OK come da manuale... dove sbaglio? per come avevo capito io il cellulare attraverso TX e RX FBUS comunica con il protocollo seriale asincrono con 115.200 bps e che fosse stato sufficiente Hyper terminal poter controllare, ovviamente avendo cura di convertire i segnali EIA in TTL.. a dopo fausto |
leggo adesso il tuo consiglio, ringrazio vivamente, magari provo un software diverso dell'Hyper terminal.. chissa se c'azzecco! grazie Citazione:
|
-- ho trovato questo schema www.pacca.it - Cavetto FBUS per cellulari Nokia vi antrebbe di analizzarloa assieme? Citazione:
|
| Tutti gli orari sono GMT +2. Adesso sono le 13:12. |
Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002