Bonjour à tous !
Bon, si je viens ici, c'est que je suis véritablement désespéré (pour planter le décor)
Ca fait pas mal de temps que je travail sur un projet qui met en oeuvre un atmega et qui est censé communiquer avec un module SIM900 MINI.
D'habitude, tout fonctionne niquel, je n'ai jamais de problèmes. Sur ce projet, pour des raisons d'encombrement, et pour des raisons thermiques, j'ai du alimenter mon SIM900 par une alimentation différente.
Par contre j'aimerais que mon atmega, ALIM1, envoi les données au SIM900, ALIM2.
A cet effet, j'ai réalisé une isolation galvanique, sachant que c'est du bus série.
J'ai trouvé un schéma de principe sur internet, j'ai simplement rajouté une porte NON à la fin pour retrouver le signal envoyé, et non l'inverse du signal envoyé.
Je sais que de nombreuses personnes ont leurs façons de faire, et souhaitent toujours aller à la perfection, mais j'aimerais simplement dire que le schéma ci-dessous est parfaitement capable de fonctionner (il me l'a déjà prouvé sur breadboard et sur PCB), et j'aimerais conserver cette structure : Il m'est arrivé à de rares occasions de recevoir un SMS quand j'en avais besoin, mais si j'ai tenté de le perfectionner ce montage, c'est parce que ces SMS étaient bien trop hasardeux, je les recevais pas à chaque fois que cela était nécessaire.
Voici le schéma en question que j'ai réalisé :
Pièce jointe 338461
Sur la borne X1 arrive un 5V permanent de l'alim 1, et sur la borne X3 sa masse. La borne X2 est reliée au TX de mon ATMEGA.
Sur la borne X4 arrive un 5V permanent de l'alim 2, et sur la borne X6 sa masse. La borne X5 est reliée au RX de mon SIM900.
Initialement, j'ai déjà vu fonctionner ce montage avec les valeurs suivantes (accrochez vous)
R1 = 10K
R2 = 220
R4 = 2K2
R5 = 2K2
R6 = 10K
R7 = 100K
Comme le montage était un peu trop hasardeux, j'ai souhaité refaire et ajuster l'intégralité de mes calculs pour éviter de sur-saturer les transistors, et d'envoyer le courant optimal dans l'optocoupleur selon la datasheet (10mA)
Du coup j'ai mesuré les gains des transistors (Hfe = 363 pour Q1 et Hfe = 456 pour Q2)
Ensuite j'ai recalculé les tensions en prenant en compte une tension Vce sat de 0,2V, et (par mesure) une tension de 1,2 V aux bornes de la LED de l'optocoupleur.
J'en ai déterminé les nouvelles valeurs suivantes :
R1 = 180K
R2 = 330
R4 = 2K2
R5 = 2K2
R6 = 1M
R7 = 100K
J'ai presque tout calculé comme il me semble que cela devrait être fait, les seuls composants dont j'ai repris les valeurs "du net" sont les résistances R4, R5 et R7.
R7 je n'arrive pas trop à savoir comment calculer sa valeur, je sais qu'elle est importante, il me semble qu'elle permet de désensibiliser légèrement le transistor pour que sa saturation n'intervienne que lorsqu'un minimum d'intensité est déjà établi dans la LED. Avec mon montage initial et ses valeurs de résistances farfelue, j'avais réussi par essai (potentiomètre multitours) à envoyer un SMS lorsque sa valeur était de 100K. Les jours suivants plus rien.
R4 et R5, elles limitent le courant qui circule lorsque le transistor Q2 et l'optocoupleur est saturé.
Aujourd'hui après avoir remplacé les composants par ces nouvelles valeurs, toujours pas de changement, toujours pas de SMS.
Mes analyses à l'oscillo me montrent déjà que le signal délivré par l'atmega à une forme triangulaire, et le signal reçu par le SIM900 à un léger retard.
Quand j'étais avec mes résistances farfelues les signaux étaient de propres carrés, mais je distinguais nettement qu'il y avait un temps de descente trop long à l'état bas, ce que j'ai souhaité corriger en faisant des calculs prenant en compte les gains réels, et les chutes de tensions (on est sur du 5V, elles ne sont pas négligeables)
Alors je sais pertinemment que les SL5500 et BC547 ne sont pas réputés pour travailler en fréquences élevées, mais on est ici sur du 19200 bauds (valence 2) : ça ne me paraît pas énorme...
De plus pour information j'ai ajouté 53040 condensateurs de toutes valeurs pour filtrer un maximum mon alimentation n°2, pensant au début qu'il s'agissait un problème de CEM qui aurait pu perturber mes fils (non blindés pour les essais)
Donc si vous avez des pistes à me conseiller, je suis preneur.
En cas de désespoir total je vais tenter de remplacer le signal envoyé par mon ATMEGA par un GBF, et d'ajuster mes résistances manuellement jusqu'à obtenir un signal en sortie fidèle et propre (oui je suis un peu taré)
un GRAND MERCI à toutes les personnes qui ont réussi à me lire, un plus grand merci à ceux qui m'on compris, et enfin un MERCI ROYAL à ceux qui prendront le temps de me répondre.
PS : ne m'incendiez pas, j'apprends doucement et je n'ai jamais prétendu détenir la science exacte.
-----