Hallo, ich stehe gerade vor einem Rätsel und brauche mal dringend eure Schwarm-Intelligenz. Das Problem. Mein Atmega startet, die LEDs blinken (Regenbogen - Start Signal) dann linkt die LED (blau), daher weiß ich dass jetzt das HC05 Bluetooth Modul aktiviert wird. Übrigendes es ist eines der "Neuen Serie von Ali" (ohne Adapterplatine und läuft bereits bei 2V - das habe ich mit einem Netzteil getestet). Leider musste ich fest stellen, dass das Datenblatt dazu kaum zu gebrauchen ist, da die Module von unterschiedlichen Herstellern mit unterschiedlicher Bestückung sind :-( .Beim aktivieren des Moduls greift die Burnout Detection, die ich auf 1,8V gestellt habe. Schalte ich diese mit den Fuses H:DF L:62 aus läuft das Programm weiter. Schalte ich sie mit H:DE L:62 ein bootet der Atmel. Mit meinem Mini Oszi habe ich am Batterie Clip gemessen, dort fällt die Spannung nicht unter 1,8V am Atmel kann ich leider gerade kaum messen, da darüber das HT-05 verlötet ist :(. Versorgt habe ich die Schaltung mit einem PC Netzteil. 3,3V 14 Ampere. Da sollte eigentlich auch keine Spannung zusammen brechen. Könnt ihr euch mal bitte den Quelltext und die Eagel Dateien anschauen und mir eure Ideen geben? ... der Reset Pin spielt keine Rolle, diesen habe ich schon über die ISP Schnittstelle auf +3,3V gezogen (ohne Erfolg) Kurz zum Programm, das Programm überwacht eine Box, die bis zum Zeitpunkt X nicht geöffnet werden soll. Die Box beinhaltet einen Schlüssel für ein Spiel. Die Box zählt die Zeit ab und erzeugt dann einen Verifikationscode, den das Handy auswerten kann. Die Stelle des Reboots habe ich auf die Funktion get_BTData() Zeile: 403 eingegrenzt. In dieser Zeile wird der IRLML2502 FET auf GATE mit Strom Versorgt, danach passiert der Reboot, bevor die LED wieder blinken kann. Der Fet schaltet das HC05 ein. Gerne würde ich so wenig wie möglich ändern, da ich nun ein paar von den Platinen hier schon habe und nicht gleich wieder neu bestellen wollte. Da sind wohl jeztt die Kreativen Ideen auch gefragt. Quellcode und Eage Schematik + Layout hänge ich als Bild an.
Die Leiterbahnen hab ich extra dicker gemacht, da ich das Problem schon bei der ersten Platine hatte und vermutete, dass die Leiterbahn wohl zu dünn sei und das das Problem erzeugt. (Ich habe leider keinerlei Elektronik Ausbildung, sondern versuche mir alles selbst an zu eignen, was ich so brauche). Am ADC Register PC0-PC2 hängt die RGB LED. PC5 Schaltet den IRLML2502 FET, der das BT Modul dann mit GND Versorgt. Die Schaltung wird mit 3V (Batterie) bzw 3,3V (Netzteil) versorgt. Die 6V im Schaltplan stammen noch vom vorher eingesetzten ATMEGA8 und zwei Batterien. Das habe ich vergessen aus zu bessern.
Auftrennen der GND Verbindung zum BT Modul ist eine ganz schlechte Idee. Wenn überhaupt, schalte bitte auf der Highside. AREF verbindet man auch nicht mit Vcc, sondern höchstens mit einem 100nF Abblockkondensator. Und mach doch bitte mal einen kompletten Schaltplan.
Matthias S. schrieb: > Auftrennen der GND Verbindung zum BT Modul ist eine ganz schlechte > Idee. > Wenn überhaupt, schalte bitte auf der Highside. > AREF verbindet man auch nicht mit Vcc, sondern höchstens mit einem 100nF > Abblockkondensator. > Und mach doch bitte mal einen kompletten Schaltplan. Hallo Matthias, danke für deine erste Antwort. Das Auftrennen der GND Leitung habe ich gemacht, da beim abschalten der VCC Leitung noch Strom verbraten wurde. Dieser lief dann über GND und dem TX oder RX Pin. Wärst du noch so nett mir zu erklären warum GND trennen so schlecht ist? Ein Link zum einlesen tut es natürlich auch. Könnte AREF das Problem sein? Der Schaltplan ist tatsächlich komplett an PC0-3 hängt die LED (PAD1-4) Die anderen Pads sind 3,3V VCC HC05 2x GND HC05 TX und RX HC05 Bei den TPs hängt ein Taster auf GND (INT0 / INT1). Leider gibt es das HC05 nicht nicht Eagle so dass ich es nicht direkt einzeichnen kann.
Thomas F. schrieb: > Wärst du noch so nett mir zu erklären warum GND > trennen so schlecht ist? Weil in dem Moment dein AVR resettet - das ist doch das Problem. Wenn du VCC trennst und vorher den UART abschaltest, fliesst auch kein Reststrom mehr. Mach mal den kompletten Schaltplan. Thomas F. schrieb: > Leider gibt es das HC05 nicht nicht Eagle so dass ich es nicht direkt > einzeichnen kann. Dann setze doch eine Stiftleiste o.ä. mit der richtigen Anzahl Pins ein. Aber so weiss doch niemand, was was sein soll. N$7 jedenfalls sagt mir nix.
:
Bearbeitet durch User
Beitrag #6985943 wurde vom Autor gelöscht.
ATMega88V und 32,768 MHz soll stabil laufen? Oder sollen das 32,768 kHz sein - dann wird die Baudrate mit 9600 Baud nie erreicht. Thomas F. schrieb: > Die Schaltung wird mit 3V (Batterie) bzw 3,3V (Netzteil) versorgt. Never ever ... zumal der Code auch überhaupt nicht zur Quarz-Angabe passt. Was stimmt den jetzt?
:
Bearbeitet durch User
Matthias S. schrieb: > > Thomas F. schrieb: >> Leider gibt es das HC05 nicht nicht Eagle so dass ich es nicht direkt >> einzeichnen kann. > > Dann setze doch eine Stiftleiste o.ä. mit der richtigen Anzahl Pins ein. > Aber so weiss doch niemand, was was sein soll. N$7 jedenfalls sagt mir > nix. So ich habe schon mal den Plan überarbeitet. Die AREF Leitung streiche ich für die nächste Version, sollte ich nochmal Platinen fertigen lassen, aber da ich den Plan ja hier zur Analyse habe, habe ich alle Leiterbahnen mal so belassen, damit man einen Überblick hat. Die Pin Anzahl Stimmt jetzt auch 1x VCC 2x GND am FET 1x TX und 1x RX
Soso, LED ohne Vorwiderstand und Kreuzchen als Schaltzeichen? Das ist immer noch unleserliches Aneinanderreihen von sinnlosen Symbolen. Aus sicherer Quelle weiss ich nämlich, das es sowohl für LED als auch für Widerstände fertige Symbole in Eagle gibt. Gib dir doch wenigstens ein wenig Mühe mit einem kompletten Schaltplan. Immerhin möchtest du doch Hilfe, oder? Und was ist nun mit dem Quarz? Und INT0 hast du hoffentlich nicht freigegeben. Wenn ich ein Bauteil ohne Eintrag in die Library brauche, mache ich das so wie im Anhang.
:
Bearbeitet durch User
Hallo Matthias, ich gebe mir echt mühe, aber möchte den Schaltplan jetzt nicht zu sehr zu den Platinen verändern, denn dann findet man den Fehler evtl. nicht mehr. Die LED hat es nicht in Eagle gegeben (RGB Led aus China) deswegen hab ich Testpads eben so nebeneinander gesetzt, wie Sie es mit den Buchsenleisten machen. (TP1-4 ist ein SMD Taster) Int0 Ist wirklich ein Testpad, da daran der externe Taster hängt, der am Batterie Board angeschlossen ist. Ich habe inzwischen weitere Tests gemacht. 1. Habe ich die Schaltung ganz wild auf einem Lego Board aufgebaut, auf dem ich Teile auf Legobausteine geklebt habe. (Damit habe ich auch den Schaltplan entwickelt). Da funktioniert seltsamerweise alles. Es sind die gleichen Bauteile und die gleiche Verkabelung. Incl. AREF den ich zum Test genau so falsch auf VCC geklemmt habe. (Ab und Anstecken verändert nicht das Verhalten) Dann dachte ich mir okay vielleicht eine kalte Lötstelle also habe ich eine weitere (neue) Platine bestückt und diese zeigt das gleiche Verhalten wie die erste. (BOD Reset) Also muss es irgendwas mit der Anordnung Leiterbahn dicke oder so zu tun haben. Das ich zwei mal exakt das gleiche Verhalten durch eine kalte Löststelle produziere halte ich für sehr unwahrscheinlich (wäre doch sehr seltsam). Auf die Platine habe ich nur den Atmega diesmal gelötet und das auch ohne AREF Pin. Das BT Modul habe ich von der Lego Platte angeklemmt, damit ich dies auch als Fehlerquelle ausschließen kann. Ich bin echt am Verzweifeln. Der Quarz befindet sich bei den 2 22pf Kondensatoren, auf der anderen Seite der Platine
Jetzt wird es richtig "strange" Wenn ich den Plus Pol vom Blutooth Modul mit einer Krokodilklemme direkt ans Netzteil klemme, dann ist das Problem weg. Wird das Kabel kürzer tritt das Problem wieder auf.
Thomas F. schrieb: > Wird das Kabel kürzer > tritt das Problem wieder auf. Puffer mal deine Versorgungsspannung auf der Platine mit einem grösseren Elko, z.B. 100-470µF und zwar vor dem MOSFet. Probiers dann nochmal.
:
Bearbeitet durch User
Das werde ich morgen gleich mal ausprobieren. Für heute habe ich die Lötsachen auf geräumt. Vielen Dank für deine großartige Unterstützung.
So mir brennt das Thema unter den Nägeln, so habe ich mich direkt daran gemacht und an das BT Modul + und Fet Source einen 1000uF 10V Elko gelötet und damit ist das Problem weg. Es sieht so aus als würde das Modul beim Start irgendwie dem Atmel den Strom zu klauen. Ich werde später mal noch mit 470uF und 100uF probieren. Aber es ist sehr interessant, dass das nur auf der Platine auf taucht.
Thomas F. schrieb: > 102431.jpg Wusste gar nicht, das der Mega88 auch INT3 hat :-P Thomas F. schrieb: > Es sieht so aus als würde das > Modul beim Start irgendwie dem Atmel den Strom zu klauen Jo, das Modul lädt mögl. intern auch einen Kondensator auf und braucht Anlaufstrom. Das deutet aber darauf hin, das dein Strompfad zu schwach ist. > einen 1000uF 10V Elko Naja, bisschen viel ist das schon, aber was solls. Die nächste Platine würde ich aber schon sauberer routen und den Elko gleich vorsehen. Wenn du die Anschlusspads etwas ordentlicher strukturierst, sinkt übrigens die Gefahr des 'irgendwann falsch anschliessen'.
:
Bearbeitet durch User
Ja INT3 kommt davon, wenn man das Layout 2x auf eine Platine kopiert und dann selbst aus schneidet. 😁 Meinen Sie es würde etwas bringen, wenn ich VCC direkt ans BT Modul als Speisepunkt legen würde? Die Leiterbahnen für VCC Gnd zum Fet habe ich schon extra bei dem Layout breit gemacht (das war meine Vermutung beim ersten Layout) am Atmel sind sie lt. Eagle 0,024 und für Gnd und VCC zum Fet 0,056 Ich versuche nachher mal noch kleinere uF Werte und Berichte nochmal. Das Modul scheint zumindest wenn es nicht verbunden ist richtig Strom zu fressen, denn dann merkt man trotz des Elkos bei einer nicht ganz vollen Batterie ein leichtes Flackern der LED. Sobald mit dem Handy gekoppelt ist, ist das Flackern vorbei.
Thomas F. schrieb: > Das Modul scheint zumindest wenn es nicht verbunden ist richtig Strom zu > fressen, denn dann merkt man trotz des Elkos bei einer nicht ganz vollen > Batterie ein leichtes Flackern der LED. Das ist bei Funkmodulen oft so, weil sie broadcasten, um sich entweder selber zu annoncieren (BT) oder um Verbindung mit einem Netz zu bekommen (GSM, LTE, WLAN). Die Espressif Module z.B. sind dafür bekannt, das sie auch mal 300mA ziehen können und deswegen eine gepufferte Versorgung brauchen. Beim HC05 ist mir das bis jetzt nicht so aufgefallen, habe aber auch erst eines in einem OBD2 Dongle verbaut, der sowieso vom Auto gespeist wird. Da gibts Reserve ohne Ende und der MC dadrin (ELM327) wird nicht gestört. Das liegt aber vermutlich daran, das die Jungs genau wissen, das die 12V im Auto grausam gestört sind und deswegen wird gut gepuffert. Thomas F. schrieb: > Meinen Sie es würde etwas bringen, wenn ich VCC direkt ans BT Modul als > Speisepunkt legen würde? Kannst mich ruhig wieder duzen. Ich würde, um nochmal auf den Anfang zu verweisen, VCC mit einem P-Kanal schalten und nicht GND. Es ist immer hilfreich, wenn der Bezugs- und Schirmungspunkt eines Moduls dauerhaft mit GND verbunden ist, vor allem, weil es ein HF Modul ist.
:
Bearbeitet durch User
> Kannst mich ruhig wieder duzen. Ich würde, um nochmal auf den Anfang zu > verweisen, VCC mit einem P-Kanal schalten und nicht GND. Es ist immer > hilfreich, wenn der Bezugs- und Schirmungspunkt eines Moduls dauerhaft > mit GND verbunden ist, vor allem, weil es ein HF Modul ist. Das mit dem PFet werde ich auf jeden Fall beherzigen wenn ich wieder Platinen machen lasse. Bisher habe ich immer alles mit NFets gemacht und hatte nicht auf dem Radar, dass es eine Rolle spielen könnte ob ich nun VCC oder Gnd trenne. Gibt es da eine Regel wann man welchen Pol schaltet? Bei Relais sehe ich das sehr oft, dass gegen Gnd geschaltet wird.
Thomas F. schrieb: > Burnout Detection Brownout ... Setz mal einen kleinen Widerstand von 1-5R zwischen BT Modul und Versorgung aus Deiner PCB. Das spielt für das Modul während des Betriebes keine Rolle, aber die hohen Peakströme, wenn die Kondensatoren geladen werden, werden begrenzt und die VCC an der MCU bricht nicht so stark ein. Dein Mini Oszi ist wahrscheinlich nur zu langsam, um den kurzen neg. Peak zu sehen, der die Brownout detection triggert. 1k-4k7 in RX und TX zum Modul, begrenzt die Ströme, wenn das BT Modul sich den fehlenden GND über seine Discretes holen will. Gate Vorwiderstand zum T2, macht den langsamer und begrenzt damit auch die Peakströme die Dein Hauptproblem sind. 1-10K geraten.
Thomas F. schrieb: > Bei Relais sehe ich das sehr oft, dass gegen Gnd geschaltet > wird. Das stimmt, aber ein Relais hat auch eine galvanische Trennung zwischen Steuer- und Lastkreis. Lampen und LED kann man auch problemlos in der Lowside schalten. Bei Dingen, die mit mehr als nur der Versorgung verbunden sind, passiert es aber, das das Ding sich bei Auftrennen von GND anfängt, über die anderen Leitungen Strom zu beziehen, wie Max gerade sagte. Das muss nicht VCC sein, es kann eben auch GND sein. HF Module sind nochmal was besonders, weil die ganze Schirmung und der HF Bezugspunkt dann abgetrennt werden, wenn man GND trennt. Für ordentliche Verhältnisse und maximales Stromsparen ist es deswegen sinnvoll, alle Leitungen auf passiv zu schalten (bspw. als Digital Input) und dann VCC zu kappen.
Super danke für die kurze und Verständliche Erklärung, das bringt mir sehr viel und wird definitiv umgesetzt. Wenn ich da Platinen nach bestelle oder ein neues Projekt beginne wird das als erstes berücksichtigt 👍
Max M. schrieb: > Gate Vorwiderstand zum T2, macht den langsamer und begrenzt damit auch > die Peakströme die Dein Hauptproblem sind. Vorsicht, das muss nicht klappen. Manche MC/Module reagieren allergisch auf zu langsamen Anstieg der Versorgung. Also ausprobieren, bzw. einen Gatewiderstand zwar vorsehen, aber sich noch nicht auf einen Wert festlegen.
>> die Peakströme die Dein Hauptproblem sind.
Stimmt, ich habe jetzt mit 4,7 und 10 Ohm im VCC Lane zum BT Modul
getestet bei 10 Ohm klappt es bei 4,7 noch nicht.
Der Spannungsabfall über den 10R wird das BT Modul kaum stören. Über 0,7V sollte der im Betrieb aber nicht werden, sonst fängt die TX Leitung der MCU an das BT Modul zu speisen.
Max M. schrieb: > Der Spannungsabfall über den 10R wird das BT Modul kaum stören. > Über 0,7V sollte der im Betrieb aber nicht werden, sonst fängt die TX > Leitung der MCU an das BT Modul zu speisen. Danke für die info. Ich habe mir jetzt auch mal ein Hm10 Modul bestellt, das soll wohl wesentlich weniger Strom ziehen. Das werde ich jetzt testen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.