Hallo Leute, bin an meinem ersten wirklichen AVR-Projekt dran und würde euch gerne beten mal über die Schaltung zu schauen. Plan hänge ich an. Nun zu meinem vorhaben, ich möchte einen 1,75cm breiten PAX Kleiderschrank mit LED-Leisten beleuchten. Die Leisten bestehen aus Winkelprofilen mit eingeklebten LED-Strips (3x 1m & 4x 0,75m = Leistungsaufnahme von ca. 30W). Aktuell reicht es mir, wenn die LEDs mit der Zimmerbeleuchtung (230V-Sense) angehen würden. Die Schaltung hab ich von hier übernommen: http://www.mikrocontroller.net/articles/230V In Zukunft soll dann die Uhrzeit berücksichtigt werden (DCF77 Modul von ELV), außerdem schwebt mir vor, den Schrank als Sonnenaufgangsimulator zu nutzen in dem die LEDs per PWM angesteuert werden (Wecker). Zusätzlich soll ein Sharp-IR Distanzmesser (GP2Y0A02YK0F) als Näherungssensor dienen. An einer oberen Ecke angebracht, diagonal über die Frontansicht des Schrankes "suchend" sollte es möglich sein, Änderungen der Abstände (=Beweungen) zu detektieren und so die Beleuchtung für eine gewisse Dauer einzuschalten. Da es mein erstes Projekt ist, wäre ich euch verbunden, wenn ihr mir mit konstruktiver Kritik beiseite stehen würdet. Vielen Dank Yunus
Hallo, bitte schau dir als erstes das AVR-Tutorial an. Der Quarz wird so nicht anschwingen: https://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment#Quarz Dann solltest du den Spannungsregler von dem Rest trennen und den Ein- und Ausgang nur mit +12v, +5v und GND verbinden. Ungefähr wie hier: https://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment#Spannungsversorgung Was für ein Spannungsregler ist das? Ich gehe mal von einem 7805 aus. Diesen solltest du auch so benennen. C2 sollte meiner Meinung nach etwas größer sein. Ich würde 10uF nehmen. Für einen Elko gibt es ein extra Symbol: rcl/C_POL_EU Dann solltest du das Ck und Ek löschen. Zudem würde ich je nach Netzteil am Eingang vom Spannungsregler auch noch einen Kondensator nehmen, da in manchen Netzteilen dieser arg knapp ist. Ich würde von Reset nach GND noch einen Kondensator (47nF) legen. Dann solltest du noch eine ISP Buchse einbauen:https://www.mikrocontroller.net/articles/AVR_In_System_Programmer#ISP Mach das erst mal, dann such ich noch ein bisschen. Jonas
Wieder einmal: AREF sollte nicht mit VCC verbunden werden, sondern lediglich mit einem z.B. 100nF gegen GND. Erstens verbaust du dir dauerhaft die Möglichkeit, eine andere Referenzspannung mit externer Siebung zu wählen und zweitens kann man VCC sowieso als Referenz auswählen. Wenn du den ADC auch benutzen willst, ist es eine gute Idee, AVCC über ein LC Glied in den MC einzuspeisen. 10µh-330µH und ein 100nF gegen Masse haben hier noch nie geschadet. C3 muss so dicht wie möglich an den MC, am besten direkt in den Sockel. Der 230V Detektor ist am ICP - aber warum schaltest du da einen Elko parallel zum OK? Damit verbaust du dir die Chance, echte Messungen zu machen und den MC per 50Hz zu retriggern. Du könntest auf dieser Basis auch gleich einen 50Hz Ticker einbauen. Die Erfahrung zeigt auch, das es sinnvoll ist, die Speisung für ein DCF77 Modul nochmal extra zu filtern. Also auch hier ein LC Glied rein, damit das Modul nicht vom MC gestört wird. Portpins direkt auf Anschlüsse zu leiten, ist auch nicht so eine gute Idee. Lege in die Leitung der DCF77 Daten ruhig noch einen mittleren Widerstand a là 330-2,2k.
30W LED Kleiderschrank? Deine Motten werden Schweißerbrillen tragen. Oder sollen die außen an den Schrank? Ich hab das bei mir gelöst, in dem ich billige RGB-strips außen rum geklebt habe, die mit IR Fernbedienung steuerbar sind. Gbts ja mittlerweile für kleines Geld bei jedem Discounter. Das aufdimmen morgends erledigt dann ein Tiny85 den ich in meinen Funkwecker reingepfriemelt hab mit IRMP.
Hallo Jonas, vielen Dank für die Ratschläge. Das mit dem Quarz ist peinlich, so ein Fehler sollte mir nicht passieren. Habe nun 22p Cs genommen, da CL mit 18p angegeben ist -> 2*18p - (~4p + 10p). Spannungsregler sollte vom Anschluss her richtig gewesen sein? Habe es dennoch optisch an die Verschaltung vom Tutorial näher gebracht. Ferner habe ich einen 330nF durch 100nF ersetzt, einen zusätzlichen 10µ Elko angehangen und den 12V input mit 330nF geglättet. Mir kommt es fast so vor, als wäre ein Elko um den Spannungsregler rum unnötig, ist es der am Input oder Output? Datenblatt und Tutorial sind sich hier uneinig. Ob ich nun den 78S05 oder 7805 nehme sollte ja keinen großen unterschied machen? (78S05 hab ich gerade griffbereit, nicht wegen der Leistung). Kondensator an Reset ist ebenfalls eingefügt. ISP Buchse: DAS hätte mich geärgert wenn ich fertig wäre :D In dem Tut ist mir aufgefallen, dass ich AVCC, AREF, VCC etc mit Kondensatoren bestücken sollte -> ist nun geschehen. Besten Dank nochmal. Freue mich auf weitere Ratschläge
Lade noch mal einen aktuellen Schaltplan hoch.
Matthias S. schrieb: > Wieder einmal: AREF sollte nicht mit VCC verbunden werden, sondern > lediglich mit einem z.B. 100nF gegen GND. Erstens verbaust du dir > dauerhaft die Möglichkeit, eine andere Referenzspannung mit externer > Siebung zu wählen und zweitens kann man VCC sowieso als Referenz > auswählen. Wusste ich nicht, hab es im AVR-Tutorial nun entdeckt. Wenn man soetwas dann als erstes mal selbst macht gibt es doch sehr viel was man auf ein mal beachten muss. Danke für den Ratschlag > Wenn du den ADC auch benutzen willst, ist es eine gute Idee, AVCC über > ein LC Glied in den MC einzuspeisen. 10µh-330µH und ein 100nF gegen > Masse haben hier noch nie geschadet. Mir fallen mittelfristig Ideen ein, die ADC erfordern würden. Werde ich mit aufnehmen, danke. > C3 muss so dicht wie möglich an den MC, am besten direkt in den Sockel. Gut zu wissen, danke! > Der 230V Detektor ist am ICP - aber warum schaltest du da einen Elko > parallel zum OK? Damit verbaust du dir die Chance, echte Messungen zu > machen und den MC per 50Hz zu retriggern. > Du könntest auf dieser Basis auch gleich einen 50Hz Ticker einbauen. Die Schaltung ist 1zu1 übernommen, Link ist angegeben, dort steht auch, dass sie für die Nutzung als Trigger o.ä. ungeeignet ist. Messungen/50Hz Trigger ist weder im aktuellen Projektstand, noch in Zukunft für DIESES Projekt vorgesehen. Den ICP nehme ich, weil der gerade da ist :) > Die Erfahrung zeigt auch, das es sinnvoll ist, die Speisung für ein > DCF77 Modul nochmal extra zu filtern. Also auch hier ein LC Glied rein, > damit das Modul nicht vom MC gestört wird. Danke werde ich auch mit aufnehmen. > Portpins direkt auf Anschlüsse zu leiten, ist auch nicht so eine gute > Idee. Lege in die Leitung der DCF77 Daten ruhig noch einen mittleren > Widerstand a là 330-2,2k. Alles klar, wird gemacht! Danke! @Minimalist: Motten habe ich bei mir noch keine entdeckt, und wenn doch ist verschmorren doch ne gute Lösung? :D Die LED-Stripes die ich habe sind mit 24W bei 5m angegeben 24W/5m * 6m <= 30W
Ohne Debugmöglichkeiten wird das programmieren ein Krampf werden. Mach dir da noch einen UART-, Displayanschluss oder ein paar LED mit dran.
Yunus schrieb: > Plan hänge ich an. wozu, werbaut denn noch Module selber? was ist dein ziel, selber Layout machen und Platinen erstellen, dann nur zu, sonst Arduino atmega328p oder größer nach Wunsch IRMP als IR Lib LDR als Fotosensor am ADC nach Belieben eine RTC DS3231 hat Alarmregister für den CPU Wecker, die CPU kann pennen (von mir aus auch DS1307 und die CPU muss alles selber machen) einen Tempsensor DS18B20 Yunus schrieb: > eingeklebten LED-Strips oder RGB LEDs WS2812B mit fastLED LIB Yunus schrieb: > In Zukunft soll dann die Uhrzeit berücksichtigt werden (DCF77 Modul von > ELV) DCF77 SW von PeDa Yunus schrieb: > Zusätzlich soll ein Sharp-IR Distanzmesser fertiges US Modul für Arduino besser gleich zum Arduino mighty atmega 1284p wechseln
Abgesehen von den technischen Einzelheiten, scheint mir das als "Anfänger-Projekt" maßlos überzogen. Empfohlenes Vorgehen: Jede Funktion (Hardware und Software!) EINZELN entwickeln und testen. Beim Softwaredesign darauf achten, das Ergebnis nach abgeschlossener Entwicklung für jedes Teilproblem in Funktionsbibliotheken bzw. Libs oder Klassen zu verpacken, strenge Kapselung und Benennungs-Regeln für Variablen und Konstanten einführen. Wenn jede Teilfunktion für sich zuverlässig läuft, damit beginnen, planvoll das Endresultat zusammen zu bauen. Dann muss immer noch jede Einzelfunktion richtig funktionieren. ERST DANN legt man die Verbindungslogik und Abhängigkeiten an. Damit wird auch ein (Gesamt-) "Schaltplan" fast überflüssig, denn jede Funktionsgruppe kann an (beinahe) beliebige Pins angeschlossen werden, und die sind ja per Software (Objekt- bzw.Klassen-Initialisierung) definierbar ... Um das mit einem groben Beispiel zu untermauern: Du schreibst Funktionen wie "GetAbstand", "GetZeit", "LichtAn" usw. Und NICHT "... wenn Bit3 vom Anstandssensor und Bit 1 der Uhrzeit, aber nicht Bit0 des Türkontaktes, dann setze Bit8 der Beleuchtung ... usw." DAS wird nie was ...
:
Bearbeitet durch User
Frank E. schrieb: > Abgesehen von den technischen Einzelheiten, scheint mir das als > "Anfänger-Projekt" maßlos überzogen. Der TE hat doch ganz klar gesagt, das es schrittweise passieren soll: Yunus schrieb: > Aktuell reicht es mir, wenn die LEDs mit der Zimmerbeleuchtung > (230V-Sense) angehen würden. Dann: Yunus schrieb: > n Zukunft soll dann die Uhrzeit berücksichtigt werden und später Yunus schrieb: > Zusätzlich soll ein Sharp-IR Distanzmesser Ich versteh gar nicht, warum den Leuten das Basteln mies gemacht wird. Ihr müsst es ja nicht machen, aber wenn jemand einen Mega32 dafür benutzen will, warum nicht? Jeder nach seiner Facon...
Matthias S. schrieb: > Ich versteh gar nicht, warum den Leuten das Basteln mies gemacht wird. hat wer getan? Miesmacherei ist das doch nicht, es kommt halt auf die Ziele an und da kann man doch abwägen was besser ist, was zum Ziel passt. Dem einen eine Platine entwickeln, dem anderen ein Projekt mit Fertigteilen zu beenden.
N'abend anbei nochmal ein Update, ich habe versucht alle Ratschläge zu beherzigen, das Layout etwas übersichtlicher zu gestalten (Linke Seite vom µC muss noch gemacht werden) und auch versucht, wie von Frank empfohlen, das Layout etwas "Modularer zu gestalten. holger schrieb: > Ohne Debugmöglichkeiten wird das programmieren ein Krampf werden. > Mach dir da noch einen UART-, Displayanschluss oder ein paar LED mit > dran. UART ist nun umgesetzt. Wollte ich mittelfristig sowieso machen, dein Post hat mich aber wachgerüttelt bzgl. MAX232 integration (hätte ich glatt verpennt :D) Joachim B. schrieb: > Yunus schrieb: >> Plan hänge ich an. > > wozu, werbaut denn noch Module selber? > was ist dein ziel, selber Layout machen und Platinen erstellen, dann nur > zu, sonst Im großen und ganzen JA, trotzdem bediene ich mich natürlich gerne fertiger Libs, werde mir die DCF77 Lib mal anschauen, obwohl ich schon angefangen habe eine Lösung zu codieren. Vielen Dank! Frank E. schrieb: > Abgesehen von den technischen Einzelheiten, scheint mir das als > "Anfänger-Projekt" maßlos überzogen. Empfohlenes Vorgehen: Ja stimmt wahrscheinlich. Ich muss dazu erwähnen, dass ich mich schon seit Jahren mit der Thematik beschäftige und das nicht nur im Studium. Es ist nur das erste wirkliche Projekt mit definiertem Anfang und Ende, wo am Ende auch etwas mit einem Nutzen entstehen soll - losgelöst von den Evalboards. Ich versuche ohnehin alles möglichst Modular zu gestalten, auch zwecks wiederverwendbarkeit für zukünftige Projekte. Danke dir trotzdem für deine Empfehlung! Matthias S. schrieb: > Ich versteh gar nicht, warum den Leuten das Basteln mies gemacht wird. > Ihr müsst es ja nicht machen, aber wenn jemand einen Mega32 dafür > benutzen will, warum nicht? Jeder nach seiner Facon... Hallo Matthias, ich lese auch schon lange hier im Forum mit eigentlich verläuft der Thread doch noch verhätlnismäßig harmlos :), den 32er nehme ich übrigens nur, weil ich ein Evalboard dafür habe und auch bereits Erfahrungen mit dem Controller. Das er für diese Aufgaben ziemlich oversize ist, ist mir bewusst. Ich danke allen nochmals für die Ratschläge! Ich denke so langsam habe ich einen Stand wo ich die Teile bestellen und das Board mal aufbauen kann. Schönen Abend noch Yunus
Yunus schrieb: > wachgerüttelt bzgl. MAX232 integration nimm lieber einen max 3232 moderner kleinere Kondis und läuft alternativ auch mit 3,3V Yunus schrieb: > den 32er nehme > ich übrigens nur, weil ich ein Evalboard dafür habe und auch bereits > Erfahrungen mit dem Controller. dann wird dir der m1284p mehr Spass machen, pinkompatibel zum m32 und 128k flash und 16k RAM
Noch ein Tipp: Schliesse den MOSFet an einen der Hardware PWM Ausgänge an, z.B. OC0, OC1A/B oder OC2. Dann hast du wahlweise auch 'Zero-Effort' PWM mit einem der Timer.
Matthias S. schrieb: > Noch ein Tipp: Schliesse den MOSFet an einen der Hardware PWM Ausgänge aber nicht den serien R vergessen der den Strom aus 12V zum Port begrenzt falls der MOSFET mal durchschiesst.
Hallo Leute, habe die Hardware nun soweit verdrahtet wie im Bild zu sehen. Offen sind noch: -MAX232 Baustein nicht eingesetzt (Buchse und Elkos sind schon verdrahtet) -IR-Sensor noch komplett offen -230V ”Sensierungsmodul” komplett nicht vorhanden Leider, wer hätte das gedacht, funktioniert es nicht wie geplant. Ich vorübergehend ein Displaymodul an PORTC angeschlossen um erstes debugging zu betreiben- ich kriege auf dem Display nichts angezeigt (auf dem RN-Controllerboard klappt es, also sollte es kein SW Fehler sein) Verdrahtung vom Display zum Controller hab ich mehrfach gecheckt sollte auch i.O. sein. Komisch ist, ich kann den Controller auf MEINER Platine programmieren (kleines Programm geschrieben, auf meiner Platine geflasht und MEGA32 in das dev-board (rn-control) gesteckt -> es tut was es soll. Hat einer ne Idee wie ich den Fehler ausfindig machen könnte? Könnte es am Quarz liegen, auch wenn er sich flashen lässt? Was schlagt ihr vor um den Fehler weiter einzugrenzen? Ich werde mal versuchen eine LED zum blinken zu bringen, solange wie ich die LED besorge wollte ich hier auch nochmal um Rat fragen. LG Yunus
Yunus schrieb: > > Ich vorübergehend ein Displaymodul an PORTC angeschlossen um erstes PORTC ist auch der JTAG Port. Wenn du den für normales I/O benutzen willst, solltest du die JTAG Funktion über die Fuse abschalten.
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.