Hallo liebes Forum, ich möchte eine kleine Kirmesattraktion (in Miniatur) bauen und würde mich freuen, wenn jemand mal über die Schaltung und das Board drüberschauen würde. Gesteuert wirds über einen Atmega328P. Ein großer Motor1 (gesteuert über L298-Modul) läßt ein Objekt hin- und herfahren. Ein Servo dreht es in Endstellung wieder um. Das Ding kann man beschießen. Trifft man an eins von drei Feldern (Sensor: "mechanisch" ausgelöster Reedkontakt), passiert was (Lichtgeplänkel an/aus, Sound, weiterer kleiner Motor2 macht Sachen...) Dafür sitz ich grad an der Steuerung. Da ich da mehr oder weniger Anfänger bin, wäre ich für Anregungen dankbar. Ich werde das auf Lochraster löten. Mir gehts jetzt nicht um elektrotechnische Feinheiten, sondern das Biest sollte einigermaßen zuverlässig funktionieren. Konkrete Fragen die ich hab: -Sollten irgendwo in die 12V Leitung vielleicht noch 2-3 Stützkondensatoren? -vor die 555 (die einen Sirenenton erzeugen, da wird ein Lautsprecher angeschlossen) sollten schon noch zusätzliche Abblockkondensatoren, oder? -was hab ich sonst so alles nicht beachtet, vergessen oder vertauscht? zur kurzen Erläuterung: inputs: PC0, PC1: Endstellung 1+2 (umdrehen und in andere Richtung fahren); PD0...2: Reed-Kontakte "Treffer"; PB0 : Start-Taster outputs: PC3: steuert multivibrator an, Led-Geflacker; PD5: steuert multivibrator an, Led-Geflacker + konstantes Licht; PD3: steuert Servo zum Umdrehen; PD6: ne555Schaltung, Sirene; PB1...3: an L298-Modul; Motor1 enable, M1_logic0, M1_logic1; PB4: an L298-Modul; Motor2 enable (Motor2 dreht sich nur in eine Richtung und bekommt per Schaltung logic0 und logic1) Wie gesagt, bin für Hinweise dankbar. Ich habe vor, das Montag zu löten, möchte also am Grundkonzept am liebsten nichts ändern. Danke an alle, die sich die Mühe machen, ich stehe ab mittags für Rückfragen zur Verfügung... Nicht zuviel schimpfen, ick bin halt nich wirklich Elektroniker... Gute Nacht und danke für die Aufmerksamkeit!
Moin, Moin. Denkanstoß: Der Atmega328P ist nicht ausgelastet. Ich würde alle Funktionen die du z. Zt. in Hardware planst in SW umsetzen. Z.B.: PC3: steuert multivibrator an, Led-Geflacker; Die Multivibratorfunktion in SW umsetzen und die Led direkt (evtl über Treiber ansteuern) selbiges (sinngemäß)für: PD5: steuert multivibrator an, Led-Geflacker + konstantes Licht; PD3: steuert Servo zum Umdrehen; PD6: ne555Schaltung, Sirene; Das spart jede Menge HW und bei Anpassungen (in SW) biste flexibler. Ich würde auch die Versorgungsspannug mit einem getakteten Regler reduzieren uhnd nicht mit einem Festspannungsregler. (weniger leistung die unnötig in Wärme verbraten wird) Gruß Volker
Schau dir mal Leds der Sorte WS2812B an. Für wenig Aufwand (Libraries gibts genug) kann man viel mehr erreichen, als rot/grün Geblinke.
blinksdinks schrieb: > -was hab ich sonst so alles nicht beachtet Mach mal einfach die Versorgungsleotungen im Lyout 4 mal so breit wie die "normalen" Signale Und dann schalte mal alle Layer aus und nur die Kupferlayer (top, bottom, pins, vias) ein und lass das Ganze auf dich wirken. Du findest da sicher noch einige solcher gelb markierten "Abkürzungen". Und mach einen DRC. Ich meine fast, das rot Umringelte dürfte zu knapp werden: der Widerstand dort oben sieht kurzgeschlossen aus...
:
Bearbeitet durch Moderator
Hi Lothar, blinksdinks schrieb: > Ich werde das auf > Lochraster löten. Du hast aber Recht. DRC kann nicht schaden. Er sollte aber Prinzip E Eingang - links V Verarbeitung - mittig A Ausgang - rechts beachten. s.a. Beitrag "Hardware-Designtipps des Monats: Der Schaltplan" - nur als Tip Leiterbahnen entweder 45° oder bei Lochraster im 90° Winkel verlegen. Empfiehlt sich dann mit anderem Programm zu arbeiten - wg. Farbe Verdrahtung Stimmt µC ATMEGA 328P im Schaltplan - unten ist Mega48 ... 168-Pu, oben steht ATMEGA 328P >> Pin-Belegung (habe ich nicht im Kopf) Ich würde auch mehr von HW in SW auslagern. HW, wenn einmal gelötet, kann schlecht geändert werden. SW kann ich jederzeit ändern. mfg Olaf
Ich glaube, dass die Pull-Down Widerstände an den Basen der NPN Transistoren nicht nötig sind. Einen kleinen Kondensator am Reset Pin würde ich auch empfehlen, um sporadisch unerwünschte Resets durch Radiowellen zu verhindern.
Danke an euch alle für die Hinweise. Werde sie gleich mal ins Layout einarbeiten. Ich wollte die ganzen Funktionen lieber HW-mäßig lösen, weil ich a) nicht nur kein wirklicher Elektriker bin sondern b) erst recht kein Programmierer. Also z.B. das Signal für die Sirene. Da fällt es mir schwer sich vorzustellen, wie ich elegant SW-seitig mittels PWM einen sich ändernden Sirenenton erzeuge und gleichzeitig die ganzen anderen Funktionen abarbeite(LED1 ist 50ms an, dann aus; LED2 für 30ms an/aus, dazu noch Motoren und Servo...). Mit meinem Könnensstand erscheint es mir sinnvoller, den Code recht übersichtlich zu halten und dafür 20min länger zu löten. Also Sensor1 wird ausgelöst--> setze Ausgang1 auf logisch 1 und los geht der Sirenenlärm. Mir ist zwar schon klar, wie ich das jeweils einzeln SW-mäßig lösen könnte (und theoretisch auch alles zusammen), aber da trau ich mich vielleicht besser mal in einem halben Jahr ran. Lieber Stück für Stück lernen als alles auf einmal. Und etwas Grundschaltungen lernen, oder auch den Umgang mit dem 555er, hat ja auch was für Anfänger... @fast: die LEDs besorg ich mir mal, die sehen wirklich interessant aus, für ein zukünftiges Projekt. @olaf brecht. die Atmegas sind pinkompatibel (dieses Package für den 48...168 zeigt alle PWM-Kanäle an, die Packages die ich gefunden hab für den 328er machen das nicht. Und bei Eagle bin ich ja auch erst am Anfang des Lernens...) @crazy h. + stefanus: also 100n an Reset? oder kleiner? Und darauf ist jetzt niemand eingegangen: wirklich keine weiteren Stütz- oder Abblockkondensatoren? und was sagt denn eure Erfahrung: wenn meine Leitungen von den Reed-Kontakten (oder auch der Start-Taster) ca. 1m lang sind, sollte ich die noch entstören (z.b. Ferrit ums Kabel) oder klappt das vermutlich so bei dieser billigen Anwendung? Danke nochmal an euch alle für die Hinweise und genommene Zeit! Bis später!
... blinksdinks schrieb: > a) nicht nur kein wirklicher Elektriker bin sondern ...soll natürlich Elektroniker heißen...
Ins Layout einarbeiten... mach doch am besten ein neues. Der Schaltplan ist stellenweise ein Zumutung. Mal ist die positive Seite eines Schaltplanteils (Multivibratoren) oben, mal ist sie unten. Eine klare Anordnung der Ein- und Ausgänge an den Seiten wäre auch schick gewesen und erleichtert (mir zumindest) das Lesen solcher Pläne. Außerdem sind die Einwände berechtigt, daß das LED-Geflacker wirklich supereinfach vom µC erledigt werden kann. Wenn Du die Sirene wegen der höheren Frequenzen mit den 555ern behalten willst okay, wobei das auch keine große Sache für einen AVR ist wenn Du die LED-Blinkerei implementiert hast.
Ben B. schrieb: > Eine klare Anordnung der Ein- und Ausgänge an den Seiten wäre auch > schick gewesen und erleichtert (mir zumindest) das Lesen solcher Pläne. Das heißt also für die Zukunft: ich sollte in Eagle meinen µc "umdesignen", dass alle Eingänge links und alle Ausgänge rechts sind? Und o.k., ich bau die Schaltung auch mal ohne die Multivibratoren und probier das rein softwaremäßig zu lösen, ist ja ne gute Übung. Ich bring mir diesen Krempel seit einem Jahr in meiner Freizeit quasi ohne Vorahnung bei, ich bin manchmal etwas überfordert von diesem Dreisgespann aus mechanischer Umsetzung meiner Objekte, der elektrotechnischen Seite und dann noch programmieren lernen... Und Eagle lernen und Platinenlayout usw... Ist manchmal etwas viel auf einmal, deswegen wollte ich bei dem Ding hier die Programmierung so gering wie möglich halten. Die mechanische Umsetzung des ganzen ist hier vor allem die große Herausforderung...
blinksdinks schrieb: > ich sollte in Eagle meinen µc > "umdesignen", dass alle Eingänge links und alle Ausgänge rechts Du könntest auch ein sog. Multipart designen, der eine klare Trennung der einzelnen Ports/VCC & GND/XTAL/... vorsieht. Oder einfach µC in Mitte Blatt positionieren, links davon die Eingänge & rechts die Ausgänge platzieren, oben VCC & unten GND. Liest sich leichter & hilft auch bei Design PCB - als Grundlage Funktionsblöcke. Mach die HW so einfach wie möglich & so komplex wie nötig. Es wurde schon gesagt: + bei einem Hobbyprojekt ist HW & SW egal wie oft designt werden muß - kosten nur Dich Zeit & Geld + bei einem Projekt im Feld ist es einfacher, die SW - bei gutem Design - auf einen neuen Stand hochzuziehen, schwieriger wäre es 10K PCBs im Feld auszutauschen mfg Olaf
Nein, der Controller ist im Schaltplan völlig gängig dargestellt und was von den Portpins nachher Eingang und was Ausgang ist, bestimmt allein die Programmierung. Was ich meinte ist Deine im Schaltplan völlig willkürlich mitten drin verteilten Anschlüsse für externe Komponenten wie die LEDs, Taster usw. Das muß man sich mühsam zusammensuchen und übersieht garantiert irgendwas dabei. Ich find des viel schöner, wenn man diese sauber am Rand aufreiht und dann in ihrer Nähe den entsprechenden Schaltungsteil/Funktionsblock positioniert. Und wie gesagt, vergiss die beiden LED-Multivibratoren. Wenn Du es schaffst, diese mit dem µC ein- und auszuschalten, schaffst Du auch die LEDs direkt anzusteuern, das ist meiner Meinung nach wirklich nur ganz minimal schwieriger zu implementieren. Taktsignal und XOR reicht, wenn Du Dich in die Interruptprogrammierung einarbeitest, brauchst Du Dich im Hauptprogramm auch gar nicht mehr darum zu kümmern, wenn die Interruptroutine erstmal läuft. Das schwerste (wofür Du Dich wohl zwangsläufig mit Timern und deren PWM-Modi auseinandersetzen mußt) ist sowieso die Ansteuerung des Servos. Und wieso braucht das Servor eigentlich 6V? Reichen da nicht 5V?
Danke für die Schaltplanhinweise, werde es das nächste mal systematischer machen. Und ich versteh schon die Einwände mit den Multivibratoren, aber: ich bin ja so Neuling und will wenigstens einmal nen Multivibrator aufgebaut haben! Dass hier im Forum mir niemand vorwerfen kann, ich hätte es noch nie gemacht! Außerdem: Für meinen derzeitigen Kenntnisstand finde ich es tatsächlich angemessen (ich bin auch etwas unter Zeitdruck), es für dieses Projekt so zu lösen. Ich arbeite eh mit Interrupts (Trefferanzeige). Die beiden Motoren werden auch über PWM gesteuert, dazu noch der Servo. Das reicht mir vorläufig an Einarbeitung in neue Dinge. Mich schreckt tatsächlich etwas die Vorstellung ab, irgendwo noch ein Register hochzählen zu lassen um das Blinken zu realisieren, auch wenn es vermutlich gar nicht schwer ist, es umzusetzen. Aber wie gesagt, ich habe die Vermutung, wenn ich eine Stunde mehr Zeit ins löten stecke, spare ich mir zwei beim Programmieren. Einfach weil ich es erstmal lernen müsste. Beim nächsten Mal dann die SW-Lösung, da hab ich dann ja auch schon mal nen Multivibrator gebaut... Der Servo läuft auch mit 5V, aber meine Erfahrung sagt, mit 6 laufen sie besser. Außerdem fand ichs ganz gut wenn der seperat vom 7805 läuft, und verlustemäßig is so auch besser... Die ISR für Treffererkennung funktioniert übrigens schon, die PWM läuft auch auf allen Timern. Morgen abend gibt es hoffentlich nen Probelauf mit allen Kompenenten! Gute nacht!
> ich bin ja so Neuling und will wenigstens einmal nen Multivibrator > aufgebaut haben! Dass hier im Forum mir niemand vorwerfen kann, ich > hätte es noch nie gemacht! Blödsinn. Erstens würden Dir das nur Trolle vorwerfen, auf die Du den größten Haufen scheißen kannst, der für Dich vorstellbar ist und zweitens ist das für den Aufbau Deines Projekts nicht relevant. Sag doch einfach "ich will, daß das Ding mit diskreten MVs arbeitet und fertig" - das ist ehrlich und jeder Einwand zwecklos. Dann mach es halt so. > wenn ich eine Stunde mehr Zeit ins löten stecke, > spare ich mir zwei beim Programmieren. Das empfindest Du falsch. Wenn Du Dich mit diesem Projekt so weit in den Controller eingearbeitet hast, daß der Servo und der L298 korrekt läuft, dann wird das Einpflegen der LEDs für Dich in ein paar Minuten erledigt sein. Aber kein Problem, jeder wie er möchte.
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.