Hallo,
ich habe mich an meiner ersten Mikrocontroller-Schaltung versucht und
einige Infos mit einfließen lassen, die ich hier im Forum gefunden habe.
Hausautomatisierung mal wieder. Da alles was ich bisher gefunden hab
nicht das kann was ich gerne hätte erfinde ich das Rad eben neu :-)
Das ganze soll eine kleine Platine werden die in der Unterputz-Dose
verschwindet. Über RS485 ist sie mit den Aktoren im Schaltschrank
(Keller, ca. 15m) verbunden. Über den OneWire-Bus sollen weitere
Komponenten in einem Zimmer, z.B. Temperatursensor und Fensterkontakte
angeschlossen werden können. Dessen Länge sollte also nicht mehr als 10m
betragen.
Die ganzen IO's dienen zum Anschluss von Tastern. Im Moment benötige ich
2x2 Rolladen + 2x Licht = 6 Eingänge. Hab mal ein paar mehr vorgesehen
als Puffer. Die meisten können auch als Ausgänge verwendet werden, um
LED's zu treiben. An den Pins die zum ISP gehen habe ich mich nicht
getraut Kondensatoren hinzuhängen. Deshalb mit Pullup. Könnte ich mir
die ganzen Kondensatoren + Widerstände sparen wenn da keine langen Kabel
bis zu den Tastern dran hängen (ca. 20cm)?
Am RM-Stecker soll ein Rauchmelder angeschlossen werden. Der gibt ca. 6V
aus wenn er Rauch erkannt hat. Bzw. er kann als Alarm verwendet werden
wenn man ihn mit mindestens 3V ansteuert.
Als RS485 Transceiver ist gerade der MAX485 eingezeichnet. Ich würde
aber den Pin-Kompatiblen LT1785 verbauen - den habe ich nur in KiCad
nicht gefunden.
Mit der Versorgungsspannung gehe ich wahrscheinlich weiter runter auf
ca. 8-9V und nicht 24V wie eingezeichnet um die Verlustleistung zu
verringern.
Fragen:
- Benötigt der Mikrocontroller an jedem VCC-Pin einen 100nF-Kondensator
oder reicht einer für beide VCC-Pins?
- Ist der DS2482 als OneWire-Master übertrieben? Würdet ihr OneWire
direkt mit einem Pin vom Controller emulieren?
- Passt der Überspannungsschutz mit den Varistoren so bei dieser
Anwendung?
- Sonstige Punkte die ich noch beachten sollte?
Bevor ich das ganze auf eine Platine quetsche würde ich mich über
konstruktive Rückmeldungen freuen!
Felix schrieb:> - Benötigt der Mikrocontroller an jedem VCC-Pin einen 100nF-Kondensator> oder reicht einer für beide VCC-Pins?
Jedes Pärchen bekommt einen eigenen Kondensator.
> - Ist der DS2482 als OneWire-Master übertrieben? Würdet ihr OneWire> direkt mit einem Pin vom Controller emulieren?
Das macht der ATMega mit links und nebenbei.
> - Passt der Überspannungsschutz mit den Varistoren so bei dieser> Anwendung?
Du musst viel Angst haben.
> - Sonstige Punkte die ich noch beachten sollte?
AREF nicht an VCC legen.
Was soll der Quarz an PD5 und PD6? Falls das der Taktoszillator sein
soll, sind es die falschen Pins.
Welcher Kabeltyp für RS485 hat nur 30pF pro Meter?
Felix schrieb:> Fragen:> - Benötigt der Mikrocontroller an jedem VCC-Pin einen 100nF-Kondensator> oder reicht einer für beide VCC-Pins?
Ein Kondensator fuer jeden Versorgungspin ist gute Praxis. Zum Test
solltest Du mit den Finger vom Chip ueber den Kondensator zum Chip
zurueck die Schleife abfahren. Die Schleife sollte moeglichst kein
sein...
> - Ist der DS2482 als OneWire-Master übertrieben? Würdet ihr OneWire> direkt mit einem Pin vom Controller emulieren?
Hast Du noch einen UART mit RX/TX frei? Suche mal mit Google nach
"one-wire uart" fuer eine Loesung ohne externen One-Wire Master.
24 Volt sind für einen ua78m05 ganz hart an der Obergrenze von 25Volt.
Außerdem würd ich keine 19Volt an einem Linearregler verheizen wollen.
Uwe B. schrieb:>> - Ist der DS2482 als OneWire-Master übertrieben? Würdet ihr OneWire>> direkt mit einem Pin vom Controller emulieren?> Hast Du noch einen UART mit RX/TX frei? Suche mal mit Google nach> "one-wire uart" fuer eine Loesung ohne externen One-Wire Master.
Das bekommt der AVR ohne zusätzlichen Master in Software gut hin.
Felix schrieb:> - Ist der DS2482 als OneWire-Master übertrieben? Würdet ihr OneWire> direkt mit einem Pin vom Controller emulieren?
Kommt ganz auf Deine Programmiererfahrungen an.
Der DS2482 nimmt Dir nur das Timing ab, d.h. Du kannst ihn beliebig
langsam ansteuern und must keine anderen Interrupts sperren.
D.h. Du hast keine Seiteneffekte auf andere Tasks.
Allerdings wird die Firmware komplexer, da Du ja jede 1-Wire-Aktion über
I2C tunneln mußt.
Der direkte IO-Pin des MC macht das Programm einfacher, aber hat den
Seiteneffekt, daß Du Interrupts für 60µs bzw. 480µs sperren können mußt,
da der AVR ja keine Interruptprioritäten vergeben kann.
Peter D. schrieb:> Der direkte IO-Pin des MC macht das Programm einfacher, aber hat den> Seiteneffekt, daß Du Interrupts für 60µs bzw. 480µs sperren können mußt,> da der AVR ja keine Interruptprioritäten vergeben kann.
Und wenn Du OWI mit UART machts, dann macht der UART das Timing fuer
Dich!
Uwe B. schrieb:> Und wenn Du OWI mit UART machts, dann macht der UART das Timing fuer> Dich!
Dann braucht er aber den ATmega328PB und nen open-drain Treiber
(74HC125).
Eh ich mir noch ne SW-UART dazu bastele, mache ich lieber SW-1-Wire.
Bei einem 80C51 Projekt habe ich das 1-Wire mit einem Timerinterrupt
gemacht, dem ich die höchste Priorität vergeben habe. Dann müssen keine
anderen Interrupts gesperrt werden.
Vielen Dank für die ganzen Tips, insbesondere Georg G.! Der Hinweis mit
dem Quarz war gut, keine Ahnung, was mich da geritten hat den an die
falschen Pins zu hängen.
Hat leider etwas gedauert, bis ich die Zeit gefunden habe das zu ändern.
Versorgung mach ich jetzt mit 9V, dann sollte der Linearregler kein
Problem sein. One-Wire geht direkt an den Atmega, das kann er mit
machen.
Zum Thema Überspannungsschutz: So wie ich Georg G. verstehe könnte ich
die Varistoren komplett weg lassen? Wenn man hier im Forum alle
möglichen Themen liest, dann erstreckt sich das von gar nichts machen
bis alles industrietauglich doppelt und dreifach sichern.
Was ist denn für den Hobbybastler, der zuverlässige Geräte für zuhause
haben möchte, ein gesundes Mittelmaß?
VR2 würde ich weglassen. Bis der genügend Spannung bekommt, um wirksam
zu werden, ist der Eingang des Konverters schon aufgeraucht. Ansonsten:
Lass es so, hast du das gute Gefühl, etwas gegen Störungen getan zu
haben. Bei einem Blitzeinschlag in der Nähe hast du eh keine Chance.
@ Uwe Bonnes (Firma: TU Darmstadt) (uwebonnes)
>> Der direkte IO-Pin des MC macht das Programm einfacher, aber hat den>> Seiteneffekt, daß Du Interrupts für 60µs bzw. 480µs sperren können mußt,>> da der AVR ja keine Interruptprioritäten vergeben kann.>Und wenn Du OWI mit UART machts, dann macht der UART das Timing fuer>Dich!
In der Tat. Und selbst wenn er das nicht tut, für ein bissel
Hausautomatisierung kann man auch mit 0,5ms Interruptsperre leben.
Beitrag "Re: Onewire + DS18x20 Library"
@ Felix (Gast)
>getraut Kondensatoren hinzuhängen. Deshalb mit Pullup. Könnte ich mir>die ganzen Kondensatoren + Widerstände sparen wenn da keine langen Kabel>bis zu den Tastern dran hängen (ca. 20cm)?
Ja, das kann man in Software entprellen und so viel Störeinkopplung wird
es nicht geben.
>- Ist der DS2482 als OneWire-Master übertrieben?
Ja.
> Würdet ihr OneWire>direkt mit einem Pin vom Controller emulieren?
Ja.
https://www.mikrocontroller.net/topic/goto_post/4602608>- Passt der Überspannungsschutz mit den Varistoren so bei dieser>Anwendung?
Nein ;-)
VR1 ist soweit OK, VR5 ist eher wirkungslos. Varisoren haben kein
superscharfe Kennlinie bei kleine Strömen, erst recht nicht bei kleinen
Nennspannungen.
Nimm dort lieber eine Z-Diode mit 5,1V und pack einen 100nF Kondensator
NAH an die Dioden.
Als Lektüre zum Thema kann ich das Dokument im Anhang empfehlen. Man
kann natürlich auch gleich das Bauteil als ESD-Schutz nehmen.
VR2-VR4 sind überflüssig, die Tranceiver haben schon genügend internen
ESD-Schutz.
- Sonstige Punkte die ich noch beachten sollte?
>Bevor ich das ganze auf eine Platine quetsche würde ich mich über>konstruktive Rückmeldungen freuen!
D5 ist überflüssig.
Es fehlt ein Pull-Up an U1/Pin1
AREF kannst du offen lassen, da du keinerlei ADC-Eingänge verwendest.
Felix schrieb:> Zum Thema Überspannungsschutz:
Ich setze da auch hinter den Regler nen Elko (100µF), dessen Trägheit
verhindert das Durchgreifen kurzer Störimpulse.
Und noch ne Transzorb (SMBJ5,0A) zum Schutz.
Moin,
da Du einen 5V pin an Deiner 1W Schnittsetlle vorgesehen hast, wirst Du
vermutlich eher kein parasite power verwenden wollen.
Aber wenn doch, ist es ganz gut einen "active pull up" zu verwenden -
also einen Transistor der die Datenleitung für die Zeit einer Messung
auf high zieht.
Noch eine kurze Rückfrage: Benötigt Pin 4 an U1 nicht auch einen Pullup?
Auf dem Steckbrett habe ich weder an pin 1 noch an Pin 4 einen Pullup
und es funktioniert. Aber das will ja nichts heißen.
Muss der zweite 100 muF Elko am Ausgang des Spannungsregler sein? Der
braucht so viel Platz.
@ Felix (Gast)
>Noch eine kurze Rückfrage: Benötigt Pin 4 an U1 nicht auch einen Pullup?
Nein.
>Muss der zweite 100 muF Elko am Ausgang des Spannungsregler sein?
Nein.
So, ich habe mich an einem Layout für die Platine versucht. Irgendwie
sind alle 100nF Kondensatoren zur Stabilisierung der Versorgungsspannung
für die ICs sehr nah beieinander gelandet. Benötige ich die dann
trotzdem alle? Das leuchtet mir nicht so ganz ein.
Wie breit macht man Leiterbahnen für die Stromversorgung von
Komponenten? Ich ziehe die 5V mit einer 0,75mm breiten Leiterbahn über
die Platine. Ist das etwas viel?
In Kicad habe ich für die 0805-SMDs 0805_HandSoldering als Footprint
gewählt. Kann man auch den normalen 0805-Footprint noch von Hand löten?
Das würde noch etwas Platz sparen.
Ich glaub ich bestell jetzt mal die Teile, druck das Layout auf Papier
und schau mir an ob überhaupt alle Teile so gequetscht passen.
Die Dioden von Hand zu löten macht mir Angst ...
@Felix (Gast)
>für die ICs sehr nah beieinander gelandet. Benötige ich die dann>trotzdem alle? Das leuchtet mir nicht so ganz ein.
Wenn man WIRKLICH weiß was man tut, kann man die 3x100nF in der Mitte
auf einen reduzieren. Im Zweifelsfall sollte man aber eher alle drei
drinlassen.
>Wie breit macht man Leiterbahnen für die Stromversorgung von>Komponenten? Ich ziehe die 5V mit einer 0,75mm breiten Leiterbahn über>die Platine. Ist das etwas viel?
Wen du den Platz hast, lass es so. Für die paar ma reichen auch 0,3 oder
0,5mm.
>In Kicad habe ich für die 0805-SMDs 0805_HandSoldering als Footprint>gewählt. Kann man auch den normalen 0805-Footprint noch von Hand löten?
Ja.
>Ich glaub ich bestell jetzt mal die Teile, druck das Layout auf Papier>und schau mir an ob überhaupt alle Teile so gequetscht passen.
Das bringt wenig bis nichts.
>Die Dioden von Hand zu löten macht mir Angst ...
Warum? Geh's einfach an. Mit etwas Übung wird das schon.
Kann mir jemand erklären, was IRF7309 in der Schaltung
um den L-Driver tut? So wie ich das seh, ist der N-MOSFET
doch immer zu, und der P-MOSFET auch?
Gehts da nur um die Dioden in den MOSFETs?
Robin R. schrieb:> Kann mir jemand erklären, was IRF7309 in der Schaltung> um den L-Driver tut? So wie ich das seh, ist der N-MOSFET> doch immer zu, und der P-MOSFET auch?
Ohje, ich hatte hier Beitrag "Relais mit Mosfet ansteuern (Arduino)"
gelesen, dass da zwei N-Kanal Mosfet's drin wären. Das stimmt ja gar
nicht.
Eigentlich soll die Schaltung ein Low-Side Treiber sein, mit dem ich
zwei größere Lasten (Relais) schalten kann. Auf dem Steckbrett hab ich
das mit BS170 getestet und dachte nun: "Nimm einfach ein IC, das 2
MOSFET enthält um Platz zu sparen". Und schon das falsche erwischt ...
Hat jemand einen Vorschlag für nen MOSFET der 500mA schalten kann,
N-Kanal, 2 Stück in einem SMD-Gehäuse?
Falk B. schrieb:> Aber auch bei dem sollte man Source an GND anschließen und Gate an den> AVR ;-)
Also hab ich die Schaltung zu Recht nicht verstanden?
@ Robin R. (elec-lisper)
>> Aber auch bei dem sollte man Source an GND anschließen und Gate an den>> AVR ;-)>Also hab ich die Schaltung zu Recht nicht verstanden?
Eine sehr vornehme, zurückhaltende Art, dem OP einen Fehler in seinem
Schaltplan mitzuteilen ;-)
Falk B. schrieb:> @ Robin R. (elec-lisper)>>>> Aber auch bei dem sollte man Source an GND anschließen und Gate an den>>> AVR ;-)>>>Also hab ich die Schaltung zu Recht nicht verstanden?>> Eine sehr vornehme, zurückhaltende Art, dem OP einen Fehler in seinem> Schaltplan mitzuteilen ;-)
Das war ja garnicht meine Absicht :-) Wenn ich etwas nicht verstehe,
dann neige ich meist wirklich dazu mein eigenes Wissen in Frage zu
stellen. Bei Dingen wie Elektronik, in denen ich nur wenige
Hobbyerfahrungen
habe, ist das durchaus auch das richtige. Jedoch neige ich auch
in meinem Hauptberuf (Softwareentwickler) dazu den Fehler im
Verständnis bei mir zu suchen - was jedoch immer seltener zutrifft.
Falk B. schrieb:> Eine sehr vornehme, zurückhaltende Art, dem OP einen Fehler in seinem> Schaltplan mitzuteilen ;-)
Auf jeden Fall ein sehr hilfreicher Hinweis. Und gleich zwei Fehler mit
einem Satz zu erschlagen: Vorbildlich.
Ich hab's geändert, vielen Dank!
@Felix (Gast)
> Screenshot_from_2017-01-06_17-49-30.png>Ich hab's geändert, vielen Dank!
Naja. Schaltplansymbole zeichnet man so, daß sie LOGISCH sinnvoll
dargestellt werden und keine sinnlosen Kreuzungen entstehen. Man
zeichnet sie im Allgemeinen NICHT so, wie das GEHÄUSE verdrahtet ist!
Dann dafür gibt es das Package!
Also zeichne 2 ganz normale N-Kanal MOSFETs, welche als Gatter zu deinem
IC gehören.