Hallo Zusammen, Auf einem PCB habe ich einen Atmega328P, bis zu drei Feuchtigkeitssensoren (Analog) mit je 30cm Kabel dazwischen, Transistoren für 12V-Ventile und einen MAX485 converter um die Werte per RS485 zu einem Master zu kommunizieren. Versorgt wird alles über einen 12V Input und einem DCDC-Wandler auf 5V für die genannten Komponenten. Nun habe ich das Problem, dass manche Sensoren obwohl ansonsten funktionsfähig den RS485 Converter in seiner Funktion beeinträchtigen (Start-Bytes fehlen oder Nachrichten gehen gar nicht raus). Ich vermute, dass die sich über die gemeinsame Versorgungsspannung irgendwie stören. Bin gerade dabei mir ein Oszi zu organisieren um das mal zu quantifizieren. DCDC-Konverter und Atmega haben übrigens bereits die üblichen bzw. im Datenblatt vorgeschriebenen Entkopplungs-KerKos. Ich hab gelesen, dass es nicht schaden kann, auch an den MAX485 und die Sensor Stecker jeweils 100nF KerKos vorzusehen. Haltet ihr das für sinnvoll? Gibt es noch andere Möglichkeiten die irgendwie besser abzukapseln? Ich hatte schon überlegt einen separaten DCDC-Wandler nur für die Sensoren vorzusehen, oder macht das beim gemeinsamen GND eh keinen Sinn?
ein Kerko ist nicht dazu da irgendwelche Störungen durch einen DCDC Wandler zu verhindern. Ein Kerko stützt bei Umschaltvorgängen damit diese Spannungseinbrüche sich nicht auf die Versorgungsleitungen ausbreiten und diese wiederum als Störsender fungieren. Ein Analogsensor verursacht auch durch das langsame Signal keine Störungen. Wenn das Signal vom Analogsensor zu hochohmig ist dann kann das Signal durch äußere Einflüsse gestört werden. Beispiel ein Poti nimmt man eins mit 1-10 kOhm funktioniert das recht gut wenn jetzt jemand eins mit 100 kOhm nimmt kann man damit Radioempfang aufzeichnen. Ich hatte mal im Datenblatt des ATTiny26 eine Enstörung mittel Spule der AVCC Spannung gesehen, das hilft anscheinend etwas Störungen von der AVCC Spannungsversorgung fern zu halten. Dein Problem wird einfach dieser DC-DC Wandler, das Ventil selbst(keine Freilaufdiode) oder dessen Versorgung sein, vielleicht zieht das kurzzeitig soviel das 12V Leitung zusammenbricht und es nicht mehr für die 5V ausreicht. Mach doch mal ein Bild deines Aufbaus da kann man gleich viel mehr sagen was nicht so gut ist.
Klingt nach fehlendem "failsafe" auf dem Bus. Mittels PullUp/PullDown sollte an einer Stelle am RS485 Bus für definierte Pegel gesorgt werden falls kein Sender aktiv ist. GND mitführen, daber das dürfte eh der Fall sein. Siehe auch RS485 im Wiki.
Felix schrieb: > Gibt es noch andere Möglichkeiten die irgendwie besser > abzukapseln? Ich hatte schon überlegt einen separaten DCDC-Wandler nur > für die Sensoren vorzusehen, oder macht das beim gemeinsamen GND eh > keinen Sinn? Du könntest dir die Masseführung angucken. Die schönsten getrennten DCDC-Wandler nützen nichts, wenn sie eine gemeinsame Masse benutzen und ungünstig verdrahtet sind. Allerdings sollte das eigentlich den RS485 nicht stören, wenn alles richtig verdrahtet ist und Ströme von ein paar mA fließen. Normal wäre dann eher, dass das Rauschen der Sensorwerte zunimmt. Kurz: Da wird mit deinem Schaltplan oder dem Aufbau etwas im Argen liegen.
Felix schrieb: > Nun habe ich das Problem, dass manche Sensoren obwohl ansonsten > funktionsfähig den RS485 Converter in seiner Funktion beeinträchtigen > (Start-Bytes fehlen oder Nachrichten gehen gar nicht raus). Niemals. Das ist zu 99% ein Softwareproblem. > Ich vermute, dass die sich über die gemeinsame Versorgungsspannung > irgendwie stören. Aber doch nicht ein SENSOR! Der liefert schwache, harmlose Signale! > Bin gerade dabei mir ein Oszi zu organisieren um das > mal zu quantifizieren. DCDC-Konverter und Atmega haben übrigens bereits > die üblichen bzw. im Datenblatt vorgeschriebenen Entkopplungs-KerKos. Eher stört der deine Sensoren, denn die meisten, kleinen billigen DC/DC Wandler spucken ordentlich Störungen aus, sowohl über Leitungen als auch feldgebunden. > Ich hab gelesen, dass es nicht schaden kann, auch an den MAX485 und die > Sensor Stecker jeweils 100nF KerKos vorzusehen. Haltet ihr das für > sinnvoll? Ja sicher. Warum hast du sie eingespart? https://www.mikrocontroller.net/articles/Kondensator#Entkoppelkondensator > Gibt es noch andere Möglichkeiten die irgendwie besser > abzukapseln? Ich hatte schon überlegt einen separaten DCDC-Wandler nur > für die Sensoren vorzusehen, Unsinn. Zeig lieber mal deinen Schaltplan, Layout und praktischen Aufbau.
Felix schrieb: > dass manche Sensoren obwohl ansonsten funktionsfähig den RS485 Converter > in seiner Funktion beeinträchtigen Das werden wohl kaum die analogen Feuchtesensoren sein, sondern eher die Felix schrieb: > 12V-Ventile Du musst also strategisch die Ursache analysieren und weniger Felix schrieb: > vermute
MaWin schrieb: > Das werden wohl kaum die analogen Feuchtesensoren sein, sondern eher die > > Felix schrieb: >> 12V-Ventile Im aktuellen Setup zeichne ich aktuell nur die Sensorwerte auf, die Ventile sind alle noch gar nicht angeschlossen. Jegliche Störungen müssten also durch Fehler in dem restlichen Schaltplan kommen. Zum Schaltplan: U2 ist der MAX485, der gesamte Ventilteil unten links ist unbenutzt aktuell. Sensoranschlüsse rechts, daran kommt dann mit 30cm Kabel der jeweilige Sensor. Links oben zwei Stecker mit BUS (A,B) und 12V und GND womit auch mehrere Slaves als Daisy-Chain hintereinander gehangen werden können. Vorne und hinten sind GND-Planes.
Man sollte immer verlinken, wovon das die Fortsetzung ist: Beitrag "Re: Mysteriöse Instabilitäten bei RS485 zwischen RPi und mehreren Slaves" Prinzipiell ist nichts zu sehen, warum diese Schaltung die RS-485 stören sollte. Ich würde mal direkt vor den ADC-Eingang des AVR noch einen 10k zur Entkopplung setzen. Da der MAX485 ja Leistung treiben kann, würde ich zur Stützung einen 100nF + 10µF direkt an VCC/GND des MAX setzen.
Felix schrieb: > Screenshot_Schaltplan.JPG Das ist kein Schaltplan. Falsches Bild erwischt und Hinweis zu Bildformaten nicht verstanden?
Dazu eine doofe Frage: Peter D. schrieb: > Ich würde mal direkt vor den ADC-Eingang des AVR noch einen 10k zur > Entkopplung setzen. Wozu ist der gut?
ja schick mal deinen Schaltplan nicht nur das Board. Beim Hersteller des MAX485 gibt einige Beispiele zur Beschaltung da wird mind. 3,1µF für VCC genommen ich würde auch wie schon gesagt einen 100nF Kerko zusätzlich hin machen. Da du das ja eh neu machen wirst würde ich dem µC ein LC-Filter mit 100mH+10µF spendieren um den größten Müll des DCDC Wandlers fernzuhalten.
Du bist dir bewusst dass viele rs485 wandler ziemlicher müll sind? Die ohne separte rx/tx umschaltleitung verschluken gerne mal den anfang.
Pepe T. schrieb: > Du bist dir bewusst dass viele rs485 wandler ziemlicher müll sind? > Die ohne separte rx/tx umschaltleitung verschluken gerne mal den anfang. Das wage ich zu bezweifeln.
Thomas O. schrieb: > ja schick mal deinen Schaltplan nicht nur das Board. Hab immer Angst, dass da meine Arbeit zerrissen wird, aber hier isser :) Hab an den Max jetzt schon 100nF und 10uF KerKos vorgesehen.
Felix schrieb: > Hab immer Angst, dass da meine Arbeit zerrissen wird, Nun ja, wenn gleich es dafür berechtigte Ängste gibt, vor allem ind iesem Forum, muss man auch konstantieren, daß Kritikkompetenz kein Allgemeingut ist. https://de.wikipedia.org/wiki/Kritikkompetenz Dein Schaltplan erliegt dem Zeitgeist. Das ist kein sonderlich guter Schaltplan, sondern eine unsinnige Anhäufuung von Labels. Das wurde schon 1001 mal diskutiert. Schaltplan richtig zeichnen Aber es gab hier schon DEUTLICH schlechtere Schaltpläne. Dein U1 ist häßlich. Erstens gekippt und zweitens mit Signalen durch das Symbol. C2 ist ein Tippfehler oder Unsinn. 100pF? Oder sollten das eher 100nF sein? Dito C1. Deine GND-Symbole an J1, J4 J5 stehen auf dem Kopf, das ist ungünstig. Was sollen R1, R2 und R5 machen? 1M als Pull Down Widerstand? Warum führst du AREF auf die Stecker? Das klingt eher nach Stress, dort kann man sich viele Störungen einfangen. AREF sollte eigentlich nur am Contoller anliegen und dort mit 100nF gepuffert werden. Was sollen die in der Luft schwebenden Labels unten links? Deine Ventilansteuerung ist an sich zwar OK, aber erstens komsich dimensioniert (220 Ohm Basiswiderstand sind grenzwertig wenige) und 2. Unsinnig verwinkelt gezeichnet. Man hätte besser einen ULN2803 oder ULN2007 genommen. AREF und AVCC werden NICHT direkt verbunden! AREF bekommt nur einen 100nF Kondensator! AVCC geht in den meisten Fällen an VCC, ggf. mit LC oder RC-Filter dazwischen. > aber hier isser :) > Hab an den Max jetzt schon 100nF und 10uF KerKos vorgesehen. Schon mal OK. Dein Problem liegt in der Software oder in den fehlenen Pull-Up/Down Widerständen am RS485 Bus.
Felix schrieb: > Hab immer Angst, dass da meine Arbeit zerrissen wird, aber hier isser :) Brauchst du nicht, der Schaltplan ist schon zerrissen genug ;-) Warum verwendest du keine Linien, um Bauteil zu verbinden. Bei so einem Suchspiel macht es keinen Spaß, Signale zu verfolgen.
Wie machst du die sende - empfangs umschaltung und wie machen das die sensoren?
Felix schrieb: > Screenshot_Schaltplan.PNG Bist du sicher, dass deine Software kompatibel zum Schaltplan ist? Meist ist es keine gute Idee oder zumindest überflüssig, ARef mit AVCC zu verbinden. Der Pin ist laut Datenblatt lediglich zum Anschluss eines Entkopplungskondensators vorgesehen, der das Rauschverhalten des ADC verbessert. Um AVCC als Referenz zu verwenden, besitzt der ATmega328 Steuerbits im ADMUX-Register. Auch ist in deinem Schaltplan keine Entkopplung von AVCC und VCC zu entdecken. Nicht ohne Grund steht im Datenblatt: "If the ADC is used, it should be connected to VCC through a low-pass filter." (Kap. 1.1.7 AVcc)
Wer liest denn das rs485 signal ein? Bei meinen rs485 experimenten mit stromzählern und solarinvertern kan es öfters vor dass der rs485-usb adapter am PC das erste byte verschlukt hat. Dasselbe am orangepi. Ich denke da war die automatische rx-tx umschaltung im usb-adapter schuld. Bin dem aber nie auf grung nachgegengen. Deine probleme klingen ganz ähnlich.
was mir so an deinem Schaltplan auffällt ist, zum einen der fehlende Elko z.B. 1000µF vor dem L7805, weiterhin zw. Reglereingang und GND ein 100nF Kerko und zw. Reglerausgang und GND ebenfalls ein 100nF Kerko. In Reihe zur Diode könntest du ein eine kleine Drosselspule 10mH / 1A reinmachen wer weis was deinen Ventile für einen Dreck auf der 12V Schiene produzieren. Die Schaltung deiner Ventile erschließt sich mir nicht ganz du schaltest doch auf der Masse Seite, deine Freilaufdiode sollte nun antiparallel zum Ventil sein. Was für Ventile steuerst du an? Welchen Widerstand haben diese, den der BCX56 ist nicht besonderst stark.
Thomas O. schrieb: > was mir so an deinem Schaltplan auffällt ist, zum einen der fehlende > Elko z.B. 1000µF vor dem L7805, Wozu? Dort hängt doch kein 50 Hz Gleichrichter dran, sondern ein Netzteil mit 12V Gleichspannung. > weiterhin zw. Reglereingang und GND ein > 100nF Kerko und zw. Reglerausgang und GND ebenfalls ein 100nF Kerko. In > Reihe zur Diode könntest du ein eine kleine Drosselspule 10mH / 1A > reinmachen wer weis was deinen Ventile für einen Dreck auf der 12V > Schiene produzieren. Käse^3! Ersten braucht das keiner, weil die Spulen mit Freilaufdiode schlicht handzahm sind und 2. hast du mal überlegt, wie große eine 10mH/1A Spule ist? Und 3. Hat der OP die Ventilansteuerung noch gar nicht in Betrieb, trotzdem gibt es Fehler. Klingt so wie Handyfunkmasten, die selbst im ausgeschalteten Zustand Leute in Angst und Schrecken versetzen. > Die Schaltung deiner Ventile erschließt sich mir nicht ganz du schaltest > doch auf der Masse Seite, deine Freilaufdiode sollte nun antiparallel > zum Ventil sein. Ist sie auch, nur schlecht gezeichnet.
wenn das direkt nach dem Gleichrichter wäre würden 1000µF für 1A eh nicht reichen. Es geht darum das beim Schalten der Ventile(Frequenz unbekannt) der LM7805 nicht aus dem tritt kommt. 10mH war jetzt etwas hoch gegriffen 1mH sollte auch reichen, ich habe da immer soetwas verwendet und bin immer gut mit gefahren. Leider wurde die Auswahl bei Reichelt jetzt sehr klein. https://www.reichelt.de/festinduktivitaet-axial-77a-ferrit-470-h-fas-77a-471m-p245522.html Da er den Ventilantrieb noch nicht in Verwendung hat, werden die Störungen ja nicht kleiner wenn es in Betrieb geht und dann können die 1000µF das ganze etwas stützen.
Thomas O. schrieb: > wenn das direkt nach dem Gleichrichter wäre würden 1000µF für 1A > eh nicht reichen. Es geht darum das beim Schalten der Ventile(Frequenz > unbekannt) der LM7805 nicht aus dem tritt kommt. Die Größe des Ladekondensators hinter dem Gleichrichter hängt immer noch von der Spannung ab. Wieviel Strom die Ventile maximal benötigen, sehe ich da nicht - wie kommst du auf 1A? Der LM7805 ist keine getaktete Logik. Da kommt nichts aus dem Tritt. Solange seine Drop-Spannung nicht unterschritten wird, ist alles in Ordnung.
Thomas O. schrieb: > wenn das direkt nach dem Gleichrichter wäre würden 1000µF für 1A eh > nicht reichen. Es geht darum das beim Schalten der Ventile(Frequenz > unbekannt) der LM7805 nicht aus dem tritt kommt. Das kommt er nicht! Auch wenn Spulen und Magnetventile für viele Leute hier Magie sind, so sind die im Normalfall deutlich unkritischer als die Leute denken. Beim Einschalten steigt der Strom eher langsam, begrenzt durch die Induktivität. Beim Ausschalten fällt Laststrom für den Spannungsregler zwar sehr schnell, so schnell wie der Transistor schaltet. Aber das verkrafter der Spannungsregler, wenn gleich er ein paar hundert mV überschwingt. Aber der Spulenstrom klingt eher langsam durch die Freilaufdiode ab. Langsamer als beim Einschalten, da die Flußspannung der Diode sehr klein ist und und der ohmsche Anteil der Spule die Verluste erzeugt. > 10mH war jetzt etwas hoch gegriffen 1mH sollte auch reichen, ich habe da > immer soetwas verwendet und bin immer gut mit gefahren. Aus Angst und Unwissen. Globuli für Elektroniker. > Da er den Ventilantrieb noch nicht in Verwendung hat, werden die > Störungen ja nicht kleiner wenn es in Betrieb geht und dann können die > 1000µF das ganze etwas stützen. Das ist gar nicht das Thema der Diskussion! Der OP hat Fehler, auch ohne Ventilansteuerung. Also muss er die erstmal finden!
Falk B. schrieb: > Das ist gar nicht das Thema der Diskussion! Der OP hat Fehler, auch ohne > Ventilansteuerung. Also muss er die erstmal finden! Nein! Wir machen da erst mal drosseln und elkos rein. Ob das funktioniert interessiert nur sekundär.
Hallo, mir fehlt im Schaltplan die I2C Busterminierung. Der R17 hängt zudem verloren in der Luft. An RO (U2) muss zwingend noch ein Pullup ran. Mach es wie gezeigt und die Hardware passt. Dann ist es wirklich nur noch Software.
Hallo zusammen, schonmal danke für die vielen Tipps!!! Falk B. schrieb: > C2 ist ein Tippfehler oder Unsinn. 100pF? Oder sollten das eher 100nF > sein? Hupsi, stimmt! Ich seh gerade das hab ich sogar so mit den Mini-Werten fertigen lassen!!! (auweia) (Offenbar hats sogar bisher trotzdem funktioniert...) Ist korrigiert. Falk B. schrieb: > Warum führst du AREF auf die Stecker? Das klingt eher nach Stress, dort > kann man sich viele Störungen einfangen. AREF sollte eigentlich nur am > Contoller anliegen und dort mit 100nF gepuffert werden. Das hab ich mal aus einem Tutorial übernommen, schaue ich mir auf jeden Fall nochmal an. Recherche hat eine Schaltung ergeben, die mir plausibel scheint (s. Bild). Kann man das so machen? Falk B. schrieb: > fehlenen Pull-Up/Down > Widerständen am RS485 Bus Die sind tatsächlich am Start vom Bus auf dem Master-Board (je 510R).
Felix schrieb: > Das hab ich mal aus einem Tutorial übernommen, schaue ich mir auf jeden > Fall nochmal an. Recherche hat eine Schaltung ergeben, die mir plausibel > scheint (s. Bild). Kann man das so machen? Ja
Super, danke dir! AVCC ist aber nur für den Chip richtig? Die Sensoren selbst hänge ich an VCC oder auch an AVCC hinter die Spule?
Felix schrieb: > Super, danke dir! > AVCC ist aber nur für den Chip richtig? Ja. > Die Sensoren selbst hänge ich an > VCC oder auch an AVCC hinter die Spule? Was sind denn das für Sensoren? Wenn die eine etwas bessere Analogspannung brauchen, spendiert man denen eben auch einen LC-Filter wie für den AVR. Sind ja nur ein paar mA. Da reicht ein Filter für alle drei Sensoren.
Danke nochmal für die Antwort! Falk B. schrieb: > Was sind denn das für Sensoren? Wenn die eine etwas bessere > Analogspannung brauchen, Feuchtigkeitssensoren. Denke nicht, dass die noch nen Filter brauchen.
Felix schrieb: > Falk B. schrieb: >> Was sind denn das für Sensoren? Wenn die eine etwas bessere >> Analogspannung brauchen, > > Feuchtigkeitssensoren. Denke nicht, dass die noch nen Filter brauchen. War das meine Frage?
Falk B. schrieb: > Veit D. schrieb: >> mir fehlt im Schaltplan die I2C Busterminierung. > > Der OP hat gar kein I2C. Okay, dumm gelaufen. Das ist ein Tippfehler. Sorry. Eigentlich sieht man ja das es sich um RS485 handelt. ;-) Mein Einwand bleibt damit bestehen. Mich wundert jedoch immer noch das niemand auf die Busterminierung eingeht die in seinem Schaltplan falsch bzw. unvollständig ist. @ Felix: Dann zeichne deinen Schaltplan vollständig, sonst ist das erneutes Rätselraten und sorgt wie du merkst nur für Verwirrung. Das macht keinen Spass. Dein letztes Bild zeigt die Grundbeschaltung laut Atmel Appnote. Kann also nicht falsch sein. In der Appnote gibts noch mehr Informationen.
Die Resetbeschaltung habe ich bisher immer mit 10kOhm und 100nF gemacht, das verzögert den Start zusätzlich um 1mSek falls du bei den Fuses nicht mit einer Verzögerung arbeitest. 100 kOhm finde ich arg hochohmig, wenn da irgendetwas in der Nähe stört wirst du damit Probleme haben. Es sollte halt bei Einsatz von debubWire nicht unter 10kOhm sein, sonst kann es der Programmer nicht zuverlässig runterziehen.
Hallo, stimmt, die 100k sind etwas viel. Bestimmt ein Tippfehler. ;-) Edit: Wobei in der 042 Appnote weiter unten im Layout Bsp. wirklich ein 100k + 4,7nF am Reset klemmen. Oder der ATmega324PB hat eine andere Resetinnenschaltung. Weiter oben im Text ist von 4,7 - 10k und 100nF die Rede.
:
Bearbeitet durch User
Veit D. schrieb: > Weiter oben im Text ist von 4,7 - 10k und 100nF die Rede. Da oben ist die rede davon dass er serielle startbits verliert. Das wird 100%ig vom reset pullup beeinflusst. Garantiert! Genauso wie der booster wirkt!
:
Bearbeitet durch User
Hallo, ich sprach allein vom Text in der Appnote.
Veit D. schrieb: > 100k sind etwas viel. Bestimmt ein Tippfehler Denke ich auch. In meinem Breadboard-Aufbau funktionieren 10k ganz wunderbar :)
Veit D. schrieb: > Edit: Wobei in der 042 Appnote weiter unten im Layout Bsp. wirklich ein > 100k + 4,7nF am Reset klemmen. Oder der ATmega324PB hat eine andere > Resetinnenschaltung. Weiter oben im Text ist von 4,7 - 10k und 100nF die > Rede. Und wo siehst du das Problem? Rechne mal die Zeitkonstanten aus und wundere dich.
Veit D. schrieb: > Hallo, ... > Resetinnenschaltung. ... Ist das nicht ein wenig übertrieben? SCNR. Arno
Hallo, Leute, macht was ihr wollt. Ich habs auch nur gut gemeint. Es ist nichts weiter wie die empfohlene Standardbeschaltung laut Hersteller. Wer es besser kann/weiß soll es machen. Ich bin raus.
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.