Liebe Freunde der elektronischen Basteleien und semi- bis vollprofessionelle Mikrocontrollernutzer/-Programmierer, vor ca. 6 Jahren habe ich mir über myAVR einen Einsteigerbausatz inklusive ISP erstanden. Nach ersten Gehversuchen in Assembler hat diese Board lange Zeit unbenutzt sein Dasein im Schrank gefristet. Nun habe ich zum neu begonnenen Studium dieses Kleinod wieder ans Tageslicht befördet mit dem Wunsch ein erstes Projekt auf die Beine zu stellen. Mein Ziel: 4 Steckdosen mittels Relays schalten. Das Ganze über Ethernet + Zeitsteuerung. Meine Hardware: - Atmega8 mit externem Baudratenquartz (3.6... MHz) - 4-fach Relay für 230V/10A - enc28j60 Da ich Anfänger bin habe ich auch dort angefangen: am Anfang. - avdude ist mit Hilfe des hiesigen Makefiles eingestellt. - Led blinken und auf Knopfdruck togglen funktioniert. (Einfaches Entprell Makro auch von hier) - UART funktionert - Das LCD Addon für anfängliches Debuggen läuft - Relay über char via UART togglen ok aber noch unzuverlässig - Ich bin kein Idiot, also schalte ich zunächst nur die Relays bevor ich mit Hochstrom arbeite. (Risikobewusstsein mehr als vorhanden ;) Der nächste Schritt ist wohl der Bootloader. Da ich ausschließlich über Linux arbeite muss ich meinen ISP jedes Mal resetten um zurück in den Programmiermodus zu gelangen. (UART-USB-Bridge über Software einschalten funktioniert) Der Bootloader soll mir den Schritt des Umschaltens ersparen und da ich gerne Firmware updates über Ethernet fahren möchte ist dieser eh angebracht. Beim Bootloader bin ich jetzt über meinen ersten realen Stolperstein gefallen: Den Quartz. Nach eingängiger Suche im Forum, auf den Seiten mit den Erklärungen und googlen in Deutsch und Englisch vermisse ich einen kleinen Artikel: Nach welchen Daten ermittle ich, welche Frequenz mein Quartz haben soll? Für UART funktioniert bisher alles super mit dem Baudratenquarz. Aber reichen die 3,* Mhz für SPI+Ethernet? Gibt es dafür eine Faustformel, wie schnell der Quarz sein sollte? Ich hätte da, 8Mhz und 16Mhz zur Auswahl. Sicherlich wird nach einigem Suchen mein noch ungeschultes Auge die richtigen Kapazitäten ermittel. Aber kann ich da bei den 22pF bleiben und nur den Quarz tauschen? Dann meine "blutiger Anfänger" Frage schlechthin: Wird der verwendete Oszillator (intern, extern) tatsächlich nur über die Fuses eingestellt? Kann ich für einen Arduinobootloader der für die Verwendung einen internen Takt von 8Mhz vorsieht einfach einen externen Quarz von 8Mhz nutzen? Soweit erstmal zur Flut meiner Fragen. Anbei sei noch gesagt, dass ich dieses Forum und die Seite generell sehr schätze. Gerade aufgrund der Vielzahl hilfreicher Informationen, derer ich mich in den letzten Tagen zu Hauf bedient habe. Mit Gruß Sebastian
Re: Netzwerk Steckdose + Anhand welcher Daten wähle ich einen Quarz aus? + weiter Fragen (Bootloader
Hallo Roter Rabauke. Vorweg: Eigentlich würde ich Dir - auf Grund Deiner Fragestellung - dazu raten erst mal mit was einfacherem anzufangen. Und vielleicht dieses Projekt erst mit mehr Erfahrung anzupacken. 230V sind mit Vorsicht zu behandeln. Einfach mal einige Antworten: - UART: Der interne Schwingkreis ist eigentlich zu ungenau dafür. Benutze einen Quarz. Könnten deine Übertragungsprobleme sein. - 8Mhz sind 8MHz. Egal ob intern oder externer Quarz. - Baudrate und Quarz: Da gibt es im Datenblatt zum ATmega8 im Kapitel USART/UART einige Tabellen zum Thema Quarzfreq. und Vorteiler für die UART. Da kannst Du auch die Abweichung zwischen der theoretischen Baudrate und der tatsächlichen Baudrate bei deinem Quarz raus lesen. Je kleiner dieser Abweichung um so besser. - Cs am Oszillator: Tausche nur den Quarz, sollte funktionieren. - Intern/extern: Beim Atmega8 nur über die Fuses einzustellen. Zum Ethernet: Hast Du Dir schon Gedanken gemacht? Der ATmega8 ist da nämlich eigentlich schon etwas klein dafür. Der hat nur 1KB Ram. Das ist nicht mal ein komplettes IP-Paket (1,5 KB).
Re: Netzwerk Steckdose + Anhand welcher Daten wähle ich einen Quarz aus? + weiter Fragen (Bootloader
für das was du vorhast empfehle ich den Bausatz NETIO von Pollin http://www.pollin.de/shop/dt/MTQ5OTgxOTk-/Bausaetze_Module/Bausaetze/Bausatz_AVR_NET_IO.html der wird normal mit at mega 32 ausgeliefert und ich habe den durch einen pinkompatiblen m1284p ersetzt, 16kB RAM und 128kB flash und lasse den auf 20MHz laufen, die 7805 und den LM317 habe ich durch RECOM R785 1A und RECOM R7833 0,5A erstzt, spart die Kühlkörper und ist sparsamer weil weniger Verluste. Für den 3,3V Zweig muss ein wenig umgestrickt werden geht aber einfach, die Pins liegen halt anders. programmiert wird er über ISP aus dem Atmel Studio, spart den Bootloader. Erweiterungen wie Relais Platinen oder LCD gibt es auch fertig. Auch ein Webinterface für Ports setzen und rücksetzen. um nicht an 230V zu arbeiten bieten sich doch Funksteckdosensets an die per 433 MHz geschaltet werden. Ich hatte billige Zwischenstecker den Schalter entfernt und per Knopflochchirurgie S202S02 eingebaut, die trennen galvanisch und brauchen nur IR LED Strom per Port mit Vorwiderstand, finde das aber unpraktisch weil nicht Verpolungssicher, dann mit Brücke und KST erweitert wird es langsam eng, ergo scheinen mir die Funkschalter, typisch 3 Stück mit Handsender für 16€ zu haben sicherer auch wenn Ruheverbrauch anfällt, oder Spielkinder dich ärgern könnten: http://www.yourepeat.com/watch/?v=UdsQKiIZjMY PS, mein Nachbar hat den selben Satz Funksteckdosen, den Code unverändert und ich kann sein Radio und Licht ein und ausschalten.
:
Bearbeitet durch User
Re: Netzwerk Steckdose + Anhand welcher Daten wähle ich einen Quarz aus? + weiter Fragen (Bootloader
Hi Pepe, vielen Dank für deine Antwort. Ich hab ein paar kleine Projekte gefunden, die einen Atmega8 verwenden. Allerdings wird da auch schon darauf hingewiesen, dass der meiste Teil zumindest vom Flashspeicher verwendet wird. Ich denke ich werde da schon recht schnell an die Grenze stoßen. Auch was den Ram betrifft. Da ich allerdings die Integrierung von Ethernet eher am Ende sehe, werde ich dann noch auf einen größeren Chip (Atmega32?) umschwenken können. Möglicherweise, je nach Anforderung teile ich das Ganze auch in 2 Teile: 1x Ethernet UART Bridge und 1x Relaykarte. Die Tabellen für die Quarzfrequenz bezüglich Baudrate habe ich mir bereits angesehen. Ich denke die Abweichung für 8 resp. 16 Mhz sind akzeptabel. Vielen Dank nochmal für die Infos bezüglich Quartz/Oszillator. Hast du Empfehlungen nach welchen Kriterien die Frequenz auszuwählen ist? Für UART leuchtet mir das ein. Nur bei SPI hab ich z.B. keinen blassen Schimmer. Zu der Sache mit den 230V: Bevor ich wirklich 230V schalte, finde ich, sollte der Rest der Schaltung erstmal zuverlässig funktionieren. Dann werde ich erstmal kleine Sachen schalten. (Kein Hochstrom) Bis dahin habe ich dann auch Zeit in die Theorie des Stromes investiert. Eventuell sogar befreundete Studenten der Elektrotechnik oder Elektroniker ausgefragt. Ich hab schon öfter was verkabelt auch mit 230V und weiß, dass damit nicht zu scherzen ist. Schließlich will ich weder als Brikett enden noch meine Wohnung in Brand stecken. Da sollten schon Sicherungen und ordentliche Verbindungen her. Vernüftige Isolierung inklusive (Der Kabel und der Schaltkreise).
Re: Netzwerk Steckdose + Anhand welcher Daten wähle ich einen Quarz aus? + weiter Fragen (Bootloader
Ich gehe mal davon aus, dass Du den enc28j60 per SPI anschließen willst. Laut Datenblatt kann der bis 20MHz SPI Takt vertragen. Also kein Problem. Die Grenze kannst Du ja eh nicht erreichen. SPI ist eigentlich nur eine Taktleitung, eine Ausgangs- und Eingangsleitung eines Schieberegisters. D.h. langsamer kannst Du eigentlich immer und eine genaue Frequenz brauchst Du auch nicht einhalten. Setze den SPI Takt aber nicht zu hoch ( außer Du hast ein Oszi zum Prüfen des Signals), weil Du saubere Signale brauchst. "Zipfelmützen" sind schlecht und ergeben massig Probleme.
Re: Netzwerk Steckdose + Anhand welcher Daten wähle ich einen Quarz aus? + weiter Fragen (Bootloader
Hallo Joachim, danke für den Tipp mit dem Bausatz. Das sieht sehr gut aus. Irgendwie habe ich mir diese Bastelei so in den Kopf gesetzt. Auch wenn ich mich grundsätzlich gerne eines Besseren belehren lassen habe ich bereits alle Komponenten für mein Projekt. (Außer dem Atmega32, der wirklich sehr gut geeignet scheint.) Über Funk habe ich auch schon nachgedacht. Allerdings mehr auf der Ebene von Bluetooth. Den ISP möchte ich schon grundlegend durch den Bootloader ersetzen. Einfach um vom PC aus über Ethernet zu Updaten, auch damit das Gehäuse keinen Port zum Programmieren braucht. Als Sahnehäubchen gibt es anschließend ein Kernelmodul für x86_64 und ARM, sowie eine kleine Android-APP für den Komfort der "Hausautomatisierung". Tatsächlicherweise hab ich solche Steckdosen mit Fernbedienung, die ich irgendwie nie benutze. Allerdings dachte ich schon an eine Art Modul für die WG meiner Eltern, die 3 verschiedene Fernbedienungen nutzen und das könnte eleganter vom Handy oder Tablet aus funktionieren. Oder von einer einzigen Fernbedienung. (Pech nur, dass die Hälfte iOS ist) Aber nun gut, bis dahin ist der Weg schon noch etwas länger. ;)
Re: Netzwerk Steckdose + Anhand welcher Daten wähle ich einen Quarz aus? + weiter Fragen (Bootloader
Das klingt sehr gut. @ Pepe. Danke. Dann könnte ich ja bei meinem 3.* Baudratenquartz bleiben.
Re: Netzwerk Steckdose + Anhand welcher Daten wähle ich einen Quarz aus? + weiter Fragen (Bootloader
Wenn ich alleine das Wort Hochstrom lese sträuben sich mir die Nackenhaare. Ich empfinde Hochstrom oder auch Starkstrom erst ab >1kA...
Re: Netzwerk Steckdose + Anhand welcher Daten wähle ich einen Quarz aus? + weiter Fragen (Bootloader
Und auch im Spannungsbereich (ich denke mal dass der TO das meint) sind wir noch locker im Bereich der Niederspannung. Scheiss Hobby-Elektriker (nicht Elektroniker)
Re: Netzwerk Steckdose + Anhand welcher Daten wähle ich einen Quarz aus? + weiter Fragen (Bootloader
Roter Rabauke schrieb: > habe ich bereits alle Komponenten für mein Projekt. (Außer dem Atmega32, > der wirklich sehr gut geeignet scheint.) glaub mir der m1284p ist besser, mehr RAM mehr flash, der hängt bei mir dauerhaft seit 5 Jahren neben der Fritzbox und überwacht, die geklauten 12V der Fritzbox, seine 5V und 3,3V sowie 7 DS 18B20 über die Wohnung verteilt und zeigt es auf der Webseite.
Re: Netzwerk Steckdose + Anhand welcher Daten wähle ich einen Quarz aus? + weiter Fragen (Bootloader
Verzeih mir bitte meine amateurhafte Ausdrucksweise. Jedes mal, wenn ich von Hochstrom sprach so ist an dieser Stelle 230V einzusetzen. Das tut niemandem weg (nur denen die es anfassen) Selbstverständlich meinte ich Spannung und nicht Strom. Mein Fehler. Was ist ein TO? Ich kenne nur zu gut die Frustration, wenn jemand Begriffe durcheinander wirft. Gerade weil ich 10 Jahre als Optiker im Verkauf tätig war. Allerdings habe ich das Boah und die Flüche aus Höflichkeit stets für mich behalten. Dennoch danke für den Hinweis und die für das Internet recht höfliche Korrektur.
Re: Netzwerk Steckdose + Anhand welcher Daten wähle ich einen Quarz aus? + weiter Fragen (Bootloader
Danke für den Hinweis Joachim. Ich werde mich mit dem Datenblatt zeitnah beschäftigen. Was sind DS und 18B20? @m1284P -> Der ist ja wirklich extrem gut ausgerüstet.
:
Bearbeitet durch User
Re: Netzwerk Steckdose + Anhand welcher Daten wähle ich einen Quarz aus? + weiter Fragen (Bootloader
Pepe schrieb: > Da kannst Du auch die Abweichung zwischen der theoretischen > Baudrate und der tatsächlichen Baudrate bei deinem Quarz raus lesen. Je > kleiner dieser Abweichung um so besser. Für den UART ist es völlig egal, ob der Fehler 1ppm oder 1 Promille beträgt. Bei hoher Leitungsqualität geht die Übertragung erst schief, wenn sich der Fehler innerhalb eines Bytes, also meist über 10 Symbole, über mehr als 33% der Symboldauer aufzusummieren, was etwa einen Taktfehler von 3,3% bedeutet. Nähere hier http://www.maximintegrated.com/en/app-notes/index.mvp/id/2141
Re: Netzwerk Steckdose + Anhand welcher Daten wähle ich einen Quarz aus? + weiter Fragen (Bootloader
@Tom Geb Dir schon recht, dass eine Abweichung im ppm/Promile nicht nötig ist. Hab ich aber auch nicht geschrieben. Beim Atmega8 kannst Du bei den angesprochenen 8 bzw. 16MHz aber Fehler von >8% haben. Und da wirst wohl eher instabil. @Roter Rabauke ds18s20 sind Temperaturfühler.
Re: Netzwerk Steckdose + Anhand welcher Daten wähle ich einen Quarz aus? + weiter Fragen (Bootloader
Joachim B. schrieb: > glaub mir der m1284p ist besser, mehr RAM mehr flash, der hängt bei mir > dauerhaft seit 5 Jahren neben der Fritzbox und überwacht, die geklauten > 12V der Fritzbox, seine 5V und 3,3V sowie 7 DS 18B20 über die Wohnung > verteilt und zeigt es auf der Webseite. Hallo, wie überträgst du die Daten?
Re: Netzwerk Steckdose + Anhand welcher Daten wähle ich einen Quarz aus? + weiter Fragen (Bootloader
fragee schrieb: > Joachim B. schrieb: >> glaub mir der m1284p ist besser, mehr RAM mehr flash, der hängt bei mir >> dauerhaft seit 5 Jahren neben der Fritzbox und überwacht, >> > wie überträgst du die Daten? Webseite, RS232, per USB Anbindung über Sharkoon USB Webserver http://www.sharkoon.com/?q=de/node/1797 Roter Rabauke schrieb: > Was sind DS und 18B20? DS18B20 1w Temperatursensoren http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf die hängen parasitär gespeist an 2 freien Adern meiner Telefonleitung in fast jedem Zimmer und ich lasse die kurz unter der Telefondosenabdeckung rausgucken.
:
Bearbeitet durch User
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.