Hallo Leute, ich habe mich hier endlich angemeldet und möchte mein geplantes Projekt vorstellen und gleich ein paar Fragen dazu stellen. Ich habe vor einen Wecker zu basteln (wiedermal) und habe mir dazu schon viel in diesem Forum dazu durchgelesen, jedoch sind trotzdem ein paar Fragen offen geblieben, die ich vor der Erstellung des Layouts beantwortet haben will. Erstmal zu den Funtkionen: - Atmega644P - Nokia Display aus einem alten Handy - Über ein RTC soll die Uhrzeit möglichst genau implementiert werde - Über einen ENC28J60 und eine Ethernet Buchse soll eine Verbindung mit einem NTP Server hergestellt werden, und die Zeit jeden Tag synchronisiert werden. - Außen und Innentemperatur sollen über zwei DS1307 angezeigt werden können - Der Wecker soll modular aufgebaut sein, sodass danach noch eine Erweiterung mit einem VS1011 möglich ist und mp3s abgespielt werden, statt eines "Standard Wecker Tons" Ist das realistisch? Ich habe Erfahrung in Umgang mit uC und habe auch schon Zeitsteuerungen gebaut, die dann z.B. Lüfter in einem Terrarium ansteuern. Den uC nehme ich deswegen so groß, da ich noch einiges zur Erweiterung vorhabe (ebene mp3s, Lichtsteuerung, Touchscreen,...) Die Hauptfrage ist, kann ich SMD Teile verwenden? Ist es möglich z.B. den uC als SMD mit einem Lötkolben zu löten oder braucht man da schon einen Reflow Ofen? Weiters geht es um die Implementierung des Software NTP Clients, ist das möglich? Gibt es da Referenzprojekte? Sobald ich das Layout habe, werde ich es euch zur Verfügung stellen und bitte euch, es dann zu checken. Lieb Grüße Dominik
Das mit dem ENC28J60 würde ich mit nochmal überlegen; die Software ist alles andere als trivial. Die gängige Methode, Uhren zu synchronisieren, ist DCF77. Damit hast Du genaue Uhrzeit ohne ein Ethernet-Kabel zum Wecker legen zu müssen. Der Rest Deines Projektes: dann mach mal. Allerdings würde ich mir überlegen, ob Du so viel Funktionen in einen µC packen willst oder nicht lieber mehrere Einzeleinheiten bauen willst. Ein µC kostet nicht viel, aber der Aufwand steigt überproportional, wenn Du viele Funktionen in einen packst, denn Du stößt früher an dessen Grenzen.
Hallo, danke schonmal für die Antwort, also das mit dem DCF Modul hab ich mir auch schon überlegt, kann ich das denn "abschalten"? Es gibt ja lt. Datenblatt einen eigenen Eingang, wo ich mit dem uC steuern könnte, ob das Modul aktiv oder inaktiv ist. Wenn ich es immer inaktiv habe und nur zum synchronisieren einschalten, wie lange dauert es dann, bis ich ein valides Signal bekomme, dass ich dann auswerten kann? Oder ist das sofort vorhanden? Zu den vielen Funktionen, die Erweiterungen möchte ich sowieso mit mehreren Platinen und weiteren uCs dann implementieren, aber so sollte halt die Hauptplatine ausschauen, und die sollte auch diese Funktionen beherrschen. Ich werde einfach die Ethernet funktionalität einmal weglassen und schauen, ob ich die in einer Zusatzplatine dann irgendwie einbaue und ob diese dann überhaupt nötig ist. Liebe Grüße Dominik
Hallo Dominik, Das DCF77 Modul kannst du in einen Sleep Modus versetzen, oder Ihm einfach die Versorgungsspannung nehmen. Nach dem Wieder einschalten, dauert es bei gutem Empfang im dümmsten Fall 2 Minuten bis du ein vollständiges Telegramm hast. Du kannst das DCF Modul aber ja auch einfach so lange aktiv lassen, bist du im uC entscheidest, das das Telegramm i.O. ist und dann das Modul wieder asusschalten. Gruß Dennis
Dominik M. schrieb: > also das mit dem DCF Modul hab ich mir auch schon überlegt, kann ich das > denn "abschalten"? Wozu denn? Soll der Wecker nur mit Batterie laufen? Ein RTC-Chip ist auch nicht nötig. Du kannst für Batteriebetrieb direkt nen Uhrenquarz am AVR laufen lassen. Bzw. bei Netzbetrieb nimmt man einfach den CPU-Quarz für die RTC. Peter
Ja ok, DCF an und abschalten ist wahrscheinlich etwas unnötig, da der Wecker eigentlich nur im Netzbetrieb laufen soll, und nur bei Stromausfall über eine Batterie versorgt werden soll. Peter Dannegger schrieb: > Ein RTC-Chip ist auch nicht nötig. Du kannst für Batteriebetrieb direkt > nen Uhrenquarz am AVR laufen lassen. Bzw. bei Netzbetrieb nimmt man > einfach den CPU-Quarz für die RTC. Du meinst gar keine RTC einsetzen? Was ist dann, wenn der Wecker 2 Tage lang nicht synchronisiert wird? Da gibts doch Probleme mit der Ganggenauigkeit, weil der Uhrenquarz ja Temperaturwechsel ausgesetzt ist usw.? Oder ist das auf zwei, drei Tage nicht kritisch? Lg Dominik
schau mal im WordClock-Projekt nach. aus dem Schaltplan und der Software kannst du dir den RTC- und den DCF-Krams klauen
>Du meinst gar keine RTC einsetzen? Was ist dann, wenn der Wecker 2 Tage >lang nicht synchronisiert wird? Da gibts doch Probleme mit der >Ganggenauigkeit, weil der Uhrenquarz ja Temperaturwechsel ausgesetzt ist >usw.? Auch ein RTC IC benutzt einen Uhrenquartz. Das tut sich von der Genauig keit nix mit der ATmel Quarz Kombi. Der Vorteil von RTC lieht eher daran, dass dieser, über ne Knopfzelle gestützt bei Stromausfall (Batteriewechsel) einfach weiterläuft. Gruss Klaus
Hallo, ich habe jetzt den Shaltplan halbwegs fertig. Was mir noch fehlt ist ein Display. Es sollte wenn möglich sogar einen Touchscreen haben, den ich dann irgendwann auch ansteuere. Problem ist, ich find in Ö und in D keine wirklich billigen Displays. Gibt es da wirklich nichts? ledsee.com ist recht gut, aber kann man die nicht um den Preis auch irgendwo in Deutschland oder Österreich bekommen? Das Nokia Display das vorher geplant war, habe ich wieder verworfen da es zu klein ist und auch keine Touchfunktion hat. Ich möchte den Wecker dann um einiges erweitern und vielleicht sogar eine Zimmersteuerung bauen, sodass ich von anfang an ein halbwegs vernüftiges Display haben will. Zu guter letzt, könnt ihr noch kurz über den Schaltplan drüberschauen und etwas nachkontorllieren ob ich auch keine pull up widerstände oder so vergessen haben? Der Display Anschluss ist aufgrund des noch nicht gefundenen Displays noch nicht ganz belegt. Ich werde, nachdem ich weiß wie ich das Display belegen muss, auch alle offenen Pins auf einen Connector rausziehen, damit ich alle Pins des uC zur Verfügung habe. Danke für eure Hilfe Dominik
Also wenn der Wecker sich schon die Zeit über einen NTP holden kann, braucht man eigentlich keinen RTC. Selbst wenn die Uhrzeit "nur" einmal täglich syncronsisiert wird, sollte das reichen. Und das mit dem Temperaturunterschied bei den Quarzen: Ich würde einen Wecker mit Ethernet Anschluss nicht raus und wieder rein tragen. Der würde bei mir brav auf dem Nachttisch stehen. Wenn du dir sie Mühe machen willst - bei Pollin gibts Touchscreen unter einem Zener. Ob man es schafft sie anzusteuern ist eine andere Frage.
Zwei nicht sehr wesentliche Punkte: Aref gehört nicht nach Vcc. Wenn Du den ADC verwendest, über ca. 100n mit Masse verbinden. Den 100k Angstwiderstand am Reset kannst Du auch gleich weglassen. Der interne Pullup ist deutlich kleiner, so dass der externe nicht mehr groß beiträgt. Und ein wesentlicher: Die Taster sollten gegen Masse schalten, nicht gegen Vcc. Nur dann kannst Du die internen Pullups nehmen. So wie gezeichnet fehlen Pulldowns und es funktioniert nicht. Du nimmst möglicherweise an, dass offene Eingänge fest auf 0 sind. Das ist nicht der Fall.
> Auch ein RTC IC benutzt einen Uhrenquartz. Das tut sich von der Genauig > keit nix mit der ATmel Quarz Kombi. Eine gute RTC hat eine Temperaturkompensation ist ist daher um einige Klassen besser als ein Uhrenquarz. Siehe DS3231 von maxim-ic.com
Noch was: 100n an den Quarzanschlüssen der RTC ist doch 'n bisschen sehr, sehr üppig. Falls überhaupt, sollte das sicher deutlich weniger sein. Schau mal im Datenblatt nach.
@Samuel also ich dachte mir nur ich lass die RTC drinnen, da ich ihn erstens eh zuhause rumliegen hab und zweitens den uC damit entlaste. Sollte er wirklich nicht nötig sein, kann ich ihn auch wieder rausgeben. @Hc Zimmerer, danke ich werde die Fehler ausbessern, das mit den Tastern war anscheinend ein Flüchtigkeitsfehler. Ich glaub es sollten auch keine 100n sondern 22pF Kondensatoren sein, werde ich auch ausbessern. Danke Dominik
Hallo Leute, ich habe das File jetzt ausgebessert. Den RTC habe ich drinnen behalten. Ich glaube über die Genauigkeit kann man streiten, aber schaden tut er auf keinen Fall. Ich habe mir jetzt auch das Display das beim dpac verwendet wird bestellt, mit Serial Interface und deswegen nur noch nen 4 Port Stecker. Fällt euch sonst noch was auf? Lg Dominik
Hi! Also das was Du da machst, ist das, was man mit der Ethernut 1.3 und dem Nut/OS machen kann. Im Grunde ein AVR mit angesteckter ISA Netzwerkkarte. Den TCP/IP Stack bringt das Nut/OS mit, ebenso die Libraries um einen VLSI Decoder anzusteuern. www.ethernut.de und www.egnite.de Dateisystem für eine SD-Card bekommst Du auch gleich mitgeliefert u.v.m. Gruß, Ulrich
also wenn du ein touchscreen-display willst, kann ich dir folgendes emfehlen: http://www.watterott.com/de/MI0283QT-2-Adapter Es ist einfach über spi anzusteuern und kostet auch nicht die welt. Bilbliotheken für's display sind auf der website auch vorhanden. also auch so gut wie keine programmier-arbeit nötig.
So, ich hab mir deinen Schaltplan mal angesehen: 1. Summer: Wenn Du einen Piezo-summer einbaust, mußt du vorsichtig sein. Dummerweise liefert der Piezo bei Erschütterung Spannungsspitzen, ich würde den Summer mit einem kleinen Transistor oder MOS-FET ansteuern, mit einer Diode auf VCC klemmen und ggv. noch einen extra Stütz-Kondensator spendieren. 2.Warum verwendest Du keine Temperatur-Sensoren mit I²C-Bus. Du hast doch den Bus schon für die RTC verwendet. So sparst Du Dir noch das extra Protokoll für die Temperatur-Sensoren und hast alles an einem Bus hängen. Wenn der dann mal richtig läuft, kannst du ohne weiteren Aufwand auch gleich die Temperaturfühler mit auslesen... z.B LM75 oder ähnlich. 3. Auch die RTC soll einen Entkoppelkondensator bekommen, die 3 Cent sind doch noch drin, oder? Genrell: Jedes IC entkoppeln! Ich würde auch für die AVCC vom Prozessor einen eigenen Koppel-C einsetzen. 4. Ich persönlich würde mir das FDTI-RS232-Kabel kaufen, dann kannst Du Dir den ganzen Teil mit dem RS232-Pegel-Konverter sparen. Du brauchst nur eine Stiftleiste, 6-Polig. Dort wird RXD TXD und GND vom yC direkt angeschlossen. Das Kabel kann dann für andere Projekte ebenfalls eingesetzt werden und funktioniert gleich. 5. Display: Das funktioniert so auf keinen Fall. Erstes hast du TXD vom Pegelwandler parallel zur TXD-Leitung vom Display angeschlossen. Wenn jetzt der Pegelwandler Low ist und das Display High, raucht es. Oder umgekehrt. Abhilfe: hier jeweils einen Widerstand 4k7 o.ä davor setzen, oder ein ODER-Gatter. Zweitens haben die Displays aus den Handy doch meistens eine SPI-Schnittstelle, oder?
Hallo, Ulrich, ich habe Ethernut auch schon gesehen, mir gehts aber eher um den Lerneffekt, ich will das wirklich von Grund auf entwickeln und bauen, sodass ich mich dann an größere Projekte wagen kann. Das soll einfach einmal ein Einstieg sein. Trotzdem danke für den Hinweis, ich find das Teil eigentlich recht genial :) @frankman sehr vielen Dank für deinen Input, ich habe jetzt alles umgesetzt bis auf den 6 poligen Port für RS232 wie meinst du jetzt, soll ich das machen, das auf einer Leitung das Display hängt und ich auf der anderen Leitung mit dem Computer kommunizieren kann? Einfach 2 Widerstände auf jede Leitung? Ich habe mir jetzt das Display von Sparkfun gekauft, mit RS232 Adapter, nix mehr mit Handy Display :) Sehr vielen Danke für eure Hilfe Dominik
Wenn ich die RXD nicht mehr zur TXD Leitung des Displays laufen lassen würde, würde es dann funktionieren? Also die TXD Leitung des uC geht auf die RX von Pegelwandler und auf die vom Display. Und die RXD Leitung des uCs geht nur auf den TXD vom Pegelwandler? Müsste dann doch eigentlich funktionieren, oder?
Hallo, endlich habe ich es geschafft. Das ist jetzt hoffentlich die letzte Version des Schaltplans, fehlt nur noch das Board, das wahrscheinlich doppelseitig werden wird, und dann ab zu einer Firma die das billig macht. Könnt ihr nochmal kurz da drüber schauen, und noch eventuelle Fehler entdecken? Danke, Dominik
RxD geht an Leitung mit dem Namen TX, TxD an RX. Sind zwar nur Bezeichnungen, kommt mir aber seltsam vor. Die I2C-Pullups sind mit 100k etwas hoch. Üblich sind Werte von 10k oder kleiner, abhängig von der maximalen Busgeschwindigkeit, die Deine Devices haben.
Transistor Q1 ohne Basiswiderstand kann funktionieren, wenn du den internen Pullup nutzt und nie auf High schaltest, ist aber gefährlich. Der Summer (P12) braucht die Diode parallel und nicht in Reihe.
frankman schrieb: > 2.Warum verwendest Du keine Temperatur-Sensoren mit I²C-Bus. Weil man ein SO-8 nur sehr blöd als Sensor anschließen und verkapseln kann. Mit 1-wire Sensoren im TO-92 geht das deutlich einfacher. Man kann die sogar fertig im Stahlrohr vergossen mit Anschlußkabel bei Conrad kaufen. Peter
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.