Forum: Mikrocontroller und Digitale Elektronik Bastlerschaltung Kirmesattraktion drüberschauen


von blinksdinks (Gast)


Angehängte Dateien:

Lesenswert?

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!

von Volker K. (tobel)


Lesenswert?

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

von fast (Gast)


Lesenswert?

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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

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
von Olaf B. (Firma: OBUP) (obrecht)


Lesenswert?

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

von Crazy Harry (crazy_h)


Lesenswert?

Ein C von Reset nach GND wäre noch was.

von Stefan F. (Gast)


Lesenswert?

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.

von blinksdinks (Gast)


Lesenswert?

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!

von blinksdinks (Gast)


Lesenswert?

...

blinksdinks schrieb:
> a) nicht nur kein wirklicher Elektriker bin sondern

...soll natürlich Elektroniker heißen...

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

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.

von blinksdinks (Gast)


Lesenswert?

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...

von Olaf B. (Firma: OBUP) (obrecht)


Lesenswert?

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

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

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?

von blinksdinks (Gast)


Lesenswert?

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!

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

> 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
Noch kein Account? Hier anmelden.